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
Type: object

You can find the documentation of the configuration file here.

Properties

changelog object
10 nested properties
body string | null

Template that represents a single release in the changelog. It contains the commit messages. This is a tera template.

commit_parsers array | null

Commits that don't match any of the commit parsers are skipped.

commit_preprocessors array | null

An array of commit preprocessors for manipulating the commit messages before parsing/grouping them.

header string | null

Text at the beginning of the changelog.

link_parsers array | null

An array of link parsers for extracting external references, and turning them into URLs, using regex.

postprocessors array | null

An array of postprocessors for manipulating the rendered changelog.

protect_breaking_commits boolean | null

Whether to protect all breaking changes from being skipped by a commit parser.

sort_commits Sorting | null

How to sort the commits inside the various sections.

tag_pattern string | null

A regular expression for matching the git tags to add to the changelog.

trim boolean | null

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.

Default:
[]
workspace object

Config at the [workspace] level.

34 nested properties
allow_dirty boolean | null
  • If true, allow dirty working directories to be updated. The uncommitted changes will be part of the update.
  • If false or [Option::None], the command will fail if the working directory is dirty.
changelog_config string | null

Path to the git cliff configuration file. Defaults to the keep a changelog configuration.

changelog_path string | null

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.

changelog_update boolean | null

Whether to create/update changelog or not. If unspecified, the changelog is updated.

custom_major_increment_regex string | null

Custom regex to match commit types that should trigger a major version increment. Useful when using non-conventional commit prefixes.

custom_minor_increment_regex string | null

Custom regex to match commit types that should trigger a minor version increment. Useful when using non-conventional commit prefixes.

dependencies_update boolean | null
  • If true, update all the dependencies in the Cargo.lock file by running cargo update.
  • If false or [Option::None], only update the workspace packages by running cargo update --workspace.
features_always_increment_minor boolean | null
  • 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.
git_only boolean | null

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.

git_release_body string | null

Tera template of the git release body created by release-plz.

git_release_draft boolean | null

If true, will not auto-publish the release.

git_release_enable boolean | null

Publish the GitHub/Gitea/GitLab release for the created git tag. Enabled by default.

git_release_latest boolean | null

If true, will set the git release as latest.

git_release_name string | null

Tera template of the git release name created by release-plz.

git_release_type ReleaseType | null

Whether to mark the created release as not ready for production.

git_tag_enable boolean | null

Publish the git tag for the new package version. Enabled by default.

git_tag_name string | null

Tera template of the git tag name created by release-plz.

max_analyze_commits integer | null

Maximum number of commits to analyze when the package hasn't been published yet. Default: 1000.

Default: 1000
format=uint32min=0
pr_body string | null

Tera template of the pull request's body created by release-plz.

pr_branch_prefix string | null

Prefix for the PR Branch

pr_draft boolean

If true, the created release PR will be marked as a draft.

Default: false
pr_labels string[]

Labels to add to the release PR.

Default:
[]
pr_name string | null

Tera template of the pull request's name created by release-plz.

publish boolean | null

If false, don't run cargo publish.

publish_all_features boolean | null

If true, add the --all-features flag to the cargo publish command.

publish_allow_dirty boolean | null

If true, add the --allow-dirty flag to the cargo publish command.

publish_features array | null

If ["a", "b", "c"], add the --features=a,b,c flag to the cargo publish command.

publish_no_verify boolean | null

If true, add the --no-verify flag to the cargo publish command.

publish_timeout string | null

Timeout for the publishing process

release boolean | null

Used to toggle off the update/release process for a workspace or package.

release_always boolean | null
  • 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 release will 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 with release-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).
release_commits string | null

Prepare release only if at least one commit respects this regex.

repo_url string | null

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.

format=uri
semver_check boolean | null

Controls when to run cargo-semver-checks. If unspecified, run cargo-semver-checks if the package is a library.

Definitions

ChangelogCfg object
body string | null

Template that represents a single release in the changelog. It contains the commit messages. This is a tera template.

commit_parsers array | null

Commits that don't match any of the commit parsers are skipped.

commit_preprocessors array | null

An array of commit preprocessors for manipulating the commit messages before parsing/grouping them.

header string | null

Text at the beginning of the changelog.

link_parsers array | null

An array of link parsers for extracting external references, and turning them into URLs, using regex.

postprocessors array | null

An array of postprocessors for manipulating the rendered changelog.

protect_breaking_commits boolean | null

Whether to protect all breaking changes from being skipped by a commit parser.

sort_commits Sorting | null

How to sort the commits inside the various sections.

tag_pattern string | null

A regular expression for matching the git tags to add to the changelog.

trim boolean | null

If set to true, leading and trailing whitespace are removed from [Self::body].

CommitParser object

Parser for grouping commits.

body string | null

Regex for matching the commit body.

default_scope string | null

Default scope of the commit.

field string | null

Field name of the commit to match the regex against.

group string | null

Group of the commit.

message string | null

Regex for matching the commit message.

pattern string | null

Regex for matching the field value.

scope string | null

Commit scope for overriding the default scope.

sha string | null

SHA1 of the commit.

skip boolean | null

Whether to skip this commit group.

LinkParser object
href string required

The string used to generate the link URL.

pattern string required

Regex for finding links in the commit message.

text string | null

The string used to generate the link text.

PackageSpecificConfigWithName object

Config at the [[package]] level.

name string required
changelog_include array | null

List of package names. Include the changelogs of these packages in the changelog of the current package.

changelog_path string | null

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.

changelog_update boolean | null

Whether to create/update changelog or not. If unspecified, the changelog is updated.

custom_major_increment_regex string | null

Custom regex to match commit types that should trigger a major version increment. Useful when using non-conventional commit prefixes.

custom_minor_increment_regex string | null

Custom regex to match commit types that should trigger a minor version increment. Useful when using non-conventional commit prefixes.

features_always_increment_minor boolean | null
  • 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.
git_only boolean | null

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.

git_release_body string | null

Tera template of the git release body created by release-plz.

git_release_draft boolean | null

If true, will not auto-publish the release.

git_release_enable boolean | null

Publish the GitHub/Gitea/GitLab release for the created git tag. Enabled by default.

git_release_latest boolean | null

If true, will set the git release as latest.

git_release_name string | null

Tera template of the git release name created by release-plz.

git_release_type ReleaseType | null

Whether to mark the created release as not ready for production.

git_tag_enable boolean | null

Publish the git tag for the new package version. Enabled by default.

git_tag_name string | null

Tera template of the git tag name created by release-plz.

publish boolean | null

If false, don't run cargo publish.

publish_all_features boolean | null

If true, add the --all-features flag to the cargo publish command.

publish_allow_dirty boolean | null

If true, add the --allow-dirty flag to the cargo publish command.

publish_features array | null

If ["a", "b", "c"], add the --features=a,b,c flag to the cargo publish command.

publish_no_verify boolean | null

If true, add the --no-verify flag to the cargo publish command.

release boolean | null

Used to toggle off the update/release process for a workspace or package.

semver_check boolean | null

Controls when to run cargo-semver-checks. If unspecified, run cargo-semver-checks if the package is a library.

version_group string | null

The name of a group of packages that needs to have the same version.

ReleaseType string | string | string
Sorting string
TextProcessor object

Used for modifying commit messages.

pattern string required

Regex for matching a text to replace.

replace string | null

Replacement text.

replace_command string | null

Command that will be run for replacing the commit message.

Workspace object

Config at the [workspace] level.

allow_dirty boolean | null
  • If true, allow dirty working directories to be updated. The uncommitted changes will be part of the update.
  • If false or [Option::None], the command will fail if the working directory is dirty.
changelog_config string | null

Path to the git cliff configuration file. Defaults to the keep a changelog configuration.

changelog_path string | null

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.

changelog_update boolean | null

Whether to create/update changelog or not. If unspecified, the changelog is updated.

custom_major_increment_regex string | null

Custom regex to match commit types that should trigger a major version increment. Useful when using non-conventional commit prefixes.

custom_minor_increment_regex string | null

Custom regex to match commit types that should trigger a minor version increment. Useful when using non-conventional commit prefixes.

dependencies_update boolean | null
  • If true, update all the dependencies in the Cargo.lock file by running cargo update.
  • If false or [Option::None], only update the workspace packages by running cargo update --workspace.
features_always_increment_minor boolean | null
  • 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.
git_only boolean | null

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.

git_release_body string | null

Tera template of the git release body created by release-plz.

git_release_draft boolean | null

If true, will not auto-publish the release.

git_release_enable boolean | null

Publish the GitHub/Gitea/GitLab release for the created git tag. Enabled by default.

git_release_latest boolean | null

If true, will set the git release as latest.

git_release_name string | null

Tera template of the git release name created by release-plz.

git_release_type ReleaseType | null

Whether to mark the created release as not ready for production.

git_tag_enable boolean | null

Publish the git tag for the new package version. Enabled by default.

git_tag_name string | null

Tera template of the git tag name created by release-plz.

max_analyze_commits integer | null

Maximum number of commits to analyze when the package hasn't been published yet. Default: 1000.

Default: 1000
format=uint32min=0
pr_body string | null

Tera template of the pull request's body created by release-plz.

pr_branch_prefix string | null

Prefix for the PR Branch

pr_draft boolean

If true, the created release PR will be marked as a draft.

Default: false
pr_labels string[]

Labels to add to the release PR.

Default:
[]
pr_name string | null

Tera template of the pull request's name created by release-plz.

publish boolean | null

If false, don't run cargo publish.

publish_all_features boolean | null

If true, add the --all-features flag to the cargo publish command.

publish_allow_dirty boolean | null

If true, add the --allow-dirty flag to the cargo publish command.

publish_features array | null

If ["a", "b", "c"], add the --features=a,b,c flag to the cargo publish command.

publish_no_verify boolean | null

If true, add the --no-verify flag to the cargo publish command.

publish_timeout string | null

Timeout for the publishing process

release boolean | null

Used to toggle off the update/release process for a workspace or package.

release_always boolean | null
  • 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 release will 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 with release-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).
release_commits string | null

Prepare release only if at least one commit respects this regex.

repo_url string | null

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.

format=uri
semver_check boolean | null

Controls when to run cargo-semver-checks. If unspecified, run cargo-semver-checks if the package is a library.