Skip to content

Releases: aerospike/aerospike-client-go

Minor Improvements and fixes

20 Dec 15:49
Compare
Choose a tag to compare
  • New Features
    • Exposes the internal client.Cluster object to the users.
    • Added New API for high-performance complex data type packing, and removed the old API.
  • Improvements
    • Only update the partition map if the partition generatio has changed.
    • Use tend connection for user management commands.
    • Marks LargeList as deprecated. Use CDT methods instead.
    • Always validate the message header to avoid reading the remainder of other command buffers.
    • Removes GeoJson from key helper.
    • Improves tend algorthm to allow complete disconnection from the cluster if none of the clusters are accessible.
    • PutObject method will now accept objects as well. PR #156, thanks to Sarath S Pillai
  • Fixes
    • Do not attemp to add a node which were unaccessible to avoid panic.
    • Fix invalid connectionCount. PR #168, thanks to Jun Kimura
    • Fixes minor bug that didn't return the error on reading from the connection during scans.

Hotfix Release

29 Nov 22:36
Compare
Choose a tag to compare

Hot fix release. Please upgrade if you have been using other Aerospike clients with your database parallel to Go.

  • Fixes
    • Fixes an issue where short strings in Lists and Maps wouldn't unpack correctly. Resolves #161.

Minor bugfix release

16 Nov 16:19
Compare
Choose a tag to compare
  • New Features
    • Added new constants for expiration in WritePolicy: TTLServerDefault, TTLDontExpire, TTLDontUpdate
  • Improvements
    • Corrects typos in the code. PR #142, thanks to Muyiwa Olurin
    • Use the tend connection for RequestInfo commands.
  • Fixes
    • Fixes an issue where TTL values were calcualted wrongly when they were set not to expire.
    • Fixes an issue where PutObjects would marshal []byte to List in database. PR #152, thanks to blide
    • Fixes an issue where Recordset could leak goroutines. PR #153, thanks to Deepak Prabhakara

Major Improvements

25 Oct 19:34
Compare
Choose a tag to compare

There has been major changes in the library. Please test rigorously before upgrading to the new version.

  • New Features
    • Let user define the desired tag for bin names in structs using SetAerospikeTag function.

    • Added as_performance build tag to avoid including the slow convenience API which uses reflections in the client code.
      To use this feature, you should include -tags="as_performance" when building your project.

      NOTICE: Keep in mind that your code may not compile using this flag. That is by design.

  • Improvements
    • Added special packer for map[string]interface{} in NewValue method.
    • Avoid allocating memory for Map and List values.
    • Allocate commands on the stack to avoid heap allcations.
    • Avoid allocating memory for packer.
    • Avoid Allocating memory in computeHash for keys.
    • Avoid allocating memory in Ripe160MD digest.
    • Removed BufferPool and moved buffers to Connection objects to remove lock contention.
    • Added ListIter and MapIter interfaces to support passing user defined Maps and Lists to the client without using reflection.

Major Features and Improvements

14 Oct 15:49
Compare
Choose a tag to compare
  • New Features
    • Support TLS secured connections. (Feature will be supported in coming server releases.)
    • Support IPv6 protocol. Supported by Aerospike Server 3.10+.
    • Support cluster-name verification. Supported by Aerospike Server 3.10+.
    • Support new peers info protocol. Supported by Aerospike Server 3.10+.
  • Improvements
    • Will retry the operation even when reading from the buffer. Set Policy.MaxRetries = 0 to avoid this behavior. PR #143, thanks to Hector Jusforgues
    • Much improved cluster management algorithm. Will now handle the case where multiple nodes go down simultaneously, still protecting against split brain rogue nodes.
  • Fixes
    • Try all alias IPs in node validator. Resolves #144.
    • Updated job status check for execute tasks.

Minor Features and Improvements

19 Aug 17:51
Compare
Choose a tag to compare
  • New Features
    • Support 'Durable Deletes' for the next version of Aerospike Server Enterprise.
  • Improvements
    • Don't run tests for features that are not supported by the server.
    • Added new server error codes.

Minor improvements release.

27 Jul 18:00
Compare
Choose a tag to compare
  • Improvements
    • Add TaskId() method for Recordset.
    • Cleanup indexes after test cases.
    • Keep connections on recoverable server errors.
    • Return the error on unexpected keys in BatchCommandGet/Header.
    • Use the same client object in tests and support using replicas on travis.

Major Feature Release

19 Jul 17:56
Compare
Choose a tag to compare

Major feature and improvement release.

  • New Features
    • Client now supports distributing reads from Replicas using ClientPolicy.RequestProleReplicas and Policy.ReplicaPolicy
  • Improvements
    • Cluster.GetConnection will now retry to acquire a connection until timeout.
    • Client.DropIndex method now blocks until all nodes report the index is dropped.
    • Async tasks like CreateIndex will retry a few times before deciding a non-existing job means it has finished.
    • Don't use math.MaxInt64, it breaks 32-bit builds. PR #139, thanks to Cameron Sparr
  • Fixes
    • Maps with 0 elements will automatically shortcut to unordered empty maps.
    • Return the error in BatchCommandGet on parse error.

Major fix release.

28 Jun 17:10
Compare
Choose a tag to compare
  • Improvements
    • Skip LDT tests if LDT is not enabled.
    • Returns last error after all retry attempts to run a command are exhausted.
    • Reserves a connection for tend operation to avoid dropping a node when high load prevents acquiring a proper connection.
    • Added Finalizers to Client and Recordset. Both will be automatically closed by the GC.
  • Fixes
    • Fixes an issue where services-alternate wasn't used in Node.addFriends() when instructed so in the policy.
    • Fixes an issue where object metadata wasn't cached if QueryObjects was called before PutObject.
    • Fixes an issue where idle connections were not dropped.
    • Fixes an issue where requested buffer sizes were not guarded against negative numbers.

Minor bugfix release

07 Jun 11:56
Compare
Choose a tag to compare
  • Fixes
    • Fixes an issue where empty unordered maps were confused with CDT maps.