Skip to content

Releases: GreptimeTeam/greptimedb

Release v1.0.0

08 Apr 16:17
f3dbf34

Choose a tag to compare

Release date: April 08, 2026

This is GreptimeDB v1.0.0 — our first GA release! We couldn't have gotten here without the community. Thank you to everyone who filed issues, submitted PRs, and ran GreptimeDB in your environments. Your feedback helped us improve every step of the way. This is a big milestone, and we'll continue making GreptimeDB better.

GreptimeDB v1.0.0 switches the default SST format to flat for better performance under high-cardinality workloads, improves metric engine ingestion with bulk inserts, adds partial success support for trace ingestion, introduces built-in Perses dashboard support, and includes several PostgreSQL compatibility fixes.

👍 Highlights

Flat SST is now the default storage format. New tables use the flat format by default. Existing tables using primary_key format continue to work, and the flat scan path supports both formats. To explicitly use the old format:

ALTER TABLE my_table SET 'sst_format' = 'primary_key';

Or via HTTP ingestion header:

x-greptime-hints: sst_format=primary_key

OTLP

  • Partial success in trace ingestion so partial errors no longer fail the entire batch.
  • Auto alter table during trace ingestion from int to float types.

Dashboard

  • Built-in Perses dashboard support. GreptimeDB now ships with built-in visualization powered by Perses.
  • Dashboard updated to v0.12.0.

PostgreSQL Compatibility

  • Fix extended query optimization and format issues.
  • Fix ParameterDescription size limit handling.
  • Fix 8-bit int mapped to smallint.
  • Fix sync cleanup issues with PostgreSQL format.

Breaking changes

  • feat!: switch default sst format to flat by @evenyag in #7909
  • refactor!: update arrow-ipc output to stream format by @sunng87 in #7922

🚀 Features

  • feat(procedure): detect potential deadlock when parent/child procedures share lock keys by @YZL0v3ZZ in #7752
  • feat: introduce APIs for storing perses dashboard definition by @sunng87 in #7791
  • feat: track unlimited usage in memory manager by @fengjiachun in #7811
  • feat(http): improve error logging with client IP by @maximk777 in #7503
  • feat(mito2): add partition range cache infrastructure by @evenyag in #7798
  • feat: add flat last row reader to the final stream by @evenyag in #7818
  • feat(metric-engine): support bulk inserts with put fallback by @v0y4g3r in #7792
  • feat: update dashboard to v0.12.0 by @ZonaHex in #7823
  • feat: cache decoded region metadata alone with parquet metadata by @waynexia in #7813
  • feat: export import v2 pr1 by @fengjiachun in #7785
  • feat(mito): flat scan for time series memtable by @v0y4g3r in #7814
  • feat: avoid some vector-array conversions on flat projection by @waynexia in #7804
  • feat: supports sst_format for x-greptime-hints and database options by @killme2008 in #7843
  • feat: add parquet pk prefilter helpers by @evenyag in #7850
  • feat: implement partition range cache stream by @evenyag in #7842
  • feat: use ArrowReaderBuilder instead of the RowGroups API by @evenyag in #7853
  • feat: simplify nested aggr inside count query by @waynexia in #7859
  • feat: update postgres ParameterDescription size limit by @sunng87 in #7861
  • feat: add incremental read context and scan boundaries by @discord9 in #7848
  • feat: add common_version customization by @sunng87 in #7869
  • feat: pending rows batching for metrics by @v0y4g3r in #7831
  • feat(partition): add expression split utility by @WenyXu in #7822
  • feat: implement prefilter framework and primary key prefilter by @evenyag in #7862
  • feat: implement export-v2 chunked data export flow by @fengjiachun in #7841
  • feat: auto-align Prometheus schemas in pending rows batching by @v0y4g3r in #7877
  • feat: implement prefilter for bulk memtable by @evenyag in #7895
  • feat: partial success in trace ingestion by @shuiyisong in #7892
  • feat: always use flat scan path for both format by @evenyag in #7901
  • feat: auto alter table during trace ingestion from int to float by @shuiyisong in #7871

🐛 Bug Fixes

Read more

Release v1.0.0-rc.2-nightly-20260406

06 Apr 03:04
233e35c

Choose a tag to compare

Pre-release

What's Changed

New Contributors

Full Changelog: v1.0.0-rc.2-a8fe6b5e4-20260330-1774862317...v1.0.0-rc.2-nightly-20260406

Release v1.0.0-rc.2-a8fe6b5e4-20260330-1774862317

30 Mar 10:18
a8fe6b5

Choose a tag to compare

What's Changed

  • fix(datatypes): correct ConstantVector rhs comparison in vector equality by @cuiweixie in #7866
  • chore: refine track memory metrics semantics by @fengjiachun in #7874
  • feat: implement prefilter framework and primary key prefilter by @evenyag in #7862
  • fix: correct app-name for dashboard by @sunng87 in #7884
  • fix: allow auto type upscale conversion in trace ingestion by @shuiyisong in #7870

New Contributors

Full Changelog: v1.0.0-rc.2-nightly-20260330...v1.0.0-rc.2-a8fe6b5e4-20260330-1774862317

Release v1.0.0-rc.2-nightly-20260330

30 Mar 03:19
fe45ae4

Choose a tag to compare

Pre-release

What's Changed

New Contributors

Full Changelog: v1.0.0-rc.2-13cdfa9b5-20260325-1774407105...v1.0.0-rc.2-nightly-20260330

Release v1.0.0-rc.2-13cdfa9b5-20260325-1774407105

25 Mar 03:52
04aa84a

Choose a tag to compare

What's Changed

  • chore: remove GrpcQueryHandler::put_record_batch by @v0y4g3r in #7844
  • feat(mito): flat scan for time series memtable by @v0y4g3r in #7814
  • feat: avoid some vector-array conversions on flat projection by @waynexia in #7804
  • feat: supports sst_format for x-greptime-hints and database options by @killme2008 in #7843
  • chore(deps): bump rustls-webpki from 0.103.3 to 0.103.10 by @dependabot[bot] in #7847
  • chore(deps): bump tar from 0.4.44 to 0.4.45 by @dependabot[bot] in #7846
  • feat: add parquet pk prefilter helpers by @evenyag in #7850
  • fix: prevent stale in-flight cache refill after invalidation in CacheContainer by @WenyXu in #7825
  • fix: prom cast to f64 by @discord9 in #7840
  • ci: remove redundant directory level when uploading artifacts to S3 by @daviderli614 in #7852
  • feat: implement partition range cache stream by @evenyag in #7842
  • refactor: move election trait and implementations to the common-meta crate by @shuiyisong in #7820
  • fix: update 8-bit int to smallint in postgres by @sunng87 in #7854
  • feat: use ArrowReaderBuilder instead of the RowGroups API by @evenyag in #7853

Full Changelog: v1.0.0-rc.2-nightly-20260323...v1.0.0-rc.2-13cdfa9b5-20260325-1774407105

Release v1.0.0-rc.2-nightly-20260323

23 Mar 03:06
805536a

Choose a tag to compare

Pre-release

What's Changed

New Contributors

Full Changelog: v1.0.0-rc.2-nightly-20260316...v1.0.0-rc.2-nightly-20260323

Release v1.0.0-rc.2-nightly-20260316

16 Mar 03:07
0dfbba0

Choose a tag to compare

Pre-release

What's Changed

Full Changelog: v1.0.0-rc.2...v1.0.0-rc.2-nightly-20260316

Release v1.0.0-rc.2

11 Mar 07:43
f8376fd

Choose a tag to compare

Release date: March 11, 2026

This release also includes several important bug fixes for repartition:

  • Reject writes to deallocating regions during region merge
  • Ensure entering the staging phase waits for compaction to complete

Upgrading to this version is recommended.

👍 Highlights

Performance Improvements

  • Dynamic filter pushdown for TopK: Runtime dynamic filters are propagated from DataFusion into Mito region scans to reduce unnecessary IO/CPU; in #7545, ORDER BY end_time DESC LIMIT 10 improved from ~28.86s to ~0.21s on non-indexed timestamps.
  • Pruning improvements: Shared partition pruning and extension-range filter improvements improve scan selectivity by #7635 and #7693.
  • Ingestion and scan path optimization: Prometheus decode and remote-write decode are optimized by #7737 and #7761, and Mito2 Parquet scan is accelerated via min-max caches by #7708.

Key New Features

  • PostgreSQL COPY support for ADBC-postgres path: GreptimeDB supports COPY (query) TO STDOUT WITH (format binary) on the PostgreSQL interface, enabling the ADBC-postgres COPY-optimized query path by #7709.
  • Flow TQL CTE support: CREATE FLOW supports simple TQL CTE patterns, improving flow authoring while preserving predictable execution semantics by #7702.
  • Prometheus 3.x behavior alignment: Selector, lookback, and matrix-selector behavior are aligned for more predictable upgrades and query compatibility by #7671 and #7688.

Notable Bug Fixes

  • Repartition safety during region merge: Reject writes to deallocating regions during region merge by #7694.
  • Staging transition correctness: Ensure entering the staging phase waits for compaction to complete by #7776.

Dashboard Updates

  • Query experience: Added table query sidebar and toolbar/editor UI, with refined pagination.
  • SQL and table-name handling: Improved SQL quoting and parsing for quoted/prefixed table names.
  • Usability and stability: Added database selector support, log export limits, and bigint handling fixes.

🚀 Features

  • feat: reduce unit test suite wall time by @waynexia in #7657
  • feat: support group by op in promql by @waynexia in #7663
  • feat(copy_to_json): add date_format/timestamp_format/time_format for JSON format copy by @linyihai in #7633
  • feat: Implement a shared pruner for partitions in the same scanner by @evenyag in #7635
  • feat: adapt prometheus 3.x matrix selector behavior change by @waynexia in #7671
  • feat: partition rule version validation for writes and staging by @WenyXu in #7628
  • feat: cli tool to repair partition columns mismatch by @MichaelScofield in #7605
  • feat: adapt prometheus 3.x selector and lookback behavior by @waynexia in #7688
  • feat: track flow source tables for TQL and info schema by @waynexia in #7697
  • feat: report flow stats from streaming and batching engines by @waynexia in #7701
  • feat: update dashboard to v0.11.12 by @ZonaHex in #7707
  • feat: add a fallback parameter type inference by reading cast type by @sunng87 in #7712
  • feat: support changing table's append_mode to true by @evenyag in #7669
  • feat: implements anomaly_score_iqr, anomaly_score_mad etc. by @killme2008 in #7681
  • feat: implement postgres copy to stdout by @sunng87 in #7709
  • feat: add a subcommand to bench scan by @evenyag in #7722
  • feat(tracing): propagate mailbox trace context and refine procedure spans by @WenyXu in #7726
  • feat: add extension range api for flat format by @evenyag in #7730
  • feat: pull meta config in frontend during startup by @shuiyisong in #7727
  • feat: improve filter support for scanbench by @evenyag in #7736
  • feat: add COPY support for GCS/Azblob with OSS/GCS/Azblob integration coverage by @WenyXu in #7743
  • feat: adapt new name of holt winters fn by @waynexia in #7700
  • feat: flow tql cte by @discord9 in #7702
  • feat: gc batch delete files by @discord9 in #7733
  • feat: admin gc table/regions by @discord9 in #7619
  • feat: implement last row cache reader for flat format by @evenyag in #7757
  • feat: update dashboard to v0.11.13 by @ZonaHex in #7763
  • feat: add function rewrite rule for json_get with cast by @sunng87 in #7631
  • feat: fast path for empty selection files by @waynexia in #7780
  • feat: flat read path support primary_key format memtables by @evenyag in #7759
  • feat: replace shadow-rs with self-maintained version info by @waynexia in #7782
  • feat: use dyn filter by @discord9 in #7545

🐛 Bug Fixes

  • fix: incorrect column statistics of promql plans by @waynexia in #7662
  • fix: drop rhs columns on promql filter join by @waynexia in #7665
  • fix(meta-srv): force close postgres client on reset to release advisory l… by @YZL0v3ZZ in #7673
  • fix: cargo nextest run -p query --features enterprise by @fengys1996 in #7683
  • fix: bump prometheus to 0.14 by @evenyag in #7686
  • fix: panic when querying slowlog by @MichaelScofield in #7689
  • fix(mito2): filter extension ranges in pruner by @fengys1996 in #7693
  • fix(mito2): introduce PartitionExprChange in staging flow and keep memtables on metadata-only updates by @WenyXu in #7695
  • fix: incorrect-tql-explain result by @fengys1996 in #7675
  • fix: use full DDL of flow in information_schema.flows.flow_definition by @sunng87 in #7704
  • fix: handle scalar result in MultiDimPartitionRule by @v0y4g3r in #7715
  • fix(repartition): reject writes on deallocating regions during region merge by @WenyXu in #7694
  • fix...
Read more

Release v1.0.0-rc.1-nightly-20260302

02 Mar 02:53
f4b4d61

Choose a tag to compare

Pre-release

What's Changed

Full Changelog: v1.0.0-rc.1-nightly-20260216...v1.0.0-rc.1-nightly-20260302

Release v1.0.0-rc.1-nightly-20260223

23 Feb 02:52
21d82af

Choose a tag to compare

Pre-release

What's Changed

  • fix(mito2): filter extension ranges in pruner by @fengys1996 in #7693
  • feat: adapt prometheus 3.x selector and lookback behavior by @waynexia in #7688
  • refactor: remove the RawTableMeta and RawTableInfo to make codes more concise by @MichaelScofield in #7626
  • fix(mito2): introduce PartitionExprChange in staging flow and keep memtables on metadata-only updates by @WenyXu in #7695
  • refactor: rename partition rule version to partition expr version by @WenyXu in #7696
  • fix: incorrect-tql-explain result by @fengys1996 in #7675
  • refactor: remove session from common meta by @sunng87 in #7698
  • feat: track flow source tables for TQL and info schema by @waynexia in #7697
  • feat: report flow stats from streaming and batching engines by @waynexia in #7701
  • fix: use full DDL of flow in information_schema.flows.flow_definition by @sunng87 in #7704
  • feat: update dashboard to v0.11.12 by @ZonaHex in #7707

Full Changelog: v1.0.0-rc.1-56629ec56-20260209-1770646305...v1.0.0-rc.1-nightly-20260223