Databend Releases
This page provides information about recent features, enhancements, and bug fixes for Databend.
Nov 8, 2026 (v1.2.961-nightly)
What's Changed
Exciting New Features ✨
- feat(http): support catalog in /v1/session/login by @youngsofun in #20949
- feat(query): adapt partial aggregation at runtime and route it through global shuffle(2/3) by @dqhl76 in #20915
- feat(query): keep shuffle connections busy when cores are saturated(1/3) by @dqhl76 in #20911
- feat(query): admin API for on-demand CPU flamegraphs by @dqhl76 in #20903
- feat(rbac): add explicit materialized view SELECT grants by @TCeason in #20940
- feat(query): prune group items computed from group items and constants by @KKould in #20962
- feat(query): prune runtime TopN by the first of several sort keys by @KKould in #20964
- feat(query): control Python UDF egress with external integrations by @sundy-li in #20898
- feat(query): support runtime TopN pruning across UNION ALL by @zhang2014 in #20967
- feat(query): keep dictionary encoded columns in hash join by @KKould in #20956
- feat(query): expose node-local cache statistics on admin API by @bohutang in #21013
- feat(query): sort hash write lanes by the linear cluster key by @youngsofun in #20980
- feat(cache): one disk cache of object bytes below the readers by @bohutang in #20945
- feat(query): unify recluster under OPTIMIZE TABLE by @zhyass in #20979
- feat(query): segment zone map for fuse tables, built by recluster by @zhang2014 in #21021
Thoughtful Bug Fix 🔧
- fix(query): Fix repetitive SQL processing operations by @b41sh in #20926
- fix(query): keep rows that tie with the last vector TopN row by @b41sh in #20932
- fix(query): scan only the vector TopN rows instead of whole blocks by @b41sh in #20931
- fix(query): remove experimental privilege check settings by @TCeason in #20933
- fix(query): speed up lazy prune pipeline, keep prune cache under LIMIT by @SkyFan2002 in #20884
- fix(query): skip aggregate work for empty inputs and buckets by @SkyFan2002 in #20891
- fix(query): correct grouping-set schemas and grouping IDs by @sundy-li in #20934
- fix(storage): prevent incomplete index refresh after writes by @zhyass in #20909
- fix(storage): publish snapshot hints only after transaction commit by @dantengsky in #20827
- fix(query): allow create Materialized View with Table in different Database by @b41sh in #20906
- refactor(sql): fold ScalarExpr bottom-up during type checking by @forsaken628 in #20901
- fix(formats): preserve CSV empty values and correct quote styles by @youngsofun in #20946
- fix(query): fix data loss in UNION ALL by @SkyFan2002 in #21011
- fix(fuse): infer string statistics truncation by character count by @dantengsky in #21015
- fix(query): do not make HTTP sessions sticky for materialized CTE temp tables by @youngsofun in #21007
Code Refactor 🎉
- refactor(query): merge final aggregate payloads by rows and copy partial states by @KKould in #20928
- refactor(query): filter columns by mask word like if selection by @SkyFan2002 in #20927
- refactor(query): reduce meta reads in multi-table SELECT access checks by @SkyFan2002 in #20889
- refactor(query): copy runs of consecutive rows in take kernels by @SkyFan2002 in #20951
- refactor(query): optimize ungrouped arg_min and arg_max with SIMD by @jvdd in #20868
Build/Testing/CI Infra Changes 🔌
- ci: use $1 for the capture group in ClickBench Q28 by @KKould in #20965
- ci(cloud): run docker job on 16c on-demand runner by @zhang2014 in #21006
- chore(ci): cancel closed PR runs and limit PR auto retries by @TCeason in #21009
Others 📒
- chore: bump Rust toolchain to nightly-2026-10-25 by @sundy-li in #20910
New Contributors
- @jvdd made their first contribution in #20868
Full Changelog: https://github.com/databendlabs/databend/releases/tag/v1.2.961-nightly
Nov 2, 2026 (v1.2.960-nightly)
What's Changed
Thoughtful Bug Fix 🔧
- fix(query): materialize outer input where correlated aliases are invalid by @SkyFan2002 in #20892
Code Refactor 🎉
- refactor(query): select if branches by mask word for all types by @SkyFan2002 in #20904
- refactor(query): avoid optimizer trace overhead when tracing is off by @SkyFan2002 in #20878
- refactor(query): bypass ineffective rank-limit pre-sort in partial aggregate by @SkyFan2002 in #20879
- refactor(cache): kind-based cache store; migrate all caches by @bohutang in #20899
Full Changelog: https://github.com/databendlabs/databend/releases/tag/v1.2.960-nightly

