ferrflowby ferrlabs
Open source · v4

Release.
Automatically.

Conventional commits in, semantic versions out. FerrFlow reads your git history, bumps versions across your monorepo, writes changelogs, tags, and ships GitHub releases — straight from CI.

Latest
v4.2.0
License
MPL-2.0
Lang
Rust
Size
~8 MB
~/code/monorepo · ferrflow v4.2
$ferrflow release
reading 184 commits since last release...
detected: 12 features, 9 fixes, 1 breaking
scanning 4 packages...
bump api v4.1.7 → v5.0.0 (breaking)
bump app v4.1.4 → v4.2.0 (minor)
bump site v1.3.9 → v1.4.0 (minor)
bump admin v0.8.2 → v0.8.3 (patch)
generating changelogs, tagging, pushing...
4 GitHub releases published · 0.42s
Reads natively
Cargo.tomlpackage.jsonpyproject.tomlpom.xml*.csprojbuild.gradleChart.yamlpubspec.yamlmix.exs*.gemspecPackage.swiftgo.modcomposer.json

№ 02 — Features

Everything you need to release.

Single binary. Zero plugins. Drop into any CI and go.

— 01

Semantic versioning

Reads conventional commits and determines the right bump. Supports semver, calver, sequential, and zerover.

— 02

Monorepo native

Version multiple packages independently with shared paths, dependency chains, and per-package changelogs.

— 03

Multi-forge

GitHub, GitLab, self-hosted forges. Tags, releases, PR preview comments — natively supported.

— 04

14+ version files

Cargo.toml, package.json, pyproject.toml, Chart.yaml, mix.exs, gemspec, pubspec.yaml — bumped automatically.

— 05

Pre-release channels

Branch-based or flag-based: alpha, beta, rc, dev. Floating tags never moved by pre-releases.

— 06

Open source

MPL-2.0. Self-host, fork, audit. The Rust binary handles GitHub OIDC directly — minimal runners work out of the box.

№ 03 — Install

Install in seconds.

Works on Linux, macOS, and Windows. Available as a GitHub Action and a GitLab CI template.

Cargo
$cargo install ferrflow
npm
$npm install -D ferrflow
Docker
$docker run ghcr.io/ferrlabs/ferrflow
GitHub
$uses: FerrLabs/FerrFlow@v4

№ 04 — Get started

Ready to ship
without the ceremony?

Open source. Runs in your own CI. Your code never leaves your infrastructure.