# XState 6.0.0-alpha.9 - Product: XState (https://whatsnew.fyi/product/xstate) - Vendor: Stately - Date: 2026-06-26 - Version: 6.0.0-alpha.9 - Original notes: https://github.com/statelyai/xstate/releases/tag/xstate%406.0.0-alpha.9 - Permalink: https://whatsnew.fyi/product/xstate/releases/6.0.0-alpha.9 - 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** — Export setup helper types AnySetupConfig and SetupReturnFromConfig for libraries that return or decorate setup-bound objects while preserving native setup(...).createMachine(...) typing - **fixed** — Empty Standard Schema event objects now infer as type-only events, so { type: 'SEND' } is accepted for an empty SEND payload schema while non-empty schemas still require their payload fields - **changed** — Registered invoke onDone callbacks now receive the invoked actor's output type, and machine.provide({ actorSources }) accepts compatible actor implementations with sound input/output variance ###### Minor Changes - 54205cc: Export setup helper types for libraries that return or decorate setup-bound objects while preserving native `setup(...).createMachine(...)` typing. ```ts import { setup, type AnySetupConfig, type SetupReturnFromConfig } from 'xstate'; function decorateSetup( config: TConfig ): SetupReturnFromConfig & { extra: true } { const s = setup(config) as SetupReturnFromConfig; return Object.assign(s, { extra: true as const }); } ``` ###### Patch Changes - 54205cc: Empty Standard Schema event objects now infer as type-only events, so `{ type: 'SEND' }` is accepted for an empty `SEND` payload schema while non-empty schemas still require their payload fields. - 54205cc: Registered invoke `onDone` callbacks now receive the invoked actor's output type, and `machine.provide({ actorSources })` accepts compatible actor implementations with sound input/output variance.