All notable changes to this project will be documented in this file.
-
New Features
- [CLIENT-2099] Support boolean particle type.
- [CLIENT-2320] Implement
std::convert::TryFrom<aerospike::Value>
for each variant. Resolves #124. Refer to the mentioned ticket for the use case. - [CLIENT-2321] Support queries and scans not sending a fresh message header per partition in server v6+.
-
Bug Fixes
- Fixed large integers packing when encoding to messagepack. Thanks to Babur Makhmudov
- Fixed Float serialization. Thanks to Jonas Breuer
-
Improvements
- Fix tests failing without the
AEROSPIKE_HOSTS
environment variable set. Now they uselocalhost
by default. - Fix a few compiler warnings and remove a few unused struct fields.
- Fix tests failing without the
-
New Features
- Support Aerospike server v5.6+ expressions in Operate API. Thanks to Jonas Breuer
-
Bug Fixes
- Fix for buffer size when using CDT contexts. Thanks to Jonas Breuer
This version of the client drops support for the older server versions without changing the API. ScanPolicy.fail_on_cluster_change
, ScanPolicy.scan_percent
and BasePolicy.priority
are deprecated for the Scan operations and will not be sent to the server. They remain in the API to avoid breaking the API.
- New Features
- Support Aerospike server v5.6+ server authentication.
- Support Aerospike server v5.6+ Scan protocol for simple cases.
-
Bug Fixes
- Client.is_connected() returns true even after client.close() is called. (#87)
-
New Features
- BREAKING CHANGE: Replace predicate expressions with new Aerospike Expression filters. Aerospike Expression filters give access to the full data type APIs (List, Map, Bit, HyperLogLog, Geospatial) and expanded metadata based filtering, to increase the power of filters in selecting records. This feature requires server version 5.2.0.4 or later. See API Changes for details. (#80) Thanks to @jonas32!
- Support operations for the HyperLogLog (HLL) data type. (#89) Thanks to @jonas32!
- Serde Serializers for Record and Value objects. (#85) Thanks to @jonas32!
-
Bug Fixes
-
New Features
- Big update for operations: (#79) Thanks to @jonas32!
- Added operation contexts for nested operations.
- Added missing list operations, list policies, and ordered lists.
- Added missing map operations.
- Added bitwise operations.
- BREAKING CHANGE: The policy and return types for Lists require additional parameters for the cdt op functions.
- Big update for operations: (#79) Thanks to @jonas32!
-
Updates
- Restrict Travis CI tests to stable/beta/nightly. (#84)
-
Bug Fixes
- Clear connection buffer on server error. (#76)
-
New Features
-
Updates
-
Bug Fixes
- CDT lists/maps size operation fails with ParameterError. #57
-
Updates
-
New Features
-
Bug Fixes
-
Updates
- Min. required Rust version is now v1.26.
- Update several package dependencies to latest version.
- Update to rustfmt-preview and re-apply cargo fmt.
- Bug Fixes
- Secondary index queries fail with parameter error on Aerospike Server 3.15.1.x #44
-
New Features
- Support configurable scan socket timeout #40
- Support returning keys/digests without bins in query #39
- Add list increment operation #38
- Implement truncate command #37
-
Bug Fixes
- Make value::FloatValue public #36 - Thanks to tpukep!
-
Updates
- Replace rustc_serialize::base64 with base64 crate #42
- Switch to bencher crate for benchmarks #41
-
New Features
- Support batch read requests (#7)
- Support durable delete write policy (#14)
- Support cluster name verification (#11)
- [Performance] (Optionally) split connection pool into multiple smaller pools to reduce lock contention on machines with high core counts (#19)
- Add benchmark suite (#16)
-
Bug Fixes
- Add missing ElementNotFound and ElementExists result codes
-
Updates
- Combine client's get and get_header command into updated get command
- as_geo! now accepts both String and &str
- Use rustfmt to enforce consistent code formatting
- [Performance] Replace std::sync::{Mutex, RwLock} primitives with equivalent constructs from parking_lot crate
- Replace threadpool with scoped-pool library to support both scoped and unscoped task execution
Initial release