Releases: vega/vega
v5.11.1
Changes from v5.11.0:
monorepo
- Update dev dependencies.
vega-hierarchy
- Update tests for tape 5.0.
vega-scenegraph
- Use single quotes for generated aria-label captions. (Thanks @sprmn!)
- Escape double quotes in SVG attributes, add test case.
vega-statistics
- Update tests for tape 5.0.
vega-view-transforms
- Update tests for tape 5.0.
v5.11.0
Notable Additions
- Preliminary support for ARIA accessibility attributes in SVG output. Mark and guide definitions now include automatically-generated roles and labels, which can be customized using
description
andaria
properties. Individual mark items do not include ARIA attributes by default (which helps prevent bloat of both the scenegraph and output SVG), but these can be added usingdescription
andaria
encoding channels. - Improve generated HTML form elements for signal bindings. Deployments that use custom CSS for styling bound elements may wish to make minor adjustments.
dayofyear
time unit support for thetimeunit
transform.dayofyear
,week
,utcdayofyear
, andutcweek
expression functions.- Axis
domainCap
,gridCap
, andtickCap
properties.
Changelog
Changes from v5.10.1:
monorepo
- Add ARIA attribute generation documentation.
- Update eslint setup, consolidate configuration.
- Update dev dependencies.
vega
- Add
calendar
test specification. - Add
overview-detail-bins
test spec to test suite. - Update crossfilter test scenes to include
description
property output.
vega-encode
- Move internal tick, label utilities to vega-scale.
- Fix valid tick check calculation. (#2531)
vega-functions
- Add
dayofyear
,week
,utcdayofyear
,utcweek
expression functions.
vega-geo
- Fix density utility size input checking bug.
vega-parser
- Add ARIA attribute generation for marks and guides via
aria
anddescription
properties. - Add backing scale names to axis, legend datum objects.
- Add
zindex
support for guide config. - Add axis
domainCap
,gridCap
, andtickCap
properties. (Thanks @kanitw!)
vega-scale
- Add tick, label guide utilities from vega-encode.
- Add
domainCaption
utility. - Fix overflow with large domain and small
tickMinStep
(#2550, thanks @rwoollen!)
vega-scenegraph
- Add ARIA attribute generation to SVG renderers:
- Parent
<g>
tags for mark items include automaticrole
andaria-roleDescription
attributes. - Parent
<g>
tags for axes and legends include automaticaria-label
captions. - Attribute generation for mark and guide definitions can be customized using the
aria
anddescription
properties. Ifaria
isfalse
, the content is hidden from the accessibility tree by settingaria-hidden
SVG attribute. Thedescription
property determines thearia-label
SVG attribute. - Individual mark items do not include ARIA attributes by default, but these can be added using the encoding channels
aria
anddescription
. If adescription
is provided andaria !== false
, then Vega will generate accompanyingrole
andaria-roledescription
attributes for a mark item.
- Parent
- Provide experimental
ariaRole
andariaRoleDescription
encoding channels for individual marks, which override the defaultrole
andaria-roledescription
attributes generated by Vega. However, note that these are experimental features and so may change at a later date.
vega-schema
- Add ARIA accessibility properties to mark, guide, and encode schemas.
- Add axis
domainCap
,gridCap
, andtickCap
properties.
vega-time
- Add
dayofyear
time unit support and corresponding tests. - Add
dayofyear
,week
,utcdayofyear
,utcweek
utility functions. - Add export for
TIME_UNITS
array of valid time unit strings.
vega-transforms
- Update
TimeUnit
transform parameter schema to enforce valid time unit strings.
vega-typings
- Add ARIA accessibility properties to mark, guide, and encode typings.
- Add
dayofyear
option toTimeUnit
transform typings. - Add
zindex
support for guide config. - Add axis
domainCap
,gridCap
, andtickCap
properties.
vega-view
- Improved semantic HTML for generated signal bindings to form input elements.
v5.10.1
Changes from v5.10.0:
vega-encode
- Update default guide label format to support multi-line arrays. (#2456)
vega-loader
- Use
startsWith
rather thanindexOf
for string prefix checks.
vega-parser
- Use
startsWith
rather thanindexOf
for string prefix checks. - Set default
fill
andsize
fortrail
mark config.
vega-transforms
- Fix
window
operator init state forprev_value
andnext_value
. (#2475.)
vega-typings
- Update mark config for arc mark.
vega-view-transforms
- Fix
Overlap
transform to early exit when there are no items (#2449).
v5.10.0
Notable Additions
- The Vega parser now generates a built-in
background
signal which the view uses to set the background color. While not technically a breaking change (specs will still parse and evaluate successfully), existing specs that use a signal named"background"
may not render the same as before, in which case a different signal name should be used. - Top-level properties (
autosize
,background
,padding
,width
,height
) accept signal references, such as{"signal": "<expr>"}
, which map to a signal definition'supdate
property. If the top-levelsignals
array contains an entry that matches one of these properties, the definitions will be merged, with precedence given to the properties defined in thesignals
array. - Vega views now include ARIA attributes on the view container DOM element. The
role
attribute is set to"figure"
, and thearia-label
attribute is set to the specificationdescription
property. - The
aggregate
andwindow
transforms support theproduct
operation to multiply values. - The config supports a top-level
lineBreak
option for setting a global default for text line breaks. This property should be a string or regexp value, or a corresponding signal reference. - Support for text
baseline
valuesline-top
andline-bottom
. These values are similar totop
andbottom
baselines, but calculated relative to thelineHeight
rather thanfontSize
alone. - Support for color blend modes via the new
blend
encoding channel. The allowed values are:multiply
,screen
,overlay
,darken
,lighten
,color-dodge
,color-burn
,hard-light
,soft-light
,difference
,exclusion
,hue
,saturation
,color
,luminosity
. For Canvas rendering, the blend is set via the context 2DglobalCompositeOperation
property. For SVG rendering, the blend is set via the CSSmix-blend-mode
style. The default Vega value isnull
(orundefined
), which maps to the default values"source-over"
(for Canvas) and"normal"
(for SVG). For more, see the CanvasglobalCompositeOperation
and CSSmix-blend-mode
documentation, including limitations in cross-browser support. - Support for configuration of cross-origin image handling. Vega uses
crossOrigin="anonymous"
by default for loaded images, which allows images loaded from a different host to be included in exported visualization images (and thereby avoid "tainted canvas errors"), so long as the server provides permission via proper CORS headers. This default can be overridden by providing loader options to the Vega view that include acrossOrigin
property. If this property is defined and maps to a value ofnull
orundefined
, then ano-cors
fetch will be performed instead. - Add axis
labelOffset
property to adjust axis label position in addition totickOffset
, andlabelLineHeight
to set the line height for multi-line axis labels.
Changelog
Changes from v5.9.2:
docs
- Add
description
entries to all specifications in the example gallery. - Update documentation for all new features.
vega
- Update test specifications to avoid use of signals named
"background"
.
vega-loader
- Add
crossOrigin
URI sanitization configuration for images. (#2238)
vega-parser
- Add built-in
background
signal to drive view background. - Add support for top-level properties to take signal-values.
- Add application of
lineBreak
config option to text marks. (#2370) - Add axis
labelOffset
property. (thanks @kanitw! #2317) - Add axis
labelLineHeight
property. (thanks @kanitw! #2437) - Add description support to parser output and config.
vega-scenegraph
- Add
crossOrigin
image handling support. (#2238) - Add
blend
encoding channel support. (#2311) - Add
line-top
,line-bottom
text baseline options. (#2395) - Add text trimming to ensure consistent output. (#2418)
- Fix linear gradient to use normalized bounding box coordinates. (#2365)
- Fix canvas damage/redraw: Align to base pixel grid in case of non-integer scaling. (#2425)
vega-schema
- Add
blend
encoding to schema. - Add
line-top
,line-bottom
text baseline options. (#2395) - Add top-level signal-valued properties to schema.
- Add axis
labelOffset
andlabelLineHeight
properties to schema.
vega-transforms
- Add
product
aggregate operation. (#2307)
vega-typings
- Add
blend
encoding to typings. - Add
line-top
,line-bottom
text baseline options. (#2395) - Add top-level signal-valued properties to typings.
- Add
lineBreak
config typing. (#2370) - Add axis
labelOffset
andlabelLineHeight
typings.
vega-util
- Fix prototype pollution vulnerability.
vega-view
- Add ARIA attributes and View
description
method. - Use
background
signal to control the view background color. - Update
padding
method to handle numeric values.
vega-view-transforms
- Fix axis title layout bounds to avoid improper padding offset. (#2368)
- Fix view layout resize code to avoid invocation of padding until needed.
v5.9.2
Changes from v5.9.1:
docs
- Add clock, watch, and pacman examples. (Thanks @mathiastiberghien and @domoritz!)
monorepo
- Update dev dependencies.
vega
- Allow patch updates for Vega packages.
- Add
images-inline
test specification.
vega-loader
- Fix URI sanitization to accept
data:
prefix URIs. (#2407)
vega-parser
- Fix legend
columns
value handling. (#2268)
vega-scenegraph
- Add memoization to speed up text width measurements. (Thanks @domoritz!)
vega-schema
- Fix
date
-type transform parameter support.
vega-statistics
- Fix exponential regression robustness, mean-center x-values. (#2378)
vega-transforms
- Fix TimeUnit
maxbins
,extent
parameter support. (Thanks @haldenl!)
vega-typings
- Fix missing
zindex
mark encoding typing. (#2341) - Update typings. (Thanks @danmarshall, @domoritz, @kanitw!)
vega-util
- Add
lruCache
data structure, tests, and documentation.
v5.9.1
Changes from v5.9.0:
vega
- Fix rollup script to resolve symlinks.
vega-encode
- Fix log scale legend values and format. (#2290)
vega-projection-extended
- Fix rollup script to resolve symlinks.
vega-regression
- Update vega-statistics dependency.
vega-statistics
- Fix r-squared calculation for poly and quad regression. (Thanks @jakevdp!)
vega-time
- Fix time floor step bug, add tests. (#2270)
vega-util
- Fix
splitAccessPath
escape handling, add tests. (#2287)
v5.9.0
Notable Additions:
- New Annual Precipitation example.
- Signal bindings for
select
andradio
input now support alabels
array. - Group mark
strokeOffset
andstrokeForeground
properties to control rectangle rendering. - The default set of map projections now includes the
mollweide
projection. - Improved numerical robustness for regression methods.
- Support
translate
andscale
transformations in theisocontour
transform. - Support for fully asynchronous data loading, via data
async
flag. - Support for adding new scale implementations at runtime.
Changes from v5.8.1:
docs
- Add Annual Precipitation example. (thanks @mattijn!)
vega
- Add ES5 build support via Babel. (thanks @nyurik!)
- Add
isocontour-precipitation
test specification. (thanks @mattijn!) - Update
dynamic-url
test specification to includeasync
. - Update test scenegraphs in response to scale updates.
vega-dataflow
- Add asynchronous operator execution support.
vega-encode
- Fix legend item lookup bug.
- Add spacing to legend range labels.
vega-event-selector
- Add initial TypeScript typings.
vega-expression
- Add initial TypeScript typings.
vega-geo
- Add
isocontour
scale and translate support. (#2163)
vega-parser
- Add
async
data loading property.
vega-projection
- Add
mollweide
projection to default set. - Update dependencies.
vega-projection-extended
- Add
hyperElliptical
,interruptedQuarticAuthalic
,nicolosi
projections. - Drop
naturalEarth1
,mollweide
projections (move to vega-projection defaults).
vega-scale
- Refactor scale and metadata registration. (thanks @bmatcuk!)
- Add initial TypeScript typings.
- Update dependencies.
vega-scenegraph
- Add group mark
strokeOffset
property. (#2186) - Add group mark
strokeForeground
property. (#2197) - Fix group offset adjustment to interpolate smoothly.
- Fix SVG renderer clip maintenance bug. (thanks @donghaoren!)
- Fix
boundContext
to calculate tight bounds for Bezier curves. - Fix canvas renderer group gradient offset bug.
vega-schema
- Add signal bind
labels
to schema. - Add
isocontour
transformtranslate
parameter to schema. - Add
async
data property to schema. - Add group mark
strokeOffset
to schema.
vega-statistics
- Fix regression methods for numerical stability.
- Fix regression number coercion.
vega-transforms
- Add
Load
transformasync
parameter. - Fix to use infinite bin values outside extent bounds. (#2227)
- Fix bin stop boundary error. (#2181)
vega-typings
- Add signal bind
labels
typings. - Add
isocontour
transformtranslate
parameter typings. - Add
async
data property typing. - Add group mark
strokeOffset
typings. - Update
config
object typings.
vega-util
- Fix infinite loop bug in
extent
. (#2177, thanks @tuner!) - Fix null result case output for
extentIndex
. - Add tests for
extent
andextentIndex
.
vega-view
- Add
labels
property for radio/select bindings.
vega-wordcloud
- Fix
fontSize
flooring to handle floating point error.
v5.8.1
v5.8.0
Notable Additions:
- New transform (
timeunit
) and expression functions for handling date-time values. - New transforms for more flexible 2D density estimation (
kde2d
), flexible isocontour generation (isocontour
), and heatmap image rendering (heatmap
). - The
image
mark now supports dynamicimage
andsmooth
properties. - The
path
mark has new rotation (angle
) and scale properties (scaleX
,scaleY
). - More flexible
cornerRadius
control forrect
andgroup
marks.
Deprecations:
- The
contour
transform is now deprecated and may be removed in a future major release. Instead, use the new, more expressiveisocontour
,kde2d
, andheatmap
transforms.
Changes from v5.7.3:
docs
- Add documentation for new features.
- Add density-heatmaps example.
- Add radar-chart example. (thanks @benib!)
- Update contour-plot example.
- Update population-pyramid example.
- Update volcano-countours example.
vega
- Add vega-time utilities.
- Add
bar-time
test specification. - Add
heatmap-image
test specification. - Add
heatmap-sinusoids
test specification. - Add
isocontour-airports
test specification. - Add
isocontour-volcano
test specification. - Add
scatter-plot-contours
test specification. - Add
scatter-plot-heatmap
test specification. - Update test specifications to use top-level guide configuration properties.
- Update build scripts, adjust D3 externals for vega-core build.
- Fix dependencies to specific versions. (#2089)
vega-encode
- Add support for UTC formatType.
- Update time/utc scale formatting to use vega-time methods.
- Fix log scale tick filtering of explicit values. (#2138)
vega-functions
- Add
timeUnitSpecifier
expression function. - Add
timeOffset
andutcOffset
expression functions. - Add
timeSequence
andutcSequence
expression functions. - Update
timeFormat
andutcFormat
functions to use vega-time methods. - Update dependencies.
- Fix day/month format bug. (#2096, thanks @jakevdp!)
vega-geo
- Add
isocontour
,heatmap
, andkde2d
transforms. - Drop d3-contour dependency, use local implementation.
- Deprecate
contour
transform.
vega-loader
- Update dependencies.
vega-parser
- Add
tickBand
property for configuring band axis styles. - Update
tickOffset
config for band-scale axes. - Update dependencies.
- Fix symbol color configuration to consider values in parallel, not sequentially.
vega-regression
- Update dependencies.
vega-scale
- Update to use vega-time, drop internal time interval method.
vega-scenegraph
- Add
angle
,scaleX
, andscaleY
channels forpath
marks. (#2030, thanks @mathiastiberghien!) - Add individual
cornerRadius
options forrect
andgroup
marks. (#1968, thanks @donghaoren!) - Add
image
mark support for pre-loadedimage
property. - Use cubic bezier curves for improved rectangle corners.
- Fix canvas renderer to always bound to visible view.
- Drop Image
loaded
flag, use built-incomplete
flag.
vega-schema
- Add UTC timeFormat and time format specifier to schema.
- Add
angle
,scaleX
, andscaleY
encoding channels to schema. - Add
cornerRadius
encoding channels to schema. - Add axis
translate
andtickBand
properties to schema. - Update axis, legend format schema.
vega-selections
- Add support for resolving multi selections. (thanks @arvind!)
vega-statistics
- Add exported
bandwidthNRD
method. - Update dependencies.
vega-time
- Add new vega-time utility package.
vega-transforms
- Add
TimeUnit
transform. - Add
Bin
transforminterval
parameter. - Add
Flatten
transformindex
parameter. (#2114, thanks @Timmmm!)
vega-typings
- Add
TimeUnit
transform typings. - Add
Heatmap
,Isocontour
, andKDE2D
transform typings. - Add
Bin
transforminterval
parameter to typings. - Add
Flatten
transformindex
parameter to typings. - Add missing transform typings, refine parameter typings.
- Add UTC timeFormat and time format specifier typings.
- Add
angle
,scaleX
, andscaleY
encoding channels to typings. - Add
cornerRadius
encoding channels to typings. - Add axis
translate
andtickBand
properties to typings. - Update axis, legend format typings.
vega-view
- Update dependencies.
vega-view-transforms
- Add axis
translate
support to axis layout. - Update dependencies.
vega-wordcloud
- Update dependencies.