diff --git a/CHANGELOG.md b/CHANGELOG.md index 2228578..ff53fa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ Future changes will be listed here. +## v0.4.1 - 2026-08-21 + +OpenStatSpec `v0.4.1` is a documentation and release-bookkeeping patch for +the stable `v0.4.0` specification. It changes no normative contract or +conformance artifact. + +- Aligned the SPSS frontend roadmap with the published Frontend 0.3 profile. +- Corrected release metadata fixtures and validation coverage for the public + README and current release status. + ## v0.4.0 - 2026-08-21 OpenStatSpec `v0.4.0` publishes SPSS Syntax Frontend 0.3 as a stable optional diff --git a/ROADMAP.md b/ROADMAP.md index 8c75764..f68a0a4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -30,7 +30,7 @@ Prerequisite: the core mapping and canonical fixtures are stable enough to test and fixtures. - [x] Define adapter conformance guidance; each adapter repository owns its runtime CI and evidence. - [x] Define versioning and compatibility guidance for the specification and profiles. -- [x] Publish release notes and tagged specification releases; `v0.4.0` is the +- [x] Publish release notes and tagged specification releases; `v0.4.1` is the current public specification release and is immutable. - [ ] Expand implementation, dialect-profile, and adoption documentation from real adapter experience. @@ -127,6 +127,8 @@ follows and does not block specification publication. 7. [x] Prepared specification `v0.4.0` release notes, stable profile status, exact artifact validation, and tag-context CI requirements; adapter claims remain downstream and are not implied by this release. +8. [x] Published documentation patch release `v0.4.1` to align the frontend + roadmap with the stable Frontend 0.3 profile; no normative contract changed. The pending in-place service matrix and adapter conformance work in sections 6 and 7 are downstream implementation gates. They do not block the `v0.4.0` diff --git a/src/openstatspec_specification/artifacts.py b/src/openstatspec_specification/artifacts.py index 88e8b1b..9ede0d0 100644 --- a/src/openstatspec_specification/artifacts.py +++ b/src/openstatspec_specification/artifacts.py @@ -26,6 +26,7 @@ } V030_COMMIT = "cd8f198c68b849eb8ed018a894670a0904c2181d" V040_RELEASE = "v0.4.0" +CURRENT_RELEASE = "v0.4.1" V030_PROFILE_DOCUMENTS = ( "docs/transformation-plan-profile-0.2.md", "docs/spss-syntax-frontend-profile-0.2.md", @@ -719,7 +720,7 @@ def validate_release_metadata(root: Path) -> None: f"{relative}: stale release status remains", ) roadmap = " ".join(_load_text(root, "ROADMAP.md").split()) - _require(f"`{V040_RELEASE}` is the" in roadmap, "ROADMAP release tag mismatch") + _require(f"`{CURRENT_RELEASE}` is the" in roadmap, "ROADMAP release tag mismatch") _require( "current public specification release and is immutable" in roadmap, "ROADMAP release status mismatch", @@ -754,6 +755,11 @@ def validate_release_metadata(root: Path) -> None: and f"OpenStatSpec `{V040_RELEASE}` publishes SPSS Syntax Frontend 0.3" in changelog, "CHANGELOG v0.4.0 release entry is missing", ) + _require( + f"## {CURRENT_RELEASE} - 2026-08-21" in changelog + and f"OpenStatSpec `{CURRENT_RELEASE}` is a documentation and release-bookkeeping patch" in changelog, + "CHANGELOG v0.4.1 release entry is missing", + ) readme = " ".join(_load_text(root, "README.md").split()) _require( f"was published in OpenStatSpec `{V040_RELEASE}`" in readme,