github GreptimeTeam/greptimedb v1.0.0
Release v1.0.0

9 hours ago

Release date: April 08, 2026

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

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

Don't miss a new greptimedb release

NewReleases is sending notifications on new releases.