# XState 6.0.0-alpha.49 - Product: XState (https://whatsnew.fyi/product/xstate) - Vendor: Stately - Date: 2026-08-25 - Version: 6.0.0-alpha.49 - Original notes: https://github.com/statelyai/xstate/releases/tag/xstate%406.0.0-alpha.49 - Permalink: https://whatsnew.fyi/product/xstate/releases/6.0.0-alpha.49 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add the self-contained xstate/fsm entry point for compact flat finite state machines, exporting createFSM and createFSMActor without the full statechart actor runtime - **added** — FSM runtime supports guarded transitions, context, actions, eventless transitions, final states, child actors, delayed events, and snapshot persistence for state, context, and self-directed timers ###### Minor Changes - 501c5e3: Add the self-contained `xstate/fsm` entry point for compact flat finite state machines. It exports `createFSM` and `createFSMActor` without including the full statechart actor runtime. ```ts import { createFSM, createFSMActor } from 'xstate/fsm'; const logic = createFSM({ initial: 'inactive', states: { inactive: { on: { toggle: { target: 'active' } } }, active: { on: { toggle: { target: 'inactive' } } } } }); const actor = createFSMActor(logic).start(); ``` The FSM runtime also supports guarded transitions, context, actions, eventless transitions, final states, child actors, delayed events, and snapshot persistence for state, context, and self-directed timers. Live inline children and timers targeting other actors are rejected at the persistence boundary because the compact runtime has no registered actor-source registry.