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:
| Area | Caveat |
|---|---|
| Clipboard paste | navigator.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 copy | Copy 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 ceiling | The hard ceiling of about 1M rows is a Chromium CSS Grid track limit, not a gridcn limit. See Performance. |
| Pointer capture | Column 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
| Requirement | Floor | Why |
|---|---|---|
| React | 19 | Hard 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. |
| Tailwind | v4 | gridcn's tokens and utility classes assume the v4 engine and its @theme syntax. |
| TypeScript | 5.9 stable, or the repo's own 6.0.3 pin | The 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.js | 20.9 or later | This 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-gridPreview first. --dry-run prints a per-file status list (identical, changed, new) without
writing anything:
npx shadcn add @gridcn/data-grid --dry-runDiff 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.tsxFor 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.