Release date: July 04, 2025
It is recommended to upgrade to v0.15.1
π Highlightsβ
-
Process Management: Implements complete process management system with ProcessManager
,
information_schema.process_list
table, process killing functionality, and MySQL client
Ctrl+C
support for query termination (#5865, #6309, #6320).
-
Bulk Insert Performance: Introducing SimpleBulkMemtable
for tables without primary keys to
accelerate bulk write operations (#6054).
-
Partition Rule Checker: Introduces a robust point matrix-based partition rule checker that
ensures completeness and uniqueness, eliminating false negatives and providing better error
messages with specific uncovered/overlapped value ranges (#6431).
-
Pipeline Integration: Adds pipeline support for Prometheus remote write and
Loki API (#5981, #6390).
-
VRL Processing: Introduces Vector Remap Language (VRL) processor for advanced data
transformation within pipelines, allowing users to write VRL scripts for flexible data
processing (#6205).
Dashboardβ
- Supports trace view
- Supports writing logs in the ingest panel
Breaking changesβ
- fix!: disable append mode in trace services table by @zyy17 in #6066
- feat!: revise compaction picker by @v0y4g3r in #6121
- refactor(cli)!: reorganize cli subcommands by @paomian in #6265
- feat!: point matrix based partition rule checker by @waynexia in #6431
π Featuresβ
π Bug Fixesβ
- fix: check if memtable is empty by stats by @v0y4g3r in #5989
- fix: prune primary key with multiple columns may use default value as statistics by @evenyag in #5996
- fix: only consider the datanode that reports the failure by @WenyXu in #6004
- fix: sanitize_connection_string by @fengjiachun in #6012
- fix: disable recursion limit in prost by @waynexia in #6010
- fix: always create mito engine by @v0y4g3r in #6018
- fix: force streaming mode for instant source table by @discord9 in #6031
- fix: do not add projection to cast timestamp in label_values by @evenyag in #6040
- fix: improve region migration error handling and optimize leader downgrade with lease check by @WenyXu in #6026
- fix: reset tags when creating an empty metric in prom call by @evenyag in #6056
- fix: ensures logical and physical region have the same timestamp unit by @evenyag in #6041
- fix: csv format escaping by @killme2008 in #6061
- fix: alter table modify type should also modify default value by @discord9 in #6049
- fix: flownode chose fe randomly¬ starve lock by @discord9 in #6077
- fix: typos by @omahs in #6084
- fix: promql regex escape behavior by @waynexia in #6094
- fix: table metadata collection by @WenyXu in #6102
- fix: clean files under the atomic write dir on failure by @evenyag in #6112
- fix: append noop entry when auto topic creation is disabled by @WenyXu in #6092
- fix: fast path for single region bulk insert by @v0y4g3r in #6104
- fix: update promql-parser for regex anchor fix by @waynexia in #6117
- fix: flow update use proper update by @discord9 in #6108
- fix: update dev-build image tag by @daviderli614 in #6136
- fix: flaky prom gateway test by @v0y4g3r in #6146
- fix: region worker stall metrics by @v0y4g3r in #6149
- fix(flow): flow task run interval by @discord9 in #6100
- fix: ident value in set search_path by @sunng87 in #6153
- fix: require input ordering in series divide plan by @waynexia in #6148
- fix: invalid table flow mapping cache by @discord9 in #6135
- fix: bulk insert case sensitive by @v0y4g3r in #6165
- fix: set column index can't work in physical table by @killme2008 in #6179
- fix: add simple test for rds kv backend by @paomian in #6167
- fix(promql): handle field column projection with correct qualifier by @WenyXu in #6183
- fix: alter table update table column default by @discord9 in #6155
- fix: remove poison key before retrying procedure on retryable errors by @WenyXu in #6189
- fix: remove stale region failover detectors by @WenyXu in #6221
- fix(mito): revert initial builder capacity for TimeSeriesMemtable by @v0y4g3r in #6231
- fix: do not accommodate fields for multi-value protocol by @evenyag in #6237
- fix: add missing features by @MichaelScofield in #6245
- fix: add "query" options to standalone by @MichaelScofield in #6248
- fix: ignore incomplete WAL entries during read by @WenyXu in #6251
- fix: convert JSON type to JSON string in COPY TABLE TO statement by @WenyXu in #6255
- fix: skip wal replay when opening follower regions by @WenyXu in #6234
- fix(mito): use 1day as default time partition duration by @v0y4g3r in #6202
- fix: export metrics settings in sample config by @killme2008 in #6170
- fix(meta): enhance postgres election client with timeouts and reconnection by @WenyXu in #6276
- fix: null value handling on PromQL's join by @waynexia in #6289
- fix: config docs by @v0y4g3r in #6294
- fix: doc links by @nicecui in #6304
- fix: check for zero parallelism by @discord9 in #6310
- fix: always use linux path style in windows platform unit tests by @zyy17 in #6314
- fix: event api content type only check type and subtype by @paomian in #6317
- fix: handle corner case in catchup where compacted entry id exceeds region last entry id by @WenyXu in #6312
- fix: ignore missing columns and tables in PromQL by @evenyag in #6285
- fix: override logical table's partition column with physical table's by @waynexia in #6326
- fix: carry process id in query ctx by @v0y4g3r in #6335
- fix: revert string builder initial capacity in
TimeSeriesMemtable
by @v0y4g3r in #6330
- fix(metric): prevent setting memtable type for metadata region by @WenyXu in #6340
- fix(jaeger-api): incorrect
find_traces()
logic and multiple api compatible issues by @zyy17 in #6293
- fix: add path exist check in copy_table_from (#6182) by @Arshdeep54 in #6300
- fix: reordered write cause incorrect kv by @v0y4g3r in #6345
- fix(metric-engine): properly propagate errors during batch open operation by @WenyXu in #6325
- fix(meta): enhance mysql election client with timeouts and reconnection by @WenyXu in #6341
- fix: test test_tls_file_change_watch by @killme2008 in #6366
- fix: complete partial index search results in cache by @zhongzc in #6403
- fix: skip failing nodes when gathering process info by @v0y4g3r in #6412
- fix: fix dest_keys chunks bug in TombstoneManager by @WenyXu in #6432
- fix: correct MAX_EXECUTION_TIME timeout calculation by @evenyag in #6444
- fix: remap column indices on overriding logical table partitions by @waynexia in #6446
- fix: label_replace and label_join functions when used as subβexpressions by @killme2008 in #6443
- fix: enable max_execution time for other read only statements by @evenyag in #6454
π Refactorβ
- refactor: datanode instance builder by @MichaelScofield in #6034
- refactor: remove the "mode" configuration item completely by @MichaelScofield in #6042
- refactor: remove some async in ServerHandlers by @MichaelScofield in #6057
- refactor: introduce row group selection by @zhongzc in #6075
- refactor: add
SlowQueryRecorder
to record slow query in system table and refactor slow query options by @zyy17 in #6008
- refactor: replace FlightMessage with arrow
RecordBatch
and Schema
by @v0y4g3r in #6175
- refactor: extract some common functions and structs in election module by @CookiePieWw in #6172
- refactor(flow): limit the size of query by @discord9 in #6216
- refactor: respect
data_home
as root data home directory by @zyy17 in #6050
- refactor: support to get trace id with time range by @zyy17 in #6236
- refactor: unify function registry (Part 1) by @zhongzc in #6262
- refactor: remove
PipelineMap
and use Value
instead by @shuiyisong in #6278
- refactor: Extract mito codec part into a new crate by @evenyag in #6307
- refactor: make flownode gRPC services able to be added dynamically by @fengys1996 in #6323
- refactor: make finding leader in metasrv client dynamic by @MichaelScofield in #6343
- refactor: make metadata region option opt-in by @sunng87 in #6350
- refactor: make scanner creation async by @MichaelScofield in #6349
- refactor(cli): simplify metadata command parameters by @WenyXu in #6364
- refactor: pass pipeline name through http header and get db from query context by @zyy17 in #6405
- refactor: avoid adding feature to parameter by @fengys1996 in #6391
βοΈ Miscellaneous Tasksβ
New Contributorsβ
All Contributorsβ
We would like to thank the following contributors from the GreptimeDB community:
@Arshdeep54, @CookiePieWw, @MichaelScofield, @Olexandr88, @WenyXu, @ZonaHex, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @linyihai, @nicecui, @omahs, @paomian, @rgidda, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @yihong0618, @yinheli, @zhongzc, @zqr10159, @zyy17