From 3a06303510019678ba78f5137b87cc33467ac87c Mon Sep 17 00:00:00 2001 From: Kevin Van Cott Date: Mon, 3 Aug 2026 23:57:12 -0500 Subject: [PATCH 1/3] release v9 --- .changeset/v9-stable-release.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .changeset/v9-stable-release.md diff --git a/.changeset/v9-stable-release.md b/.changeset/v9-stable-release.md new file mode 100644 index 0000000000..2e07981b35 --- /dev/null +++ b/.changeset/v9-stable-release.md @@ -0,0 +1,22 @@ +--- +'@tanstack/table-core': major +'@tanstack/table-devtools': major +'@tanstack/alpine-table': major +'@tanstack/angular-table': major +'@tanstack/angular-table-devtools': major +'@tanstack/ember-table': major +'@tanstack/lit-table': major +'@tanstack/octane-table': major +'@tanstack/preact-table': major +'@tanstack/preact-table-devtools': major +'@tanstack/react-table': major +'@tanstack/react-table-devtools': major +'@tanstack/solid-table': major +'@tanstack/solid-table-devtools': major +'@tanstack/svelte-table': major +'@tanstack/vue-table': major +'@tanstack/vue-table-devtools': major +'@tanstack/match-sorter-utils': major +--- + +TanStack Table v9 stable release. See the "Migrating to V9" guide for your framework (e.g. [React](https://tanstack.com/table/latest/docs/framework/react/guide/migrating)) for upgrade instructions. From 2f7044a38f7c10866da460b55709357f1de6a229 Mon Sep 17 00:00:00 2001 From: Kevin Van Cott Date: Tue, 4 Aug 2026 00:09:02 -0500 Subject: [PATCH 2/3] update docs for v9 stable --- .github/workflows/zizmor.yml | 2 +- README.md | 20 ++++---- docs/devtools.md | 13 ++--- .../framework/alpine/guide/custom-features.md | 14 ++--- docs/framework/alpine/quick-start.md | 4 +- .../angular/guide/custom-features.md | 14 ++--- docs/framework/angular/guide/migrating.md | 19 +------ docs/framework/angular/quick-start.md | 4 +- docs/framework/ember/guide/custom-features.md | 14 ++--- docs/framework/ember/quick-start.md | 4 +- docs/framework/lit/guide/custom-features.md | 14 ++--- docs/framework/lit/guide/migrating.md | 15 +----- docs/framework/lit/quick-start.md | 4 +- .../framework/octane/guide/custom-features.md | 14 ++--- docs/framework/octane/quick-start.md | 4 +- .../framework/preact/guide/custom-features.md | 14 ++--- docs/framework/preact/guide/migrating.md | 21 ++------ docs/framework/preact/quick-start.md | 4 +- docs/framework/react/guide/custom-features.md | 14 ++--- docs/framework/react/guide/migrating.md | 19 +------ docs/framework/react/quick-start.md | 4 +- docs/framework/solid/guide/custom-features.md | 14 ++--- docs/framework/solid/guide/migrating.md | 13 +---- docs/framework/solid/quick-start.md | 4 +- .../framework/svelte/guide/custom-features.md | 14 ++--- docs/framework/svelte/guide/migrating.md | 51 ++----------------- docs/framework/svelte/quick-start.md | 4 +- docs/framework/vanilla/quick-start.md | 4 +- docs/framework/vue/guide/custom-features.md | 14 ++--- docs/framework/vue/guide/migrating.md | 19 +------ docs/framework/vue/quick-start.md | 4 +- docs/guide/row-models.md | 2 +- docs/installation.md | 25 ++++----- packages/alpine-table/README.md | 20 ++++---- packages/angular-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 2 +- packages/ember-table/README.md | 20 ++++---- packages/lit-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 4 +- packages/match-sorter-utils/README.md | 20 ++++---- packages/octane-table/README.md | 20 ++++---- packages/preact-table-devtools/README.md | 20 ++++---- packages/preact-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 8 +-- packages/react-table-devtools/README.md | 20 ++++---- packages/react-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 6 +-- packages/solid-table-devtools/README.md | 20 ++++---- packages/solid-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 8 +-- packages/svelte-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 12 ++--- .../svelte-table/skills/table-state/SKILL.md | 2 +- packages/table-core/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 12 ++--- packages/table-devtools/README.md | 20 ++++---- packages/vue-table-devtools/README.md | 20 ++++---- packages/vue-table/README.md | 20 ++++---- .../skills/migrate-v8-to-v9/SKILL.md | 4 +- 59 files changed, 324 insertions(+), 477 deletions(-) diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index ba8e8cfa12..1d4088db88 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -2,7 +2,7 @@ name: GitHub Actions Security Analysis on: push: - branches: [alpha] + branches: [main] pull_request: branches: ['**'] diff --git a/README.md b/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/README.md +++ b/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/docs/devtools.md b/docs/devtools.md index a2728129a5..9164311d88 100644 --- a/docs/devtools.md +++ b/docs/devtools.md @@ -14,21 +14,18 @@ The table devtools let you inspect registered table instances, switch between mu Install the TanStack Devtools host package and the Table adapter for your framework. -> [!IMPORTANT] -> While TanStack Table v9 is in beta, the table devtools adapters must be installed with the `@beta` tag. Installing without the tag resolves to the old v8 devtools, which have a completely different API. - # React ```sh -npm install @tanstack/react-devtools @tanstack/react-table-devtools@beta +npm install @tanstack/react-devtools @tanstack/react-table-devtools ``` # Preact ```sh -npm install @tanstack/preact-devtools @tanstack/preact-table-devtools@beta +npm install @tanstack/preact-devtools @tanstack/preact-table-devtools ``` # Octane @@ -38,19 +35,19 @@ There is not currently a dedicated Octane Table Devtools adapter. # Vue ```sh -npm install @tanstack/vue-devtools @tanstack/vue-table-devtools@beta +npm install @tanstack/vue-devtools @tanstack/vue-table-devtools ``` # Solid ```sh -npm install @tanstack/solid-devtools @tanstack/solid-table-devtools@beta +npm install @tanstack/solid-devtools @tanstack/solid-table-devtools ``` # Angular ```sh -npm install @tanstack/angular-devtools @tanstack/angular-table-devtools@beta +npm install @tanstack/angular-devtools @tanstack/angular-table-devtools ``` diff --git a/docs/framework/alpine/guide/custom-features.md b/docs/framework/alpine/guide/custom-features.md index 5fc3617c02..8c38b58900 100644 --- a/docs/framework/alpine/guide/custom-features.md +++ b/docs/framework/alpine/guide/custom-features.md @@ -120,19 +120,19 @@ This might be a bit confusing, so let's break down what each of these methods do #### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
#### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
#### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. ### API Creators @@ -150,13 +150,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are #### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
#### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -168,13 +168,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta #### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
#### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/alpine/quick-start.md b/docs/framework/alpine/quick-start.md index ff33264358..8b79b4d8ab 100644 --- a/docs/framework/alpine/quick-start.md +++ b/docs/framework/alpine/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/alpine-table@beta alpinejs +npm install @tanstack/alpine-table alpinejs ``` The `@tanstack/alpine-table` package works with Alpine 3. diff --git a/docs/framework/angular/guide/custom-features.md b/docs/framework/angular/guide/custom-features.md index d88a63c9be..e9b0b77432 100644 --- a/docs/framework/angular/guide/custom-features.md +++ b/docs/framework/angular/guide/custom-features.md @@ -126,19 +126,19 @@ This might be a bit confusing, so let's break down what each of these methods do ##### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
##### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
##### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. #### API Creators @@ -156,13 +156,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are ##### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
##### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -174,13 +174,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta ##### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
##### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/angular/guide/migrating.md b/docs/framework/angular/guide/migrating.md index c394790f1b..0bc883ec57 100644 --- a/docs/framework/angular/guide/migrating.md +++ b/docs/framework/angular/guide/migrating.md @@ -2,21 +2,6 @@ title: Migrating to TanStack Table V9 (Angular) --- -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - ---- - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - ---- - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See the row models section below for the new shape. - ---- - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: @@ -488,9 +473,9 @@ Update your column definitions. ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | diff --git a/docs/framework/angular/quick-start.md b/docs/framework/angular/quick-start.md index 010f70e2d2..b28e4e207c 100644 --- a/docs/framework/angular/quick-start.md +++ b/docs/framework/angular/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/angular-table@beta +npm install @tanstack/angular-table ``` ## Your First Table diff --git a/docs/framework/ember/guide/custom-features.md b/docs/framework/ember/guide/custom-features.md index 8096e31ed0..64b17a1272 100644 --- a/docs/framework/ember/guide/custom-features.md +++ b/docs/framework/ember/guide/custom-features.md @@ -126,19 +126,19 @@ This might be a bit confusing, so let's break down what each of these methods do ##### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
##### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
##### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. #### API Creators @@ -156,13 +156,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are ##### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
##### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -174,13 +174,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta ##### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
##### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/ember/quick-start.md b/docs/framework/ember/quick-start.md index fc64d0bb7a..fb1d558786 100644 --- a/docs/framework/ember/quick-start.md +++ b/docs/framework/ember/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/ember-table@beta +npm install @tanstack/ember-table ``` `@tanstack/ember-table` is a v2 addon that requires Ember 5.8+ with Embroider (or ember-auto-import v2). It works with `.gts`/`.gjs` template tag components and Glint. diff --git a/docs/framework/lit/guide/custom-features.md b/docs/framework/lit/guide/custom-features.md index 5244d51761..67ebdcc759 100644 --- a/docs/framework/lit/guide/custom-features.md +++ b/docs/framework/lit/guide/custom-features.md @@ -118,19 +118,19 @@ This might be a bit confusing, so let's break down what each of these methods do #### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
#### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
#### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. ### API Creators @@ -148,13 +148,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are #### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
#### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -166,13 +166,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta #### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
#### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/lit/guide/migrating.md b/docs/framework/lit/guide/migrating.md index e15cb3225f..9a6e2dffe9 100644 --- a/docs/framework/lit/guide/migrating.md +++ b/docs/framework/lit/guide/migrating.md @@ -2,21 +2,10 @@ title: Migrating to TanStack Table V9 (Lit) --- -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See the row models section below for the new shape. - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: -> The Lit adapter may change during the v9 beta cycle. This guide documents the current local v9 API and avoids speculating about future beta changes. - ### 1. Better Performance - **Lower memory usage**: The core architecture now shares more behavior across table objects, with some large-table scenarios seeing up to 90% memory savings. @@ -483,9 +472,9 @@ Do not provide both `atoms.pagination` and `state.pagination`; the atom owns tha ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | diff --git a/docs/framework/lit/quick-start.md b/docs/framework/lit/quick-start.md index 7c033e33a8..dc80655d02 100644 --- a/docs/framework/lit/quick-start.md +++ b/docs/framework/lit/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/lit-table@beta +npm install @tanstack/lit-table ``` ## Your First Table diff --git a/docs/framework/octane/guide/custom-features.md b/docs/framework/octane/guide/custom-features.md index c537312a7d..d37ba70680 100644 --- a/docs/framework/octane/guide/custom-features.md +++ b/docs/framework/octane/guide/custom-features.md @@ -126,19 +126,19 @@ This might be a bit confusing, so let's break down what each of these methods do ##### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
##### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
##### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. #### API Creators @@ -156,13 +156,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are ##### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
##### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -174,13 +174,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta ##### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
##### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/octane/quick-start.md b/docs/framework/octane/quick-start.md index b5a4f6c4f5..41ed1d848a 100644 --- a/docs/framework/octane/quick-start.md +++ b/docs/framework/octane/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/octane-table@beta +npm install @tanstack/octane-table ``` ## Your First Table diff --git a/docs/framework/preact/guide/custom-features.md b/docs/framework/preact/guide/custom-features.md index 47540ae503..ea112df683 100644 --- a/docs/framework/preact/guide/custom-features.md +++ b/docs/framework/preact/guide/custom-features.md @@ -126,19 +126,19 @@ This might be a bit confusing, so let's break down what each of these methods do ##### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
##### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
##### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. #### API Creators @@ -156,13 +156,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are ##### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
##### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -174,13 +174,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta ##### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
##### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/preact/guide/migrating.md b/docs/framework/preact/guide/migrating.md index bf13b47793..a4b99db326 100644 --- a/docs/framework/preact/guide/migrating.md +++ b/docs/framework/preact/guide/migrating.md @@ -2,21 +2,6 @@ title: Migrating to TanStack Table V9 (Preact) --- -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - ---- - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - ---- - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See the row models section below for the new shape. - ---- - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: @@ -473,9 +458,9 @@ When `atoms.pagination` is provided, table writes like `table.setPageIndex(2)` w ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | @@ -820,7 +805,7 @@ type Person = { - [ ] Replace `@tanstack/react-table` imports used through `preact/compat` with `@tanstack/preact-table`. - [ ] Replace `useReactTable` with `useTable`. - [ ] Define `features` using `tableFeatures()` (or use `stockFeatures`) -- [ ] Migrate `get*RowModel()` options (or earlier-beta `rowModels: {...}` entries) to `tableFeatures({...})` slots (e.g. `filteredRowModel: createFilteredRowModel()`). +- [ ] Migrate `get*RowModel()` options to `tableFeatures({...})` slots (e.g. `filteredRowModel: createFilteredRowModel()`). - [ ] Drop `getCoreRowModel`; the core row model is automatic. - [ ] Move `sortingFns`, `filterFns`, and `aggregationFns` into `tableFeatures` slots (not factory args). - [ ] Rename `sortingFn` to `sortFn` and `sortingFns` to `sortFns`. diff --git a/docs/framework/preact/quick-start.md b/docs/framework/preact/quick-start.md index 105e4c29f5..b274c9e0b6 100644 --- a/docs/framework/preact/quick-start.md +++ b/docs/framework/preact/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/preact-table@beta +npm install @tanstack/preact-table ``` ## Your First Table diff --git a/docs/framework/react/guide/custom-features.md b/docs/framework/react/guide/custom-features.md index 58571cce81..6aba8576ab 100644 --- a/docs/framework/react/guide/custom-features.md +++ b/docs/framework/react/guide/custom-features.md @@ -126,19 +126,19 @@ This might be a bit confusing, so let's break down what each of these methods do ##### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
##### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
##### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. #### API Creators @@ -156,13 +156,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are ##### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
##### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -174,13 +174,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta ##### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
##### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/react/guide/migrating.md b/docs/framework/react/guide/migrating.md index 858a639fd5..5ff837b038 100644 --- a/docs/framework/react/guide/migrating.md +++ b/docs/framework/react/guide/migrating.md @@ -2,21 +2,6 @@ title: Migrating to TanStack Table V9 (React) --- -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - ---- - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - ---- - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See [Row Model Factories](#row-model-factories) for the new shape. - ---- - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: @@ -549,9 +534,9 @@ const columns = [ ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | diff --git a/docs/framework/react/quick-start.md b/docs/framework/react/quick-start.md index b070809d6b..f182953b9c 100644 --- a/docs/framework/react/quick-start.md +++ b/docs/framework/react/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/react-table@beta +npm install @tanstack/react-table ``` ## Your First Table diff --git a/docs/framework/solid/guide/custom-features.md b/docs/framework/solid/guide/custom-features.md index 6f405c910e..f2ee25223d 100644 --- a/docs/framework/solid/guide/custom-features.md +++ b/docs/framework/solid/guide/custom-features.md @@ -120,19 +120,19 @@ This might be a bit confusing, so let's break down what each of these methods do #### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
#### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
#### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. ### API Creators @@ -150,13 +150,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are #### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
#### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -168,13 +168,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta #### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
#### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/solid/guide/migrating.md b/docs/framework/solid/guide/migrating.md index e2931205d5..3d76ee69ca 100644 --- a/docs/framework/solid/guide/migrating.md +++ b/docs/framework/solid/guide/migrating.md @@ -2,15 +2,6 @@ title: Migrating to TanStack Table V9 (Solid) --- -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See the row models section below for the new shape. - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: @@ -442,9 +433,9 @@ Sorting-related APIs have been renamed for consistency: ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | diff --git a/docs/framework/solid/quick-start.md b/docs/framework/solid/quick-start.md index ed917e390c..f23a702984 100644 --- a/docs/framework/solid/quick-start.md +++ b/docs/framework/solid/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/solid-table@beta +npm install @tanstack/solid-table ``` ## Your First Table diff --git a/docs/framework/svelte/guide/custom-features.md b/docs/framework/svelte/guide/custom-features.md index fc8fc4bc4d..2d05d3f2fb 100644 --- a/docs/framework/svelte/guide/custom-features.md +++ b/docs/framework/svelte/guide/custom-features.md @@ -120,19 +120,19 @@ This might be a bit confusing, so let's break down what each of these methods do #### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
#### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
#### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. ### API Creators @@ -150,13 +150,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are #### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
#### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -168,13 +168,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta #### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
#### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/svelte/guide/migrating.md b/docs/framework/svelte/guide/migrating.md index 7fbdc1c7a1..7f8995b00c 100644 --- a/docs/framework/svelte/guide/migrating.md +++ b/docs/framework/svelte/guide/migrating.md @@ -2,18 +2,6 @@ title: Migrating to TanStack Table V9 (Svelte) --- -> [!NOTE] -> `v9.0.0-beta.59` removes Svelte's table-creation selectors. `createTable` and `createAppTable` now accept only their options object; the selected `table.state` property, `subscribeTable`, and `SubscribeSource` are also removed. Read one slice with `table.atoms..get()` and the complete state with `table.store.get()`. These reads update naturally in Svelte templates, `$derived`, `$derived.by`, and `$effect`. This is an intentional beta-breaking change with no compatibility overload or runtime shim. See [State Management Changes](#state-management-changes) for examples. - -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See the row models section below for the new shape. - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: @@ -359,40 +347,7 @@ The same reads become reactive dependencies when they run in a Svelte template, `$derived` now owns projection and equality behavior. A full-store read is appropriate for debug output, persistence, or computations that intentionally depend on every slice; use an atom when only one slice matters. -#### Migrating a `createTable` Selector - -```ts -// Before beta.59 -const table = createTable(options, (state) => ({ - pagination: state.pagination, -})) - -table.state.pagination -``` - -```ts -// beta.59+ -const table = createTable(options) -const pagination = $derived(table.atoms.pagination.get()) -``` - -Identity selectors and selectors returning `null` should simply be deleted. Atom and table API reads already register the relevant Svelte dependencies. - -#### Migrating a `createAppTable` Selector - -```ts -// Before beta.59 -const table = createAppTable(options, (state) => ({ - sorting: state.sorting, -})) -table.state.sorting - -// beta.59+ -const table = createAppTable(options) -const sorting = $derived(table.atoms.sorting.get()) -``` - -The selected-state generic was removed with the selector. `SvelteTable` now has two generic parameters, `AppSvelteTable` has five, and `useTableContext` only accepts its optional row-data generic. +`SvelteTable` has two generic parameters, `AppSvelteTable` has five, and `useTableContext` only accepts its optional row-data generic. ### Controlled State @@ -499,9 +454,9 @@ Do not provide both `atoms.pagination` and `state.pagination`; the atom owns tha ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | diff --git a/docs/framework/svelte/quick-start.md b/docs/framework/svelte/quick-start.md index da0b42979e..5f3bb917ee 100644 --- a/docs/framework/svelte/quick-start.md +++ b/docs/framework/svelte/quick-start.md @@ -8,10 +8,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/svelte-table@beta +npm install @tanstack/svelte-table ``` ## Your First Table diff --git a/docs/framework/vanilla/quick-start.md b/docs/framework/vanilla/quick-start.md index ee2ebee576..7a8817a9d1 100644 --- a/docs/framework/vanilla/quick-start.md +++ b/docs/framework/vanilla/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/table-core@beta +npm install @tanstack/table-core ``` ## Your First Table diff --git a/docs/framework/vue/guide/custom-features.md b/docs/framework/vue/guide/custom-features.md index 0d9842392e..56b7beb34d 100644 --- a/docs/framework/vue/guide/custom-features.md +++ b/docs/framework/vue/guide/custom-features.md @@ -120,19 +120,19 @@ This might be a bit confusing, so let's break down what each of these methods do #### getDefaultTableOptions -The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`. +The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Resizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-resizing/columnResizingFeature.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
#### getDefaultColumnDef -The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`. +The `getDefaultColumnDef` method in a table feature is responsible for setting the default column options for that feature. For example, in the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature, the `getDefaultColumnDef` method sets the default `sortUndefined` column option with a default value of `1`.
#### getInitialState -The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. +The `getInitialState` method in a table feature is responsible for setting the default state for that feature. For example, in the [Pagination](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-pagination/rowPaginationFeature.ts) feature, the `getInitialState` method sets the default `pageSize` state with a value of `10` and the default `pageIndex` state with a value of `0`. ### API Creators @@ -150,13 +150,13 @@ Keep API assignment in `constructTableAPIs`; initialization and reset hooks are #### constructTableAPIs -The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature. +The `constructTableAPIs` method in a table feature is exclusively responsible for adding methods to the `table` instance. It runs after all feature-owned table instance data has been initialized. For example, in the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature, the `constructTableAPIs` method adds many table instance API methods such as `toggleAllRowsSelected`, `getIsAllRowsSelected`, `getIsSomeRowsSelected`, etc. So then, when you call `table.toggleAllRowsSelected()`, you are calling a method that was added to the table instance by the `rowSelectionFeature` feature.
#### assignHeaderPrototype and initHeaderInstanceData -The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild. +The `assignHeaderPrototype` method in a table feature is responsible for adding methods to the shared `header` prototype. For example, the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/column-sizing/columnSizingFeature.ts) feature adds header instance API methods such as `getStart`. So then, when you call `header.getStart()`, you are calling a method that was added by the column sizing feature. The `initHeaderInstanceData` method is available for per-header instance data or caches that cannot live on the shared prototype. It runs during header construction, before sub-headers are populated and before the header is linked to its header group. Headers are reconstructed whenever header groups recompute, so it reruns on every rebuild.
@@ -168,13 +168,13 @@ The `initHeaderGroupInstanceData` method is available for per-header-group insta #### assignColumnPrototype and initColumnInstanceData -The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache. +The `assignColumnPrototype` method in a table feature is responsible for adding methods to the shared `column` prototype. For example, the [Sorting](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-sorting/rowSortingFeature.ts) feature adds column instance API methods such as `getNextSortingOrder`, `toggleSorting`, etc. So then, when you call `column.toggleSorting()`, you are calling a method that was added by the row sorting feature. The `initColumnInstanceData` method is available for per-column instance data or caches that cannot live on the shared prototype. For example, the [Aggregation](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-aggregation/rowAggregationFeature.ts) feature uses it to set up a per-column aggregation cache.
#### assignRowPrototype and initRowInstanceData -The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/beta/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`. +The `assignRowPrototype` method in a table feature is responsible for adding methods to the shared `row` prototype. The `initRowInstanceData` method is available for per-row instance data or caches that cannot live on the shared prototype. For example, the [Row Selection](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/row-selection/rowSelectionFeature.ts) feature adds row instance API methods such as `toggleSelected` and `getIsSelected`.
diff --git a/docs/framework/vue/guide/migrating.md b/docs/framework/vue/guide/migrating.md index 9d6a59acf2..894687c760 100644 --- a/docs/framework/vue/guide/migrating.md +++ b/docs/framework/vue/guide/migrating.md @@ -2,21 +2,6 @@ title: Migrating to TanStack Table V9 (Vue) --- -> [!NOTE] -> `v9.0.0-beta.48`/`beta.49` split aggregation out of `columnGroupingFeature` into a new `rowAggregationFeature` (`stockFeatures` includes both). If you declare features explicitly, add `rowAggregationFeature` anywhere you use `aggregationFns`, `aggregationFn`, `aggregatedCell`, `cell.getIsAggregated()`, or `column.getAggregationValue()`. Aggregation function definitions, row-depth selection, and the `getAggregationValue` signature also changed. See [Grouping and Aggregation](#grouping-and-aggregation) below. - ---- - -> [!NOTE] -> `v9.0.0-beta.38` renames column pinning from physical `left`/`right` terminology to logical `start`/`end` terminology (in LTR layouts `start` usually means left; in RTL it usually means right). Update `columnPinning.left`/`right` to `columnPinning.start`/`end`, `column.pin('left' | 'right')` to `column.pin('start' | 'end')`, and `getLeft*`/`getRight*` APIs to `getStart*`/`getEnd*`. See [Column Pinning](#column-pinning) for the full mapping. - ---- - -> [!NOTE] -> `v9.0.0-beta.10` moves row model factories and the `filterFns`/`sortFns`/`aggregationFns` registries onto the `features` object (the separate `rowModels` option is gone, and the factories no longer take arguments). See [Row Model Factories](#row-model-factories) for the new shape. - ---- - ## What's New in TanStack Table V9 TanStack Table V9 is a major release with significant internal architectural improvements while maintaining the core table logic you're familiar with. Here are the key changes: @@ -476,9 +461,9 @@ Do not provide both `atoms.pagination` and `state.pagination`; the atom owns tha ### Column Pinning -`v9.0.0-beta.38` changes column pinning to use logical `start`/`end` terminology instead of physical `left`/`right` terminology. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases in beta.38. +V9 changes column pinning to use logical `start`/`end` terminology instead of the physical `left`/`right` terminology used in V8. In LTR languages/layouts, `start` usually corresponds to left and `end` to right; in RTL languages/layouts, `start` usually corresponds to right and `end` to left. There are no deprecated aliases. -| Before beta.38 | beta.38+ | +| V8 | V9 | | ------------------------------------ | ------------------------------------ | | `columnPinning.left` | `columnPinning.start` | | `columnPinning.right` | `columnPinning.end` | diff --git a/docs/framework/vue/quick-start.md b/docs/framework/vue/quick-start.md index 5fb65b1711..787373327e 100644 --- a/docs/framework/vue/quick-start.md +++ b/docs/framework/vue/quick-start.md @@ -6,10 +6,8 @@ TanStack Table is a headless table library. It manages your table's state and lo ## Installation -TanStack Table v9 is currently published under the `beta` tag: - ```bash -npm install @tanstack/vue-table@beta +npm install @tanstack/vue-table ``` ## Your First Table diff --git a/docs/guide/row-models.md b/docs/guide/row-models.md index cc8ec918ac..6115cd74d9 100644 --- a/docs/guide/row-models.md +++ b/docs/guide/row-models.md @@ -121,7 +121,7 @@ To use built-in functions by string name, import them individually (`filterFn_in ## Customize/Fork Row Models -You don't have to use the exact row models that are provided by TanStack Table. If you need some advanced customization for certain row models, feel free to copy the [source code](https://github.com/TanStack/table/tree/beta/packages/table-core/src/features) for the row model you want to customize and modify it to your needs. Each row model factory lives alongside its feature (e.g. `row-sorting/createSortedRowModel.ts`), and the core row model lives in [`core/row-models`](https://github.com/TanStack/table/tree/beta/packages/table-core/src/core/row-models). +You don't have to use the exact row models that are provided by TanStack Table. If you need some advanced customization for certain row models, feel free to copy the [source code](https://github.com/TanStack/table/tree/main/packages/table-core/src/features) for the row model you want to customize and modify it to your needs. Each row model factory lives alongside its feature (e.g. `row-sorting/createSortedRowModel.ts`), and the core row model lives in [`core/row-models`](https://github.com/TanStack/table/tree/main/packages/table-core/src/core/row-models). ## Using Row Models diff --git a/docs/installation.md b/docs/installation.md index 77feb0e310..c0fdf888dc 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -8,22 +8,19 @@ Install your table adapter as a dependency using your preferred package manager: -react: @tanstack/react-table@beta -preact: @tanstack/preact-table@beta -octane: @tanstack/octane-table@beta -vue: @tanstack/vue-table@beta -solid: @tanstack/solid-table@beta -svelte: @tanstack/svelte-table@beta -angular: @tanstack/angular-table@beta -ember: @tanstack/ember-table@beta -lit: @tanstack/lit-table@beta -alpine: @tanstack/alpine-table@beta +react: @tanstack/react-table +preact: @tanstack/preact-table +octane: @tanstack/octane-table +vue: @tanstack/vue-table +solid: @tanstack/solid-table +svelte: @tanstack/svelte-table +angular: @tanstack/angular-table +ember: @tanstack/ember-table +lit: @tanstack/lit-table +alpine: @tanstack/alpine-table -> [!IMPORTANT] -> TanStack Table v9 is currently in beta, so the `@beta` dist-tag is required. If you omit it, your package manager will install the `latest` tag, which is still v8, and none of the v9 APIs documented here will exist. - # React @@ -68,4 +65,4 @@ The `@tanstack/alpine-table` package works with Alpine 3. -Don't see your favorite framework (or favorite version of your framework) listed? You can always just use the `@tanstack/table-core` package and build your own adapter in your own codebase. Usually, only a thin wrapper is needed to manage state and rendering for your specific framework. Browse the [source code](https://github.com/TanStack/table/tree/beta/packages) of all of the other adapters to see how they work. +Don't see your favorite framework (or favorite version of your framework) listed? You can always just use the `@tanstack/table-core` package and build your own adapter in your own codebase. Usually, only a thin wrapper is needed to manage state and rendering for your specific framework. Browse the [source code](https://github.com/TanStack/table/tree/main/packages) of all of the other adapters to see how they work. diff --git a/packages/alpine-table/README.md b/packages/alpine-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/alpine-table/README.md +++ b/packages/alpine-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/angular-table/README.md b/packages/angular-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/angular-table/README.md +++ b/packages/angular-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md b/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md index 783bced1c2..25de9bc59d 100644 --- a/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/angular-table/skills/migrate-v8-to-v9/SKILL.md @@ -105,7 +105,7 @@ Row, cell, column, header, and related methods now live on shared prototypes and ### Logical column pinning -Beta.38 has no physical aliases. +V9 has no physical aliases. | old | new | | -------------------------------------------------------------- | ------------------------------------------------------------- | diff --git a/packages/ember-table/README.md b/packages/ember-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/ember-table/README.md +++ b/packages/ember-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/lit-table/README.md b/packages/lit-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/lit-table/README.md +++ b/packages/lit-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md b/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md index bb4d0a97b7..e5e467c13a 100644 --- a/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/lit-table/skills/migrate-v8-to-v9/SKILL.md @@ -107,7 +107,7 @@ Row, cell, column, header, and related methods now live on shared prototypes and ### Logical column pinning -Beta.38 has no `left`/`right` aliases. +V9 has no `left`/`right` aliases. | old | new | | -------------------------------------------------------------- | ------------------------------------------------------------- | @@ -195,4 +195,4 @@ Use `row.getValue('name')`; prototype methods require the original instance and ## API Discovery -Inspect `node_modules/@tanstack/lit-table/dist/index.d.ts` and `TableController.d.ts`. Verify feature slots and exact beta APIs in `node_modules/@tanstack/table-core/dist/`; do not reconstruct v9 from v8 memory. +Inspect `node_modules/@tanstack/lit-table/dist/index.d.ts` and `TableController.d.ts`. Verify feature slots and the exact installed v9 APIs in `node_modules/@tanstack/table-core/dist/`; do not reconstruct v9 from v8 memory. diff --git a/packages/match-sorter-utils/README.md b/packages/match-sorter-utils/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/match-sorter-utils/README.md +++ b/packages/match-sorter-utils/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/octane-table/README.md b/packages/octane-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/octane-table/README.md +++ b/packages/octane-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/preact-table-devtools/README.md b/packages/preact-table-devtools/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/preact-table-devtools/README.md +++ b/packages/preact-table-devtools/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/preact-table/README.md b/packages/preact-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/preact-table/README.md +++ b/packages/preact-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md b/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md index 67327d231d..dc24244c5c 100644 --- a/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md @@ -17,7 +17,7 @@ sources: - 'TanStack/table:examples/preact/basic-use-table' --- -Read `@tanstack/table-core#migrate-v8-to-v9`, `getting-started`, and `table-state`. Use this as the exhaustive Preact migration checklist. Verify exact APIs in the installed declarations before assuming another v9 beta has the same surface. +Read `@tanstack/table-core#migrate-v8-to-v9`, `getting-started`, and `table-state`. Use this as the exhaustive Preact migration checklist. Verify the exact v9 APIs in the installed declarations before assuming a different v9 version has the same surface. Framework prerequisite: Preact 10 or newer (`preact >=10`). @@ -59,7 +59,7 @@ V8 did not have a first-party Preact adapter; many Preact apps used `@tanstack/r | `getFacetedMinMaxValues()` | `facetedMinMaxValues: createFacetedMinMaxValues()` | | `getFacetedUniqueValues()` | `facetedUniqueValues: createFacetedUniqueValues()` | | Table/factory `sortingFns`, `filterFns`, `aggregationFns` | `sortFns`, `filterFns`, `aggregationFns` slots in `tableFeatures()` | -| Early-beta `rowModels: { ... }` | Direct named slots in `tableFeatures()` | +| Removed `rowModels: { ... }` object | Direct named slots in `tableFeatures()` | In the registry slots, register individually imported built-ins (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) under their conventional keys alongside custom functions; the full `filterFns`/`sortFns`/`aggregationFns` registry objects still work but bundle every built-in. @@ -110,7 +110,7 @@ Infer with `typeof features`; use `StockFeatures` only for deliberate `stockFeat ### Shared API and semantic changes -| v8 / pre-beta.38 pinning | v9 beta.38+ | +| v8 pinning | v9 | | -------------------------------------------------------------- | ------------------------------------------------------------- | | `columnPinning.left` / `.right` | `.start` / `.end` | | `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` | @@ -150,7 +150,7 @@ All other underscore-prefixed internals are removed. `getIsSomeRowsSelected()` a 1. Replace React adapter imports and `useReactTable`; remove Table-only `preact/compat` configuration. 2. Inventory used features, row models, registries, state slices, methods, and `_` internals. -3. Build `tableFeatures()` in prerequisite order; remove `getCoreRowModel` and old/early-beta row-model placement. +3. Build `tableFeatures()` in prerequisite order; remove `getCoreRowModel` and old row-model placement. 4. Apply all pinning, sizing, sorting, row, and selection mappings above. 5. Update helpers/types with `typeof features`, retarget augmentation, and prefer feature registry/meta slots. 6. Replace `getState()`/`onStateChange`; explicitly choose internal, per-slice controlled, or external-atom ownership. diff --git a/packages/react-table-devtools/README.md b/packages/react-table-devtools/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/react-table-devtools/README.md +++ b/packages/react-table-devtools/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/react-table/README.md b/packages/react-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/react-table/README.md +++ b/packages/react-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/react-table/skills/migrate-v8-to-v9/SKILL.md b/packages/react-table/skills/migrate-v8-to-v9/SKILL.md index 8e65e7e6d9..095f3111e7 100644 --- a/packages/react-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/react-table/skills/migrate-v8-to-v9/SKILL.md @@ -18,7 +18,7 @@ sources: - 'TanStack/table:examples/react/basic-use-table' --- -Read `@tanstack/table-core#migrate-v8-to-v9`, `getting-started`, and `table-state`. Use this skill as the exhaustive migration checklist, not as general API documentation. Inspect the installed `src` files before writing APIs for a different v9 beta. +Read `@tanstack/table-core#migrate-v8-to-v9`, `getting-started`, and `table-state`. Use this skill as the exhaustive migration checklist, not as general API documentation. Inspect the installed `src` files before writing APIs for a different v9 version. Framework prerequisite: React 18 or newer (`react >=18`). @@ -70,7 +70,7 @@ Prefer explicit features as the end state. `stockFeatures` is a useful kitchen-s | `sortingFns` table option | `sortFns` slot in `tableFeatures()` | | `filterFns` table option/factory argument | `filterFns` slot in `tableFeatures()` | | `aggregationFns` table option/factory argument | `aggregationFns` slot in `tableFeatures()` | -| Early-v9-beta `rowModels: { ... }` | Named row-model slots directly in `tableFeatures()` | +| Removed `rowModels: { ... }` object | Named row-model slots directly in `tableFeatures()` | In the registry slots, register individually imported built-ins (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) under their conventional keys alongside custom functions; the full `filterFns`/`sortFns`/`aggregationFns` registry objects still work but bundle every built-in. @@ -137,7 +137,7 @@ Infer `TFeatures` with `typeof features`. If deliberately using `stockFeatures`, Column pinning now uses logical regions, with no deprecated aliases: -| v8 / pre-beta.38 | v9 beta.38+ | +| v8 | v9 | | -------------------------------------------------------------- | ------------------------------------------------------------- | | `columnPinning.left` / `.right` | `.start` / `.end` | | `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` | diff --git a/packages/solid-table-devtools/README.md b/packages/solid-table-devtools/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/solid-table-devtools/README.md +++ b/packages/solid-table-devtools/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/solid-table/README.md b/packages/solid-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/solid-table/README.md +++ b/packages/solid-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md b/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md index 8bf4fd22e4..2a6d732ed7 100644 --- a/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/solid-table/skills/migrate-v8-to-v9/SKILL.md @@ -17,7 +17,7 @@ sources: - 'TanStack/table:examples/solid/basic-use-table' --- -Read `@tanstack/table-core#migrate-v8-to-v9`, `getting-started`, and `table-state`. Use this as the exhaustive Solid migration checklist. Check the installed declarations before emitting APIs for another beta. +Read `@tanstack/table-core#migrate-v8-to-v9`, `getting-started`, and `table-state`. Use this as the exhaustive Solid migration checklist. Check the installed declarations before emitting APIs for a different v9 version. Framework prerequisite: Solid 1.3 or newer (`solid-js >=1.3`). @@ -65,7 +65,7 @@ Keep static features and columns outside reactive component work. Prefer explici | `getFacetedMinMaxValues()` | `facetedMinMaxValues: createFacetedMinMaxValues()` | | `getFacetedUniqueValues()` | `facetedUniqueValues: createFacetedUniqueValues()` | | Table/factory `sortingFns`, `filterFns`, `aggregationFns` | `sortFns`, `filterFns`, `aggregationFns` feature slots | -| Early-beta `rowModels: { ... }` | Direct named slots in `tableFeatures()` | +| Removed `rowModels: { ... }` | Direct named slots in `tableFeatures()` | In the registry slots, register individually imported built-ins (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) under their conventional keys alongside custom functions; the full `filterFns`/`sortFns`/`aggregationFns` registry objects still work but bundle every built-in. @@ -131,7 +131,7 @@ Infer with `typeof features`; use `StockFeatures` only when deliberately typing ### Shared API and semantic changes -| v8 / pre-beta.38 pinning | v9 beta.38+ | +| v8 pinning | v9 | | -------------------------------------------------------------- | ------------------------------------------------------------- | | `columnPinning.left` / `.right` | `.start` / `.end` | | `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` | @@ -170,7 +170,7 @@ All other underscore-prefixed internals are removed. `getIsSomeRowsSelected()` a ## Migration procedure 1. Replace `createSolidTable` with `createTable` and inventory used features, processing, state, and APIs. -2. Build `tableFeatures()` in prerequisite order; remove `getCoreRowModel` and old/early-beta row-model placement. +2. Build `tableFeatures()` in prerequisite order; remove `getCoreRowModel` and old row-model placement. 3. Apply all pinning, sizing, sorting, row, and selection mappings above. 4. Update helpers/types with `typeof features`; migrate meta and function augmentation to per-feature slots where appropriate. 5. Preserve Solid tracking with getters for `data` and controlled state; replace `getState()` and `onStateChange`. diff --git a/packages/svelte-table/README.md b/packages/svelte-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/svelte-table/README.md +++ b/packages/svelte-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md b/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md index b523469aeb..c7e363333b 100644 --- a/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/svelte-table/skills/migrate-v8-to-v9/SKILL.md @@ -1,7 +1,7 @@ --- name: migrate-v8-to-v9 description: > - Complete Svelte v8-to-v9 migration reference: Svelte 5, createTable, beta.59 selector removal, explicit features and row-model slots, atom/rune state, rendering helpers, prototype methods, type generics, sorting, sizing, selection, and logical pinning. + Complete Svelte v8-to-v9 migration reference: Svelte 5, createTable, selector-API removal, explicit features and row-model slots, atom/rune state, rendering helpers, prototype methods, type generics, sorting, sizing, selection, and logical pinning. metadata: type: lifecycle library: '@tanstack/svelte-table' @@ -80,7 +80,7 @@ Factories take no arguments. Register `filterFns`, `sortFns`, and `aggregationFn - Reactive option inputs must remain live: use getters for rune values such as `data` and controlled state slices. - `table.getState().sorting` becomes the narrow `table.atoms.sorting.get()` read. Use `table.store.get()` when code intentionally needs the complete state. - Table atom, store, and API reads become reactive inside templates, `$derived`, `$derived.by`, and `$effect`; use native `$derived` values for projections. -- Starting in beta.59, remove second-argument selectors from `createTable` and `createAppTable`, replace `table.state`, and remove `subscribeTable` / `SubscribeSource` imports. +- Remove second-argument selectors from `createTable` and `createAppTable` (if present from an earlier v9 version), replace `table.state`, and remove `subscribeTable` / `SubscribeSource` imports. - `SvelteTable` now has two generic parameters, `AppSvelteTable` has five, and `useTableContext` no longer accepts a selected-state generic. - For Svelte-owned controlled slices, use `createTableState` and matching `onSortingChange`, `onPaginationChange`, and other per-slice callbacks. - For shared ownership, provide atoms created by `@tanstack/svelte-store` through `atoms`. Never provide both `atoms.pagination` and `state.pagination`. @@ -107,7 +107,7 @@ Row, cell, column, header, and related object methods now live on shared prototy ### Logical column pinning -There are no `left`/`right` aliases in beta.38. +V9 has no `left`/`right` aliases. | old | new | | -------------------------------------------------------------- | ------------------------------------------------------------- | @@ -174,9 +174,9 @@ Register both the feature and its `create*RowModel()` slot. Leaving `get*RowMode Use `get data() { return data }`; a one-time `data` snapshot does not remain reactive. -### HIGH: Keeping beta.58 Svelte selectors +### HIGH: Keeping removed Svelte selectors -Remove second arguments from `createTable` and `createAppTable`, replace selected `table.state` reads with `table.atoms..get()` or `table.store.get()`, and remove `subscribeTable`, `SubscribeSource`, and selected-state generic parameters. Beta.59 intentionally has no compatibility layer for these APIs. +Remove second arguments from `createTable` and `createAppTable`, replace selected `table.state` reads with `table.atoms..get()` or `table.store.get()`, and remove `subscribeTable`, `SubscribeSource`, and selected-state generic parameters. V9 intentionally has no compatibility layer for these APIs. ### HIGH: Destructuring instance methods @@ -198,4 +198,4 @@ Keep calls bound to row/cell/column/header instances; shallow copies do not cont ## API Discovery -Verify the installed target in `node_modules/@tanstack/svelte-table/dist/index.d.ts` and its adapter sources. Verify feature slots and exact beta APIs in `node_modules/@tanstack/table-core/dist/`; do not reconstruct v9 APIs from v8 memory. +Verify the installed target in `node_modules/@tanstack/svelte-table/dist/index.d.ts` and its adapter sources. Verify feature slots and the exact installed v9 APIs in `node_modules/@tanstack/table-core/dist/`; do not reconstruct v9 APIs from v8 memory. diff --git a/packages/svelte-table/skills/table-state/SKILL.md b/packages/svelte-table/skills/table-state/SKILL.md index 6db93fb831..0f0eda0977 100644 --- a/packages/svelte-table/skills/table-state/SKILL.md +++ b/packages/svelte-table/skills/table-state/SKILL.md @@ -167,7 +167,7 @@ const table = createTable(options) const pagination = $derived(table.atoms.pagination.get()) ``` -Starting in beta.59, `createTable` and `createAppTable` take only options, `table.state` is absent, and `subscribeTable` and `SubscribeSource` are no longer exported. Use native tracked Svelte reads and `$derived` projections. +In v9, `createTable` and `createAppTable` take only options, `table.state` is absent, and `subscribeTable` and `SubscribeSource` are no longer exported. Use native tracked Svelte reads and `$derived` projections. Source: `docs/framework/svelte/guide/migrating.md` diff --git a/packages/table-core/README.md b/packages/table-core/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/table-core/README.md +++ b/packages/table-core/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/table-core/skills/migrate-v8-to-v9/SKILL.md b/packages/table-core/skills/migrate-v8-to-v9/SKILL.md index 8f929b128d..4aef419a92 100644 --- a/packages/table-core/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/table-core/skills/migrate-v8-to-v9/SKILL.md @@ -97,7 +97,7 @@ Honor feature prerequisites in the same `tableFeatures` call: ### 2. Move row models into feature slots and rename factories -V8 `get*RowModel()` table options and the earlier-v9-beta `rowModels` object are gone. V9 `create*RowModel()` factories take no registry arguments and are registered as named feature slots. +V8 `get*RowModel()` table options and the removed `rowModels` object are gone. V9 `create*RowModel()` factories take no registry arguments and are registered as named feature slots. | V8 table option | V9 `tableFeatures` slot | V9 factory | | -------------------------------------------------- | -------------------------------------- | ---------------------------------------------- | @@ -175,7 +175,7 @@ Audit all methods extracted from rows, cells, columns, headers, and header group ### 5. Replace physical column pinning with logical pinning -V9 beta.38 has no `left`/`right` aliases. Replace all state keys, return-value comparisons, arguments, and API families: +V9 has no `left`/`right` aliases. Replace all state keys, return-value comparisons, arguments, and API families: | V8 | V9 | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------- | @@ -298,7 +298,7 @@ Do not confuse new capabilities with required breakages. After the table works, - [ ] Inventory every feature API used by table, row, column, cell, and header code; register all 16 required stock features. - [ ] Use `stockFeatures` only as a temporary parity aid and record an explicit-feature follow-up. - [ ] Remove `getCoreRowModel()` unless supplying a deliberate custom `coreRowModel` slot. -- [ ] Move all remaining `get*RowModel()` options or earlier-beta `rowModels` entries to `create*RowModel()` feature slots. +- [ ] Move all remaining `get*RowModel()` options (or a removed `rowModels: {...}` object, if present) to `create*RowModel()` feature slots. - [ ] Register each dependent feature before its row-model slot. - [ ] Move `filterFns`, `sortingFns`/`sortFns`, and `aggregationFns` into feature slots, registering individually imported built-ins; pass no registries to factories. - [ ] Register `rowAggregationFeature` independently and migrate custom aggregation callables to context-based `AggregationFnDef` definitions. @@ -329,9 +329,9 @@ Do not confuse new capabilities with required breakages. After the table works, If `table.nextPage`, `column.toggleSorting`, or a state slice disappears, add the associated feature. Do not cast the table to a broader type. -### [CRITICAL] Mixing v8, early-v9-beta, and beta.38 configuration +### [CRITICAL] Mixing v8 and v9 configuration styles -Do not combine v8 `get*RowModel` options, an earlier beta's `rowModels` object, or physical pinning names with the current `tableFeatures` slots. +Do not combine v8 `get*RowModel` options, a removed `rowModels` object, or physical pinning names with the current `tableFeatures` slots. ### [HIGH] Treating `stockFeatures` or `useLegacyTable` as the finished migration @@ -351,4 +351,4 @@ Use the installed version, not main-branch memory: 4. Inspect the installed adapter's `dist/index.d.ts` and its migration skill for entrypoints and rendering. 5. Inspect `dist/legacy.d.ts` only to remove an existing bridge, never to design new v9 code. -If package-manager layout prevents that exact path, resolve the installed package root first. Do not substitute APIs from a different v9 beta. +If package-manager layout prevents that exact path, resolve the installed package root first. Do not substitute APIs from a different v9 version. diff --git a/packages/table-devtools/README.md b/packages/table-devtools/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/table-devtools/README.md +++ b/packages/table-devtools/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/vue-table-devtools/README.md b/packages/vue-table-devtools/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/vue-table-devtools/README.md +++ b/packages/vue-table-devtools/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/vue-table/README.md b/packages/vue-table/README.md index d25eaa5af2..f9ec9e8e28 100644 --- a/packages/vue-table/README.md +++ b/packages/vue-table/README.md @@ -47,16 +47,16 @@ > [!NOTE] > You may know TanStack Table by the adapter names: > -> - [Angular Table](https://tanstack.com/table/alpha/docs/framework/angular/angular-table) -> - [Lit Table](https://tanstack.com/table/alpha/docs/framework/lit/lit-table) -> - [Octane Table](https://tanstack.com/table/beta/docs/framework/octane/quick-start) -> - [Preact Table](https://tanstack.com/table/beta/docs/framework/preact/quick-start) -> - [React Table](https://tanstack.com/table/alpha/docs/framework/react/react-table) -> - [Solid Table](https://tanstack.com/table/alpha/docs/framework/solid/solid-table) -> - [Svelte Table](https://tanstack.com/table/alpha/docs/framework/svelte/svelte-table) -> - [Vue Table](https://tanstack.com/table/alpha/docs/framework/vue/vue-table) -> - [Alpine Table](https://tanstack.com/table/alpha/docs/framework/alpine/alpine-table) -> - [Ember Table](https://tanstack.com/table/alpha/docs/framework/ember/ember-table) +> - [Angular Table](https://tanstack.com/table/latest/docs/framework/angular/angular-table) +> - [Lit Table](https://tanstack.com/table/latest/docs/framework/lit/lit-table) +> - [Octane Table](https://tanstack.com/table/latest/docs/framework/octane/quick-start) +> - [Preact Table](https://tanstack.com/table/latest/docs/framework/preact/quick-start) +> - [React Table](https://tanstack.com/table/latest/docs/framework/react/react-table) +> - [Solid Table](https://tanstack.com/table/latest/docs/framework/solid/solid-table) +> - [Svelte Table](https://tanstack.com/table/latest/docs/framework/svelte/svelte-table) +> - [Vue Table](https://tanstack.com/table/latest/docs/framework/vue/vue-table) +> - [Alpine Table](https://tanstack.com/table/latest/docs/framework/alpine/alpine-table) +> - [Ember Table](https://tanstack.com/table/latest/docs/framework/ember/ember-table) A headless table library for building powerful datagrids with full control over markup, styles, and behavior. diff --git a/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md b/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md index a89642e24e..006d2eca0a 100644 --- a/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/vue-table/skills/migrate-v8-to-v9/SKILL.md @@ -98,7 +98,7 @@ Row, cell, column, header, and related methods now live on shared prototypes and ### Logical column pinning -There are no `left`/`right` aliases in beta.38. +V9 has no `left`/`right` aliases. | old | new | | -------------------------------------------------------------- | ------------------------------------------------------------- | @@ -182,4 +182,4 @@ For `table.Subscribe`, use `children={(atoms) => ...}` explicitly. ## API Discovery -Inspect `node_modules/@tanstack/vue-table/dist/index.d.ts` and `useTable.d.ts`; verify feature slots and exact beta APIs in `node_modules/@tanstack/table-core/dist/`. Do not reconstruct v9 from v8 memory. +Inspect `node_modules/@tanstack/vue-table/dist/index.d.ts` and `useTable.d.ts`; verify feature slots and the exact installed v9 APIs in `node_modules/@tanstack/table-core/dist/`. Do not reconstruct v9 from v8 memory. From a50ba302f516c57ddb51857349128c4edde19ec0 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 05:10:44 +0000 Subject: [PATCH 3/3] ci: apply automated fixes --- packages/preact-table/skills/migrate-v8-to-v9/SKILL.md | 4 ++-- packages/react-table/skills/migrate-v8-to-v9/SKILL.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md b/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md index dc24244c5c..a123c50570 100644 --- a/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/preact-table/skills/migrate-v8-to-v9/SKILL.md @@ -59,7 +59,7 @@ V8 did not have a first-party Preact adapter; many Preact apps used `@tanstack/r | `getFacetedMinMaxValues()` | `facetedMinMaxValues: createFacetedMinMaxValues()` | | `getFacetedUniqueValues()` | `facetedUniqueValues: createFacetedUniqueValues()` | | Table/factory `sortingFns`, `filterFns`, `aggregationFns` | `sortFns`, `filterFns`, `aggregationFns` slots in `tableFeatures()` | -| Removed `rowModels: { ... }` object | Direct named slots in `tableFeatures()` | +| Removed `rowModels: { ... }` object | Direct named slots in `tableFeatures()` | In the registry slots, register individually imported built-ins (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) under their conventional keys alongside custom functions; the full `filterFns`/`sortFns`/`aggregationFns` registry objects still work but bundle every built-in. @@ -110,7 +110,7 @@ Infer with `typeof features`; use `StockFeatures` only for deliberate `stockFeat ### Shared API and semantic changes -| v8 pinning | v9 | +| v8 pinning | v9 | | -------------------------------------------------------------- | ------------------------------------------------------------- | | `columnPinning.left` / `.right` | `.start` / `.end` | | `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` | diff --git a/packages/react-table/skills/migrate-v8-to-v9/SKILL.md b/packages/react-table/skills/migrate-v8-to-v9/SKILL.md index 095f3111e7..a5cf79217b 100644 --- a/packages/react-table/skills/migrate-v8-to-v9/SKILL.md +++ b/packages/react-table/skills/migrate-v8-to-v9/SKILL.md @@ -70,7 +70,7 @@ Prefer explicit features as the end state. `stockFeatures` is a useful kitchen-s | `sortingFns` table option | `sortFns` slot in `tableFeatures()` | | `filterFns` table option/factory argument | `filterFns` slot in `tableFeatures()` | | `aggregationFns` table option/factory argument | `aggregationFns` slot in `tableFeatures()` | -| Removed `rowModels: { ... }` object | Named row-model slots directly in `tableFeatures()` | +| Removed `rowModels: { ... }` object | Named row-model slots directly in `tableFeatures()` | In the registry slots, register individually imported built-ins (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) under their conventional keys alongside custom functions; the full `filterFns`/`sortFns`/`aggregationFns` registry objects still work but bundle every built-in. @@ -137,7 +137,7 @@ Infer `TFeatures` with `typeof features`. If deliberately using `stockFeatures`, Column pinning now uses logical regions, with no deprecated aliases: -| v8 | v9 | +| v8 | v9 | | -------------------------------------------------------------- | ------------------------------------------------------------- | | `columnPinning.left` / `.right` | `.start` / `.end` | | `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` |