Releases: Starisian-Technologies/sparxstar-3iatlas-dictionary
Releases · Starisian-Technologies/sparxstar-3iatlas-dictionary
Release list
v3.0.1
fix: unbreak governance.yml and the PHPStan errors blocking v3.0.0
Three things, two of which stopped the v3.0.0 release.
governance.yml was not a valid workflow file. Its propose-spec job used
`secrets` in a job-level `if:`, where that context is not available:
Unrecognized named-value: 'secrets'
(Line: 37, Col: 13)
GitHub rejected the whole file, so every run failed to compile and never even
registered as a check — which is why it has been red on main since August and
easy to miss. The private key is now read in a first step that sets an output,
and the steps that need it are gated on that, so the "skip when the key is
absent" behaviour is preserved.
The nine WP_CLI errors were an ignore-list that had been pinned to one file
path. src/cli/Sparxstar3IAtlasSystemCredentialCliCommands.php is new in this
release and was not on it, so PHPStan reported every WP_CLI call in it. The
ignores now glob src/cli/*, which covers the new file and any command file
added later — pinning per path is what made this recur.
UniqueEntryBudget::register_hooks() passed purge() straight to add_action(),
but purge() returns the number of rows removed and an action callback must not
return a value. It is now wrapped in a void closure, leaving the return
available to direct callers.
php -l clean, both YAML files parse, phpstan.neon.dist parses, prettier clean.
PHPStan itself cannot run here — composer install cannot fetch dev dependencies
through this environment's proxy — so the release run is the check.
v3.0.0
What's Changed
- feat(protection): asset protection spec v0.9.1 + plugin exposure reduction by @MaximillianGroup in #151
Full Changelog: v2.10.8...v3.0.0
v2.10.8
fix: stop release-please opening releases on its own It ran on every push to main and kept a Release PR permanently open. That is noise when releases are cut by hand, and it had become actively wrong: Manual Release cannot commit to main because the branch is protected, so this workflow's manifest fell six versions behind the tags and it was proposing 2.8.14 while v2.10.7 was live. Merging that would have moved the version backwards. Now workflow_dispatch only. Dispatch it when you actually want a version derived from Conventional Commits and a generated changelog; otherwise use Manual Release or tag main directly, both of which stamp the build from the tag. Also brings the committed markers up to 2.10.7 to match what shipped, so a dispatch computes from the right baseline rather than from a stale one, and records the drift and how to correct it in RELEASE_PROCESS.md.
v2.10.7
fix: hoist the batch count out of the autolinker loop condition
My own paging loop introduced the error that was still failing the release:
src/includes/Sparxstar3IAtlasAutoLinker.php:149
The use of count() inside a loop condition is not allowed
(Squiz.PHP.DisallowSizeFunctionsInLoops.Found)
count() in a while condition re-counts every iteration, which is what the sniff
objects to. The count is now taken once per batch and the condition compares
the variable, in Yoda order to match the rest of the codebase.
Found because the gate now prints the failing file and line instead of "see the
report above" — the previous three runs all said "1 error" and nothing more,
and I guessed wrong twice before adding that.
SPARXSTAR 3iAtlas Dictionary v2.10.5
What's Changed
- feat: support manual releases as a first-class path by @MaximillianGroup in #145
- chore(main): release 2.10.0 by @github-actions[bot] in #146
- fix(ci): propose dictionary spec to the canonical registry path by @MaximillianGroup in #147
- chore(main): release 2.10.1 by @github-actions[bot] in #148
- fix: make the release build work — version from tag, and unbreak the build by @MaximillianGroup in #149
Full Changelog: v2.9.8...v2.10.5
v2.9.3
v2.9.2
v2.9.1
v2.9.0
2.9.0 (2026-08-21)
Features
- dictionary game API, Webster auth model, CORS middleware, wave 1–4 fixes (#68) (6579dbe)
- extract game layer + API client, fix lang_source bug, add arch specs (#67) (2d8a4af)
- Phase 2 — React frontend rebuild with AIWA brand design (#57) (36e8571)
- Phase 4 — Games / Play tab (all six games, session management, progress sync) (#59) (a2dd6b5)
- ui: switch dictionary UI font to Inter (Google Fonts) (#83) (a54ab51)
Bug Fixes
- dictionary: UI fixes (truncation, crash, theme, mobile, game exit, affordance) + standalone full-page/iframe delivery (#85) (31353f8)
- guard form script localization and normalize direct-access exit (#60) (50fcfb7)
- PCRE "regular expression is too large" in auto-linker with large dictionary (#45) (39534a0)
- phase-0: register aiwa-cpt-dictionary on language/dialect taxonomies, add language selector to submission form (#53) (f8e723e)
- re-sync package-lock.json so
npm ciworks (#71) (0914728) - release: add workflow_dispatch escape hatch to release.yml (#99) (d16b6ae)
- release: automate version bumps/changelog with release-please; fix ZIP and version-drift bugs (#89) (7e51a1a)
- release: clean plugin header markers, switch to expressions updater, use jq for version extraction (#91) (594e752)
- release: let workflow_dispatch rebuild an existing tag by name (#101) (4518251)
- release: restore x-release-please-version annotations release-please actually needs (#98) (2e9a6d6)
- remove stray backslash from GraphQL endpoint slug (#94) (94392ab)
- root width, #N/A rendering, stale word-count placeholder (#70) (01a29e9)
- spell: corpus-wide validity, ranking-only lang_source, source-language metadata (#102) (b6e7d77)
- unbreak release pipeline — drop stray gitlink, retire Node 20 actions (#112) (ab29a2f)