@opencorestack/opengridx 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,30 @@
5
5
 
6
6
  ---
7
7
 
8
+ ## [3.2.2] — 2026-10-01
9
+
10
+ ### Security
11
+
12
+ - **Exports no longer slow down on crafted cell text** — the check that tells plain signed numbers ("-12.50") from spreadsheet formulas (CSV/Excel formula-injection guard) could backtrack quadratically on long runs of digits, spaces and separators that end in a non-number character, freezing CSV or Excel export of such a value. It now runs in linear time; results are unchanged. Found by CodeQL.
13
+ - **Sheet names and theme heights** — stripping apostrophes from Excel sheet names and parsing `'36px'`-style theme heights used patterns with the same quadratic worst case; both are linear now, results unchanged.
14
+ - **Column auto-size selector fallback** — where `CSS.escape` is unavailable, field names are now escaped for backslashes as well as quotes.
15
+
16
+ ### Internal
17
+
18
+ - `exceljs` is a devDependency (it stays an optional peer for consumers), so a regenerated lockfile keeps it.
19
+ - Dev-only dependency alerts: `undici` 7.30.0, `dompurify` 3.4.16, and `uuid` overridden to `^11.1.1` (pulled in by `exceljs` 4.4.0) in the repo and smoke fixtures. Consumers who install `exceljs` themselves still get its `uuid` 8 until `exceljs` updates it.
20
+
21
+ ## [3.2.1] — 2026-10-01
22
+
23
+ ### Fixed
24
+
25
+ - **Boolean editor in Safari** — clicking the edit checkbox closed the editor without toggling the value. Safari does not focus a checkbox on click, so mousedown moved focus to the cell and the blur committed the unchanged value before the click arrived. The checkbox now keeps focus on mousedown. Found by the new package smoke suite (WebKit).
26
+
27
+ ### Internal
28
+
29
+ - **Community files** — `CODE_OF_CONDUCT.md` (Contributor Covenant 2.1), `CONTRIBUTING.md`, GitHub issue forms (bug report, feature request) and a pull request template.
30
+ - **Package smoke suite** (`npm run test:smoke`) — packs the library and installs the tarball into strict-TypeScript React 19 and React 18 apps (`e2e/fixtures/`), builds them and runs Playwright Test in Chromium, Firefox and WebKit: rendering, sorting, quick filter, selection, pagination, a 50,000-row grid filling a flex app shell without a `height` prop, row grouping with aggregation, CSV / XLSX / PDF downloads, editors, pinning, column groups, detail panels and the dark theme. Runs in the new `ci.yml` workflow (pull requests), before `npm publish`, and weekly against the newest dependency versions. See `docs/contributing/testing.md`.
31
+
8
32
  ## [3.2.0] — 2026-09-29
9
33
 
10
34
  ### Added
package/README.md CHANGED
@@ -547,6 +547,22 @@ Most React grids gatekeep essential features like **Row Grouping**, **Excel Expo
547
547
 
548
548
  ---
549
549
 
550
+ ## 🤝 Contributing
551
+
552
+ See [CONTRIBUTING.md](https://github.com/OpenCoreStack/OpenGridX/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/OpenCoreStack/OpenGridX/blob/main/CODE_OF_CONDUCT.md). Bugs and feature requests: [open an issue](https://github.com/OpenCoreStack/OpenGridX/issues/new/choose).
553
+
554
+ ### 🧪 Testing
555
+
556
+ ```bash
557
+ npm test # unit tests (jsdom)
558
+ npm run test:browser # real Chromium, Firefox and WebKit
559
+ npm run test:smoke # pack the library, install it into React 18/19 apps, run Playwright
560
+ ```
561
+
562
+ Which layer to use, and how the package smoke suite works: [docs/contributing/testing.md](https://github.com/OpenCoreStack/OpenGridX/blob/main/docs/contributing/testing.md).
563
+
564
+ ---
565
+
550
566
  ## 📝 License
551
567
 
552
568
  MIT © 2026 Open Core Stack