Rust Client Library Release Notes

  • 1.3.0
    Release Date: May 1, 2023

    New Features

    • [CLIENT-2099] Support boolean particle type.
    • [CLIENT-2320] Implement std::convert::TryFrom 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+.

    Improvements

    • Fix tests failing without the AEROSPIKE_HOSTS environment variable set. Now they use localhost by default.
    • Fix a few compiler warnings and remove a few unused struct fields.

    Bug Fixes

    • Fixed large integers packing when encoding to messagepack. Thanks to Babur Makhmudov.
    • Fixed Float serialization. Thanks to Jonas Breuer.

  • 1.2.0
    Release Date: October 22, 2021

    New Features

    • Support Aerospike server v5.6+ expressions in Operate API.

    Bug Fixes

    • Fix for buffer size when using CDT contexts.

  • 1.1.0
    Release Date: October 12, 2021
    • 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 deprected 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.

  • 1.0.0
    Release Date: October 29, 2020

    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

    • Client.is_connected() returns true even after client.close() is called. (#87)

  • 0.6.0
    Release Date: September 11, 2020

    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.
      • CAUTION: This is a breaking change. The policy and return types for Lists require additional parameters for the CDT op functions.

    Bug Fixes

    • Shrink connection buffers to avoid unbounded memory allocation. (#83) Thanks to @soro!

    Updates

    • Restrict Travis CI tests to stable/beta/nightly. (#84)

  • 0.5.0
    Release Date: July 30, 2020

    New Features

    • Accept batch read response without key digest. (#67) Thanks to @jlr52!
    • Add new Task interface to wait for long-running index & UDF tasks to complete. (#69) Thanks to @jlr52!
    • Support for Predicate Filtering. Requires server version v3.12 or later. (#71) Thanks to @jonas32!

    Bug Fixes

    • Clear connection buffer on server error. (#76)

    Updates

    • Move to Rust edition 2018. (#65) Thanks to @nassor!
    • Minimum required Rust version is now v1.38.

  • 0.4.0
    Release Date: December 3, 2019

    Bug Fixes

    • CDT lists/maps size operation fails with ParameterError. #57

    Updates

    • Update all dependencies and remove multi-versions. #55 Thanks to @dnaka91!
    • Fix warnings and errors. #61 Thanks to @dnaka91!
    • Client benchmark now measures latencies in whole microseconds rather than fractional milliseconds. #62
    • Minimum required Rust version is now v1.34.

  • 0.3.0
    Release Date: September 11, 2018

    New Features

    • Use generics to make Client#put API more flexible. #47 #49

    Bug Fixes

    • GeoJSON bins are returned as Value::String instead of Value::GeoJSON. #48
    • Fix client panic when reading ordered list/map from server. #51

    Updates

    • Minimum required Rust version is now v1.26.
    • Update several package dependencies to latest version.
    • Update to rustfmt-preview and re-apply cargo fmt.

  • 0.2.1
    Release Date: January 16, 2018

    Bug Fixes

    • Secondary index queries fail with parameter error on Aerospike Server 3.15.1.x #44

  • 0.2.0
    Release Date: October 12, 2017

    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

  • 0.1.0
    Release Date: April 4, 2017

    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)

    Improvements

    • 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

    Bug Fixes

    • Add missing ElementNotFound and ElementExists result codes