Skip to content

Releases: sverweij/state-machine-cat

v12.0.21

31 Dec 19:20
v12.0.21
3808be7
Compare
Choose a tag to compare

👷 maintenance

  • 23e96a5 refactor(render/dot): replaces module global with a parameter
  • 8b11f73 refactor: uses native private fields in classes in stead of fake ones

🧹 chores

  • 3b78f9d chore(npm): updates external devDependencies
  • b41e0b7 chore: 2025

v12.0.20

25 Dec 23:17
v12.0.20
8cc7b00
Compare
Choose a tag to compare

🐛 fixes

  • e071d51 fix(render/dot): handles notes on composite self-transitions (#223)
  • af76f8f fix(render/dot): makes the 'width' attribute on transitions with a note attached is heeded at all
  • 8ce2805 fix(render/dot): makes the 'width' attribute on composite self-transitions applied to both halves of the self-transition (#222)
  • 966a128 fix(scxml): makes scxml based sources render correctly again (#224)
  • 199cd71 fix(transform/desugar): adds unique ids to de-sugared transitions, so they render properly again (#225)
  • b3df09a fix(site): removes superfluous console.log

👷 maintenance

  • d265933 refactor(parse/smcat): replaces module global with a proper counter class (#226)
  • 5b4ecf8 refactor(scxml): replaces module global with a proper counter class
  • 95d6c7d doc(render/dot): updates a comment to be more specific

🧹 chores

  • 401123b chore: removes superfluous tsdocs
  • f3a2a0a chore(site): tweaks CSP
  • 1dedd4d chore(site): removes web analytics

v12.0.19

23 Dec 13:49
v12.0.19
96368e4
Compare
Choose a tag to compare

👷 maintenance

  • 2080368 refactor(render/dot): renders transitions closer to their states, where possible (#221)
  • 352b8eb refactor(scxml): replaces 'traverse' with 'neotraverse' (#220)
  • e6cc9e7 refactor(cli): removes dependency 'semver'

🧹 chores

  • c6becb7/ 0e44f8b chore(doc): re-generates pictures for the README
  • bb10e08 chore(ci): changes the cache-key base from package.json to package-lock.json

v12.0.18

22 Dec 14:32
v12.0.18
63d8b46
Compare
Choose a tag to compare

👷 maintenance

  • 392a170/ cfcfaf9/ 2b074a1 refactor(render): swaps in new dot renderer, removes handlebars as a dependency (#219)
    This reduces the size of state-machine-cat (bundle, distributed code on npmjs) quite a bit - and gets rid of a fairly large, seemingly nominally maintained dependency in the process.

You might encounter some small differences in the rendered output - i.e. state-machine-cat now better heeds the order in which states appear in the source, which should make the rendered output more easily predictable.

🧹 chores

  • 000c112 chore(tools): improves fixture management

v12.0.17

20 Dec 19:36
v12.0.17
ac8fc41
Compare
Choose a tag to compare

👷 maintenance

  • 0915a11/ 3d1b67a refactor(render): adds new handlebars-free dot reporter (#217)
    This PR is to get rid of the handlebars based dot reporter. It introduces a new dot renderer (temporarily and only in this version available as ndot) and makes updates to the handlebars-based renderer to make it easier to non-regression test against it.
    This is the last release where the dot renderer is based on handlebars - a 'save game' release, if you will.

  • ab885a8 build(npm): updates external dependencies

  • e72bc97 refactor: addresses small linting issues

  • d67c063 refactor(render/smcat): simplifies transition rendition

🧹 chores

  • 2ca5551/ 36a7dfb chore(npm): updates external devDependencies
  • 1dea9ee chore: makes ci use node 23 instead of 22 as 'latest'

v12.0.16

06 Oct 12:51
v12.0.16
5b9bf24
Compare
Choose a tag to compare

👷 maintenance

  • 77cf6f9 refactor: replaces handlebars - render/smcat (#216)
    This reduces the package size (with ~8kb unpacked) and gets us one step closer to phasing out handlebars
  • d0a4fa5 refactor: Object.prototype.hasOwnProperty.call -> Object.hasOwn
  • 3fe36bc build(npm): update external dependencies

v12.0.15

27 Sep 18:07
v12.0.15
14bfdc4
Compare
Choose a tag to compare

👷 maintenance

  • f96e5f3 build(npm): updates external dependencies
  • 38b45d3 fix(package.json): removes reference to now replaced hbs templates

🧹 chores

  • b05870f chore: gives the last commonjs modules the .cjs extension

v12.0.14

24 Aug 10:28
v12.0.14
8704b63
Compare
Choose a tag to compare

👷 maintenance

  • 6de8681 refactor: replaces commander with node:util.parseArgs (#215)
    This makes the distribution a little smaller, and reduces the maintenance surface
  • 0e47c3c chore(npm): updates external devDependencies
  • 8cc0736 chore: do a song and a dance to make new husky happier

v12.0.13

17 Aug 13:56
v12.0.13
64589f2
Compare
Choose a tag to compare

👷 maintenance

  • 1180ef8 build(npm): switches from @hpcc-js/wasm/graphviz to @hpcc-js/wasm-graphviz
    Makes the installed size of state-machine-cat smaller (8Mb vs 58Mb earlier)/ have less dependencies. The web distro is only about 2kb smaller, probably because tree-shaking already shook out most of the stuff we weren't using in the first place. See npm graph before and after below.
  • 958b196 build(npm): updates external dependencies

Before switching to wasm-graphviz

https://npmgraph.js.org/?q=state-machine-cat%4012.0.12#select=exact%3Astate-machine-cat%4012.0.12
graph showing state-machine-cat and all its prod dependencies before switching to wasm-graphviz; 58Mb install size and 34 dependencies in total

After switching to wasm-graphviz

https://npmgraph.js.org/?q=state-machine-cat#select=exact%3Astate-machine-cat%4012.0.13
graph showing state-machine-cat and all its prod dependencies after switching to wasm-graphviz; 8Mb install size and 18 dependencies in total

v12.0.12

30 Jul 04:19
v12.0.12
d6134a0
Compare
Choose a tag to compare

👷 maintenance

  • bacbea8 build(npm): updates external dependencies
    (this contains a bump to a security patched fast-xml-parser)
  • b66e2c6 refactor(scxml): simplify