Skip to content

docs(changelog): link the 1.5.0 entries to the API (#1941) - #1943

Merged
JarryShaw merged 1 commit into
mainfrom
docs/1941-link-changelog
Oct 19, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
docs/1941-link-changelog

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

Per the ruling on #1941, names in the 1.5.0 changelog that refer to pcapkit objects are now Python-domain roles. Names 1.5.0 removed, concepts, pip extras and stdlib names stay literal. Ambiguous names carry an explicit pcapkit. path or an explicit title. Most of the .rst diff is rewrapping, so that no role splits across lines.

util/changelog_md.py renders these roles in CHANGELOG.md as code spans of the name Sphinx displays, following its rules for ~, ., ! and explicit titles, so the generated file stays readable. The only change to CHANGELOG.md is () added after callables.

The new PythonRoleTests fail on main. --check passes, and the pinned docs build reports 0 warnings. Every new role was checked against the built HTML. The older changelog pages stay literal.

Closes #1941

- docs/source/changelog/1.5.0.rst: literals naming a documented pcapkit
  object become Python-domain roles; names resolvable by suffix use the
  `.Name` search form, ambiguous ones an explicit pcapkit path. Removed
  names, concepts, pip extras, CI cell labels and stdlib names stay literal.
- util/changelog_md.py: rule 2 renders :class:/:meth:/:func:/:attr:/
  :data:/:mod:/:exc: as code spans of the name Sphinx displays (tilde,
  leading dot, explicit title, `!`, and `()` on callables).
- tests: new PythonRoleTests; the guard tests use roles rule 2 still
  does not know.
- CHANGELOG.md regenerated; only the callables gain `()`.

Closes #1941
@JarryShaw JarryShaw added docs Pull requests that change documentation only (docs: subject prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 7c111d595. A Sonnet cross-review rebuilt the docs independently: 0 warnings and no "more than one target" messages. All 754 roles render as links, and the link map is byte-identical to the worker's build. It read about 100 entries in context, including the data-versus-schema and const-versus-data pairs, and found every link landing on the object the sentence means. Removed and renamed names stay literal. With whitespace collapsed and roles stripped back to literals, the rewrapped file has the same 31,898 tokens as before. The CHANGELOG.md diff is only () additions, and PythonRoleTests fails on main. merge-tree is clean against main, #1939 and #1927.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Im debating if we should keep hyperlinks for PR/issue references in the generated markdown changelog - i suppose they're not really necessary.

@JarryShaw

Copy link
Copy Markdown
Owner Author

One thing to weigh: GitHub does not auto-link #nnn in repository files. Its docs say "Autolinked references are not created in wikis or files in a repository" (autolinked references); auto-linking applies only within conversations. So if CHANGELOG.md uses plain #nnn, those references become unlinked text when the file is read on GitHub, and in the sdist copy. The rst changelog still links them on the docs site. Today the generated file has 327 issue/PR links. I'd keep them, but dropping them is a small change (util/changelog_md.py's role table at lines 196–198, then regenerate). Which do you prefer?

@JarryShaw JarryShaw added the needs: decision Waiting on the maintainer to decide — not blocked by other work label Oct 19, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

okay keep them

@JarryShaw

Copy link
Copy Markdown
Owner Author

Keeping the links, then. CHANGELOG.md stays as generated, so this PR needs no change and stays at 7c111d595.

@JarryShaw JarryShaw removed the needs: decision Waiting on the maintainer to decide — not blocked by other work label Oct 19, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 19, 2026
@JarryShaw
JarryShaw merged commit ff38c4f into main Oct 19, 2026
53 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 19, 2026
@JarryShaw
JarryShaw deleted the docs/1941-link-changelog branch October 19, 2026 17:54
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Pull requests that change documentation only (docs: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

docs(changelog): link the 1.5.0 entries to the API, and render roles in CHANGELOG.md

1 participant