v2.9.0
What's Changed
- fix(core): make @hyperfixi/core importable in bare Node (dom-globals shim) by @codetalcott in #619
- chore: release v2.7.2 (version bookkeeping) by @codetalcott in #620
- feat(domain-voice): behavior verbs from the multilingual layer + framework generator fix by @codetalcott in #621
- fix(protocol): keep
__proto__as an ordinary role name in the TS parser by @codetalcott in #622 - feat(htmx): adopt htmx v4's HCON grammar; make hx-vals/hx-headers reach the wire by @codetalcott in #623
- feat(protocol)!: LSE 2.0 — selector literals; structural
[...]is always a command by @codetalcott in #624 - fix(parser): stop the semantic parser silently dropping fetch's
with { ... }by @codetalcott in #627 - fix(parser): stop
eventsource/socket/live/interceptdropping their whole body by @codetalcott in #628 - fix(parser): fold
worker, the last body-dropping feature block by @codetalcott in #629 - fix(parser): stop
bind's possessive source dropping its owner selector in 7 languages by @codetalcott in #630 - fix(parser): parse a top-level command sequence, not just its first command by @codetalcott in #632
- fix(tokenizer): keep colon-qualified event names whole in all 24 languages by @codetalcott in #633
- test(multilingual): add R3 invariant role-VALUE recall signal + bn trigger fix by @codetalcott in #634
- fix(semantic): burn down the R3 value-bug families (F1-F8) by @codetalcott in #635
- fix(i18n): render SOV wait/repeat-until verb-final, strip stranded terminators (transformer-rendering arc) by @codetalcott in #636
- fix(semantic): R1 role-fidelity arc — SOV six to ≥0.98 (qu ≥0.979) by @codetalcott in #637
- fix(semantic,i18n): R1 deferred-tail arc — en-reference defects + SOV render geometry (E/H/G + qu tail) by @codetalcott in #638
- docs: close out the top-level command-sequences arc (handoff RESOLVED, coverage 0/3696 re-verified) by @codetalcott in #639
- docs: sync multilingual status prose with the 2026-07-11 baseline by @codetalcott in #640
- chore(deps): standardize internal vite on ^8.1.4 by @codetalcott in #641
- feat(testing): vocab-consistency CLI — validate (V1–V4) + dump (Arc A) by @codetalcott in #642
- fix(vocab): Batch 1 — V4 probe verdict, es hacia registration, 78 class-waivers by @codetalcott in #643
- fix(vocab): Batch 2 — V3 event-word alignment (60→0, probe-verified, zero waivers) by @codetalcott in #644
- fix(vocab): Batch 3+4 — V1 reconciliation (90→0, probe-first) + CI vocab gate by @codetalcott in #645
- chore(deps): npm audit fix — resolve 10 of 12 root-lockfile advisories (lockfile-only) by @codetalcott in #646
- chore(ci): extend Dependabot coverage to protocol/typescript + Go modules by @codetalcott in #647
- chore(deps): bump golang.org/x/crypto to v0.54.0 in go-client (clears all 7 critical alerts) by @codetalcott in #655
- feat(semantic): Arc C — per-segment unconsumed-input across all parse stages by @codetalcott in #648
- chore(ci): path-gate the npm fan-out + add go-client build/test job by @codetalcott in #660
- chore(deps-dev): bump vitest from 4.1.4 to 4.1.10 in /protocol/typescript in the minor-and-patch group by @dependabot[bot] in #650
- chore(deps): bump the actions group across 1 directory with 5 updates by @dependabot[bot] in #625
- chore(deps): bump rollup from 4.60.3 to 4.62.2 in the build-tools group across 1 directory by @dependabot[bot] in #653
- chore(deps): bump the minor-and-patch group across 1 directory with 13 updates by @dependabot[bot] in #656
- chore(deps): bump the go-deps group across 1 directory with 3 updates by @dependabot[bot] in #649
- feat(semantic): Arc E — fetch with-options captured in all 24 languages by @codetalcott in #662
- chore(ci): batch Dependabot majors, ignore named-deferred majors by @codetalcott in #663
- chore(deps): bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 in /clients/go-client by @dependabot[bot] in #664
- fix(ci): paths-filter needs predicate-quantifier 'every' for negations to work by @codetalcott in #669
- fix(release): reproducible installs in publish workflow (npm ci + lockfile sync) by @codetalcott in #672
- feat(semantic): Arc F — event-modifier phrases captured in all 24 languages (69→0) by @codetalcott in #673
- fix(ci): pre-publish-check — honest verdict, exports after bundles, semantic-first build order by @codetalcott in #674
- chore(deps-dev): bump vitepress from 2.0.0-alpha.17 to 2.0.0-alpha.18 by @dependabot[bot] in #671
- fix(core): compound-adapter kind gate + size-truth docs pass by @codetalcott in #675
- docs: v2.8.0 release-notes draft + R2 event-modifier probe notes by @codetalcott in #676
- ci(deps): split vitest + prettier out of the minor-and-patch Dependabot group by @codetalcott in #677
- chore(deps): bump the minor-and-patch group across 1 directory with 3 updates by @dependabot[bot] in #679
- fix(semantic): go-url destination capture — URL no longer dropped, ×24 languages by @codetalcott in #680
- feat(vocab): V3c event-coverage check + 6-language mousedown/mouseup dict fix by @codetalcott in #681
- fix(bundle): dedupe core+semantic in full browser bundles — 534→299 / 540→311 KB gz by @codetalcott in #682
- feat(vocab): V3c burn-down 140→1 — dictionary event words parse-verified ×14 languages by @codetalcott in #683
- fix(parser): preserve
godestination in traditional parser + interchange by @codetalcott in #684 - fix(mcp-server): route the 3 LSE 2.0 tools + report real server version by @codetalcott in #685
- chore: extract mcp-server-hyperscript to its own repo by @codetalcott in #686
- chore(lint): migrate ESLint + @typescript-eslint → oxlint by @codetalcott in #687
- fix(semantic): drop spurious
fromin English fetch render + add canonical-validity gate by @codetalcott in #689 - chore(deps): isolate typescript from majors group; defer TS 7 (native port) toward a staged migration by @codetalcott in #690
- chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #691
- fix(protocol/typescript): moduleResolution node → bundler (unblocks TS 6/7) by @codetalcott in #692
- fix+feat(semantic): render-validity burndown (en 22→1) + foreign→English validity gate (90.7%) by @codetalcott in #705
- chore(deps-dev): bump prettier from 3.8.3 to 3.9.5 by @dependabot[bot] in #697
- chore(scripts): dependency-aware test:affected runner by @codetalcott in #706
- chore(tsconfig): remove TS-7-removed compiler options (node10 / downlevelIteration / baseUrl) by @codetalcott in #708
- fix(ts6): resolve TS 6.0 stricter-check errors across packages (0 errors repo-wide) by @codetalcott in #709
- feat(semantic): foreign→English validity Phase 1a — possessive property names by @codetalcott in #707
- feat(semantic): translate expression-internal vocabulary at parse (foreign-validity Phase 1b + 3) by @codetalcott in #711
- chore(deps): exclude vscode-language{server,client} majors from the group by @codetalcott in #712
- fix(tsconfig): set explicit rootDir for TypeScript 6 emit (TS5011) by @codetalcott in #713
- feat(semantic): register operator + copula vocabulary in the language profiles (foreign-validity Phase 2) by @codetalcott in #718
- feat(semantic): finish the operator vocabulary and the expression seam, + an MCP staleness guard (foreign-validity Phase 4) by @codetalcott in #719
- docs(semantic): triage the 94 residual validity pairs (Phase 5 handoff) by @codetalcott in #720
- feat(semantic): register document/window/detail as references (foreign-validity Phase 5) by @codetalcott in #721
- fix(semantic): render the
asconnective for zh/hi (foreign-validity Phase 6) by @codetalcott in #722 - fix(semantic): render beep! debug-expression foreign→English (foreign-validity Phase 6) by @codetalcott in #723
- fix(semantic): foreign→English validity Phase 7 — 3 structural clusters (10 pairs, 97.4%→98.0%) by @codetalcott in #724
- fix(semantic): foreign→English validity Phase 8 — modal-close-escape pl/uk hide style-role type guard (2 pairs) by @codetalcott in #725
- fix(semantic): foreign→English validity Phases 9+10 — value-literals (qu/ru/uk/id/ko) + qu dot-member possessive (9 pairs, 2991→3000, ≈98.1%) by @codetalcott in #726
- feat(testing): foreign-validity infra — R4 canonical-validity ratchet, single-channel validate, committed triage tool by @codetalcott in #727
- fix(semantic): foreign→English validity Phase 11 — every workable pair cleared (10 pairs, 3000→3010, ≈98.4%) by @codetalcott in #728
- fix(semantic): foreign→English validity Phase 11b — swap ar/tl vso-verb-first (2 pairs, 3010→3012, ≈98.5%) by @codetalcott in #729
- feat(hyperscript-tools-i18n): canonical parse-check on the English side (roadmap §5) by @codetalcott in #730
- fix(semantic): foreign→English validity Phase 12 — ambiguous-sense anchor clears the entire blocked-vocab class (24 pairs, 3012→3036, ≈99.2%) by @codetalcott in #731
- fix(semantic): beep!-prefix value fold — 18/24 languages silently truncated
set $x to beep! my valueby @codetalcott in #732 - fix(semantic): pick-text-range arc 1 — en schema remodel clears the en canonical-validity allowlist (1→0) [HOLD until post-07-25 release] by @codetalcott in #733
- feat(semantic): pick-text-range arc 2 — 24-language pick vocabulary by @codetalcott in #734
- fix(semantic): pick-text-range arc 3 — foreign pick patterns + armed range fold + SOV renders → both canonical-validity allowlists EMPTY (3059/3059) by @codetalcott in #736
- test(domain-toolkit): cover waiver matching + format helpers; un-break test:affected by @codetalcott in #737
- feat(htmx-adapter): multilingual adapter for upstream htmx v4 by @codetalcott in #735
- chore(deps): bump axios from 1.16.1 to 1.18.1 by @dependabot[bot] in #738
- docs: community review system design, arc-3 record refresh, toolchain handoffs by @codetalcott in #740
- fix(deps): patch transitive js-yaml and brace-expansion DoS advisories by @codetalcott in #741
- test(coverage): pipeline reliability, config hygiene, and runtime feature tests by @codetalcott in #743
- chore(deps): bump body-parser by @dependabot[bot] in #744
- ci(publish-gates): make export validation actually gate; real size limits; publish-time checks by @codetalcott in #745
- docs(truth): re-measure all bundle sizes, fix stale counts/branding, add 2.8.0 changelog by @codetalcott in #746
- fix(vite-plugin,bundle-generator): close silent drift seams found by the pre-release audit by @codetalcott in #747
- fix(bundles): trigger/fire silent no-op in hybrid bundles; wire size gates into CI; drift guards by @codetalcott in #748
- fix(exports): make three export maps match build reality (first honest strict-gate run) by @codetalcott in #749
- test(testing-framework): tolerate setTimeout clamping in duration assertions by @codetalcott in #750
- ci(publish): add @lokascript/htmx-adapter to publish + pre-publish lists by @codetalcott in #751
- fix(htmx-adapter): add repository field — npm provenance requires it by @codetalcott in #752
- docs: v2.8.0 publish-day note by @codetalcott in #755
- chore(scripts): drop the extracted mcp-server-hyperscript from test:check by @codetalcott in #756
- test: gate every package with tests, and guard the list against drift by @codetalcott in #757
- chore(deps): bump fast-uri from 3.1.2 to 3.1.4 by @dependabot[bot] in #759
- chore(deps): bump @hono/node-server from 2.0.9 to 2.0.10 by @dependabot[bot] in #758
- feat(framework,domains)!: open domains for extension, and make the schema the source of truth for rendering by @codetalcott in #760
- chore(deps): bump @hono/node-server from 2.0.10 to 2.0.11 by @dependabot[bot] in #761
- chore(deps): bump postcss from 8.5.17 to 8.5.23 by @dependabot[bot] in #762
- fix: sovSlot in pattern generation, Tier B directional markers, and the domain-learn parity lock by @codetalcott in #763
- chore: release v2.8.0 by @codetalcott in #754
- chore(deps): bump brace-expansion from 5.0.7 to 5.0.8 by @dependabot[bot] in #765
- fix: close the gate's single-pattern blind spot, unify marker alternatives, and teach the parser imperatives + diacritized Arabic by @codetalcott in #764
Full Changelog: v2.7.1...v2.9.0