Skip to content

Release Process

Rob Ede edited this page Mar 21, 2021 · 8 revisions

Prepare:

  1. Update version number in Cargo.toml.
  2. Update dependent crates in repo with new version.
    1. Check deps.rs for crates with outdated or known-vulnerable version ranges.
  3. Give release number and date to unreleased section of changelog (and re-add unreleased section).
  4. Update badge versions in README(s).
  5. Submit merge request with updated files.

Tag:

  1. Create new release on GitHub.
  2. Use format {short_pkg_name}-v{version} for tag. Eg. http-v2.0.0-beta.1
  3. Use format {pkg_name}: v{version} for release name: Eg. actix-http: v2.0.0-beta.1
  4. Use updated version changelog as release notes.
  5. Mark as pre-release if alpha/beta/pre release.

Release:

  1. rm Cargo.lock
  2. Navigate to package directory (cargo publish doesn't support --package option).
  3. cargo clean
  4. cargo publish --dry-run
  5. cargo publish