From 92214815393d86c0de4ff2cfe1700393e329a678 Mon Sep 17 00:00:00 2001 From: Decoder Date: Tue, 12 May 2026 03:59:35 -0700 Subject: [PATCH] release: cut v0.75.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes the v0.72-v0.75 gap with the rest of the protowire-* stack. Wraps protowire-cpp v0.75.0's PXF v0.72-series feature set through the nanobind FFI: - @ / @entry / @table directive grammar (via Result.directives and Result.tables accessors) - Schema reserved-name validator (pxf.validate_descriptor + pxf.Violation, draft §3.13) with UnmarshalOptions.skip_validate - TableReader streaming + bind_row per-row binding The Python port jumps directly from v0.70.0 to v0.75.0, matching the active wire revision rather than re-tagging the intermediate versions Go and Java cut along the way. --- CHANGELOG.md | 12 ++++++++++++ pyproject.toml | 2 +- src/protowire/__init__.py | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 836483e..b901a8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,18 @@ format changes. ## [Unreleased] +## [0.75.0] — 2026-05-12 + +First release after the v0.70.0 baseline. Wraps the +[`protowire-cpp` v0.75.0](https://github.com/trendvidia/protowire-cpp/releases/tag/v0.75.0) +PXF v0.72-series feature set into the Python port, bringing the +`@` / `@entry` / `@table` directive grammar, schema reserved-name +validator, `Result.directives` / `Result.tables` accessors, and the +`TableReader` streaming row reader through the nanobind FFI. The +Python port skips intermediate version numbers and lands the bundled +feature set directly on v0.75.0 to match the active wire revision +across the `protowire-*` stack. + ### Added - **`pxf.TableReader` and `pxf.bind_row`** (draft §3.4.4). Streaming diff --git a/pyproject.toml b/pyproject.toml index 5006127..52a0b47 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "scikit_build_core.build" # 2021 CLI tool). The import name stays `import protowire` — these two # names are independent (cf. python-dateutil → import dateutil). name = "protowire-python" -version = "0.70.0" +version = "0.75.0" description = "Python wrapper around protowire-cpp — PXF text, SBE binary, and envelope codecs." readme = "README.md" requires-python = ">=3.10" diff --git a/src/protowire/__init__.py b/src/protowire/__init__.py index 021a03f..ed2b8dc 100644 --- a/src/protowire/__init__.py +++ b/src/protowire/__init__.py @@ -5,4 +5,4 @@ from . import envelope, pxf, sbe __all__ = ["pxf", "sbe", "envelope"] -__version__ = "0.70.0" +__version__ = "0.75.0"