Documentation

Upgrading

How versions are numbered

  • Patch (1.4.1 → 1.4.2): fixes.
  • Minor (1.6.0 → 1.7.0): new features, plus fixes. A fix can change what your app sees — an export that now writes real dates, a search that now finds more rows. Every such change is listed below, under the version that made it.
  • Major: none so far.

The packages of one product do not always share a number: in a release, each package moves by what changed in it. The changelog lists the exact number of every package in each release.

Upgrade the packages together

The Enterprise packages depend on an exact version of the Community ones. Upgrade every @kanunilabs/datagrid* package your app lists in the same command, to the set one release shipped:

npm i @kanunilabs/datagrid-react@latest @kanunilabs/datagrid-react-enterprise@latest

Upgrading only one of them can install a second copy of the engine next to the first. Two copies do not share state: a licence key set through one is not seen by the other. Check that one version is installed:

npm ls @kanunilabs/datagrid-core

One version in the tree is right; two mean a package was left behind.

What changes for you

The changes below can make an existing app behave or type-check differently after an upgrade. Versions not listed asked nothing of you. Going from an older version to the newest, read every entry in between.

DataGrid 1.8.0

@kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected]

  • Four structure themes are renamed: quartz is now minimal, balham is ledger, material is elevated and alpine is framed, and their kanuni-datagrid-theme-* classes with them. An old name is a type error in TypeScript; in plain JavaScript it is treated as a theme of your own and falls back to the default look.

DataGrid 1.7.0

@kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected]

  • A plain click on a chart category keeps every category on the chart, the others dimmed; before, it narrowed the chart to the clicked one. Ctrl/Cmd-click works as before.
  • A remove and an add of the same row id in one applyTransactionAsync now replace the row; before, they cancelled each other out.
  • Loading rows from a server no longer needs a licence. On a Community grid fed by a server, the grouping, server tree and whole-result export entries are not offered; those stay Enterprise.

DataGrid 1.6.0

@kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected]

  • Exports format the grand-total text the way the grid shows it: a PDF totals row reads "$50.00" where it read "50".
  • Excel exports write ISO date strings and epoch numbers in a date column as real dates instead of text.
  • A date column with a dateFormat exports and copies the formatted date (CSV, PDF, clipboard, filter list) instead of the stored value.

DataGrid 1.5.0

@kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected]

  • With deferred select-all, selectionChanged reports the selected rows and their count; before, it reported no rows and a count of 0.

DataGrid 1.4.1

@kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected]

  • In batch editing, a validation rule that reads another column sees the value the user just typed there, not the stored one.

DataGrid 1.4.0

@kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected] · @kanunilabs/[email protected]

  • The CSV separator follows the grid's locale: ; for Turkish, German, French, Spanish, Italian, Portuguese, Russian and Arabic, , elsewhere. If a program reads your CSV files with a fixed separator, pass delimiter to the CSV export.
  • Search, text filters and lookups treat İ, I, ı and i as one letter, and search also matches what a cell shows (valueFormatter, dateFormat). A search can find rows it did not find before.
  • Types: theme is typed GridThemeName; code that copies the prop's type into a GridTheme should use GridThemeName. A dictionary typed as the full GridDictionary needs the eight new licence keys; a partial messages object needs nothing.