What GreptimeTeam/greptimedb shipped
Written by FoxPlug from public releases; not affiliated with Greptime. An automatic summary of the public release, pull request and commit data of github.com/GreptimeTeam/greptimedb. Greptime did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Added object store WAL durable write path for log-store. Pull request #9320
- Implemented chaining of object store WAL objects with recovery of the latest chain. Pull request #9334
- Added manual series index reconciliation feature. Pull request #9323
- Fixed state row merging in
geo_pathandjson_encode_pathaggregates. Pull request #9313 - Fixed vector aggregates to work correctly with GROUP BY and partial aggregation. Pull request #9338
- Fixed PromQL vector matching to derive result labels correctly and reject ambiguous matchings. Pull request #9306
- Enabled native histogram ingestion by default for Prometheus Remote Write v2. Pull request #9301
- Switched to stable Rust 1.96.1 and removed all nightly feature gates. Pull request #9303
- Added pending rows batching support for MySQL and PostgreSQL. Pull request #9302
- Optimized performance by lazily decoding dense primary key columns. Pull request #9226
Why it matters
This week focused on WAL durability improvements, query correctness fixes for aggregates and PromQL matching, and toolchain stabilization. The combination of object store WAL chaining, histogram ingestion, and vector matching fixes improves both reliability and query accuracy for users.
Changelog entry
- log-store: add object store WAL durable write path Pull request #9320
- log-store: chain object store WAL objects and recover latest chain Pull request #9334
- series index: add manual reconciliation Pull request #9323
- query: fix vector aggregates with GROUP BY and partial aggregation Pull request #9338
- query: fix state row merging in
geo_pathandjson_encode_pathPull request #9313 - promql: derive vector matching result labels and reject ambiguous matchings Pull request #9306
- otlp: enable native histogram ingestion by default Pull request #9301
- otlp: add histogram rejection metrics and compact zero buckets Pull request #9321
- toolchain: switch to stable Rust 1.96.1 Pull request #9303
- MySQL/PostgreSQL: support pending rows batching Pull request #9302
- mito2: lazy decode dense primary key columns Pull request #9226
- promql: push label filters into grouped join inputs Pull request #9280
- mito: limit approximate series index disk usage Pull request #9313
- SchemaManager: add schemas metadata stream Pull request #9325
- flow: freeze recovery windows and retention bounds for incremental flows Pull request #9312
- json2: support altering JSON2 settings Pull request #9029
- Removed experimental vector index implementation Pull request #9345
This week: object store WAL chains, vector aggregate fixes, PromQL matching corrections, native histogram support enabled, and stable Rust 1.96.1. Several query correctness and performance improvements shipped.
This week's changes strengthen GreptimeDB's durability and query correctness. We implemented object store WAL chaining with recovery, fixed vector aggregate and PromQL vector matching issues, enabled native histogram ingestion by default, and switched to stable Rust toolchain. Performance improvements include lazy decoding of primary keys and better label filter pushing in PromQL joins.
Week of September 14, 2026
What shipped
- Trace V2 ingestion now available with JSON2 attributes for span, scope, and resource data. Pull request #9192
- Jaeger queries now supported for Trace V2 with optimized writes. Pull request #9257
- HTTP protocol now batches ordinary table writes for improved efficiency. Pull request #9115
- Two-phase series scans now use series and range indexes to improve performance. Pull request #9153
- Range index reads and builds made opt-in via
experimental_enable_range_indexflag. Pull request #9219 - Object store WAL log store now supports construction and recovery. Pull request #9238
- Region statistics now expose min and max timestamps. Pull request #9060
- PromQL binary operands now propagate matching-label filters for better filtering. Pull request #9202
- Prometheus remote read now merges duplicate timeseries across record batches. Pull request #9032
- Primary key range comparison across schema versions fixed in mito2 compaction. Pull request #9205
Why it matters
This week brings Trace V2 fully online with JSON storage and Jaeger query support, enabling better observability data handling. Performance work across PromQL, series scanning, and HTTP batching reduces resource usage. Infrastructure improvements to object store WAL and region statistics support future scaling.
Changelog entry
- feat(otlp): add trace v2 ingestion with JSON2 attributes Pull request #9192
- feat(trace): support Jaeger queries for Trace V2 and optimize writes Pull request #9257
- feat: batch ordinary table writes across HTTP protocols Pull request #9115
- perf(mito2): use series and range indexes in two-phase series scans Pull request #9153
- feat(mito2): make range index reads and builds opt-in Pull request #9219
- perf(promql): propagate matching-label filters between binary operands Pull request #9202
- fix(servers): merge duplicate timeseries across RecordBatches in Prometheus remote read Pull request #9032
- feat(log-store): add object store WAL store construction and recovery Pull request #9238
- feat: expose region min/max timestamp in
region_statisticsPull request #9060 - feat(otlp): preserve trace v2 events and links as JSON Pull request #9232
- fix(mito2): compare primary key ranges across schema versions Pull request #9205
- feat(mito2): split SWCS output files by size threshold Pull request #9259
- perf(mito2): lazily materialize sparse primary key tags Pull request #9199
- perf(servers): reduce temporary memory in protocol handling Pull request #9249
- feat(json2): respect type hints during JSON2 type concretization Pull request #9222
- perf(otlp): share trace resource and scope attributes Pull request #9253
- feat: add status label to datanode failed-insert metric Pull request #9191
[36] Trace V2 ingestion is live with JSON2 attributes. [1] Jaeger queries now work with Trace V2. [37] HTTP writes batch ordinary tables. Performance optimizations in PromQL, series scans, and mito2.
This week's GreptimeDB release brings Trace V2 to production with full JSON attribute support and Jaeger query compatibility [36][1]. We optimized HTTP write batching for ordinary tables [37], improved PromQL filter propagation [22], and enhanced two-phase series scans with index usage [39]. Object store WAL infrastructure for log stores is now complete [17], and region statistics now expose timestamp bounds [16]. Configuration flexibility improved with opt-in range index support [9].