Repository navigation
docs: backfill changelog entries for the #2312-#2407 range - #2412
Conversation
|
Review: NEEDS CHANGES at Verified good: census of all 60 merged PRs in range checks out (5 pre-covered + 43 new + 12 skipped, exactly as claimed); 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 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). |
3e8dd5a to
7f59b3e
Compare
|
Review: NEEDS CHANGES at Small fixes needed:
Optional nit: the #2399 bullet's "reassembly refusals" for pcap-ct/PyPCAP omits that their |
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.
7f59b3e to
813e9f8
Compare
|
Review: NEEDS CHANGES → fixed at |
Summary
Part of the #1103 whole-repo prose sweep. Fixes #2409:
docs/source/changelog/1.5.0.rsthad 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:
strenumeration name resolution where the namespace couldn't be inferred (pcapkit.protocols, Fixed)pcapkit.protocols, Fixed)__proto_key__/__proto_dest__dunders pairing a__proto__registry with its enum (pcapkit.foundation, Added — the bare pre-change error text never shipped in a release, so this isn't framed as a behavior fix)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.pyalready 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 --checkpasses;CHANGELOG.mdregenerated and in stepdocs/source/changelog/1.5.0.rstdiff vsmain: 273 insertions, 0 deletions — purely additivetests/project/in full: 2107 passed, 80 skipped, 10265 subtests, 0 failuresmain