4 releases

0.1.3 Mar 3, 2024
0.1.2 Mar 3, 2024
0.1.1 Feb 19, 2024
0.1.0 Dec 27, 2023

#914 in Command line utilities

Download history 5/week @ 2024-06-13 3/week @ 2024-06-20 1/week @ 2024-06-27 1/week @ 2024-07-11 1/week @ 2024-07-25 2/week @ 2024-08-01 1/week @ 2024-08-08 1/week @ 2024-08-29 2/week @ 2024-09-05 30/week @ 2024-09-12 24/week @ 2024-09-19 12/week @ 2024-09-26

69 downloads per month
Used in 5 crates

MIT license

21KB
319 lines

⬆️ Bump2version

Crates.io docs License

🚀 bump2version: A command-line tool for managing version numbers in your projects.

📖 Table of Contents

🚀 Quick Start

Get started with the bump2version CLI by following these simple steps:

  1. Install the bump2version tool using Cargo:

    cargo install bump2version
    
  2. Use the following options to manage version numbers and customize the behavior:

    bump2version --bump patch # or minor or major
    

🛠️ Configuration File

To customize the behavior of bump2version, you can use a configuration file named .bumpversion.toml. This file should be present in the root of your project. If it's not found, the cli will use default values.

Here's an example .bumpversion.toml configuration file you can use in your project:

[bumpversion]
current_version = 0.1.0 # Specify the current version of your project, samne value as Cargo.toml version

# Specify how to search for and replace the version in the 'Cargo.toml' file.
[bumpversion:file:Cargo.toml]
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'

✨ Features

  • Incremental Versioning: Bump major, minor, or patch versions with ease.
  • Configurability: Use a configuration file or command-line options to customize behavior.
  • Git Integration: Create commits and tags in your version control system.

🎨 Options

Option Description
--config-file Config file to read most of the variables from (default: .bumpversion.toml).
--current-version Version that needs to be updated.
--bump Part of the version to be bumped (default: patch).
--parse Regex parsing the version string (default: \d+.\d+.\d+).
--serialize How to format what is parsed back to a version (default: {major}.{minor}.{patch}).
--dry-run Don't write any files, just pretend.
--new-version New version that should be in the files.
--commit Create a commit in version control (default: true).
--tag Create a tag in version control.
--message Commit message (default: Bump version: {current_version} → {new_version}).
file Files to change.

🌐 GitHub Repository

You can access the source code for this CLI tool on GitHub.

🤝 Contributing

Contributions and feedback are welcome! If you'd like to contribute, report an issue, or suggest an enhancement, please engage with the project on GitHub. Your contributions help improve this CLI tool for the community.

Dependencies

~3–5MB
~86K SLoC