I want to announce Changelog.jl – a small utility package that helps with changelog maintenance. It was released in the registry back in November last year but was never announced here.
The two main functionalities are:
-
Link generation from link stubs, for example:
[#123]
results in a link to an issue or pull request in the configured default repo, e.g.https://github.com/<repo>/issues/123
[JuliaLang/julia#456]
results in a link to an issue or pull request in another repository[vX.Y.Z]
results in a link to a Github release[<commit hash>]
results in a link to a commit[@username]
results in a link to a Github user
This simplifies the process of writing changelog entries and referencing relevant issues and PRs etc.
-
Output generation. Changelog.jl process the source-changelog and can output:
- Regular markdown where all the links are included in the footer. Typically this output is the repository CHANGELOG.md and is the same file as the source – Changelog.jl updates this file in-place.
- Documenter compatible markdown that can be used to render a HTML version of the changelog to be included in the package documentation.
Changelog.jl is already used by a number of packages. To give a concrete example you can have a look at Documenter.jl’s CHANGELOG.md:
The Documenter-rendered version of this changelog can be seen here: Documenter release notes.
Changelog.jl has been split out from some scripts that we had in Documenter.jl so that it could be used more widely. The code was originally authored by @odow for JuMP’s documentation and was included in Documenter in Documenter.jl#2035 and later improved in e.g. Documenter.jl#2184 before it was split out into a separate package.
I hope you find this useful. If you have any feedback please open an issue or post here. Thanks![1]
Please write changelogs. ↩︎