npm vega 6.4.0
v6.4.0

3 hours ago

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 overriding vertical-align on .marks now 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:resize event 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 on window:resize, missing sidebar toggles, flex reflows, notebook cells and resizable panels (thanks @yuvvantalreja and @domoritz!) (via #4318)
  • Add ISO year-week timeunit support — isoweek and year-isoweek, Monday-based per ISO 8601, alongside the existing Sunday-based week (thanks @yuvvantalreja and @domoritz!) (via #4320)
  • Add the d3-ease easing functions and interpolateLinear to the expression language (thanks @jonathanzong and @domoritz!) (via #4316)
  • Add geoTranslate() to read a projection's fitted translation, mirroring geoScale(); 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.count on ordinal scales; closes #3959, a two-year-old bug blocking interactive legends in Altair (vega/altair#3394) (thanks @joelostblom!) (via #4270)
  • Apply DisallowedObjectProperties to quoted object keys in codegen (thanks @EchoSkorJjj!) (via #4317)
  • Include then in disallowed object properties (thanks @domoritz!) (via #4331)
  • Re-create global and sticky regexp literals per evaluation in vega-interpreter, so lastIndex no longer carries across datums (thanks @Jaybhade!) (via #4323)
  • Add the missing hypot function 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, --format and --timeFormat had been silently ignored since the ESM migration (thanks @domoritz, and @jonathanzong whose #4061 surfaced it!) (via #4332, closes #4327)
  • Update canvas style size when devicePixelRatio is 1 (thanks @MartenMIK!) (via #4308)
  • Restore the generic mergeConfig and writeConfig signatures (thanks @domoritz!) (via #4312)
  • Ignore unsupported on* properties in signal bind form 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-util dependency 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

Full Changelog: v6.3.1...v6.4.0

Don't miss a new vega release

NewReleases is sending notifications on new releases.