Releases: aerospike/aerospike-client-go
v8.0.0-beta.2
Release Date: December 23, 2024
- Major breaking release. This release supports Multi-Record Transactions. Please note that this is a beta release and will be subject to breaking changes.
Breaking Changes
- The client now requires Go v1.23+. Needed to implement iterators later.
New Features
- Actively refresh pool connections that will be idle before the next tend. [CLIENT-2820]
Bug Fixes
- Fix
FilterExpression
encoding in Batch commands. [CLIENT-3218]
Full Changelog: v8.0.0-beta.1...v8.0.0-beta.2
v7.8.0
Release Date: December 22, 2024
- Minor Fix release.
Bug Fixes
- Do not send
nil
orNullValue
as key to the server. [CLIENT-3217]
Full Changelog: v7.7.3...v7.8.0
v8.0.0-beta.1
Release Date: December 12, 2024
- Major breaking release. This release supports Multi-Record Transactions. Please note that this is a beta release and will be subject to breaking changes. MRT support required Aerospike Server Enterprise v8.0.0+.
Breaking Changes
- This release removes the proxy client and associated mock interfaces from the codebase. Maintaining those interfaces was very hard due to multiple build flags which had their own set of of supported API. Since interfaces are implicit, doing that by the user is as easy, or potentially easier outside of the library.
- Operation used to return the result of multiple ops on a single bin wrapped in
[]any
. That would be confusing, since it was not clear if the result was the contents of the bin, or the results of multiple commands. In version 8, the client will wrap those results inside aas.OpResults
instead of a[]any
, removing the confusion. - The client would automatically populate the
stackFrame
field for theas.AerospikeError
. Since that was an expensive operation, the client now will consult the value ofStackTracesEnabled
variable before doing so. The default is set tofalse
of course. - The client now requires Go v1.23+. Needed to implement iterators later.
New Features
- Support writing raw payload to the server. [CLIENT-3159]
- Support Multi-Record Transactions. [CLIENT-3183] [CLIENT-3203] [CLIENT-3193] [CLIENT-3190]
Improvements
- Support
-use-services-alternate
in test arguments. [CLIENT-3214] - Renamed all
interface{}
toany
.
Bug Fixes
- Remove Proxy code. [CLIENT-3214]
- Do not send
nil
orNullValue
as key to the server. [CLIENT-3217]
Full Changelog: v7.10.1...v8.0.0-beta.1
v7.7.3
Release Date: November 29, 2024
- Minor Fix release.
Bug Fixes
- Parse
nil
keys properly in scan/query operations. [CLIENT-3196]
Full Changelog: v7.7.2...v7.7.3
v7.7.2
v7.7.1
Release Date: September 23, 2024
Warning
Hot Fix release. This version fixes a major bug introduced in v7.7.0. You should use this release instead.
Improvements
- Correctly handle new error messages/error codes returned by AS 7.2. [CLIENT-3112]
- Add "XDR key busy" error code 32. [CLIENT-3102]
- Use generics for a general code clean up. [CLIENT-3119]
- Uses several new generic containers to simplify concurrent access in the client.
- Uses a Guard as a monitor for the tend connection. This encapsulates synchronized tend connection management using said Guard.
- Add documentation about client.WarmUp to the client initialization API.
Bug Fixes
- BatchGet with empty keys raises gRPC EOF error. [CLIENT-3082]
- Fix
nil
dereference in the tend logic. [CLIENT-3122]
Full Changelog: v7.7.0...v7.7.1
v7.7.0
Release Date: September 13, 2024
Warning
This version introduced a major bug in tend logic. You should use v7.7.1 or later instead.
Improvements
- Correctly handle new error messages/error codes returned by AS 7.2. [CLIENT-3112]
- Add "XDR key busy" error code 32. [CLIENT-3102]
- Use generics for a general code clean up. [CLIENT-3119]
- Uses several new generic containers to simplify concurrent access in the client.
- Uses a Guard as a monitor for the tend connection. This encapsulates synchronized tend connection management using said Guard.
- Add documentation about
client.WarmUp
to the client initialization API.
Bug Fixes
BatchGet
with empty keys raises gRPCEOF
error. [CLIENT-3082]
Full Changelog: v7.6.1...v7.7.0
v7.6.1
Release Date: August 12, 2024
- Minor improvement release.
Improvements
- Increase info command max response buffer size to 64 MiB. [CLIENT-3071]
Full Changelog: v7.6.0...v7.6.1
v7.6.0
Release Date: July 22, 2024
- Minor improvement and fix release.
Improvements
- Move proxy client build behind a build flag. This removes the gRPC compilation and potential namespace conflict from the default build and moves it behind the compiler build flag "as_proxy". [CLIENT-3045]
- Use a specialized pool for gPRC connections to prevent premature reaping. [CLIENT-3049]
Bug Fixes
Close()
throws anil
pointer error onProxyClient
without Authentication. [CLIENT-3022]- Circular reference in between
Client
<->Cluster
causes memory leak when the client is not closed manually. [CLIENT-3044] - Wrong return type in Single Key Batch Operations with Multiple Ops per Bin. [CLIENT-3046]
- Fix pointer value assignment in baseMultiCommand.parseKey #443. [CLIENT-3047]
- Use precomputed ops variable in
batchIndexCommandGet.executeSingle
#442. [CLIENT-3048]
Full Changelog: v7.5.0...v7.6.0
v7.5.0
Release Date: July 01, 2024
- Minor feature and fix release.
New Features
- Support new v7.1 proxy features: [CLIENT-2968]
- Info command.
QueryPolicy.QueryDuration
- Support new server 7.1 info command error response strings. [CLIENT-3012]
Improvements
- Scans should work in a mixed cluster of v5.7 and v6.4 server nodes. [CLIENT-2997]
- Support new server 7.1 info command error response strings. [CLIENT-3012]
- Change
ReadModeSC
doc from server to client perspective. [CLIENT-3020]
Bug Fixes
- Prevent Goroutine leak in
AuthInterceptor
for the Proxy Client. [CLIENT-3019]
Full Changelog: v7.4.0...v7.5.0