Releases: OpenStatSpec/php
Release list
PHP 0.8.0
This release consolidates the never-tagged, never-published 0.7.2 preparation
with official opt-in SPSS Frontend 0.3 support. The previous public release is
0.7.1; there was no 0.7.2 release.
Added
- Explicitly selected official SPSS Frontend 0.3 using the existing strict
request/parser/binder/compiler pipeline; Frontend 0.2 remains the default.
Support comments, dictionary-order TO and grouped commands, NOT and comparison
aliases, finite open RECODE ranges, and ordered typed ADD VALUE LABELS. - Check all 90 effective official cases against the unchanged specification pin,
inherited Plan 0.1/0.2 objects and hashes, and native SQLite in-place provenance
and identity. All 20 implementation CI jobs passed at
22e261842e538188aea281896c578c5f3d1e38b7, including the service matrix
(run). Declare
Frontend 0.3 officially conformant while retaining its opt-in capability field.
The final 0.8.0 release commit still requires full CI before tagging. - Use precedence comparisons, NOT, AND, OR; parentheses override. Compilation
is pure over request metadata: callers supply the current ordered dictionary
and typed value labels; the compiler does not read the database. No
STRING/DELETE, schema extension, Plan 0.3 or In-Place 0.3 support is added.
Fixed
- Preserve finite binary64 precision in SQLite case values and compression bias,
and in affected multiple-response counted-value metadata writes. - Fail imports on SQL errors even when the supplied PDO uses silent or warning
mode, restoring the caller's error mode afterward. Reject caller-owned active
transactions before import mutation. - Finalize SQLite/PostgreSQL import audit success inside the native import
transaction, so finalization failure rolls back the attempt. Retain the
MySQL/MariaDB/Dolt ownership-scoped cleanup and finalization compensation.
Performance
- Send PostgreSQL and MySQL/MariaDB/Dolt case INSERTs in bounded prepared batches,
respecting parameter/packet budgets and preserving preflight-valid oversized
singleton rows, case order, NULLs, strings and numeric precision. - Load canonical and legacy export dictionary children and set members with
dataset-scoped grouped queries instead of per-variable/per-set queries.
Export remains database-read-only and observes fresh metadata on every call.
Existing import/export call forms, dependencies, specification pin, database
support claims and catalog schema remain unchanged. Catalog preparation and
ownership checks are retained; this release requires no new migration.
OpenStatSpec PHP v0.7.1
Patch release updating the SPSS codec dependency.
- Updated installed and exact CI-tested openstatspec/spss-sav from 3.0.3 to 3.1.1.
- Aligned engine identity, capability declarations and conformance assertions.
- No adapter API, specification pin or database-support changes.
Validation: local Composer validation, lint, style, PHPStan and PHPUnit checks passed against pinned specification v0.5.0. Full GitHub PHP 8.4/8.5 and PostgreSQL, MySQL, MariaDB and Dolt integration matrices passed. Production dependency dry-run and distribution archive inspected.
Full changelog: v0.7.0...v0.7.1
OpenStatSpec PHP v0.7.0
Database-read-only export and predictable Dolt support
- SAV/ZSAV export reads authoritative normative metadata directly: no compatibility-catalog rewrites, operation/fidelity audit records, initialization or migration, including failure paths.
- Output is published only after successful temporary-file writing. Existing destinations survive writer failure. Export-after-transformation preserves named formats, measurement levels and valid defaults for new variables.
- Default Dolt writes support exactly the tested 2.2.2 and 2.2.3 versions without external declaration files. Other write versions are rejected; positively identified Dolt read-only exports are independent of the write-version gate.
- Selects
openstatspec-database-io-v1from released specification v0.5.0, commit864e84479f554b8ee250ffed44c4dfb963750d4a.
Migration
Breaking: SpssExportResult::operationId and its constructor argument are removed. Import operation IDs are unchanged. Initialize/upgrade the catalog explicitly with SpssAdapter::migrateCatalog() on a write-capable deployment connection; export refuses unready catalogs instead of repairing them.
Breaking: the former broad Dolt 2.2.x write range is narrowed to the two exact tested versions. Injected SPSS writers receive a temporary path and must use the Dataset's target format, not the temporary filename extension.
composer require openstatspec/php:^0.7Release commit: 8d15c184c36b8bc3091ac938da0be47fceb312fa.
Reviewed with defect fixes; full PHP 8.4/8.5 and SQL-service CI, real SELECT-only Dolt round trips/failure preservation, and Composer checks passed. Plan/Frontend/Binding 0.1/0.2 claims remain unchanged; optional 0.3 contracts are not implemented.
OpenStatSpec PHP v0.6.0
OpenStatSpec PHP adapter v0.6.0.
- Claims Transformation Plan 0.1/0.2, SPSS Frontend 0.2, and In-Place Transformation 0.1/0.2 conformance.
- Pinned to OpenStatSpec specification v0.3.0 at cd8f198c68b849eb8ed018a894670a0904c2181d.
- Removes openstatspec-transformation-plan-v1, SPSS STRING, and DELETE VARIABLES.
- MySQL, MariaDB, and Dolt require pre-provisioned and catalogued targets. Dolt commits remain caller-owned.
OpenStatSpec PHP v0.5.0
What's Changed
- chore: adopt OpenStatSpec SPSS codec 3.0.3 by @TonisOrmisson in #3
- Document codec 3.0.3 and transformation parity boundary by @TonisOrmisson in #4
- Add basic variable transformations by @TonisOrmisson in #5
- release: pin PHP adapter to specification v0.3.0 by @TonisOrmisson in #6
- Add PHP in-place transformation service evidence by @TonisOrmisson in #7
- Prepare OpenStatSpec PHP v0.5.0 by @TonisOrmisson in #8
Full Changelog: v0.4.0...v0.5.0
OpenStatSpec PHP v0.4.0
What's Changed
- Add canonical in-place transformation layer by @TonisOrmisson in #2
Full Changelog: v0.3.0...v0.4.0
OpenStatSpec PHP v0.3.0
Reference PHP adapter release for OpenStatSpec v1.0.0-rc.1. Includes strict SPSS SAV/ZSAV support, exact Dolt 2.2.2 integration coverage, and provenance pinned to specification commit fef0dc6f4b17ff7141dad3f49d0524c63efbfed5.