Database 8.1 Release Notes
August 5, 2025 | Download
New in this version
The 8.1 release introduces major improvements to performance, reliability, observability, and developer control — all designed for teams building and operating real-time systems at scale.
Developer Experience
- Expression indexes – Index only records that match your business filters (ints, strings, blobs, GeoJSON, CDTs), cutting RAM use and speeding queries.
Performance Enhancements
- Vertical scaling on high-core machines – Unlock up to 6.4× throughput on 128+-core servers with automatic lock-sharding, no tuning required.
- Lazy bin loading – Unpack only the bins your app reads on the read path, reducing CPU work, memory use, and latency spikes on reads from wide records.
Operational Control
- Admin port mode – Connect
asadm
to a single node so you can retain access even when service connections hit their max (not governed by proto-fd-max). - Multi-namespace XDR mapping – Map multiple local namespaces to one remote namespace to support complex data migrations.
- Mesh DNS seed logging – Log resolved IPs at INFO level for DNS-based mesh seeds, improving visibility into cluster discovery.
Observability
- User-agent – Record client type, library version, and app ID per connection in
asadm
and logs to catch compatibility issues early. - Health-outlier improvements – Raise outlier thresholds and lower log verbosity to INFO to cut false alarms and reduce log noise.
- Principal node election logging – Tag leadership-change logs with “principal node” or “non-principal node” to track cluster elections clearly.
Security & Governance
- PKI-only authentication enforcement – Prevent password use for certificate-based users, eliminating password management overhead and ensuring compliance.
- Customizable PKI username mapping – Combine certificate fields (CN, OU, etc.) into unique usernames to avoid collisions and simplify audits.
- Zombie record prevention – Ignore client writes that would shorten a record’s TTL, preventing “zombie” records without extra client logic.
Deprecated Features
- Deprecated feature logging – Emit metrics and log entries when deprecated server features are used, so you can identify and remediate legacy dependencies. Deprecated features will be removed in the next epic (Aerospike 9).
Upgrade instructions
You can upgrade directly to Database 8.1.0 from versions 7.1.x through 8.0.x.
- For upgrade instructions, see Upgrade or repair an Aerospike server.
- For special upgrade instructions, see Special upgrades and downgrades.
Breaking changes
New public key
We have a new public key that is used to sign Aerospike Database 8.1 and tools 12.0.0. This new key will be used for other packages going forward. For more information, see Where can I get the public key for verifying Aerospike packages?.
Adding and removing namespaces in XDR
-
When adding a namespace that already ships to the destination, the info command returns the following error:
Example asadm -e 'asinfo -v "set-config:context=xdr;dc=<DC name>;namespace=<namespace>;action=add"'ERROR:4:invalid state or set-config parameter.The logged warning is:
{<namespace>} DC %s namespace already added
-
When removing a namespace that doesn’t actually ship to the destination, the info command returns the following error:
Example asadm -e 'asinfo -v "set-config:context=xdr;dc=<DC name>;namespace=<namespace>;action=remove"'ERROR:4:invalid state or set-config parameter.The logged warning is:
{<namespace>} DC %s namespace already removed
Removed the info port
We removed Aerospike’s info port, 3003, for sending info commands directly over Telnet. This should not affect any customers who are deployed with security enabled, which means the info port was already disabled. The new admin port, introduced in Aerospike 8.1, now uses port 3003.
Remove the info subcontext of your network configuration from your aerospike.conf.
Configuration items
Item | Action | Notes |
---|---|---|
apply-ttl-reduction | added | Ignore TTL (time-to-live) reduction due to client writes |
remote-namespace | relaxed | Removed the restriction on remote-namespace being unique across namespaces in the same local DC |
address | deprecated | Defaulting to any is deprecated |
address | use in the network.heartbeat subcontext is deprecated | Inherits the fabric address |
address | removed use in the network.info subcontext | Remove the network.info subcontext |
auto-pin | deprecated | adq value is deprecated |
group | deprecated | Obsolete in systemd |
user | deprecated | Obsolete in systemd |
pidfile | deprecated | Obsolete in systemd |
proto-fd-idle-ms | deprecated | |
vault-ca | deprecated | |
vault-namespace | deprecated | |
vault-path | deprecated | |
vault-token-file | deprecated | |
vault-url | deprecated | |
mode | multicast is deprecated | Switch to mesh configuration |
Metrics items
Item | Action | Notes |
---|---|---|
ttl_reductions_ignored | added | See apply-ttl-reduction |
ttl_reductions_applied | added | |
deprecated_requests | added | Increments each time a deprecated feature is used |
Info commands
Item | Action | Notes |
---|---|---|
alumni-clear-alt | added | |
alumni-tls-alt | added | |
user-agents | added | Lists client versions connected to the server |
config-get | deprecated | Use get-config |
config-set | deprecated | Use set-config |
digests | deprecated | |
features | deprecated | |
partitions | deprecated | |
mesh | deprecated | Use get-config instead |
mcast | deprecated | Use get-config instead |
name | deprecated | Use node instead |
objects | deprecated | Use statistics instead |
replicas_all | deprecated | Use replicas instead |
replicas_master | deprecated | Use replicas instead |
service | deprecated | Use service-clear-std |
services | deprecated | Use peers-clear-std |
services-alternate | deprecated | Use peers-clear-alt |
services-alumni | deprecated | Use alumni-clear-std |
sindex | deprecated | Use sindex-list instead |
sindex-create | indexdata parameter is deprecated | Use the bin and type parameters instead |
statistics/xdr | deprecated | Use the following for XDR statistics: get-stats:context=xdr;dc=dataCenterName |
Also deprecated:
- When the
id
parameter of info commands refer to a namespace; usenamespace
instead. - When the
ns
parameter of info commands refer to a namespace; usenamespace
instead. - Making an info request without a specified command.
Client API
Item | Action | Notes |
---|---|---|
device_size | deprecated | Use record_size instead |
memory_size | deprecated | Use record_size instead |
The following deprecations involve internal client-server communication. The latest clients switch to non-deprecated alternatives.
- Queries with a list of bin names is deprecated; use a list of bin read ops instead.
- Queries with a list of bin ops which aren’t bin reads; use a list of bin read ops.
- Use of language-encoded blobs.
- Sending compressed size in little-endian.
- CDT parameter protocol using 16 bit parameter count.
Server logs added
- Mesh node hostname resolves to IPv6 address
- Mesh node hostname resolves to IPv4 address
- New
Deprecation
logging context contains information about deprecated features being used.
Tools updates
Aerospike tools 12.0.0 is required for some of the features in Database 8.1. See Aerospike Tools Release Notes for more information.
Client/server feature compatibility
For a complete list of client features and the server versions that support them, see the Client Matrix.
Compatible client versions
For full feature access in Database 8.1:
- Java Client: 9.1.0
- Python Client: 17.1.0
- C# Client: 8.1.0
- C Client: 7.1.0
- Go Client: 8.4.0
- Node.js: 6.3.0
- Rust: 2.2.0
Compatible connector versions
- Trino connector 1.2.0 or later
- Spark connector 3.1.1 or later
Platform updates
See Platform support and compatibility for all currently supported platforms.
Product lifecycle updates
Database 8.1 is generally available (GA) and will be supported for 3 years. See Aerospike Database Versioning & Releases and product stages for details.
Known issues
See Database known issues reference for details.
Complete list of changes
ID | Description |
---|---|
AER-6799 | (KVS) Improved vertical scalability of arena allocations. |
AER-6806 | (LOGGING) Changed logging level from detail to info for resolved mesh node IP addresses when heartbeat uses FQDN. |
AER-6810 | (NETWORK) Deprecated support for Application Device Queues (ADQ). |
AER-6811 | (XDR) Return an error when an info command adds (or removes) already added (or removed) namespace. |
AER-6819 | (INFO) Added user-agent-set, user-agents command to list client versions connected to the server. |
AER-6820 | (ACL) Added support for a special password that disables a user’s password authentication. |
AER-6823 | (KVS) Optimized performance of records with high bin counts in read paths. |
AER-6824 | (ACL) Added network tls context configuration item pki-user-append-ou to include the certificate’s “OU” value in the username for PKI authentication. |
AER-6825 | (KVS) Added “apply-ttl-reductions” config and related metrics. |
AER-6826 | (KVS) Deprecated various configs, info commands, data types, and protocol. |
AER-6829 | (NETWORKING) Created a dedicated admin port for administration purposes. |
AER-6830 | (TLS) Changed tls-port and tls-address to require explicit values if either is configured. |
AER-6832 | (SINDEX) Indexing based on expressions. |
AER-6833 | (XDR) In a datacenter configuration, allow multiple namespaces to be mapped to the same remote namespace. |
AER-6835 | (LOGGING) Improved health outliers by reducing false positives and decreasing logging level to INFO. |
AER-6837 | (INFO) Added alumni-clear-alt and alumni-tls-alt info commands. |
AER-6838 | (CONFIGURATION) Increased minimum data-size from 256M to 512M. |
AER-6839 | (LOGGING) Added detailed version logging at startup. |
AER-6842 | (FABRIC) Fixed possible crash for corrupt digest fields on fabric messages. |