Repository navigation
docs(changelog): summarise each release with a link to its full entry (#900) - #909
Conversation
|
NEEDS CHANGES on The reviewer read all 37 pages, not the 8 I asked for. 34 are faithful, several verbatim. Three are not: 1. The 1.5.0 bullet is false, and it is the flagship. It says "across roughly 140 issues and pull requests between #326 and #509". Measured by me against the page's own body:
2. 3. 4. Nothing enforces the new invariants, and this is the item I will not waive. The file's header still claims "there is exactly one copy of each entry and nothing to keep in step by hand" — no longer true of the file it describes. The PR creates 37 hand-maintained duplications of version, release date and summary, and adds zero tests. The concrete failure is already scheduled: when 1.5.0 ships, its page heading gains a date while the index bullet still reads All five mechanical claims verified, and two more strongly than I framed them. And it corrected my brief on something that makes the result stronger, not weaker. I said an unresolved Items 1-3 are one-line prose edits; item 4 is the coverage rule. Sent to the author. |
…#900) - Turned the toctree-only changelog.rst index into a summary list: each of the 37 entries gets a one- or two-line summary drawn from its own page under changelog/, followed by :doc:`Full changelog <changelog/X.Y.Z>`. - The toctree itself moved to the bottom and gained :hidden: -- it is still the newest-first ordering util/changelog_md.py reads to pick the release CHANGELOG.md is generated from, just no longer the page's own rendering. - No entry under docs/source/changelog/ changes, and changelog.rst itself ships in neither the sdist nor CHANGELOG.md (MANIFEST.in prunes docs/ and re-adds only changelog/*.rst), so nothing shipped moves. - Cross-review fixes: dropped the 1.5.0 bullet's "~140 issues/PRs between #326 and #509" claim (wrong count, root cause is #657's own prose, raised there separately); dropped "silently" from 1.3.5, which the page itself contradicts; named the three workflows 1.4.1's unit-test CI gates instead of "every release pipeline"; reworded 0.15.5 for readability. - Added RepositoryStateTests.test_index_summary_bullets_track_each_pages_own_heading in tests/project/test_changelog_md.py: asserts the summary bullets' order matches read_toctree() and each bullet's (version, date) matches that page's own heading -- so 1.5.0 shipping with a real date and a stale "(unreleased)" bullet fails the suite instead of drifting silently. Verified failing against the pre-#909 toctree-only file (AssertionError naming all 37 missing bullets) before this commit added the bullets. Build/test: util/changelog_md.py --check exits 0; tests/project/ test_changelog_md.py passes (48 tests, 37 subtests); a Sphinx build into a fresh BUILDDIR reports Sphinx's own "42 warnings" summary line identically before and after, sorted WARNING lines byte-identical apart from timestamps/order on 4 unrelated dependency-check lines.
ebf574d to
c7544a2
Compare
|
GOOD TO GO on Ran the new test myself at this head, in a tree I asserted — that was the one item I said I would not waive: It went in the right place — The 1.5.0 bullet dropped the count and range entirely, which was the right call over fixing the number in two places. The root defect stays where it belongs, in It also took the And it used Sphinx's own summary line this round — Ready for you to merge. I am not merging. |
Please follow the guide below
You will be asked some questions, please read them carefully and answer honestly
Put an
xinto all the boxes [ ] relevant to your pull request (like that [x])Use Preview tab to see how your pull request will actually look like
Searched for similar pull requests
Followed the coding style (
make pylint,make mypy,make isort) -- N/A, no Python changedmake testpasses, and a test case covers the change -- rantests/project/test_changelog_md.pydirectly (47 tests / 37 subtests pass); the full suite OOMs and was not runAdded a changelog entry under
docs/source/changelog/and regeneratedCHANGELOG.md, if the change is user-visible -- N/A -- changelog centralised in docs(changelog): shared 1.5.0 changelog — long-lived, merges last (#610, #616, #617, #618, #620) #657What is the purpose of your pull request?
docs— documentation onlyDescription of your pull request and other information
Closes #900.
changelog.rstwas a baretoctree-- a list of version links with no indication of what each release changed. Each of the 37 entries now gets a one- or two-line summary drawn from its own page underchangelog/<version>.rst, followed by a:doc:link to the full entry.The toctree itself moves to the bottom, gains
:hidden:, and keeps the exact newest-first orderutil/changelog_md.pyreads to pick the releaseCHANGELOG.mdis generated from -- confirmed with--check(exit 0) andtests/project/test_changelog_md.py. No file underdocs/source/changelog/changes, andchangelog.rstitself ships in neither the sdist norCHANGELOG.md(MANIFEST.inprunesdocs/), so nothing shipped moves.