This document describes the release process for op-succinct.
op-succinct follows Semantic Versioning:
- MAJOR: Breaking changes to contracts, APIs, or configuration
- MINOR: New features, backward-compatible changes
- PATCH: Bug fixes, performance improvements
vX.Y.Z- Standard releasevX.Y.Z-rc.N- Release candidate
Before creating a release:
- All CI checks pass on
main - Update version in
Cargo.toml(workspace.package.version) to match the new release version - Run
just build-elfsto build the ELF files
Update the workspace version in Cargo.toml:
[workspace.package]
version = "X.Y.Z"Run just build-elfs to build the ELF files:
just build-elfsgit checkout -b release/vX.Y.Z
git add Cargo.toml Cargo.lock elf/
git commit -m "chore: bump to vX.Y.Z"
git push origin release/vX.Y.ZMerge the PR after review.
git checkout main
git pull origin main
git tag vX.Y.Z
git push origin vX.Y.Z- Go to Releases
- Click "Draft a new release"
- Select the tag
vX.Y.Z - Click "Generate release notes" for auto-generated changelog
- Run
just vkeysand copy the markdown table output into the release notes - Review and publish release
When a tag is pushed:
Validity Mode (OP Succinct):
ghcr.io/succinctlabs/op-succinct/op-succinct:vX.Y.Zghcr.io/succinctlabs/op-succinct/op-succinct-celestia:vX.Y.Zghcr.io/succinctlabs/op-succinct/op-succinct-eigenda:vX.Y.Z
Fault Proof Mode (OP Succinct Lite):
ghcr.io/succinctlabs/op-succinct/lite-proposer:vX.Y.Zghcr.io/succinctlabs/op-succinct/lite-proposer-celestia:vX.Y.Zghcr.io/succinctlabs/op-succinct/lite-proposer-eigenda:vX.Y.Zghcr.io/succinctlabs/op-succinct/lite-challenger:vX.Y.Z
For testing before a stable release:
git tag vX.Y.Z-rc.1
git push origin vX.Y.Z-rc.1Mark the GitHub release as "pre-release".
See GitHub Releases for the full changelog.