Upgrading¶
Each section lists what changes between two releases and whom it concerns; Breaking marks a change that needs your action when it applies.
From 0.5 to 0.6¶
Hosts of the report change nothing: views, files and links of 0.5 load with the same result, and the
new features are off until you turn them on. Scripts that read what pivotkit-report or the command
line write check the last two rows. Each package's CHANGELOG.md has the full list.
| Change | Applies to you when | Action |
|---|---|---|
| Versions move together | you also install pivotkit-core, pivotkit-report or pivotkit-xlsx yourself | update them to the same release |
| Export → Table as CSV | your tests or screenshots look for "CSV file (.csv)" | look for "Table as CSV (.csv)" |
| Source data | you want people to download the rows | set exportData (export-data); off by default |
| The report's words in pivotkit-report | a script reads the words of a report pivotkit-report or the CLI writes | take the new words, or pass labels: DEFAULT_LABELS |
| Command line | a script runs pivotkit and reads its exit code, --json or stderr |
check the list below |
Versions move together¶
Each package depends on the others of the same release, and in 0.x a caret range admits one minor only. A host that also lists pivotkit-core, pivotkit-report or pivotkit-xlsx itself updates them to the versions released with pivotkit-react 0.6 (their CHANGELOGs say which), or npm installs two copies.
Export → Table as CSV¶
The Export menu's CSV file (.csv) is called Table as CSV (.csv) (German Tabelle als CSV
(.csv)), so it is not taken for the rows behind the report. Its label key (exportCsv) and its
onExport kind "csv" stay.
Source data¶
exportData (pivotkit-element: export-data) adds Source data to the Export menu: every row of
the data shown as CSV or JSON. It is off by default because it holds columns no view places; see
security. onSaveTemplate, onPublishTemplate and the element's
pivot-template-save and pivot-template-publish also get source, the data the view was made for;
a host that ignores it changes nothing.
The report's words in pivotkit-report¶
Without labels, render() (and so pivotkit render) writes the report's words in the language of
its locale, German for de-DE ("Gesamtergebnis", "Summe von Units"), and in English the words the
report on a page shows: "Yes" and "No" instead of "true" and "false", "Distinct count" instead of
"Count Unique". The HTML report's details give "Rows: 8" (it said "Rows: 8 rows"). Pass
labels: DEFAULT_LABELS (pivotkit-core) for the engine's own words.
Command line¶
- A view file or link that names a workbook's sheet the data does not have is an error (exit 2,
NO_SHEET), not a run on the first sheet;--sheetreads another. --strictalso fails onLINES_SKIPPED(title lines skipped, a warning now) and on the newnoRowsKept(filters that keep no row).--json:validateanddescribeof a view adduses;describeof a view givesfindingsinstead oferrorsandwarnings;describeof data givesrows,fieldsandtext; every command with data givessheet.-o report.html -f csvis a usage error (the name and the format disagree).- Usage errors end with
see "pivotkit help <command>", andrendersays on stderr what it wrote (-qkeeps it off).
From 0.4 to 0.5¶
Most hosts change nothing: views, files and links of 0.4 load with the same result. Check the list
below for what your page does; Breaking marks a change that needs your action when it applies.
Each package's CHANGELOG.md has the full list.
| Change | Applies to you when | Action |
|---|---|---|
| Breaking: view and file format 2 | users share views, files or links with a page that still runs 0.4 | upgrade those pages too |
| Breaking: dark theme selectors | your CSS sets --pk-* tokens for the dark theme |
write them for [data-pk-theme="dark"] |
| Breaking: import maps | your page loads pivotkit-react through an import map | map pivotkit-report and pivotkit-core/chart |
| Colour scale in blue | you liked red, yellow, green | set three tokens |
| Column subtotals off | your start view or templates rely on column subtotals | add totals: { colSubtotals: true } |
Label filter removed |
you pass labels.filter |
nothing; remove it |
| Font weights 550 and 650 are 600 | you compare screenshots | nothing, or --pk-weight-strong |
| Chart text 14 px | you compare screenshots | nothing |
View and file format 2¶
Breaking. The report writes views, view files and links of format
version 2: a filter has one shape with not and blanks. Views, files and links of version 1 load
with the same result. pivotkit 0.4 refuses a view, file or link of version 2 as newer, so a link
shared from the new release does not open on a page that still runs 0.4. A host that reads the
filters of a normalized view in its own code reads the new shape (pivotkit-core's CHANGELOG lists the
names).
Dark theme selectors¶
Breaking for a host that sets its own dark colours. Write them for the theme the report shows, not for an attribute of the page:
/* pivotkit-react */
.pk-root[data-pk-theme="dark"] {
--pk-surface: #101418;
}
/* pivotkit-element */
pivot-report[data-pk-theme="dark"] {
--pk-surface: #101418;
}
A rule such as html[data-theme="dark"] .pk-root keeps working on screen, but the Excel export and
the HTML report read the light theme by showing it on the report for a moment: a rule on the page's
attribute stays active then, and your dark colours land in the file
(Theming, Light and dark).
Import maps¶
Breaking for a page without a bundler. pivotkit-react imports pivotkit-report (on the first
HTML report, SVG or print of the Export menu) and pivotkit-core/chart (on the first chart) by their
bare names: add both to the import map
(Bundlers and import maps). A bundler and pivotkit-element need
nothing.
Colour scale¶
A colour scale without colours of its own runs from light to strong blue (--pk-scale-low and
--pk-scale-high, the heatmap's colours): it says "more", not "good" or "bad". --pk-scale-mid is no
longer set; a host that sets it gets a three-colour scale. The colours of 0.4, red over yellow to
green, come back with these tokens (on pivot-report for the web component):
.pk-root {
--pk-scale-low: #f8696b;
--pk-scale-mid: #ffeb84;
--pk-scale-high: #63be7b;
}
.pk-root[data-pk-theme="dark"] {
--pk-scale-low: #c2413f;
--pk-scale-mid: #b39a2e;
--pk-scale-high: #3f9a5c;
}
The Excel export and the HTML report take them too. A view's own colours are unchanged. With
pivotkit-core alone, pass theme: { colorScale: ["#f8696b", "#ffeb84", "#63be7b"] } to toXlsx.
Column subtotals¶
Column subtotals are off by default; row subtotals and both grand totals stay on. Every view the
report saves, shares or stores names all four totals, so these keep what they showed. A start view, a
template or a view file written by hand without totals.colSubtotals shows no column subtotals now:
add totals: { colSubtotals: true } to keep them.
Labels¶
The field list's menu has one entry for filtering, Add to Filters; the label key filter of the
old "Filter…" entry is gone, and a host's text for it is ignored.
Font weights¶
The font weights are four tokens (--pk-weight-normal 400, --pk-weight-medium 500,
--pk-weight-strong 600, --pk-weight-bold 700). The weights 550 (field chips, the drill-down's
path) and 650 (titles, table headers) are 600 (--pk-weight-strong); a font without those faces drew
them as 600 or 700 anyway.
Chart text¶
The chart's axes, legend and labels are 14 px (--pk-chart-text-size, by default --pk-small), not
ECharts' 12 px; labels slant or thin out a little sooner. Text in the report is never below 14 px.
With pivotkit-core alone, theme: { textSize: 12 } keeps the old size.