这是indexloc提供的服务,不要输入任何密码
Skip to content

Releases: vega/vega

v5.3.0

15 Mar 04:05

Choose a tag to compare

Changes from v5.2.0:

vega

  • Add scatter-brush-filter and scatter-brush-panzoom test specifications.

vega-dataflow

  • Streamline signal event handler code.

vega-expression

  • Add join, reverse, and trim expression functions. (#1414, #1687).

vega-view

  • Fix View event extension logic.

v5.2.0

10 Mar 06:05

Choose a tag to compare

Changes from v5.1.0:

vega

  • Add font-size-steps test specification.

vega-cli

  • Add log level (-l) parameter. (#1677)
  • Add custom logger for stderr only.

vega-dataflow

  • Add Dataflow logger getter/setter.
  • Fix topological sort (rank) for signal listener operators. (#1672)

vega-functions

  • Safeguard scale function, return undefined for undefined input.

vega-parser

  • Add dx, dy properties for title guides.
  • Fix double invocation by merging signal/scale event streams. (#1672)
  • Fix scale parser to allow array-valued range entries.

vega-schema

  • Add dx, dy properties for title guides.
  • Fix schema to allow array-valued range entries.

vega-typings

  • Add dx, dy properties for title guides.
  • Update typings to follow vega-util additions.
  • Fix typings for scaled encode entries.

vega-util

  • Add method argument to logger.

vega-view

  • Add View constructor option to set the logger.
  • Prevent event extension if no active renderer.

v5.1.0

08 Mar 05:24

Choose a tag to compare

Vega v5.1.0

Notable Additions:

  • Add formatType property (one of "number" or "time") for axes and legends. If the underlying scale has a tickFormat method, that will be used regardless of formatType. Otherwise, formatType controls whether or not number or date-time format specifiers are expected.

Detailed Changes:

docs

  • Document formatType property for axes and legends.

vega-dataflow

  • Update internal heap implementation to simplify code.
  • Fix dataflow evaluation to ensure no async interleaving of runAfter callbacks.

vega-encode

  • Add formatType parameter for axis ticks and legend entries.

vega-parser

  • Add formatType parameter for axes and legends. (#1673)

vega-schema

  • Update to include formatType property.
  • Update to include top-level style property.

vega-typings

  • Update to include top-level style property.
  • Update to include signal init property.

v5.0.0

05 Mar 05:51

Choose a tag to compare

Vega v5.0.0

Notable Additions:

  • The Vega project and sub-module dependencies have been reorganized into a single monorepo (vega/vega) to streamline development.
  • The symbol mark type now support an angle channel for rotation, and new shape types (wedge, arrow).
  • Axes and legends support a new range of layout customizations, including title positioning properties (titleOrient, titleAnchor) and legend layout configuration (config.legend.layout).
  • Thanks to extensions in d3-scale, Vega now includes a symmetric log (symlog) scale type.
  • Vega now supports color interpolation not just for linear scales, but for all continuous scales. Internally, Vega will select among standard linear, sequential, or diverging scale implementations based on scale domain and range. A similar logic applies for log, pow, sqrt, and symlog scales. In addition, the scale interpolate property can now be used with any scale that supports a scheme-valued range, allowing customized color interpolation for continuous, ordinal, or discretizing scales when passing an array of color values to the scheme property.
  • The sequential scale type has been deprecated, but remains for backwards-compatilibility. Use the linear scale type instead.
  • The Vega dataflow now supports asynchronous evaluation. Internal dataflow operators can return a Promise; dataflow evaluation will then pause and resume when the Promise resolves. This enables exciting new capabilities such as dynamic loading from external data sources. The View API run method works much as before, but internally invokes asynchronous processing and returns immediately. We recommend using view.runAsync whenever possible; invoke then on (or await) the returned Promise to perform actions once dataflow evaluation completes.
  • Starting with v4.4, Vega started using more ES6+ constructs directly and dropped Internet Explorer support (in part due to changes in underlying d3 libraries). This trend has continued in the v5 release, most notably including Vega's use of async functions and the await keyword. Some users migrating to Vega 5.0 from an earlier version may discover incompatibilities with older browsers. If backwards compatibility is essential, we recommend using a transpiler framework such as Babel.

Breaking Specification Changes:

  • The legend strokeWidth property now accepts a scale that maps data values to stroke widths. It no longer corresponds to the stroke width of the legend border. However, the legend.strokeWidth config property still corresponds to the legend border thickness.
  • Continuous color schemes no longer support discrete variants as part of the scheme name. Scheme names such as blues-7 are no longer supported; instead use {"scheme": "blues", "count": 7}.
  • The bin-linear scale type has been removed. Instead, use a linear scale that uses the new bins parameter.
  • Remove deprecated Vega-Lite selection expression functions vlSingle, vlSingleDomain, vlMulti, vlMultiDomain, vlInterval, and vlIntervalDomain.
  • As a consequence of the two changes above, versions of Vega-Lite prior to v3 will not work with Vega v5. Please adjust your versions accordingly.

Breaking API Changes:

  • The vega-lib package has been removed; use vega directly instead. The vega package no longer includes an optional node-canvas dependency. If you want to use Vega in server-side projects, your project should include an explicit node-canvas dependency.
  • The vega package no longer directly provides command line utilities; use the new vega-cli package instead, which includes a node-canvas dependency. The vega-cli package includes a new vg2pdf command for rendering PDF output!
  • The vega package no longer exports TypeScript typings for the vega-lib module; use the vega module instead.
  • The runtime and internal APIs have other breaking changes, though most Vega users will not be affected. See the full change log below for more.

Detailed Changes:

docs

  • Update documentation to reflect JSON schema and API updates.
  • Update colors in volcano example.
  • Update edge bundling examples to use "stroke" symbol type.
  • Update miscellaneous examples to use more recent features.
  • Add wind vectors example. (Thanks @jwoLondon!)

vega

  • Add test specifications and scenes for dynamic data loading.
  • Add test specification and scene for symbol angle.
  • Add JSON schema validation test.
  • Update test specifications to use linear rather than sequential scale type.
  • Update flush-axis-labels and legend-continuous test specifications to use labelSeparation.
  • Update layout-splom test specification to include legendAnchor.
  • Update legends test specification to include layout options.
  • Update scatter-plot test specification to test legend configurations.
  • Update tests to use randomLCG utility from vega-statistics.
  • Update test runners to use new View constructor options.
  • Update rendered scenegraphs for test specifications.
  • Update exports to use vega-functions package.
  • Drop vega-lib module for typings.
  • Drop tv4, use ajv for validation.
  • Drop d3-scale-chromatic dependency.

vega-cli

  • Create new package for Vega command-line utilities.
  • Add vg2pdf command for generating PDF output.
  • Add format and timeFormat options to command line utilities. (#1667)
  • Update to use randomLCG utility from vega-statistics.
  • Update to use new View constructor options.

vega-dataflow

  • Breaking: Decouple dataflow request from pending load tracker.
  • Add dataflow preload method for initial data loading.
  • Add async evaluation support. Transform operators can now return a Promise that resolves to a Pulse.
  • Add support for async callback functions within dataflow evaluation.
  • Add passing of responseType from format to loader options.
  • Update data loading and dataflow methods to use async/await.
  • Update runtime, move evaluation logic to internal evaluate method.
  • Update run and runAsync to accept optional prerun and postrun callbacks.
  • Add async evaluation tests.

vega-encode

  • Breaking: Remove bin-linear scale support. Use new bins parameter instead.
  • Breaking: Remove utcInterval method. Use updated timeInterval method instead.
  • Add automatic scale selection for linear, log, pow, sqrt, symlog types. If a color range is specified, sequential or diverging scale implementations will be used depending on the domain length.
  • Add interpolated color array input to scheme property. (Fix #995)
  • Add color interpolate support for all scheme-compatible scales.
  • Add support for bins property to guide tick/legend generation.
  • Add minstep parameter to AxisTicks and LegendEntries transforms.
  • Add bin boundary generation from bins parameter object.
  • Add domain specification using bins property for BinOrdinal scales.
  • Update legend label formats for discrete color gradients.
  • Update unit tests to work with async evaluation.
  • Move interpolation utilities to vega-scale.
  • Drop logic for discretized scale lookup.
  • Drop BinOrdinal special case for legend label generation, use bins instead.

vega-expression

  • Add exports for AST node type constants.
  • Update README.md to clarify the constants and functions provided. (#1556)

vega-functions

  • Create new package for Vega-specific expression functions and code generation.
  • Add panSymlog and zoomSymlog expression functions.
  • Add lerp expression function.
  • Add intersect expression function. This function is not yet part of the official expression language, but is exposed for integration and testing with Vega-Lite. The intersect function has the signature intersect(box, options, group), where:
    • box is a rectangular brush region defined as [[x1, y1], [x2, y2]]
    • options is an optional object with marktype or markname properties (strings or arrays) for limiting the intersection tests to specific marks.
    • group is an optional scenegraph group item that serves as the root of the search. If not provided, the full scenegraph is used.
  • Update README.md to clarify the functions provided. (#1556)
  • Fix gradient function to handle zero span domains, add test cases. (#1479)

vega-loader

  • Add response option to direct fetch response processing.
  • Add responseType property to format read methods.
  • Update loader to use async / await.
  • Update sanitize method to copy rel loader option to the output result. The scenegraph handler will copy this over as an HTML rel attribute of a generated a element. (#1542)

vega-parser

  • Breaking: Add strokeWidth scale support for legends, remove legend strokeWidth property. Similar to strokeDash, the config-level strokeWidth property is still supported. However, the spec-level property now refers to an input scale, not the legend group boundary.
  • Breaking Move expression functions and code generation to vega-functions package.
  • Breaking: Update data parser to include load transform for dynamic data directly within generated transform pipelines.
  • Add fontStyle property for chart titles.
  • Add labelFontStyle property for axes and legends.
  • Add titleFontStyle property for axes and legends.
  • Add labelSeparation property for axes and legends. (#1507)
  • Add tickMinStep to axis and legend parsers.
  • Add titleOrient property to configure legend title positioning.
    • Legal values: `...
Read more

v5.0.0-rc5

03 Mar 05:51

Choose a tag to compare

v5.0.0-rc5 Pre-release
Pre-release

Changes from v5.0.0-rc4:

docs

  • Document layout titleAnchor property.

vega-view-transforms

  • Add layout titleAnchor property. (#1664)
  • Fix grid layout calculation bug.

vega-schema / vega-typings

  • Add layout titleAnchor property.

v5.0.0-rc4

02 Mar 06:57

Choose a tag to compare

v5.0.0-rc4 Pre-release
Pre-release

Changes from v5.0.0-rc.3:

docs

  • Document new View constructor options.
  • Document new legend layout options.

vega

  • Update layout-splom test spec to include legendAnchor.
  • Update legends test spec to include layout options.
  • Update scatter-plot test spec to test legend configurations.
  • Update test runners to use new View constructor options.

vega-cli

  • Update to use new View constructor options.

vega-encode

  • Update legend label formats for discrete color gradients.

vega-parser

  • Add legend layout config options.
  • Add top-level operator to house legend layout config.
  • Update config file merging logic.
  • Update tests.

vega-scale

  • Export d3 tickFormat method.

vega-scenegraph

  • Add equals methods to Bounds object.

vega-view

  • Add more View constructor options.

vega-view-transforms

  • Add configurable layout legend.
  • Add anchor support to grid layout.
  • Refactor layout code organization.

v5.0.0-rc3

27 Feb 00:04

Choose a tag to compare

v5.0.0-rc3 Pre-release
Pre-release

Changes from v5.0.0-rc2:

vega

  • Update to use randomLCG utility from vega-statistics.
  • Update test scenegraphs to match encoding updates.

vega-cli

  • Update to use randomLCG utility from vega-statistics.

vega-encode

  • Fix scale bins configuration to consider raw domain parameter.

vega-functions

  • Add lerp function to the expression language.

vega-parser

  • Add titleOrient property to configure legend title positioning.
    • Legal values: "top" (default), "bottom", "left", "right"
  • Add titleAnchor property to configure axis and legend title alignment.
    • Legal values: "start", "middle", "end", null (default)
  • Add more stroke dash options for axes and legends.
    • Axes: domainDash, domainDashOffset, gridDashOffset, tickDash, tickDashOffset
    • Legends: symbolDash, symbolDashOffset
  • Update internal API for more concise, readable spec/config property lookups.
  • Update config to set default legend titleOrient to "top".
  • Fix axis titleX / titleY auto-layout bug.
  • Fix legend clipHeight bounds flag bug.
  • Drop unneeded title guide layout logic.

vega-scenegraph

  • Update text mark bounds calc to avoid unnecessary expand.

vega-schema

  • Update schema to include new features.
  • Update gradient value definition.
  • Fix missing strokeWidth entry in valid legend schema definition.

vega-statistics

  • Add randomLCG utility for seeded random number generation.

vega-typings

  • Update typings to include schema updates.

vega-util

  • Add lerp utility function.

vega-view-transforms

  • Update ViewLayout to support legend titleOrient and titleAnchor.
  • Update legend bounds calculation.

v5.0.0-rc2

24 Feb 00:03

Choose a tag to compare

v5.0.0-rc2 Pre-release
Pre-release

Changes from v5.0.0-rc1:

vega

  • Add JSON schema validation test.
  • Update test specifications and scenes.
  • Drop tv4, use ajv for validation.
  • Drop d3-scale-chromatic dependency.

vega-dataflow

  • Add support for async callback functions within dataflow evaluation.
  • Update runtime, move evaluation logic to internal evaluate method.
  • Update runAsync to queue repeated calls.
  • Update run and runAsync to accept optional prerun and postrun callbacks.

vega-encode

  • Add bin boundary generation from bins parameter object.
  • Add domain specification using bins property for BinOrdinal scales.
  • Move interpolation utilities to vega-scale.
  • Drop logic for discretized scale lookup.
  • Drop BinOrdinal special case for legend label generation, use bins instead.

vega-parser

  • Add labelFontStyle property for axes and legends.
  • Add titleFontStyle property for axes and legends.
  • Add fontStyle property for chart titles.
  • Update config to use adjusted color scales.
  • Fix parsing of scale bin objects.

vega-scale

  • Breaking: Remove discrete schemes for continuous data.
    • The schemeDiscretized method has been removed. For interpolating schemes, we now always generate discrete schemes via quantization.
    • Scheme names such as blues-7 are no longer supported; instead use {"scheme": "blues", "count": 7}.
  • Adjust existing color schemes to avoid extreme light / dark colors.
  • Add new color schemes:
    • Single-hue: browns, tealblues, teals, warmgreys
    • Multi-hue: goldgreen, goldorange, goldred
    • Density for dark backgrounds: darkblue, darkgold, darkgreen, darkmulti, darkred
    • Density for light backgrounds: lightgreyred, lightgreyteal, lightmulti, lightorange, lighttealblue
  • Add interpolation utilities: interpolateColors, quantizeInterpolator
  • Drop d3-scale-chromatic dependency.

vega-scenegraph

  • Add missing scenegraph item properties to vega-scenegraph schema.
  • Add JSON schema validation test.
  • Update schema to use JSON schema draft 6.
  • Update to use uri-reference, not uri, for image mark url.
  • Drop tv4, use ajv for validation.

vega-schema

  • Add scale bins object to schema.
  • Add new font style properties to schema.
  • Update schema to use JSON schema draft 6.

vega-typings

  • Update typings to follow schema changes.
  • Update tests to follow test specification changes.

vega-view

  • Update View methods to use updated async evaluation design.

v5.0.0-rc1

18 Feb 21:48
fd68b94

Choose a tag to compare

v5.0.0-rc1 Pre-release
Pre-release

Vega version 5.0.0, release candidate 1!

For a description of updates and a detailed changelog, see #1561

v4.4.0

05 Dec 05:21
ba6e58e

Choose a tag to compare

Changes:

  • Add signal init expression support.
  • Add operator initonly parameterization.
  • Add exported format reader hash for other projects to extend.
  • Fix signal lookup for compare. (#1452)
  • Fix data format schema.
  • Clean up stack transform internals.
  • Update dependencies.

The updated d3-array 2.0 dependency uses ES6 features. Do not directly use Vega v4.4.0 or later if you require strict ES5 compliance. As Vega already requires polyfills for Promise, Symbol, and fetch support, this does not constitute a breaking change.