Skip to content

Releases: vega/vega-lite

v2.0.0-beta.1

29 Apr 19:34
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

This is the first beta release of the

Major

  • Vega-Lite now compiles to Vega 3
  • Support for composition (Layer, Concat, and Repeat in addition to Facet)
  • Describe interactive plots with Selections.

Details

  • coming soon...

v2.0.0-alpha.10

24 Apr 18:19
Compare
Choose a tag to compare
v2.0.0-alpha.10 Pre-release
Pre-release
  • Selection filter support
  • Selections for repeat, concat, layer and facet
  • Remove support for filters of arrays withing the array transform. You can still create multiple entries.

v2.0.0-alpha.9

15 Apr 18:47
Compare
Choose a tag to compare
v2.0.0-alpha.9 Pre-release
Pre-release

Syntax Changes

Top-Level Properties

Now top-level properties such as padding, $schema, config. etc. can only be specified at the top-level of a specification.

  • Remove a defunct top-level property viewport as it no longer exists in Vega 3

Transform

transform is now an array of different transform objects so the order of the transforms becomes clear.
Currently we support two types of transform objects

  1. Filter transform, which has a "filter" property describing (1) a Filter Definition Object (2) an array of Filter Definition Objects or (3) a Vega expression defining the filter.
  2. Calculate transform, which has two properties: (1) calculate defining a Vega Expression of the formula to be calculated and 2) as defining the calculated field name.

The follow diff shows an example changed in a specification.

- "transform": {		 
-    "filter": "datum.year == 2000",		 
-    "calculate": [{"as": "gender", "expr": "datum.sex == 2 ? \"Female\" : \"Male\""}]
-  }, 		  
+  "transform": [
+    {"filter": "datum.year == 2000"},
+    {"calculate": "datum.sex == 2 ? \"Female\" : \"Male\"", "as": "gender"}
+  ],

Bin

Removed config.maxbins and make the default depend on the channel. You can still override the maximum number of bins for each encoding.

Filled

Support filled in mark definitions (#2083).

Others

  • Fix the bug that labelAngle cannot be applied when labelAngle == 0 (#1664)
  • Major internal improvements with a new dataflow (#2086)

v2.0.0-alpha.8

30 Mar 00:50
Compare
Choose a tag to compare
v2.0.0-alpha.8 Pre-release
Pre-release
  • Support sorting time domains
  • Remove need for babel
  • Don't make bar automatically transparent for non-stack bar with raw fields on level of detail channels
  • Allow users to customize role
  • Add labelLimit, titleLimit to config, remove labelMaxLength
  • Add axisX, axisY, axisLeft, axisTop, and axisBand in config

v2.0.0-alpha.7

30 Mar 00:25
Compare
Choose a tag to compare
v2.0.0-alpha.7 Pre-release
Pre-release
  • Update rules for legend type
  • Fix color scale legends
  • Only apply opacity if there is raw level of detail channel

v2.0.0-alpha.6

07 Mar 06:42
Compare
Choose a tag to compare
v2.0.0-alpha.6 Pre-release
Pre-release
  • We now support "aggregate": "count" without "field": "*" (See example specification changes in #2020)
  • Better scales for binned fields (using Vega's new bin-linear and bin-ordinal scales).

v2.0.0-alpha.5

04 Mar 19:41
Compare
Choose a tag to compare
v2.0.0-alpha.5 Pre-release
Pre-release
  • Add warning when using fieldDef with incompatible channel

v2.0.0-alpha.4 – Improved Release Output

01 Mar 22:45
Compare
Choose a tag to compare

We now ship both ts and js files to npm packages.

All compiled js files, both bundled (vega-lite.js and vega-lite.min.js) and TS compiler's output, are under build/.

If you wish to do local import of a particular file, please import from build/src from dependent projects (both JS and TS).

For example, to import Channel, you can import like this (diff showing traditional import)

+import {Channel} from 'vega-lite/build/src/channel';
-import {Channel} from 'vega-lite/src/channel';

For dependent TS projects, this approach has multiple benefits:

  1. Users can do npm link vega-lite in a dependent project. TS compiler will no longer import TS files rather than JS files from linked project. (.ts files have high precendence than .js files.)

  2. Source map will still work when users try to debug lines in Vega-Lite.

v2.0.0-alpha.3 – Interaction Support in Unit Specifications & Config Revision

01 Mar 17:38
Compare
Choose a tag to compare

Breaking Syntax Revision

Revise Axis/Legend Config to match Vega 3 and leverage config parser in Vega 3's parser.

Axis

  • Rename axisWidth to domainWidth, axisColor to domainColor, tickLabelColor to labelColor, tickLabelFont to labelFont, tickLabelFontSize to labelFontSize, tickPadding to labelPadding, titleOffset to titlePadding
  • Separate Axis from AxisConfig. Make these properties only available as Axis properties: domain, grid, labels, labelMaxLength, labelPadding, maxExtent, minExtent, offset, position, shortTimeLabels, ticks, tickCount, tickSize, titleMaxLength, titlePadding, zindex
  • Remove labelAlign, labelBaseline, subdivide, tickSizeMajor, tickSizeMinor, tickSizeEnd from Axis Config

Legend

  • Add symbolType
  • Remove margin, symbolShape from Legend Config
  • Separate Legend from LegendConfig. Make these properties only available as Legend properties: entryPadding, orient, offset, padding, tickCount, zindex
  • Remove related code for Vega Legend configs

Scale

  • Range config for scale are now available inside config.scale.* (e.g., config.scale.minSize, config.scale.shapes)

Extend Mark Syntax

  • Make mark property can be either a mark type or (new) a mark definition object
  • Separate CompositeMark such as "error-bar" from (primitive) Mark …
    • Provide API for registering new type of compositeMark

Interaction Syntax

Initial support for specifying interactive behaviours within unit specifications. Four example specifications demonstrate interactive brushing, highlighting, panning & zooming, and dynamic query widgets.

The syntax for interactive selections has subtly changed from our earlier research paper. Complete documentation is forthcoming but, in the interim, please consult these four comments that briefly describe the space of selection specifications currently supported.

Note: We plan to make another release very soon this week that will move all compiled files to build/ folder.

v2.0.0-alpha.2

16 Feb 23:15
Compare
Choose a tag to compare
v2.0.0-alpha.2 Pre-release
Pre-release

Syntax

Mark

  • Rename "errorBar" => "error-bar" for consistency with other properties.
  • Separate CompositeMark from (primitive) Mark …
    • Provide API for registering new type of composite marks with a normalizer method

Encoding

  • Add stack to x and y encoding channel
  • Add format for text encoding channel + remove config.text.format

Scale / Axis / Legend

  • Add new axis properties: labelPadding, position, titlePadding, maxExtent, minExtent
  • Add new legend properties: entryPadding, tickCount, zindex, titlePadding
  • Add new scale properties: interpolate

Other Config

  • Rename config.mark.stacked toconfig.stack
  • Add scale range config to match Vega config
  • Remove config.text.applyColorToBackground, which adds background to text mark.

Composition

  • Make layer operator singular (layer), not plural (layers) -- to be consistent with facet, repeat, and concat.

Output

  • Add mark role to the output so that we can leverage Vega mark's role config for Vega-Lite marks that are not Vega marks (bar, tick, point, circle, square)

Internal

  • Distinguish between Extended*Spec and *Spec, which both implement Generic*Spec, and between Mark and CompositeMark