Skip to content

Releases: vega/vega

v5.11.1

27 Apr 14:58
Compare
Choose a tag to compare

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

27 Apr 09:11
Compare
Choose a tag to compare

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 and aria 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 using description and aria 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 the timeunit transform.
  • dayofyear, week, utcdayofyear, and utcweek expression functions.
  • Axis domainCap, gridCap, and tickCap 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 and description properties.
  • Add backing scale names to axis, legend datum objects.
  • Add zindex support for guide config.
  • Add axis domainCap, gridCap, and tickCap 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 automatic role and aria-roleDescription attributes.
    • Parent <g> tags for axes and legends include automatic aria-label captions.
    • Attribute generation for mark and guide definitions can be customized using the aria and description properties. If aria is false, the content is hidden from the accessibility tree by setting aria-hidden SVG attribute. The description property determines the aria-label SVG attribute.
    • Individual mark items do not include ARIA attributes by default, but these can be added using the encoding channels aria and description. If a description is provided and aria !== false, then Vega will generate accompanying role and aria-roledescription attributes for a mark item.
  • Provide experimental ariaRole and ariaRoleDescription encoding channels for individual marks, which override the default role and aria-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, and tickCap 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 to TimeUnit transform typings.
  • Add zindex support for guide config.
  • Add axis domainCap, gridCap, and tickCap properties.

vega-view

  • Improved semantic HTML for generated signal bindings to form input elements.

v5.10.1

30 Mar 13:47
Compare
Choose a tag to compare

Changes from v5.10.0:

vega-encode

  • Update default guide label format to support multi-line arrays. (#2456)

vega-loader

  • Use startsWith rather than indexOf for string prefix checks.

vega-parser

  • Use startsWith rather than indexOf for string prefix checks.
  • Set default fill and size for trail mark config.

vega-transforms

  • Fix window operator init state for prev_value and next_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

06 Mar 11:29
Compare
Choose a tag to compare

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's update property. If the top-level signals array contains an entry that matches one of these properties, the definitions will be merged, with precedence given to the properties defined in the signals array.
  • Vega views now include ARIA attributes on the view container DOM element. The role attribute is set to "figure", and the aria-label attribute is set to the specification description property.
  • The aggregate and window transforms support the product 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 values line-top and line-bottom. These values are similar to top and bottom baselines, but calculated relative to the lineHeight rather than fontSize 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 2D globalCompositeOperation property. For SVG rendering, the blend is set via the CSS mix-blend-mode style. The default Vega value is null (or undefined), which maps to the default values "source-over" (for Canvas) and "normal" (for SVG). For more, see the Canvas globalCompositeOperation and CSS mix-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 a crossOrigin property. If this property is defined and maps to a value of null or undefined, then a no-cors fetch will be performed instead.
  • Add axis labelOffset property to adjust axis label position in addition to tickOffset, and labelLineHeight 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 and labelLineHeight 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 and labelLineHeight 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

28 Feb 12:48
Compare
Choose a tag to compare

Changes from v5.9.1:

docs

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

vega-util

  • Add lruCache data structure, tests, and documentation.

v5.9.1

14 Jan 14:47
178cab5
Compare
Choose a tag to compare

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

05 Dec 11:26
Compare
Choose a tag to compare

Notable Additions:

  • New Annual Precipitation example.
  • Signal bindings for select and radio input now support a labels array.
  • Group mark strokeOffset and strokeForeground properties to control rectangle rendering.
  • The default set of map projections now includes the mollweide projection.
  • Improved numerical robustness for regression methods.
  • Support translate and scale transformations in the isocontour 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

vega

  • Add ES5 build support via Babel. (thanks @nyurik!)
  • Add isocontour-precipitation test specification. (thanks @mattijn!)
  • Update dynamic-url test specification to include async.
  • 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 transform translate 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 transform async 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 transform translate 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 and extentIndex.

vega-view

  • Add labels property for radio/select bindings.

vega-wordcloud

  • Fix fontSize flooring to handle floating point error.

v5.8.1

18 Nov 10:33
Compare
Choose a tag to compare

Changes from v5.8.0:

vega-scenegraph

  • Fix group clip, support cornerRadius.

vega-typings

v5.8.0

12 Nov 12:51
Compare
Choose a tag to compare

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 dynamic image and smooth properties.
  • The path mark has new rotation (angle) and scale properties (scaleX, scaleY).
  • More flexible cornerRadius control for rect and group marks.

Deprecations:

  • The contour transform is now deprecated and may be removed in a future major release. Instead, use the new, more expressive isocontour, kde2d, and heatmap transforms.

Changes from v5.7.3:

docs

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 and utcOffset expression functions.
  • Add timeSequence and utcSequence expression functions.
  • Update timeFormat and utcFormat functions to use vega-time methods.
  • Update dependencies.
  • Fix day/month format bug. (#2096, thanks @jakevdp!)

vega-geo

  • Add isocontour, heatmap, and kde2d 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, and scaleY channels for path marks. (#2030, thanks @mathiastiberghien!)
  • Add individual cornerRadius options for rect and group marks. (#1968, thanks @donghaoren!)
  • Add image mark support for pre-loaded image property.
  • Use cubic bezier curves for improved rectangle corners.
  • Fix canvas renderer to always bound to visible view.
  • Drop Image loaded flag, use built-in complete flag.

vega-schema

  • Add UTC timeFormat and time format specifier to schema.
  • Add angle, scaleX, and scaleY encoding channels to schema.
  • Add cornerRadius encoding channels to schema.
  • Add axis translate and tickBand 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 transform interval parameter.
  • Add Flatten transform index parameter. (#2114, thanks @Timmmm!)

vega-typings

  • Add TimeUnit transform typings.
  • Add Heatmap, Isocontour, and KDE2D transform typings.
  • Add Bin transform interval parameter to typings.
  • Add Flatten transform index parameter to typings.
  • Add missing transform typings, refine parameter typings.
  • Add UTC timeFormat and time format specifier typings.
  • Add angle, scaleX, and scaleY encoding channels to typings.
  • Add cornerRadius encoding channels to typings.
  • Add axis translate and tickBand 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.

v5.7.3

16 Oct 18:22
Compare
Choose a tag to compare

Changes from v5.7.2:

vega-functions

  • Fix dependency versions. (#2086)

vega-statistics

  • Fix KDE bandwidth heuristic to handle degenerate cases. (#2085)