v3.7.2 - 26 Jan 2024
- Fix getting a tag from
$GITHUB_EVENT_PATH
environment variable in action (#23, thanks @linde12) - Fix only
github.com
is allowed as host name for GHE environment - Do not download files on Git LFS when updating changelog file in action (#24)
- Update Go module dependencies including
go-github
v58
v3.7.1 - 12 Apr 2023
- Ensure a trailing
/
in the API base URL set inGITHUB_API_BASE_URL
environment variable - Show a diff of updated changelog in action output instead of printing an entire changelog
- Update
google/go-github
from v40 to v45 - Improve help description of
-r
option
v3.7.0 - 29 Jan 2023
- Add
-r
option to specify a remote URL of repository.# Generate changelog for rhysd/changelog-from-release changelog-from-release -r 'https://github.com/rhysd/changelog-from-release'
- Fix repeating Git tag name in a release heading when a release title already includes it (#20). For example, when a release title is
v1.2.3 with some features
and its Git tag isv1.2.3
, the generated heading is:- until v3.7.0:
v1.2.3 with some features (v1.2.3)
- from v3.7.0:
v1.2.3 with some features
- until v3.7.0:
- Ensure spaces are trimmed from release title and release name.
v3.6.1 - 16 Jan 2023
- Fix 404 response is not handled when trying to resolve private renamed repositories. (#19)
- For private repositories, repository rename is not resolved because GitHub always returns 404 even if an authentication token is set. Please ensure the Git remote URL in your local repository is up-to-date when running
changelog-from-release
command in this case.
- For private repositories, repository rename is not resolved because GitHub always returns 404 even if an authentication token is set. Please ensure the Git remote URL in your local repository is up-to-date when running
v3.6.0 - 13 Jan 2023
- If you enable protected-branch,
rhysd/changelog-from-release/action
action cannot push a commit directly to the branch. Instead, usepull_request
input to create a pull request to update the changelog. (#17)- uses: rhysd/changelog-from-release/action@v3 with: file: CHANGELOG.md github_token: ${{ secrets.GITHUB_TOKEN }} pull_request: true
v3.5.2 - 05 Jan 2023
- Check and follow redirects for Git remote URLs. This check is necessary to resolve renamed old repositories correctly. (#16)
- Avoid unnecessary memory allocation when no reference link is included in changelog.
- Update dependencies to include
golang.org/x/*
packages which were newly managed as Go modules.
v3.5.1 - 12 Dec 2022
- Add
-d
option to include/exclude drafts in generated changelog. (thanks @paescuj, #15)# Exclude drafts from the output changelog-from-release -d=false > CHANGELOG.md
- Include version of
changelog-from-release
in the footer of generated output - Remove a single space which were prepended to a footer line
- Do not fail when no release is found since an empty changelog is a good start point of development
v3.4.0 - 27 Aug 2022
- Add
-i
option to ignore release tags by regular expression pattern. For example, if your project hasnightly
tag release for nightly builds, it can be excluded as follows:changelog-from-release -i '^nightly$' > CHANGELOG.md
- Add
-e
option to extract release tags by regular expression pattern. For example, if your project usesv{major}.{minor}.{patch}
format for release tags, they can be extracted as follows:changelog-from-release -e '^v\d+\.\d+\.\d+$' > CHANGELOG.md
- Allow multiple drafts in releases. For including draft releases, see the FAQ for more details.
v3.3.0 - 23 Aug 2022
- Add
args
input to the action to define command line arguments passed tochangelog-from-release
command.- uses: rhysd/changelog-from-release/action@v3 with: file: CHANGELOG.md github_token: ${{ secrets.GITHUB_TOKEN }} # Pass `-l 2` to use `##` instead of `#` for each release section args: -l 2
- Add
header
andfooter
inputs to the action to insert templates before/after the generated changelog. The following step inserts the header and the footer.- uses: rhysd/changelog-from-release/action@v3 with: file: CHANGELOG.md github_token: ${{ secrets.GITHUB_TOKEN }} args: -l 2 header: | Changelog ========= This is header. footer: |- This is footer.
- Report an error when the release is not associated with any Git tags. This can happen when the release is a draft.
- Fix release date is broken when the release is a draft. Instead of published date, created date is used in the case.
- Add FAQ section to readme document. Currently two topics are described.
v3.2.0 - 22 Aug 2022
- Add
-l
option to set heading level of each release sections. For example,-l 2
uses##
instead of#
for each release sections. - Use Go 1.19 to build release binaries.
- Go module path was changed from
github.com/rhysd/changelog-from-release
togithub.com/rhysd/changelog-from-release/v3
sincego install
without version specifier does not work in recent Go toolchain. (#14)
v3.1.4 - 10 Aug 2022
- In previous release, references in link texts were fixed. But the fix was not perfect. Nested text node in a link node was still linked incorrectly and this release fixed the bug. For instance,
@foo
in[_@foo_](...)
should not be linked where the text is in italic node in link node.
v3.1.3 - 08 Aug 2022
- Do not references in link texts. Previously references in link texts like
[#1](...)
were linked to[[#1](https://github.com/owner/repo/issues/1)](...)
. Now they are not linked and left as-is (#12).
v3.1.2 - 04 Aug 2022
- Fixed
commit-summary-template
was not effective by renaming the input tocommit_summary_template
. Hyphens are not available in Docker actions. For example, whenv1.2.3
is released, the following step creates a commit with summarychore(changelog): describe changes for "v1.2.3"
.- uses: rhysd/changelog-from-release/action@v3 with: file: CHANGELOG.md github_token: ${{ secrets.GITHUB_TOKEN }} commit_summary_template: 'chore(changelog): describe changes for %s'
v3.1.1 - 04 Aug 2022
- Use
git remote
instead ofgit rev-parse
to retrieve a remote name of repository sincegit rev-parse
sometimes returns an unexpected output for some reason. (#6) - Added
commit-summary-template
input to the action so that the commit message can be customized. The template is passed to the first argument ofprintf
command. It must contain one%s
placeholder which will be replaced with the tag name. - Removed duplicate of command output from error messages on
git
command failure. - Improved error messages when retrieving a URL of remote repository
v3.1.0 - 03 Aug 2022
- Link commit references in release note automatically. For example,
85a7d9028ed70bc81224cb126e29e070dcc0aa1c
is converted to[`85a7d9028e`](https://github.com/owner/repo/commit/85a7d9028ed70bc81224cb126e29e070dcc0aa1c)
. Note that only full-length (40 characters) commit hashes are linked to avoid false positives. - Fix user references followed by
/
like@foo/
are wrongly linked. - Describe how reference auto linking works in README.md.
v3.0.0 - 03 Aug 2022
- BREAKING: Labels at head of list items are no longer converted to bold text. For example, a list item starting with
- Fix:
was converted to- **Fix:**
, but it is no longer converted from v3.0.0. - Issue references like
#123
and user references like@rhysd
are now automatically linked (#3). For example, when we have a release item as follows in release notes:- Fixed something (thanks @rhysd, #1)
changelog-from-release
links the references as follows:- Fixed something (thanks [@rhysd](https://github.com/rhysd), [#1](https://github.com/owner/repo/issues/1))
- Fixed
git@
andssh://
repository URLs were not converted to HTTPS URLs when the repository is hosted on GHE. - Updated
google/go-github
dependency from v17 to v45. - Removed
pkg/errors
dependency and used standardfmt.Errorf
instead.
v2.2.5 - 02 Jun 2022
- Fix
changelog-from-release
command hangs when generating a changelog of repository which has more than 30 releases (#8, #10)
v2.2.4 - 12 May 2022
- Strip credentials in repository URLs (#9).
- Fix the action fails due to permission error on accessing a workspace directory.
- Update dependencies in
go.mod
. - Use GoReleaser to make release binaries.
v2.2.3 - 26 Sep 2021
- Improve: Introduce Go modules. Now this tool is installable via
go install
- Improve: Better footer comment (thanks @spl, #7)
- Improve: Build binaries with the latest Go toolchain v1.17
- Improve: Release
darwin/arm64
andlinux/arm64
binaries
v2.2.2 - 24 Feb 2021
- Fix: Rename
github-token
input togithub_token
since-
is not available for input names (#4)
v2.2.0 - 22 Feb 2020
- New: Support
$GITHUB_API_BASE_URL
environment variable to configure API endpoint for GitHub Enterprise
export GITHUB_API_BASE_URL=https://github.your-company.com/api/v3
GITHUB_TOKEN=abcabcabcabcabcabcabc changelog-from-release > CHANGELOG.md
v2.1.0 - 20 Feb 2020
- New: Action for GitHub Actions was added. Updating your changelog file following the new release now can be automated easily.
Example workflow:
name: Update changelog
on:
release:
types: [published]
jobs:
changelog:
name: Update changelog
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: master
- uses: rhysd/changelog-from-release/action@v2
with:
file: CHANGELOG.md
github-token: ${{ secrets.GITHUB_TOKEN }}
v2.0.0 - 19 Feb 2020
I decided to keep this tool as simple as possible. This release drops some features for simplification.
- Breaking: Instead of modifying
CHANGELOG.md
, this tool outputs a generated changelog to stdout. Please redirect the output to update your changelog file
$ changelog-from-release > CHANGELOG.md
- Breaking: Drop
-commit
flag. Please add and commit changes by yourself
$ changelog-from-release > CHANGELOG.md
$ git add CHANGELOG.md
$ git commit -m "Update changelog for $(git describe --tags)"
v1.2.0 - 18 Feb 2020
- New:
-commit
option was added to make a new commit for the changelog updates automatically
v1.1.3 - 13 Feb 2020
- Fix: Consider paging for getting releases from GitHub API
- Fix: Cause an error when no release found
v1.1.2 - 16 Nov 2019
- Fix: Codes in fences should not be modified
v1.1.1 - 14 Nov 2018
- Fix: Fix emphasizing item header with bold, not italic
v1.1.0 - 14 Nov 2018
- Improve: Emphasize list item headers like
- *Fix:* Fix something
v1.0.0 - 10 Nov 2018
First release 🎉