Skip to content

Releases: aerospike/aerospike-client-python-native

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 17:38
146d28b

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-async to aerospike-native. Install aerospike-native and import aerospike_native instead of aerospike_async.
  • Require Python 3.11 or later. 32-bit wheels are no longer published.
  • Return operate() results per operation: record.results holds one value per operation in order (None for writes), and a bin touched by several operations holds a list of the per-operation values.
  • Make ResultCode an IntEnum with human-readable descriptions, and carry the result code on client-side errors. [CLIENT-5492]
  • Raise CommitFailedError for transaction commit failures instead of a bare ServerError, and raise a typed BatchFailedError carrying the per-key outcomes when a batch fails.
  • Raise RuntimeError instead of PanicException when the core panics on a blocking call.
  • Return an IndexTask from create_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-family ValueError. [CLIENT-4994]
  • Remove FilterExpression.device_size() and FilterExpression.memory_size(), and the server-version supports_* predicates.
  • Remove MetricsPolicy.histogram_type. Use latency_shift instead.

New Features

  • Support server-side AEL parsing. [CLIENT-4878]
  • Support server-side index selection, including QueryPlan.where_flags, include_bin_data, and index_range_bytes. [CLIENT-5011] [CLIENT-5207] [CLIENT-5053]
  • Support string operations and expressions, including string_append / string_prepend, the 1-argument snip(start), the CREATE_ONLY and UPDATE_ONLY string write flags, and write flags on regex_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_index and CTX.to_bytes, and add IndexType.SET, IndexType.BLOB, and IndexType.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 on BatchRecord. [CLIENT-4792]
  • Improve client-side error messages and expose Operation.bin_name. [CLIENT-4791]
  • Expose a typed in_doubt on client-side exceptions, and surface the transaction in-doubt flag. [CLIENT-5177]
  • Surface the ROLL_FORWARD_ABANDONED commit 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_many window API for async throughput. [CLIENT-5168]
  • Expose the remaining batch sub-policy fields (commit_level, batch-apply TTL, delete generation policy), BatchPolicy.concurrency, and read_mode_ap / read_mode_sc on BatchPolicy.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 SortedMap to declare a map bin key-ordered on a plain write.
  • Add BatchUDFOp for applying UDFs in heterogeneous batches.
  • Add FilterExpression.exclusive.
  • Expose Key.partition_id, ExecuteTask.task_id, and Node.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 add AuthMode.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 Key by digest, and accept a bins dict in BatchWriteOp to skip per-bin Operation objects.
  • 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, and INVALID_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_string expression 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_expression never reaching the server.
  • Stop inferring a filter miss from an empty bin map.

v0.6.0-alpha.6

v0.6.0-alpha.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jun 23:32

Note: This release supersedes v0.6.0-alpha.5 and v0.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

v0.6.0-alpha.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jun 20:45

YANKED: This release was yanked from PyPI because frethreaded Python wheels needed to target manylinux. Use v0.6.0-alpha.6 or 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

v0.6.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jun 01:38

YANKED: This release was yanked from PyPI because one Windows wheel was corrupted during release artifact aggregation. Use v0.6.0-alpha.6 or 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

v0.4.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Apr 16:29

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 (was aerospike-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

v0.3.0-alpha.16 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Apr 22:51
257396e

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

v0.3.0-alpha.15 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Apr 21:51
afcb863

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

v0.3.0-alpha.14 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Apr 00:47
fec5d1a

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

v0.3.0-alpha.13 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Apr 20:36

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

v0.3.0-alpha.12 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Apr 19:15

Release Date: April 03, 2026

Improvements

  • Consolidated logging & stuff. (#61) [CLIENT-4573]

Full Changelog: v0.3.0-alpha.11...v0.3.0-alpha.12