Skip to content

5.163.2

Choose a tag to compare

@github-actions github-actions released this 18 Jul 05:14
· 25 commits to main since this release
c997578

Changelog

All notable changes to this project will be documented in this file.

557 merges; 411 releases; Changelogging the last 10 commits; Full changelog at CHANGELOG.long.md

 

 

Published tags:

5.163.1, 5.163.0, 5.162.35, 5.162.34, 5.162.33, 5.162.32, 5.162.31, 5.162.30, 5.162.29, 5.162.28, 5.162.27, 5.162.26, 5.162.25, 5.162.24, 5.162.23, 5.162.22, 5.162.21, 5.162.20, 5.162.19, 5.162.18, 5.162.17, 5.162.16, 5.162.15, 5.162.13, 5.162.12, 5.162.11, 5.162.10, 5.162.9, 5.162.8, 5.162.7, 5.162.6, 5.162.5, 5.162.4, 5.162.3, 5.162.2, 5.162.1, 5.162.0, 5.161.0, 5.160.0, 5.159.2, 5.159.1, 5.159.0, 5.158.2, 5.158.1, 5.158.0, 5.157.18, 5.157.17, 5.157.16, 5.157.15, 5.157.14, 5.157.13, 5.157.12, 5.157.11, 5.157.10, 5.157.9, 5.157.8, 5.157.7, 5.157.6, 5.157.5, 5.157.4, 5.157.3, 5.157.2, 5.157.1, 5.157.0, 5.156.1, 5.156.0, 5.155.1, 5.155.0, 5.154.0, 5.153.0, 5.152.0, 5.151.2, 5.151.1, 5.151.0, 5.150.1, 5.150.0, 5.149.2, 5.149.1, 5.148.2, 5.148.1, 5.148.0, 5.147.10, 5.147.9, 5.147.8, 5.147.7, 5.147.6, 5.147.5, 5.147.4, 5.147.3, 5.147.2, 5.147.1, 5.147.0, 5.146.0, 5.145.6, 5.145.4, 5.145.3, 5.145.2, 5.145.1, 5.145.0, 5.144.8, 5.144.7, 5.144.5, 5.144.4, 5.144.3, 5.144.2, 5.144.1, 5.144.0, 5.143.35, 5.143.34, 5.143.33, 5.143.31, 5.143.30, 5.143.29, 5.143.28, 5.143.27, 5.143.26, 5.143.25, 5.143.24, 5.143.23, 5.143.22, 5.143.21, 5.143.20, 5.143.16, 5.143.15, 5.143.12, 5.143.11, 5.143.10, 5.143.9, 5.143.8, 5.143.7, 5.143.6, 5.143.5, 5.143.4, 5.143.3, 5.143.2, 5.143.1, 5.143.0, 5.142.4, 5.142.3, 5.142.2, 5.142.1, 5.142.0, 5.141.14, 5.141.13, 5.141.12, 5.141.11, 5.141.10, 5.141.9, 5.141.8, 5.141.6, 5.141.5, 5.141.4, 5.141.3, 5.141.2, 5.141.1, 5.141.0, 5.139.0, 5.138.0, 5.137.0, 5.136.0, 5.135.0, 5.134.0, 5.133.0, 5.132.0, 5.131.0, 5.130.0, 5.129.0, 5.128.0, 5.127.0, 5.126.0, 5.125.1, 5.125.0, 5.124.1, 5.124.0, 5.123.0, 5.122.4, 5.122.3, 5.122.2, 5.121.1, 5.121.0, 5.120.2, 5.120.0, 5.119.0, 5.118.0, 5.113.0, 5.112.4, 5.112.3, 5.112.0, 5.111.0, 5.110.1, 5.109.0, 5.108.0, 5.107.2, 5.107.0, 5.106.0, 5.105.6, 5.105.4, 5.105.3, 5.105.2, 5.105.1, 5.105.0, 5.104.2, 5.104.1, 5.103.0, 5.102.1, 5.101.0, 5.100.0, 5.99.0, 5.98.8, 5.98.7, 5.98.2, 5.98.0, 5.97.1, 5.97.0, 5.96.1, 5.96.0, 5.95.0, 5.94.0, 5.93.0, 5.91.1, 5.91.0, 5.90.1, 5.90.0, 5.89.6, 5.89.3, 5.89.2, 5.89.1, 5.89.0, 5.88.4, 5.88.3, 5.88.2, 5.88.1, 5.88.0, 5.87.0, 5.86.3, 5.86.2, 5.86.1, 5.86.0, 5.85.11, 5.85.10, 5.85.9, 5.85.8, 5.85.7, 5.85.6, 5.85.5, 5.85.4, 5.85.3, 5.85.2, 5.85.1, 5.85.0, 5.84.1, 5.84.0, 5.83.2, 5.83.1, 5.83.0, 5.82.5, 5.82.4, 5.82.3, 5.82.2, 5.82.1, 5.82.0, 5.81.2, 5.81.0, 5.80.1, 5.80.0, 5.79.18, 5.79.17, 5.79.16, 5.79.15, 5.79.11, 5.79.10, 5.79.9, 5.79.8, 5.79.6, 5.79.4, 5.79.3, 5.79.2, 5.79.1, 5.79.0, 5.78.0, 5.77.1, 5.77.0, 5.76.2, 5.76.0, 5.75.1, 5.75.0, 5.74.0, 5.73.1, 5.73.0, 5.72.5, 5.72.4, 5.72.3, 5.72.2, 5.72.1, 5.72.0, 5.71.1, 5.71.0, 5.70.36, 5.70.35, 5.70.34, 5.70.33, 5.70.32, 5.70.31, 5.70.30, 5.70.29, 5.70.28, 5.70.27, 5.70.26, 5.70.25, 5.70.24, 5.70.23, 5.70.22, 5.70.21, 5.70.20, 5.70.19, 5.70.18, 5.70.16, 5.70.15, 5.70.14, 5.70.13, 5.70.12, 5.70.11, 5.70.10, 5.70.9, 5.70.8, 5.70.7, 5.70.6, 5.70.5, 5.70.4, 5.70.3, 5.70.2, 5.70.1, 5.70.0, 5.69.4, 5.69.3, 5.69.2, 5.69.0, 5.68.0, 5.67.2, 5.67.0, 5.66.0, 5.65.14, 5.65.12, 5.65.11, 5.65.10, 5.65.9, 5.65.8, 5.65.7, 5.65.5, 5.65.4, 5.65.3, 5.65.2, 5.65.1, 5.65.0, 5.64.2, 5.64.1, 5.64.0, 5.63.0, 5.62.0, 5.61.4, 5.61.3, 5.61.2, 5.61.1, 5.60.4, 5.60.3, 5.60.0, 5.59.1, 5.59.0, 5.58.1, 5.58.0, 5.57.1, 5.57.0, 5.56.2, 5.56.1, 5.55.0, 5.54.0, 5.53.0, 5.52.0, 5.51.0, 5.50.0, 5.49.0, 5.48.0, 5.47.0, 5.46.0, 5.45.2, 5.45.0, 5.44.0, 5.43.2, v5.42.0, 5.42.0, v5.41.15, 5.41.15, v5.41.14, 5.41.14, v5.41.12, 5.41.12, v5.41.10, 5.41.10, v5.41.9, 5.41.9, v5.41.8, 5.41.8, v5.41.7, v5.41.2, v5.41.1, v5.32.14, 5.14.0, 5.12.0, 5.11.12, 5.11.1, 5.11.0

 

 

[Untagged] - Jul 17, 2026 9:39:49 PM

Commit 24a16585b583b83815acbe58c2dce3a84af523b5

Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

 

 

[5.163.1] - Jul 17, 2026 9:36:38 PM

Commit 08b32650393cc1df0207d356b3ab9610226710ad

Author: John Haugeland <stonecypher@gmail.com>

Merges [8f58a65, 0aa9955]

  • Merge pull request #968 from StoneCypher/fix_26-07-17_grammar-keyword-scoping
  • fix(grammar): scope FSL hook keywords to hook shape (5.163.1)

 

 

[Untagged] - Jul 17, 2026 1:41:21 PM

Commit 0aa99558b0d2a134050e7a2a4c3f0180ff6abf7b

Author: John Haugeland <stonecypher@gmail.com>

  • fix(grammar): scope FSL hook keywords to hook shape (5.163.1)
  • The TextMate grammar's control keywords were a flat word list, so on,
    enter, exit, do, and after were coloured as keywords even when used as
    ordinary state names — the canonical toggle on 'flip' -> off; mis-coloured
    on. Scope them contextually instead: the hook keywords on/enter/exit/do
    fire only in hook shape (on <enter|exit> … do '…'), and after only before a
    number; keep state/property flat (low collision), and drop default/required
    (scoping default would wrongly colour the theme: default config value). Also
    stop the group-ref regex from eating a trailing comma in [&A, &B].
  • Generator-only change in src/buildjs/build_fsl_tmlanguage.cjs; the committed
    grammar is regenerated. Real-engine (vscode-textmate) verified — on -> off is
    no longer a keyword while on enter X do 'y' still is; the freshness + coverage
    spec stays green. No behaviour change to the parser or library.

 

 

[Untagged] - Jul 16, 2026 8:59:15 PM

Commit 526bd6828c1dd5a84af7dd5f0667bd79d967f9a1

Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

 

 

[5.163.0] - Jul 16, 2026 8:56:03 PM

Commit 8f58a659632a646f8a23cee7ee1890f05c24ec48

Author: John Haugeland <stonecypher@gmail.com>

Merges [5bb2839, 2c047fb]

  • Merge pull request #967 from StoneCypher/feat_26-07-16_fsl-textmate-grammar
  • feat(grammar): ship canonical FSL TextMate grammar in dist/grammars (5.163.0)

 

 

[Untagged] - Jul 16, 2026 8:42:51 AM

Commit 2c047fbf879067c4749d0a0cd43f1d9546bbb2c5

Author: John Haugeland <stonecypher@gmail.com>

  • feat(grammar): ship canonical FSL TextMate grammar in dist/grammars
  • Add dist/grammars/fsl.tmLanguage.json (scope source.fsl), the canonical
    TextMate grammar for FSL, shipped in the npm package alongside dist/cm6. It
    is the single source consumed across the editor ecosystem — shiki, GitHub
    Linguist, Monaco, Sublime, bat, and the vscode-fsl extension.
  • The grammar is emitted by src/buildjs/build_fsl_tmlanguage.cjs (new stage-4
    make_grammar build feature) whose token tables are transcribed from
    src/ts/fsl_parser.peg: all 42 arrow spellings (ASCII, Unicode, and mixed),
    block/line comments, action labels, probabilities, after timers, groups
    (&/...&), hooks, arrange declarations, config/machine attributes, and style
    items. Arrow patterns are emitted longest-first so a short arrow can never
    steal a longer arrow's opening characters.
  • A new spec (src/buildjs/tests/fsl_tmlanguage.spec.ts) fails the build if the
    parser grows an arrow spelling or config keyword the grammar lacks, and if
    the committed artifact drifts from what the generator emits — so the grammar
    can never silently fall behind the language.
  • Also adds the jssm/grammar package export, the dist/grammars files entry,
    and a README section.
  • Refs: StoneCypher/fsl#1960

 

 

[5.162.35] - Jul 16, 2026 7:34:17 AM

Commit 5bb28394eef9ed54efff82af213a3f0c7d42ba22

Author: John Haugeland <stonecypher@gmail.com>

Merges [0758e74, 5a8b371]

  • Merge pull request #966 from StoneCypher/perf_26-07-16_revert-dispatch-hash-methods
  • perf(core): revert dispatch-cluster #-private methods to underscore

 

 

[Untagged] - Jul 16, 2026 7:26:58 AM

Commit 5a8b37130f49aea443ced44a5f747f08a11b3a5c

Author: John Haugeland <stonecypher@gmail.com>

  • perf(core): revert dispatch-cluster #-private methods to underscore (5.162.35)
  • Completes the 5.162.8 dispatch-regression fix. 5.162.33 reverted the eight
    #-private data FIELDS (recovering has_state 33x); this reverts the #-private
    dispatch METHODS the same revival privatized: _fire, _fire_one,
    _fire_boundary_actions, _fire_hook_rejection, and _has_subscribers.
  • A #-private method call carries a V8 brand check AND cannot be inlined the way
    its underscore twin can. _fire_boundary_actions runs on EVERY transition (it is
    outside the event-listener gate), so as a # method its early-return could not be
    folded away and every transition paid an uninlinable call. has_state and
    edges_between call no # method, which is exactly why they fully recovered at
    5.162.33 while transition/action did not.
  • A graviton envelope A/B reverting only #fire_boundary_actions measured
    transition +25.0% and action +23.7% (5 interleaved samples/side), overshooting
    the pre-regression 5.162.7 baseline. This lands the whole dispatch cluster; the
    cold #-private methods (subscribe/validate/styling, never on the hot path) are
    left as-is. A PERF comment records why they are underscore, not #.
  • No behavior change; full build green, 7865 spec + 903 stoch at 100% coverage.
    The trail confirms the recovery on the next nightly graviton sync.
    StoneCypher/fsl#1959

 

 

[5.162.34] - Jul 15, 2026 9:49:19 PM

Commit 0758e7411fa79cd4f721e5a9c6b46492392cb299

Author: John Haugeland <stonecypher@gmail.com>

Merges [708d518, 979e72c]

  • Merge pull request #965 from StoneCypher/refactor_26-07-15_drop-prefer-switch
  • refactor(lint): drop unicorn/prefer-switch and restore the edge-type-hook if-chain

 

 

[Untagged] - Jul 15, 2026 9:45:06 PM

Commit 979e72c108fd81de378f4e3ce430c49ce6ca165a

Author: John Haugeland <stonecypher@gmail.com>

  • refactor(lint): drop unicorn/prefer-switch and restore the edge-type-hook if-chain (5.162.34)
  • unicorn/prefer-switch mandates a switch over three-plus branches on one
    discriminant. In the 5.162.8 lint revival that rule forced a switch onto the
    hand-tuned edge-type-hook dispatch in transition_impl (and it rejects both
    separate ifs and if/else-if, via prefer-else-if), letting a purely stylistic
    rule dictate the shape of hot code.
  • Disable unicorn/prefer-switch (with rationale in eslint.config.mjs) and restore
    the if/else-if chain the rule displaced. A graviton envelope A/B confirmed the
    switch-vs-if-chain choice is perf-neutral (within +/-1% over 5 interleaved
    samples/side), so this is a style/ownership change, not a perf fix — the real
    dispatch regression and its residual are tracked in StoneCypher/fsl#1959.
  • No behavior change; full build green, 7865 spec + 903 stoch tests pass at 100%
    coverage.