From 2bff550983271c9bfc1e2d275e703ef6031c57a3 Mon Sep 17 00:00:00 2001 From: Justin Kim Date: Fri, 19 Jun 2026 21:24:03 +0900 Subject: [PATCH] Release 1.0.2 PyreWire-only maintenance release. Bumps the project and runtime version to 1.0.2 and records the release in CHANGELOG.md and docs/versioning.md. Changes since 1.0.1 are CI/tooling and metadata only: - actions/checkout v6->v7 and pypa/cibuildwheel v4.0.0->v4.1.0 (#171, #172) - SPDX license headers on all source files + enforcement test (#173) - expanded Errors reference documentation The public API is unchanged and the bundled/validated wirelog ref remains v0.51.0 (0c6e0cdaee7db069be5d8d896bb59bdcb15673e9); the runtime wirelog floor remains 0.44.0. Update the version-pinning contract tests (release metadata, changelog compare links) to track 1.0.2. --- CHANGELOG.md | 24 +++++++++++++++++++++++- docs/versioning.md | 1 + pyproject.toml | 2 +- src/pyrewire/__init__.py | 2 +- tests/test_changelog_format.py | 6 +++++- tests/test_release_metadata.py | 6 +++--- 6 files changed, 34 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24b293f..d183741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,27 @@ wirelog floor and a validated wirelog ref (see ## [Unreleased] +## [1.0.2] - 2026-06-19 + +### Changed +- Bumped the pinned `actions/checkout` GitHub Action from v6 to v7 and + `pypa/cibuildwheel` from v4.0.0 to v4.1.0 across the CI, wheels, and + release workflows (#171, #172). + +### Added +- Every Python source file now carries an + `SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later` header, making + PyreWire's dual license machine-discoverable for REUSE/SPDX tooling and + downstream redistribution. A contract test enforces the header on all + source files (#173). +- Expanded the Errors reference documentation: an overview, an error-code + mapping table, and a usage example for the exception hierarchy. + +This is a PyreWire-only maintenance release. The public API is unchanged, +and the bundled and validated wirelog ref remains `v0.51.0` at peeled SHA +`0c6e0cdaee7db069be5d8d896bb59bdcb15673e9` with the minimum compatible +runtime wirelog version remaining `0.44.0`. + ## [1.0.1] - 2026-06-13 ### Changed @@ -141,7 +162,8 @@ wirelog floor and a validated wirelog ref (see wirelog#852. They are available in the later [1.0.0] line, whose validated wirelog ref is v0.50.0. Tracked in wirelog#859. -[Unreleased]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.1...HEAD +[Unreleased]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.2...HEAD +[1.0.2]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/semantic-reasoning/PyreWire/compare/v0.41.0...v1.0.0 [0.41.0]: https://github.com/semantic-reasoning/PyreWire/releases/tag/v0.41.0 diff --git a/docs/versioning.md b/docs/versioning.md index a6a6221..c8adf87 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -56,6 +56,7 @@ release to publish; it is **not** tied to the wirelog change. | --------------- | --------------- | ------------------------------------------ | ----------------------- | | `1.0.0` | `0.44.0` | `272edf3a24b25676f12c4b843d55510f5048dd2f` | Validated against wirelog `v0.50.0` (peeled tag SHA); runtime minimum remains `0.44.0`. | | `1.0.1` | `0.44.0` | `0c6e0cdaee7db069be5d8d896bb59bdcb15673e9` | Validated against wirelog `v0.51.0` (peeled tag SHA); runtime minimum remains `0.44.0`. Bundled engine bumped to pick up the wirelog#914 single-body-rule derivation fix (#165). | +| `1.0.2` | `0.44.0` | `0c6e0cdaee7db069be5d8d896bb59bdcb15673e9` | Validated against wirelog `v0.51.0` (peeled tag SHA); runtime minimum remains `0.44.0`. PyreWire-only maintenance release (CI action bumps, SPDX headers, docs); no engine change. | The table grows with every release; the source of truth is the [CHANGELOG](https://github.com/semantic-reasoning/PyreWire/blob/main/CHANGELOG.md). diff --git a/pyproject.toml b/pyproject.toml index 17c067d..78d1ecd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pyrewire" -version = "1.0.1" +version = "1.0.2" description = "Python wrapper for wirelog - declarative dataflow analysis" readme = "README.md" requires-python = ">=3.11" diff --git a/src/pyrewire/__init__.py b/src/pyrewire/__init__.py index b2da51a..fef1b10 100644 --- a/src/pyrewire/__init__.py +++ b/src/pyrewire/__init__.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later """PyreWire - Python wrapper for wirelog declarative dataflow analysis.""" -__version__ = "1.0.1" +__version__ = "1.0.2" __author__ = "PyreWire Contributors" __license__ = "Apache-2.0 OR GPL-3.0-or-later" diff --git a/tests/test_changelog_format.py b/tests/test_changelog_format.py index 59b59a2..f26af5e 100644 --- a/tests/test_changelog_format.py +++ b/tests/test_changelog_format.py @@ -168,7 +168,11 @@ def test_release_compare_links_are_tag_to_tag(): changelog = (_repo_root() / "CHANGELOG.md").read_text(encoding="utf-8") assert ( - "[Unreleased]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.1...HEAD" + "[Unreleased]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.2...HEAD" + in changelog + ) + assert ( + "[1.0.2]: https://github.com/semantic-reasoning/PyreWire/compare/v1.0.1...v1.0.2" in changelog ) assert ( diff --git a/tests/test_release_metadata.py b/tests/test_release_metadata.py index e9bba86..3493d44 100644 --- a/tests/test_release_metadata.py +++ b/tests/test_release_metadata.py @@ -28,9 +28,9 @@ def _runtime_version_literal() -> str: return match.group(1) -def test_project_and_runtime_versions_are_101(): - assert _pyproject()["project"]["version"] == "1.0.1" - assert _runtime_version_literal() == "1.0.1" +def test_project_and_runtime_versions_are_102(): + assert _pyproject()["project"]["version"] == "1.0.2" + assert _runtime_version_literal() == "1.0.2" def test_project_classifiers_mark_stable_python_311_through_314():