# XState 5.27.0 - Product: XState (https://whatsnew.fyi/product/xstate) - Vendor: Stately - Date: 2026-02-11 - Version: 5.27.0 - Original notes: https://github.com/statelyai/xstate/releases/tag/xstate%405.27.0 - Permalink: https://whatsnew.fyi/product/xstate/releases/5.27.0 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 getInitialMicrosteps() and getMicrosteps() functions that return an array of [snapshot, actions] tuples for each microstep in a transition ###### Minor Changes - [#5457](https://github.com/statelyai/xstate/pull/5457) [`287b51e`](https://github.com/statelyai/xstate/commit/287b51eb80abc521f8c35fa73df177a0b9dfd3bc) Thanks [@davidkpiano](https://github.com/davidkpiano)! - Add `getInitialMicrosteps(…)` and `getMicrosteps(…)` functions that return an array of `[snapshot, actions]` tuples for each microstep in a transition. ```ts import { createMachine, getInitialMicrosteps, getMicrosteps } from 'xstate'; const machine = createMachine({ initial: 'a', states: { a: { entry: () => console.log('enter a'), on: { NEXT: 'b' } }, b: { entry: () => console.log('enter b'), always: 'c' }, c: {} } }); // Get microsteps from initial transition const initialMicrosteps = getInitialMicrosteps(machine); // Returns: [ // [snapshotA, [entryActionA]] // ] // Get microsteps from a transition const microsteps = getMicrosteps(machine, initialMicrosteps[0][0], { type: 'NEXT' }); // Returns: [ // [snapshotB, [entryActionB]], // [snapshotC, []] // ] // Each microstep is a tuple of [snapshot, actions] for (const [snapshot, actions] of microsteps) { console.log('State:', snapshot.value); console.log('Actions:', actions.length); } ```