Skip to content

docs: backfill changelog entries for the #2312-#2407 range - #2412

Merged
JarryShaw merged 1 commit into
mainfrom
docs/2409-changelog-backfill
Oct 28, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
docs/2409-changelog-backfill

Conversation

@JarryShaw

@JarryShaw JarryShaw commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Part of the #1103 whole-repo prose sweep. Fixes #2409: docs/source/changelog/1.5.0.rst had no entry for most PRs merged in the #2312-#2407 range.

40 added bullets citing 43 PRs, each cited exactly once: #2332, #2335, #2338, #2339, #2343-#2347, #2349-#2351, #2357-#2359, #2363-#2375, #2377, #2382, #2383, #2392, #2393, #2395-#2401, #2403, #2405, #2407.

5 already had entries, untouched: #2334, #2336, #2337, #2340, #2348.

12 skipped as not user-visible: version bumps #2387-#2391; prose-only #2333, #2376, #2379, #2380, #2381; test-only #2402; unreachable-branch removal #2378.

Three pairs share one bullet, each a direct continuation of its sibling:

Dropped as factually wrong, found by two rounds of cross-review: #2370's "still fails" caveat (bullet kept, caveat removed — #2369 had already fixed it before #2370 merged); #2381's "left out of the rendered tables" claim (entry removed — conf.py already excludes the affected marker from autodoc, so nothing changed in rendered output); the original #2392 framing as a registrar-message behavior fix (superseded by the Added bullet above).

Not in this PR: #2404, closed unmerged in favor of #2405 (same issue, #2296); #2384-#2386, closed in favor of #2391; issues #2319-#2328 and #2341, closed by direct pushes to main (test/docs/chore only, no docs/source/changelog/ entry needed).

Test plan

  • util/changelog_md.py --check passes; CHANGELOG.md regenerated and in step
  • docs/source/changelog/1.5.0.rst diff vs main: 273 insertions, 0 deletions — purely additive
  • tests/project/ in full: 2107 passed, 80 skipped, 10265 subtests, 0 failures
  • A real Sphinx render (pinned docs venv) gives 0 warnings and the same nitpicky-reference count as main

@JarryShaw JarryShaw added the docs Pull requests that change documentation only (docs: subject prefix) label Oct 28, 2026
@github-actions github-actions Bot added this to the PyPCAPKit v1.5 milestone Oct 28, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 28, 2026
@JarryShaw JarryShaw added the review: running A cross-review is in flight against the current head - no verdict yet label Oct 28, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Review: NEEDS CHANGES at 3e8dd5af (Sonnet, read-only cross-review).

Verified good: census of all 60 merged PRs in range checks out (5 pre-covered + 43 new + 12 skipped, exactly as claimed); 1.5.0.rst diff is insert-only at bullet boundaries; CHANGELOG.md regenerates byte-identical; tests/project/ 2107 passed/80 skipped/10265 subtests; a real Sphinx render (pinned venv) gives 0 warnings and the same nitpicky-reference count as main.

Six entries have factual errors, each independently re-verified against the diff/HEAD:

Plus #2392/#2403 (deviation 1): the message change is real, but the bare pre-change text never shipped in a release (landed in #2193, after the last tag), so the sentence framing it as a user-visible fix is wrong; also #2403 (skipped as internal) actually introduced __proto_dest__/Vendor.PROTO_DEST, which no entry currently credits. Drop the sentence or the entry, your call which.

Lower-confidence (subagent-reported, not independently re-run by me, but flagging): #2338 ("reassembled whole" — the datagram was never reassembled), #2398 (understates the message change), #2400 (omits changed default octet values), #2335/#2373/#2374 (overstate).

@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 28, 2026
@JarryShaw
JarryShaw force-pushed the docs/2409-changelog-backfill branch from 3e8dd5a to 7f59b3e Compare October 28, 2026 15:02
@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 28, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Review: NEEDS CHANGES at 7f59b3e9 (Sonnet, round 2). All seven round-1 fixes verified correct, including both judgment calls — the kept #2370 bullet (a bisect confirms the removed sentence was false when it merged, 13 minutes after #2369 landed), and the #2392/#2403 shared "Added" bullet (the pairing is defensible: #2403's own commit message says "Mirrors __proto_key__", same framing as the #2393/#2401 precedent). 1.5.0.rst diff is 273/0, changelog_md.py --check passes, tests/project/ 2107 passed/80 skipped/10265 subtests.

Small fixes needed:

  1. The new Added bullet says "the two declarations" and "the seven classes" — drop these per the 2026-10-15 no-counted-numbers ruling (policy, not accuracy — "seven" is currently true).
  2. PR body is stale against head: lists chore(vendor): HIP Group and Packet crawlers write #: in _missing_, not # (#2331) #2381 as covered (it was deleted, correctly) but omits refactor(foundation): declare _CODE_DESTINATIONS as a dunder on the enum registries themselves #2403; still frames refactor(foundation): declare each registry's code kind as a class attribute, not a module table (#2343) #2392 as the registrar-message behavior entry; says "two pairs" share a bullet when there are now three; cites 263 0 instead of the real 273 0.

Optional nit: the #2399 bullet's "reassembly refusals" for pcap-ct/PyPCAP omits that their tcp_traceflow refusals were prefixed too.

@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 28, 2026
Problem: of the 60 pull requests merged in the #2312-#2407 range, only
#2334, #2336, #2337, #2340 and #2348 wrote a 1.5.0 changelog entry, and
#2398 and #2403 only reworded lines that were already there. Every other
user-visible change in the range -- wire-semantics fixes, maker guards,
reassembly behaviour, public-API and error-message changes -- went
unrecorded, so the entry no longer describes the release.

Fix: one entry per user-visible pull request, in each module section's
existing style and ordered by the issue it closes. Three pairs share a
bullet, since each is the direct follow-up or counterpart of the other:
#2393 with #2401, #2405 with #2407, and #2392 with #2403. The diff on the
entry file is purely additive.

Internal-only work is left out deliberately: dependency and action bumps
(#2387 to #2391), test-only and docs-prose passes (#2333, #2376, #2379,
#2380, #2402), the unreachable-branch removal (#2378), and the #: comment
marker the HIP Group and Packet crawlers now write (#2381). That last one
renders nothing either way: the marker lands inside the generated
_missing_ body, conf.py's exclude-members drops _missing_ from autodoc,
and a comment in a method body is not an attribute comment to begin with.

#2392 and #2403 are recorded together, under Added rather than Fixed, for
the declarations they introduce: __proto_key__ on each class owning a
__proto__ registry (#2392), __proto_dest__ on the enum registries and
Vendor.PROTO_DEST to generate it (#2403). The bullet names those classes
and registries rather than counting them, per the no-counted-numbers rule
for the unreleased entry. Both PRs added the autodoc entries, so both are
rendered public attributes. #2392's rejection-message
change is deliberately not recorded as a fix: the bare "code must be ..."
text it prefixed came from _check_code, which #2193 introduced and which
is in no release tag -- absent at v1.5.0b14 -- so no released version ever
emitted it. #2403 is no longer skipped as internal because it reworded an
existing bullet to name __proto_dest__ while nothing credited the
attribute's introduction.

Four claims are corrected against the source rather than carried over:
FTP_DATA shipped in pcapkit/protocols/application/ftp.py from 1.0.0, not
1.4.0 (class FTP_DATA(Raw) is there at v1.0.0); #2365's pre-fix fallback
read cmmd.value, so a .value-carrying object was accepted unchecked
rather than raising; #2399 left the dpkt adapter and the adapters'
ModuleNotFound raises alone, so it claims no universal prefix; and
#2397's old tail did name the version it got, so the entry quotes it and
gains the :issue:`2302` it was missing. #2370's "a Section Header Block
... still fails" sentence is dropped: #2369 settles the byte order first,
and an SHB built from raw octets with ctx=None now rebuilds byte-exact in
both byte orders.

CHANGELOG.md is regenerated with util/changelog_md.py.

Test: tests/project/ in full, 0 failures, including test_changelog_md.py's
in-step and supported-subset checks; util/changelog_md.py --check reports
the two files in step; the entry parses under docutils with no structural
warning.
@JarryShaw
JarryShaw force-pushed the docs/2409-changelog-backfill branch from 7f59b3e to 813e9f8 Compare October 28, 2026 15:36
@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 28, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Review: NEEDS CHANGES → fixed at 813e9f89 (Sonnet, round 3). Content fully confirmed (no counted numbers remain, class-list enumerations verified against actual code, changelog_md.py --check and docutils parse clean, 273/0 insertions, 6 project tests 123/123 passed) — the only issue was the PR body: the "12 skipped" sentence named 11, missing #2381; and "out-of-range code citing #2404" had no referent. Both fixed directly in the body (also switched "closing #2409" to "Fixes #2409", which is the actual GitHub auto-close keyword — the original wasn't one).

@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 28, 2026
@JarryShaw
JarryShaw merged commit 27c797d into main Oct 28, 2026
38 checks passed
@JarryShaw
JarryShaw deleted the docs/2409-changelog-backfill branch October 28, 2026 15:53
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 28, 2026
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 28, 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 missing entries for most PRs merged in the #2312-#2407 range

1 participant