Releasaurus Config
Configuration file for Releasaurus
| Type | object |
|---|---|
| File match |
releasaurus.toml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/releasaurus-config/latest.json |
| Source | https://raw.githubusercontent.com/robgonnella/releasaurus/refs/heads/main/schema/schema.json |
Validate with Lintel
npx @lintel/lintel check
Configuration properties for releasaurus.toml
Properties
The base branch to target for release PRs, tagging, and releases defaults to default_branch for repository
Maximum number of commits to search for the first release when no tags exist
Generates different release PRs for each package defined in config
Configurable prerelease settings for both global and package scopes
2 nested properties
Prerelease identifier (e.g., "alpha", "beta", "rc", "SNAPSHOT")
Determines how prerelease identifiers should be appended to versions
Global config to auto start next release for all packages. Packages can override this configuration
Always increments major version on breaking commits
Always increments minor version on feature commits
Custom regex pattern matched against commit messages to trigger a
major version bump. This is additive — breaking change commits always
trigger major bumps regardless of this setting. In TOML double-quoted
strings, escape backslashes (e.g. "\\[BREAKING\\]" matches
[BREAKING]).
Custom regex pattern matched against commit messages to trigger a
minor version bump. This is additive — feat: commits always trigger
minor bumps regardless of this setting. In TOML double-quoted strings,
escape backslashes (e.g. "\\[FEATURE\\]" matches [FEATURE]).
Changelog configuration (applies to all packages)
10 nested properties
Main changelog body template.
Skips including ci commits in changelog
Skips including ci commits in changelog
Skips including miscellaneous commits in changelog
Skips including merge commits in changelog
Skips including release commits in changelog
Skips targeted commit shas (or prefixes) when generating next version and changelog. Each value matches any commit whose SHA starts with the provided value
Rewords commit messages for targeted shas when generated changelog. Each SHA can be a prefix - matches any commit whose SHA starts with the provided value
Includes commit author name in default body template
Aggregates changelogs from prior prereleases when graduating
Packages to manage in this repository (supports monorepos)
[
{
"name": "",
"workspace_root": ".",
"path": ".",
"release_type": null,
"tag_prefix": null,
"sub_packages": null,
"prerelease": null,
"auto_start_next": null,
"additional_paths": null,
"additional_manifest_files": null,
"breaking_always_increment_major": null,
"features_always_increment_minor": null,
"custom_major_increment_regex": null,
"custom_minor_increment_regex": null
}
]
Definitions
Configurable prerelease settings for both global and package scopes
Prerelease identifier (e.g., "alpha", "beta", "rc", "SNAPSHOT")
Determines how prerelease identifiers should be appended to versions
Determines how prerelease identifiers should be appended to versions
Changelog configuration (applies to all packages)
Main changelog body template.
Skips including ci commits in changelog
Skips including ci commits in changelog
Skips including miscellaneous commits in changelog
Skips including merge commits in changelog
Skips including release commits in changelog
Skips targeted commit shas (or prefixes) when generating next version and changelog. Each value matches any commit whose SHA starts with the provided value
Rewords commit messages for targeted shas when generated changelog. Each SHA can be a prefix - matches any commit whose SHA starts with the provided value
Includes commit author name in default body template
Aggregates changelogs from prior prereleases when graduating
Rewords messages in changelog for targeted commit shas
Sha (or prefix) of the commit to reword. Matches any commit whose SHA starts with this value
The new message to display in changelog
Package configuration for multi-package repositories and monorepos
Name for this package (default derived from path if not provided). For proper manifest version file updates this should match the canonical name field in the release_type manifest file. i.e. name = "..." in Cargo.toml or "name": "..." in package.json
Path to the workspace root directory for this package relative to the repository root
Path to package directory relative to workspace_root
[ReleaseType] type for determining which version files to update
Git tag prefix for this package (e.g., "v" or "api-v")
Groups sub-packages under a single release. Each will share changelog, tag, and release, but will receive independent manifest version updates according to their type
Optional prerelease configuration that overrides global settings
Auto starts next release for this package by performing a patch version update to version files and pushing a "chore" commit to the base_branch
Additional directory paths to include commits from
Additional paths to generic version manifest files to update. Paths must be relative to the package path. Accepts either simple string paths or full config objects with custom regex patterns.
Always increments major version on breaking commits
Always increments minor version on feature commits
Custom regex pattern matched against commit messages to trigger a
major version bump. This is additive — breaking change commits always
trigger major bumps regardless of this setting. In TOML double-quoted
strings, escape backslashes (e.g. "\\[BREAKING\\]" matches
[BREAKING]).
Custom regex pattern matched against commit messages to trigger a
minor version bump. This is additive — feat: commits always trigger
minor bumps regardless of this setting. In TOML double-quoted strings,
escape backslashes (e.g. "\\[FEATURE\\]" matches [FEATURE]).
Supported release types for updating package manifest files
Sub-package definition allowing grouping of packages under a parent package configuration. Sub-packages share changelog, tag, and release with the parent package definition but receive independent manifest version file updates according to their defined release type
Name for this sub-package (default derived from path if not provided). For proper manifest version file updates this should match the canonical name field in the release_type manifest file. i.e. name = "..." in Cargo.toml or "name": "..." in package.json
Path to the subpackage directory relative to the workspace_root of the parent package
[ReleaseType] type for determining which version files to update
Additional manifest specification that accepts either a string path or full config. Allows users to specify version files in a concise way while still supporting custom regex patterns when needed.
Examples
Simple string path (uses default GENERIC_VERSION_REGEX):
additional_manifest_files = ["VERSION", "README.md"]
Full config with custom regex:
additional_manifest_files = [
{ path = "VERSION.txt", version_regex = "version:\\s*(\\d+\\.\\d+\\.\\d+)" }
]
Additional manifest configuration for version updates on arbitrary files. This is the internal representation after conversion from AdditionalManifestSpec.
The path to the manifest file relative to package path
The regex to use to match and replace versions
default: (?