Skip to content

Releases: sverweij/state-machine-cat

v14.0.6

18 Feb 20:45
Immutable release. Only release title and notes can be modified.
v14.0.6
f6e253e

Choose a tag to compare

👷 maintenance

  • 22ea800 build(npm): updates external dependencies:
    • fast-xml-parser (which had a vulnerability fixed)
    • @hpcc-js/wasm-graphviz (which makes we use the latest graphviz)

v14.0.5

31 Jan 08:25
Immutable release. Only release title and notes can be modified.
v14.0.5
ae8bb7c

Choose a tag to compare

👷 maintenance

  • e353d22 build(npm): updates external dependencies
  • 9b896aa chore: unifies function export pattern
  • 862bf45 fix(site): updates sitemap, adds robots.txt

v14.0.4

14 Jan 20:25
Immutable release. Only release title and notes can be modified.
v14.0.4
9d5b83c

Choose a tag to compare

🏭 refactoring

  • d4d1f24 refactor: replaces arrays and objects with sets and maps

👷 maintenance

  • 5ed1990 build(npm): updates external dependencies
  • ee3f90f fix: applies small lint fixes

🧹 chores

  • 2ec0f8a chore(git): correctly tags attributes parser and docs/vendor
  • c30e9b1 chore(codeql): excludes generated validation code from scrutiny

Updates to the state-machine-cat.js.org site

🚀 site speed enhancements

  • 8e6b0a2 perf(site): preloads some stuff while waiting for the css
  • 24e994b perf(site): sets font-display to swap
  • 8ddba9c perf(site): lazy loads export URI construction

🐛 fixes

v14.0.3

03 Jan 11:54
Immutable release. Only release title and notes can be modified.
v14.0.3
6a41c47

Choose a tag to compare

👷 maintenance

  • f5119c6 build(npm): updates external dependencies
  • 5aeb482 chore: 2026
  • 06905a7 chore(build): tweaks dependency-cruiser configuration
  • db934b1 chore(build): fixes validator generation flow

v14.0.2

21 Dec 21:12
Immutable release. Only release title and notes can be modified.
v14.0.2
2041864

Choose a tag to compare

👷 maintenance

  • 6dffe0f build(npm): updates external dependencies

v14.0.1

09 Dec 19:56
Immutable release. Only release title and notes can be modified.
v14.0.1
5fca52f

Choose a tag to compare

🚀 performance enhancements

  • c1fd355 perf(parse): compiles smcat-ast schema at build time (#231)
    This does away with the runtime dependency on ajv (which is a ~1Mb heavy dependency that doesn't need to be pulled in anymore) and makes subsequent parses of documents faster as only the validation needs to be done. E.g. on state-machine-cat.js.org (which uses this release now as well) now 100kb less javascript needs to be loaded.

👷 maintenance

🧹 chores

v14.0.0

13 Nov 19:57
Immutable release. Only release title and notes can be modified.
v14.0.0
c5f4e9d

Choose a tag to compare

🚀 performance enhancements

... and 🚨 breaking changes for library use only)

  • 6577d0e/ 98d76d6 perf!: lazy loads modules (#229) 🚨 BREAKING CHANGE for library use
  • d821eb1 refactor!: removes export defaults in favor of explicit exports (#230) 🚨 BREAKING CHANGE for library use

There is NO breaking change for regular state-machine-cat use. Only if you use state-machine-cat as a library ('use the API').

Breaking changes for library ('API') use
  • the render function has become asynchronous
  • the default export is gone, so in stead

before

// 🪠 only export was a 'default' object to mimic the old commonjs interfface
import smcat from "state-machine-cat";

try {
  // 🚽 render was a synchronous function
  const lSVGInAString = smcat.render(
    `
            initial => backlog;
            backlog => doing;
            doing => test;
        `,
    {
      outputType: "svg",
    },
  );
  console.log(lSVGInAString);
} catch (pError) {
  console.error(pError);
}

after

// 🪠  import the functions you need, in stead of the whole shebang
import { render } from "state-machine-cat";

try {
  // 🚽  render is now async, so it needs e.g. to be awaited 
  const lSVGInAString = await render(
    `
            initial => backlog;
            backlog => doing;
            doing => test;
        `,
    {
      outputType: "svg",
    },
  );
  console.log(lSVGInAString);
} catch (pError) {
  console.error(pError);
}

👷 maintenance

  • 9459c11 chore(npm): updates external devDependencies
  • ae0aeb2 tools: removes now unused trackingID (as we don't have any tracking on state-machine-cat.js.org anymore)
  • 35da72b chore: removes unused codeclimate config
  • 3476e75 fix(site/CSP): allows data: protocol as valid image source
  • e19f3ac refactor: moves attributes-parser peggy grammar next to its output
  • 4a35a72 refactor(render): defines render function map at load a.o.t. run time

v13.0.3

12 Nov 09:59
Immutable release. Only release title and notes can be modified.
v13.0.3
b5033a5

Choose a tag to compare

🚀 performance improvements

  • 1c34d09 perf(render/dot): slightly reduces memory foot print of the attribute builder function
  • 7677b55 perf(transform/desugar): optimizes fuseTransition algorithm
  • 591ab8e perf(parse): only load the schema to validate against at module loading time

👷 maintenance

  • 5536e75 refactor: replaces .forEach with for ... of where it improves readability
  • bcd0fea fix(site): uses textContent where possible
  • d6dc009 chore(site): replaces query-string lib with browser builtin URLSearchParams

v13.0.2

10 Nov 14:07
Immutable release. Only release title and notes can be modified.
v13.0.2
41c6614

Choose a tag to compare

👷 maintenance

  • 645a955 build(npm): updates external dependencies

FWIW this is also the first release with, on GitHub, their new 'release immutability' enabled.

v13.0.1

21 Sep 12:55
v13.0.1
d50f4a1

Choose a tag to compare

🚧 Maintenance

  • 50f66cb build(npm): updates external dependencies
  • cc7c996 chore(ci): merges 'prerelease' and 'release' workflows into one

This is also the first state-machine-cat release published with OIDC trusted publishing, which is supposed to be an (even) more secure way than the previous approach with tokens from the same github action.