Releases: aerospike/aerospike-client-go
Releases · aerospike/aerospike-client-go
Minor Bugfix release
Minor bugfix release.
- Fixes
- Fixes an issue where complex maps and lists weren't unmarshalled correctly in
GetObject
method.
- Fixes an issue where complex maps and lists weren't unmarshalled correctly in
Major Feature and Improvements
NOTICE: Due to the relatively extensive code overhaul, upgrade with caution.
- New Features
- Added CDT Ordered Map API. (Requires server version to be released in the near future)
- Improvements
- Removed mutexes from
Cluster
andNode
code. - Improved code quality using various linters.
- Removed mutexes from
Minor Fixes and Improvements
- Fixes
- Fixed an issue where unmarshalling embedded structs and pointers didn't work properly if they were tagged.
Minor fixes and improvements release.
- Fixes
- Fixed an issue in which go-routines were leaked in
Results()
method ofRecordset
on cancellation. Based on PR #128, thanks to Noel Cower - Fixed issues regarding leaked goroutines in
Cluster.WaitTillStablized()
,Cluster.MigrationInProgress()
, andCluster.WaitUntillMigrationIsFinished()
methods. PR #126, thanks to Anton
- Fixed an issue in which go-routines were leaked in
- Improvements
- Improved cluster
tend()
logic. - Added
Recordset.Read()
method. - Minor fixes in docs and code formatting. Thanks to Andrew Murray and Erik Dubbelboer
- Improved cluster
Minor Features and Improvements
- New Features
- Added
NewGeoWithinRegionForCollectionFilter
,NewGeoRegionsContainingPointForCollectionFilter
,NewGeoWithinRadiusForCollectionFilter
for queries on collection bins.
- Added
- Fixes
- Fixed an issue in which bounded byte arrays were silently being dropped as map keys.
- Improvements
Minor Features and Improvements
Minor features and improvements release.
-
New Features
- Support Metadata in struct tags to fetch TTL and Generation via
GetObject
.
Notice: Metadata attributes in an struct are considered transient, and won't be persisted.
Example:
type SomeStruct struct { TTL uint32 `asm:"ttl"` // record time-to-live in seconds Gen uint32 `asm:"gen"` // record generation A int Self *SomeStruct } key, _ := as.NewKey("ns", "set", value) err := client.PutObject(nil, key, obj) // handle error here rObj := &OtherStruct{} err = client.GetObject(nil, key, rObj)
- GeoJSON support in Lists and Maps
- Support Metadata in struct tags to fetch TTL and Generation via
-
Improvements
- Use
ClientPolicy.timeout
for connection timeout when refreshing nodes - Added new server error codes
- Protect RNG pool against low-precision clocks during init
- Better error message distingushing between timeout because of reaching deadline and exceeding maximum retries
- Use
-
Fixes
- Fixed object mapping cache for anonymous structs. PR #115, thanks to Moshe Revah
- Fixed an issue where
Execute()
method wasn't observing theSendKey
flag in Policy.
Minor Feature and Improvements
Minor features and improvements release.
- New Features
- Can now use
services-alternate
for cluster tend. - New CDT List API:
ListGetRangeFromOp
,ListRemoveRangeFromOp
,ListPopRangeFromOp
- Can now use
- Improvements
- Improves marshalling of data types into and out of the Lua library and avoids marshalling values before they are needed.
- Returns error for having more than one Filter on client-side to avoid confusion.
- Increases default
ClientPolicy.Timeout
and return a meaningful error message when the client is not fully connected to the cluster afterwaitTillStabilized
call
Major release. Adds Aggregation.
Major release. Adds Aggregation.
- New Features
- Added
client.QueryAggregate
method.- For examples regarding how to use this feature, look at the examples directory.
- You can find more documentation regarding the Aggregation Feature on Aerospike Website
- Improvements
- Improve Query/Scan performance by reading from the socket in bigger chunks
- Added
Major Release
- New Features
- Added CDT List operations.
- Added
NewGeoWithinRadiusFilter
filter for queries.
- Changes
- Renamed
NewGeoPointsWithinRegionFilter
toNewGeoWithinRegionFilter
- Renamed
Major Release
December 1 2015 : v1.8
Major release. Adds new features and fixes important bugs.
- New Features
- Added
ScanAllObjects
,ScanNodeObjects
,QueryObjects
andQueryNodeObjects
to the client, to facilitate automatic unmarshalling of data similar toGetObject
.- NOTICE: This feature and its API are experimental, and may change in the future. Please test your code throughly, and provide feedback via Github.
- Added
ScanPolicy.IncludeLDT
option (Usable with yet to be released server v 3.7.0) - Added
LargeList.Exist
method.
- Added
- Improvements
- Makes Generation and Expiration values consistent for WritePolicy and Record.
- NOTICE! BREAKING CHANGE: Types of
Record.Generation
andRecord.Expiration
, and alsoWritePolicy.Generation
andWritePolicy.Expiration
have changed, and may require casting in older code.
- NOTICE! BREAKING CHANGE: Types of
- Refactor tools/asinfo to be more idiomatic Go. PR #86, thanks to Tyler Gibbons
- Many documentation fixes thanks to Charl Matthee and Tyler Gibbons
- Makes Generation and Expiration values consistent for WritePolicy and Record.
- Fixes
- Changed the
KeepConnection
logic from black-list to white-list, to drop all - Fix RemoveNodesCopy logic error.
- Add missing send on recordset Error channel. PR #99, thanks to Geert-Johan Riemer
- Fix skipping of errors/records in (*recordset).Results() select after cancellation. PR #99, thanks to Geert-Johan Riemer
- Changed the