Skip to content

docs: the changelog page includes CHANGES.md instead of copying it (#63) - #64

Open
jensens wants to merge 1 commit into
mainfrom
docs/changelog-single-source
Open

jensens wants to merge 1 commit into
mainfrom
docs/changelog-single-source

Conversation

@jensens

@jensens jensens commented Oct 1, 2026

Copy link
Copy Markdown
Member

Fixes #63

The published changelog page showed "1.6.0 (unreleased)" as its newest entry, missing three releases, for two independent reasons.

It was a copy. docs/sources/reference/changelog.md duplicated the root CHANGES.md by hand, written once in 530cfef and never touched again (97 lines against 332). The page now includes the real file from a marker comment, so there is one changelog.

The site was not rebuilt for a release. docs.yml only triggers on pushes touching docs/**, and a release commit changes CHANGES.md, Cargo.toml and Cargo.lock. The last docs run was 2026-09-30 15:45, which matches the live page's last-modified exactly. Both files are now in the paths filter.

While in there: conf.py hard-coded release = "1.5", so the site has advertised the wrong version since February. It now reads Cargo.toml.

Guard

tests/test_changelog_page.py fails if the page stops including the root file, grows entries of its own, or if the top changelog heading is a version other than the one in Cargo.toml (an "unreleased" heading is fine, that is the normal state between releases).

Verified

  • sphinx-build -W --keep-going is clean, and the built page lists all eleven versions with 1.7.0 first; the toctree link and the reference index card are unchanged.
  • 424 Python tests, ruff clean, the prose linter reports the same zero errors as before.
  • The deploy for this pull request itself will exercise the new trigger.

Assisted-by: Claude Opus 5

The published page still showed "1.6.0 (unreleased)": the page was a
hand-written copy written once with the docs and never updated, and the docs
workflow only redeploys for pushes that touch docs/, which a release commit
does not. The page now includes the root changelog from a marker comment,
`conf.py` reads the version from `Cargo.toml` (it said 1.5 since February),
and the workflow also triggers on `CHANGES.md` and `Cargo.toml`. A test
keeps the page from becoming a copy again and checks that a released
changelog header matches the version in `Cargo.toml`.

Sphinx builds clean with `-W` and the page carries all eleven versions.

Assisted-by: Claude Opus 5

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Published changelog page is a stale copy and is not redeployed on a release

1 participant