Release Process
How to release new versions of bbx_audio.
Prerequisites
- Push access to the repository
CARGO_REGISTRY_TOKENconfigured in GitHub secrets
Version Bump
- Update version in all
Cargo.tomlfiles - Update
CHANGELOG.md - Commit changes
# Example: bumping to 0.2.0
# Edit Cargo.toml files...
git add -A
git commit -m "Bump version to 0.2.0"
Creating a Release
- Create and push a version tag:
git tag v0.2.0
git push origin v0.2.0
- GitHub Actions will:
- Run tests
- Publish to crates.io
- Create GitHub release
Crate Publishing Order
Crates must be published in dependency order:
bbx_core(no dependencies)bbx_midi(no internal dependencies)bbx_dsp(depends on bbx_core)bbx_file(depends on bbx_dsp)bbx_plugin(depends on bbx_dsp)
Manual Publishing
If needed:
cargo publish -p bbx_core
# Wait for crates.io index update (~1 minute)
cargo publish -p bbx_midi
cargo publish -p bbx_dsp
cargo publish -p bbx_file
cargo publish -p bbx_plugin
Troubleshooting
Publish Failure
If publishing fails mid-way:
- Fix the issue
- Bump patch version
- Retry publishing remaining crates
Version Conflicts
Ensure all workspace crates use the same version in dependencies.
See RELEASING.md in the repository root for detailed instructions.