Changes since v6.3.1
Upgrade notes
- Canvas and SVG DOM roots now use
vertical-align: bottom, removing the browser's baseline-descender gap from their containing inline line box. Intrinsic chart dimensions are unchanged, but in tested Chrome layouts the occupied container height shrank by about 6px. Page-level screenshot baselines that include surrounding layout may shift. It is an inline style, so a stylesheet overridingvertical-alignon.marksnow needs!important. Exported SVG is unaffected. (via #4318) - Ordinal scales using continuous color schemes now honor
range.count, which was previously ignored. Without an explicit count the range uses the domain cardinality, falling back to five colors when the initial domain is empty. Existing specs that set"range": {"scheme": "blues", "count": 3}on an ordinal color channel will now get that many colors, cycling if the count is smaller than the domain. (via #4270)
Features
- Add a
container:resizeevent source, so a spec can react to its container changing size the way it reacts to a window resize;containerSize()was previously only re-read onwindow:resize, missing sidebar toggles, flex reflows, notebook cells and resizable panels (thanks @yuvvantalreja and @domoritz!) (via #4318) - Add ISO year-week timeunit support —
isoweekandyear-isoweek, Monday-based per ISO 8601, alongside the existing Sunday-basedweek(thanks @yuvvantalreja and @domoritz!) (via #4320) - Add the d3-ease easing functions and
interpolateLinearto the expression language (thanks @jonathanzong and @domoritz!) (via #4316) - Add
geoTranslate()to read a projection's fitted translation, mirroringgeoScale(); unblocks pan and zoom for maps in Vega-Lite (thanks @joelostblom!) (via #4313)
Fixes
- Provide an ordinal scheme fallback for empty initial domains, and honor
range.counton ordinal scales; closes #3959, a two-year-old bug blocking interactive legends in Altair (vega/altair#3394) (thanks @joelostblom!) (via #4270) - Apply
DisallowedObjectPropertiesto quoted object keys in codegen (thanks @EchoSkorJjj!) (via #4317) - Include
thenin disallowed object properties (thanks @domoritz!) (via #4331) - Re-create global and sticky regexp literals per evaluation in vega-interpreter, so
lastIndexno longer carries across datums (thanks @Jaybhade!) (via #4323) - Add the missing
hypotfunction to vega-interpreter, plus a test asserting the codegen and interpreter function tables agree so they cannot drift again (thanks @Jaybhade, who found the divergence while working on #4323!) (via #4330, closes #4328) - Resolve signals in unioned scale domains (thanks @domoritz!) (via #4325)
- Restore config and locale file loading in the CLI —
--config,--formatand--timeFormathad been silently ignored since the ESM migration (thanks @domoritz, and @jonathanzong whose #4061 surfaced it!) (via #4332, closes #4327) - Update canvas style size when
devicePixelRatiois 1 (thanks @MartenMIK!) (via #4308) - Restore the generic
mergeConfigandwriteConfigsignatures (thanks @domoritz!) (via #4312) - Ignore unsupported
on*properties in signalbindform generation, warning instead of setting them as attributes (thanks @hydrosquall!)
Maintenance
- Add an animated gapminder golden spec covering the first-frame rendering path (thanks @domoritz, and @jonathanzong whose #4061 diagnosed the problem — supersedes #4061) (via #4333)
- Point every intra-repo
vega-utildependency range at 2.1.3, correcting pre-existing drift rather than anything introduced here (thanks @joelostblom!) (via #4335) - Load basemap's topojson from local test data (thanks @jonathanzong!) (via #4315)
- Upgrade to TypeScript 7 (thanks @domoritz!) (via #4324)
- Update browserslist (thanks @domoritz!)
- Dependency bumps via dependabot (
fast-uri,ip-address, and others) (via #4321, #4322, #4326)
Package versions
| Package | Old | New | Reason |
|---|---|---|---|
| vega | 6.3.1 | 6.4.0 | minor — aggregates all changes |
| vega-schema | 6.3.1 | 6.4.0 | tracks vega; gains isoweek and signal refs in unioned domains
|
| vega-cli | 6.3.1 | 6.4.0 | released alongside vega — its exact vega pin must match; config/locale loading fix (#4332)
|
| vega-functions | 6.1.3 | 6.2.0 | feat (#4316, #4313, #4320) |
| vega-view | 6.1.2 | 6.2.0 | feat — container:resize source (#4318)
|
| vega-scenegraph | 5.2.1 | 5.3.0 | feat — vertical-align: bottom on canvas and SVG roots (#4318); fix (#4308)
|
| vega-time | 3.2.1 | 3.3.0 | feat — ISO year-week floors, intervals and units (#4320) |
| vega-typings | 2.2.0 | 2.3.0 | feat — container stream source and config, isoweek, unioned-domain signal refs
|
| vega-encode | 5.2.1 | 5.2.2 | fix (#4270) |
| vega-expression | 6.2.1 | 6.2.2 | fix (#4317) |
| vega-interpreter | 2.3.1 | 2.3.2 | fix (#4323, #4330) |
| vega-parser | 7.1.2 | 7.1.3 | fix (#4325) |
| vega-util | 2.1.2 | 2.1.3 | fix (#4331, #4312) |
| vega-transforms | 5.2.1 | 5.2.2 | dependency ranges |
| vega-view-transforms | 5.2.1 | 5.2.2 | dependency ranges |
| vega-crossfilter | 5.1.2 | 5.1.3 | dependency ranges |
| vega-dataflow | 6.1.2 | 6.1.3 | dependency ranges |
| vega-force | 5.1.2 | 5.1.3 | dependency ranges |
| vega-format | 2.1.2 | 2.1.3 | dependency ranges |
| vega-geo | 5.1.2 | 5.1.3 | dependency ranges |
| vega-hierarchy | 5.1.2 | 5.1.3 | dependency ranges |
| vega-label | 2.1.2 | 2.1.3 | dependency ranges |
| vega-loader | 5.1.2 | 5.1.3 | dependency ranges |
| vega-projection | 2.1.2 | 2.1.3 | dependency ranges |
| vega-projection-extended | 3.1.2 | 3.1.3 | dependency ranges |
| vega-regression | 2.1.2 | 2.1.3 | dependency ranges |
| vega-runtime | 7.1.2 | 7.1.3 | dependency ranges |
| vega-scale | 8.1.2 | 8.1.3 | dependency ranges |
| vega-selections | 6.1.4 | 6.1.5 | dependency ranges |
| vega-voronoi | 5.1.2 | 5.1.3 | dependency ranges |
| vega-wordcloud | 5.1.2 | 5.1.3 | dependency ranges |
vega-canvas, vega-event-selector and vega-statistics are unchanged.
New Contributors
- @MartenMIK made their first contribution in #4308
- @EchoSkorJjj made their first contribution in #4317
- @Jaybhade made their first contribution in #4323
- @yuvvantalreja made their first contribution in #4320
Full Changelog: v6.3.1...v6.4.0