Skip to content
Novus Examples
md957 B

Changelog - Keep a Changelog Layout

A hand-maintained changelog in the Keep a Changelog layout: an Unreleased section, dated version headings in square brackets, the standard change-type subheadings, and reference-style compare links at the bottom. It describes the same releases as the generated twin in this group, so a converter between the two can be scored.

Preview — first 44 linesmd
# Changelog

All notable changes to this project are documented here.

The format is based on Keep a Changelog, and this project adheres to
Semantic Versioning.

## [Unreleased]

### Added

- Operator guide under `docs/guide.md`.

## [5.0.0] - 2026-03-13

### Changed

- **BREAKING** `Round()` now rounds half to even instead of half up.

### Fixed

- `parseMinor()` rejects input with no digits instead of returning NaN (#418).

## [4.3.0] - 2026-03-04

### Added

- `HalfEven()` rounding helper.

### Removed

- The 2019 CSV import script.

## [4.2.0] - 2026-02-14

### Added

- Initial public posting API.

[Unreleased]: https://git.example.invalid/sample-org/ledger-service/compare/v5.0.0...HEAD
[5.0.0]: https://git.example.invalid/sample-org/ledger-service/compare/v4.3.0...v5.0.0
[4.3.0]: https://git.example.invalid/sample-org/ledger-service/compare/v4.2.0...v4.3.0
[4.2.0]: https://git.example.invalid/sample-org/ledger-service/releases/tag/v4.2.0

Specifications

Seed
20260807
Repository Name
CHANGELOG.md
Style
Keep a Changelog
Releases
3
Has Unreleased Section
true
Section Headings
Added, Changed, Fixed, Removed
Reference Links
4
Line Endings
LF
Encoding
UTF-8

Testing contract

Expected to pass
Scenario
Extract the released versions, their dates and their change entries from a Keep a Changelog document.
Expected result
Three released versions (5.0.0, 4.3.0, 4.2.0) plus an Unreleased section are found, with 5.0.0 dated 2026-03-13 and carrying one breaking change.

What is a .md file?

Markdown (MD) is a lightweight plain-text markup language that uses simple punctuation conventions to denote headings, lists, links, emphasis, and code. It is designed to be readable as-is and to convert cleanly to HTML. It is widely used for documentation, READMEs, and content authoring.

How to use this file

Use an example Markdown file to test parsers and renderers, verify GitHub-Flavored Markdown extensions like tables and fenced code, and exercise HTML-conversion pipelines.

How to use this file for testing

“Changelog - Keep a Changelog Layout” is a deterministic Novus Examples fixture for Config parsing, Visual diff / regression, Data engineering. TOML and INI configuration files with nested sections and typed values — for testing config parsers and loaders.

Documented properties for this file: seed 20260807 · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Diff and patch fixtures name their target paths and the exact edge case they exercise — rename, mode change, binary hunk, CRLF↔LF, or missing trailing newline. Apply or render them against the documented before-state; every author, path, and hash is fictional.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import markdown  # pip install markdown

html = markdown.markdown(open("CHANGELOG-keep-a-changelog.md").read())
print(html[:200])

Generated by generation/version_control.py. Free for any use, no attribution required — license.