Skip to main content

v1.0.0

Β· 7 min read

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​

🚜 Refactor​

πŸ“š Documentation​

⚑ Performance​

πŸ§ͺ Testing​

  • test(fuzz): add metric table repartition fuzz target by @WenyXu in #7754
  • test: filter on region_peers table by @waynexia in #7864

βš™οΈ Miscellaneous Tasks​

New Contributors​

All Contributors​

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

@Boudewijn26, @MichaelScofield, @WenyXu, @YZL0v3ZZ, @ZonaHex, @cuiweixie, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @github-actions[bot], @killme2008, @maximk777, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @yihong0618, @ynachi