Skip to main content

v0.17.1

Β· 2 min read

Release date: September 17, 2025

If you are using v0.17.0, we recommend upgrading to v0.17.1.

v0.17.1 improves overall reliability and includes important bug fixes, addressing critical issues such as SST metadata truncation that could lead to process panics, deadlocks during OpenTelemetry ingestion, and correcting SubqueryAlias pushdown to resolve subquery alias performance issues.

πŸš€ Features​

πŸ› Bug Fixes​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

New Contributors​

All Contributors​

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

@WenyXu, @ZonaHex, @cscnk52, @daviderli614, @discord9, @evenyag, @fengys1996, @killme2008, @shuiyisong, @v0y4g3r, @waynexia, @zhongzc, @zyy17

v0.17.0

Β· 10 min read

Release date: September 03, 2025

🚨 Breaking Changes​

  • Ordered-set aggregate functions
    • Now require a WITHIN GROUP (ORDER BY …) clause (e.g., old: approx_percentile_cont(latency, 0.95), new: approx_percentile_cont(0.95) WITHIN GROUP (ORDER BY latency)).
  • MySQL protocol
    • Incorrect comment styling is no longer allowed; comments must start with -- instead of ---.

πŸ‘ Highlights​

  • Flow Support TQL(PromQL):
    • TQL (Time Query Language) now integrates seamlessly with Flow, enabling advanced time-series computations such as rate calculations, moving averages, and other complex time-window operations. For more details, see Using TQL with Flow for Advanced Time-Series Analysis.
  • Performance:
    • Optimize sparse encoder with a 235% performance boost (#6809)
    • Introduced region pruning (#6729, #6752).
  • Procedure:
    • Introduced table reconciliation procedures to automatically detect and repair metadata inconsistencies between Metasrv and Datanode. For more information, refer to the table reconciliation documentation.
  • Remote WAL:

πŸš€ Features​

*feat: add metrics for reconciliation procedures by @WenyXu in #6652

  • feat(metric-engine): add metadata region cache by @WenyXu in #6657
  • feat: update pgwire to 0.32 by @sunng87 in #6674
  • feat: Implements an iterator to merge RecordBatches by @evenyag in #6666
  • feat: able to set read preference to flownode by @MichaelScofield in #6696
  • feat: new HTTP API for formatting SQL by @waynexia in #6691
  • feat: Implements last row dedup strategy for flat format by @evenyag in #6695
  • feat: mito region staging state by @waynexia in #6664
  • feat: Projection mapper for flat schema by @evenyag in #6679
  • feat: add all partition column to logical table automatically by @waynexia in #6711
  • feat: add integration tests for table reconciliation procedures part1 by @WenyXu in #6705
  • feat(log-query): try infer and cast type for literal value by @waynexia in #6712
  • feat: introduce PeriodicTopicStatsReporter by @WenyXu in #6730
  • feat(metasrv): implement topic statistics collection by @WenyXu in #6732
  • feat: Store partition expr in RegionMetadata by @zhongzc in #6699
  • feat: improve slow queries options deserialization by @killme2008 in #6734
  • feat: predicate extractor (region prune part 1) by @waynexia in #6729
  • feat: persist manifest, SST and index files to staging dir by @waynexia in #6726
  • feat: mysql add prepared_stmt_cache_capacity by @sunheyi6 in #6639
  • feat: Implements last-non-null dedup strategy for flat format by @evenyag in #6709
  • feat: flownode grpc client to frontend tls option by @discord9 in #6750
  • feat: add RateMeter for tracking memtable write throughput by @WenyXu in #6744
  • feat: Implements async FlatMergeReader and FlatDedupReader by @evenyag in #6761
  • feat: update opentelemetry family by @sunng87 in #6762
  • feat: derive macro ToRow by @WenyXu in #6768
  • feat: disable month in trigger interval expr by @fengys1996 in #6774
  • feat: Implements FlatCompatBatch to adapt schema in flat format by @evenyag in #6771
  • feat: region prune part 2 by @waynexia in #6752
  • feat: simplify more regex patterns in promql by @waynexia in #6747
  • feat: add IntoRow and Schema derive macros by @WenyXu in #6778
  • feat: introduce PersistStatsHandler by @WenyXu in #6777
  • feat: optimize CreateFlowData with lightweight FlowQueryContext by @aaraujo in #6780
  • feat: support for custom headers in otel exporter by @sunng87 in #6773
  • feat: frontend internal grpc port by @discord9 in #6784
  • feat: provide plan info when flow exec by @discord9 in #6783
  • feat: update dashboard to v0.11.0 by @ZonaHex in #6794
  • feat(mito): list SSTs from manifest and storage by @zhongzc in #6766
  • feat: bump opendal to v0.54 by @killme2008 in #6792
  • feat: add limit to label value api by @sunng87 in #6795
  • feat: add cli option for internal grpc by @sunng87 in #6806
  • feat: add FlatConvertFormat to convert record batches in old format to the flat format by @evenyag in #6786
  • feat: name label regex matcher in label values api by @sunng87 in #6799
  • feat: only show prometheus logical tables for name values query by @sunng87 in #6814
  • feat: update dashboard to v0.11.1 by @ZonaHex in #6824
  • feat: resolve unused dependencies with cargo-udeps (#6578) by @Arshdeep54 in #6619
  • feat: add support for TWCS time window hints in insert operations by @WenyXu in #6823
  • feat: functions and structs to scan flat format file and mem ranges by @evenyag in #6817
  • feat: add replay checkpoint to reduce overhead for remote WAL by @WenyXu in #6816
  • feat(metasrv): support tls for etcd client by @codephage2020 in #6818
  • feat(flow): add eval interval option by @discord9 in #6623
  • feat: rename region_statistics to region_statistics_history by @WenyXu in #6837
  • feat: add event ts to region manifest by @discord9 in #6751
  • feat: add optional schema for Postgres metadata tables by @zqr10159 in #6764
  • feat: update dashboard to v0.11.2 by @ZonaHex in #6843
  • feat: flow prom ql auto sink table is also promql-able by @discord9 in #6852
  • feat: make etcd store max codec size configurable by @fengjiachun in #6859
  • feat: Support more key types for the DictionaryVector by @evenyag in #6855
  • feat: update rate limiter to use semaphore that will block without re… by @sunng87 in #6853
  • feat: update dashboard to v0.11.3 by @ZonaHex in #6864
  • feat: add schema and recordbatch builder for sst entry by @zhongzc in #6841
  • feat: Update parquet writer and indexer to support the flat format by @evenyag in #6866
  • feat: flow full aggr only trigger on new data by @discord9 in #6880

πŸ› Bug Fixes​

  • fix: correctly set extension range source index by @MichaelScofield in #6692
  • fix: TQL CTE parser take raw query string by @waynexia in #6671
  • fix: metrics without physical partition columns query push down by @discord9 in #6694
  • fix: unit test about trigger labels parse by @fengys1996 in #6716
  • fix: http and tql should return the same value for unknown by @yihong0618 in #6718
  • fix: update pgwire to fix windows timeout issue by @sunng87 in #6710
  • fix: correct offset's symbol by @waynexia in #6728
  • fix: label_join should work with unknown by @yihong0618 in #6714
  • fix: two label_replace different from promql by @yihong0618 in #6720
  • fix: support unknown for timestamp function by @yihong0618 in #6708
  • fix: truncate manifest action compat by @discord9 in #6742
  • fix: refine shadowrs dependency, remove libgit2, libz and potentially libssl by @sunng87 in #6748
  • fix: partition tree's dict size metrics mismatch by @waynexia in #6746
  • fix: time() function should the same as behavior prometheus by @yihong0618 in #6704
  • fix: time unit mismatch in lookup_frontends function by @WenyXu in #6798
  • fix: plan disorder from upgrading datafusion by @waynexia in #6787
  • fix: follow promql rule for hanndling label of aggr by @waynexia in #6788
  • fix: correct heartbeat stream handling logic by @WenyXu in #6821
  • fix: prevent stale physical table route during procedure retries by @WenyXu in #6825
  • fix: use actual buf size as cache page value size by @evenyag in #6829
  • fix: gRPC auth by @shuiyisong in #6827
  • fix: correct config doc by @WenyXu in #6836
  • fix: no need to early lookup DNS for kafka broker by @MichaelScofield in #6845
  • fix: use configured kv_client in etcd multi-transaction operations by @WenyXu in #6871
  • fix: fix incorrect timestamp precision in information_schema.tables by @WenyXu in #6872
  • fix(flow): promql auto create table by @discord9 in #6867
  • fix: ignore reserved column IDs and prevent panic on chunk_size is zero by @WenyXu in #6882
  • fix: prune intermediate dirs on index finish and region pruge by @zhongzc in #6878
  • fix: initialize remote WAL regions with correct flushed entry IDs by @WenyXu in #6856
  • fix: move prune_region_dir to region drop by @zhongzc in #6891

🚜 Refactor​

  • refactor: refine error status code mappings by @WenyXu in #6678
  • refactor: unify the event recorder by @zyy17 in #6689
  • refactor: use DummyCatalog to construct query engine for datanode by @zhongzc in #6723
  • refactor: split node manager trait by @zhongzc in #6743
  • refactor: simplify WAL pruning procedure and introduce region flush trigger by @WenyXu in #6741
  • refactor: enhanced trigger interval by @fengys1996 in #6740
  • refactor: change plugin option type from &[PluginOptions] to Option<&PluginOptions> for understandability by @zyy17 in #6763
  • refactor: refactor admin functions with async udf by @killme2008 in #6770
  • refactor: use DataFusion's UDAF implementation directly by @MichaelScofield in #6776
  • refactor: simplify WAL Pruning procedure part2 by @WenyXu in #6782
  • refactor(meta): refactor admin service to use modern axum handlers by @WenyXu in #6833
  • refactor: add stop methods for LocalFilePurger and CompactionRegion by @zyy17 in #6848
  • refactor: query config options by @killme2008 in #6781

πŸ“š Documentation​

⚑ Performance​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

New Contributors​

All Contributors​

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

@Arshdeep54, @MichaelScofield, @SNC123, @WaterWhisperer, @WenyXu, @ZonaHex, @aaraujo, @codephage2020, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @github-actions[bot], @killme2008, @paomian, @shuiyisong, @sunheyi6, @sunng87, @v0y4g3r, @waynexia, @yihong0618, @zhongzc, @zqr10159, @zyy17

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).

Breaking changes​

  • refactor: replace pipeline::value with vrl::value

    If you used greptime_identity to write positive integer data before version 0.16.0, in the following two cases:

    • Writing in nd-json format (vector greptimedb_logs sink),
    • Writing in json format, with values in the range between i64::MAX and u64::MAX

    The integer type would be recognized as u64. After version 0.16.0, however, greptime_identity will recognize this data as i64 (please note not to write data greater than i64::MAX). This may cause a mismatch between the written data and the table schema, or an overflow leading to write failures. You can use desc table_name to confirm the actual data type. You can directly modify the table structure to fix this issue, or use Transform in version 2 for custom type conversion.

πŸ“Š 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.12.1

Β· One min read

Release date: June 21, 2025

πŸš€ Features​

  • feat: expose virtual_host_style config for s3 storage (#5696) by @waynexia in #6374

βš™οΈ Miscellaneous Tasks​

  • chore: bump version to 0.12.1 by @waynexia in #6375
  • ci: update 0.12 ci to latest by @evenyag in #6376

All Contributors​

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

@evenyag, @waynexia

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