gridcn

Project status & compatibility

Version, changelog discipline, browser and framework support, and how to update installed code.

Version

gridcn is at 0.1.0. Before 1.0, a breaking change can land in a minor step; each one is marked Breaking in the changelog with a migration note. Three add-on extractions already happened this way (fill handle, multiplayer presence, pinned rows). After 1.0, breaking changes wait for the next major.

Changelog

Every notable change lives in CHANGELOG.md at the root of the repository, grouped under Added, Changed, and Fixed. A Changed entry that breaks a public prop or hook is marked Breaking and states the exact replacement. Read it before you upgrade installed files, and check it again after every npx shadcn add re-run.

Browser support

Built and tested on evergreen browsers

gridcn targets evergreen Chromium, Firefox, and Safari. The regression suite runs real Chromium through Playwright. It does not run Firefox or Safari, so treat those two as supported by design and by manual spot-checks, not by an automated gate.

Known engine-specific caveats, found in source and tests:

AreaCaveat
Clipboard pastenavigator.clipboard.readText() needs the clipboard-read permission. Chromium grants it after a user gesture; other engines can prompt or deny it. When the read rejects, gridcn falls back to a "press Ctrl+V" hint instead of failing silently.
Clipboard copyCopy uses the async Clipboard API (navigator.clipboard.write with ClipboardItem) when available, and falls back to document.execCommand("copy") in environments without it.
Row count ceilingThe hard ceiling of about 1M rows is a Chromium CSS Grid track limit, not a gridcn limit. See Performance.
Pointer captureColumn resize, column reorder, and the fill handle use setPointerCapture/releasePointerCapture, standard in every evergreen engine. No fallback exists for engines without it.

Run the benchmarks yourself

The regression suite (blank-area checks, an FPS gate, a wasted-render probe) is the real trust asset behind these claims. See the Benchmarking section in the repository's DEVELOPMENT.md to run it yourself.

Framework floors

RequirementFloorWhy
React19Hard dependency, not a tested baseline. gridcn's store reads context through React's use() API (use(DataGridStoreContext), use(DataGridRootContext)), which does not exist in React 18.
Tailwindv4gridcn's tokens and utility classes assume the v4 engine and its @theme syntax.
TypeScript5.9 stable, or the repo's own 6.0.3 pinThe repository pins a newer TypeScript internally, but every shipped example is proven to compile on stable TypeScript 5.9.3 through a dedicated consumer-install test harness. A consumer on stable TypeScript is a supported, verified target, not an afterthought.
Node.js20.9 or laterThis is Next.js 16's floor, inherited by the docs site and by any project running the shadcn CLI through npx. gridcn itself has no separate Node requirement.

React Compiler

gridcn is tested with the React Compiler (babel-plugin-react-compiler 1.0.0): every component compiles, and the full unit and browser suites pass against compiled output with no behavior change. A dedicated compiled test run guards this compatibility in CI.

The compiler is not what runs continuously during gridcn's own development — day-to-day work happens against uncompiled output. A compiler-specific issue can therefore surface later than a regular bug would. If you hit one, report it with reactCompiler in the title.

Updating installed code

Your installed files are ordinary source, so "updating" means pulling upstream changes into files you may have already edited:

Full re-install. Re-run the install command for the item:

npx shadcn add @gridcn/data-grid

Preview first. --dry-run prints a per-file status list (identical, changed, new) without writing anything:

npx shadcn add @gridcn/data-grid --dry-run

Diff one file. --diff <path> prints a unified diff between your local copy and upstream:

npx shadcn add @gridcn/data-grid --diff src/components/data-grid/data-grid.tsx

For heavily edited files, install the item into a scratch branch and diff the two trees with git diff --no-index.

Support & security

File bugs, feature requests, and questions in the project repository's issue tracker.

To report a security vulnerability, open a private security advisory on the repository instead of a public issue, so a fix can ship before the details become public.

See Accessibility for the conformance target and the test status matrix.

Next steps

On this page