From 8b0250e618cfd137be9ceda2ff889e4ff9f78ed9 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 4 Sep 2026 15:00:29 +0000 Subject: [PATCH] Release 2.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Typed accessors and pattern-matching ergonomics (#105): *_enum companions for every enum-backed field; IPv4/TCP/DHCP curate a short __match_args__ by hand where the auto-generated positional form is too wide to be usable; DNS resource records gain typed RDATA and every question, not just the first. Universal round-trip properties, nightly fuzzing, a pcap reader (#106): Hypothesis fuzzing covers all 18 protocols instead of 4; CI runs a derandomized profile on every push and a full random-seed sweep nightly; every raise site carries structured diagnostic context instead of a formatted string; a real Pyodide runtime proves the browser claim in CI; read_captures()/read_pcap()/read_pcapng() take bytes, not a path, autodetecting classic pcap vs. pcapng. Plus the roadmap's closing research work (#124, #107): an audit of ten comparable Python packet libraries' CI configurations for an actual performance-regression gate (none have one), and the resulting lift of the comparative-claims embargo — every previously-held section of docs/CLAIMS.md re-measured against this tree and published, including one number that moved against this project (decode throughput vs. dpkt) and is reported as measured rather than smoothed over. No breaking changes anywhere in this release — every addition is additive, matching the minor-version scope; nothing here required the major bump 2.0.0 needed for .payload's removal. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_0143tMFpiopxYLf6A2EeDyo9 --- CHANGELOG.md | 2 +- pyproject.toml | 2 +- src/netprotocols/__init__.py | 2 +- uv.lock | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 715b113..80fa7fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [2.2.0] - 2026-09-04 ### Added - **Typed accessors for every enum-backed field.** `_enums.py` defines diff --git a/pyproject.toml b/pyproject.toml index 9da4098..06ccab7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "netprotocols" -version = "2.0.0" +version = "2.2.0" description = "Low-level implementations of common networking protocols" readme = "README.md" license = "MIT" diff --git a/src/netprotocols/__init__.py b/src/netprotocols/__init__.py index 9ef885a..a5bff5b 100644 --- a/src/netprotocols/__init__.py +++ b/src/netprotocols/__init__.py @@ -74,7 +74,7 @@ # registrations name the classes. See netprotocols/_defaults.py. _defaults.install(DEFAULT) -__version__ = "2.0.0" +__version__ = "2.2.0" __all__ = [ "ARP", diff --git a/uv.lock b/uv.lock index 94f3816..7274e1b 100644 --- a/uv.lock +++ b/uv.lock @@ -434,7 +434,7 @@ wheels = [ [[package]] name = "netprotocols" -version = "2.0.0" +version = "2.2.0" source = { editable = "." } [package.dev-dependencies]