Skip to content

Releases: aerospike/aerospike-client-go

Maintenance Release

31 Mar 08:37
Compare
Choose a tag to compare

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

18 Feb 10:10
Compare
Choose a tag to compare

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 and recordset.Errors will be removed in a future release.

  • Improvements

    • Custom Types are now allowed as bin values.

Removed Dependency on `unsafe` package.

26 Jan 10:29
Compare
Choose a tag to compare
v1.3.1

Removed Dependency on unsafe package.

Added Security Features

20 Jan 11:15
Compare
Choose a tag to compare
  • Breaking Changes
    • Removed Record.Duplicates and GenerationPolicy/DUPLICATE
  • 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
  • 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 into GetOp()

Adds BasePolicy.ConsistencyLevel and WritePolicy.CommitLevel policies

06 Jan 17:09
Compare
Choose a tag to compare

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 to BasePolicy.
  • Added CommitLevel to WritePolicy.
  • Added LargeList.Range and LargeList.RangeThenFilter methods.
  • Added LargeMap.Exists method.

TTL fix for Scan, Query and BatchGet

19 Dec 13:02
Compare
Choose a tag to compare

This is a minor maintenance release. Please consult CHANGELOG.md to see the changes.

Bug Fix Release

10 Dec 16:56
Compare
Choose a tag to compare

Minor bug fixes and general improvements.

Major Performance Improvements

28 Nov 18:52
Compare
Choose a tag to compare

Reduced GC and memory copies everywhere.

Fix Release

28 Nov 18:05
Compare
Choose a tag to compare
  • Fixes major issue with Unpacking strings of specific size (Packing was unaffected)
  • Fixes minor issue with cluster node refresh.

Cluster Management Fix

03 Nov 19:40
Compare
Choose a tag to compare

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.