Skip to content

v1.2.0

Choose a tag to compare

@ndlabdev ndlabdev released this 18 Aug 12:23
· 22 commits to main since this release
30a3ec1

Fifteen defects, found by putting the shapes a JSON API actually delivers through every feature that reads a value.

Fixed

  • Dates. A Date cell was filtered, sorted and exported by its instant rather than its day, so east of Greenwich a row reading 10 January went unfound by a filter asking for 10 January, and an export wrote the 9th. A plain 2026-03-14 drew as 13 March west of it.
  • Quick filter. It searched the value behind the cell, so no formatted column could be found by what it showed. It matches both now, and got faster doing it: 29ms to 6ms per keystroke at 100k rows.
  • Percent columns. The filter panel wanted 0.05 for a cell reading 5%. It takes 5, and stores the ratio.
  • Editors. A date editor opened empty over a cell holding a Date, and committing wrote the emptiness back. Pasting 42 into a number column stored the string.
  • Set filters could not match a column of Date objects at all, and did not survive a snapshot.
  • Export called one page "All rows" under rowModel: 'server'. It says "Loaded rows", and onExportAll points the item at your own endpoint.
  • Enter no longer turns the page when it commits the last row of one.
  • Edit chrome. A row edit drew a box inside a box, and the row separator painted over the ring of the cell editor it rings.

Changed

  • Sorting, at 100k rows: 73ms to 18ms by number, 386ms to 265ms by string.
  • Wide grids. Every column rendered until the container was measured. 2,000 columns mounted in 2.3s, now 37ms; 20,000 mounts in 304ms.
  • Locale packs layer over English, so a pack of five strings works and a new label breaks nobody.
  • The server request carries nulls and quickFields, which a backend cannot otherwise know.

Full detail in CHANGELOG.md.