Skip to content

v7.0.0

Choose a tag to compare

@github-actions github-actions released this 07 Jun 18:34
· 6 commits to main since this release

v7.0.0 — even less opinionated!

MANY BREAKING CHANGES

In order to support varying workflows Trunkbased and GitFLow as well as the label system I had to rethink the BUMPFILE.
By doing this, even more variance is supported with less opinion. The best part now is that promotion is much more
intuitive as --major|--minor|--patch now drops phase as expected.

GitFlow is a popular workflow model, needs long running branches to promote phased development (Useful in big projects).
Trunkbased workflow model is used by smaller teams that rely heavily on CI/CD practices, the original idea behind bump

Introducing phased development with bump --phase [PHASE]

now you can promote how you want when you want
this removes --candidate and allow users to define their phase of development!

Phases replace --candidate. Define your own phase names and promote when ready.

bump --phase alpha   # e.g., v0.1.0-alpha.1
bump --phase         # increment distance, e.g., v0.1.0-alpha.2
bump --minor         # promote: drops phase, e.g., v0.2.0

Timestamps are now tracked in BUMPFILE

This applies to both semver and calver variants. Generating files now all come with timestamps. As is it quite important to know when something was built, highly requested feature.

--print has grown up to a proper subcommand

bump [p]rint --help

Print [prefix][base][phase] from BUMPFILE without newline

Usage: bump print [OPTIONS] [BUMPFILE]

Arguments:
  [BUMPFILE]  Path to the configuration file [default: bump.toml]

Options:
      --only-prefix         Print [prefix]
      --only-phase          Print [phase]
      --only-base           Print [base]
      --no-prefix           Print [base][phase]
      --no-phase            Print [prefix][base]
      --with-suffix         Print [prefix][base][phase][suffix]
      --with-timestamp      Print [prefix][base][phase][timestamp]
      --full                Print full output; overrides all print flags except --with-label
      --with-label <LABEL>  Inject LABEL at [label].position (not persisted)
  -h, --help                Print help

Ephemeral labels: bump print --with-label <LABEL>

Injecting one-off or automated label into the version string adds great flexibility to further customization.
bump does not track the value of the label, only it's position.

[label]
position = "after-base"
bump print --with-label _build34   # e.g., v0.1.0_build34

Streamlined bump.toml

SemVer and CalVer share one schema. Prefix is a top-level field; phase has its own
separator and delimiter. Many bug fixes due to reduced code

Testing

Rust unit tests were replaced with shell integration tests in tests/output.sh.