Releases: sverweij/state-machine-cat
Releases · sverweij/state-machine-cat
v14.0.6
Immutable
release. Only release title and notes can be modified.
v14.0.5
v14.0.4
Immutable
release. Only release title and notes can be modified.
🏭 refactoring
- d4d1f24 refactor: replaces arrays and objects with sets and maps
👷 maintenance
🧹 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
Immutable
release. Only release title and notes can be modified.
v14.0.2
v14.0.1
Immutable
release. Only release title and notes can be modified.
🚀 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
Immutable
release. Only release title and notes can be modified.
🚀 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
renderfunction 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
Immutable
release. Only release title and notes can be modified.
v13.0.2
v13.0.1
🚧 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.