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:
quartzis nowminimal,balhamisledger,materialiselevatedandalpineisframed, and theirkanuni-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
applyTransactionAsyncnow 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
dateFormatexports 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,
selectionChangedreports 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, passdelimiterto 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:
themeis typedGridThemeName; code that copies the prop's type into aGridThemeshould useGridThemeName. A dictionary typed as the fullGridDictionaryneeds the eight new licence keys; a partialmessagesobject needs nothing.