Skip to content

Beacon 2.0.0-rc4 pre-release #413

Description

@robinskil

Parent issue: #389

Publish the fourth pre-release of 2.0.0. The target date is 2026-08-21.

The last pre-release is v2.0.0-rc3
of 2026-08-19. main holds 1 commit after that tag.

Two publish jobs failed for rc3

The v2.0.0-rc3 tag started three publish workflows. One passed. Two failed.

Workflow Result Cause
Publish beacon-server success The container image reached the registry.
Publish beacon-ts failure npm publish returned ENEEDAUTH. The NPM_TOKEN secret is absent, or it expired.
Publish beacon-datalake-cli failure ruff returned E501. Line 66 of repl/reader.py holds 103 characters. The limit is 100.

@beacon/client 2.0.0-rc.3 is not on npm. beacon-datalake-cli 2.0.0rc3 is not on PyPI.
Only the server image shipped. Fix both jobs before the rc4 tag.

  • Break line 66 of beacon-clients/beacon-datalake-cli/beacon_datalake_cli/repl/reader.py.
  • Set a valid NPM_TOKEN secret on the repository.
  • Run ruff check on the client before the tag, not after it.

Contents after v2.0.0-rc3

Added

Open work from rc3

The rc3 release left five tasks open. Each task moves to rc4.

  • CHANGELOG.md holds no section for 2.0.0-rc.2 or for 2.0.0-rc.3. The [Unreleased] section still stands.
  • beacon-db/beacon-db-py/pyproject.toml reads 2.0.0rc2. The other manifests read 2.0.0-rc.3, or 2.0.0rc3 in Python form.
  • scripts/bump-version.py skips beacon-db-py, and scripts/check-version.py skips it too. That is why the file drifted.
  • The tag reads v2.0.0-rc3. Cargo.toml reads 2.0.0-rc.3. The two forms still disagree. Pick one form for rc4.
  • The rc3 notes hold the auto-generated pull request list. Write real notes for rc4.

Merge before the tag

Decide before the tag

Each item below is open. Fix it in rc4, or hold it for 2.0.0.

Tests, stage 2 of #399

Stage 1 landed in rc3. Pull requests #404 and #405 added integration-tests/formats/.
That directory holds 13 files and 158 tests, one file for each format.

  • Add the driver layer. One test body runs on the HTTP API and on BeaconDB.
  • Add the 8 core operations over each file shape.
  • Record the test count and the pass count here.

Steps

  1. Merge the four pull requests above.
  2. Add a 2.0.0-rc.2 section and a 2.0.0-rc.3 section to CHANGELOG.md, or fold both into one section.
  3. Rename the [Unreleased] section in CHANGELOG.md to 2.0.0-rc.4.
  4. Add beacon-db/beacon-db-py/pyproject.toml to scripts/bump-version.py and to scripts/check-version.py.
  5. Run python3 scripts/bump-version.py 2.0.0-rc.4.
  6. Run python3 scripts/check-version.py v2.0.0-rc.4. Every manifest must agree.
  7. Rename docs/docs/2.0.0-rc3/ to docs/docs/2.0.0-rc4/.
  8. Update the 89 2.0.0-rc3 links in docs/.vitepress/config.mts.
  9. Leave LATEST_VERSION at 1.8.0 in docs/.vitepress/theme/version.js. A pre-release is not the latest.
  10. Run cargo +1.94 fmt --check and cargo +1.94 clippy --workspace.
  11. Run cargo +1.94 test --workspace.
  12. Run the integration tests with integration-tests/run.sh.
  13. Run ruff check in beacon-clients/beacon-datalake-cli/. The rc3 publish stopped here.
  14. Run cargo audit. Record every advisory that stays open.
  15. Confirm the NPM_TOKEN secret exists before the tag.
  16. Tag the release, and push the tag.
  17. Check the three publish workflows. Two of the three failed for rc3.
  18. Check the container image for linux/amd64 and for linux/arm64.
  19. Check @beacon/client on the npm rc tag, not on latest.
  20. Check beacon-datalake-cli on PyPI. pip install --pre finds it.
  21. Mark the GitHub release as a pre-release.
  22. Write the release notes.

Reference

  • scripts/bump-version.py is the only tool that sets a version. CI verifies the version. CI does not write it.
  • The publish workflows accept any SemVer pre-release suffix. See the comments in
    .github/workflows/publish-beacon-server.yml.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions