Release date: April 25, 2025
π Highlightsβ
- Bulk Insert: Adds support for high-performance bulk data ingestion.
- Otel Traces: Official releases otel traces.
- Fulltext Enhancements: Improves fulltext search with new functions (e.g.,
matches_term
, @@
operator), backend switching, and term optimizations.
- Flow Engine: Introduces batching mode and dual engine capability for more flexible data processing.
- Partitioning: Supports column-wise and UUID-based partition rules for better scalability.
- Region Management: New tools for region sync, monitoring, leader region collection, and region failover handling.
- PromQL Engine: Enhanced query performance, range manipulation speed, and stability.
- SQL & API Improvements: Adds
REPLACE INTO
, new regex and JSON features, and various compatibility fixes.
- Performance & Reliability: Optimizations for memory, storage, and parallel computation; numerous bug fixes for stability.
- Observability: Per-region metrics, expanded Grafana dashboards, and better profiling tools.
- Protocol & Integration: Implements Arrow Flight "DoPut" for fast data loading; improves PostgreSQL protocol support.
Plus: Many dependency upgrades, improved config and error handling, and new contributors joined!
π₯οΈ Dashboardβ
- Upgrade web dashboard to v0.9, supports SQL explain visualization and editor improvements.
Breaking changesβ
- refactor!: Remove
Value::DateTime
and ValueRef::DateTime
. by @linyihai in #5616
- refactor!: make pipeline a required parameter when ingesting trace by @sunng87 in #5828
π Featuresβ
π Bug Fixesβ
π Refactorβ
- refactor: add pipeline concept to OTLP traces and remove OTLP over gRPC by @sunng87 in #5605
- refactor: simplify udf by @MichaelScofield in #5617
- refactor: rename table function to admin function by @waynexia in #5636
- refactor: remove or deprecated existing UDAF implementation by @waynexia in #5637
- refactor: remove cluster id field by @v0y4g3r in #5610
- refactor(mito): move wal sync task to background by @v0y4g3r in #5677
- refactor: update jaeger api implementation for new trace modeling by @sunng87 in #5655
- refactor: remove trace id from primary key in
opentelemetry_traces
table by @zyy17 in #5733
- refactor: make frontend instance clear by @fengys1996 in #5754
- refactor: move
list_flow_stats
to ClusterInfo
trait. by @WenyXu in #5774
- refactor: remove useless partition legacy code by @v0y4g3r in #5786
- refactor: remove useless region follower legacy code by @WenyXu in #5787
- refactor: remove useless region follower legacy code by @WenyXu in #5795
- refactor: skip re-taking arrays in memtable if possible by @MichaelScofield in #5779
- refactor: remove deprecated find_unique method by @waynexia in #5790
- refactor: remove mode option in configuration files by @fengys1996 in #5809
- refactor: allow bloom filter search to apply
and
conjunction by @zhongzc in #5770
- refactor: remove prom store write dispatch by @shuiyisong in #5812
- refactor: remove backoff config by @WenyXu in #5808
- refactor: add time range for jager get operations API by @zyy17 in #5791
- refactor: improve performance for Jaeger APIs by @zyy17 in #5838
- refactor: check and fix super import by @waynexia in #5846
- refactor(flow): make start flownode clearer by @discord9 in #5848
- refactor: abstract index source from fulltext index applier by @zhongzc in #5845
- refactor: improve error code handling in status code conversion by @WenyXu in #5851
- refactor: simplify tls key read code and add sec1 key support by @sunng87 in #5856
- refactor: avoid empty display in errors by @MichaelScofield in #5858
- refactor: add
partition_rules_for_uuid()
by @zyy17 in #5743
- refactor: unify all dashboards and use
dac
tool to generate intermediate dashboards by @zyy17 in #5933
- refactor:
run_pipeline
parameters by @shuiyisong in #5954
π Documentationβ
- perf: rm coalesce batch when target_batch_size > fetch limit by @discord9 in #5658
- perf(prom): optimize label values query by @WenyXu in #5653
- perf: support in list in simple filter by @waynexia in #5709
- perf: introduce
simd_json
for parsing ndjson by @shuiyisong in #5794
- perf: evolve promql execution engine by @waynexia in #5691
- perf: faster range manipulate for promql by @waynexia in #5859
- perf: avoid duplicate computation in promql by @waynexia in #5863
- perf: keep compiled regex in SimpleFilterEvaluator to avoid re-compiling by @evenyag in #5919
- perf: optimize fulltext zh tokenizer for ascii-only text by @zhongzc in #5975
π§ͺ Testingβ
βοΈ Miscellaneous Tasksβ
New Contributorsβ
All Contributorsβ
We would like to thank the following contributors from the GreptimeDB community:
@AntiTopQuark, @CookiePieWw, @MichaelScofield, @Pikady, @SNC123, @Wenbin1002, @WenyXu, @ZonaHex, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @linyihai, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @xiaoniaoyouhuajiang, @yihong0618, @zhongzc, @zyy17