# XState 5.28.0 - Product: XState (https://whatsnew.fyi/product/xstate) - Vendor: Stately - Date: 2026-02-12 - Version: 5.28.0 - Original notes: https://github.com/statelyai/xstate/releases/tag/xstate%405.28.0 - Permalink: https://whatsnew.fyi/product/xstate/releases/5.28.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** — Added routable states that can be navigated to from anywhere via xstate.route events, with support for guards to conditionally restrict navigation - **fixed** — Export types so setup() declaration emit works ###### Minor Changes - [#4184](https://github.com/statelyai/xstate/pull/4184) [`a741fe7`](https://github.com/statelyai/xstate/commit/a741fe75901d3c4f08314e7c6d888bcb37866c04) Thanks [@davidkpiano](https://github.com/davidkpiano)! - Added routable states. States with `route: {}` and an explicit `id` can be navigated to from anywhere via a single `{ type: 'xstate.route', to: '#id' }` event. ```ts const machine = setup({}).createMachine({ id: 'app', initial: 'home', states: { home: { id: 'home', route: {} }, dashboard: { initial: 'overview', states: { overview: { id: 'overview', route: {} }, settings: { id: 'settings', route: {} } } } } }); const actor = createActor(machine).start(); // Route directly to deeply nested state from anywhere actor.send({ type: 'xstate.route', to: '#settings' }); ``` Routes support guards for conditional navigation: ```ts settings: { id: 'settings', route: { guard: ({ context }) => context.role === 'admin' } } ``` ###### Patch Changes - [#5464](https://github.com/statelyai/xstate/pull/5464) [`ad809a0`](https://github.com/statelyai/xstate/commit/ad809a0a7084f57a30a47aade90b83caa2eb65d9) Thanks [@davidkpiano](https://github.com/davidkpiano)! - Fix: export types so setup() declaration emit works (fixes #5462)