Releases: aerospike/aerospike-client-go
Releases · aerospike/aerospike-client-go
Maintenance Release
Maintenance release.
- Improvements
- Replace channel-based queue system with a lock-based algorithm.
- Marshaller now supports arrays of arbitrary types.
Client.GetObject()
now returns an error when the object is not found.- Partition calculation uses a trick that is twice as fast.
- Improvements
- Unpacking BLOBs resulted in returning references to pooled buffers. Now copies are returned.
Marshalling for Put and Get
This is a major release, and makes using the client much easier to develop applications.
-
New Features
- Added Marshalling Support for Put and Get operations. Refer to Marshalling Test to see how to take advantage.
- Added
Recordset.Results()
. Consumers of a Recordset do not have to implement a select anymore.
recordset, err := client.ScanAll(...) for res := range recordset.Results() { if res.Err != nil { // handle error here } else { // process record here fmt.Println(res.Record.Bins) } }
Use of the old pattern is discouraged and deprecated, and direct access to
recordset.Records
andrecordset.Errors
will be removed in a future release. -
Improvements
- Custom Types are now allowed as bin values.
Removed Dependency on `unsafe` package.
v1.3.1 Removed Dependency on unsafe package.
Added Security Features
- Breaking Changes
- Removed
Record.Duplicates
andGenerationPolicy/DUPLICATE
- Removed
- New Features
- Added Security Features: Please consult Security Docs on Aerospike website.
ClientPolicy.User
,ClientPolicy.Password
Client.CreateUser()
,Client.DropUser()
,Client.ChangePassword()
Client.GrantRoles()
,Client.RevokeRoles()
,Client.ReplaceRoles()
Client.QueryUser()
,Client.QueryUsers
- Added
Client.QueryNode()
- Added
ClientPolicy.TendInterval
- Added Security Features: Please consult Security Docs on Aerospike website.
- Improvements
- Cleaned up Scan/Query/Recordset concurrent code
- Fixes
- Fixed a bug in
tools/cli/cli.go
. - Fixed a bug when
GetHeaderOp()
would always translate intoGetOp()
- Fixed a bug in
Adds BasePolicy.ConsistencyLevel and WritePolicy.CommitLevel policies
New Features:
- Added
NewKeyWithDigest()
method. You can now create keys with custom digests, or only using digests without knowing the original value. (Useful when you are getting back results with Query and Scan) - Added
ConsistencyLevel
toBasePolicy
. - Added
CommitLevel
toWritePolicy
. - Added
LargeList.Range
andLargeList.RangeThenFilter
methods. - Added
LargeMap.Exists
method.
TTL fix for Scan, Query and BatchGet
This is a minor maintenance release. Please consult CHANGELOG.md to see the changes.
Bug Fix Release
Minor bug fixes and general improvements.
Major Performance Improvements
Reduced GC and memory copies everywhere.
Fix Release
- Fixes major issue with Unpacking strings of specific size (Packing was unaffected)
- Fixes minor issue with cluster node refresh.
Cluster Management Fix
Please note that the data type for WritePolicy.Generation
, WritePolicy.Expiration
and Statement.TaskId
have changed in this released. Please refer to CHANGELOG.md
for details.