Skip to content

Releases: crate-ci/cargo-release

v0.23.0

05 Nov 03:50
Compare
Choose a tag to compare

[0.23.0] - 2022-11-05

Breaking Changes

  • No longer assume package.publish = false also means that releases are disabled (#597)

v0.22.4

05 Nov 01:39
Compare
Choose a tag to compare

[0.22.4] - 2022-11-05

Fixes

  • Skip remote check if not pushing

v0.22.3

05 Nov 01:29
Compare
Choose a tag to compare

[0.22.3] - 2022-11-05

Fixes

  • Ensure pushes are atomic

v0.22.2

31 Oct 12:10
Compare
Choose a tag to compare

[0.22.2] - 2022-10-31

Fixes

  • Limit rate-limiting to crates being published

v0.22.1

21 Oct 16:43
Compare
Choose a tag to compare

[0.22.1] - 2022-10-21

Fixes

  • Don't claim the user excluded a crate when the config did
  • Actually push the branch
  • Show we'll push the branch in dry-run mode, even if we won't as its better than not showing it even if we will

v0.22.0

21 Oct 16:15
Compare
Choose a tag to compare

[0.22.0] - 2022-10-21

Highlights

The goal of this release is improved workspace support, including

  • Workspace inheritance support
  • Greater control over versioning by supporting calling cargo release version as needed and then cargo release --unpublished
  • Setting configured crate owners when publishing new crates
  • Identifying failures early like missing metadata, hitting rate limits, etc
  • Inspect changes with cargo release changes, including conventional commit support
  • Improved defaults

This does mean that cargo release (no other args) changed from recovering
from a failed release to releasing the currently specified versions of crates.
Recovery is now done more manually with cargo release publish, etc.

Breaking Changes

  • Removed dev-version support
  • consolidate-commits is now the default for workspaces
    • It is also now all-or-nothing
  • consolidate-pushes is now exclusively used
  • dependent-versions = "upgrade" is now the default
    • Removed ignore, warn, and error
  • Cargo.toml's package.publish = false disables release
  • Removed --dump-config in favor of cargo release config
  • Remove --token in favor in favor of more secure ways of authenticating
  • cargo release is no longer used for recovery, instead use cargo release publish, cargo release tag, etc
  • Error if nothing to release
  • Changed standard exit code to 101

Compatibility

MSRV is now 1.64.0

Fixes

  • Turn some verification errors into warnings on steps
  • Run replacements when no version is bumped
  • Be smarter about finding previous tags
  • Bail out early when we'll hit crates.io rate limits
  • Bail out early when we'll hit cargo publish missing field errors
  • Implicitly layer package over workspace for workspace config when not in a workspace
  • Only update versions for path dependencies
  • Cleaned up output
  • Ignore tests when tracking changes

Features

  • package.version.workspace = true support
    • Forces consolidate-commits = true
    • Forces shared-version = "workspace"
  • dependency.<name>.workspace = true support
  • package.publish.workspace = true support
  • owners = [] to set crate owners for new workspace members
    • Use cargo release owner to update owners for existing crates
  • In addition to shared-version = true, we now support named groups, like shared-version = "foo"
  • --unpublished flag to automatically release unpublished crates
  • Expose changes, hook, and commit steps

v0.21.4

14 Oct 15:18
Compare
Choose a tag to compare

[0.21.4] - 2022-10-14

Fixes

  • Fail again when pre-release checks fail

v0.21.3

13 Oct 21:22
Compare
Choose a tag to compare

[0.21.3] - 2022-10-13

Features

  • Expose release steps as subcommands, useful for
    • Custom release processes
    • Verify configuration / cargo-release behavior
    • Recovering on failure

v0.21.2

28 Sep 21:21
Compare
Choose a tag to compare

[0.21.2] - 2022-09-28

Fixes

  • Polish help output

v0.21.1

12 Jul 02:44
Compare
Choose a tag to compare

[0.21.1] - 2022-07-12

Fixes

  • Load workspace config from the actual workspace manifest