Client Matrix
Full client/server feature compatibility
The following matrix shows the minimal version of each client required for full feature compatibility with the given Aerospike Database version.
Aerospike Database version | 8.0 | 7.2 | 7.1 | 7.0 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 |
---|---|---|---|---|---|---|---|---|---|
Java client version | 9.0.3 | 8.1 | 8.1 | 7.2 | 6.1 | 6.1 | 6.1 | 6.1 | 6.0 |
Python client version | 16.0.1 | 15.1 | 15.0 | 14.0 | 11.0.1 | 11.0.1 | 7.0 | 7.0 | 7.0 |
Go client version | 8.0 | 7.2 | 7.2 | 7.0 | 6.13 | 6.10 | 6.0 | 6.0 | 6.0 |
C# client version | 8.0.1 | 7.1 | 7.1 | 6.2 | 6.0 | 6.0 | 5.2 | 5.2 | 5.0 |
C client version | 7.0.2 | 6.6 | 6.6 | 6.5 | 6.3.1 | 6.3.1 | 6.1.1 | 6.1.1 | 6.0 |
Node.js client version | 6.0.1 | 5.12 | 5.12 | 5.9 | 5.4 | 5.4 | 5.0.3 | 5.0.3 | 5.0.3 |
PHP client version | - | 1.1 | 1.1 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
Language-specific compatibility notes
C
Python
NodeJS
Java
Minimum usable client versions
The following matrix shows the minimal client version that ensures non-breaking operation against the given server version. Applications using older client versions may still work, if they do not use developer API functionality affected by the breaking changes specified below.
Database version | 8.0 | 7.2 | 7.1 | 7.0 | 6.4 | 6.3 | 6.1 | 6.0 | 5.7 | 4.9 |
---|---|---|---|---|---|---|---|---|---|---|
Java client version | 6.0 | 6.0 | 6.0 | 6.0 | 6.0 | 6.0 (5.1.6) | 6.0 (5.0.1) | 6.0 (5.0.1) | 4.4.2 | 3.3.3 |
Python client version | 7.0.2 (6.1.0) | 7.0.2 (6.1.0) | 7.0.2 (6.1.0) | 7.0.2 (6.1.0) | 7.0.2 (6.1.0) | 7.0 (6.1.0) | 7.0 (6.0) | 7.0 (6.0) | 6.0 | 3.1.1 |
Go client version | 7.0 | 7.0 | 7.0 | 7.0 | 6.10 (5.4) | 6.0 (5.4) | 6.0 (4.0) | 6.0 (4.0) | 4.2 | 1.38 |
C# client version | 5.1 (4.2.2) | 5.1 (4.2.2) | 5.1 (4.2.2) | 5.1 (4.2.2) | 5.1 (4.2.2) | 5.0 (4.2.2) | 5.0 (4.0) | 5.0 (4.0) | 3.9.15 | 3.13 |
C client version | 7.0.2 (5.2.3) | 6.0 (5.2.3) | 6.0 (5.2.3) | 6.0 (5.2.3) | 6.0 (5.2.3) | 6.0 (5.2.3) | 6.0 (5.0) | 6.0 (5.0) | 4.6.24 | 4.5 |
Node.js client version | 5.0.3 (4.0) | 5.0.3 (4.0) | 5.0.3 (4.0) | 5.0.3 (4.0) | 5.0.3 (4.0) | 5.0 (4.0) | 5.0 (4.0) | 5.0 (4.0) | 3.16.7 | 3.9.0 |
PHP client version | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | - |
Aerospike Database 5.2 introduced filter expressions as an upgrade to the predicate expressions query language. The predicate expression system was supported until Database 6.0, when it was removed.
In the "Minimum usable client versions" chart, the client version number in parentheses is usable with the corresponding server version as long as the application has migrated to using filter expressions (using a client version that supports both filter and predicate expressions). Otherwise, the higher-numbered client version ensures predicate expressions cannot be used with server versions that don't support them.
Major server changes
Server version | Breaking change |
---|---|
7.0 | Go client versions before 7.0 working with Database 7.0 unexpectedly interpret integers larger than 2^32 as uint64 instead of int32 . Use Go client version 7.0 or later with Database 7.0 and later. |
6.4 | Removed the deprecated info commands for scan, scan-show , scan-abort , and scan-abort-all . Use the equivalent query commands, query-show , query-abort , and query-abort-all . |
6.3 | Removed the jobs: info command. |
6.0 | Removed predicate expressions (PredExp). |
5.6.0.2 | Removed scan policies percent , failOnClusterChange , and priority . |
4.9 | Client applications must support the new style truncate command, and the batch-index protocol for batch operations. |
4.4.0.4 | Removed support for batch-direct . |
Client/Server Features
The following table shows the feature compatibility of different language clients. See the feature guide for more information.
Java¹ | C² | C# | Go | Python | Node.js | PHP | REST⁹ | Rust | Ruby | |
---|---|---|---|---|---|---|---|---|---|---|
Batched Commands⁴ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Batch Writes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Bitwise Operations | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Boolean Data Type | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Extended Metrics | ✅ | ✅ | ✅ | ✅ | ✅ | |||||
Client-Server Compression | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Context Path Creation | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
HyperLogLog Data Type | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
PI Query (Scan) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
SI Query | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Query Partitions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Query Pagination | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Operation Expressions⁸ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Geospatial Query | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Background Query Operation | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Filter Expressions on Operations⁸ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Filter Expressions on Queries⁸ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Record UDF | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Stream UDF | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
TLS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | ✅ | ✳️⁷ | ✅ | |
RBAC | ✅ | ✅ | ✅ | ✅ | ✅ | ✳️⁶ | ✅ | ✅ | ✅ | ✅ |
PKI Authentication | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✳️⁷ | ||
LDAP | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
IPv6 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✳️⁷ | ✅ | |
Load Balancer as Seed Node | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Strong Consistency | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Rack Aware Reads | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
2 C client supports libev, libuv, and libevent asynchronous frameworks.
4 Refers to the same read operations (`operate`) sent in a batched request to multiple keys.
5 Node.js client supports TLS on Linux only.
6 Node.js has RBAC support for connections to EE clusters, but not the management of users and roles.
7 REST has TLS, IPv6 and PKI authentication between the gateway and the EE cluster, but not for calls to the gateway itself.
8 Aerospike Filter Expressions were added in Aerospike Database 5.2; Operation Expressions were added in Aerospike Database 5.6.
9 Minimum JDK version is 17.