pypi / altair
altair
What changed in altair 5 to 6, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-12.
17 breaking4 deprecations8 new APIs and options13 behavior and defaults1 tooling20 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initaltair 641 changes
Breaking changes 7
Invalid property setter arguments now raise TypeError instead of being silently discarded.
Support for Python 3.10 is dropped.
Python 3.9 is dropped; the release also adds pandas 3 compatibility.
The default stack order of marks like bars and areas is now aligned with the color domain.
Parameter and view names are now hashed.
Altair now compiles against Vega-Lite 6, specifically 6.1.0, so projects must use Vega-Lite 6 or later.
The minimum required vegafusion version is now 2.
New APIs and options 4
Signals and params can now be passed to alt.datum[...] directly, instead of interpolating a parameter name into a string.
Expression objects now work as arguments to alt.value().
Adds the ensure_ascii option to to_json(), with a default of False.
A new datasets module provides lazy access to datasets from vega-datasets.
Behavior and default changes 12
The olli integration is updated to v3.
Layering simple faceted charts that define the same facet variables is supported, instead of requiring layering before faceting.
Interactive charts automatically change the cursor to pointer to indicate they can be interacted with.
Tooltips now support newlines.
The
heightandwidthtypes changed frominttofloat.Altair expressions now allow NumPy scalar values.
Altair is now thread-safe, and specifications should remain stable after re-running.
Altair now emits a warning for deduplications.
The editor can now be opened without validating the specification.
The
.changedproperty is now optional inJupyterChart.MaxRowsError messages now show
user_rows.ValidationError messages now show Python types, providing more information when validation fails.
Tooling 1
Altair adds ty type-check support.
Fixes and other changes 17
Missing anywidget is now reported for JupyterChart.
Avoids view name collisions in layered concatenations.
Includes layered concat views in selection parameters.
Dataset cache files are now written atomically.
Params are propagated to the outer level after add_params in concat charts.
Fixes type issues with Chart mark methods.
Fixes type issues with Chart save methods.
Fixes typing issues for mypy 1.18 and above.
Preserves polars datetime timezones during serialization.
Identical specs that use different data now receive unique hashes.
Fixes non-unique view names per concat cell and corrects param.views.
Altair now accepts ZoneInfo(key='UTC').
The typing for
ChartType.datawas corrected to resolve an LSP violation.The
&,|, and~operators now preserve the empty property.The overload no longer incorrectly indicates that
Trueis the default forstrict.Altair now provides support for Python 3.14.
Vega export was repaired.
altair 522 changes
Breaking changes 10
The altair.sphinxext module has been removed; the altair-plot Sphinx directive is now part of the sphinxext-altair package.
Escape colons in column names to avoid ambiguity with encoding types, for example "column\:name" instead of "column:name".
The deprecated datasets.py module has been removed.
Specify a selection parameter's empty keyword argument as True or False instead of all or none, respectively.
Ordered pandas categorical data are automatically encoded as sorted ordinal data.
Parameters are introduced, including variable parameters and selection parameters, enabling interactive charts and replacing much of the old selection terminology.
In many cases, replace the selection keyword argument with param, such as when specifying a filter transform.
The Vega-Lite 3 and 4 wrappers have been removed.
Rendering in Vega mode is deprecated, although saving a Chart as Vega format remains allowed.
The default chart width changed from 400 to 300.
Deprecations 4
add_selection is deprecated; use add_params instead.
The init keyword argument for a parameter is deprecated; use value instead.
Use selection_point in place of the deprecated selection_single and selection_multi APIs.
For point selections, use type=point instead of the deprecated type=single or type=multi.
New APIs and options 4
Experimental DataFrame Interchange Protocol support is available through the __dataframe__ attribute and requires pyarrow>=11.0.0.
Channel options can be set with method-based syntax, such as alt.X(...).bin(...), alongside the existing attribute-based syntax.
Offset channels support grouped bar charts and jitter.
Set width="container" for responsive charts when saving to HTML or using the default html renderer.
Behavior and default changes 1
HTML chart saving supports inline output without requiring altair_saver to be installed.
Fixes and other changes 3
Displaying a chart no longer changes the shorthand syntax in the stored spec.
disable_debug_mode is fixed.
A webdriver issue affecting Firefox's geckodriver is fixed.