Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Release Process

Volley follows semantic versioning (SemVer) with a staged release process.

Version Format

All crates in the workspace share a single version defined in the root Cargo.toml under [workspace.package]. Versions use 3-segment semver with optional pre-release identifiers:

  • X.Y.Z-alpha.N — Alpha: feature-complete for the release scope. API may change. Not for production.
  • X.Y.Z-beta.N — Beta: API frozen. Bug fixes only. Community testing encouraged.
  • X.Y.Z — Stable: production-ready. Semver guarantees apply.

How to Release

  1. Bump the version in Cargo.toml [workspace.package] section.
  2. Update CHANGELOG.md: move items from [Unreleased] to a new version section with today’s date.
  3. Create a PR and merge to main.
  4. The auto-tag.yml workflow detects the version change and creates a git tag (v{VERSION}).
  5. The tag triggers release.yml, which creates a GitHub Release with an auto-generated changelog.

Releases with -alpha, -beta, or -rc in the version are automatically marked as pre-releases.

Progression

1.0.0-alpha.1 → 1.0.0-alpha.2 → ... → 1.0.0-beta.1 → 1.0.0-beta.2 → ... → 1.0.0
  • Alpha → Alpha: bump the alpha number for each iteration.
  • Alpha → Beta: when the API is frozen and only bug fixes remain.
  • Beta → Stable: when all known issues are resolved and testing is complete.

Installing

Install the CLI from source:

cargo install --git https://github.com/volley-streams/volley volley-cli --tag v1.0.0-alpha.1

Or from a local checkout:

cargo install --path volley-cli

Crate Publishing

Cargo crate publishing to crates.io is not yet automated. This is planned for a future release.