|
| 1 | +--- |
| 2 | +keywords: [release, GreptimeDB, changelog, v1.0.0-beta.2] |
| 3 | +description: GreptimeDB v1.0.0-beta.2 Changelog |
| 4 | +date: 2025-12-03 |
| 5 | +--- |
| 6 | + |
| 7 | +# v1.0.0-beta.2 |
| 8 | + |
| 9 | +Release date: December 02, 2025 |
| 10 | + |
| 11 | +### Breaking changes |
| 12 | + |
| 13 | +* fix!: align numeric type aliases with PostgreSQL and MySQL by [@killme2008](https://github.com/killme2008) in [#7270](https://github.com/GreptimeTeam/greptimedb/pull/7270) |
| 14 | +* feat!: improve mysql/pg compatibility by [@killme2008](https://github.com/killme2008) in [#7315](https://github.com/GreptimeTeam/greptimedb/pull/7315) |
| 15 | +* perf(metric-engine)!: Replace mur3 with fxhash for faster TSID generation by [@v0y4g3r](https://github.com/v0y4g3r) in [#7316](https://github.com/GreptimeTeam/greptimedb/pull/7316) |
| 16 | + |
| 17 | +### 👍 Highlights |
| 18 | + |
| 19 | +#### 🚀 Key New Features |
| 20 | + |
| 21 | +* **Region Migration:** |
| 22 | + * Introduced **batch region migration**. |
| 23 | +* **JSON Handling:** |
| 24 | + * New UDF: **`json_get_object`**. |
| 25 | +* **Operations:** |
| 26 | + * Supported **dynamic enabling or disabling of tracing**. |
| 27 | + * Enabled **parallel table operations** in `COPY DATABASE`. |
| 28 | + * Supported the ability to **alter database compaction options**. |
| 29 | + |
| 30 | +#### ⚡ Performance Improvements |
| 31 | + |
| 32 | +* Enhanced efficiency by **parallelizing file source region** and **building partition sources in parallel**. |
| 33 | +* Optimized query execution by **avoiding unnecessary merge sort**. |
| 34 | +* Implemented tracking for the **query memory pool**. |
| 35 | + |
| 36 | +#### 🐛 Notable Bug Fixes |
| 37 | + |
| 38 | +* Fixed a critical **write stall issue that prevented recovery** due to flush logic problems. |
| 39 | +* Resolved a **deadlock in the metric engine** when altering a group of tables. |
| 40 | +* Fixed multiple compatibility issues, including corrections for **PostgreSQL extended query parameter parsing**, **timezone settings**, and **MySQL binary date type** handling. |
| 41 | + |
| 42 | +### 🚀 Features |
| 43 | + |
| 44 | +* feat: load latest index file first by [@evenyag](https://github.com/evenyag) in [#7221](https://github.com/GreptimeTeam/greptimedb/pull/7221) |
| 45 | +* feat: introduce batch region migration by [@WenyXu](https://github.com/WenyXu) in [#7176](https://github.com/GreptimeTeam/greptimedb/pull/7176) |
| 46 | +* feat: build partition sources in parallel by [@waynexia](https://github.com/waynexia) in [#7243](https://github.com/GreptimeTeam/greptimedb/pull/7243) |
| 47 | +* feat: dynamic enable or disable trace by [@waynexia](https://github.com/waynexia) in [#6609](https://github.com/GreptimeTeam/greptimedb/pull/6609) |
| 48 | +* feat: support parallel table operations in `COPY DATABASE` by [@WenyXu](https://github.com/WenyXu) in [#7213](https://github.com/GreptimeTeam/greptimedb/pull/7213) |
| 49 | +* feat: gc worker only local regions&test by [@discord9](https://github.com/discord9) in [#7203](https://github.com/GreptimeTeam/greptimedb/pull/7203) |
| 50 | +* feat: implement compressed CSV/JSON export functionality by [@McKnight22](https://github.com/McKnight22) in [#7162](https://github.com/GreptimeTeam/greptimedb/pull/7162) |
| 51 | +* feat: split batches before merge by [@evenyag](https://github.com/evenyag) in [#7225](https://github.com/GreptimeTeam/greptimedb/pull/7225) |
| 52 | +* feat: gc scheduler ctx&procedure by [@discord9](https://github.com/discord9) in [#7252](https://github.com/GreptimeTeam/greptimedb/pull/7252) |
| 53 | +* feat: gc get ref from manifest by [@discord9](https://github.com/discord9) in [#7260](https://github.com/GreptimeTeam/greptimedb/pull/7260) |
| 54 | +* feat: support alter database compaction options by [@WaterWhisperer](https://github.com/WaterWhisperer) in [#7251](https://github.com/GreptimeTeam/greptimedb/pull/7251) |
| 55 | +* feat: don't validate external table's region schema by [@waynexia](https://github.com/waynexia) in [#7268](https://github.com/GreptimeTeam/greptimedb/pull/7268) |
| 56 | +* feat: simplify merge scan stream by [@waynexia](https://github.com/waynexia) in [#7269](https://github.com/GreptimeTeam/greptimedb/pull/7269) |
| 57 | +* feat: udf `json_get_object` by [@MichaelScofield](https://github.com/MichaelScofield) in [#7241](https://github.com/GreptimeTeam/greptimedb/pull/7241) |
| 58 | +* feat: support Dictionary type by [@waynexia](https://github.com/waynexia) in [#7277](https://github.com/GreptimeTeam/greptimedb/pull/7277) |
| 59 | +* feat: simplify file_stream::create_stream by [@waynexia](https://github.com/waynexia) in [#7275](https://github.com/GreptimeTeam/greptimedb/pull/7275) |
| 60 | +* feat: track query memory pool by [@fengjiachun](https://github.com/fengjiachun) in [#7219](https://github.com/GreptimeTeam/greptimedb/pull/7219) |
| 61 | +* feat: basic gc scheduler by [@discord9](https://github.com/discord9) in [#7263](https://github.com/GreptimeTeam/greptimedb/pull/7263) |
| 62 | +* feat: reloadable tls client config by [@shuiyisong](https://github.com/shuiyisong) in [#7230](https://github.com/GreptimeTeam/greptimedb/pull/7230) |
| 63 | +* feat: `decode_primary_key` method for debugging by [@waynexia](https://github.com/waynexia) in [#7284](https://github.com/GreptimeTeam/greptimedb/pull/7284) |
| 64 | +* feat: update dashboard to v0.11.8 by [@ZonaHex](https://github.com/ZonaHex) in [#7281](https://github.com/GreptimeTeam/greptimedb/pull/7281) |
| 65 | +* feat: introduce `remap_manifests` for `RegionEngine` by [@WenyXu](https://github.com/WenyXu) in [#7265](https://github.com/GreptimeTeam/greptimedb/pull/7265) |
| 66 | +* feat: implement manual type for async index build by [@SNC123](https://github.com/SNC123) in [#7104](https://github.com/GreptimeTeam/greptimedb/pull/7104) |
| 67 | +* feat: add building option to build images base on distroless image by [@WaterWhisperer](https://github.com/WaterWhisperer) in [#7240](https://github.com/GreptimeTeam/greptimedb/pull/7240) |
| 68 | +* feat: batch region migration for failover by [@WenyXu](https://github.com/WenyXu) in [#7245](https://github.com/GreptimeTeam/greptimedb/pull/7245) |
| 69 | +* feat: add batch gc procedure by [@discord9](https://github.com/discord9) in [#7296](https://github.com/GreptimeTeam/greptimedb/pull/7296) |
| 70 | +* feat: add region repartition group procedure infrastructure by [@WenyXu](https://github.com/WenyXu) in [#7299](https://github.com/GreptimeTeam/greptimedb/pull/7299) |
| 71 | +* feat: add some configurable points by [@fengys1996](https://github.com/fengys1996) in [#7227](https://github.com/GreptimeTeam/greptimedb/pull/7227) |
| 72 | +* feat: simple read write new json type values by [@MichaelScofield](https://github.com/MichaelScofield) in [#7175](https://github.com/GreptimeTeam/greptimedb/pull/7175) |
| 73 | +* feat: introduce `EnterStagingRequest` for `RegionEngine` by [@WenyXu](https://github.com/WenyXu) in [#7261](https://github.com/GreptimeTeam/greptimedb/pull/7261) |
| 74 | +* feat: implement metadata update for repartition group procedure by [@WenyXu](https://github.com/WenyXu) in [#7311](https://github.com/GreptimeTeam/greptimedb/pull/7311) |
| 75 | +* feat: implement `Display` trait for `FlushRegions` by [@WenyXu](https://github.com/WenyXu) in [#7320](https://github.com/GreptimeTeam/greptimedb/pull/7320) |
| 76 | +* feat: update pg-catalog for describe table by [@sunng87](https://github.com/sunng87) in [#7321](https://github.com/GreptimeTeam/greptimedb/pull/7321) |
| 77 | + |
| 78 | +### 🐛 Bug Fixes |
| 79 | + |
| 80 | +* fix: obtain system time after fetching lease values by [@WenyXu](https://github.com/WenyXu) in [#7223](https://github.com/GreptimeTeam/greptimedb/pull/7223) |
| 81 | +* fix: clone the page before putting into the index cache by [@evenyag](https://github.com/evenyag) in [#7229](https://github.com/GreptimeTeam/greptimedb/pull/7229) |
| 82 | +* fix: correct signature of current_schemas function by [@sunng87](https://github.com/sunng87) in [#7233](https://github.com/GreptimeTeam/greptimedb/pull/7233) |
| 83 | +* fix: allow compacting L1 files under append mode by [@evenyag](https://github.com/evenyag) in [#7239](https://github.com/GreptimeTeam/greptimedb/pull/7239) |
| 84 | +* fix: dynamic reload tracing layer loses trace id by [@waynexia](https://github.com/waynexia) in [#7257](https://github.com/GreptimeTeam/greptimedb/pull/7257) |
| 85 | +* fix: log not print by [@killme2008](https://github.com/killme2008) in [#7272](https://github.com/GreptimeTeam/greptimedb/pull/7272) |
| 86 | +* fix: return sqlalchemy compatible version string in version() by [@sunng87](https://github.com/sunng87) in [#7271](https://github.com/GreptimeTeam/greptimedb/pull/7271) |
| 87 | +* fix: postgres extended query parameter parsing and type check by [@sunng87](https://github.com/sunng87) in [#7276](https://github.com/GreptimeTeam/greptimedb/pull/7276) |
| 88 | +* fix: unlimit `trace_id` query in jaeger API by [@shuiyisong](https://github.com/shuiyisong) in [#7283](https://github.com/GreptimeTeam/greptimedb/pull/7283) |
| 89 | +* fix: postgres show statement describe and timestamp text parsing by [@sunng87](https://github.com/sunng87) in [#7286](https://github.com/GreptimeTeam/greptimedb/pull/7286) |
| 90 | +* fix: postgres timezone setting by default by [@killme2008](https://github.com/killme2008) in [#7289](https://github.com/GreptimeTeam/greptimedb/pull/7289) |
| 91 | +* fix: pre-commit all files failed by [@yihong0618](https://github.com/yihong0618) in [#7290](https://github.com/GreptimeTeam/greptimedb/pull/7290) |
| 92 | +* fix: mysql binary date type and multi-lang ci tests by [@killme2008](https://github.com/killme2008) in [#7291](https://github.com/GreptimeTeam/greptimedb/pull/7291) |
| 93 | +* fix: partition tree metric should the delta by [@evenyag](https://github.com/evenyag) in [#7307](https://github.com/GreptimeTeam/greptimedb/pull/7307) |
| 94 | +* fix: implement bulk write for time partitions and bulk memtable by [@evenyag](https://github.com/evenyag) in [#7293](https://github.com/GreptimeTeam/greptimedb/pull/7293) |
| 95 | +* fix: metric engine deadlock when altering a group of tables by [@waynexia](https://github.com/waynexia) in [#7308](https://github.com/GreptimeTeam/greptimedb/pull/7308) |
| 96 | +* fix: request limiter test case fix by [@fengjiachun](https://github.com/fengjiachun) in [#7323](https://github.com/GreptimeTeam/greptimedb/pull/7323) |
| 97 | +* fix: fix write stall that never recovers due to flush logic issues by [@WenyXu](https://github.com/WenyXu) in [#7322](https://github.com/GreptimeTeam/greptimedb/pull/7322) |
| 98 | + |
| 99 | +### 🚜 Refactor |
| 100 | + |
| 101 | +* refactor: remove `export_metrics` and related configuration by [@WaterWhisperer](https://github.com/WaterWhisperer) in [#7236](https://github.com/GreptimeTeam/greptimedb/pull/7236) |
| 102 | +* refactor: create `JsonValue` for json value by [@MichaelScofield](https://github.com/MichaelScofield) in [#7214](https://github.com/GreptimeTeam/greptimedb/pull/7214) |
| 103 | +* refactor: make `show tables` fast under large tables by [@MichaelScofield](https://github.com/MichaelScofield) in [#7231](https://github.com/GreptimeTeam/greptimedb/pull/7231) |
| 104 | +* refactor: remove `Vector`s from `RecordBatch` completely by [@MichaelScofield](https://github.com/MichaelScofield) in [#7184](https://github.com/GreptimeTeam/greptimedb/pull/7184) |
| 105 | +* refactor: make json value use json type by [@MichaelScofield](https://github.com/MichaelScofield) in [#7248](https://github.com/GreptimeTeam/greptimedb/pull/7248) |
| 106 | +* refactor: pub `HttpOutputWriter` for external use by [@MichaelScofield](https://github.com/MichaelScofield) in [#7287](https://github.com/GreptimeTeam/greptimedb/pull/7287) |
| 107 | +* refactor: load metadata using official impl by [@discord9](https://github.com/discord9) in [#7302](https://github.com/GreptimeTeam/greptimedb/pull/7302) |
| 108 | + |
| 109 | +### 📚 Documentation |
| 110 | + |
| 111 | +* docs: update project status and tweak readme by [@killme2008](https://github.com/killme2008) in [#7216](https://github.com/GreptimeTeam/greptimedb/pull/7216) |
| 112 | +* docs(config): clarify `store_addrs` format by [@fengys1996](https://github.com/fengys1996) in [#7279](https://github.com/GreptimeTeam/greptimedb/pull/7279) |
| 113 | + |
| 114 | +### ⚡ Performance |
| 115 | + |
| 116 | +* perf: avoid unnecessary merge sort by [@waynexia](https://github.com/waynexia) in [#7274](https://github.com/GreptimeTeam/greptimedb/pull/7274) |
| 117 | +* perf: parallelize file source region by [@waynexia](https://github.com/waynexia) in [#7285](https://github.com/GreptimeTeam/greptimedb/pull/7285) |
| 118 | + |
| 119 | +### 🧪 Testing |
| 120 | + |
| 121 | +* test: gc integration test by [@discord9](https://github.com/discord9) in [#7306](https://github.com/GreptimeTeam/greptimedb/pull/7306) |
| 122 | + |
| 123 | +### ⚙️ Miscellaneous Tasks |
| 124 | + |
| 125 | +* chore: allow unlimited return if timerange is applied by [@shuiyisong](https://github.com/shuiyisong) in [#7222](https://github.com/GreptimeTeam/greptimedb/pull/7222) |
| 126 | +* chore: add debug log on receiving logs by [@shuiyisong](https://github.com/shuiyisong) in [#7211](https://github.com/GreptimeTeam/greptimedb/pull/7211) |
| 127 | +* chore: add `tls-watch` option in cmd by [@shuiyisong](https://github.com/shuiyisong) in [#7226](https://github.com/GreptimeTeam/greptimedb/pull/7226) |
| 128 | +* ci: update helm-charts and homebrew-greptime pull request reviewer by [@daviderli614](https://github.com/daviderli614) in [#7232](https://github.com/GreptimeTeam/greptimedb/pull/7232) |
| 129 | +* chore: fix SQLness test for `COPY` command from CSV file by [@Standing-Man](https://github.com/Standing-Man) in [#7235](https://github.com/GreptimeTeam/greptimedb/pull/7235) |
| 130 | +* ci: dev-build with large page size by [@MichaelScofield](https://github.com/MichaelScofield) in [#7228](https://github.com/GreptimeTeam/greptimedb/pull/7228) |
| 131 | +* chore: bump version to beta.2 by [@discord9](https://github.com/discord9) in [#7238](https://github.com/GreptimeTeam/greptimedb/pull/7238) |
| 132 | +* ci: update review code owners by [@evenyag](https://github.com/evenyag) in [#7250](https://github.com/GreptimeTeam/greptimedb/pull/7250) |
| 133 | +* chore: add tests for election reset and region lease failure handling by [@WenyXu](https://github.com/WenyXu) in [#7266](https://github.com/GreptimeTeam/greptimedb/pull/7266) |
| 134 | +* chore: add default value to sparse_primary_key_encoding config item by [@fengys1996](https://github.com/fengys1996) in [#7273](https://github.com/GreptimeTeam/greptimedb/pull/7273) |
| 135 | +* chore: add `INFORMATION_SCHEMA_ALERTS_TABLE_ID` const value by [@fengys1996](https://github.com/fengys1996) in [#7288](https://github.com/GreptimeTeam/greptimedb/pull/7288) |
| 136 | +* chore: return meaningful message when content type mismatch in otel by [@killme2008](https://github.com/killme2008) in [#7301](https://github.com/GreptimeTeam/greptimedb/pull/7301) |
| 137 | +* ci: add multi lang tests workflow into release and nightly workflows by [@killme2008](https://github.com/killme2008) in [#7300](https://github.com/GreptimeTeam/greptimedb/pull/7300) |
| 138 | +* chore: optimize search traces from Grafana by [@shuiyisong](https://github.com/shuiyisong) in [#7298](https://github.com/GreptimeTeam/greptimedb/pull/7298) |
| 139 | +* chore: return 404 if trace not found by [@shuiyisong](https://github.com/shuiyisong) in [#7304](https://github.com/GreptimeTeam/greptimedb/pull/7304) |
| 140 | +* chore: add more fields to DdlManagerConfigureContext by [@fengys1996](https://github.com/fengys1996) in [#7310](https://github.com/GreptimeTeam/greptimedb/pull/7310) |
| 141 | + |
| 142 | +### Build |
| 143 | + |
| 144 | +* build: update opensrv-mysql to 0.10 by [@killme2008](https://github.com/killme2008) in [#7246](https://github.com/GreptimeTeam/greptimedb/pull/7246) |
| 145 | + |
| 146 | +## New Contributors |
| 147 | + |
| 148 | +* [@McKnight22](https://github.com/McKnight22) made their first contribution in [#7162](https://github.com/GreptimeTeam/greptimedb/pull/7162) |
| 149 | + |
| 150 | +## All Contributors |
| 151 | + |
| 152 | +We would like to thank the following contributors from the GreptimeDB community: |
| 153 | + |
| 154 | +[@McKnight22](https://github.com/McKnight22), [@MichaelScofield](https://github.com/MichaelScofield), [@SNC123](https://github.com/SNC123), [@Standing-Man](https://github.com/Standing-Man), [@WaterWhisperer](https://github.com/WaterWhisperer), [@WenyXu](https://github.com/WenyXu), [@ZonaHex](https://github.com/ZonaHex), [@daviderli614](https://github.com/daviderli614), [@discord9](https://github.com/discord9), [@evenyag](https://github.com/evenyag), [@fengjiachun](https://github.com/fengjiachun), [@fengys1996](https://github.com/fengys1996), [@killme2008](https://github.com/killme2008), [@shuiyisong](https://github.com/shuiyisong), [@sunng87](https://github.com/sunng87), [@v0y4g3r](https://github.com/v0y4g3r), [@waynexia](https://github.com/waynexia), [@yihong0618](https://github.com/yihong0618) |
0 commit comments