Skip to main content

v0.16.0

Β· 6 min read

Release date: August 06, 2025

πŸ‘ Highlights​

  • PromQL:

    • Adds absent() function for missing series detection (#6618).
    • Enhances PromQL compatibility with OLTP metrics (#6543).
    • Supports querying label values from internal labels __schema__ and __database__ (#6631).
  • Observability Improvements: Provides a panic logger, HTTP API to toggle heap profiling (enabled by default), and more verbose logs/metrics in EXPLAIN ANALYZE VERBOSE (#6633, #6593, #6575).

πŸ“Š Dashboard v0.10.6​

  • Sidebar Controls – Toggle visibility from left menu and persist tables sidebar width.
  • Data View Fullscreen Mode - Query results can be displayed in fullscreen for enhanced data analysis experience.
  • Refactored Log/Trace View - Improved log and trace viewing functionality with better user interface and performance.

πŸš€ Features​

  • feat: add RegionId to FileId by @waynexia in #6410
  • feat: move metasrv admin to http server while keep tonic for backward compatibility by @lyang24 in #6466
  • feat(mito): replace Memtable::iter with Memtable::ranges by @v0y4g3r in #6549
  • feat: supports more db options by @killme2008 in #6529
  • feat: allow ignoring nonexistent regions in recovery mode by @WenyXu in #6592
  • feat: impl some promql scalar functions by @killme2008 in #6567
  • feat: poll result stream more often by @discord9 in #6599
  • feat: fallback when failed to push down using DistPlanner by @discord9 in #6574
  • feat: add SET DEFAULT syntax by @linyihai in #6421
  • feat: struct vector by @discord9 in #6595
  • feat: trigger alter parse by @fengys1996 in #6553
  • feat: update dashboard to v0.10.5 by @ZonaHex in #6604
  • feat: allow setting next table id via http api by @WenyXu in #6597
  • feat: ignore internal keys in metadata snapshots by @WenyXu in #6606
  • feat: introduce reconcile table procedure by @WenyXu in #6584
  • feat: more logs and metrics under explain verbose mode by @evenyag in #6575
  • feat: introduce reconcile database procedure by @WenyXu in #6612
  • feat: introduce reconcile logical tables procedure by @WenyXu in #6588
  • feat: HTTP API to activate/deactive heap prof (activate by default) by @evenyag in #6593
  • feat: Implement a converter to converts KeyValues into BulkPart by @evenyag in #6620
  • feat: introduce reconcile catalog procedure by @WenyXu in #6613
  • feat: panic logger by @discord9 in #6633
  • feat: update dashboard to v0.10.6 by @ZonaHex in #6632
  • feat: support __schema__ and __database__ in Prom Remote Read by @waynexia in #6610
  • feat: support tls for pg backend by @waynexia in #6611
  • feat: absent function in PromQL by @waynexia in #6618
  • feat: Add option to limit the files reading simultaneously by @evenyag in #6635
  • feat: introduce reconciliation interface by @WenyXu in #6614
  • feat: add partial truncate by @discord9 in #6602
  • feat: schema/database support for label_values by @sunng87 in #6631
  • feat: implements FlatReadFormat to project parquets with flat schema by @evenyag in #6638
  • feat: use real data to truncate manipulate range by @waynexia in #6649
  • feat: Implements an iterator to read the RecordBatch in BulkPart by @evenyag in #6647
  • feat: register all aggregate function to auto step aggr fn by @discord9 in #6596
  • feat: use column expr with filters in LogQuery by @waynexia in #6646
  • feat: record the migration events in metasrv by @zyy17 in #6579
  • feat: support TQL CTE in planner by @waynexia in #6645
  • feat(log-query): support binary op, scalar fn & is_true/is_false by @waynexia in #6659
  • feat: EncodedBulkPartIter iters flat format and returns RecordBatch by @evenyag in #6655
  • feat: count underscore in English tokenizer and improve performance by @waynexia in #6660

πŸ› Bug Fixes​

  • fix: aggr group by all partition cols use partial commutative by @discord9 in #6534
  • fix: closee issue #6555 return empty result by @yihong0618 in #6569
  • fix: ignore target files in make fmt-check by @yihong0618 in #6560
  • fix: close issue #6586 make pg also show error as mysql by @yihong0618 in #6587
  • fix: add map datatype conversion in copy_table_from (#6185) by @Arshdeep54 in #6422
  • fix(test): concurrency issue in compaction tests by @v0y4g3r in #6615
  • fix: only return the name label when there is one by @waynexia in #6629
  • fix: bump greptime-sqlparser to avoid convert statement overflow by @kemingy in #6634
  • fix: show create flow's expire after by @discord9 in #6641
  • fix: fix sequence peek method to return correct values when sequence is not initialized by @WenyXu in #6643
  • fix: sequence peek with remote value by @fengjiachun in #6648
  • fix: not mark all deleted when partial trunc by @discord9 in #6654
  • fix: box Explain node in Statement to reduce stack size by @waynexia in #6661
  • fix: unable to record slow query by @zyy17 in #6590

🚜 Refactor​

  • refactor: refactor partition mod to use PartitionExpr instead of PartitionDef by @zhongzc in #6554
  • refactor: remove unused PartitionDef by @zhongzc in #6573
  • refactor: explicitly accept path type as param by @zhongzc in #6583
  • refactor(otlp_metric): make otlp metric compatible with promql by @shuiyisong in #6543
  • refactor: remove procedure executor from DDL manager by @WenyXu in #6625

πŸ“š Documentation​

⚑ Performance​

βš™οΈ Miscellaneous Tasks​

  • chore(otlp_metric): support attr list in header opts by @shuiyisong in #6617
  • chore(otlp_metric): update metric and label naming by @shuiyisong in #6624
  • chore: refine metrics tracking the flush/compaction cost time by @v0y4g3r in #6630
  • chore: update jieba tantivy-jieba and tantivy version by @yihong0618 in #6637
  • chore: add limit in resources panel and Cache Miss panel by @zyy17 in #6636
  • chore: add methods to catalog manager by @v0y4g3r in #6656

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@Arshdeep54, @WenyXu, @ZonaHex, @discord9, @evenyag, @fengjiachun, @fengys1996, @kemingy, @killme2008, @linyihai, @lyang24, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @yihong0618, @zhongzc, @zyy17

v0.15.4

Β· One min read

Release date: August 04, 2025

πŸš€ Features​

  • feat: support __schema__ and __database__ in Prom Remote Read by @waynexia in #6610
  • feat: absent function in PromQL by @waynexia in #6618
  • feat: schema/database support for label_values by @sunng87 in #6631
  • feat: Add option to limit the files reading simultaneously by @evenyag in #6635

πŸ› Bug Fixes​

  • fix: only return the name label when there is one by @waynexia in #6629

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@evenyag, @sunng87, @waynexia

v0.15.3

Β· 2 min read

Release date: July 24, 2025

πŸš€ Features​

πŸ› Bug Fixes​

🚜 Refactor​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@codephage2020, @discord9, @evenyag, @fengys1996, @killme2008, @shuiyisong, @v0y4g3r, @waynexia, @yihong0618, @zhongzc

v0.15.2

Β· One min read

Release date: July 11, 2025

πŸš€ Features​

πŸ› Bug Fixes​

  • fix(metric-engine): handle stale metadata region recovery failures by @WenyXu in #6395
  • fix: stricter win sort condition by @discord9 in #6477
  • fix: empty statements hang by @killme2008 in #6480
  • fix: range query returns range selector error when table not found by @evenyag in #6481
  • fix: skip nan in prom remote write pipeline by @shuiyisong in #6489
  • fix: correctly update partition key indices during alter table operations by @WenyXu in #6494
  • fix: expand on conditional commutative as well by @waynexia in #6484

βš™οΈ Miscellaneous Tasks​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@WenyXu, @discord9, @evenyag, @killme2008, @paomian, @shuiyisong, @sunng87, @waynexia

v0.15.1

Β· One min read

Release date: July 05, 2025

πŸ› Bug Fixes​

  • fix: add backward compatibility for SkippingIndexOptions deserialization by @zhongzc in #6458
  • fix: filter empty batch in bulk insert api by @v0y4g3r in #6459

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@v0y4g3r, @zhongzc

v0.15.0

Β· 17 min read

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&not 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

⚑ Performance​

βš™οΈ 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

v0.14.4

Β· One min read

Release date: June 04, 2025

πŸ› Bug Fixes​

  • fix: set column index can't work in physical table by @killme2008 in #6179
  • 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

βš™οΈ Miscellaneous Tasks​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@discord9, @evenyag, @killme2008, @v0y4g3r, @zhongzc

v0.14.3

Β· 2 min read

Release date: May 23, 2025

πŸš€ Features​

  • feat: don't hide atomic write dir by @waynexia in #6109
  • feat: accommodate default column name with pre-created table schema by @waynexia in #6126
  • feat: support altering multiple logical table in one remote write request by @waynexia in #6137

πŸ› Bug Fixes​

  • fix: reset tags when creating an empty metric in prom call by @evenyag in #6056
  • fix: flownode chose fe randomly&not starve lock by @discord9 in #6077
  • fix: append noop entry when auto topic creation is disabled by @WenyXu in #6092
  • fix(flow): flow task run interval by @discord9 in #6100
  • fix: flow update use proper update by @discord9 in #6108
  • fix: clean files under the atomic write dir on failure by @evenyag in #6112
  • fix: update promql-parser for regex anchor fix by @waynexia in #6117
  • fix: require input ordering in series divide plan by @waynexia in #6148
  • fix: ident value in set search_path by @sunng87 in #6153

βš™οΈ Miscellaneous Tasks​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@WenyXu, @discord9, @evenyag, @fengjiachun, @sunng87, @waynexia, @zhongzc

v0.14.2

Β· One min read

Release date: May 02, 2025

πŸ› Bug Fixes​

The following bugs have been fixed. Upgrade is recommended for v0.14 users.

βš™οΈ Miscellaneous Tasks​

  • chore: only retry when retry-able in flow by @discord9 in #5987
  • ci: fix the bugs of release-dev-builder-images and add update-dev-builder-image-tag by @zyy17 in #6009

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@discord9, @fengjiachun, @v0y4g3r, @waynexia, @zyy17