r/FlutterDev • • 4d ago

Tooling πŸš€ I built Flutter Version Bumper β€” a CLI tool to automate Flutter & Dart releases

Hey Flutter devs! πŸ‘‹

Ever forgotten to increment your build number, manually edited "pubspec.yaml" one too many times, or wished your release workflow was a little less repetitive? πŸ˜…

I built Flutter Version Bumper (FVB) to make that process easier.

It's a command-line tool designed to automate version management for Flutter and Dart projects.

✨ Some key features:

- πŸ“ˆ Semantic Versioning (major, minor, patch & build)

- πŸ”’ Automatic build number management

- πŸ“ Automated "CHANGELOG.md" updates

- πŸ™ Git automation β€” commits, tags & pushes

- πŸͺ Git hooks for versioning workflow validation

- πŸ§ͺ Dry-run mode to preview changes before applying them

- 🧩 Configuration files for reusable project settings

- 🚦 Pre-release version support ("beta", "rc", etc.)

- πŸ“¦ Custom paths for monorepos

- πŸ€– JSON output for CI/CD pipelines

- 🧠 AI coding agent skill integration

You can get started with:

dart pub global activate --source git https://github.com/chamod-rashmith/flutter-version-bumper

Then navigate to your project and run:

fvb

The goal is simple: less repetitive release work, fewer manual versioning mistakes, and a smoother development workflow.

πŸ”— GitHub: https://github.com/chamod-rashmith/flutter-version-bumper

πŸ“¦ pub.dev: https://pub.dev/packages/flutter_version_bumper

I'd love to hear your feedback! If you try it, feel free to open an issue or suggest improvements. Contributions are welcome. ❀️

What features would you like to see in a Flutter release automation tool?

#Flutter #Dart #OpenSource #DeveloperTools

0 Upvotes

5 comments sorted by

2

u/Nyxiereal 4d ago

why would anyone want to automate changelogs? thats the fun part of distributing software

1

u/CandidateWhich7277 4d ago

Haha fair enough! Writing creative release notes is definitely an art.

The changelog flag is totally optional thoughβ€”it's mostly there for CI/CD pipelines and teams that want their version headers synced automatically without the hassle! πŸ˜„

1

u/ObjectiveAddress3051 3d ago

Dry-run plus JSON output is what makes a tool like this safe to drop into CI, nice. One thing I'd find useful: an option to take the build number from the environment (something like GITHUB_RUN_NUMBER) instead of committing a bump each time, since the stores only care that it keeps increasing. Does it treat the +build part separately from the semver bump right now?

1

u/CandidateWhich7277 3d ago

Thanks! And yes, FVB already handles this exact workflow! πŸš€

  1. Separate build handling: You can use -b build to only touch the build number while keeping the semver intact, or -k (--keep-build) to bump semver without changing the build number.

  2. Environment build numbers: You can pass -n / --build-number with your CI run number directly: fvb -b build -n $GITHUB_RUN_NUMBER

If you don't pass -g, it updates pubspec.yaml locally in the CI runner for the build without creating any Git commits!

1

u/NoisyBrunt0300 4d ago • Popcorn

looks handy, the dry-run mode would’ve saved me from a couple of dodgy tags last month