Repository navigation
v7.0.0
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 behindbump
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.0Timestamps 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_build34Streamlined 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.