v0.16.0
Release date: August 06, 2025
👍 Highlights
-
PromQL:
- Adds
absent()function for missing series detection (#6618). - Enhances PromQL compatibility with OLTP metrics (#6543).
- Supports querying label values from internal labels
__schema__and__database__(#6631).
- Adds
-
Observability Improvements: Provides a panic logger, HTTP API to toggle heap profiling (enabled by default), and more verbose logs/metrics in
EXPLAIN ANALYZE VERBOSE(#6633, #6593, #6575).
Breaking changes
-
refactor: replace
pipeline::valuewithvrl::valueIf you used greptime_identity to write positive integer data before version 0.16.0, in the following two cases:
- Writing in nd-json format (vector greptimedb_logs sink),
- Writing in json format, with values in the range between i64::MAX and u64::MAX
The integer type would be recognized as u64. After version 0.16.0, however, greptime_identity will recognize this data as i64 (please note not to write data greater than i64::MAX). This may cause a mismatch between the written data and the table schema, or an overflow leading to write failures. You can use
desc table_nameto confirm the actual data type. You can directly modify the table structure to fix this issue, or use Transform in version 2 for custom type conversion.
📊 Dashboard v0.10.6
- Sidebar Controls – Toggle visibility from left menu and persist tables sidebar width.
- Data View Fullscreen Mode - Query results can be displayed in fullscreen for enhanced data analysis experience.
- Refactored Log/Trace View - Improved log and trace viewing functionality with better user interface and performance.
🚀 Features
- feat: add
RegionIdtoFileIdby @waynexia in #6410 - feat: move metasrv admin to http server while keep tonic for backward compatibility by @lyang24 in #6466
- feat(mito): replace
Memtable::iterwithMemtable::rangesby @v0y4g3r in #6549 - feat: supports more db options by @killme2008 in #6529
- feat: allow ignoring nonexistent regions in recovery mode by @WenyXu in #6592
- feat: impl some promql scalar functions by @killme2008 in #6567
- feat: poll result stream more often by @discord9 in #6599
- feat: fallback when failed to push down using
DistPlannerby @discord9 in #6574 - feat: add
SET DEFAULTsyntax by @linyihai in #6421 - feat: struct vector by @discord9 in #6595
- feat: trigger alter parse by @fengys1996 in #6553
- feat: update dashboard to v0.10.5 by @ZonaHex in #6604
- feat: allow setting next table id via http api by @WenyXu in #6597
- feat: ignore internal keys in metadata snapshots by @WenyXu in #6606
- feat: introduce reconcile table procedure by @WenyXu in #6584
- feat: more logs and metrics under explain verbose mode by @evenyag in #6575
- feat: introduce reconcile database procedure by @WenyXu in #6612
- feat: introduce reconcile logical tables procedure by @WenyXu in #6588
- feat: HTTP API to activate/deactive heap prof (activate by default) by @evenyag in #6593
- feat: Implement a converter to converts KeyValues into BulkPart by @evenyag in #6620
- feat: introduce reconcile catalog procedure by @WenyXu in #6613
- feat: panic logger by @discord9 in #6633
- feat: update dashboard to v0.10.6 by @ZonaHex in #6632
- feat: support
__schema__and__database__in Prom Remote Read by @waynexia in #6610 - feat: support tls for pg backend by @waynexia in #6611
- feat:
absentfunction in PromQL by @waynexia in #6618 - feat: Add option to limit the files reading simultaneously by @evenyag in #6635
- feat: introduce reconciliation interface by @WenyXu in #6614
- feat: add partial truncate by @discord9 in #6602
- feat: schema/database support for label_values by @sunng87 in #6631
- feat: implements FlatReadFormat to project parquets with flat schema by @evenyag in #6638
- feat: use real data to truncate manipulate range by @waynexia in #6649
- feat: Implements an iterator to read the RecordBatch in BulkPart by @evenyag in #6647
- feat: register all aggregate function to auto step aggr fn by @discord9 in #6596
- feat: use column expr with filters in LogQuery by @waynexia in #6646
- feat: record the migration events in metasrv by @zyy17 in #6579
- feat: support TQL CTE in planner by @waynexia in #6645
- feat(log-query): support binary op, scalar fn & is_true/is_false by @waynexia in #6659
- feat: EncodedBulkPartIter iters flat format and returns RecordBatch by @evenyag in #6655
- feat: count underscore in English tokenizer and improve performance by @waynexia in #6660