Highlights
We are excited to announce the release of the embedded raft storage in this version. Users don't have to introduce other external components to store the metadata. Also, we now support Hashicorp Consul as our metadata storage, big thanks to the contributor @borismartinovic01.
New Features
- Implement the cluster management UI for Kvrocks controller by @CulturalProfessor in #197
- Implement the shard management UI for Kvrocks controller by @CulturalProfessor in #202
- Add support of changing raft peers via HTTP api by @git-hulk in #232
- Add basic instruction for the raft engine in README by @git-hulk in #233
- Add support of managing the raft cluster via the client by @git-hulk in #258
- Implement the node management, import cluster, migrate slot UI for Kvrocks controller by @CulturalProfessor in #204
- Add support for Consul as store engine by @borismartinovic01 in #240
Bug Fixes
- Fix client list command didn't handle API response error correctly by @ninuxer in #199
- Fix should use json.Unmarshal instead of gin.BindJSON by @git-hulk in #196
- Replace
docker-compose
withdocker compose
by @jihuayu in #198 - Fix wrong slot range check condition when migrating slot by @git-hulk in #208
- Fix empty slot range is not allowed when importing a cluster by @git-hulk in #212
- Fix data race while updating the cluster info by @git-hulk in #217
- Fix some wording about Raft in the README by @PragmaTwice in #234
- Fix flaky test case in raft engine by @git-hulk in #235
- Avoid syncing the cluster information to the node if it's restoring by @git-hulk in #236
- Copy licenses to Dockerfile by @PragmaTwice in #193
- Move build.sh into the scripts dir by @git-hulk in #194
- Improve readme by @caicancai in #203
- Extract mocked Engine to a separate file by @torwig in #205
- Fix should update cluster information to the remote store first by @git-hulk in #237
- Relax the cluster version check when updating the cluster by @git-hulk in #238
- Fix nil pointer when cloning the cluster by @git-hulk in #242
- Remove the detection of GOARCH and GOOS when building by @git-hulk in #218
- Introduce etcd's raft to implement the KV store by @git-hulk in #222
*Fix typo: dail -> dial by @fukua95 in #224 - Fix missing yaml tag in raft config and List API didn't work correctly by @git-hulk in #228
- Fix data race when updating the raft snapshot and compact threshold by @git-hulk in #253
Misc
- Bump golangci-lint v1.63.4 by @aleksraiden in #244
- Update raft logger interface by @aleksraiden in #243
- Change etcd image to v3.5.17 by @aleksraiden in #247
- Bump golang to 1.23 by @aleksraiden in #246
- Update README with Consul support by @aleksraiden in #248
- Update all go deps by @aleksraiden in #249
- Update github actions to latest by @aleksraiden in #251
- Update NOTICE and license for consul api package by @git-hulk in #252
- Use sync/atomic instead of Uber's implementation by @torwig in #256
- Update deps by @aleksraiden in #257
New Contributors
- @ninuxer made their first contribution in #199
- @torwig made their first contribution in #205
- @fukua95 made their first contribution in #224
- @borismartinovic01 made their first contribution in #240
Full Changelog: v1.0.0...v1.1.0-rc1