Skip to content

chore(preact-table): Support Preact 11 - #6629

Merged
KevinVandy merged 4 commits into
mainfrom
chore/preact-11
Oct 10, 2026
Merged

KevinVandy merged 4 commits into
mainfrom
chore/preact-11

Conversation

@KevinVandy

@KevinVandy KevinVandy commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

The preact peer ranges already allow 11 (>=10). This PR moves development to Preact 11 and fixes what broke. The fixes also pass on Preact 10.

  • The preact dev dependency in the Preact packages and examples goes from ^10 to ^11.0.1, so CI now builds and tests against Preact 11. The peer ranges still allow Preact 10.
  • @tanstack/preact-store goes to ^0.13.5, with a patch changeset. 0.13.4 declared preact: ^10.0.0, so npm rejected Preact 11 even though this package's own peer range allows it (Preact 11 compatability #6616). pnpm-workspace.yaml exempts 0.13.5 from the 24-hour release-age gate because it was published yesterday.
  • preact-table-devtools: useRef gets an explicit undefined initial value. Preact 11 types require one. Includes a patch changeset.
  • preact-table test: the unmount test wraps unmount() in act(() => { ... }). Preact 11 runs useEffect cleanups after unmount, in the next effect flush, as React 18 does.
  • Preact examples: import CSSProperties, AriaAttributes and TargetedKeyboardEvent from preact. Preact 11 removed them from the JSX namespace, and both 10 and 11 export them from preact.
  • Preact examples: <input> wrapper components (IndeterminateCheckbox, DebouncedInput) type their spread props so they fit Preact 11's per-type <input> prop union.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Updated the Preact table packages and examples for compatibility with Preact 11.
  • Bug Fixes
    • Updated input and accessibility typings in examples to align with Preact 11’s type definitions.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 68cdb5a

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

This PR includes changesets to release 2 packages
Name Type
@tanstack/preact-table-devtools Patch
@tanstack/preact-table Patch

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

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: TanStack/table/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a2edddfd-f274-4490-8c35-02ac25082fa0

📥 Commits

Reviewing files that changed from the base of the PR and between 47733cb and af741ab.


⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml

📒 Files selected for processing (47)
  • .changeset/preact-table-devtools-preact-11.md
  • .changeset/preact-table-preact-store-0-13-5.md
  • examples/preact/aggregation/package.json
  • examples/preact/basic-dynamic-columns/package.json
  • examples/preact/basic-external-atoms/package.json
  • examples/preact/basic-external-state/package.json
  • examples/preact/basic-subscribe/package.json
  • examples/preact/basic-use-app-table/package.json
  • examples/preact/basic-use-table/package.json
  • examples/preact/cell-selection/package.json
  • examples/preact/cell-spanning/package.json
  • examples/preact/column-ordering/package.json
  • examples/preact/column-pinning-split/package.json
  • examples/preact/column-pinning-sticky/package.json
  • examples/preact/column-pinning/package.json
  • examples/preact/column-resizing-performant/package.json
  • examples/preact/column-resizing/package.json
  • examples/preact/column-sizing/package.json
  • examples/preact/column-visibility/package.json
  • examples/preact/composable-tables/package.json
  • examples/preact/custom-plugin/package.json
  • examples/preact/expanding/package.json
  • examples/preact/expanding/src/main.tsx
  • examples/preact/filters-faceted-bucketed/package.json
  • examples/preact/filters-faceted/package.json
  • examples/preact/filters-fuzzy/package.json
  • examples/preact/filters/package.json
  • examples/preact/grouped-aggregation/package.json
  • examples/preact/grouping/package.json
  • examples/preact/header-groups/package.json
  • examples/preact/kitchen-sink/package.json
  • examples/preact/kitchen-sink/src/main.tsx
  • examples/preact/pagination/package.json
  • examples/preact/realtime-trading/package.json
  • examples/preact/realtime-trading/src/table/table-interactions.ts
  • examples/preact/row-pinning/package.json
  • examples/preact/row-selection/package.json
  • examples/preact/sorting/package.json
  • examples/preact/sub-components/package.json
  • examples/preact/with-tanstack-form/package.json
  • examples/preact/with-tanstack-form/src/table.tsx
  • examples/preact/with-tanstack-query/package.json
  • packages/preact-table-devtools/package.json
  • packages/preact-table-devtools/src/useTanStackTableDevtools.ts
  • packages/preact-table/package.json
  • packages/preact-table/tests/unit/adapterReactivity.test.tsx
  • pnpm-workspace.yaml

 _________________________________________________________________________
< Yo dawg, I heard you like code reviews, so I reviewed your code review. >
 -------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • 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.

@nx-cloud

nx-cloud Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 68cdb5a

Command Status Duration Result
nx affected --targets=test:eslint,test:sherif,t... ✅ Succeeded 3m 33s View ↗
nx run-many --targets=build --exclude=examples/** ✅ Succeeded 22s View ↗

☁️ Nx Cloud last updated this comment at 2026-10-10 04:10:05 UTC

@github-actions

github-actions Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Changeset Version Preview

3 package(s) bumped directly, 0 bumped as dependents.

🟨 Minor bumps

Package Version Reason
@tanstack/octane-table 9.2.8 → 9.3.0 Changeset
@tanstack/preact-table 9.2.8 → 9.3.0 Changeset
@tanstack/preact-table-devtools 9.2.8 → 9.3.0 Changeset

@pkg-pr-new

pkg-pr-new Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
More templates

@tanstack/alpine-table

npm i https://pkg.pr.new/@tanstack/alpine-table@6629

@tanstack/angular-table

npm i https://pkg.pr.new/@tanstack/angular-table@6629

@tanstack/angular-table-devtools

npm i https://pkg.pr.new/@tanstack/angular-table-devtools@6629

@tanstack/ember-table

npm i https://pkg.pr.new/@tanstack/ember-table@6629

@tanstack/lit-table

npm i https://pkg.pr.new/@tanstack/lit-table@6629

@tanstack/match-sorter-utils

npm i https://pkg.pr.new/@tanstack/match-sorter-utils@6629

@tanstack/octane-table

npm i https://pkg.pr.new/@tanstack/octane-table@6629

@tanstack/preact-table

npm i https://pkg.pr.new/@tanstack/preact-table@6629

@tanstack/preact-table-devtools

npm i https://pkg.pr.new/@tanstack/preact-table-devtools@6629

@tanstack/react-table

npm i https://pkg.pr.new/@tanstack/react-table@6629

@tanstack/react-table-devtools

npm i https://pkg.pr.new/@tanstack/react-table-devtools@6629

@tanstack/solid-table

npm i https://pkg.pr.new/@tanstack/solid-table@6629

@tanstack/solid-table-devtools

npm i https://pkg.pr.new/@tanstack/solid-table-devtools@6629

@tanstack/svelte-table

npm i https://pkg.pr.new/@tanstack/svelte-table@6629

@tanstack/table-core

npm i https://pkg.pr.new/@tanstack/table-core@6629

@tanstack/table-devtools

npm i https://pkg.pr.new/@tanstack/table-devtools@6629

@tanstack/vue-table

npm i https://pkg.pr.new/@tanstack/vue-table@6629

@tanstack/vue-table-devtools

npm i https://pkg.pr.new/@tanstack/vue-table-devtools@6629

commit: 68cdb5a

@nx-cloud nx-cloud Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

At least one additional CI pipeline execution has run since the conclusion below was written and it may no longer be applicable.

Nx Cloud is proposing a fix for your failed CI:

We fixed the test:types failure by giving the act() callback in the unmount test a block body. Preact's act requires a callback returning void | Promise<void>, and () => view.unmount() implicitly returned a boolean, which caused TS2322. With the block body, our code type-checks and the unmount test behaves the same.

Tip

✅ We verified this fix by re-running @tanstack/preact-table:test:types.

diff --git a/packages/preact-table/tests/unit/adapterReactivity.test.tsx b/packages/preact-table/tests/unit/adapterReactivity.test.tsx
index c217cf6d5..de75e84cc 100644
--- a/packages/preact-table/tests/unit/adapterReactivity.test.tsx
+++ b/packages/preact-table/tests/unit/adapterReactivity.test.tsx
@@ -436,7 +436,9 @@ describe('Preact adapter reactivity and lifecycle', () => {
 
     expect(text('Lifecycle selection')).toBe('true')
 
-    act(() => view.unmount())
+    act(() => {
+      view.unmount()
+    })
 
     const rootCallsAfterUnmount = rootStoreSelectorCaptor.mock.calls.length
     const isolatedCallsAfterUnmount = isolatedStoreCaptor.mock.calls.length

Apply fix via Nx Cloud  Reject fix via Nx Cloud


Or Apply changes locally with:

npx nx-cloud apply-locally ZOVA-NnLb

Apply fix locally with your editor ↗   View interactive diff ↗



🎓 Learn more about Self-Healing CI on nx.dev

… types

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@socket-security

socket-security Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​tanstack/​preact-store@​0.13.5891006995100
Addedpreact@​11.0.110010010096100

View full report

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@KevinVandy
KevinVandy marked this pull request as ready for review October 10, 2026 03:55
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@KevinVandy
KevinVandy merged commit 1446ddd into main Oct 10, 2026
10 checks passed
@KevinVandy
KevinVandy deleted the chore/preact-11 branch October 10, 2026 04:10
@github-actions github-actions Bot mentioned this pull request Oct 10, 2026
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