| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| questdb-10.0.1-no-jre-bin.tar.gz | 2026-08-24 | 36.7 MB | |
| questdb-10.0.1-rt-linux-x86-64.tar.gz | 2026-08-24 | 98.0 MB | |
| questdb-10.0.1-rt-windows-x86-64.tar.gz | 2026-08-24 | 88.9 MB | |
| 10.0.1 source code.tar.gz | 2026-08-24 | 68.6 MB | |
| 10.0.1 source code.zip | 2026-08-24 | 75.5 MB | |
| README.md | 2026-08-24 | 10.7 kB | |
| Totals: 6 Items | 367.7 MB | 1 | |
QuestDB 10.0.1
QuestDB 10.0.1 is a maintenance release that builds on 10.0.0 with improvements across SQL, QWP, Live Views, DECIMAL, storage, and the Web Console. Expanded fuzz, fault-injection, and concurrency coverage strengthens a number of less-common execution and failure paths.
The release also improves high-cardinality window queries and Live View refreshes, streams eligible ordered UNION ALL queries without a full sort, reduces idle-worker allocation on JDK 24+, and bundles Web Console 2.0.3.
For any questions or feedback, please join us on Slack or on Discourse.
See also our prettier release notes page.
Highlights
Reliability and protocol hardening
- QWP table-update caching now follows table lifecycle and schema changes more closely, including
DROP/recreate, rename, and column-type changes. Durable acknowledgement accounting also covers transactions committed at the append-time row threshold. #7383, #7484 - Partition squash and POSTING-index lifecycle paths gain additional concurrency and I/O handling, improving behavior around open partitions, concurrent writers, and rollback. #7487, #7485, #7382
- Column type conversion now reports low-disk-space failures cleanly, and metadata compatibility improves for tables created before QuestDB 6.1. #7537, #7476
Faster and more capable windows and Live Views
Compatible window functions over the same PARTITION BY key can now share one map and one probe per row. The largest gains occur at high key cardinality: in the PR benchmark, a three-function bounded window over one million keys ran about 2.1x faster and retained 65 MiB less native memory on the cached path. The optimization is controlled by the reloadable cairo.sql.window.map.fusion.enabled setting. #7515
The same change substantially reduces Live View refresh, seal, restart, and transient-memory costs. In the reported 3.8-million-account benchmark, per-batch refresh fell from 4.43 seconds to 0.48 seconds and restart from 79.7 seconds to 3.86 seconds. Live Views can also project aliases and scalar expressions around window functions, with broader coverage for bounded RANGE frames, extreme timestamps, replay, and NOCACHE symbols.
Additional hardening makes view startup, routine base-table DDL, and concurrent refresh behavior more consistent. #7465, #7486, #7512
DECIMAL coverage and interoperability
Expanded DECIMAL coverage improves arithmetic and scale handling, NULL consistency, casts, bind variables, WAL replay, ILP, CSV import/export, Parquet filtering, and storage. #7452
ALTER TABLE ... ALTER COLUMN ... TYPE now converts between DECIMAL and FLOAT/DOUBLE in both directions. For Parquet-backed data, QuestDB converts the affected partitions to native format first.
SQL, protocols, and Web Console
- Ordered
UNION ALLcan stream through a merge operator instead of sorting. Eligible full scans ran about 8-9x faster in the PR benchmark, whileLIMITqueries can stop without materializing and sorting the full union. Branches must expose compatible designated timestamps and scan order. #7348 - An all-SYMBOL
UNIONorUNION ALLnow returnsSYMBOL. HTTP metadata and CTAS preserve the type instead of widening it to STRING; PGWire continues to expose both through the VARCHAR OID. #7397 - Scalar subqueries, indexed
LATEST ON, lateral aggregates, large GROUP BY maps, VARCHAR date parsing, andSHOW CREATE DATABASEsubqueries gain broader plan and edge-case coverage. #7388, #7481, #7432, #7434, #7417, #7384 - PGWire result framing now handles additional ARRAY, IPv4, and GEOHASH format combinations. ILP TCP authentication handling is more robust for malformed input, and
current_user()/session_user()report the authenticated principal. #7469, #7488, #7273 - Web Console 2.0.3 adds light/dark themes, notebook-level auto-refresh with per-cell overrides, improved grid sizing and editor settings, and OIDC and terminology fixes. #7458, #7533
Changelog
Features
- feat(sql): return SYMBOL from a UNION over symbol columns by @glasstiger in #7397
Performance
- perf(core): reduce GC pressure from idle workers on JDK 24+ by @kafka1991 in #7459
- perf(sql): speed up window queries and fix wrong results in windows and live views by @puzpuzpuz in #7515
- perf(sql): stream ordered UNION ALL without sorting by @brunocalza in #7348
Fixes
- fix(core): load view definitions before the engine publishes READY by @RaphDal in #7465
- fix(sql): fix scalar subquery predicates and timestamp interval pruning by @nwoolmer in #7388
- fix(core): fix crash when reading tables created before QuestDB 6.1 by @nwoolmer in #7476
- fix(pgwire): fix queries hanging until the connection times out by @jerrinot in #7469
- fix(sql): rebind bind variable in deferred indexed LATEST ON by @nwoolmer in #7481
- fix(sql): handle conservative ASCII hints in VARCHAR date parsing by @jerrinot in #7417
- fix(core): fix live views turning invalid after routine base table DDL by @bluestreak01 in #7486
- fix(qwp): reject oversized table counts by @jerrinot in #7493
- fix(core): fix covering-index reads on Windows by @glasstiger in #7499
- fix(ilp): stop ILP TCP authentication failures escaping as unhandled errors by @bluestreak01 in #7488
- fix(core): prevent invalid native-memory writes by @jerrinot in #7453
- chore(core): harden decimal type handling by @RaphDal in #7452
- fix(core): stop POSTING index close() truncating a region another writer published by @bluestreak01 in #7485
- fix(core): prevent false live view invalidation during concurrent refresh by @bluestreak01 in #7512
- fix(core): fix table suspension after a range replace removes its last partition by @puzpuzpuz in #7380
- fix(sql): fix NULL results for count expressions in LEFT JOIN LATERAL by @kafka1991 in #7432
- fix(core): signal restore cancellation promptly on shutdown by @jovfer in #7361
- fix(qwp): fix silent row loss after DROP in the qwpudp table-update cache by @nwoolmer in #7383
- fix(core): fix incorrect query results and premature memory-limit errors in large queries by @puzpuzpuz in #7434
- fix(core): stop partition squash losing var-column data on the open partition by @bluestreak01 in #7487
- fix(sql): fix filters on SHOW CREATE DATABASE subqueries by @nwoolmer in #7384
- fix(qwp): fix durable acks issued before the WAL upload is confirmed by @bluestreak01 in #7484
- fix(core): fix the web console showing "admin" instead of the authenticated user by @glasstiger in #7273
- fix(core): fix a POSTING index crash on rollback after a value-file I/O error by @puzpuzpuz in #7382
- fix(core): fix crash on column type conversion under low disk space by @ideoma in #7537
Web Console
- chore(ui): upgrade web console to 2.0.2 by @emrberk in #7458
- chore(ui): upgrade web console to 2.0.3 by @emrberk in #7533
Full Changelog: 10.0.0...10.0.1