# What changed in vega

> 47 changes in vega 5 to 6 from its official release notes, upgrade guides and advisories: 8 breaking, 6 security, 11 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/vega/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## vega 6

### Breaking changes

- Ordinal scales with empty initial domains now fall back to five colors when no explicit count is set. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Ordinal scales using continuous color schemes now honor range.count, cycling colors if the count is smaller than the domain. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- then is now included among disallowed object properties. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- 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.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Dots in aggregated field names are replaced with underscores. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The max interval is exclusive rather than inclusive. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Legend and title labels align to the start of the chart frame. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Stroke bounds expand by half the stroke width with join-aware slack; bounds are tighter and miter joins are honored by default. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)

### Security

- A prototype pollution vulnerability in mergeConfig is avoided. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- A security fix was applied to vega-expression code generation. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- A security fix was applied to vega-functions modify. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- A security fix was applied to vega-interpreter evaluation. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- A security fix was applied to vega-selections tuples. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)

### New APIs and options

- A new event source lets specs react to container size changes, including reflows and resizable panels. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- The expression language now includes the d3-ease easing functions. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Adds a function to read a projection's fitted translation, mirroring geoScale(). (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Adds interpolateLinear to the expression language. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Adds Monday-based ISO 8601 week timeunit support. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Adds Monday-based ISO 8601 year-week timeunit support. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- encodeURIComponent is added to built-in expressions. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Axis tick datums expose an integer tickIndex field for use in label expressions. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The timeunit transform adds the inferUnits option. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The timeunit transform accepts the auto unit. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- vega-interpreter adds encodeURIComponent. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)

### Behavior and default changes

- An axis description overrides the default aria-label. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)

### Fixes and other changes

- Canvas style size is now updated when devicePixelRatio is 1. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- CLI config file loading is restored; --config had been silently ignored since the ESM migration. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Code generation now applies DisallowedObjectProperties to quoted object keys. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- CLI locale file loading is restored; --format had been silently ignored since the ESM migration. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Adds the missing hypot function to vega-interpreter. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- The generic mergeConfig signature is restored. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Unsupported on* properties are ignored and warned about instead of being set as attributes. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Global and sticky regexp literals are recreated per interpreter evaluation so lastIndex does not carry across datums. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- Signals are now resolved in unioned scale domains. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- CLI locale file loading is restored; --timeFormat had been silently ignored since the ESM migration. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- The generic writeConfig signature is restored. (6.4.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.4.0)
- The bin transform returns the adjusted stop. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Bounds are calculated correctly for an empty visualization with an absent legend title. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Event point calculations now respect CSS transforms. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Stacking handles null and empty-string categories correctly. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The single-element population case is calculated correctly. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- Negative variance deviation from streaming removes is clamped. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- SVG paths containing a closepath z without a following space separator are parsed. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The tickMinStep option is handled correctly. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The single-element population case is calculated correctly. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)
- The window transform preserves the sign of frame bounds. (6.3.0) — [release notes](https://github.com/vega/vega/releases/tag/v6.3.0)

## vega 5

### Security

- Fixes a security advisory for v5 releases and improves expressions. (5.33.1) — [release notes](https://github.com/vega/vega/releases/tag/v5.33.1)
