unstale

npm / vega

vega

What changed in vega 5 to 6, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.

8 breaking6 security11 new APIs and options1 behavior and defaults21 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.9 on npm

vega 646 changes

Breaking changes 8

  • Ordinal scales with empty initial domains now fall back to five colors when no explicit count is set.

    6.4.0release notes

  • Ordinal scales using continuous color schemes now honor range.count, cycling colors if the count is smaller than the domain.

    6.4.0release notes

  • then is now included among disallowed object properties.

    6.4.0release notes

  • Canvas and SVG DOM roots now use vertical-align: bottom, removing the baseline-descender gap; containing inline line boxes may shrink, while exported SVG is unaffected.

    6.4.0release notes

  • Dots in aggregated field names are replaced with underscores.

    6.3.0release notes

  • The max interval is exclusive rather than inclusive.

    6.3.0release notes

  • Legend and title labels align to the start of the chart frame.

    6.3.0release notes

  • Stroke bounds expand by half the stroke width with join-aware slack; bounds are tighter and miter joins are honored by default.

    6.3.0release notes

Security 5

  • A prototype pollution vulnerability in mergeConfig is avoided.

    6.3.0release notes

  • A security fix was applied to vega-expression code generation.

    6.3.0release notes

  • A security fix was applied to vega-functions modify.

    6.3.0release notes

  • A security fix was applied to vega-interpreter evaluation.

    6.3.0release notes

  • A security fix was applied to vega-selections tuples.

    6.3.0release notes

New APIs and options 11

  • A new event source lets specs react to container size changes, including reflows and resizable panels.

    6.4.0release notes

  • The expression language now includes the d3-ease easing functions.

    6.4.0release notes

  • Adds a function to read a projection's fitted translation, mirroring geoScale().

    6.4.0release notes

  • Adds interpolateLinear to the expression language.

    6.4.0release notes

  • Adds Monday-based ISO 8601 week timeunit support.

    6.4.0release notes

  • Adds Monday-based ISO 8601 year-week timeunit support.

    6.4.0release notes

  • encodeURIComponent is added to built-in expressions.

    6.3.0release notes

  • Axis tick datums expose an integer tickIndex field for use in label expressions.

    6.3.0release notes

  • The timeunit transform adds the inferUnits option.

    6.3.0release notes

  • The timeunit transform accepts the auto unit.

    6.3.0release notes

  • vega-interpreter adds encodeURIComponent.

    6.3.0release notes

Behavior and default changes 1

  • An axis description overrides the default aria-label.

    6.3.0release notes

Fixes and other changes 21

  • Canvas style size is now updated when devicePixelRatio is 1.

    6.4.0release notes

  • CLI config file loading is restored; --config had been silently ignored since the ESM migration.

    6.4.0release notes

  • Code generation now applies DisallowedObjectProperties to quoted object keys.

    6.4.0release notes

  • CLI locale file loading is restored; --format had been silently ignored since the ESM migration.

    6.4.0release notes

  • Adds the missing hypot function to vega-interpreter.

    6.4.0release notes

  • The generic mergeConfig signature is restored.

    6.4.0release notes

  • Unsupported on* properties are ignored and warned about instead of being set as attributes.

    6.4.0release notes

  • Global and sticky regexp literals are recreated per interpreter evaluation so lastIndex does not carry across datums.

    6.4.0release notes

  • Signals are now resolved in unioned scale domains.

    6.4.0release notes

  • CLI locale file loading is restored; --timeFormat had been silently ignored since the ESM migration.

    6.4.0release notes

  • The generic writeConfig signature is restored.

    6.4.0release notes

  • The bin transform returns the adjusted stop.

    6.3.0release notes

  • Bounds are calculated correctly for an empty visualization with an absent legend title.

    6.3.0release notes

  • Event point calculations now respect CSS transforms.

    6.3.0release notes

  • Stacking handles null and empty-string categories correctly.

    6.3.0release notes

  • The single-element population case is calculated correctly.

    6.3.0release notes

  • Negative variance deviation from streaming removes is clamped.

    6.3.0release notes

  • SVG paths containing a closepath z without a following space separator are parsed.

    6.3.0release notes

  • The tickMinStep option is handled correctly.

    6.3.0release notes

  • The single-element population case is calculated correctly.

    6.3.0release notes

  • The window transform preserves the sign of frame bounds.

    6.3.0release notes

vega 51 changes

Security 1

  • Fixes a security advisory for v5 releases and improves expressions.

    5.33.1release notes