-
Improvements
- Removed dependency on
unsafe
package.
- Removed dependency on
-
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
-
-
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()
-
-
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
-
New Features
-
Added
ConsistencyLevel
toBasePolicy
. -
Added
CommitLevel
toWritePolicy
. -
Added
LargeList.Range
andLargeList.RangeThenFilter
methods. -
Added
LargeMap.Exists
method.
-
-
Improvements
- We use a pooled XORShift RNG to produce random numbers in the client. It is FAST.
-
Fixes
Record.Expiration
wasn't converted to TTL values onClient.BatchGet
,Client.Scan
andClient.Query
.
-
Fixes:
- Fixed issue when the size of key field would not be estimated correctly when WritePolicy.SendKey was set.
Major Performance Enhancements. Minor new features and fixes.
-
Improvements
-
Go client is much faster and more memory efficient now. In some workloads, it competes and wins against C and Java clients.
-
Complex objects are now de/serialized much faster.
-
-
New Features
- Added Default Policies for Client object. Instead of creating a new policy when the passed policy is nil, default policies will be used.
-
Fixes:
- Fixed issue when WritePolicy.SendKey = true was not respected in Touch() and Operate()
Hotfix in unpacker. Update strongly recommended for everyone using Complex objects, LDTs and UDFs.
-
Fixes:
- When Blob, ByteArray or String size has a bit sign set, unpacker reads it wrong. Note: This bug only affects unpacking of these objects. Packing was unaffected, and data in the database is valid.
Minor, but very impoortant fix.
-
Fixes:
- Node selection in partition map was flawed on first refresh.
-
Incompatible changes:
Expiration
andGeneration
inWritePolicy
are nowint32
TaskId
inStatement
is now always set in the client, and isint64
-
New Features:
- float32, float64 and bool are now supported in map and array types
-
Hot fix:
- Fixed pack/unpack for uint64
Major changes and improvements.
-
New Features:
- Added client.Query()
- Added client.ScanNode()/All()
- Added client.Operate()
- Added client.CreateIndex()
- Added client.DropIndex()
- Added client.RegisterUDF()
- Added client.RegisterUDFFromFile()
- Added client.Execute()
- Added client.ExecuteUDF()
- Added client.BatchGet()
- Added client.BatchGetHeader()
- Added client.BatchExists()
- Added LDT implementation
- Added
Node
andKey
references to the Record
-
Changes:
-
Many minor and major bug fixes
-
Potentially breaking change: Reduced Undocumented API surface
-
Fixed a few places where error results were not checked
-
Breaking Change: Convert Key.namespace & Key.setName from pointer to string; affects Key API
-
Renamed all
this
receivers to appropriate names -
Major performance improvements (~2X improvements in speed and memory consumption):
- better memory management for commands; won't allocate if capacity is big enough
- better hash management in key; avoids two redundant memory allocs
- use a buffer pool to reduce GC load
- fine-grained, customizable and deterministic buffer pool implementation for command
-
Optimizations for Key & Digest
- changed digest implementation, removed an allocation
- Added RIPEMD160 hash files from crypto to lib
- pool hash objects
-
Various Benchmark tool improvements
- now profileable using localhost:6060
- minor bug fixes
-
- Initial Release.