Skip to content

Releases: aerospike/aerospike-client-csharp

3.9.14

18 Jul 00:50
Compare
Choose a tag to compare

Release Date: August 20, 2021

  • A bug affecting this version of the C# client has been identified. You can safely upgrade to C# client 3.9.15 and we strongly recommend that you do so at the earliest opportunity.

Bug fixes

  • Allow null sessionExpiration for compatibility with older servers. [CLIENT-1580]

Full Changelog: 3.9.13...3.9.14

4.2.2

18 Jul 00:45
Compare
Choose a tag to compare

Release Date: August 11, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, we strongly recommend that you upgrade to C# client 4.2.7 at the earliest opportunity.

New features

  • Support PKI authentication where the TLS certificate's common name (CN) specifies the Aerospike user name. This feature requires server version 5.7+. [CLIENT-1569]
  • Support batch read operations. [CLIENT-1571]
  • Support scan-show and query-show info commands. [CLIENT-1572]
  • Add seed and peer nodes at the same time on startup. Refresh peers of new nodes in same cluster tend iteration. [CLIENT-1567]

Bug fixes

  • Avoid using previous failed node when possible in batch retry. [CLIENT-1574]
  • Set "Node.rebalanceChanged" to "Cluster.rackAware" when creating node.
  • Remove supported feature checks in AerospikeDemo because each feature is supported on minimum server version (4.9).
  • Only read volatile sessionToken if cluster username is defined.
  • Do not run durable delete tests on community servers.

Full Changelog: 4.2.1...4.2.2

3.9.13

18 Jul 00:50
Compare
Choose a tag to compare

Release Date: July 19, 2021

  • A bug affecting this version of the C# client has been identified. You can safely upgrade to C# client 3.9.15 and we strongly recommend that you do so at the earliest opportunity.

Bug fixes

  • Relogin to node when quick node restart detected. Also, add volatile keyword to node's sessionToken. [CLIENT-1560]

Full Changelog: 3.9.12...3.9.13

4.2.1

18 Jul 00:45
Compare
Choose a tag to compare

Release Date: July 15, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, we strongly recommend that you upgrade to C# client 4.2.7 at the earliest opportunity.

New features

  • Add new map Bin constructor that accepts MapOrder as an argument. [CLIENT-1556]
  • Support a list of preferred racks rather than a single rack when replica is PREFER_RACK. [CLIENT-1557]
  • For scan exception result code MAX_RETRIES_EXCEEDED, include all retry sub-exceptions in exception message.
  • Add Exp.BoolBin().

Bug fixes

  • Perform only one cluster tend in WaitTillStabilized() because the tend now requests partition maps in same iteration as adding the nodes. [CLIENT-1544]
  • Attempt to contact an invalid node (referenced by seeds or peers) only once for each cluster tend iteration. [CLIENT-1544]
  • Add invalidNodeCount to ClusterStats and also provide direct access in "Cluster.InvalidNodeCount". invalidNodeCount is the count of referenced nodes that cannot be added to the cluster in the most recent cluster tend iteration. [CLIENT-1544]
  • Do not create Key object when parsing batch read results because it is no longer used. [CLIENT-1550]
  • Relogin to node when quick node restart detected. Also, use volatile references to node's sessionToken. [CLIENT-1560]
  • Fix REVERSE_RANK doc to say "Return reverse value order." [DOCS-217]

Full Changelog: 4.2.0...4.2.1

4.2.0

18 Jul 00:45
Compare
Choose a tag to compare

Release Date: April 30, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, we strongly recommend that you upgrade to C# client 4.2.7 at the earliest opportunity.

New features

  • Support boolean particle type. If "Value.UseBoolBin" is true, a boolean is sent to the server as a boolean bin instead of an integer bin. Server version 5.6+ is required when "Value.UseBoolBin" is true. Default is false. [CLIENT-1461]
  • Support new math, bit, and conditional expressions. These expressions require server version 5.6+. [CLIENT-1475]
  • Support user quotas and statistics. This feature requires server version 5.6+. [CLIENT-1486]
  • Remove Policy.priority, ScanPolicy.scanPercent and ScanPolicy.failOnClusterChange. The server no longer supports these fields. See Incompatible API change. [CLIENT-1501]
  • Support aggregation queries in .NET Core. Upgrade to NeoLua 1.3.13. [CLIENT-1502]

Bug fixes

  • Detect quick node restart when restarted node never left the cluster. If detected, reset error count and balance connections. [CLIENT-1494]
  • Remove unused largelist_example.lua from AerospikeTest. [CLIENT-1502]
  • Retry on server timeout if maxRetries and totalTimeout have not been reached. Increment error count on server timeout. [CLIENT-1519]

Full Changelog: 4.1.6...4.2.0

4.1.6

18 Jul 00:46
Compare
Choose a tag to compare

Release Date: April 14, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, but does not use Policy.priority , ScanPolicy.scanPercent or ScanPolicy.failOnClusterChange, you can safely upgrade to C# client 4.2.7. We strongly recommend that you do so at the earliest opportunity.

New features

  • Support scan pagination with PartitionFilter. [CLIENT-1454]

Bug fixes

  • Check for null node and connection in AsyncCommand.FailOnApplicationError(). [CLIENT-1499]
  • Do not keep connection on all client side errors. [CLIENT-1499]
  • Do not copy old node reference on retry. Node is initialized at the start of the retry. [CLIENT-1499]
  • Remove ability to use old authentication protocol since the new authentication protocol was created in server version 4.1 and the client already requires server version 4.9+. [CLIENT-1487]
  • Remove ability to configure password hash as the password when using authentication. [CLIENT-1485]
  • Create new async connections sequentially when balancing async connections from cluster tend.
  • Rename namespace BCrypt.Net to Aerospike.Client.

Full Changelog: 4.1.5...4.1.6

4.1.5

18 Jul 00:46
Compare
Choose a tag to compare

Release Date: March 17, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, but does not use Policy.priority , ScanPolicy.scanPercent or ScanPolicy.failOnClusterChange, you can safely upgrade to C# client 4.2.7. We strongly recommend that you do so at the earliest opportunity.

New features

  • Support AsyncClientPolicy asyncMaxCommandInQueue. Reject new async commands if asyncMaxCommandInQueue > 0 and delay queue size >= asyncMaxCommandInQueue. [CLIENT-1460]
  • Accept new bool particle type on reads, but continue writing bool as an integer bin. This is an interim step that allows rolling upgrades with bool support when server version 5.6 is released. [CLIENT-1473]

Full Changelog: 4.1.4...4.1.5

4.1.4

18 Jul 00:46
Compare
Choose a tag to compare

Release Date: March 02, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, but does not use Policy.priority , ScanPolicy.scanPercent or ScanPolicy.failOnClusterChange, you can safely upgrade to C# client 4.2.7. We strongly recommend that you do so at the earliest opportunity.

Bug fixes

  • Fix .NET Core on Linux issues. [CLIENT-1459]
  • If SocketAsyncEventArgs.BytesTransferred is zero on send, close connection and retry if maxRetries not reached.
  • Fix infinite loop in Util.GetErrorMessage() when exception's InnerException is always populated on all levels.
  • Fix Log.Callback doc to say the log is disabled by default.

Full Changelog: 4.1.3...4.1.4

4.1.3

18 Jul 00:46
Compare
Choose a tag to compare

Release Date: February 05, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, but does not use Policy.priority , ScanPolicy.scanPercent or ScanPolicy.failOnClusterChange, you can safely upgrade to C# client 4.2.7. We strongly recommend that you do so at the earliest opportunity.

New features

  • Reject command when assigned node's error rate exceeds ClientPolicy.maxErrorRate per ClientPolicy.errorRateWindow. The node's error count is incremented on any error that causes the connection to close (socket errors and client timeouts) plus ResultCode.DEVICE_OVERLOAD. Attempt retry before throwing AerospikeException.Backoff. Default maxErrorRate (0) disables error rate rejection. [CLIENT-1377]
  • Retry on ResultCode.DEVICE_OVERLOAD.

Bug fixes

  • Add ShouldSerializeNode() to AerospikeException. This method signals the Newtonsoft JSON serializer to ignore the node member variable when serializing an AerospikeException instance. [CLIENT-1446]

Full Changelog: 4.1.2...4.1.3

4.1.2

18 Jul 00:47
Compare
Choose a tag to compare

Release Date: January 19, 2021

  • A bug affecting this version of the C# client has been identified. If your application uses scans, but does not use Policy.priority , ScanPolicy.scanPercent or ScanPolicy.failOnClusterChange, you can safely upgrade to C# client 4.2.7. We strongly recommend that you do so at the earliest opportunity.

Bug fixes

  • Enforce hard limit on asyncMaxConnsPerNode. [CLIENT-1415]
  • Avoid wrapping AerospikeException within another AerospikeException when using async commands. [CLIENT-1396]
  • Consolidate generation reset in RefreshFailed(). [CLIENT-1391]

Full Changelog: 4.1.1...4.1.2