Skip to content

Tags: alaarab/ogrid

Tags

v2.15.2

Toggle v2.15.2's commit message
chore: release v2.15.2

v2.15.1

Toggle v2.15.1's commit message
chore: release v2.15.1

v2.15.0

Toggle v2.15.0's commit message
chore(release): 2.15.0

v2.14.1

Toggle v2.14.1's commit message
feat: large-scale virtualization — scaled spacer + windowed data sour…

…ce (2.14.1)

AG-Grid-style virtual scrolling for very large datasets.

- Scaled spacer: useVirtualScroll auto-engages past ~931k rows, clamping the
  DOM spacer under the browser height cap and remapping scrollTop through a
  scale factor. New core math: computeScaledGeometry/Window, scrollTopForRowScaled.
- Windowed (lazy) data source wired into the render path: IOGridDataGridProps
  gains a `windowed` accessor; the virtualized body reads each visible row by
  index and calls requestWindow as the viewport moves. New shared component
  WindowedPlaceholderRow for loading/error rows.
- XlsxGrid now runs fully virtualized (enabled + paginate:false) so CSV/XLSX
  previews scroll continuously over the whole sheet; defaultSortBy:'' keeps
  rows in sheet order.
- Fix: infinite render loop in useOGridDataFetching (windowed effect keyed on
  filter object identity) — re-keyed on a content string.
- Removed throwaway __spike__ code and its exceljs devDep.
- New Storybook stories: WindowedDataSource (radix + fluent).

All packages bumped to 2.14.1 and published to npm.

v2.13.0

Toggle v2.13.0's commit message
release(2.13.0): @alaarab/ogrid-react-xlsx headerRow option + auto-pr…

…omote default

- New `headerRow: 'auto' | 'header' | 'none'` option on
  sheetToGridData / XlsxGrid / XlsxWorkbookGrid / mount(). Default 'auto'
  promotes row 1 to column.name when it's all strings, fixes the
  "double A/B/C header" UX bug for consumers using cellReferences:true.
- columnId stays as the Excel letter so cellReferences and
  INDIRECT("A1") keep resolving the same way; initialFormulas row
  indices shift down by one to compensate.
- publish:all script now includes react-xlsx in dep order.

v2.12.0

Toggle v2.12.0's commit message
release(2.12.0): swap SheetJS → ExcelJS in @alaarab/ogrid-react-xlsx

The npm `xlsx` package is permanently stuck at 0.18.5 (CVE-2023-30533
prototype pollution, CVE-2024-22363 ReDoS); the patched SheetJS is
only distributed via cdn.sheetjs.com. Replaced with ExcelJS — MIT,
actively maintained, npm-published, no known CVEs.

CSV/TSV reading is handled inline via a small RFC 4180 parser so
single-sheet text files keep working. Legacy .xls (binary), .xlsm,
.xlsb, and .ods are dropped — no maintained npm reader supports them.

API surface:
- workbookFromBlob() now returns ExcelJS.Workbook (was XLSX.WorkBook).
- sheetToGridData() accepts ExcelJS.Worksheet | null | undefined.
- The package no longer re-exports XLSX. Consumers parsing workbooks
  themselves should switch to `new ExcelJS.Workbook().xlsx.load(buf)`.
- Output shape (columns, rows, initialFormulas) is unchanged.

Workspace: all 11 packages bumped to 2.12.0 to keep versions aligned.

v2.11.1

Toggle v2.11.1's commit message
chore(release): v2.11.1 — patch SheetJS to fix CVE-2023-30533 + CVE-2…

…024-22363

react-xlsx now sources xlsx from cdn.sheetjs.com (the vendor's official
channel) at version 0.20.3. The npm xlsx package is permanently stuck
at the vulnerable 0.18.5 — SheetJS stopped publishing there. Same API,
same supported formats, same formula engine surface. All other packages
bumped to keep the workspace versions aligned.

v2.11.0

Toggle v2.11.0's commit message
v2.11.0 — full native bun:test migration

v2.10.0

Toggle v2.10.0's commit message
v2.10.0 — Bun migration, React-only main

v2.9.1-multiframework

Toggle v2.9.1-multiframework's commit message
refactor: freeze react-material at v2.9.1; React surface narrows to R…

…adix + Fluent

MUI's v7 → v9 jump (no v8 ever published as a release) dropped
Typography props the adapter relies on. Rather than port to v9 and
keep paying the MUI churn tax, freeze the same way as Angular and Vue.

react-material stays on disk and on npm at v2.9.1; existing installs
keep working. Active React surface is Radix + Fluent UI.

Build / release / CI:
- Root package.json: workspaces drops packages/react-material; test:material,
  dev:react-material, storybook:react-material removed; publish:all
  trimmed; build:react-family + test:react-family no longer fan out
- packages/react-material/package.json: "private": true
- .size-limit.json: react-material entry removed
- playwright.shared.ts + scripts/run-playwright-matrix.mjs: react-material
  / port 3002 dropped from matrix
- packages/examples/package.json: drops @alaarab/ogrid-react-material +
  @mui/material + @mui/icons-material + @mui/x-data-grid + @emotion/*;
  matching dev/build scripts removed
- packages/docs/package.json: drops @alaarab/ogrid-react-material +
  @mui/material + @emotion/*
- packages/docs/docusaurus.config.ts: webpack alias + footer link
  removed

Docs / homepage:
- ArchitectureDiagram: react-material shown as "Frozen at v2.9.1" inside
  the React column
- EpicCTA + index.tsx: React + Material card / install rotation entry /
  framework picker UI kit / code example comment all stripped
- getting-started/{overview,installation,quick-start}.mdx: Material UI
  install / row / table / tip removed
- installation.mdx: "Frozen adapters" section now lists react-material
  alongside Angular/Vue with the MUI v9 reason called out
- README + AGENTS.md + ARCHITECTURE.md: package matrices, dependency
  graphs, storybook commands updated

MCP server:
- detect_version install hint and quick-reference resource drop the
  React (Material) install line

Verification:
- 11/11 active workspace builds clean (turbo)
- core 1575/1575 · react 583/583 · mcp 41/41 · js
- docusaurus build clean
- 21 audit findings still all the same upstream uuid<14 in
  mermaid/sockjs (no fix available)

Thaw path unchanged: re-add packages/react-material to root workspaces,
drop "private": true, npm install. If you do thaw, port to MUI 7.3.10
or audit the v9 Typography breakage first.