# Tooling/workflow for changelogs

**URL:** <https://discourse.julialang.org/t/tooling-workflow-for-changelogs/21536>\
**Category:** Tooling\
**Tags:** question\
**Created:** [March 6, 2019, 2:45pm UTC](https://discourse.julialang.org/t/tooling-workflow-for-changelogs/21536 "2019-03-06T14:45:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [March 6, 2019, 2:45pm UTC](https://discourse.julialang.org/t/tooling-workflow-for-changelogs/21536/1 "2019-03-06T14:45:37Z")

</div>

After rereading [this topic](https://discourse.julialang.org/t/please-consider-putting-up-a-changelog-file-after-moving-to-0-7/12454), I would like to experiment with a `CHANGELOG.md` in some packages.

Is there a recommended workflow, or way to (semi)automatically generate it, and keep version tags in sync?

Or should I just keep it simple and make sure every PR modifies the `CHANGELOG.md` with a short blurb on the relevant change, like [Documenter.jl](https://github.com/JuliaDocs/Documenter.jl/blob/master/CHANGELOG.md) seems to be doing?

---

<div class="post-metadata">

**Author:** ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)\
**Post date:** [March 6, 2019, 3:13pm UTC](https://discourse.julialang.org/t/tooling-workflow-for-changelogs/21536/2 "2019-03-06T15:13:22Z")

</div>

I recently came across this: [https://www.conventionalcommits.org](https://www.conventionalcommits.org) (on HN, I think). Maybe something to consider?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [March 7, 2019, 8:27am UTC](https://discourse.julialang.org/t/tooling-workflow-for-changelogs/21536/3 "2019-03-07T08:27:00Z")

</div>

Thanks for the suggestion. I also found some resources:

1. [BioJulia guidelines](https://github.com/BioJulia/Contributing/blob/master/CONTRIBUTING.md) recommend a manually curated changelog file, with an `[Unreleased]` section collecting changes since the last tagged commit. I guess this is finalized when tagging. They have example changelogs.

2. [keepachangelog.com](https://keepachangelog.com/en/1.0.0/) also recommends a manually curated changelog using the same method, and has a lot of guidelines and a FAQ.

Since it is a text file primarily for humans, an automatically generated workflow may be more trouble than it is worth (to combine into a nicely flowing coherent description summarizing a bunch of PRs). I think that I will experiment with a manually kept changelog for a while following these methods.
