v1.0.0-beta.3
Β· 5 min read
Release date: December 17, 2025
Breaking changesβ
- Cache Architecture Refactoring: Replaced generic LRU cache with specialized manifest cache and background downloads by @evenyag in #7294, breaking configuration changes:
- NEW:
region_engine.mito.manifest_cache_size(default: 256MB) - REMOVED:
storage.cache_path,storage.enable_read_cache,storage.cache_capacity
- NEW:
π Highlightsβ
π Key New Featuresβ
- Vector Index Support:
- Added foundational types and SQL parsing support for vector index functionality.
- Memory Management:
- Implemented memory manager for compaction operations.
- Introduced per file scan metrics for better monitoring.
- Operations & Monitoring:
- Added ability to suspend frontend and datanode components.
- Added Grafana PostgreSQL data source query builder support.
- Implemented manifest file cache for improved performance.
β‘ Performance Improvementsβ
- Optimized DISTINCT operations by treating them as commutative/partially-commutative.
- Enhanced histogram quantile calculations with safe mode for incomplete data.
- Improved part sort behavior on overlapping time windows.
- Added verbose metrics to scanners for better performance tracking.
π Notable Bug Fixesβ
- Fixed network failure detection with HTTP/2 keep-alive for heartbeat client.
- Resolved PostgreSQL extended query regression with shortcutted statements.
- Fixed PromQL histogram issues with aggregation and offset direction.
- Corrected TLS option validation and merging problems.
- Fixed CPU core calculation that could incorrectly return 0.
π Featuresβ
- feat: implement a cache for manifest files by @evenyag in #7326
- feat: add more verbose metrics to scanners by @evenyag in #7336
- feat: decode pk eagerly by @waynexia in #7350
- feat: run histogram quantile in safe mode for incomplete data by @waynexia in #7297
- feat: update dashboard to v0.11.9 by @ZonaHex in #7364
- feat: allow publishing new nightly release when some platforms are absent by @waynexia in #7354
- feat: allow one to many VRL pipeline by @v0y4g3r in #7342
- feat: collect merge and dedup metrics by @evenyag in #7375
- feat: suspend frontend and datanode by @MichaelScofield in #7370
- feat: table/column/flow COMMENT by @waynexia in #7060
- feat: grafana postgresql data source query builder support by @sunng87 in #7379
- feat: mark index outdated by @discord9 in #7383
- feat: mem manager on compaction by @fengjiachun in #7305
- feat: optimize and fix part sort on overlapping time windows by @waynexia in #7387
- feat: per file scan metrics by @evenyag in #7396
- feat: move memory_manager to common crate by @fengjiachun in #7408
- feat: introduce
copy_region_fromfor mito engine by @WenyXu in #7389 - feat: support function aliases and add MySQL-compatible aliases by @killme2008 in #7410
- feat(vector_index): adds the foundational types and SQL parsing support for vector index by @killme2008 in #7366
π Bug Fixesβ
- fix: reset cached channel on errors with VIP by @fengjiachun in #7335
- fix: configure HTTP/2 keep-alive for heartbeat client to detect network failures faster by @WenyXu in #7344
- fix: regression with shortcutted statement on postgres extended query by @sunng87 in #7340
- fix: use saturating in gc tracker by @discord9 in #7369
- fix: part sort behavior by @waynexia in #7374
- fix: improve network failure detection by @WenyXu in #7382
- fix(procedure): update procedure state correctly during execution and on failure by @WenyXu in #7376
- fix: gc listing op first by @discord9 in #7385
- fix: parse "KEEP FIRING FOR" by @fengys1996 in #7386
- fix: promql histogram with aggregation by @waynexia in #7393
- fix: promql offset direction by @waynexia in #7392
- fix: TLS option validate and merge by @shuiyisong in #7401
- fix: cpu cores got wrongly calculated to 0 by @MichaelScofield in #7405
- fix: use verified recycling method for PostgreSQL connection pool by @WenyXu in #7407
- fix(servers): flight stuck on waiting for first message by @v0y4g3r in #7413
- fix: using anonymous s3 access when ak and sk is not provided by @shuiyisong in #7425
π Refactorβ
- refactor(servers): allow custom flight service by @v0y4g3r in #7333
- refactor(servers): bulk insert service by @v0y4g3r in #7329
- refactor: remove datafusion data frame wrapper by @waynexia in #7347
- refactor: use versioned index for index file by @discord9 in #7309
- refactor: extract file watcher to common-config by @shuiyisong in #7357
- refactor: remove duplication coverage and code from window sort tests by @waynexia in #7384
- refactor: optimize heartbeat channel and etcd client keepalive settings by @WenyXu in #7390
β‘ Performanceβ
π§ͺ Testingβ
- test: gc worker scheduler mock test by @discord9 in #7292
- test: test_tracker_cleanup skip non linux by @discord9 in #7398
βοΈ Miscellaneous Tasksβ
- chore: members and committers update by @fengjiachun in #7341
- chore: rm unnecessary warning by @discord9 in #7352
- chore: rename to avoid git reserved name by @discord9 in #7359
- chore(mito): expose some symbols by @v0y4g3r in #7373
- chore: saturating duration since by @discord9 in #7380
- chore(mito): nit avoid clone the batch object on inverted index building by @lyang24 in #7388
- chore: sort histogram sqlness result by @waynexia in #7406
- chore: add
is_initializedmethod for frontend client by @fengys1996 in #7409 - chore: expose symbols by @v0y4g3r in #7417
- chore: change etcd endpoints to array in the test scripts by @daviderli614 in #7419
- chore: bump version to beta.3 by @discord9 in #7423
- chore: feature gate vector_index by @discord9 in #7428
All Contributorsβ
We would like to thank the following contributors from the GreptimeDB community:
@MichaelScofield, @WenyXu, @ZonaHex, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @lyang24, @shuiyisong, @sunng87, @v0y4g3r, @waynexia