Skip to content

chore(docs): centralise changelog entries for unreleased versions - #2483

Open
JarryShaw wants to merge 5 commits into
mainfrom
chore/2449-centralize-changelog
Open

JarryShaw wants to merge 5 commits into
mainfrom
chore/2449-centralize-changelog

Conversation

@JarryShaw

@JarryShaw JarryShaw commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Please follow the guide below

  • Searched for similar pull requests
  • Followed the coding style
  • make test passes, and a test case covers the change (tests/project/test_pr_template_commit_types_1102_unit.py and tests/project/test_python_versions_update_1660.py run)
  • Described the user-visible change below and left its changelog entry to the maintainer (N/A)

What is the purpose of your pull request?

  • chore — anything else

Description of your pull request and other information

Closes #2449

Feature PRs no longer add entries under docs/source/changelog/ or to CHANGELOG.md; the maintainer writes them centrally. CONTRIBUTING.md says so, and this PR also rewords the template's changelog box to match (not deferred). util/update_python_versions.py and its test follow the new box wording. No runtime code or release content changed.

@JarryShaw JarryShaw added chore Maintenance work: tooling, repo hygiene, no library behaviour change review: running A cross-review is in flight against the current head - no verdict yet labels Oct 31, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 31, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

NEEDS CHANGES (Sonnet, 30953ed00). CONTRIBUTING.md change is correct and contained; no code, release content or counts changed.

  • .github/PULL_REQUEST_TEMPLATE.md still tells contributors to add an entry and regenerate CHANGELOG.md, and links to the section this PR rewrites. Reword it in this PR, with util/update_python_versions.py (~L1301) and tests/project/test_python_versions_update_1660.py (~L879), which pin the current wording.
  • If the template is instead deferred, the body must say so and Closes #2449 becomes Refs #2449.
  • Non-blocking: "Feature pull requests" (L61) is narrower than L28; "Open" (L61) is undefined; L28 is 125 columns.

@JarryShaw JarryShaw added review: needs-changes Cross-review at the current head says changes are required; see the verdict comment and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 31, 2026
@JarryShaw
JarryShaw force-pushed the chore/2449-centralize-changelog branch from 30953ed to 4f2af68 Compare October 31, 2026 02:09
@JarryShaw JarryShaw added review: running A cross-review is in flight against the current head - no verdict yet and removed review: needs-changes Cross-review at the current head says changes are required; see the verdict comment labels Oct 31, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

NEEDS CHANGES (Sonnet, 4f2af68ee). Regex and pinned test verified; no code changed.

  • CONTRIBUTING.md ~L69 is 102 columns. Break before "the" so line 70 starts "the .rst entry, then regenerates:".
  • PULL_REQUEST_TEMPLATE.md ~L10: "described … above" should say "below" (the description is below the checklist); update test_python_versions_update_1660.py ~L879 to match.
  • Non-blocking: "Feature branches" (CONTRIBUTING ~L64), "docs-only" in the body (the diff touches util/ and tests/), "open versions" in the title.

@JarryShaw JarryShaw added review: needs-changes Cross-review at the current head says changes are required; see the verdict comment and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 31, 2026
Pull requests for user-visible changes each adding a bullet to the unreleased
version's changelog file conflict on every merge. CONTRIBUTING.md now says the
maintainer writes those entries centrally, and that such PRs leave the file out
of the diff. The PR template's changelog box and the generator that annotates
it follow the same rule.

Refs #2449
@JarryShaw
JarryShaw force-pushed the chore/2449-centralize-changelog branch from 4f2af68 to a9db8a4 Compare October 31, 2026 02:21
@JarryShaw JarryShaw changed the title chore(docs): centralise changelog entries for open versions chore(docs): centralise changelog entries for unreleased versions Oct 31, 2026
@JarryShaw JarryShaw added review: running A cross-review is in flight against the current head - no verdict yet and removed review: needs-changes Cross-review at the current head says changes are required; see the verdict comment labels Oct 31, 2026
@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Coverage: 93.94% (unit tier, Python 3.15, db01d1b2f, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 20087 144 2710 125 98.78%
pcapkit/corekit 2605 74 818 37 96.52%
pcapkit/dumpkit 281 3 100 3 98.43%
pcapkit/foundation 3194 27 1112 31 98.65%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 19906 213 5236 207 98.32%
pcapkit/toolkit 924 36 334 10 95.55%
pcapkit/utilities 502 7 144 5 98.14%
pcapkit/vendor 5009 2222 1148 182 52.31%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw JarryShaw added review: pending No verdict for the current head - never reviewed, or the head moved since the last one 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 review: pending No verdict for the current head - never reviewed, or the head moved since the last one labels Oct 31, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Local-only commit 30953ed forks from 4ca3f30 and is redundant with origin a9db8a4 (rebase onto origin is empty). Nothing to push. Local commit to be dropped.

@JarryShaw

JarryShaw commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner Author

Add to convention and session/sweep memo: upon each release, amend inline or post updates in thread to the PEP's Discussion post. PEP doc is source of truth but aim to keep the Discussion also up-to-date.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Ruling reconciled: upon each release, amend pep.rst inline and update Discussion #106 ("PyPCAPKit Enhancement Proposals") to match -- the page stays authoritative. Documented in process.rst (20f39eb73) and in the sweep memo.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Owner ruling (2026-11-01), paraphrased: changelog entries are consolidated in this PR and stripped from the open feature PRs, so they stop conflicting. The ruling named #2383, which is a merged HIP fix, so I've taken it to mean this PR (it implements #2449's practice). Say so if that's wrong.

In flight on this branch: merge current main, add #2509's Radiotap entry, and reconcile the 1.6.0 entries this merge wave left stale. When that is pushed, the label resets to review: pending and a fresh review runs.

- add entries for the user-visible changes merged since 1.5.1 that had
  none: LinuxSLL, ICMP/ICMPv6, IGMP, TLS/DTLS, SSLv2, DTLS reassembly,
  IP_Pseudo, the IPv6 extension-header walk and the IPv6_Ext id() and
  membership fixes
- add the Radiotap entry from #2509
- drop the FRAD, Netlink and GRE entries' stale "remain Raw" and
  "tracked separately" notes, and cite each entry's own PR and issue
- record the centralised-changelog rule this PR introduces
- regenerate CHANGELOG.md; util/changelog_md.py --check passes
@JarryShaw JarryShaw added review: running A cross-review is in flight against the current head - no verdict yet and removed review: good-to-go Cross-review at the current head says ready; CI state is separate labels Nov 1, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Pushed db01d1b2f, a fast-forward over a9db8a4c7 that merges main 94185da93 and adds one commit. That commit rewrites 1.6.0.rst from what actually merged, and regenerates CHANGELOG.md (util/changelog_md.py --check passes):

Merge this after #2509, since the Radiotap entry describes a class only #2509 adds. The IGMP bullet still needs #2518's id() change, which landed after this commit, so that follow-up goes on this branch next. The label is now review: running; the Sonnet review is in flight.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Cross-review (Sonnet) at db01d1b2f: GOOD TO GO. Every claim was re-derived and nothing is out of scope. util/changelog_md.py --check and a full sphinx-build -n both pass; the only new warning is Radiotap's class, which exists only on #2509. Merge this after #2509, because its LinuxSLL and Radiotap bullets describe #2509's code.

To be folded in as a follow-up commit: the IGMP bullet gains #2518's id() change, and the HTTP id() ruling (#2524) joins it. It also gets three wording fixes:

  • the v1/v2 split of an 8-octet Query is by Max Resp Time;
  • the ARPHRD enum names only the values its crawler lists;
  • the IPv6 extension-header-walk bullet notes that IPv6_Ext.error and read(error=) are no longer filled.

@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 Nov 1, 2026
…#2449)

- IGMP: add IGMPv3.id() ('IGMPv3',) and the base's ('IGMP', 'IGMPv2',
  'IGMPv3') from #2518; version selection is by message type, except a
  Membership Query, split by length and, at 8 octets, by Max Resp Time.
- LinuxSLL: ARPHRD names only the <linux/if_arp.h> values its crawler's
  table lists; any other, ARPHRD_ETHER included, reads as Unassigned.
- IPv6 extension-header walk: the library no longer passes
  IPv6_Ext.read() an error=, so IPv6_Ext.error is None unless a caller
  supplies one; the Raw layer's info.error holds the failure.
- CHANGELOG.md regenerated; util/changelog_md.py --check passes.
@JarryShaw

Copy link
Copy Markdown
Owner Author

The follow-up fold is done locally (4b93dc819; its review is GOOD TO GO). It is held for the queue, and it is pushed below 40. Decision: process.rst's #918 grouping (a section per top-level module, with the kinds nested) is not followed by 1.6.0.rst, which is a flat list with inline Added/Changed labels. Options: (a) restructure on this PR now; (b) restructure in one pass at the 1.6.0 release cut, on the last shared changelog PR, as 1.5.0 was done; (c) record that unreleased entries may stay flat. Recommendation: (b). This PR merges mid-cycle, after #2509, so restructuring now would conflict with every later entry.

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

Copy link
Copy Markdown
Owner Author

(b)

@JarryShaw

Copy link
Copy Markdown
Owner Author

Owner chose (b). 1.6.0.rst stays a flat list for now, and it is restructured into #918's per-module sections in one pass at the 1.6.0 release cut, on the last shared changelog PR, as 1.5.0 was. Nothing changes on this PR for it.

@JarryShaw JarryShaw removed the needs: decision Waiting on the maintainer to decide — not blocked by other work label Nov 1, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Fold at 4b93dc819 (it merges main and adds one commit), cross-reviewed (Sonnet): GOOD TO GO. The IGMP bullet now carries #2518's id() change, ('IGMP', 'IGMPv2', 'IGMPv3') with each member's own name, plus the review's wording. Entries for #2540, #2537, the IGMP and HTTP renames and the conventions changes follow as those PRs land.

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

chore Maintenance work: tooling, repo hygiene, no library behaviour change review: good-to-go Cross-review at the current head says ready; CI state is separate

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

chore(docs): centralize 1.6.0 changelog updates in one place, not per-feature-PR

1 participant