Releases: jamf/regatta
Releases · jamf/regatta
v0.5.0
v0.5.0
Highlights
Follower to leader replication
- The write API (Put, DeleteRange, Txn) is now available on follower cluster nodes as well.
- The API provides read after write guarantee by relying on backpropagation from the leader.
Dynamic tables management
- Tables now could be managed dynamically during the runtime of the server using newly provided
regatta.v1.Tables
API. - Tables API could be secured by an API token using
tables.token
configuration value.
Security
- API port now supports mTLS
- API port mTLS can verify Hostname or CN in presented certificate.
- Follower to Leader mTLS can now verify Hostname or CN in presented certificate.
Improvements
- Improve on API allocations when deserializing gRPC messages.
- Support
zstd
API compression. - Removed obsolete table manager cache that could have caused hard to debug race conditions.
- Bump to Go 1.22.
Deprecations
tables.names
andtables.delete
configuration values were deprecated and will be removed in future releases.
Bugfixes
- Proper authentication of
maintenance.v1.Backup/Restore
API endpoint. - When table is deleted in the leader cluster the followers will gracefully handle the situation by deleting the table locally and stopping the replication.
- Fixed potential Engine deadlock when shutting down the server.
Detailed changelog
- build(deps): bump golang from 1.21.5-alpine3.19 to 1.21.6-alpine3.19 by @dependabot in #244
- feature: Regatta server Tables API by @coufalja in #246
- build(deps): bump the gomod group with 2 updates by @dependabot in #248
- feature: tables API docs by @coufalja in #249
- feature: follower writes by @coufalja in #247
- add: bump vtproto and use unsafe when deserializing grpc message by @coufalja in #252
- add: zstd compression support + cleanup of proto errors by @coufalja in #253
- add: update labeler.yml by @coufalja in #255
- feat: follower write API part2 by @coufalja in #254
- build(deps): bump the gomod group with 1 update by @dependabot in #257
- feat: follower write API part3 by @coufalja in #256
- add: enable more linters, fix found issues by @coufalja in #259
- docs: documentation improvements by @coufalja in #260
- bug: fixes for replication changes in 0.5.x by @coufalja in #261
- deps: bump to Go 1.22 by @coufalja in #262
- feat: re-do distributed limiter by @coufalja in #264
- feat: improve repl worker CPU usage by @coufalja in #267
- feat: migrate to grpc-middleware V2 by @coufalja in #268
- build(deps): bump actions/configure-pages from 4 to 5 by @dependabot in #280
- build(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #273
- build(deps): bump dependabot/fetch-metadata from 1 to 2 by @dependabot in #278
- feat: mTLS support by @coufalja in #271
- docs: bump GRPC deps by @coufalja in #283
Full Changelog: v0.4.1...v0.5.0
v0.5.0-rc2
What's Changed
- feat: re-do distributed limiter by @coufalja in #264
- feat: improve repl worker CPU usage by @coufalja in #267
- feat: migrate to grpc-middleware V2 by @coufalja in #268
- build(deps): bump actions/configure-pages from 4 to 5 by @dependabot in #280
- build(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #273
- build(deps): bump dependabot/fetch-metadata from 1 to 2 by @dependabot in #278
- feat: mTLS support by @coufalja in #271
- docs: bump GRPC deps by @coufalja in #283
Full Changelog: v0.5.0-rc1...v0.5.0-rc2
v0.5.0-rc1
What's Changed
- bug: fixes for replication changes in 0.5.x by @coufalja in #261
- deps: bump to Go 1.22 by @coufalja in #262
Full Changelog: v0.5.0-rc0...v0.5.0-rc1
v0.5.0-rc0
What's Changed
- build(deps): bump golang from 1.21.5-alpine3.19 to 1.21.6-alpine3.19 by @dependabot in #244
- feature: Regatta server Tables API by @coufalja in #246
- build(deps): bump the gomod group with 2 updates by @dependabot in #248
- feature: tables API docs by @coufalja in #249
- feature: follower writes by @coufalja in #247
- add: bump vtproto and use unsafe when deserializing grpc message by @coufalja in #252
- add: zstd compression support + cleanup of proto errors by @coufalja in #253
- add: update labeler.yml by @coufalja in #255
- feat: follower write API part2 by @coufalja in #254
- build(deps): bump the gomod group with 1 update by @dependabot in #257
- feat: follower write API part3 by @coufalja in #256
- add: enable more linters, fix found issues by @coufalja in #259
- docs: documentation improvements by @coufalja in #260
Full Changelog: v0.4.1...v0.5.0-rc0
v0.4.1
v0.4.1
Improvements
- Server now reports transient errors for requests that could be potentially retried as
codes.Unavailable
.
Bugfixes
- Fixed the default timeout of
KV/IterateRange
operation.
Detailed changelog
- build(deps): bump the gomod group with 1 update by @dependabot in #242
- add: improve server error reporting by @coufalja in #243
Full Changelog: v0.4.0...v0.4.1
v0.4.0
v0.4.0
Breaking changes
- Remove maintenance server port, the API is now available on standard API port. It could still though be secured by a separate API token.
- Replaced
clusterID
withshard_id
in metric label names.
Features
- Added new
regatta.v1.KV/IterateRange
API. - Added option to get the server configuration via the
regatta.v1.Cluster/Status
API. - Added
memberlist.cluster-name
andmemberlist.node-name
options.- Both help identifying cluster and nodes in CLuster API responses.
- Cluster name setting prevents accidental pairing of multiple clusters running in the same network. (with different cluster name setting)
- Added
api.advertise-address
option to split address advertised to clients from the listen address. - Removed
maintenance.address
config option. - Removed
maintenance.cert-filename
config option. - Removed
maintenance.key-filename
config option.
Bugfixes
- Fix
KV/DeleteRange
Count
erroneously returning1
if no key was deleted. - Fix
KV/DeleteRange
PrevKV
panicking when previous key did not exist.
Detailed changelog
- bug: put and delete prev and count errors by @coufalja in #221
- add: codeql action by @coufalja in #222
- deps: bump Go and just-the-docs version by @coufalja in #223
- build(deps): bump actions/configure-pages from 3 to 4 by @dependabot in #227
- build(deps): bump actions/deploy-pages from 2 to 3 by @dependabot in #226
- build(deps): bump actions/setup-go from 4 to 5 by @dependabot in #225
- build(deps): bump the gomod group with 1 update by @dependabot in #229
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #230
- add: separate advertise from listen address by @coufalja in #235
- add: simplify server by removing maintenance API port by @coufalja in #236
- add: cluster and node name settings support by @coufalja in #237
- feature: IterateRange API by @coufalja in #238
- build(deps): bump the gomod group with 1 update by @dependabot in #239
- add: simplify and standardise the server tests by @coufalja in #240
- add: fetch server config values via API by @coufalja in #241
Full Changelog: v0.3.2...v0.4.0
v0.4.0-rc0
TBA changelog, this is a pre-release of upcoming 0.4.x Regatta series.
Detailed changelog
- bug: put and delete prev and count errors by @coufalja in #221
- add: codeql action by @coufalja in #222
- deps: bump Go and just-the-docs version by @coufalja in #223
- build(deps): bump actions/configure-pages from 3 to 4 by @dependabot in #227
- build(deps): bump actions/deploy-pages from 2 to 3 by @dependabot in #226
- build(deps): bump actions/setup-go from 4 to 5 by @dependabot in #225
- build(deps): bump the gomod group with 1 update by @dependabot in #229
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #230
- add: separate advertise from listen address by @coufalja in #235
- add: simplify server by removing maintenance API port by @coufalja in #236
- add: cluster and node name settings support by @coufalja in #237
- feature: IterateRange API by @coufalja in #238
- build(deps): bump the gomod group with 1 update by @dependabot in #239
- add: simplify and standardise the server tests by @coufalja in #240
- add: fetch server config values via API by @coufalja in #241
Full Changelog: v0.3.2...v0.4.0-rc0
v0.3.2
v0.3.1
v0.3.1
A bugfix release, with small improvements.
Improvements
- Improve startup logging and failure reporting.
Bugfixes
- Fix
rest.address
handling. - Fix race-conditions in Raft events handling.
Detailed changelog
- build(deps): bump the gomod group with 3 updates by @dependabot in #216
- feat: improve Engine events handling and server startup error reporting by @coufalja in #217
- docs: add ecosystem documentation by @Tantalor93 in #218
- bug: fix follower rest address handling by @coufalja in #219
New Contributors
- @Tantalor93 made their first contribution in #218
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Release brings a brand-new Cluster API as well as ability to listen over plain or unix socket connection.
Breaking changes
- Semantics of
api.address
replication.address
andmaintenance.address
changed. The protocol is now mandatory could be one ofhttp|https|unix|unixs
. - Removed
api.reflection-api
configuration.
Features
- Regatta could now serve its api on unix sockets.
- Support for serving over plain (non-TLS) gRPC added.
- Added
regatta.v1.Cluster
api.
Improvements
- Improve
version
command output. - Follower can connect to leader over plain connection or via unix socket.
Bugfixes
- Fix cluster member node registration.
Detailed changelog
- build(deps): bump golang from 1.21.3-alpine3.18 to 1.21.4-alpine3.18 by @dependabot in #212
- build(deps): bump the gomod group with 1 update by @dependabot in #213
- add: Memberlist and Status API by @coufalja in #211
- feat: Improve docker image by @reneleonhardt in #202
- docs: 0.3.0 release notes by @coufalja in #214
New Contributors
- @reneleonhardt made their first contribution in #202
Full Changelog: v0.2.3...v0.3.0