Releases: apache/kvrocks-controller
Releases · apache/kvrocks-controller
v1.1.0
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
v1.0.0
What's Changed
This is the first official release since entering ASF. the new release contains many improvements and fixes, as well as new features.
New Features
- Add support of the terminal client for the server by @git-hulk in #171
- Add support of the failover command by @git-hulk in #173
- Add the support of using Apache Zookeeper as an alternative storage by @jihuayu in #126
Bug Fixes
- Remove the migration and failover history from the storage by @git-hulk in #121
- Add import cluster API for adding existing clusters by @git-hulk in #120
- Fix missing password if it's set by @git-hulk in #122
- Don't exit the process while receiving the SIGHUP signal by @git-hulk in #123
- Fix typo in API.md by @jihuayu in #128
- Fix missing ERR prefix in error message by @xiaobiaozhao in #145
- Fix create cluster API field replica to replicas by @cyningsun in #148
- Fix the request method error in Import Cluster doc. by @jihuayu in #150
- Don't add the node into the failover candidates if it's not a master node by @git-hulk in #164
- Fix flaky test in controller module by @git-hulk in #170
- Fix the error check after Kvrocks removes the ERR prefix by @git-hulk in #188
- Avoid creating too many Redis clients by reusing by @erwadba in #187
- Fix possible slot range loss in the importing API by @git-hulk in #189
Improvements
- Add NOTICE file for the controller server by @git-hulk in #174
- Add the random string when generating the session id by @git-hulk in #172
- Changed the etcd docker image version to v3.5.13 by @CulturalProfessor in #181
- Add the package source script for creating release tarball by @git-hulk in #175
- Remove unused build flags by @git-hulk in #192
- Require at least one approval before merging by @PragmaTwice in #168
- Update NOTICE by @yuhaoran1214 in #147
- Improve the operation of slot in SlotRanges by @git-hulk in #169
- Replace ioutil with os by @xiaobiaozhao in #133
- Add ASF header for source files by @git-hulk in #115
- Rename kvrocks_controller to kvrocks-controller by @git-hulk in #116
- Add NOTICE and asf.yaml by @PragmaTwice in #117
- Add notification in .asf.yaml by @PragmaTwice in #118
- Refactor CI workflow by @PragmaTwice in #119
- Add NOTICE to docker images by @PragmaTwice in #125
- Modify the CI running conditions by @jihuayu in #127
- Add
sync.Group
to wait for the election goroutines to exit for etcd storage by @jihuayu in #132 - Refactor the implementation of the controller's probe and migration by @git-hulk in #167
- update gin-gonic/gin from 1.7.3 to 1.7.4 by @wsehjk in #155
- Parallel send the probe request in the same cluster by @git-hulk in #158
- Add the failure count to the probe log message by @git-hulk in #163
New Contributors
- @jihuayu made their first contribution in #127
- @xiaobiaozhao made their first contribution in #133
- @yuhaoran1214 made their first contribution in #147
- @cyningsun made their first contribution in #148
- @wsehjk made their first contribution in #155
- @CulturalProfessor made their first contribution in #181
- @erwadba made their first contribution in #187
Full Changelog: v0.3.1...v1.0.0
v0.2.0
Release v0.1.0
This release mainly contains below features:
- Create / List / Delete namespace
- Create / List / Delete cluster
- Create / List / Delete shard
- Health check and auto-failover between master and slaves
The slot migration is still working in progress, will release them in the next version.
NOTICE: This version is still NOT stable for production.