Skip to content

chore(release): version packages - #58

Merged
ivanbanov merged 1 commit into
mainfrom
changeset-release/main
Aug 15, 2026
Merged

chore(release): version packages#58
ivanbanov merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 15, 2026

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

@dunky.dev/state-machine-bindings@0.4.0

Minor Changes

  • #57 2532b06 Thanks @ivanbanov! - The translation contract: every target must account for every vocabulary key —
    mapped, or null as a declared drop. Previously the normalize maps were
    untyped, so a new binding compiled everywhere and silently leaked to the host;
    now it's a compile error in every target until that target decides.

    Bindings exports the contract (HandlerKey/AttrKey, HandlerTargets/
    AttrTargets) and the all-dropped bases DROPPED_HANDLERS/DROPPED_ATTRS
    for targets that express little of the vocabulary (they inherit null for
    future keys; the compile error fires at the base):

    export const HANDLER_MAP: HandlerTargets = {
      ...DROPPED_HANDLERS, // hover, keyboard, double-press, wheel: no RN analog
      onPress: "onPress",
      onPointerDown: "onPressIn",
      // ...everything this target can express
    };

    No behavior change in the targets; a conformance test per target walks its
    ledger and asserts every binding lands on its declared target — or, for a
    null, nowhere at all.

@dunky.dev/native-state-machine@0.3.3

Patch Changes

  • #57 2532b06 Thanks @ivanbanov! - The translation contract: every target must account for every vocabulary key —
    mapped, or null as a declared drop. Previously the normalize maps were
    untyped, so a new binding compiled everywhere and silently leaked to the host;
    now it's a compile error in every target until that target decides.

    Bindings exports the contract (HandlerKey/AttrKey, HandlerTargets/
    AttrTargets) and the all-dropped bases DROPPED_HANDLERS/DROPPED_ATTRS
    for targets that express little of the vocabulary (they inherit null for
    future keys; the compile error fires at the base):

    export const HANDLER_MAP: HandlerTargets = {
      ...DROPPED_HANDLERS, // hover, keyboard, double-press, wheel: no RN analog
      onPress: "onPress",
      onPointerDown: "onPressIn",
      // ...everything this target can express
    };

    No behavior change in the targets; a conformance test per target walks its
    ledger and asserts every binding lands on its declared target — or, for a
    null, nowhere at all.

  • #59 59f279e Thanks @ivanbanov! - Internal dependencies on sibling workspace packages are now pinned to an
    exact version instead of a caret range, and every package versions
    independently — the @dunky.dev/* lockstep group is gone, so a release
    never bumps a package whose code didn't change.

    A caret range between two packages that both sit above a shared dependency
    lets a consumer's install resolve to two different physical copies of it
    once those packages' required ranges drift apart, silently breaking anything
    identity-sensitive in that shared dependency (a singleton, a WeakMap,
    module-level state). Pinning exact collapses that to one resolvable version:
    a mismatch now fails at publish time instead of surfacing as a runtime bug
    in a consumer's app.

  • Updated dependencies [2532b06, 59f279e]:

    • @dunky.dev/state-machine-bindings@0.4.0
    • @dunky.dev/react-state-machine@0.3.3

@dunky.dev/opentui-state-machine@0.3.3

Patch Changes

  • #57 2532b06 Thanks @ivanbanov! - The translation contract: every target must account for every vocabulary key —
    mapped, or null as a declared drop. Previously the normalize maps were
    untyped, so a new binding compiled everywhere and silently leaked to the host;
    now it's a compile error in every target until that target decides.

    Bindings exports the contract (HandlerKey/AttrKey, HandlerTargets/
    AttrTargets) and the all-dropped bases DROPPED_HANDLERS/DROPPED_ATTRS
    for targets that express little of the vocabulary (they inherit null for
    future keys; the compile error fires at the base):

    export const HANDLER_MAP: HandlerTargets = {
      ...DROPPED_HANDLERS, // hover, keyboard, double-press, wheel: no RN analog
      onPress: "onPress",
      onPointerDown: "onPressIn",
      // ...everything this target can express
    };

    No behavior change in the targets; a conformance test per target walks its
    ledger and asserts every binding lands on its declared target — or, for a
    null, nowhere at all.

  • #59 59f279e Thanks @ivanbanov! - Internal dependencies on sibling workspace packages are now pinned to an
    exact version instead of a caret range, and every package versions
    independently — the @dunky.dev/* lockstep group is gone, so a release
    never bumps a package whose code didn't change.

    A caret range between two packages that both sit above a shared dependency
    lets a consumer's install resolve to two different physical copies of it
    once those packages' required ranges drift apart, silently breaking anything
    identity-sensitive in that shared dependency (a singleton, a WeakMap,
    module-level state). Pinning exact collapses that to one resolvable version:
    a mismatch now fails at publish time instead of surfacing as a runtime bug
    in a consumer's app.

  • Updated dependencies [2532b06]:

    • @dunky.dev/state-machine-bindings@0.4.0

@dunky.dev/react-state-machine@0.3.3

Patch Changes

  • #57 2532b06 Thanks @ivanbanov! - The translation contract: every target must account for every vocabulary key —
    mapped, or null as a declared drop. Previously the normalize maps were
    untyped, so a new binding compiled everywhere and silently leaked to the host;
    now it's a compile error in every target until that target decides.

    Bindings exports the contract (HandlerKey/AttrKey, HandlerTargets/
    AttrTargets) and the all-dropped bases DROPPED_HANDLERS/DROPPED_ATTRS
    for targets that express little of the vocabulary (they inherit null for
    future keys; the compile error fires at the base):

    export const HANDLER_MAP: HandlerTargets = {
      ...DROPPED_HANDLERS, // hover, keyboard, double-press, wheel: no RN analog
      onPress: "onPress",
      onPointerDown: "onPressIn",
      // ...everything this target can express
    };

    No behavior change in the targets; a conformance test per target walks its
    ledger and asserts every binding lands on its declared target — or, for a
    null, nowhere at all.

  • #59 59f279e Thanks @ivanbanov! - Internal dependencies on sibling workspace packages are now pinned to an
    exact version instead of a caret range, and every package versions
    independently — the @dunky.dev/* lockstep group is gone, so a release
    never bumps a package whose code didn't change.

    A caret range between two packages that both sit above a shared dependency
    lets a consumer's install resolve to two different physical copies of it
    once those packages' required ranges drift apart, silently breaking anything
    identity-sensitive in that shared dependency (a singleton, a WeakMap,
    module-level state). Pinning exact collapses that to one resolvable version:
    a mismatch now fails at publish time instead of surfacing as a runtime bug
    in a consumer's app.

@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dunky-state-machine Ready Ready Preview Aug 15, 2026 12:57am

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from ea3b87d to 9062afe Compare August 15, 2026 00:57
@ivanbanov
ivanbanov merged commit 644cb18 into main Aug 15, 2026
8 checks passed
@ivanbanov
ivanbanov deleted the changeset-release/main branch August 15, 2026 01:01
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