What's Changed
There are many exciting improvements in this release! Read on for details and a big thanks to everyone who contributed 🎉
Enhancements
- feat: Update to Vega-Lite 6.4.1 by @joelostblom in #4005. See the Vega-Lite Release Notes for details; a few highlights:
- Newlines are now supported in tooltips.
- The default stack order of marks like bars and areas is now aligned with the color domain.
- Interactive charts automatically change the cursor to pointer to indicate they can be interacted with.
- feat: auto hoist facet encodings in layer by @thomascamminady in #3965
- This allows layering of simple faceted charts that define the same facet variables, instead of requiring that layering happens before faceting.
- feat: Accept ZoneInfo(key='UTC') by @JackKelly in #3944
- feat: add pandas 3 compatibility and fix CI (drop Python 3.9, pin polars <1.38) by @mattijn in #3950
- feat: add ensure_ascii option to to_json() with default False by @RamiNoodle733 in #3952
Bug Fixes
- fix: unique view names per concat cell and correct param.views by @mattijn in #3974
- fix: Compute unique hashes for identical specs that use different data by @joelostblom in #3982
- fix: preserve polars datetime timezones during serialization by @kjgoodrick in #3922
- fix: type issues with Chart save methods. by @alec-bike in #3934
- fix: type issues with Chart mark methods. by @alec-bike in #3936
- fix: improve api.py typing by @alec-bike in #3955
- fix: typing issues for mypy 1.18 and above. by @alec-bike in #3966
Documentation
- docs: Highlight new examples in the gallery by @joelostblom in #3999
- It's now easier to find which examples have been recently added to the Altair gallery and the page looks more visually appealing overall.
- docs: add WASM / Pyodide installation instructions by @ArnavTomar18 in #3932
- docs: Correct some grammar issues by @star1327p in #3942
- docs: add identity line (x=y diagonal) example to rule mark docs by @stbiadmin in #3969
- docs: Correct tooltip field for faceted choropleth example by @Sparlitu in #3920
- docs: wrong tooltip variable id -> county_id by @thomascamminady in #3924
- docs: a HConcatChart -> an HConcatChart by @star1327p in #3917
- docs: Substitute field strings correctly so that points in theme display chart show up by @joelostblom in #3984
- docs: Change the lead size to fit on two rows by @joelostblom in #3980
- docs: Make the first page title fit on one row by @joelostblom in #3979
- docs: Fix broken density example by @joelostblom in #3985
- docs: Simplify inline expr syntax by @joelostblom in #3996
Other Changes
- build: Speed up doc build time for faster local development by @joelostblom in #3997
- build: Add watch option to automatically rebuild docs upon detected changes by @joelostblom in #3998
- build: Create docs CLI to facilitate different build combinations by @joelostblom in #4000
- chore: bump dev version to 6.1.0dev by @mattijn in #3913
- style: Make chained chart methods work with type checkers other than pyright by @hamdanal in #3933
- ci: bump actions/checkout from 5 to 6 in the github-actions group by @dependabot[bot] in #3928
- build(deps): bump urllib3 from 2.5.0 to 2.6.3 by @dependabot[bot] in #3939
- build(deps): bump virtualenv from 20.31.2 to 20.36.1 by @dependabot[bot] in #3940
- build(deps): bump cryptography from 45.0.5 to 46.0.5 by @dependabot[bot] in #3953
- build: update lock file by @mattijn in #3963
- chore(typing): Ignore
duckdbimports by @dangotbanned in #3971 - ci(uv): Remove
polars<1.38pin by @dangotbanned in #3973 - chore: Move pytest
addoptstotestpathsby @dangotbanned in #3972 - chore: bump
narwhals>=2.4.0by @dangotbanned in #3970 - build: unpin duckdb and geopandas for py3.14 by @mattijn in #3975
- chore: Simplify
ruffconfig, fix minor type issues by @alec-bike in #3967 - fix: update ruff target-version to py310 by @alec-bike in #3977
- build(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in #3988
- build(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #3986
- build(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in #3987
- build(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in #4003
- build(deps): bump tornado from 6.5.4 to 6.5.5 by @dependabot[bot] in #3978
- build(deps): bump uv from 0.10.4 to 0.11.6 by @dependabot[bot] in #4004
- ci: harden prerelease workflow by @mattijn in #4008
New Contributors
- @Sparlitu made their first contribution in #3920
- @kjgoodrick made their first contribution in #3922
- @hamdanal made their first contribution in #3933
- @ArnavTomar18 made their first contribution in #3932
- @alec-bike made their first contribution in #3934
- @JackKelly made their first contribution in #3944
- @RamiNoodle733 made their first contribution in #3952
- @stbiadmin made their first contribution in #3969
Full Changelog: v6.0.0...v6.1.0