v1.0.0-beta.2
Release date: December 03, 2025
Breaking changes
- fix!: align numeric type aliases with PostgreSQL and MySQL by @killme2008 in #7270
- feat!: improve mysql/pg compatibility by @killme2008 in #7315
- perf(metric-engine)!: Replace mur3 with fxhash for faster TSID generation by @v0y4g3r in #7316
๐ Highlights
๐ Key New Features
- Region Migration:
- Introduced batch region migration
- JSON Handling:
- New UDF:
json_get_object.
- New UDF:
- Operations:
- Supported dynamic enabling or disabling of tracing.
- Enabled parallel table operations in
COPY DATABASE. - Supported the ability to alter database compaction options.
โก Performance Improvements
- Enhanced efficiency by parallelizing file source region and building partition sources in parallel.
- Optimized query execution by avoiding unnecessary merge sort.
- Implemented tracking for the query memory pool.
๐ Notable Bug Fixes
- Fixed a critical write stall issue that prevented recovery due to flush logic problems.
- Resolved a deadlock in the metric engine when altering a group of tables.
- Fixed multiple compatibility issues, including corrections for PostgreSQL extended query parameter parsing, timezone settings, and MySQL binary date type handling.
๐ Features
- feat: load latest index file first by @evenyag in #7221
- feat: introduce batch region migration by @WenyXu in #7176
- feat: build partition sources in parallel by @waynexia in #7243
- feat: dynamic enable or disable trace by @waynexia in #6609
- feat: support parallel table operations in
COPY DATABASEby @WenyXu in #7213 - feat: gc worker only local regions&test by @discord9 in #7203
- feat: implement compressed CSV/JSON export functionality by @McKnight22 in #7162
- feat: split batches before merge by @evenyag in #7225
- feat: gc scheduler ctx&procedure by @discord9 in #7252
- feat: gc get ref from manifest by @discord9 in #7260
- feat: support alter database compaction options by @WaterWhisperer in #7251
- feat: don't validate external table's region schema by @waynexia in #7268
- feat: simplify merge scan stream by @waynexia in #7269
- feat: udf
json_get_objectby @MichaelScofield in #7241 - feat: support Dictionary type by @waynexia in #7277
- feat: simplify file_stream::create_stream by @waynexia in #7275
- feat: track query memory pool by @fengjiachun in #7219
- feat: basic gc scheduler by @discord9 in #7263
- feat: reloadable tls client config by @shuiyisong in #7230
- feat:
decode_primary_keymethod for debugging by @waynexia in #7284 - feat: update dashboard to v0.11.8 by @ZonaHex in #7281
- feat: introduce
remap_manifestsforRegionEngineby @WenyXu in #7265 - feat: implement manual type for async index build by @SNC123 in #7104
- feat: add building option to build images base on distroless image by @WaterWhisperer in #7240
- feat: batch region migration for failover by @WenyXu in #7245
- feat: add batch gc procedure by @discord9 in #7296
- feat: add region repartition group procedure infrastructure by @WenyXu in #7299
- feat: add some configurable points by @fengys1996 in #7227
- feat: simple read write new json type values by @MichaelScofield in #7175
- feat: introduce
EnterStagingRequestforRegionEngineby @WenyXu in #7261 - feat: implement metadata update for repartition group procedure by @WenyXu in #7311
- feat: implement
Displaytrait forFlushRegionsby @WenyXu in #7320 - feat: update pg-catalog for describe table by @sunng87 in #7321
๐ Bug Fixes
- fix: obtain system time after fetching lease values by @WenyXu in #7223
- fix: clone the page before putting into the index cache by @evenyag in #7229
- fix: correct signature of current_schemas function by @sunng87 in #7233
- fix: allow compacting L1 files under append mode by @evenyag in #7239
- fix: dynamic reload tracing layer loses trace id by @waynexia in #7257
- fix: log not print by @killme2008 in #7272
- fix: return sqlalchemy compatible version string in version() by @sunng87 in #7271
- fix: postgres extended query paramater parsing and type check by @sunng87 in #7276
- fix: unlimit
trace_idquery in jaeger API by @shuiyisong in #7283 - fix: postgres show statement describe and timestamp text parsing by @sunng87 in #7286
- fix: postgres timezone setting by default by @killme2008 in #7289
- fix: pre-commit all files failed by @yihong0618 in #7290
- fix: mysql binary date type and multi-lang ci tests by @killme2008 in #7291
- fix: partition tree metric should the delta by @evenyag in #7307
- fix: implement bulk write for time partitions and bulk memtable by @evenyag in #7293
- fix: metric engine deadlock when altering a group of tables by @waynexia in #7308
- fix: request limiter test case fix by @fengjiachun in #7323
- fix: fix write stall that never recovers due to flush logic issues by @WenyXu in #7322
๐ Refactor
- refactor: remove
export_metricsand related configuration by @WaterWhisperer in #7236 - refactor: create
JsonValuefor json value by @MichaelScofield in #7214 - refactor: make
show tablesfast under large tables by @MichaelScofield in #7231 - refactor: remove
Vectors fromRecordBatchcompletely by @MichaelScofield in #7184 - refactor: make json value use json type by @MichaelScofield in #7248
- refactor: pub
HttpOutputWriterfor external use by @MichaelScofield in #7287 - refactor: load metadata using offical impl by @discord9 in #7302
๐ Documentation
- docs: update project status and tweak readme by @killme2008 in #7216
- docs(config): clarify
store_addrsformat by @fengys1996 in #7279
โก Performance
- perf: avoid unnecessary merge sort by @waynexia in #7274
- perf: parallelize file source region by @waynexia in #7285
๐งช Testing
โ๏ธ Miscellaneous Tasks
- chore: allow unlimited return if timerange is applied by @shuiyisong in #7222
- chore: add debug log on receiving logs by @shuiyisong in #7211
- chore: add
tls-watchoption in cmd by @shuiyisong in #7226 - ci: update helm-charts and homebrew-greptime pull request reviewer by @daviderli614 in #7232
- chore: fix SQLness test for
COPYcommand from CSV file by @Standing-Man in #7235 - ci: dev-build with large page size by @MichaelScofield in #7228
- chore: bump version to beta.2 by @discord9 in #7238
- ci: update review code owners by @evenyag in #7250
- chore: add tests for election reset and region lease failure handling by @WenyXu in #7266
- chore: add default value to sparse_primary_key_encoding config item by @fengys1996 in #7273
- chore: add
INFORMATION_SCHEMA_ALERTS_TABLE_IDconst value by @fengys1996 in #7288 - chore: return meaningful message when content type mismatch in otel by @killme2008 in #7301
- ci: add multi lang tests workflow into release and nightly workflows by @killme2008 in #7300
- chore: optimize search traces from Grafana by @shuiyisong in #7298
- chore: return 404 if trace not found by @shuiyisong in #7304
- chore: add more fields to DdlManagerConfigureContext by @fengys1996 in #7310
Build
- build: update opensrv-mysql to 0.10 by @killme2008 in #7246
New Contributors
- @McKnight22 made their first contribution in #7162
All Contributors
We would like to thank the following contributors from the GreptimeDB community:
@McKnight22, @MichaelScofield, @SNC123, @Standing-Man, @WaterWhisperer, @WenyXu, @ZonaHex, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @yihong0618