---
keywords: [release, GreptimeDB, changelog, v1.0.0-rc.1]
description: GreptimeDB v1.0.0-rc.1 Changelog
date: 2026-02-02
---

# v1.0.0-rc.1

Release date: February 02, 2026

It's recommended to upgrade to v1.0.0-rc.2.

### 👍 Highlights

**Region Repartition**
RC.1 introduces **Region Repartition**, allowing users to dynamically adjust partition rules and redistribute data at runtime, without rebuilding tables or performing manual migrations.

* **Split Partitions**
Split a large or hotspot partition into multiple smaller ones:
```sql
ALTER TABLE sensor_readings SPLIT PARTITION (
  device_id < 100
) INTO (
  device_id < 100 AND area < 'South',
  device_id < 100 AND area >= 'South'
);
```

* **Merge Partitions**
Merge multiple small partitions into a single one:
```sql
ALTER TABLE sensor_readings MERGE PARTITION (
  device_id < 100 AND area < 'South',
  device_id < 100 AND area >= 'South'
);
```

* **Execution Control with WITH Clause**
Users can control procedure behavior via `WITH` options:
```sql
ALTER TABLE sensor_readings SPLIT PARTITION (
  device_id < 100
) INTO (
  device_id < 100 AND area < 'South',
  device_id < 100 AND area >= 'South'
) WITH (
  TIMEOUT = '5m',
  WAIT = false
);
```

 * When `WAIT = false`, the statement returns immediately with a `procedure_id`.
Progress can be checked via `ADMIN procedure_state(procedure_id)`;
 * TIMEOUT sets an overall time limit for the operation.

**Note:** Region repartitioning is currently supported only when:
 * Running in distributed cluster mode
 * Using object storage and GC are enabled

**Metric Engine Primary Key Filter Acceleration**

RC.1 introduces a fast-path optimization for primary key filtering in the Metric Engine.
Instead of decoding and materializing values row by row, the engine now performs direct comparisons on **memcomparable-encoded primary key bytes**, significantly reducing CPU overhead.
 * Dense codec: 20–90× faster
 * Sparse codec: 3–11× faster

This improvement greatly boosts query performance for high-cardinality metric workloads.

### Breaking changes

* feat!: make heartbeat config only in metasrv by [@fengjiachun](https://github.com/fengjiachun) in [#7510](https://github.com/GreptimeTeam/greptimedb/pull/7510)

### ⚠️ Compatibility notice

* refactor: remove `region_numbers` from `TableMeta` and `TableInfo` by [@WenyXu](https://github.com/WenyXu) in [#7519](https://github.com/GreptimeTeam/greptimedb/pull/7519)

In the new version, the `TableMeta.region_numbers` field has been removed.
As older versions still depend on this field, downgrading from the new version to an older version may introduce compatibility issues. Specifically, an older version may fail or throw errors when reading data generated by the new version, since the `region_numbers` field is no longer present.


### 🚀 Features

* feat: impl vector index building by [@killme2008](https://github.com/killme2008) in [#7468](https://github.com/GreptimeTeam/greptimedb/pull/7468)
* feat: update `ApplyStagingManifestRequest` to fetch manifest from central region by [@WenyXu](https://github.com/WenyXu) in [#7493](https://github.com/GreptimeTeam/greptimedb/pull/7493)
* feat: impl `json_get_int` for new json type by [@MichaelScofield](https://github.com/MichaelScofield) in [#7495](https://github.com/GreptimeTeam/greptimedb/pull/7495)
* feat(meta-srv): fallback to non-TLS connection when etcd TLS prefer mode fail by [@WenyXu](https://github.com/WenyXu) in [#7507](https://github.com/GreptimeTeam/greptimedb/pull/7507)
* feat: implement `RemapManifest` and `ApplyStagingManifest` for repartition procedure by [@WenyXu](https://github.com/WenyXu) in [#7509](https://github.com/GreptimeTeam/greptimedb/pull/7509)
* feat: ingest jsonbench data through pipeline by [@MichaelScofield](https://github.com/MichaelScofield) in [#7312](https://github.com/GreptimeTeam/greptimedb/pull/7312)
* feat: repartition grammar candy by [@waynexia](https://github.com/waynexia) in [#7518](https://github.com/GreptimeTeam/greptimedb/pull/7518)
* feat: adjust some args to gc worker by [@discord9](https://github.com/discord9) in [#7469](https://github.com/GreptimeTeam/greptimedb/pull/7469)
* feat(repartition): implement region deallocation for repartition procedure by [@WenyXu](https://github.com/WenyXu) in [#7522](https://github.com/GreptimeTeam/greptimedb/pull/7522)
* feat: bump promql-parser to v0.7.1 by [@waynexia](https://github.com/waynexia) in [#7521](https://github.com/GreptimeTeam/greptimedb/pull/7521)
* feat: tune query traces by [@waynexia](https://github.com/waynexia) in [#7524](https://github.com/GreptimeTeam/greptimedb/pull/7524)
* feat: update special remote write label name by [@sunng87](https://github.com/sunng87) in [#7527](https://github.com/GreptimeTeam/greptimedb/pull/7527)
* feat(repartition): implement region allocation for repartition procedure by [@WenyXu](https://github.com/WenyXu) in [#7534](https://github.com/GreptimeTeam/greptimedb/pull/7534)
* feat(repartition): implement validation logic for repartition table by [@WenyXu](https://github.com/WenyXu) in [#7538](https://github.com/GreptimeTeam/greptimedb/pull/7538)
* feat: integrate repartition procedure into `DdlManager` by [@WenyXu](https://github.com/WenyXu) in [#7548](https://github.com/GreptimeTeam/greptimedb/pull/7548)
* feat: make grpc can handle metric engine request by [@fengjiachun](https://github.com/fengjiachun) in [#7508](https://github.com/GreptimeTeam/greptimedb/pull/7508)
* feat: always canonicalize partition expr by [@waynexia](https://github.com/waynexia) in [#7553](https://github.com/GreptimeTeam/greptimedb/pull/7553)
* feat: gc schd update repart mapping  by [@discord9](https://github.com/discord9) in [#7517](https://github.com/GreptimeTeam/greptimedb/pull/7517)
* feat: impl vector index scan in storage by [@killme2008](https://github.com/killme2008) in [#7528](https://github.com/GreptimeTeam/greptimedb/pull/7528)
* feat: add per-partition convert, result cache metrics by [@evenyag](https://github.com/evenyag) in [#7539](https://github.com/GreptimeTeam/greptimedb/pull/7539)
* feat(cli): support RaftEngine store backend for metadata snapshot operations by [@WenyXu](https://github.com/WenyXu) in [#7467](https://github.com/GreptimeTeam/greptimedb/pull/7467)
* feat: enable pruning for manipulate plans by [@waynexia](https://github.com/waynexia) in [#7565](https://github.com/GreptimeTeam/greptimedb/pull/7565)
* feat: add sync region instruction for repartition procedure by [@WenyXu](https://github.com/WenyXu) in [#7562](https://github.com/GreptimeTeam/greptimedb/pull/7562)
* feat: flush region before close when skip-wal is enabled by [@v0y4g3r](https://github.com/v0y4g3r) in [#7549](https://github.com/GreptimeTeam/greptimedb/pull/7549)
* feat: support for types of series identifier in series divide plan by [@waynexia](https://github.com/waynexia) in [#7583](https://github.com/GreptimeTeam/greptimedb/pull/7583)
* feat: export import v2 rfc by [@fengjiachun](https://github.com/fengjiachun) in [#7499](https://github.com/GreptimeTeam/greptimedb/pull/7499)
* feat: debug/mem/symbol by [@discord9](https://github.com/discord9) in [#7573](https://github.com/GreptimeTeam/greptimedb/pull/7573)
* feat(meta): add repartition timeouts and metrics by [@WenyXu](https://github.com/WenyXu) in [#7587](https://github.com/GreptimeTeam/greptimedb/pull/7587)
* feat: exact partition filter by [@discord9](https://github.com/discord9) in [#7571](https://github.com/GreptimeTeam/greptimedb/pull/7571)
* feat: add ddl timeout/wait options, repartition `WITH` parsing, meta-client startup refactor by [@WenyXu](https://github.com/WenyXu) in [#7589](https://github.com/GreptimeTeam/greptimedb/pull/7589)
* feat: gc worker on dropped region by [@discord9](https://github.com/discord9) in [#7537](https://github.com/GreptimeTeam/greptimedb/pull/7537)
* feat: use tsid on promql planner by [@waynexia](https://github.com/waynexia) in [#7590](https://github.com/GreptimeTeam/greptimedb/pull/7590)
* feat: implement view-based vector types by [@waynexia](https://github.com/waynexia) in [#7600](https://github.com/GreptimeTeam/greptimedb/pull/7600)
* feat: ser/de for HistogramFold&UnionDistinctOn by [@discord9](https://github.com/discord9) in [#7601](https://github.com/GreptimeTeam/greptimedb/pull/7601)
* feat: support TQL parsing in CREATE TRIGGER by [@fengys1996](https://github.com/fengys1996) in [#7599](https://github.com/GreptimeTeam/greptimedb/pull/7599)
* feat: UDF json_get with user specified return type by [@sunng87](https://github.com/sunng87) in [#7554](https://github.com/GreptimeTeam/greptimedb/pull/7554)
* feat: ensure datanode plan's dist and ordering for tsid col by [@waynexia](https://github.com/waynexia) in [#7614](https://github.com/GreptimeTeam/greptimedb/pull/7614)
* feat: add `partial_drop` to `DropRequest` by [@WenyXu](https://github.com/WenyXu) in [#7597](https://github.com/GreptimeTeam/greptimedb/pull/7597)
* feat: partition rule simplifier by [@waynexia](https://github.com/waynexia) in [#7622](https://github.com/GreptimeTeam/greptimedb/pull/7622)
* feat: use arrow-pg for postgres data encoding by [@sunng87](https://github.com/sunng87) in [#7591](https://github.com/GreptimeTeam/greptimedb/pull/7591)
* feat: impl vector index query by [@killme2008](https://github.com/killme2008) in [#7564](https://github.com/GreptimeTeam/greptimedb/pull/7564)
* feat: BulkMemtable compact parts without encoding into Parquet by [@evenyag](https://github.com/evenyag) in [#7617](https://github.com/GreptimeTeam/greptimedb/pull/7617)
* feat: flow last non null by [@discord9](https://github.com/discord9) in [#7646](https://github.com/GreptimeTeam/greptimedb/pull/7646)
* feat: add recover_sync to ManifestCache::new by [@evenyag](https://github.com/evenyag) in [#7652](https://github.com/GreptimeTeam/greptimedb/pull/7652)

### 🐛 Bug Fixes

* fix: align backend_tls default value with example config by [@WenyXu](https://github.com/WenyXu) in [#7496](https://github.com/GreptimeTeam/greptimedb/pull/7496)
* fix: fix sqlness test error about double precision by [@Standing-Man](https://github.com/Standing-Man) in [#7476](https://github.com/GreptimeTeam/greptimedb/pull/7476)
* fix: dist planner rm col req when rm sort by [@discord9](https://github.com/discord9) in [#7512](https://github.com/GreptimeTeam/greptimedb/pull/7512)
* fix: pipeline loading issue by [@shuiyisong](https://github.com/shuiyisong) in [#7491](https://github.com/GreptimeTeam/greptimedb/pull/7491)
* fix: remove log_env_flags by [@fengjiachun](https://github.com/fengjiachun) in [#7529](https://github.com/GreptimeTeam/greptimedb/pull/7529)
* fix: simp expr recursively by [@discord9](https://github.com/discord9) in [#7523](https://github.com/GreptimeTeam/greptimedb/pull/7523)
* fix: precise filter time index if not in projection by [@evenyag](https://github.com/evenyag) in [#7531](https://github.com/GreptimeTeam/greptimedb/pull/7531)
* fix: incorrect timestamp index inference by [@waynexia](https://github.com/waynexia) in [#7530](https://github.com/GreptimeTeam/greptimedb/pull/7530)
* fix: fix SQL table identifier quoting for election by [@WenyXu](https://github.com/WenyXu) in [#7541](https://github.com/GreptimeTeam/greptimedb/pull/7541)
* fix: fix topic region mapping sync and handle `region_not_found` in migration by [@WenyXu](https://github.com/WenyXu) in [#7552](https://github.com/GreptimeTeam/greptimedb/pull/7552)
* fix: vector index metadata missing by [@killme2008](https://github.com/killme2008) in [#7575](https://github.com/GreptimeTeam/greptimedb/pull/7575)
* fix: correctly parse json string that contain unicode code point literal by [@MichaelScofield](https://github.com/MichaelScofield) in [#7520](https://github.com/GreptimeTeam/greptimedb/pull/7520)
* fix: fix nightly ci by [@WenyXu](https://github.com/WenyXu) in [#7588](https://github.com/GreptimeTeam/greptimedb/pull/7588)
* fix(datanode): fetch region engine via `get_engine` for sync/remap operations by [@WenyXu](https://github.com/WenyXu) in [#7594](https://github.com/GreptimeTeam/greptimedb/pull/7594)
* fix: read filter's column by [@discord9](https://github.com/discord9) in [#7579](https://github.com/GreptimeTeam/greptimedb/pull/7579)
* fix: clear unused range builders eagerly by [@evenyag](https://github.com/evenyag) in [#7569](https://github.com/GreptimeTeam/greptimedb/pull/7569)
* fix: unit tests for export module by [@fengys1996](https://github.com/fengys1996) in [#7607](https://github.com/GreptimeTeam/greptimedb/pull/7607)
* fix: correct histogram result by [@waynexia](https://github.com/waynexia) in [#7608](https://github.com/GreptimeTeam/greptimedb/pull/7608)
* fix: use phy table when need filter by tsid/table id by [@discord9](https://github.com/discord9) in [#7609](https://github.com/GreptimeTeam/greptimedb/pull/7609)
* fix: unit tests when enterprise feature is enabled by [@fengys1996](https://github.com/fengys1996) in [#7618](https://github.com/GreptimeTeam/greptimedb/pull/7618)
* fix: flaky compaction test by [@v0y4g3r](https://github.com/v0y4g3r) in [#7627](https://github.com/GreptimeTeam/greptimedb/pull/7627)
* fix: unit tests when enterprise feature is enabled by [@fengys1996](https://github.com/fengys1996) in [#7625](https://github.com/GreptimeTeam/greptimedb/pull/7625)
* fix(repartition): improve physical region allocation and compaction read path correctness by [@WenyXu](https://github.com/WenyXu) in [#7621](https://github.com/GreptimeTeam/greptimedb/pull/7621)
* fix: gc update repart map properly by [@discord9](https://github.com/discord9) in [#7606](https://github.com/GreptimeTeam/greptimedb/pull/7606)
* fix: wrong relation used in promql planner time cast by [@fengys1996](https://github.com/fengys1996) in [#7624](https://github.com/GreptimeTeam/greptimedb/pull/7624)
* fix: clean up staging blob directory on clear by [@WenyXu](https://github.com/WenyXu) in [#7642](https://github.com/GreptimeTeam/greptimedb/pull/7642)
* fix: get correct table info when insert create/alter table by [@discord9](https://github.com/discord9) in [#7641](https://github.com/GreptimeTeam/greptimedb/pull/7641)
* fix: send get file ref to all regions by [@discord9](https://github.com/discord9) in [#7640](https://github.com/GreptimeTeam/greptimedb/pull/7640)
* fix: subtract overflow in identity pipeline by [@shuiyisong](https://github.com/shuiyisong) in [#7656](https://github.com/GreptimeTeam/greptimedb/pull/7656)
* fix(copy): treat null inferred columns as Utf8 to preserve later values by [@WenyXu](https://github.com/WenyXu) in [#7658](https://github.com/GreptimeTeam/greptimedb/pull/7658)

### 🚜 Refactor

* refactor: remove `region_numbers` from `TableMeta` and `TableInfo` by [@WenyXu](https://github.com/WenyXu) in [#7519](https://github.com/GreptimeTeam/greptimedb/pull/7519)
* refactor: refactor `CreateTableProcedure` to extract reusable components by [@WenyXu](https://github.com/WenyXu) in [#7526](https://github.com/GreptimeTeam/greptimedb/pull/7526)
* refactor: remove duplications from mito by [@waynexia](https://github.com/waynexia) in [#7632](https://github.com/GreptimeTeam/greptimedb/pull/7632)
* refactor: SQL and gRPC server handlers by [@waynexia](https://github.com/waynexia) in [#7637](https://github.com/GreptimeTeam/greptimedb/pull/7637)

### ⚡ Performance

* perf: avoid boundary checks on accessing array items by [@waynexia](https://github.com/waynexia) in [#7570](https://github.com/GreptimeTeam/greptimedb/pull/7570)
* perf: accelerate pk filter by [@waynexia](https://github.com/waynexia) in [#7584](https://github.com/GreptimeTeam/greptimedb/pull/7584)
* perf: skip unnecessary label columns in promql query by [@waynexia](https://github.com/waynexia) in [#7602](https://github.com/GreptimeTeam/greptimedb/pull/7602)
* perf(mito2): merge last_non_null within memtable batches by [@waynexia](https://github.com/waynexia) in [#7653](https://github.com/GreptimeTeam/greptimedb/pull/7653)

### 🎨 Styling

* style: remove unused imports by [@evenyag](https://github.com/evenyag) in [#7567](https://github.com/GreptimeTeam/greptimedb/pull/7567)

### 🧪 Testing

* test(cli): fix snapshot test paths on Windows by [@WenyXu](https://github.com/WenyXu) in [#7574](https://github.com/GreptimeTeam/greptimedb/pull/7574)
* test: add integration tests for repartition by [@WenyXu](https://github.com/WenyXu) in [#7560](https://github.com/GreptimeTeam/greptimedb/pull/7560)

### ⚙️ Miscellaneous Tasks

* ci: update breaking change title level by [@evenyag](https://github.com/evenyag) in [#7497](https://github.com/GreptimeTeam/greptimedb/pull/7497)
* chore: add tests to comment column on information_schema by [@waynexia](https://github.com/waynexia) in [#7514](https://github.com/GreptimeTeam/greptimedb/pull/7514)
* chore: check for redundant pre-commit hooks by [@Standing-Man](https://github.com/Standing-Man) in [#7506](https://github.com/GreptimeTeam/greptimedb/pull/7506)
* chore: add grafana dashboard about trigger by [@fengys1996](https://github.com/fengys1996) in [#7536](https://github.com/GreptimeTeam/greptimedb/pull/7536)
* chore: add information extension to the plugins in frontend by [@shuiyisong](https://github.com/shuiyisong) in [#7542](https://github.com/GreptimeTeam/greptimedb/pull/7542)
* chore: sqlness redact time properly by [@discord9](https://github.com/discord9) in [#7543](https://github.com/GreptimeTeam/greptimedb/pull/7543)
* chore: sqlness fmt by [@discord9](https://github.com/discord9) in [#7551](https://github.com/GreptimeTeam/greptimedb/pull/7551)
* chore: upgrade DataFusion family by [@MichaelScofield](https://github.com/MichaelScofield) in [#7558](https://github.com/GreptimeTeam/greptimedb/pull/7558)
* chore: batch requests in metric engine by [@fengjiachun](https://github.com/fengjiachun) in [#7535](https://github.com/GreptimeTeam/greptimedb/pull/7535)
* chore: aggr wrapper use return_field by [@discord9](https://github.com/discord9) in [#7582](https://github.com/GreptimeTeam/greptimedb/pull/7582)
* chore: add timestamp range to flight meta by [@v0y4g3r](https://github.com/v0y4g3r) in [#7513](https://github.com/GreptimeTeam/greptimedb/pull/7513)
* chore: not ignore error now bug is fixed in #7579 by [@discord9](https://github.com/discord9) in [#7596](https://github.com/GreptimeTeam/greptimedb/pull/7596)
* ci: release only large page size binary for ARM platform by [@MichaelScofield](https://github.com/MichaelScofield) in [#7593](https://github.com/GreptimeTeam/greptimedb/pull/7593)
* ci: run database connector tests for every PR by [@sunng87](https://github.com/sunng87) in [#7612](https://github.com/GreptimeTeam/greptimedb/pull/7612)
* chore: skip database driver test when building nightly binary by [@sunng87](https://github.com/sunng87) in [#7630](https://github.com/GreptimeTeam/greptimedb/pull/7630)
* ci: upgrade GCC in centos dev-builder for cxx crate compatibility by [@killme2008](https://github.com/killme2008) in [#7643](https://github.com/GreptimeTeam/greptimedb/pull/7643)
* chore: bump version rc.1 by [@WenyXu](https://github.com/WenyXu) in [#7645](https://github.com/GreptimeTeam/greptimedb/pull/7645)
* ci: remove db driver test from release as well by [@sunng87](https://github.com/sunng87) in [#7650](https://github.com/GreptimeTeam/greptimedb/pull/7650)
* chore: adjust manifest cache log level by [@evenyag](https://github.com/evenyag) in [#7655](https://github.com/GreptimeTeam/greptimedb/pull/7655)

## All Contributors

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

[@MichaelScofield](https://github.com/MichaelScofield), [@Standing-Man](https://github.com/Standing-Man), [@WenyXu](https://github.com/WenyXu), [@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)