gridcn1.3.0

Project status & compatibility

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

Version

gridcn is at 1.0.0. A breaking change to a public prop, hook, export, or behavior waits for the next major version. Minor and patch versions add features and fix bugs without breaking an existing install. Each breaking change is marked Breaking in the changelog and names the exact replacement.

The registry has no npm semver. A release is a git tag. The hosted registry serves the current source with npx shadcn add @gridcn/data-grid. To pin a release, run npx shadcn add DammersCode/gridcn/data-grid#v1.0.0. The installation guide explains the pinning rules.

What 1.0 promises

  • The props, hooks, and exports that the docs name are the public API. The data-grid-sdk module is the API for add-on authors and follows the same rule.
  • Each release lists its breaking changes in the changelog, grouped by area, with the replacement for each.
  • Installed files are your source. The shadcn CLI shows a diff and asks before it overwrites a file you edited.

It does not promise Firefox or Safari automation, a screen-reader pass, or a WCAG conformance level. The browser support and accessibility pages say what is tested.

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. Each release opens with an Upgrading section that groups its breaking changes by area. 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. Firefox and Safari are not in the automated suite, so no gate covers them. Test your own flows in each engine you ship to.

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.9Every shipped example installs, type-checks, and builds in a fresh Next.js app on TypeScript 5.9. TypeScript 6 and 7 work too.
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. 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 can have already edited:

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

pnpm dlx shadcn@latest add @gridcn/data-grid

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

pnpm dlx shadcn add @gridcn/data-grid --dry-run

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

pnpm dlx 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 instead of a public issue, so a fix can ship before the details become public. Version 1.x receives security fixes. SECURITY.md has the scope and the response time.

See Accessibility for the test status matrix and the checks still pending.

Next steps

On this page