release-plz.toml
Release-plz configuration file
| Type | object |
|---|---|
| File match |
release-plz.toml
.release-plz.toml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/release-plz-toml/latest.json |
| Source | https://raw.githubusercontent.com/MarcoIeni/release-plz/main/.schema/latest.json |
Validate with Lintel
npx @lintel/lintel check
You can find the documentation of the configuration file here.
Properties
10 nested properties
Template that represents a single release in the changelog. It contains the commit messages. This is a tera template.
Commits that don't match any of the commit parsers are skipped.
An array of commit preprocessors for manipulating the commit messages before parsing/grouping them.
Text at the beginning of the changelog.
An array of link parsers for extracting external references, and turning them into URLs, using regex.
An array of postprocessors for manipulating the rendered changelog.
Whether to protect all breaking changes from being skipped by a commit parser.
How to sort the commits inside the various sections.
A regular expression for matching the git tags to add to the changelog.
If set to true, leading and trailing whitespace are removed from [Self::body].
Package-specific configuration. This overrides workspace.
Not all settings of workspace can be overridden.
[]
Config at the [workspace] level.
34 nested properties
- If
true, allow dirty working directories to be updated. The uncommitted changes will be part of the update. - If
falseor [Option::None], the command will fail if the working directory is dirty.
Path to the git cliff configuration file. Defaults to the keep a changelog configuration.
Normally the changelog is placed in the same directory of the Cargo.toml file.
The user can provide a custom path here.
changelog_path is propagated to the commands:
update, release-pr and release.
Whether to create/update changelog or not. If unspecified, the changelog is updated.
Custom regex to match commit types that should trigger a major version increment. Useful when using non-conventional commit prefixes.
Custom regex to match commit types that should trigger a minor version increment. Useful when using non-conventional commit prefixes.
- If
true, update all the dependencies in the Cargo.lock file by runningcargo update. - If
falseor [Option::None], only update the workspace packages by runningcargo update --workspace.
- If
true, feature commits will always bump the minor version, even in 0.x releases. - If
false(default), feature commits will only bump the minor version starting with 1.x releases.
Use git tags for release information. If true, release-plz will use git tags to determine what the latest version of the package is (i.e newest version is v0.1.3 and is associated with commit ac83762). If false (default), release-plz will use the cargo registry (e.g. crates.io) to get the latest version.
Tera template of the git release body created by release-plz.
If true, will not auto-publish the release.
Publish the GitHub/Gitea/GitLab release for the created git tag. Enabled by default.
If true, will set the git release as latest.
Tera template of the git release name created by release-plz.
Whether to mark the created release as not ready for production.
Publish the git tag for the new package version. Enabled by default.
Tera template of the git tag name created by release-plz.
Maximum number of commits to analyze when the package hasn't been published yet. Default: 1000.
Tera template of the pull request's body created by release-plz.
Prefix for the PR Branch
If true, the created release PR will be marked as a draft.
Labels to add to the release PR.
[]
Tera template of the pull request's name created by release-plz.
If false, don't run cargo publish.
If true, add the --all-features flag to the cargo publish command.
If true, add the --allow-dirty flag to the cargo publish command.
If ["a", "b", "c"], add the --features=a,b,c flag to the cargo publish command.
If true, add the --no-verify flag to the cargo publish command.
Timeout for the publishing process
Used to toggle off the update/release process for a workspace or package.
- If true, release-plz release will try to release your packages every time you run it (e.g. on every commit in the main branch). (Default).
- If false,
release-plz releasewill try release your packages only when you merge the release pr. Use this if you want to commit your packages and publish them later. To determine if a pr is a release-pr, release-plz will check if the branch of the PR starts withrelease-plz-. So if you want to create a PR that should trigger a release (e.g. when you fix the CI), use this branch name format (e.g.release-plz-fix-ci).
Prepare release only if at least one commit respects this regex.
GitHub/Gitea/GitLab repository url where your project is hosted. It is used to generate the changelog release link. It defaults to the url of the default remote.
Controls when to run cargo-semver-checks. If unspecified, run cargo-semver-checks if the package is a library.
Definitions
Template that represents a single release in the changelog. It contains the commit messages. This is a tera template.
Commits that don't match any of the commit parsers are skipped.
An array of commit preprocessors for manipulating the commit messages before parsing/grouping them.
Text at the beginning of the changelog.
An array of link parsers for extracting external references, and turning them into URLs, using regex.
An array of postprocessors for manipulating the rendered changelog.
Whether to protect all breaking changes from being skipped by a commit parser.
How to sort the commits inside the various sections.
A regular expression for matching the git tags to add to the changelog.
If set to true, leading and trailing whitespace are removed from [Self::body].
Parser for grouping commits.
Regex for matching the commit body.
Default scope of the commit.
Field name of the commit to match the regex against.
Group of the commit.
Regex for matching the commit message.
Regex for matching the field value.
Commit scope for overriding the default scope.
SHA1 of the commit.
Whether to skip this commit group.
The string used to generate the link URL.
Regex for finding links in the commit message.
The string used to generate the link text.
Config at the [[package]] level.
List of package names. Include the changelogs of these packages in the changelog of the current package.
Normally the changelog is placed in the same directory of the Cargo.toml file.
The user can provide a custom path here.
changelog_path is propagated to the commands:
update, release-pr and release.
Whether to create/update changelog or not. If unspecified, the changelog is updated.
Custom regex to match commit types that should trigger a major version increment. Useful when using non-conventional commit prefixes.
Custom regex to match commit types that should trigger a minor version increment. Useful when using non-conventional commit prefixes.
- If
true, feature commits will always bump the minor version, even in 0.x releases. - If
false(default), feature commits will only bump the minor version starting with 1.x releases.
Use git tags for release information. If true, release-plz will use git tags to determine what the latest version of the package is (i.e newest version is v0.1.3 and is associated with commit ac83762). If false (default), release-plz will use the cargo registry (e.g. crates.io) to get the latest version.
Tera template of the git release body created by release-plz.
If true, will not auto-publish the release.
Publish the GitHub/Gitea/GitLab release for the created git tag. Enabled by default.
If true, will set the git release as latest.
Tera template of the git release name created by release-plz.
Whether to mark the created release as not ready for production.
Publish the git tag for the new package version. Enabled by default.
Tera template of the git tag name created by release-plz.
If false, don't run cargo publish.
If true, add the --all-features flag to the cargo publish command.
If true, add the --allow-dirty flag to the cargo publish command.
If ["a", "b", "c"], add the --features=a,b,c flag to the cargo publish command.
If true, add the --no-verify flag to the cargo publish command.
Used to toggle off the update/release process for a workspace or package.
Controls when to run cargo-semver-checks. If unspecified, run cargo-semver-checks if the package is a library.
The name of a group of packages that needs to have the same version.
Used for modifying commit messages.
Regex for matching a text to replace.
Replacement text.
Command that will be run for replacing the commit message.
Config at the [workspace] level.
- If
true, allow dirty working directories to be updated. The uncommitted changes will be part of the update. - If
falseor [Option::None], the command will fail if the working directory is dirty.
Path to the git cliff configuration file. Defaults to the keep a changelog configuration.
Normally the changelog is placed in the same directory of the Cargo.toml file.
The user can provide a custom path here.
changelog_path is propagated to the commands:
update, release-pr and release.
Whether to create/update changelog or not. If unspecified, the changelog is updated.
Custom regex to match commit types that should trigger a major version increment. Useful when using non-conventional commit prefixes.
Custom regex to match commit types that should trigger a minor version increment. Useful when using non-conventional commit prefixes.
- If
true, update all the dependencies in the Cargo.lock file by runningcargo update. - If
falseor [Option::None], only update the workspace packages by runningcargo update --workspace.
- If
true, feature commits will always bump the minor version, even in 0.x releases. - If
false(default), feature commits will only bump the minor version starting with 1.x releases.
Use git tags for release information. If true, release-plz will use git tags to determine what the latest version of the package is (i.e newest version is v0.1.3 and is associated with commit ac83762). If false (default), release-plz will use the cargo registry (e.g. crates.io) to get the latest version.
Tera template of the git release body created by release-plz.
If true, will not auto-publish the release.
Publish the GitHub/Gitea/GitLab release for the created git tag. Enabled by default.
If true, will set the git release as latest.
Tera template of the git release name created by release-plz.
Whether to mark the created release as not ready for production.
Publish the git tag for the new package version. Enabled by default.
Tera template of the git tag name created by release-plz.
Maximum number of commits to analyze when the package hasn't been published yet. Default: 1000.
Tera template of the pull request's body created by release-plz.
Prefix for the PR Branch
If true, the created release PR will be marked as a draft.
Labels to add to the release PR.
[]
Tera template of the pull request's name created by release-plz.
If false, don't run cargo publish.
If true, add the --all-features flag to the cargo publish command.
If true, add the --allow-dirty flag to the cargo publish command.
If ["a", "b", "c"], add the --features=a,b,c flag to the cargo publish command.
If true, add the --no-verify flag to the cargo publish command.
Timeout for the publishing process
Used to toggle off the update/release process for a workspace or package.
- If true, release-plz release will try to release your packages every time you run it (e.g. on every commit in the main branch). (Default).
- If false,
release-plz releasewill try release your packages only when you merge the release pr. Use this if you want to commit your packages and publish them later. To determine if a pr is a release-pr, release-plz will check if the branch of the PR starts withrelease-plz-. So if you want to create a PR that should trigger a release (e.g. when you fix the CI), use this branch name format (e.g.release-plz-fix-ci).
Prepare release only if at least one commit respects this regex.
GitHub/Gitea/GitLab repository url where your project is hosted. It is used to generate the changelog release link. It defaults to the url of the default remote.
Controls when to run cargo-semver-checks. If unspecified, run cargo-semver-checks if the package is a library.