Minor Changes
-
#2965
8b8f719c3
Thanks @satyasinha! - All actions are now available in theactions
variable when importing:import { actions } from 'xstate'
-
#2892
02de3d44f
Thanks @davidkpiano! - Persisted state can now be easily restored to a state compatible with the machine without converting it to aState
instance first:// Persisting a state someService.subscribe(state => { localStorage.setItem('some-state', JSON.stringify(state)); }); // Restoring a state const stateJson = localStorage.getItem('some-state'); // No need to convert `stateJson` object to a state! const someService = interpret(someMachine).start(stateJson);
Patch Changes
-
#3012
ab431dcb8
Thanks @Andarist! - Fixed an issue with a reference to@types/node
being inserted into XState's compiled output. This could cause unexpected issues in projects expecting APIs likesetTimeout
to be typed with browser compatibility in mind. -
#3023
642e9f5b8
Thanks @Andarist! - Fixed an issue with states created usingmachine.getInitialState
not being "resolved" in full. This could cause some things, such asafter
transitions, not being executed correctly after starting an interpreter using such state. -
#2982
a39145580
Thanks @Andarist! - Marked all phantom properties on theStateMachine
type as deprecated. This deprioritized them in IDEs so they don't popup as first suggestions during property access. -
#2992
22737adf2
Thanks @Andarist, @mattpocock! - Fixed an issue withstate.context
becomingany
afterstate.matches
when typegen is used. -
#2981
edf60d67b
Thanks @Andarist! - Moved an internal@ts-ignore
to a JSDoc-style comment to fix consuming projects that do not useskipLibCheck
. Regular inline and block comments are not preserved in the TypeScript's emit.