Skip to content

Release 0.6.0: hook rework, website redesign, CI updates. - #12

Merged
wojtekolek merged 3 commits into
masterfrom
release/0.6.0
Oct 1, 2026
Merged

wojtekolek merged 3 commits into
masterfrom
release/0.6.0

Conversation

@wojtekolek

@wojtekolek wojtekolek commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

Release commandmenu 0.6.0: a rework of the useCommandMenu hook (correctness, accessibility, performance and types), a redesign of the website and updates to CI and the release tooling.

The included changeset bumps the package to 0.6.0. It's a minor bump, but the release has breaking API changes.

Breaking changes

  • Items expose itemProps (id, role, aria-disabled, onClick, onMouseDown, onPointerMove) instead of top-level handlers. Spread it onto the row.
  • selection is replaced by selectedId. listProps now carries a ref that the hook uses to scroll the highlighted option into view.
  • Arrow keys and Enter are only handled when they come from the search input (or the menu element itself). Other controls inside the menu keep their own keys.
  • Cmd/Ctrl/Alt combinations without a matching shortcut are left to the browser. For example, Cmd+ArrowDown no longer moves the highlight.
  • Without groups, async results are appended to the flat list.
  • Item ids must be unique. A repeated id appears once, at its first occurrence.
  • isAsyncLoading and AsyncResultsGroup.isLoading are removed. They only returned the value passed in.
  • PreparedItem keeps disabled so rows can style it.

Test plan

  • Tests pass (pnpm test)
  • Lint passes (pnpm lint)
  • Build succeeds (pnpm build)

wojtekolek and others added 3 commits October 1, 2026 13:20
- Single ordered item list drives both rendering and keyboard order
- Combobox/listbox/option ARIA wiring via searchProps, listProps, itemProps
- Selection follows items by id; scrolling only the list, on keyboard moves
- Keyboard: IME, key repeat, modifier and layout-aware shortcut handling
- Stable item and group identity: typing and async results re-render
  only the rows that change
- Types: distributive PreparedItem, separate async result type parameter
- Internals split into list, selection, keyboard and scroll modules
- Ship README, LICENSE and CHANGELOG in the package; drop committed dist
- Tests (render counts and type-level), benchmark, typecheck script

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Shared design tokens: warm greys, slate accent, Open Sauce One and
  Rhallisa (WOFF2 subsets), ease-sail motion curve
- Floating top menu, lit header card with the live demo, features and
  usage bands, dark grain footer
- Demo: gliding selection highlight, key hints, Esc to go back, toast
  isolated so it doesn't re-render the menu, browser-safe shortcuts
- Accessible group markup and contrast; version read from the package

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Move checkout, setup-node and pnpm/action-setup to their Node 24
  majors (Node 20 is gone from the runners)
- Add a typecheck task, run it in CI and before publishing
- Build workspace dependencies before dev
- Document the two-step Changesets release flow

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
commandmenu Ready Ready Preview Oct 1, 2026 11:22am UTC

@changeset-bot

changeset-bot Bot commented Oct 1, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fca3a7f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
commandmenu Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@wojtekolek wojtekolek changed the title Release/0.6.0 Release 0.6.0: hook rework, website redesign, CI updates. Oct 1, 2026
@wojtekolek
wojtekolek merged commit 5410cfc into master Oct 1, 2026
5 checks passed
@wojtekolek
wojtekolek deleted the release/0.6.0 branch October 1, 2026 11:42

This branch was successfully deployed

1 active deployment
Preview — fca3a7f8 Deployed Oct 1, 2026 by vercel[bot]
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