github statelyai/xstate xstate@4.30.0

latest releases: @xstate/svelte@3.0.5, @xstate/vue@3.1.4, @xstate/store@2.6.0...
2 years ago

Minor Changes

  • #2965 8b8f719c3 Thanks @satyasinha! - All actions are now available in the actions 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 a State 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 like setTimeout to be typed with browser compatibility in mind.

  • #3023 642e9f5b8 Thanks @Andarist! - Fixed an issue with states created using machine.getInitialState not being "resolved" in full. This could cause some things, such as after transitions, not being executed correctly after starting an interpreter using such state.

  • #2982 a39145580 Thanks @Andarist! - Marked all phantom properties on the StateMachine 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 with state.context becoming any after state.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 use skipLibCheck. Regular inline and block comments are not preserved in the TypeScript's emit.

Don't miss a new xstate release

NewReleases is sending notifications on new releases.