Skip to main content

Module changelog

Module changelog 

Source
Expand description

The root CHANGELOG.md, read the way the roadmap shows it.

The roadmap’s release history titles each release with a headline, and its Next release block lists what [Unreleased] has added so far. Both read the CHANGELOG through this module. It is std-only: the web crate’s build.rs includes this file with #[path] and bakes [Unreleased] into the page at build time, and the crate’s tests run the same code.

The headline rule is the one scripts/generate-roadmap.sh applies when it writes roadmap_history.json (its clean_title), and tests/roadmap_page.rs holds the two readings to the same answer on every release the CHANGELOG records.

Structs§

Unreleased
What [Unreleased] holds: every addition’s headline, in order, and how many other entries there are.

Functions§

headline
One line’s headline. An entry’s is its first bold lead; a line with no bold text keeps its words, less one pair of wrapping parentheses. Backticks are dropped, runs of whitespace become one space, a trailing period goes, and a headline over 72 characters is cut back to its last whole word and ends in an ellipsis.
release_title
A release’s title, as the release history shows it: the headline of the section’s first line of content, which is its first entry or a prose preamble such as “First public release.”.
section
A release’s section of the CHANGELOG: the text between its ## [version] heading line and the next ## heading. None when the CHANGELOG has no such release.
unreleased
The [Unreleased] section, read. A CHANGELOG with no [Unreleased] section has nothing in progress.