跳到主要内容

v1.3.0-alpha.1

· 阅读需 10 分钟

Release date: September 03, 2026

GreptimeDB v1.3.0-alpha.1 adds a telemetry entity-relationships graph, expands Native Histogram query coverage, and updates Dashboard for early validation.

👍 Highlights

  • Telemetry entity relationships graph. GreptimeDB derives service-call relationships from OTLP traces at query time. To add application entities, declare their identity columns on the source table:

    ALTER TABLE app_metrics SET
    'greptime.semantic.entity.service.id' = 'service_name',
    'greptime.semantic.entity.service.scope' = 'env';

    To maintain dependencies that traces do not observe, insert a declared edge:

    INSERT INTO greptime_private.semantic_relationships_declared
    (observed_at, src_type, src_id, rel_type, dst_type, dst_id,
    provenance, scope, generation_id, confidence)
    VALUES
    (now(), 'service', 'frontend', 'depends_on', 'service', 'users-db',
    'declared', '', '', 1.0);

    Query derived and declared relationships together from greptime_private.semantic_relationships.

  • Native Histogram query support and experimental OTLP ingestion. PromQL supports Native Histogram selection, functions including rate() and delta(), vector operators, aggregations, and histogram_quantile / histogram_fraction across classic, Native, and mixed inputs. Prometheus HTTP returns Native Histogram query results and annotations. Experimental, opt-in ingestion of cumulative OTLP ExponentialHistogram metrics is available through otlp.experimental_enable_exponential_histogram; OTLP delta temporality remains unsupported.

  • Dashboard. Bundled Dashboard v0.13.14 adds full snapshot export and configurable table widths, and updates Perses to v0.54.

Breaking changes

  • refactor!: move native histogram config and prom_validation_mode to prom_store by @shuiyisong in #8744
  • perf(servers)!: speed up Prometheus JSON response building with ryu and per-series entry reuse by @discord9 in #8815
  • feat!: stabilize streaming analyze metrics by @discord9 in #8966

🚀 Features

  • feat(query): plan native histogram functions by @shuiyisong in #8705
  • feat(logging): add enable_file_logging option to disable file logging by @xhwhis in #8721
  • feat(function): add json_object_keys scalar function by @xhwhis in #8722
  • feat: update dashboard to v0.13.11 by @sunchanglong in #8737
  • feat: add health-aware gRPC client routing by @WenyXu in #8684
  • feat(grafana): add events dashboard by @WenyXu in #8725
  • feat: add admin function registrar by @fengjiachun in #8762
  • feat(promql): define native histogram semantics by @shuiyisong in #8758
  • feat(mito2): add range-based metric series reader by @evenyag in #8703
  • feat: read-time entity relationships graph over telemetry (M0+M1) by @killme2008 in #8614
  • feat(protocol): validate native histogram ingestion by @shuiyisong in #8775
  • feat: support generic heartbeat response extension accumulation by @fengjiachun in #8786
  • feat: support old-stage datanode config overlays by @discord9 in #8647
  • feat: update opentelemetry family to 0.32 series by @sunng87 in #8776
  • feat: add riscv64 cross-build support by @v0y4g3r in #8820
  • feat(auth): support HTTP bearer-token authentication by @sunng87 in #8719
  • feat(promql): support mixed sample ranges by @shuiyisong in #8784
  • feat: declared edges and the derivation contract for the entity graph by @killme2008 in #8794
  • feat(servers): stamp prometheus remote write v2 metadata as semantic table options by @killme2008 in #8797
  • feat(promql): support native histogram vector operators by @shuiyisong in #8798
  • feat: complete the derived-edge vocabulary of the entity graph by @killme2008 in #8836
  • feat(servers): expose native histograms over Prometheus HTTP by @shuiyisong in #8850
  • feat(promql): support native histogram aggregations by @shuiyisong in #8848
  • feat: embedded convention pack for the entity graph (prom/k8s, gen_ai naming) by @killme2008 in #8854
  • feat(mito2): introduce two-phase metric series scans by @evenyag in #8826
  • feat: add json_object function and use it in the entity-graph derivation by @killme2008 in #8870
  • feat: update dashboard to v0.13.12 by @sunchanglong in #8882
  • feat: add incremental primary key index writer by @evenyag in #8788
  • feat: manage semantic table options via ALTER TABLE SET/UNSET by @killme2008 in #8880
  • feat(otlp): report the cause of rejected trace spans by @killme2008 in #8897
  • feat: otlp duration_nano and trace_flag signed integer coercion by @sunng87 in #8816
  • feat: support quantile and fraction queries on mixed histograms by @shuiyisong in #8874
  • feat(otlp): support cumulative exponential histograms by @shuiyisong in #8900
  • feat(cmd): add parquet development tools by @evenyag in #8939
  • feat(mito2): add series index searcher by @evenyag in #8926
  • feat(cmd): improve parquet rewrite fidelity and scanbench output by @evenyag in #8947
  • feat(function): expose uddsketch rank by @v0y4g3r in #8929
  • feat: synthesize OTLP resource descriptor for the semantic entity graph by @killme2008 in #8904
  • feat(ci): run query regression on ephemeral Aliyun ECS runners by @paomian in #8937
  • feat: update dashboard to v0.13.14 by @sunchanglong in #8968
  • feat: harden frontend heartbeat extensions by @v0y4g3r in #8803
  • feat(meta): record physical table reconciliation events by @dhruvxvaishnav in #8935
  • feat: expose missing SST manifest fields by @evenyag in #8965
  • feat: Add built-in daemon mode for standalone service by @tian1220A in #8960
  • feat(pipeline): support table-aware JSON2 transforms by @shuiyisong in #8964
  • feat: report what the graph derives and fix two duplicate-node bugs by @killme2008 in #8936
  • feat(function): add mergeable stddev_pop state functions by @v0y4g3r in #8972
  • feat(mito2): add SST range index writer by @evenyag in #8954
  • feat(query): add experimental DataFusion spill-to-disk controls by @discord9 in #8884
  • feat(mito2): add write cache upload hook by @v0y4g3r in #8992
  • feat(flow): add generic delta merge for incremental aggregates by @discord9 in #8938
  • feat: allow widening the time index column's timestamp unit via ALTER TABLE, mito2 table only by @sunng87 in #8894
  • feat: derive k8s.node from OTLP resource attributes by @killme2008 in #9002
  • feat(runtime): add weighted workload scheduler by @discord9 in #8736
  • feat(flow): add row inserts to frontend client by @fengys1996 in #9006
  • feat(json2): support JSON2 paths in SQL functions by @MichaelScofield in #9007
  • feat: preserve row sequences and support exact sequence-range reads by @discord9 in #8865
  • feat(mito2): add SST range index searcher by @evenyag in #9003
  • feat(json2): support empty and null JSON2 value by @fengys1996 in #9010
  • feat(mito2): pass operation type to write cache upload hook by @v0y4g3r in #9012
  • feat(json2): support list indexing for JSON2 columns by @MichaelScofield in #9013

🐛 Bug Fixes

  • fix(mito2): prioritize newer compaction windows by @v0y4g3r in #8714
  • fix(auth): warn when credential load disables Postgres SCRAM or drops a line by @killme2008 in #8652
  • fix(object-store): skip removed-entry lister test on Windows by @discord9 in #8735
  • fix(query): preserve remote dynamic filter target by @discord9 in #8615
  • fix(operator): invalidate local cache after dropping view by @WenyXu in #8748
  • fix(ci): render query regression bot comment as compact table plus threshold details by @discord9 in #8774
  • fix(mito2): avoid region worker panic when building a WAL entry fails by @fengjiachun in #8810
  • fix(ci): identify team members by repository permission by @killme2008 in #8822
  • fix(tests): make two Windows CI failures deterministic (Nightly CI #8837) by @discord9 in #8840
  • fix(ci): grant pull-requests write and stop counting drafts by @killme2008 in #8844
  • fix(mito2): publish committed sequence only after rows are installed by @discord9 in #8862
  • fix: cap default runtime sizes to a minimum of 2 threads by @v0y4g3r in #8908
  • fix(meta): avoid blocking runtime on stats cache lock by @WenyXu in #8910
  • fix(flow): restore FrontendClient::sql API by @WenyXu in #8963
  • fix(operator): whitelist private system table auto create by @WenyXu in #8930
  • fix(cmd): configure meta client in frontend plugin test by @v0y4g3r in #8977
  • fix: increase system disk size to 50 GiB for ECS instances by @paomian in #8986
  • fix(cmd): gate daemon integration test on Unix by @discord9 in #8987
  • fix(mito2): avoid chained L1 rewrites in TWCS by @v0y4g3r in #8981
  • fix: add disk usage logging to GitHub step summary in query regression workflow by @paomian in #9005

🚜 Refactor

📚 Documentation

⚡ Performance

🧪 Testing

  • test: rename internal bug numbers in tests to semantic names by @discord9 in #8779
  • test(mito2): isolate sequence publication barrier by @discord9 in #8876
  • test: renew etcd TLS certificates by @WenyXu in #8956

⚙️ Miscellaneous Tasks

New Contributors

All Contributors

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

@dhruvxvaishnav, @discord9, @evenyag, @fengjiachun, @fengys1996, @grezzko, @killme2008, @lyang24, @MichaelScofield, @onepizzateam, @paomian, @shuiyisong, @sunchanglong, @sunng87, @tian1220A, @v0y4g3r, @WenyXu, @wy471x, @xhwhis