Databend Releases
This page provides information about recent features, enhancements, and bug fixes for Databend.
Oct 21, 2026 (v1.2.953-nightly)
What's Changed
Exciting New Features ✨
- feat(query): Inverted Index support User dictionary by @b41sh in #20565
- feat(query): materialize row-level TTL via DELETE mutation by @zhyass in #20597
- feat(planner): multiply AND filter selectivities across columns by @forsaken628 in #20598
- feat(query): vacuum spill directories concurrently in VACUUM TEMPORARY FILES by @bohutang in #20647
- feat(rbac): require ATTACH TABLE privilege alongside CREATE by @TCeason in #20683
- feat(query): add send_notification for async delivery by @TCeason in #20656
- feat(query): support zero-copy table clone by @zhyass in #20454
Thoughtful Bug Fix 🔧
- fix(meta): skip undecodable table meta when collecting dropped tables by @SkyFan2002 in #20634
- fix(query): preserve LIKE operand order in filter selector by @sundy-li in #20642
- fix(query): exclude MV candidates from dynamic table sources by @sundy-li in #20557
- fix(query): keep empty groups of correlated scalar aggregate subqueries by @youngsofun in #20633
- fix(query): avoid window top-n truncating rows used by grouped windows by @dqhl76 in #20652
- fix(query): skip inactive rows in regexp functions by @KKould in #20654
- fix(meta): skip unreadable tables during listing by @TCeason in #20663
- fix(query): parse nested task MODIFY AS statements by @KKould in #20617
- fix(query): raise flight listener accept backlog by @dqhl76 in #20658
- fix(query): bound window partition restore memory by @dqhl76 in #20650
- fix(storage): advance stream offsets when no-op DML skips commit by @SkyFan2002 in #20671
- fix(query): isolate view name scope from outer CTEs by @TCeason in #20655
- fix(query): evaluate decimal modulo exactly instead of through Float64 by @vbmithr in #20693
- fix(query): stop datetime functions contending on the timezone LUT cache by @vbmithr in #20694
- fix(query): source query data metrics from per-query IoStats by @dantengsky in #20687
- fix(query): avoid column id overflow when reading virtual columns with
_row_idby @b41sh in #20664 - fix(storage): support Iceberg name mapping and file physical schema by @sundy-li in #20594
- fix(query): keep rows for the next OR child when LIKE input is constant NULL by @forsaken628 in #20696
- fix(storage): merge transaction statistics on commit retry by @zhyass in #20719
- fix(query): normalize inferred filter constraints by @KKould in #20668
- fix(storage): cache decoded vector indexes by @bohutang in #20744
- fix(query): clean up cancelled lock waits and FlightSQL statements by @zhyass in #20734
- fix(storage): only honor s3 storage class setting for external tables, mark it experimental by @dantengsky in #20721
- fix(query): preserve original pipeline errors before interruption by @SkyFan2002 in #20750
- fix(query): reclaim metadata of dropped tables with retired engines by @SkyFan2002 in #20797
- fix(version): remove nightly suffix from binary versions by @sundy-li in #20792
- fix(query): isolate stream batches from source table cache by @zhyass in #20796
Code Refactor 🎉
- refactor(query): simplify inverted index cache warmup by @b41sh in #20641
- refactor(storage): report scan progress before prewhere filtering by @dantengsky in #20666
- refactor: meta: make metactl RPC timeouts configurable by @drmingdrmer in #20706
- refactor(query): optimize day-level datetime functions when the UTC offset is fixed by @vbmithr in #20699
- refactor(query): defer aggregate splitting to physical planning by @forsaken628 in #20667
- refactor(storage): share adaptive concurrency and retry observation by @bohutang in #20729
- refactor(expression): fold range constraints in linear time by @KKould in #20653
Build/Testing/CI Infra Changes 🔌
- ci: build release binaries in two parallel groups by @bohutang in #20661
- ci(sqllogic): run http and hybrid handlers in one job instead of two by @bohutang in #20662
- chore(build): speed up release builds without touching hot-path codegen by @bohutang in #20657
- ci: post a CI timing comment on PRs after Dev and Cloud runs by @bohutang in #20665
- ci: support hold-ci label to pause heavy CI during review iteration by @bohutang in #20672
- ci: move mac_check from PR workflow to main by @bohutang in #20677
- ci: run stage sqllogic dedup/size variants inside one job per storage backend by @bohutang in #20681
- ci: resolve fork PRs in CI timing comment script by @bohutang in #20688
- ci: make CI timing comment tolerant of transient API errors by @bohutang in #20702
- ci: skip PR description and AI assistance checks on draft PRs by @bohutang in #20707
- ci: fix metachaos FUSE disconnects on statx by @bohutang in #20771
Others 📒
- chore: strengthen dropped-table vacuum regression tests by @dantengsky in #20649
- chore(storage): cover scan progress with an in-process integration test by @dantengsky in #20684
- chore(security): add SECURITY.md and OSS Scanner enrolment files by @bohutang in #20692
- chore: consolidate root linter and python configs into subdirs by @bohutang in #20698
- chore(security): slim the OSS Scanner image and threat model by @bohutang in #20697
- chore: make the top-level LICENSE the Apache-2.0 text by @bohutang in #20703
- chore: fix flaky vector-pruner test by @dantengsky in #20704
- chore(deps): bump rustls from 0.23.36 to 0.23.45 by @dependabot[bot] in #20648
- chore(build): cut clean debug build time by ~20% by @sundy-li in #20745
New Contributors
- @vbmithr made their first contribution in #20693
Full Changelog: https://github.com/databendlabs/databend/releases/tag/v1.2.953-nightly
Oct 15, 2026 (v1.2.925-patch-15)
Full Changelog: https://github.com/databendlabs/databend/releases/tag/v1.2.925-patch-15

