Skip to content

Releases: vega/vega-lite

v2.0.0-alpha.1

30 Jan 23:39
Compare
Choose a tag to compare
v2.0.0-alpha.1 Pre-release
Pre-release

Syntax Change

  • Update Axis's tick and label to ticks and labels (to match Vega-v3.0.0

Bug Fix

  • Correct scaleTypeSupportProperty: log scale supports exponent too

Internal

  • Refactor src/compile/scale.type to take more simpler input to facilitate CompassQL upgrade to VL 2 alpha

v2.0.0-alpha.0

26 Jan 20:44
Compare
Choose a tag to compare
v2.0.0-alpha.0 Pre-release
Pre-release

This first alpha release supports all features from Vega-Lite 1, but renders charts using Vega 3 instead of Vega 2. Since this is a pre-release, we will further revise syntax (schema) of the language and likely introduce some breaking changes prior to the official 2.0 release.

Syntax Change

Marks

  • Add rect mark for creating arbitrary rect and for creating table heat map
  • Most mark types (except rect) can now be stacked. (For example, points can be stacked to serve as markers for line and area.)

Channels

  • Remove path channel and useorder channel for sorting line orders instead.
  • The order channel no longer affects layer order for marks.

Transform

  • Similar to Vega 3, formula definition for calculate now use as property to specify output fields name instead of field.

Scale

Scale Type

  • Scale types are updated to match Vega 3 and D3 4.0.
    • Ordinal scale type is now replaced with the new ordinal (for lookup table), point, and band scales.
    • A new sequential scale for color is added for mapping continuous data to a sequential color scheme.

Scale Padding

  • Facet (row and column)'s scale renamed to spacing as it represents pixel spacing/padding between different faceted cell/plot while padding is a padding ratio between [0, 1] for other channels
  • padding now has no effect on row and column while spacing has no effect on other channels besides row and column.
  • paddingOuter and paddingInner added.

Other Scale Properties

  • Similar to Vega 3, "bandSize" is now renamed to "rangeStep"
  • "rangeStep": null now makes rangeStep fits the width or height. The original value "fit" for "rangeStep" (formerly "bandSize") is removed.
  • config.scale.round is now only supported for x, y, row, column (and ignored for other channels).
  • scale's zero is now true by default when using a quantitative field with size.
  • A new scheme property is added for specifying scheme as scale range

Sort

  • "sort": "none" is no longer supported. Instead, please use "sort": null.

Axis

  • tick and domain properties added for enabling / disabling parts of an axis.
  • ticks renamed to tickCount
  • characterWidth removed.
  • Axis now no longer has layer property. Instead, there is a "zindex" property (default 0). By default, axes should be drawn behind all chart elements. To put them in front, use "zindex": 1.

Axis / legend

  • properties directive for custom axis and legend style are removed. Instead please use the encode directive.

Config

  • Add mark specific config for all marks. Basically, each mark config (e.g., config.bar.*) has all properties similar to mark config. This way you can make line's default color be green while bar's default is blue if desired.
  • Remove old mark specific config from config.mark
    • config.mark.barBinSpacing/barThinSize/barSize => config.bar.binSpacing/continuousBandSize/discreteBandSize
    • config.mark.lineSize => config.line.strokeWidth
    • config.mark.shape => config.point.shape
    • config.mark.size => config.point/circle/square.size
    • config.mark.ruleSize => config.rule.strokeWidth
    • config.mark.tickSize,tickThickness => config.tick.bandSize/thickness
    • config.mark.* (text properties) => config.text.*
  • Move each scale range config from config.scale to config.mark to map with default non-mapped property value. For example:
    • config.scale.opacityRange => config.mark.min/maxOpacity (as a companion to config.mark.opacity)
    • config.scale.barSizeRange => config.bar.min/maxBandSize (as a companion to config.bar.bandSize)
    • config.scale.shapeRange => config.point.shapes (as a companion to config.point.shape)

API

  • Now vl.compile takes logger that implements LoggerInterface as input, allow redirecting warning, info, and debug log to other locations besides the console.
  • More warnings:
    • If a scale type does not support any specified scale properties

Output

  • Include vega's $schema in the output

Internal

  • Eliminate vl.shorthand helper (#1509)
  • Remove auto imputed time unit domain (#1605)
  • Enable noImplicitAny

v1.3.1

27 Jan 01:11
Compare
Choose a tag to compare
Release v1.3.1.

v1.3.0

21 Oct 02:46
Compare
Choose a tag to compare
  • Add example for diverging color scale (#1591)
  • Make setting axis or legend = null as the default way to disable them.
  • Fix Axis.titleColor/legend.labelColor/legend.titleColor to affect the corresponding text's fill instead of stroke
  • Enable declaration files .d.ts emit – thanks @weswigham

This is probably our last MINOR release as we are now working on Vega-Lite 2.0.

v1.2.1

18 Oct 17:02
Compare
Choose a tag to compare

Syntax

  • Add DateTime support for scale.domain and values of axis and legend #1577
  • Annotate DateTime schema with min and max values

Bug Fixes

  • Apply format to bin range as well. Fix #1112
  • Only use d as count format for text channel
  • Disable useRawDomain for log scale
  • Correct merge facet.cell.width, facet.cell.height - Fix #1248
    -tickLabelColor should compile into fill instead of stroke - Fix #1561
  • Don't start bar and area from zero for time/utc scales - Fix #1549
  • Include width and height in child spec of a normalized faceted spec
  • Add month-date timeUnit
  • Correct quarter's domain to produce correct month - Fix #1531, #1532
  • Fix incorrect layout source and values for the root group. - Fix #1540
  • Change default timeFormat for temporal field to "Jan 1, 2017" rather than "2017-01-01"
  • Correct orient for vertical tick with bin - Fix #1536
  • Correct orient for temporal dimension without timeUnit
  • Make filterInvalid read from parent to make sure that we always correctly filter invalid values.
  • Disable stack when (1) the aggregated axis is a non-linear scale or (2) the aggregation op is non-summative
    • Use opacity = 0.7 for unstacked bar with color/detail/size
  • Basic format.parse property support
  • Automatically infer format.parse for filtered field in filter definition object

v1.2.0 Top-level Width & Height, Ordinal Fit Scale, and Spaces in Field Names

26 Aug 23:01
Compare
Choose a tag to compare

Syntax

  • Support Top-level Width & Height, Ordinal Fit Scale
    • Add top-level width and height.
    • Support scale.bandSize = "fit"
    • Make padding only for band ordinal scale (when bandSize = "fit")
    • [See Documentation here](
  • Fix bugs in filterInvalid
    • Only add NaN filter for quantitative and temporal fields
    • Don't add filters for * (of count fields)
  • Support custom shapes -- Thanks @mprudhom
  • Rename in operator in filter to oneOf to avoid using restrict names in other languages ("in" is still supported, but now deprecated from the JSON schema.)

Examples

  • Correct File Extensions to .vl.json, which is the new standard file extension.

Builds

  • Extract .js.map fiels from .js.

Fixes

  • Support Spaces in Field Names
  • Fix bar/area for log scale and scale with zero = false
  • Don't override shape/size symbol for shape/size legend
  • Correctly sort line chart when the dimension axis has sort property
  • Fix incorrect orientation for tick in dot-plot with continuous timeUnit

Internal API

  • Remove unused transpose method in spec.ts

v1.1.3 Allow spaces and dashes in field names

11 Aug 18:22
Compare
Choose a tag to compare
  • Allow spaces and dashes in field names (#1492) – Thanks @willium.

Internal

  • Move getFilterExpression method from src/compile/data/filter.ts to src/filter.ts as expression (#1498)

v1.1.2

07 Aug 20:14
Compare
Choose a tag to compare

Correct scale.domain schema: it can only be a number[] or string[], but not string.

v1.1.1

30 Jul 16:27
Compare
Choose a tag to compare

Fixes

  • Fix broken horizontal area chart

v1.1.0 Filter Definition Object

30 Jul 16:22
Compare
Choose a tag to compare

Syntax Change

  • Introducing filter objects with equal, range and in operators with support for filtering time units (For more information, please see transform.md)
  • Rename transform's filterNull to filterInvalid since we also filter NaN values (#1475)
    • filterNull is still supported for backward compatibility but is no longer included in the JSON schema.
  • cleanup mistakes in timeUnit schema
    • Correct yearmonthday to yearmonthdate in the schema
    • Remove YEARMONTHDAY, YEARDATE and YEARDAY time units as the output from transformation are not temporal values anymore, which violate temporal type semantic. If you really need these transformation, please use transform.calculate to manually derive these fields.

Fixes

  • Correctly implement log scale with bar (#1368)
  • Always fill symbol with transparent fill (#1316)
  • Do not set zero=true by default if user provides a custom scale domain (#1329)
  • Make legend support opacity channel (#1375)

Internal

  • Extract vl.timeUnit.defaultScaleType
  • Refactor vl.timeUnit.expression
    • rename expression to fieldExpr
    • take field as input instead
  • Refactor vl.timeUnit.TIMEUNITS
    • reorder vl.timeUnit.TIMEUNITS array to group by semantic
    • Add SINGLE_TIMEUNITS and MULTI_TIMEUNITS and isSingleTimeUnit and isMultiTimeUnit methods