unstale

npm / @tanstack/react-hotkeys

@tanstack/react-hotkeys

What changed in @tanstack/react-hotkeys 0.15, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

15 breaking10 new APIs and options1 behavior and defaults

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@tanstack/react-hotkeys 0.1526 changes

Breaking changes 15

  • Renamed from createHotkeyHandler to clarify that the handler is for chords.

    0.15.0release notes

  • Renamed from CreateHotkeyHandlerOptions to clarify that the options are for chord handlers.

    0.15.0release notes

  • Renamed from createMultiHotkeyHandler to clarify that the handler is for chords.

    0.15.0release notes

  • Renamed from FourModifierHotkey to distinguish chord types from sequence types.

    0.15.0release notes

  • Renamed from MultiHotkeyHandler to clarify that the handler is for chords.

    0.15.0release notes

  • Normalizes chord strings, chord objects, parsed chords, and sequences, replacing the previous normalization functions.

    0.15.0release notes

  • Renamed from ParsedHotkey to distinguish chord types from sequence types.

    0.15.0release notes

  • Sequence callbacks and recorder validation contexts receive parsedSequence with every step parsed, replacing the previous last-step-only parsedHotkey value.

    0.15.0release notes

  • Parses chord strings, chord objects, and sequences, replacing parseRegisterableHotkey and rawHotkeyToParsedHotkey.

    0.15.0release notes

  • Every sequence step now calls preventDefault, not just the last; set preventDefault: false to let the browser act on every step.

    0.15.0release notes

  • Renamed from RawHotkey to distinguish chord types from sequence types.

    0.15.0release notes

  • Sequence progress clears when its timeout passes and registration subscribers are notified, so matchedStepCount no longer remains above 0 after timeout.

    0.15.0release notes

  • Renamed from SingleModifierHotkey to distinguish chord types from sequence types.

    0.15.0release notes

  • Renamed from ThreeModifierHotkey to distinguish chord types from sequence types.

    0.15.0release notes

  • Renamed from TwoModifierHotkey to distinguish chord types from sequence types.

    0.15.0release notes

New APIs and options 10

  • App hotkeys can declare a scope, allowing hotkeys in different scopes to share a key without conflict; lists report suspended when all enabled registrations are in inactive scopes.

    0.15.0release notes

  • Scopes group hotkeys that can be activated or suspended together; nested and most recently activated scopes determine which matching hotkey wins.

    0.15.0release notes

  • Activates a scope until the returned function is called; exclusive scopes can suspend other scopes, with selected scopes allowed to remain active.

    0.15.0release notes

  • Publishes which scopes are active, suspended, allowed, and exclusive.

    0.15.0release notes

  • Accepts enabled; a scoped provider's scope is active while the provider is mounted and enabled.

    0.15.0release notes

  • Accepts exclusive to configure a provider's scope to suspend other scopes while active.

    0.15.0release notes

  • Accepts scope so hotkeys registered inside a scoped provider belong to that scope.

    0.15.0release notes

  • Reports whether a scope's hotkeys can fire.

    0.15.0release notes

  • New type describes sequences whose steps can be chord objects as well as strings; registered sequences store each step as a string.

    0.15.0release notes

  • Pass scope to a hotkey to place it in a scope; every hotkey belongs to a scope, with global active by default.

    0.15.0release notes

Behavior and default changes 1

  • Also formats parsed sequences, returning one string per step.

    0.15.0release notes