Skip to content

Releases: sverweij/state-machine-cat

v3.0.2

02 Sep 19:48
Compare
Choose a tag to compare
  • 🔧 make the distribution a bit smaller by only distributing .js and .json in the src tree
  • ⬆️ semver, dependency-cruiser, eslint, js-makedepend, nyc, webpack

v3.0.1

20 Aug 17:29
Compare
Choose a tag to compare
  • ⬆️ commander, ajv and several dev dependencies
  • 🔧 tweaks in the build and auto-upgrade processes to ease maintenance

v3.0.0

06 Jul 19:13
Compare
Choose a tag to compare
  • 🐣 adds a new 'label' attribute to the language and the AST ('json-representation'). See below (and #17 and #18) for details. This triggered a major version bump because of a (small) breaking change in the smcat syntax.
  • ⬆️ webpack (relevant for the online interpreter) and some dev dependencies
  • 🔧 don't publish sources not necessary at runtime (*.pegjs, *.hbs) to npm

New feature: label attribute for states

This version introduces a label attribute for states see the section in the README for details.

Goal: enable different values for the name of a state vs the displayed name. This is useful in two scenarios:

display non-unique labels

names of states have to be unique, but display names don't need to be. In the sample below it's clearer to show 'on' and 'off' instead of bold.on, bold.off, underline.on and underline.off:

parallel {
    bold{
        bold.on [label="on"],  bold.off [label="off"];

        bold.on -> bold.off;
        bold.off -> bold.on;
    },
    underline{
        underline.on [label="on"],  underline.off [label="off"];

        underline.on -> underline.off;
        underline.off -> underline.on;
    };
};

screen shot 2018-07-06 at 21 03 36

use shorter state names

display names can be more verbose than is comfortable in use while typing a

on [label="Television set is on"],
off [label="Television set is off"];


off => on: 
  received whack
  on the side;
on => off: 
  received full
  fist on the top;

screen shot 2018-07-06 at 21 08 03

BREAKING CHANGE: [ not allowed in unquoted state names anymore

Impact: none if you don't use [ as part of the names of states. Adding some quotes to
your smcat scripts if you do.

Up till version 2.6.10 this was valid, but from version 3.0.0 it will be considered a syntax error:

somestate[: some activity;

To keep using the [ character as part of a state name, simply slap some quotes around them:

"somestate[": some activity;

This is to enable the smcat parser to properly distinguish between a state name and the
(optional, new) additional attributes section, that starts with a [ (see above)

v2.7.0-beta-0

04 Jul 08:24
Compare
Choose a tag to compare
  • 🐣 adds a new 'label' attribute to the language and the AST ('json-representation'). See #17 and #18 for details.

v2.6.10

04 Jul 03:38
Compare
Choose a tag to compare
  • ⬆️ ajv, commander (and the dev dependencies dependency-cruiser, eslint, eslint-plugin-compat, eslint-plugin-import, uglifyjs-webpack-plugin, webpack, webpack-cli, nyc)

v2.6.9

03 Jun 06:14
Compare
Choose a tag to compare
  • ⬆️ webpack, webpack-cli, mocha, eslint-plugin-compat, eslint-plugin-import, dependency-cruiser, js-makedepend
  • 🔧 various refactorings to simplify maintenance
  • 👷 replace bithound with codeclimate (because bithound ceased operations)

v2.6.6

28 Apr 09:14
Compare
Choose a tag to compare
  • 👩‍⚖️ change license to MIT
  • 📖 the online interpreter now measures end to end render times
  • 📖 add a travis ci badge to readme
  • 🔧 ci: use node 10 instead of node 9 where this was possible and needed
  • 🐛 ci gitlab: also copy samples to gitlab pages
  • 🔧 ocd: move all config that doesn't need to be in root to a config folder

v2.6.5

25 Apr 17:27
Compare
Choose a tag to compare
  • 🐛 fixes a bug (#15 - thanks @karl for reporting!) where GraphViz could not render some state machines. The fix involved a different way of rendering states. It was possible to keep the rendered output to look very close to what it was in 2.6.4 and before, but there are tiny differences. I've included an after and before picture as full disclosure.
  • 🐛 removes redundant definitions from the json schema
  • ⬆️ dependency-cruiser, webpack-cli

after

after

before

before

v2.6.4

19 Apr 20:30
Compare
Choose a tag to compare

v2.6.3

16 Apr 21:17
Compare
Choose a tag to compare