Repository navigation
Conversation
|
NEEDS CHANGES (Sonnet,
|
30953ed to
4f2af68
Compare
|
NEEDS CHANGES (Sonnet,
|
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
4f2af68 to
a9db8a4
Compare
|
Coverage: 94.45% (unit tier, Python 3.15,
Per-file detail: the |
|
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. |
|
Ruling reconciled: upon each release, amend |
|
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 |
- 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
- Fixed: a layer rebuilt by from_data reports its payload's messages once, where 1.5.x logged them twice, and IPv4 and the frame-end layers record a cut as their own short read (#2738), a new entry; old values measured against v1.5.1. - Folded into unreleased entries (#2738): a standalone IGMPv3 Report sized by its record count, into the IGMP entry; the recorded cuts' TRUNCATED status, TSO IPv4 and ICMPv4 included, into the checksum entry; ListField's count, into its zero-fill entry; the quiet rebuilt payload, into the conventions entry. - #2748: pcapkit.utilities.lazy becomes pcapkit.utilities.importlib in the lazy-import and conventions entries; the old name appears nowhere. - No entry for the direct-pushed 21ec0a6, which has no pull request or issue to cite. - CHANGELOG.md regenerated; util/changelog_md.py --check passes.
|
Fold 22 pushed: |
The output of codemod-v2.py on 05e1137, with no hand edits. - protocols/<layer>/<proto>.py and its schema/ and data/ modules become protocols/<layer>/<proto>/{protocol,schema,data}.py; each package __init__ exports its class alone, eagerly. - The TLS record data models SSL reads move from tls/data.py to a new ssl/data.py, as pieces the family shares; tls/data.py keeps TLS. - The schema/ and data/ trees and their aggregations go, with no alias: schema/schema.py is protocols/schema.py, data/data.py and data/protocol.py merge into protocols/data.py, and ipv6_option merges into ipv6_ext.schema. - ProtocolBase.__init_subclass__ finds a class's schema and data in its own package and imports Raw's on demand. - Imports, ModuleDescriptor strings, docs targets, paths and test specs are rewritten; released changelogs get every role target, 1.6.0 stays with #2483. - versionremoved records every name v1.5.1 shipped that no longer resolves at its old path, read from the tag by a new util/shipped_names.py into a checked-in fixture; a re-export points at its defining module, and the address patterns #2614 removed unrecorded get their note too. - The 1744 test gains TestShippedNames, which fails on any such name left unrecorded; tests that walked or pinned the old trees follow the new layout, two that pinned only the aggregations are deleted, and a new test pins the layout. All modules import, protocol models are unchanged, every unittest leg and project guard passes, and a non-editable docs build is warning-free.
The output of codemod-v2.py on 05e1137, with no hand edits. - protocols/<layer>/<proto>.py and its schema/ and data/ modules become protocols/<layer>/<proto>/{protocol,schema,data}.py; each package __init__ exports its class alone, eagerly, and binds each public class its schema and data modules define as Schema_<name> and Data_<name>, outside __all__, in a block per role under a "# Header Schemas" or "# Data Models" heading whose isort: split keeps isort sorting each block in place, as ruled in review of #2753; protocol-family-grouping.rst shows the layout and the doc-claims test pins every __init__ to it. - The TLS record data models SSL reads move from tls/data.py to a new ssl/data.py, as pieces the family shares; tls/data.py keeps TLS. - The schema/ and data/ trees and their aggregations go, with no alias: schema/schema.py is protocols/schema.py, data/data.py and data/protocol.py merge into protocols/data.py, and ipv6_option merges into ipv6_ext.schema. - ProtocolBase.__init_subclass__ finds a class's schema and data in its own package and imports Raw's on demand. - Imports, ModuleDescriptor strings, docs targets, paths and test specs are rewritten; released changelogs get every role target, 1.6.0 stays with #2483. - versionremoved records every name v1.5.1 shipped that no longer resolves at its old path, read from the tag by a new util/shipped_names.py into a checked-in fixture; a re-export points at its defining module, and the address patterns #2614 removed unrecorded get their note too. - The 1744 test gains TestShippedNames, which fails on any such name left unrecorded; test_public_api leaves the ruled aliases out of its unlisted names; tests that walked or pinned the old trees follow the new layout, two that pinned only the aggregations are deleted, and a new test pins the layout and the aliases. All modules import, protocol models are unchanged, every unittest leg and project guard passes, and a non-editable docs build is warning-free.
The output of codemod-v2.py on 4f62f52, with no hand edits. - protocols/<layer>/<proto>.py and its schema/ and data/ modules become protocols/<layer>/<proto>/{protocol,schema,data}.py; each package __init__ exports its class alone, eagerly, and binds each public class its schema and data modules define as Schema_<name> and Data_<name>, outside __all__, in a block per role under a "# Header Schemas" or "# Data Models" heading, as ruled in review of #2753. A [tool.isort] section in pyproject.toml keeps isort off these files, filter_files included; protocol-family-grouping.rst shows the layout and the doc-claims test pins every __init__ to it. - The TLS record data models SSL reads move from tls/data.py to a new ssl/data.py, as pieces the family shares; tls/data.py keeps TLS. - The schema/ and data/ trees and their aggregations go, with no alias: schema/schema.py is protocols/schema.py, data/data.py and data/protocol.py merge into protocols/data.py, and ipv6_option merges into ipv6_ext.schema. - ProtocolBase.__init_subclass__ finds a class's schema and data in its own package and imports Raw's on demand. - Imports, ModuleDescriptor strings, docs targets, paths and test specs are rewritten; released changelogs get every role target, 1.6.0 stays with #2483. - versionremoved records every name v1.5.1 shipped that no longer resolves at its old path, read from the tag by a new util/shipped_names.py into a checked-in fixture; a re-export points at its defining module, and the address patterns #2614 removed unrecorded get their note too. - The 1744 test gains TestShippedNames, which fails on any such name left unrecorded; test_public_api leaves the ruled aliases out of its unlisted names; tests that walked or pinned the old trees follow the new layout, two that pinned only the aggregations are deleted, and a new test pins the layout and the aliases. All modules import, protocol models are unchanged, every unittest leg and project guard passes, and a non-editable docs build is warning-free.
… into one package (#2534) (#2753) The output of codemod-v2.py on 4f62f52, with no hand edits. - protocols/<layer>/<proto>.py and its schema/ and data/ modules become protocols/<layer>/<proto>/{protocol,schema,data}.py; each package __init__ exports its class alone, eagerly, and binds each public class its schema and data modules define as Schema_<name> and Data_<name>, outside __all__, in a block per role under a "# Header Schemas" or "# Data Models" heading, as ruled in review of #2753. A [tool.isort] section in pyproject.toml keeps isort off these files, filter_files included; protocol-family-grouping.rst shows the layout and the doc-claims test pins every __init__ to it. - The TLS record data models SSL reads move from tls/data.py to a new ssl/data.py, as pieces the family shares; tls/data.py keeps TLS. - The schema/ and data/ trees and their aggregations go, with no alias: schema/schema.py is protocols/schema.py, data/data.py and data/protocol.py merge into protocols/data.py, and ipv6_option merges into ipv6_ext.schema. - ProtocolBase.__init_subclass__ finds a class's schema and data in its own package and imports Raw's on demand. - Imports, ModuleDescriptor strings, docs targets, paths and test specs are rewritten; released changelogs get every role target, 1.6.0 stays with #2483. - versionremoved records every name v1.5.1 shipped that no longer resolves at its old path, read from the tag by a new util/shipped_names.py into a checked-in fixture; a re-export points at its defining module, and the address patterns #2614 removed unrecorded get their note too. - The 1744 test gains TestShippedNames, which fails on any such name left unrecorded; test_public_api leaves the ruled aliases out of its unlisted names; tests that walked or pinned the old trees follow the new layout, two that pinned only the aggregations are deleted, and a new test pins the layout and the aliases. All modules import, protocol models are unchanged, every unittest leg and project guard passes, and a non-editable docs build is warning-free.
# Conflicts: # docs/source/changelog/1.5.0.rst
- Breaking: each protocol is a package of protocol, schema and data modules, the pcapkit.protocols.schema and .data trees and their aggregate exports removed with no alias, and a 1.5.x data model pickle fails to load (#2753), a new entry with the 1.5.1 imports and pickle measured. - 1.6.0's pcapkit.protocols role targets point at the package modules; the aggregator export claims of unreleased entries, the NoPayload and FrameRecord pickle claims and the TLSKeyLogEntries alias follow the layout. - CI: the LATEST tier's own job and the Coverage merge (#2754) and the ordering leg's halved rest of tests/protocols (21ec0a6, #2751), into the CI-legs entry; the package ruling into the conventions entry. - No entry for the test-only #2752. - The merge keeps #2483's class names in 1.5.0's conflicting roles under #2753's package paths. - CHANGELOG.md regenerated; util/changelog_md.py --check passes.
|
Fold 23 pushed:
|
- Fixed: a cut header's rebuild keeps the next layer its parse had, where 1.5.x rebuilt a cut Ethernet header's Raw as NoPayload, and that Raw carries no error (#2759), a new entry; old values measured against v1.5.1. - Amended unreleased entries (#2758): a cut list of schema items ends with the data, the item the cut lands inside zero-filled and none past it, in the ListField, IGMP and HTTP/2 SETTINGS entries, the last also rebuilding at its declared Length or a recomputed one once edited. - Folded (#2755): a counted item the data ends inside reads as a quiet short read, into the ListField and IGMP entries. - CHANGELOG.md regenerated; util/changelog_md.py --check passes.
- Folded into the lazy-import entry (#2757): pcapkit.protocols, its layer packages, misc.pcap, misc.checksum and pcapkit import their protocol classes on first use, pcapkit.protocols.registry builds __proto__ on first read, and dir(pcapkit) lists none of the incidental names 1.5.1 listed (os, sys, ROOT, warnings, tbtrim), measured on a v1.5.1 export; the ruling into the conventions entry. - No mention of foundation.registry.protocols.protocol_registry, an import alias 1.5.1 neither exported nor documented, nor of an import time. - CHANGELOG.md regenerated; util/changelog_md.py --check passes.
|
GOOD TO GO at
|
Please follow the guide below
make testpasses, and a test case covers the change (tests/project/test_pr_template_commit_types_1102_unit.pyandtests/project/test_python_versions_update_1660.pyrun)What is the purpose of your pull request?
chore— anything elseDescription of your pull request and other information
Closes #2449
Feature PRs no longer add entries under
docs/source/changelog/or toCHANGELOG.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.pyand its test follow the new box wording. No runtime code or release content changed.