0.73.0#
Released 2026-05-27 — GitHub Release
Changes#
✨ Features#
feat: support nullable Arrow Device array export (#8104) @0ax1
Add FilterPushdown support to spark data source (#7785) @robert3005
Explicit Precision::Absent variant instead of Option
(#8042) @AdamGS Benchmarks Website V3: Admin and Auto-Deploy (#7849) @connortsui20
Allow writing Variant to files and test parquet-variant IO (#7945) @AdamGS
🚀 Performance#
TurboQuant: better centroid initialization (#8116) @connortsui20
Use CachedId for ArrayExpr scalar function ID (#8124) @joseph-isaacs
Add Sparse pushdown kernels for is_constant, sum, and compare (#8028) @joseph-isaacs
perf: aggregate min/max (#8061) @joseph-isaacs
fastlanes: streaming compare + between kernels for BitPacked (#8015) @joseph-isaacs
perf: remove implicit
ListViewArrayrebuild duringtakeandfilteroperations (#8048) @mhk197perf[array]: bool filter kernel optimisation (#7125) @joseph-isaacs
perf[array]: cast to prim faster (#8062) @joseph-isaacs
Add bit-packed widening cast pushdown (#8059) @joseph-isaacs
Add TakeExecute implementation for FilterArray (#7393) @robert3005
🐛 Bug Fixes#
10 changes
Correctly handle Nan/Inf comparison in ALP between reduce (#8126) @robert3005
fsst like to respect sql escape codes in the pattern (#8107) @onursatici
Fix native library publish for non amd64 platforms (#8108) @robert3005
wipe duckdb source in build.rs if not fully extracted before (#8106) @onursatici
like stat falsification respects escape characters (#8103) @onursatici
Fix dtype mismatch in Filter::take logic (#8073) @robert3005
Handle overflow in decimal between implementation if the passed scalars fit in the array’s logical but not the physical type (#8017) @vortex-claude[bot]
When delegating to arrow comparison make sure that both left and right hand side have the same arrow type (#8018) @vortex-claude[bot]
fix: build CUDA kernels as multi-arch fatbin with PTX fallback (#8047) @0ax1
Fallback from fsst specialised like expression if there are escape characters in the like string (#8038) @robert3005
📖 Documentation#
Document existing TurboQuant types (#8053) @connortsui20
🧰 Maintenance#
31 changes
Remove pre df 53.0 polarsignals benchmark workaround (#8122) @robert3005
Use plain functions for copy function in duckdb (#8109) @myrrc
-isystemfor Duckdb headers, build with-Werror(#7747) @myrrcUpdate actions/stale digest to eb5cf3a (#8077) @renovate[bot]
Update anthropics/claude-code-action digest to 787c5a0 (#8078) @renovate[bot]
Update codecov/codecov-action digest to e79a696 (#8079) @renovate[bot]
Update docker/build-push-action digest to f9f3042 (#8080) @renovate[bot]
Update docker/login-action digest to 650006c (#8081) @renovate[bot]
Update docker/setup-buildx-action digest to d7f5e7f (#8082) @renovate[bot]
Lock file maintenance (#8094) @renovate[bot]
Lock file maintenance (#8095) @renovate[bot]
Update taiki-e/install-action digest to 8f531ea (#8084) @renovate[bot]
PrimitiveArrayExt::narrowexposeExecutionCtx(#8096) @joseph-isaacsUpdate all patch updates (#8085) @renovate[bot]
Use plain functions instead of vtab in duckdb (#8102) @myrrc
test: improve arrow device array test coverage (#8101) @0ax1
Update EmbarkStudios/cargo-deny-action digest to a531616 (#8083) @renovate[bot]
Update junit-framework monorepo to v6.1.0 (#8091) @renovate[bot]
Update storybook monorepo to v10.4.1 (#8090) @renovate[bot]
Update plugin com.palantir.java-format to v2.91.0 (#8092) @renovate[bot]
Update dependency typescript-eslint to v8.59.4 (#8089) @renovate[bot]
Update dependency io.netty:netty-bom to v4.2.14.Final (#8088) @renovate[bot]
Update dependency @tanstack/react-virtual to v3.13.25 (#8086) @renovate[bot]
Update dependency @types/react to v19.2.15 (#8087) @renovate[bot]
Fix random-access benchmark console display (#8054) @robert3005
Skip computation of expression return dtype unless there are no chunks to return (#8045) @robert3005