1 | ###v0.3.7
|
2 | * Underscore.js is no longer a dependency - it has been replaced with Lodash.
|
3 | * Fixed issue where instances sharing a derived machina constructor that *did not* specify instance level state objects were sharing the prototype's `states` object from the parent Fsm constructor. The `states` object and `initialState` property are now built/blended together from the prototype chain and deep-clone-extended over the instance itself, so that they will always be instance level.
|
4 | * Added Alex Robson (@arobson) to contributors list in package.json - he was instrumental in helping me track down and squash the above-mentioned bug.
|
5 | * Added Dominic Barnes to the contributors list.
|
6 | * Inverted the changelog to show most recent first - you know...b/c...too lazy to scroll. :-)
|
7 | * Source in this version also has new jsbeautify settings applied - whitespace-laden commits, FML, but it was necessary going forward.
|
8 | * Removed failing LiveReload setup in the gulpfile. I plan to fix that in the v0.4 release.
|
9 |
|
10 | ### v0.3.5
|
11 |
|
12 | * Fixed issue in `deferUntilNextHandler` where deferred inputs were being queued as `NEXT_TRANSITION` instead of `NEXT_HANDLER`.
|
13 | * Moved invocation of `on_Exit` to occur just *before* the state property is updated, instead of just after.
|
14 |
|
15 | ### v0.3.4
|
16 |
|
17 | * Underscore is no longer required to be passed into the factory function for node usage. It will be required behind the scenes if not provided.
|
18 |
|
19 | ### v0.3.3
|
20 |
|
21 | * State handlers can optionally return a string value of the state to which you want to transition.
|
22 | * Transition events now include an `action` member which contains the "state.handler" value (string) indicating the current action which caused the transition.
|
23 | * Updated license info (still MIT, GPL >= 2.0)
|
24 | * Removed deprecated anvil dependency references
|
25 |
|
26 | ### v0.3.2
|
27 |
|
28 | * Fixed a bug in the internal deepExtend method (see [this issue](https://github.com/ifandelse/machina.js/pull/12)).
|
29 | * The `initialize` call will now receive the arguments passed to the constructor (see [this issue](https://github.com/ifandelse/machina.js/issues/11)).
|
30 | * **The commonjs/node.s wrapper now returns a factory, to which you must pass dependencies (underscore, in this case). This is a breaking API change**
|
31 | * The build process now outputs one module that can be used as a commonjs, AMD or standard client lib.
|
32 |
|
33 | ### v0.3.1
|
34 |
|
35 | * All internal events have been refactored to emit single argument payloads. **This is a breaking API change.**
|
36 |
|
37 | ### v0.3.0
|
38 |
|
39 | * FSM constructor function supports inheritance via an `extend` function - working mostly identical to backbone.js objects.
|
40 | * FSMs can have a top-level 'catch-all' ("*") handler defined, which would apply to any state, unless the state overrides it with a state-specific catch-all handler.
|
41 | * FSM states now have an `_onExit` handler.
|
42 | * **The `fireEvent` has been removed. Use `emit` or the `trigger` alias. This is a breaking API change.**
|
43 | * State input handlers can now be a string value (indicating that a transition should occur to a state matching that string value) in addition to a function.
|
44 |
|
45 | ### v0.2.2
|
46 |
|
47 | * event names are now all lower case
|
48 | * FSM constructor only handles an eventListeners object (not the old array of strings to pre-populate event names)
|
49 | * bug fixed where event queue would still be replayed on a state that transitioned during its entry action
|
50 | * transitioned and transitioning events are now just a single "transition" event
|
51 |
|
52 | ### v0.2.1
|
53 |
|
54 | * build bits updated to latest anvil.js (0.8.9)
|
55 | * added beginnings of connectivity example
|
56 | * updated ext dependencies (postal, etc.)
|
57 | * added bower component.json
|
58 |
|
59 | ### v0.2.0
|
60 |
|
61 | * Message bus integration has been removed from machina core, and now exists as plugins. For integration with [postal.js](https://github.com/ifandelse/postal.js), see [machina.postal](https://github.com/ifandelse/machina.postal)
|
62 | * Due to the above change, the only "messaging-related" metadata on an FSM now is the "namespace" value that can be passed as the FSM is created. This value is optional, and will be given a default if none is provided. Messaging plugins can utilize this value as a channel/namespace name and/or topic prefix.
|
63 | * A "priorState" member has been added to the Fsm. |
\ | No newline at end of file |