Releases: vega/vega
v4.3.0
Changes:
- Add string
splitexpression function. - Add View data update listeners. (#1383)
- Add tickFormat method to bin-ordinal scale. (#1395)
- Add
separationflag for tree layout. (#1399) - Add
requireparameter to LinkPath transform. - Add support for
aggregateto sum strings as numbers. - Fix
pickAreamethod to support arbitrary orders (#1390). - Fix
extenttransform to return [undefined, undefined] for empty data. (#1401) - Fix
scaleFractionmethod to protect from infinite spans. (#1401) - Fix aggregate measures to standardize outputs for invalid data. (#1404)
- Fix path scaling bug. (#1408)
- Fix width/height calc for empty legend. (#1415)
- Fix react flag for operator parameter initialization. (#1428)
- Fix
bootstrapCImethod with empty data check. - Allow signal-only transform parameters in schema.
- Update selection methods for Vega-Lite.
- Update test specifications.
- Update dependencies.
v4.2.0
Changes:
- Add dynamic data loading: data
urlandformatnow accept signal values. - Add title
alignproperty. (#1362) - Add
schemeDiscretizedfunction to API. (Thanks @benib!) - Update
nestandstratifytransforms to handle empty data. - Update
sequencetransform to acceptasparameter. - Update dataflow
requestchangeset to remove existing data. - Update dataflow
requestto return a Promise that resolves to a status code:0for success,-1for load fail,-2for parse fail. - Fix gradient labels when two or fewer are produced. (#1364)
- Fix View autosize logic for dynamic data loading.
- Fix AxisTicks to omit extra tick for empty data.
- Fix unterminated rule chain with null else value. (#1366)
- Fix dataflow operator pulse assignment bug.
- Fix dataflow
runto return the dataflow instance. - Fix dataflow
runAsyncandrequestto handle chained load requests.
v4.1.0
Changes:
- Add axis opacity parameters:
domainOpacity,labelOpacity,tickOpacity,titleOpacity - Add legend opacity parameters:
gradientOpacity,labelOpacity,symbolOpacity,titleOpacity - Add signal support for axis label flush and overlap parameters.
- Fix
Overlaptransform propagation bug, support disabled settings. - Update schema, fix schema bugs.
v4.0.0
Vega 4.0.0
This major version includes a few breaking changes for both specification validation and the JavaScript API. All Vega 3 specifications should be successfully parsed and rendered by Vega 4. However, a small number of Vega 3 specifications may fail JSON schema validation.
Overview of Changes
Breaking Changes:
- We now use fetch rather than XMLHttpRequest to load remote files. While similar, fetch has different default behavior and parameters. As a result, some of the parameters to
vega.loaderhave also changed. - The deprecated
view.tooltipHandlermethod has been removed. Instead, useview.tooltipto register a customized tooltip handler. - The key parameter for both the
nestandtreelinkstransforms is no longer needed. If included in a spec, the parser will simply ignore it. However, such specs will fail JSON schema validation. - Generated data objects for symbol legends no longer include a
totaldata property. - Some
configoptions have changed. The legend entryPadding option has been removed. The legend symbolFillColor and symbolStrokeColor options are now always applied; the prior selective behavior for these options is now provided using the new symbolBaseFillColor and symbolBaseStrokeColor options.
Major Additions:
- Support for discrete gradient legends. (See county unemployment example.)
- Support for both horizontal and vertical legend directions.
- Gradient legends now default to a vertical direction.
- Multi-column layout and symbol clipping support for symbol legends. (See Dorling cartogram example.)
- Legend types, if not explicitly specified, are now automatically determined based on the scales used. Previously, all legends defaulted to symbol legends.
- Tooltip support for individual points in
area,line, andtrailmarks. - Add
timerevent type, can be used to drive frame-by-frame animation. (docs) - Add
mergeexpression function to merge objects into a new output object. (docs) - Add boolean
domainImplicitparameter to enable implicit domain construction for ordinal scales. (docs) - Add
naturalEarth1geographic projection. (docs) - Add
asproperty to set output field name for{"field": ...}and{"expr": ...}transform parameters. - Anchor positioning for
titlelayout is now by default performed relative to the full calculated bounding box, rather than the group width or height. The new frame title property explicitly sets which reference frame to use. (docs) - Multiple new configuration options, and comprehensive support for configuration options within axis, legend, and title specifications. (docs)
Detailed Change Log
vega-loader
- Use fetch to service requests, drop use of d3-request and XMLHttpRequest (XHR). Note that, while similar in many respects, fetch has a different default behavior than XHR. For example, fetch is more secure by default and does not share cookies or credentials unless configured to do so.
- Change loader options format. Clients should use the options.http object property to provide fetch parameters. The options.headers property is no longer supported, instead use options.http.headers.
- The loader
httpmethod now directly accepts an http parameter object rather than the top-level loader options. The loader's options.http property is used as the base set of parameters, which may then be overridden by the options argument to thehttpmethod. - Fix data loader type inference to avoid splicing the test function array.
vega-scenegraph
- Add tooltip support for
area,line, andtrailmarks. Perform lookup of individual data points along a path, rather than just the first data point. - Add tooltip handler updates for
mousemoveevents, rather thanmouseoverevents. - Add
getItemBoundingClientRectmethod to Handler. - Add standardized
canvasgetter method to Renderer and Handler to access underlying Canvas/SVG element. - Add
fontFamilyandfontSizescenegraph utility methods. - Update SVG renderers to use separate font style properties (
font-family,font-size, etc.) rather than the shorthandfontproperty. This change provides better compatibility with downstream SVG tools, including librsvg. (#1315) - Update Handler
originmethod to be getter/setter; previously it was a setter only. - Fix group item x, y coordinate lookup in
resolveItemmethod.
vega-dataflow
- Fix operator evaluation skip bug upon signal update.
- Fix
changesetby adding safeguards for input data: ensure existing tuples are not inserted multiple times and ignore tuples that are both added and removed in the same set. (#1318)
vega-transforms
- Add expression transform for management of expression-typed transform parameters.
vega-geo
- Add weight parameter for
contourtransform.
vega-hierarchy
- Refactor
nest,stratify, andtreelinksdata object generation. - Remove
nesttransform key parameter, which is no longer needed. - Remove
treelinkstransform key parameter, which is no longer needed. - Fix transform
asparameter schemas. (#1342)
vega-encode
- Add support for generating discrete gradient legend entries.
- Add
schemeDiscretizedmethod to get/set discretized color schemes, defined using an array of color arrays, each of which corresponds to a color scheme to use for a specific value count. - Add boolean
domainImplicitparameter to enable implicit domain construction for ordinal scales. (#1189). - Add warning for log scale domain containing zero. (#1334)
- Modify colormap quantization for better balance.
- Remove
totalproperty from generated symbol legend entries. - Fix to use provided number format specifier even when
scale.tickFormatis undefined.
vega-projection
- Add
naturalEarth1geographic projection.
vega-parser
- Legend type, if unspecified, is now automatically determined based on the encoding channels and scale types used. Previously, the behavior was to always default to a symbol legend.
- Add legend direction property for specifying horizontal or vertical legends. Gradient legends now use a vertical orientation by default. The configuration options gradientDirection and symbolDirection can be used to separately set default directions.
- Add gradientLength and gradientThickness properties to specify gradient dimensions regardless of horizontal or vertical direction. The previous gradientWidth and gradientHeight properties are now deprecated, and used as the default settings of gradientLength and gradientThickness, respectively, if the new properties are not defined.
- Add multi-column layouts for symbol legends, set via the columns property and configured using the rowPadding, columnPadding, and gridAlign properties.
- Add clipping of symbol legend entries using the legend clipHeight property. For example, a legend can indicate size by showing just the horizontal extent of a vertically clipped circle, rather than a full, large circle.
- Add discrete gradient legends for discretizing scales (quantize, quantile, etc.).
- Add label overlap removal support for gradient legend labels, using the legend labelOverlap property.
- Add legend
entriesencoding block to customize the group items containing symbol/label pairs. - Add symbolBaseFillColor and symbolBaseStrokeColor configuration properties for legends to determine symbol legend defaults that are selectively applied based on the encoding channels (e.g., fill, stroke, size, etc) used by the legend. The symbolFillColor and symbolStrokeColor configuration options are now always applied, regardless of the encoding channels used by the legend.
- Add labelAlign and labelBaseline axis configuration properties. These will override the default align and baseline values chosen based on the axis orientation.
- Add new frame title property explicitly sets which reference frame to use.
- Add
asproperty to set output field name for{"field": ...}and{"expr": ...}transform parameters. - Add configuration properties (previously only available as
configoptions) to specifications for axis, legend, and title guides. - Add
mergeexpression function to merge objects into a new output object. - Add
extentexpression function to get min/max values from an array. (vega/vega-parser#81) - Remove legend entryPadding property, replace with rowPadding and columnPadding.
- Fix flush axis label alignment. (#1278)
- Fix expression dependency handling for
{"expr": ...}parameters. - Fix
clampRangecalculation bug. (vega/vega-parser#80) - Update Vega JSON schema.
vega-view-transforms
- Add centering options to grid layout.
- Add width/height adjustment for symbol legend groups.
- Add reference frame parameter (full bounds or group dimensions) to
titlelayout. Anchor positioning is now by default performed relative to the full calculated bounding box, rather than the group width or height. - Adjust title layout to be outside legend and grid bounds.
- Fix view layout to include grid layout row/column title bounds.
- Fix left-oriented legend layout to incorporate legend widths to align along left edge.
- Fix legend title to respond to legen...
v4.0.0-rc.3
Vega 4.0.0, Release Candidate 3
Changes from v4.0.0-rc.2:
- Add boolean
domainImplicitparameter for implicit domain construction for ordinal scales. (#1189). - Add
naturalEarth1geographic projection. - Add
labelAlignandlabelBaselineaxis configuration properties. - Add
fontFamilyandfontSizescenegraph API utility methods. - Add
schemeDiscretizedAPI method to get/set discretized color schemes, defined using an array of color arrays, each of which corresponds to a color scheme to use for a specific value count. - Update SVG renderers to use separate font style properties (
font-family,font-size, etc.) rather than the shorthandfontproperty. This change provides better compatibility with downstream SVG tools, including librsvg. (#1315) - Fix
changesetby adding safeguards for input data: ensure existing tuples are not inserted multiple times and ignore tuples that are both added and removed in the same set. (#1318) - Fix color scheme quantization denominator bug.
- Fix data loader type inference to avoid splicing the test function array.
- Fix legend title to respond to legend padding changes.
- Fix legend bounds calculation to prevent content clipping.
v4.0.0-rc.2
Vega 4.0.0, Release Candidate 2
Changes from v4.0.0-rc.1:
- Add
timerevent type, can be used to drive frame-by-frame animation. - Add
mergeexpression function to merge objects into a new output object. - Add new example test specifications.
- Add runtime description
$refobject support for event update sources. - Add cyclical color schemes
rainbowandsinebow. - Fix standard input (stdin) handling by vg2png and vg2svg.
- Fix container element check in default tooltip handler, preventing errors for headless displays.
- Fix value equality check in bind input update to suppress unnecessary updates.
- Fix flush axis label alignment. (#1278)
- Fix dataflow bug where operator evaluation might skip upon signal update.
- Update dependencies.
- Update documentation.
v4.0.0-rc.1
Vega 4.0.0, Release Candidate 1
This major version includes a few breaking changes for both specification validation and the JavaScript API. All Vega 3 specifications should be successfully parsed and rendered by Vega 4. However, a small number of Vega 3 specifications may fail JSON schema validation.
For details, see the v4.0.0-rc.1 pull request changelog.
v3.3.1
v3.3.0
Changes:
- Add customizable tooltip support. (#1198)
- Add origin accessor to View API. (#1221)
- Add resolution scale parameter to vg2png. (Thanks to Robin Linacre!)
- Add random seed paramter to vg2png and vg2svg.
- Add default event stream scoping. Uses event source type
"scope"(instead of"view") for event strems defined in nested groups. (#1231) - Add schema validation and documentation of signal bind
nameproperty for customizing the visible label for bound input elements. - Add
identitygeographic projection. - Update SVG renderer to streamline processing and minimize z-index DOM churn.
- Fix axis title layout and bounds calculation. (resolves #1232)
- Fix pixel ratio adjustment of picking coordinates. (#1220)
- Fix autosize calculation to skip width/height update functions. (#1213)
- Fix internal legend parameterization, improving signal support. (#1228)
- Fix dataflow transform metadata (vega/vega-transforms#6).
- Fix pulse handling and metadata for Nest and Stratify transforms. (#1239)
- Fix contour transform parameters and metadata.
- Fix Canvas hit testing for group backgrounds.
- Fix hover encode directives issued from view mouseover/mouseout listeners.
- Fix hover encode propagation. Prevent group events from triggering hover updates on contained marks.