salient/changelog

Generates changelogs from GitHub release notes, merging and de-duplicating entries from multiple repositories if needed

v1.0.5 2024-05-14 05:02 UTC

README

Generates changelogs based on Keep a Changelog from GitHub release notes, merging and de-duplicating entries from multiple repositories if needed.

Latest Stable Version License CI Status Code Coverage

Installation

changelog is distributed as a PHP archive you can download and run:

wget -O changelog.phar https://github.com/salient-labs/changelog/releases/latest/download/changelog.phar
php changelog.phar --version

Installation with PHIVE is also supported:

phive install salient-labs/changelog
./tools/changelog --version

Adding salient/changelog to your project as a Composer dependency is not recommended.

Usage

For detailed usage information, see usage or run:

./tools/changelog --help

Examples

Generate a changelog for every release in a repository:

./tools/changelog salient-labs/toolkit

Generate a changelog for releases that match a regular expression:

./tools/changelog --include '/^v0\.20\./' salient-labs/toolkit

Generate a changelog for releases between two tags:

./tools/changelog --from v0.20.55 --to v0.20.56 salient-labs/toolkit
## [v0.20.56] - 2023-09-06

### Deprecated

- Deprecate `Convert::lineEndingsToUnix()`

### Fixed

- Fix regression in `File::getEol()`

## [v0.20.55] - 2023-09-06

### Changed

- Add `Str::setEol()` and standardise `getEol()` methods

[v0.20.56]: https://github.com/salient-labs/toolkit/compare/v0.20.55...v0.20.56
[v0.20.55]: https://github.com/salient-labs/toolkit/releases/tag/v0.20.55

Merge release notes from two repositories into one list of changes per release, report releases missing from the first repository (e.g. "pretty-php for Visual Studio Code v0.4.44 was not released"), and update CHANGELOG.md:

./tools/changelog \
  --releases=yes --releases=yes \
  --missing=yes --missing=no \
  --name "pretty-php for Visual Studio Code" --name "pretty-php" \
  --output "CHANGELOG.md" \
  --merge \
  lkrms/vscode-pretty-php lkrms/pretty-php

The last command is used in a CI workflow to generate the changelog published with this VS Code extension.

License

MIT