Skip to main content
releaser
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

releaser

CI-friendly release automation for GitFlow workflows using Conventional Commits.

Source code · Releases

Standard tools like semantic-release are designed for trunk-based development. In a GitFlow setup with versioned release branches (release/1.1, release/1.2), they either fail to respect the branch’s version range or require brittle configuration.

releaser is built for this exact workflow: it reads the branch name to pin the major.minor, parses Conventional Commits to determine the patch increment, and handles everything from pom.xml / package.json update to GitLab/GitHub tag and release creation.

How it works

release/1.2 branch
  └─ last tag: 1.2.3 (or none → start at 1.2.0)
       └─ commits since tag → Conventional Commits analysis
            └─ next version: 1.2.4
  1. Branch parsing — extracts major.minor from branch name (release/1.21.2)
  2. Tag discovery — finds the latest tag matching major.minor.* on the current branch
  3. Commit analysis — parses Conventional Commits between last tag and HEAD
  4. Version bump — increments patch (or minor, if configured via bump_rules)
  5. Release — updates pom.xml / package.json, commits, tags, creates GitLab or GitHub release