---
title: "TanStack Table V9: Taking Form"
url: https://daily.dev/posts/tanstack-table-v9-taking-form-qfpxptcbg
source_url: https://tanstack.com/blog/tanstack-table-v9-taking-form
type: article
source: "TanStack"
published: 2026-08-23T12:24:01.441Z
updated: 2026-08-23T12:57:12.970Z
tags: ["react", "typescript"]
reading_time: 17
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# TanStack Table V9: Taking Form

**[TanStack](https://daily.dev/sources/tanstack-blog)** · 17 min read · 0 upvotes · 0 comments

## Summary

TanStack Table V9 is now in beta, bringing a rewritten state management system built on TanStack Store (borrowed from TanStack Form), granular re-render control via state selectors, full tree-shakability with opt-in feature registration, reduced memory usage through shared prototypes, a first-class custom feature extension system, createTableHook for reusable table setups, and a new devtools integration. A full V8 to V9 migration guide is available, and the old V8-style API remains supported via stockFeatures during migration.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tanstack.com/blog/tanstack-table-v9-taking-form>

## Questions this post answers

### What's new in TanStack Table V9 compared to V8?

TanStack Table V9, released in beta, replaces V8's internal state handling with TanStack Store atoms, enabling granular state selectors so only relevant parts of the UI re-render. It adds fully opt-in tree-shakable features via tableFeatures, reduced memory usage through shared prototypes, a custom feature extension system, createTableHook for reusable table setups, and a new @tanstack/react-table-devtools integration.

_Track table library upgrades like this on daily.dev before committing to a major version bump._

### How do I migrate from TanStack Table V8 to V9?

A dedicated V8 to V9 migration guide covers the changes, and the old V8-style state management syntax (useState plus onPaginationChange) still works in V9 for backward compatibility. For a quick migration without adopting the new opt-in feature model, stockFeatures gives you the same 'everything included' behavior as V8, though it forfeits V9's tree-shaking benefits.

_Developers planning framework migrations follow release and migration guides like this via daily.dev._

### How does TanStack Table V9 make tables tree-shakable?

Table V9 makes the entire feature API surface opt-in rather than bundled by default. Features like sorting or pagination are registered explicitly through tableFeatures alongside their row models (e.g. rowSortingFeature, createSortedRowModel), so unregistered features contribute no code or TypeScript API surface, unlike V8 where all feature types and code were pulled in together.

_Engineers weighing bundle-size tradeoffs in table libraries can follow updates like this on daily.dev._

---

Tags: [#react](https://daily.dev/tags/react), [#typescript](https://daily.dev/tags/typescript)

[View this post on daily.dev](https://daily.dev/posts/tanstack-table-v9-taking-form-qfpxptcbg)
