1- # 0.8.0 release readiness
1+ # 0.8.1 release readiness
22
33This page records the expected release contract, not a publication event.
44Creating a version tag remains a separate maintainer action.
55
6+ ## Patch scope
7+
8+ Version 0.8.1 includes the merged metadata-integrity, consistent-read-snapshot,
9+ row-copy, transformation-planning and SQLite workflow fixes described in the
10+ [ release notes] ( ../CHANGELOG.md ) . It introduces no catalog
11+ migration, dependency change, new database support or specification pin update.
12+ The local 0.8.0 evidence below is historical, not verification of this patch.
13+ Re-run the gates below on the exact selected 0.8.1 release commit.
14+
615The release selects SAV/ZSAV 1.0 with the optional Database I/O Execution
716Policy ` openstatspec-database-io-v1 ` . Reads and exports, including failures,
817write no database audit records; export results omit ` operation_id ` and return
@@ -104,7 +113,7 @@ The gate must prove that:
104113 neither HEAD nor branch and never commits or resets; state is rechecked after
105114 the dataset lock and success must leave an inspectable working-set diff;
106115 other supported SQL connections remain allowed; and
107- - string comparisons and v0.2 string assignments fail closed until exact
116+ - string comparisons and v0.2 string assignments remain fail- closed.
108117
109118The built wheel must contain the generic openstatspec.transform modules and the
110119implemented openstatspec.frontends.spss package. Stata and SAS remain empty
@@ -156,7 +165,24 @@ of exact `864e84479f554b8ee250ffed44c4dfb963750d4a`):
156165Other database services were not configured locally. This is local evidence,
157166not a claim that the updated remote CI or release publication has completed.
158167
159- ## Maintainer checks before tagging
168+ ## 0.8.1 local preparation verification
169+
170+ On Python 3.13.2 with SQLAlchemy 2.0.52 and the exact v0.5.0 specification
171+ checkout, without configured database services:
172+
173+ - ` python -m pytest -p no:cacheprovider -m 'not services' ` : ** 414 passed,
174+ 9 skipped, 53 deselected** . The release-ref guard tests also passed (** 5** ).
175+ - ` compileall ` , ` git diff --check ` , wheel/sdist build and ` twine check ` passed.
176+ - A clean wheel install outside the checkout resolved the required engine
177+ ` openstatspec-pyspssio==0.5.1.post2 ` from PyPI. Installed capabilities reported
178+ 0.8.1, released specification v0.5.0 at the expected commit, and the selected
179+ database I/O policy. Core, SPSS frontend and legacy compiler re-exports loaded
180+ from ` site-packages ` without a source-path override.
181+
182+ This is local candidate evidence, not final release-commit service CI or
183+ publication evidence. No v0.8.1 tag or registry upload was made by these checks.
184+
185+ ## Maintainer release checklist
160186
1611871 . Publish the pinned ` openstatspec-pyspssio==0.5.1.post2 ` engine distribution
162188 first and confirm that a clean environment can download it from PyPI. The
@@ -179,14 +205,26 @@ not a claim that the updated remote CI or release publication has completed.
1792054 . Build with ` python -m build ` and install the generated wheel in a clean
180206 environment, resolving ` openstatspec-pyspssio==0.5.1.post2 ` from PyPI.
181207 Run the installed CLI outside the source checkout with ` PYTHONPATH ` unset;
182- verify adapter version ` 0.8.0 ` and the selected database I/O policy.
208+ verify adapter version ` 0.8.1 ` and the selected database I/O policy.
1832095 . Confirm ` openstatspec capabilities ` reflects the intended support boundary.
1842106 . Confirm CI, release fixtures, and capabilities use the published OpenStatSpec
185211 specification ` v0.5.0 ` at exact commit
186212 ` 864e84479f554b8ee250ffed44c4dfb963750d4a ` , publish
187213 ` specification_status=released ` , and set ` specification_release ` to ` v0.5.0 ` .
188214 Use an exact checkout via ` OPENSTATSPEC_SPECIFICATION_DIR ` for local tests.
189- 7 . Review this document, the README, and CHANGELOG for accurate scope.
215+ 7 . Review this document, the README, and CHANGELOG for accurate scope. Finalize
216+ the 0.8.1 changelog date before selecting the final release commit.
217+ 8 . Confirm the exact release commit's CI matrix and package smoke passed, and
218+ verify the protected ` pypi ` environment and Trusted Publishing setup before
219+ pushing a new annotated/protected ` v0.8.1 ` tag. A ` v* ` tag push starts the
220+ publishing workflow; it is not a preparation-only check. Do not move an
221+ existing tag. The workflow also rebuilds the unchanged specification companion
222+ package 0.1.0 at its existing pin and uses ` skip-existing ` ; it does not release
223+ the newer specification validator changes.
224+ 9 . After publication, verify the tag resolves to the intended commit, the
225+ tag-triggered workflow succeeded, and PyPI installs ` openstatspec==0.8.1 ` in a
226+ clean environment. Record the tag, CI and registry evidence before claiming
227+ the release is published.
190228
191229The tag-triggered release workflow repeats the non-service test suite, builds
192230the distributions, and installs the wheel with the exact required SPSS engine
0 commit comments