Skip to content

ci: Version Packages - #176

Merged
KevinVandy merged 1 commit into
mainfrom
changeset-release/main
Oct 14, 2026
Merged

KevinVandy merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@tanstack/alpine-hotkeys@0.3.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/angular-hotkeys@0.14.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/ember-hotkeys@0.3.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/hotkeys@0.12.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

@tanstack/hotkeys-devtools@1.3.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/lit-hotkeys@0.15.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/octane-hotkeys@0.4.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/preact-hotkeys@0.14.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/react-hotkeys@0.14.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/solid-hotkeys@0.14.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/svelte-hotkeys@0.14.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/vue-hotkeys@0.14.0

Minor Changes

  • #175 a71180e - Hotkeys now include sequences everywhere, and app hotkeys can be declared up front and customized by users.

    • A hotkey is a chord ('Mod+S') or a sequence (['G', 'G']). Every adapter's hotkey and hotkeys APIs, HotkeyManager.register, formatForDisplay, areHotkeysEqual, validateHotkey, and hints accept both. A one-step sequence is its chord. Chords accept requireReset; sequences accept timeout, enforced by types.
    • Every adapter's recorder records sequences with maxSteps (default 1).
    • defineAppHotkeys declares every app hotkey. Pass them to the adapter's provider as appHotkeys, with optional customHotkeys and onCustomHotkeysChange to persist user changes. Each adapter can read and change them through its app hotkeys, app hotkey list, and custom hotkeys APIs (for example, React's useAppHotkeys, useAppHotkeyList, and useCustomHotkeys). Lit, Alpine, and Ember, which have no provider, use provideAppHotkeys. Devtools list declared hotkeys that are not registered.

    Breaking changes (React names shown; other adapters follow their own naming, such as createHotkey, injectHotkey, or HotkeyController):

    Before After
    Hotkey (one chord) HotkeyChord; Hotkey is now a chord or a sequence
    SequenceManager, getSequenceManager() HotkeyManager, getHotkeyManager()
    useHotkeySequence(sequence, cb, options) useHotkey(sequence, cb, options)
    useHotkeySequences([{ sequence, callback }]) useHotkeys([{ hotkey: sequence, callback }])
    useHotkeySequenceRecorder(options), HotkeySequenceRecorder useHotkeyRecorder({ maxSteps, ...options }), HotkeyRecorder
    Lit @hotkeySequence, HotkeySequenceController @hotkey, HotkeyController
    Lit HotkeySequenceRecorderController HotkeyRecorderController with maxSteps
    useHotkeyRegistrations() → { hotkeys, sequences } One list of chords and sequences; narrow with kind
    SequenceRegistrationView.sequence HotkeySequenceRegistrationView.hotkey
    HotkeyConflict.type HotkeyConflict.registration.kind
    Sequence callback context.hotkey ('G G') context.hotkey (['G', 'G'])
    defaultOptions.hotkeySequence, defaultOptions.hotkeySequenceRecorder defaultOptions.hotkey, defaultOptions.hotkeyRecorder
    Vue provideHotkeysContext(defaultOptions) provideHotkeysContext({ defaultOptions, appHotkeys, ... })
    Svelte setHotkeysContext(defaultOptions) setHotkeysContext({ defaultOptions, appHotkeys, ... })
    Angular provideHotkeys(defaultOptions) provideHotkeys({ defaultOptions, appHotkeys, ... })
    HotkeyDefinition (core) Each adapter's definition type, such as UseHotkeyDefinition
    createHotkeySequenceBindings (adapter) createHotkeyBindings
    formatHotkeySequence, formatWithLabels formatForDisplay
    SequenceManager.resetAll() HotkeyManager.resetSequenceProgress()

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys@0.12.0

@tanstack/angular-hotkeys-devtools@0.2.1

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys-devtools@1.3.0

@tanstack/preact-hotkeys-devtools@0.10.1

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys-devtools@1.3.0

@tanstack/react-hotkeys-devtools@0.10.1

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys-devtools@1.3.0

@tanstack/solid-hotkeys-devtools@0.10.1

Patch Changes

  • #175 a71180e - Export the active devtools panel and plugin from @tanstack/solid-hotkeys-devtools/production instead of the no-op versions.
  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys-devtools@1.3.0

@tanstack/svelte-hotkeys-devtools@0.2.1

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys-devtools@1.3.0

@tanstack/vue-hotkeys-devtools@0.10.1

Patch Changes

  • Updated dependencies [a71180e]:
    • @tanstack/hotkeys-devtools@1.3.0

@coderabbitai

coderabbitai Bot commented Oct 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: TanStack/hotkeys/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6d6d73d9-f1a4-42aa-9894-d27d92257ad9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@KevinVandy
KevinVandy merged commit 72f5d4c into main Oct 14, 2026
3 checks passed
@KevinVandy
KevinVandy deleted the changeset-release/main branch October 14, 2026 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant