# XState 6.0.0-alpha.7 - Product: XState (https://whatsnew.fyi/product/xstate) - Vendor: Stately - Date: 2026-06-25 - Version: 6.0.0-alpha.7 - Original notes: https://github.com/statelyai/xstate/releases/tag/xstate%406.0.0-alpha.7 - Permalink: https://whatsnew.fyi/product/xstate/releases/6.0.0-alpha.7 - 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 `createSystem({ registry })` for declaring typed actor registry keys and creating actors in that system, with registry keys assigned via `registryKey` on invokes, spawned actors, and root actors - **added** — Static transition config objects may now include a shallow `context` patch that is shallow-merged with the current context ###### Major Changes - 89895f9: Add `createSystem({ registry })` for declaring typed actor registry keys and creating actors in that system. Registry keys are assigned with `registryKey` on invokes, spawned actors, and root actors created from the system. Registry keys are checked against the declared registry when using `createSystem`. ```ts const system = createSystem({ registry: { receiver: receiverLogic } }); const machine = system.setup().createMachine({ invoke: { src: receiverLogic, registryKey: 'receiver' } }); const actor = system.createActor(machine).start(); system.get('receiver')?.send({ type: 'HELLO' }); ``` ###### Patch Changes - 89895f9: Static transition config objects may now include a shallow `context` patch. ```ts createMachine({ context: { draftAnyway: false, count: 0 }, initial: 'idle', states: { idle: { on: { DRAFT_ANYWAY: { target: 'drafting', context: { draftAnyway: true } } } }, drafting: {} } }); ``` The patch is shallow-merged with the current context, just like `context` returned from a transition function. Setup-typed machines still require any keys needed by the target state's narrowed context.