Repository navigation
Releases: aerospike/aerospike-client-python-native
Release list
v1.0.0
Release Date: October 10, 2026
First stable release of the Aerospike Python Native Client (aerospike-native), the low-level client that the Aerospike Python SDK is built on. Built on Aerospike Rust client core 3.0.0.
Wheels are published for Python 3.11 – 3.15 on Linux (x86_64, aarch64; manylinux_2_28), macOS (x86_64, arm64), and Windows (x86_64), plus free-threaded Python 3.14t and 3.15t on Linux and macOS arm64.
Breaking Changes
These apply when upgrading from the aerospike-async 0.6.0 alphas.
- Rename the package from
aerospike-asynctoaerospike-native. Installaerospike-nativeand importaerospike_nativeinstead ofaerospike_async. - Require Python 3.11 or later. 32-bit wheels are no longer published.
- Return
operate()results per operation:record.resultsholds one value per operation in order (Nonefor writes), and a bin touched by several operations holds a list of the per-operation values. - Make
ResultCodeanIntEnumwith human-readable descriptions, and carry the result code on client-side errors. [CLIENT-5492] - Raise
CommitFailedErrorfor transaction commit failures instead of a bareServerError, and raise a typedBatchFailedErrorcarrying the per-key outcomes when a batch fails. - Raise
RuntimeErrorinstead ofPanicExceptionwhen the core panics on a blocking call. - Return an
IndexTaskfromcreate_index. Task waits now raise when their deadline passes. - Accept a raw integer for the read-touch TTL percent and let the server validate it. Out-of-range values raise an
AerospikeError-familyValueError. [CLIENT-4994] - Remove
FilterExpression.device_size()andFilterExpression.memory_size(), and the server-versionsupports_*predicates. - Remove
MetricsPolicy.histogram_type. Uselatency_shiftinstead.
New Features
- Support server-side AEL parsing. [CLIENT-4878]
- Support server-side index selection, including
QueryPlan.where_flags,include_bin_data, andindex_range_bytes. [CLIENT-5011] [CLIENT-5207] [CLIENT-5053] - Support string operations and expressions, including
string_append/string_prepend, the 1-argumentsnip(start), theCREATE_ONLYandUPDATE_ONLYstring write flags, and write flags onregex_replace. [CLIENT-4827] [CLIENT-5358] [CLIENT-5368] - Expose the list join operation and expression. [CLIENT-5339]
- Expose the bit base64-encode operation and expression. [CLIENT-5348]
- Accept collection, bit, HLL, string, and path operations in background
query_operate. [CLIENT-5575] - Support set indexes with
create_set_indexandCTX.to_bytes, and addIndexType.SET,IndexType.BLOB, andIndexType.INTEGER. [CLIENT-4318] - Expose client metrics collected by the core. [CLIENT-5036] [CLIENT-5205]
- Enable dynamic configuration. [CLIENT-5046]
- Surface extended server error detail (
server_message,exp_trace) on errors and onBatchRecord. [CLIENT-4792] - Improve client-side error messages and expose
Operation.bin_name. [CLIENT-4791] - Expose a typed
in_doubton client-side exceptions, and surface the transaction in-doubt flag. [CLIENT-5177] - Surface the
ROLL_FORWARD_ABANDONEDcommit status. [CLIENT-5413] - Expose the server-reported cluster name. [CLIENT-5498]
- Identify the client on the wire through the user agent, and support setting
app_id. [CLIENT-5060] - Add transparent read and write coalescing and a
get_many/put_manywindow API for async throughput. [CLIENT-5168] - Expose the remaining batch sub-policy fields (
commit_level, batch-apply TTL, delete generation policy),BatchPolicy.concurrency, andread_mode_ap/read_mode_sconBatchPolicy.from_fields. [CLIENT-5240] [CLIENT-5319] - Add
partition_filter_sync()for the blocking query path. [CLIENT-5191] - Expose
close()on batch streams. [CLIENT-5024] - Add
SortedMapto declare a map bin key-ordered on a plain write. - Add
BatchUDFOpfor applying UDFs in heterogeneous batches. - Add
FilterExpression.exclusive. - Expose
Key.partition_id,ExecuteTask.task_id, andNode.info_blocking. - Expose
WritePolicy.records_per_second,WritePolicy.xdr,timeout_delay, and the transaction verify and roll policies. - Expose the full set of TLS options supported by rustls, including
for_login_only, and addAuthMode.EXTERNAL_INSECURE. - Publish Python 3.15 and free-threaded 3.15t wheels.
Improvements
- Reduce per-operation overhead on the async completion path. [CLIENT-4987]
- Deliver batch results in place, with a per-row async hook. [CLIENT-5461]
- Update logging for GA. [CLIENT-5008]
- Speed up free-threaded builds by skipping pyclass freelists, whose mutex serialized allocation, and by removing an import convoy.
- Hash
Keyby digest, and accept a bins dict inBatchWriteOpto skip per-binOperationobjects. - Build Linux wheels on manylinux_2_28, lowering the glibc floor to 2.28.
- Generate the policy and flag type stubs from the Rust sources.
- Require uvloop 0.23 for its free-threading race fix.
- Add
SubCode.OPNOT_STRING_B64_INVALID,SubCode.OPNOT_STRING_REGEX_LIMIT_EXCEEDED, andINVALID_ENCODING.
Bug Fixes
- Fix inverted list reads in CDT expressions, which returned the non-inverted selection. [CLIENT-4984]
- Fix a batch with one invalid-namespace key failing the entire batch. [CLIENT-5172]
- Fix the
to_stringexpression returning a parameter error on server 8.1.3 and later. [CLIENT-5186] - Fix the per-namespace bytes-received metric always recording 0. [CLIENT-5425]
- Fix server error messages showing only the result-code name. [CLIENT-5492]
- Fix
BatchPolicy.filter_expressionnever reaching the server. - Stop inferring a filter miss from an empty bin map.
v0.6.0-alpha.6
Note: This release supersedes
v0.6.0-alpha.5andv0.6.0-alpha.2, which were yanked from Pypi.
Release Date: June 16, 2026
New Features
- Native ExpOps, ops projection, path expressions, circuit breaker, compression policy, and 8.1.2 client-side version gate (with auto-routing test fixtures). (#73) [CLIENT-4721]
Improvements
- Update README & pyproject.toml. (#72)
- Performance Enhancements: PyO3 upgrade to 0.28, replace glibc w/ mimalloc, _blocking surface for sync PSDK client, multi-loop completion, FT CI matrix. (#74) [CLIENT-4796]
- Performance Enhancements: Per-Client Tokio runtime; FastRng PyClass; experimental _LocalClient PyClass with opt-in ct_runtime (#75) [CLIENT-4796]
- Add seed_only_cluster + batch_stream surface; collapse *_with_overrides; sweep async paths through bridge. (#76) [CLIENT-4833]
Full Changelog: v0.4.0-alpha.1...v0.6.0-alpha.6
v0.6.0-alpha.5
YANKED: This release was yanked from PyPI because frethreaded Python wheels needed to target manylinux. Use
v0.6.0-alpha.6or later instead.
Release Date: June 16, 2026
New Features
- Native ExpOps, ops projection, path expressions, circuit breaker, compression policy, and 8.1.2 client-side version gate (with auto-routing test fixtures). (#73) [CLIENT-4721]
Improvements
- Update README & pyproject.toml. (#72)
- Performance Enhancements: PyO3 upgrade to 0.28, replace glibc w/ mimalloc, _blocking surface for sync PSDK client, multi-loop completion, FT CI matrix. (#74) [CLIENT-4796]
- Performance Enhancements: Per-Client Tokio runtime; FastRng PyClass; experimental _LocalClient PyClass with opt-in ct_runtime (#75) [CLIENT-4796]
- Add seed_only_cluster + batch_stream surface; collapse *_with_overrides; sweep async paths through bridge. (#76) [CLIENT-4833]
Full Changelog: v0.4.0-alpha.1...v0.6.0-alpha.5
v0.6.0-alpha.2
YANKED: This release was yanked from PyPI because one Windows wheel was corrupted during release artifact aggregation. Use
v0.6.0-alpha.6or later instead.
Release Date: June 15, 2026
New Features
- Native ExpOps, ops projection, path expressions, circuit breaker, compression policy, and 8.1.2 client-side version gate (with auto-routing test fixtures). (#73) [CLIENT-4721]
Improvements
- Update README & pyproject.toml. (#72)
- Performance Enhancements: PyO3 upgrade to 0.28, replace glibc w/ mimalloc, _blocking surface for sync PSDK client, multi-loop completion, FT CI matrix. (#74) [CLIENT-4796]
- Performance Enhancements: Per-Client Tokio runtime; FastRng PyClass; experimental _LocalClient PyClass with opt-in ct_runtime (#75) [CLIENT-4796]
- Add seed_only_cluster + batch_stream surface; collapse *_with_overrides; sweep async paths through bridge. (#76) [CLIENT-4833]
Full Changelog: v0.4.0-alpha.1...v0.6.0-alpha.2
v0.4.0-alpha.1
Release Date: April 28, 2026
- Initial PyPI release: https://pypi.org/project/aerospike-async/ [CLIENT-4652]
- First release under the renamed PyPI distribution
aerospike-async(wasaerospike-client-python-async). The GitHub repository name is unchanged. [CLIENT-4652]
Full Changelog: v0.3.0-alpha.16...v0.4.0-alpha.1
v0.3.0-alpha.16
Release Date: April 27, 2026
Improvements
- Unified flag input handling across all PAC surfaces; enums, ints, and bitmasks now interchangeable. (#64) [CLIENT-4701]
- Release: add bin/get-version, document versioning policy. (#65)
- Harden release.yml: retirement notice + strict branch gate. (#67)
Full Changelog: v0.3.0-alpha.15...v0.3.0-alpha.16
v0.3.0-alpha.15
Release Date: April 24, 2026
Improvements
- Core v3 cutover. (#63)
- Some Performance Optimizations.
Full Changelog: v0.3.0-alpha.14...v0.3.0-alpha.15
v0.3.0-alpha.14
Release Date: April 16, 2026
Improvements
- Benchmarks & easy-win optimizations. (#62) [CLIENT-4598]
Full Changelog: v0.3.0-alpha.13...v0.3.0-alpha.14
v0.3.0-alpha.13
Release Date: April 10, 2026
Improvements
- Bump timeout on large put test.
- CDT/expression infinity & wildcard support, list write flags as proper bitmasks end-to-end (Rust API + stubs + tests), stub pipeline tweaks for TLS and admin/query surface, version bump.
- Refactor lib.rs - split into submodules.
- Skip timeout test in case the timeout does not happen.
Full Changelog: v0.3.0-alpha.12...v0.3.0-alpha.13
v0.3.0-alpha.12
Release Date: April 03, 2026
Improvements
- Consolidated logging & stuff. (#61) [CLIENT-4573]
Full Changelog: v0.3.0-alpha.11...v0.3.0-alpha.12