Changelog.jl release announcement

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:

  1. 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.

  2. 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]


  1. Please write changelogs. ↩︎

36 Likes