Don't panic, impl Things

A blog by Martijn Gribnau

19 Apr 25

Changelog tumbleweeds: the case of orphaned markdown [brackets]

Every project needs a changelog. And let's be honest, the work keep-a-changelog did to make this a more common practice is awesome. But there is something many seem to forget: Did you ever notice [version numbers] in release titles within a CHANGELOG.md? These brackets were supposed to be links. But in reference style, you need to complete the reference elsewhere. Let's look at an example (also in the wild):

## [0.18.3] - 2025-04-19

- Lost: reference to the version number 0.18.3 somewhere

This snippet, produces the following output:


[0.18.3] - 2025-04-19

  • Lost: references to version numbers

However, if you scroll to the bottom of the keep-a-changelog example, you can see that the version numbers in brackets, have their link completed at the bottom. And rendered, it looks like this.

So how do we fix our changelog? By adding reference style links:

## [0.18.4] - 2025-04-19

- Found: references to version numbers

[0.18.4]: https://github.com/foresterre/cargo-msrv/compare/v0.18.3...v0.18.4

This produces the following output:


0.18.4 - 2025-04-19

  • Found: references to version numbers

Don't like linking to the diff?

Not a problem. Use an alternative like a release page or something else you like. Or just leave the brackets out:


0.18.5 - 2025-04-19

  • Also good: This version number has no link

Call to action

So next time you write a changelog, please keep these digital tumbleweeds out. Complete your links, fix your [brackets]!