v0.17.0
Operational hardening release: governance metadata, CI policy upgrades, reproducible publish flow with npm provenance, and Dependabot. No source-code changes — pure release engineering.
Added
.editorconfigfor cross-editor whitespace consistency (PHP files use 4-space indent, frontend files use 2-space, Markdown preserves trailing whitespace)..github/dependabot.ymlwith weekly schedules for Composer, GitHub Actions, root pnpm devDependencies, and each of the 4 npm packages. Related deps grouped (e.g. allilluminate/*, all@types/*, allvitest/@vitest/*/happy-dom) so the Dependabot inbox doesn't drown the maintainer..github/CODEOWNERSso PRs touching workflows or CHANGELOG.md are automatically routed for review.- npm publish provenance. The
npm-publish.ymlworkflow now setsNPM_CONFIG_PROVENANCE: trueandpermissions: id-token: write, so published packages carry an attestation linking them back to this exact GitHub Actions run. Adds a "Verified" badge on the npmjs.com package pages. - Version-sync verification step in
npm-publish.yml: refuses to publish if the 4 npmpackage.jsonversions disagree with the release tag. - Pre-publish typecheck + tests in
npm-publish.yml. The build script previously only ran the build itself; nowpnpm typecheckandpnpm testare gating steps so a typo never reaches npm. workflow_dispatchtrigger onnpm-publish.ymlwith ataginput — lets a maintainer re-publish a previously failed release without creating a duplicate GitHub Release.- CHANGELOG header now references Keep a Changelog and SemVer with explicit
0.xpolicy guidance.
Changed
phpunit.xmlhardened: explicitcacheDirectory,executionOrder="random"(catches order-dependent tests),failOnWarning="true"andfailOnRisky="true"(catches PHP deprecations and "tests that don't actually test anything"), strict output assertions, an explicit<coverage>block with Clover/HTML/text reporters, and a<php>env block settingAPP_ENV=testing,CACHE_DRIVER=array,QUEUE_CONNECTION=sync, etc..gitignoreexpanded to cover macOS.DS_Store, VSCode/Fleet IDE folders, PHPStan/PHPUnit caches, npm/pnpm logs, coverage outputs, and.env*(defensive — should never be in a package repo, but the entry is cheap).
npm packages
- All packages bumped to
0.17.0(no source changes — re-publish for version-sync consistency).