2021-10-04 09:32:30 -03:00
|
|
|
# Changelog
|
|
|
|
|
|
|
|
You can customize how the changelog is generated using the `changelog` section in the config file:
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
# .goreleaser.yml
|
|
|
|
changelog:
|
2022-01-30 11:28:00 -03:00
|
|
|
# Set this to true if you don't want any changelog at all.
|
2023-03-03 09:49:41 -03:00
|
|
|
#
|
2022-01-30 11:28:00 -03:00
|
|
|
# Warning: this will also ignore any changelog files passed via `--release-notes`,
|
|
|
|
# and will render an empty changelog.
|
2023-03-03 09:49:41 -03:00
|
|
|
#
|
2021-10-04 09:32:30 -03:00
|
|
|
# This may result in an empty release notes on GitHub/GitLab/Gitea.
|
2023-03-03 09:49:41 -03:00
|
|
|
#
|
2023-04-02 17:16:21 -03:00
|
|
|
# Templates: allowed
|
2023-03-03 09:49:41 -03:00
|
|
|
skip: '{{ .Env.CREATE_CHANGELOG }}'
|
2021-10-04 09:32:30 -03:00
|
|
|
|
|
|
|
# Changelog generation implementation to use.
|
|
|
|
#
|
|
|
|
# Valid options are:
|
|
|
|
# - `git`: uses `git log`;
|
|
|
|
# - `github`: uses the compare GitHub API, appending the author login to the changelog.
|
2021-10-10 09:52:46 -04:00
|
|
|
# - `gitlab`: uses the compare GitLab API, appending the author name and email to the changelog.
|
2021-12-21 14:21:05 -03:00
|
|
|
# - `github-native`: uses the GitHub release notes generation API, disables the groups feature.
|
2021-10-04 09:32:30 -03:00
|
|
|
#
|
2023-04-02 17:16:21 -03:00
|
|
|
# Default: 'git'
|
2021-10-04 09:32:30 -03:00
|
|
|
use: github
|
|
|
|
|
|
|
|
# Sorts the changelog by the commit's messages.
|
|
|
|
# Could either be asc, desc or empty
|
|
|
|
sort: asc
|
|
|
|
|
2022-08-30 12:04:01 -03:00
|
|
|
# Max commit hash length to use in the changelog.
|
|
|
|
#
|
|
|
|
# 0: use whatever the changelog implementation gives you
|
|
|
|
# -1: remove the commit hash from the changelog
|
|
|
|
# any other number: max length.
|
|
|
|
#
|
2022-09-11 16:54:51 -03:00
|
|
|
# Since: v1.11.2
|
2022-08-30 12:04:01 -03:00
|
|
|
abbrev: -1
|
|
|
|
|
2022-10-11 22:09:42 -03:00
|
|
|
# Paths to filter the commits for.
|
|
|
|
# Only works when `use: git`, otherwise ignored.
|
|
|
|
# Only on GoReleaser Pro.
|
|
|
|
#
|
2023-04-02 17:16:21 -03:00
|
|
|
# Default: monorepo.dir value, or empty if no monorepo
|
|
|
|
# Since: v1.12 (pro)
|
|
|
|
# This feature is only available in GoReleaser Pro.
|
2022-10-11 22:09:42 -03:00
|
|
|
paths:
|
|
|
|
- foo/
|
|
|
|
- bar/
|
|
|
|
|
2021-11-24 02:23:53 +01:00
|
|
|
# Group commits messages by given regex and title.
|
|
|
|
# Order value defines the order of the groups.
|
2023-01-30 21:04:39 +08:00
|
|
|
# Providing no regex means all commits will be grouped under the default group.
|
2021-12-21 14:21:05 -03:00
|
|
|
# Groups are disabled when using github-native, as it already groups things by itself.
|
2022-11-07 12:28:52 +00:00
|
|
|
# Matches are performed against strings of the form: "<abbrev-commit>[:] <title-commit>".
|
|
|
|
# Regex use RE2 syntax as defined here: https://github.com/google/re2/wiki/Syntax.
|
2021-11-24 02:23:53 +01:00
|
|
|
groups:
|
|
|
|
- title: Features
|
2022-11-07 12:28:52 +00:00
|
|
|
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
|
2021-11-24 02:23:53 +01:00
|
|
|
order: 0
|
|
|
|
- title: 'Bug fixes'
|
2022-11-07 12:28:52 +00:00
|
|
|
regexp: '^.*?bug(\([[:word:]]+\))??!?:.+$'
|
2021-11-24 02:23:53 +01:00
|
|
|
order: 1
|
|
|
|
- title: Others
|
|
|
|
order: 999
|
2023-01-07 23:44:50 -03:00
|
|
|
# A group can have subgroups.
|
|
|
|
# If you use this, all the commits that match the parent group will also
|
|
|
|
# be checked against its subgroups. If some of them matches, it'll be
|
|
|
|
# grouped there, otherwise they'll remain ungrouped.
|
|
|
|
#
|
|
|
|
# The title is optional - you can think of groups as a way to order
|
|
|
|
# commits within a group.
|
|
|
|
#
|
|
|
|
# There can only be one level of subgroups, i.e. a subgroup cannot have
|
|
|
|
# subgroups.
|
|
|
|
#
|
|
|
|
# This feature is only available in GoReleaser Pro.
|
|
|
|
#
|
2023-04-02 17:16:21 -03:00
|
|
|
# Since: v1.15 (pro)
|
|
|
|
# This feature is only available in GoReleaser Pro.
|
2023-01-07 23:44:50 -03:00
|
|
|
subgroups:
|
|
|
|
- title: 'Docs'
|
|
|
|
regex: '.*docs.*'
|
|
|
|
order: 1
|
|
|
|
- title: 'CI'
|
|
|
|
regex: '.*build.*'
|
|
|
|
order: 2
|
2021-11-24 02:23:53 +01:00
|
|
|
|
2023-02-26 17:44:02 -03:00
|
|
|
# Divider to use between groups.
|
|
|
|
#
|
2023-04-02 17:16:21 -03:00
|
|
|
# Since: v1.16 (pro)
|
2023-03-09 15:53:53 -03:00
|
|
|
# This feature is only available in GoReleaser Pro.
|
2023-02-26 17:44:02 -03:00
|
|
|
divider: '---'
|
|
|
|
|
2021-10-04 09:32:30 -03:00
|
|
|
filters:
|
|
|
|
# Commit messages matching the regexp listed here will be removed from
|
|
|
|
# the changelog
|
|
|
|
exclude:
|
|
|
|
- '^docs:'
|
|
|
|
- typo
|
|
|
|
- (?i)foo
|
|
|
|
```
|
2021-11-11 23:57:17 -03:00
|
|
|
|
|
|
|
!!! warning
|
2023-02-02 21:58:13 -03:00
|
|
|
Some things to keep an eye on:
|
|
|
|
|
|
|
|
* The `github-native` changelog does not support `sort` and `filter`.
|
|
|
|
* When releasing a [nightly][], `use` will fallback to `git`.
|
|
|
|
|
|
|
|
[nightly]: /customization/nightly
|