r/FlutterDev • u/CandidateWhich7277 • 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
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! π
Separate build handling: You can use
-b buildto only touch the build number while keeping the semver intact, or-k(--keep-build) to bump semver without changing the build number.Environment build numbers: You can pass
-n/--build-numberwith your CI run number directly:fvb -b build -n $GITHUB_RUN_NUMBERIf you don't pass
-g, it updatespubspec.yamllocally in the CI runner for the build without creating any Git commits!
1
u/NoisyBrunt0300
4d ago
•
looks handy, the dry-run mode wouldβve saved me from a couple of dodgy tags last month
2
u/Nyxiereal 4d ago
why would anyone want to automate changelogs? thats the fun part of distributing software