Python Client Library Release Notes

  • 15.1.0
    Release Date: September 23, 2024

    Breaking Changes

    • [CLIENT-1938] - Remove aerospike.version to single source the client's version.
    • See Incompatible API Changes for details.

    New Features

    • [CLIENT-2904] - Add macOS 13 support.
    • [CLIENT-2673] - Add macOS 14 support.
    • [CLIENT-3057] - Add missing aerospike_helpers.expressions.resources.ResultType constant NIL.
    • [CLIENT-3099] - Add support for error code 32 (XDR key busy).

    Improvements

    • [CLIENT-2736] - Remove macOS 11 support.
    • [CLIENT-2851] - Docs: Add note about bug with passing only read operations in client.batch_operate().
    • [CLIENT-2855] - Docs: Move deprecation warnings for API methods to the top of each method.
    • [CLIENT-2853] - Docs: Clarify batch API behavior.
    • [CLIENT-2854] - Docs: Add missing error codes and descriptions, remove tree diagram for errors.
    • [CLIENT-2858] - Docs: Clarify that deleting all keys in a map does not delete the map itself.
    • [CLIENT-2856] - Docs: Clarify how map policy works for all map operations that use it.
    • [CLIENT-2856] - Docs: Clarify how list order works and add link to explain negative indices.

    Bug Fixes

    • [CLIENT-2842] - Fix client config batch_write, batch_remove, and batch_apply policies not being applied to Write, Remove, and Apply BatchRecords respectively.
    • [CLIENT-2701] - Fix memory leak that occurs when creating an aerospike_helpers class instance with a parameter.
    • [CLIENT-2887] - Fix aerospike.Client() segfaulting when it fails to connect.
    • [CLIENT-3000] - Fix scans not working for a mixed cluster of 5.7 and 6.4 nodes.
    • [CLIENT-2897] - Show class name when printing a aerospike_helpers.HyperLogLog class instance.
    • [CLIENT-2544] - query.apply(): remove policy parameter.
    • [CLIENT-3106] - Refactor aerospike.exception initialization code and check if error indicator is set after calling a C-API method.
    • [CLIENT-3117] - Replace an existing node in the cluster when a new peer has the same node name, but a different IP address.

  • 15.0.0
    Release Date: April 9, 2024

    Breaking Changes

    New Features

    • [CLIENT-2701] - Add support for metrics.
    • [CLIENT-2828] - Add "read_touch_ttl_percent" option in read, operate, batch, and batch read policies.
    • [CLIENT-2821] - Add "expected_duration" option and deprecate "short_query" option in query policy.
    • [CLIENT-2769] - Add support for persistent list indexes.

    Improvements

    • [CLIENT-2077] - Add support for reading key ordered maps.
    • [CLIENT-1824] - Add HyperLogLog class to represent HLL values.
    • [CLIENT-2444] - Docs: Add note about using POLICY_KEY_SEND and list possible map key types for server >= 7.1.
    • [DOCS-2259] - Docs: Fix broken links and typos.
    • [CLIENT-2812] - Docs: fix incorrect order of parameters for operations.

    Bug Fixes

    • [CLIENT-2779] - Do not use batch repeat flag on batch writes when aerospike.POLICY_KEY_SEND is used.

  • 14.2.0
    Release Date: February 13, 2024

    Improvements

    • [CLIENT-2322] - Add support for Windows 64-bit (x86).

  • 14.1.0
    Release Date: January 8, 2024

    Improvements

    • [CLIENT-2551] Add support for Python 3.12.

  • 14.0.0
    Release Date: November 14, 2023

    Breaking Changes

    New Features

    • [CLIENT-2645] Add ttl option for default write policies in client config.
    • [CLIENT-2586] Add support for secondary indexes on blob bins.
    • [CLIENT-2604] Add option to persist map indexes using map policy.
    • [CLIENT-2571] Add RecordSize() expression.
    • [CLIENT-2487] List and Map expressions: Add inverted flag for "get by" and "remove by" multiple-item expressions.
    • [CLIENT-2196] Add missing batch policies to client config.

    Improvements

    • [CLIENT-2537] Add module constants' integer values in the type stubs.
    • [CLIENT-2654] Remove Debian 10 support.
    • [CLIENT-2405] Remove Python 3.7 support.
    • [CLIENT-1337] Unmask C client errors.
    • [CLIENT-2536] Docs: Add missing policies and remove non-existent apply "gen" policy.
    • [CLIENT-1977] Docs: Remove nonexistent "ops" field for BatchRemove and BatchApply records.
    • [CLIENT-2460] Docs: Add missing constant aerospike.LIST_RETURN_EXISTS.
    • [CLIENT-2198] Docs: Add missing exceptions.

    Bug Fixes

    • [CLIENT-2344] Prevent a segmentation fault when client.info_all() is called after a node is destroyed.

  • 13.0.0
    Release Date: August 21, 2023

    Breaking Changes

    Improvements

    • [CLIENT-2258] Remove auto-serialization and auto-deserialization.

    Bug Fixes

    • [CLIENT-2459] client.touch(): Fix bug where not setting "val" causes a segmentation fault.
    • [CLIENT-1616] Docs: Clarify client.operate_ordered() behavior for write and failed read operations.
    • [CLIENT-2258] client.put(): Fix bug where Python bytes bin values cannot be used if serializer parameter is set to SERIALIZER_NONE.

  • 12.0.0
    Release Date: July 28, 2023

    Breaking Changes

    New Features

    • [CLIENT-2300] Add admin policy to client config.
    • [CLIENT-1594] aerospike.client(): add rack_ids option in client config.
    • [CLIENT-2326] aerospike: add missing constant LIST_WRITE_DEFAULT.
    • [CLIENT-2228] Add support for expression values.
    • [CLIENT-2084] Add support for rack aware queries.
    • [CLIENT-2221] Add MemorySize() expression.
    • [CLIENT-1978] Add client.batch_read().

    Improvements

    • [CLIENT-1881] Remove macOS 10.15 support.
    • [CLIENT-1726] Add Ubuntu 22.04 support.
    • [CLIENT-1848] Remove Debian 9 support.
    • [CLIENT-1623] Add Debian 11 support.
    • [CLIENT-2392] Add Debian 12 support.
    • [CLIENT-1565] Replace CentOS 8 with RHEL 8 support.
    • [CLIENT-2301] Add Amazon Linux 2023 support.
    • [CLIENT-2204] Remove Ubuntu 18.04 support.
    • [CLIENT-2363] Document client.admin_query_user[s]_info() and deprecate client.admin_query_user[s].
    • [CLIENT-2409] Deprecate client.batch_get_ops().
    • [CLIENT-2462] Docs: aerospike.Client: add reference to client constructor in aerospike module.
    • [CLIENT-2219] Remove deprecated features.
    • [CLIENT-2292] Fix documentation errors.

    Bug Fixes

    • [CLIENT-1304] Correct AEROSPIKE_ERR_BIN_NAME error message's character limit.
    • [CLIENT-2119] Fix type hints not being included in manylinux wheel distributions.
    • [CLIENT-1849] Fix bitwise add and subtract operations failing on Mac M1.
    • [CLIENT-2300] admin_set_quotas(): fix incorrect quota types not throwing an error.

  • 11.2.0
    Release Date: August 21, 2023

    Breaking Changes

    Improvements

    • [CLIENT-2258] Remove auto-serialization and auto-deserialization.

    Bug Fixes

    • [CLIENT-1849] Fix bitwise add and subtract operations failing on Mac M1.
    • [CLIENT-2258] client.put(): Fix bug where Python bytes bin values cannot be used if serializer parameter is set to SERIALIZER_NONE.

  • 11.1.0
    Release Date: April 20, 2023

    New Features

    • [CLIENT-2223] Add support for rack aware reads in an RF=3 deployment.
    • [CLIENT-2288] aerospike.client(): add client config options "max_error_rate" and "error_rate_window".
    • [CLIENT-2113] aerospike.client(): add min_conns_per_node support.
    • [CLIENT-2119] Show type hints in code editor.

    Bug Fixes

    • [CLIENT-2159] Fix some memory leaks.
    • [CLIENT-2278] batch_operate(): update ttl using batch write policy.
    • [CLIENT-2286] aerospike.client(): fix client config batch policy not accepting "replica" value.
    • [CLIENT-2229] Docs: aerospike_helpers.expressions.hll.HLLMayContain: fix return value description.
    • [CLIENT-2269] Docs: fix some incorrect keyword arguments.
    • [CLIENT-2255] Docs: aerospike_helpers.operations: batch operations can also accept operations.
    • [CLIENT-1776] Docs: aerospike.client(): update some default client config values.

  • 11.0.1
    Release Date: March 29, 2023

    Bug Fixes

    • [CLIENT-2267] Revert adding base64 methods to aerospike module.

  • 11.0.0
    Release Date: March 27, 2023

    Breaking Changes

    • Batch methods: stop accepting a tuple of keys and bins. See Incompatible API Changes for details.
    • Expressions: add support for comparing KeyOrderedDicts (new server feature).
    • Return AEROSPIKE_ERR_NAMESPACE_NOT_FOUND instead of AEROSPIKE_ERR_CLIENT when a namespace cannot be found.
    • Return last error code received when scan/query maxRetries is exceeded.

    New Features

    • [CLIENT-2176] Map operations: add support for MAP_ORDERED and MAP_UNORDERED return types.
    • [CLIENT-2144] Expressions: add support for comparing KeyOrderedDicts.
    • [CLIENT-2158] Add base64 API functions to aerospike module.

    Improvements

    • [CLIENT-701] Batch methods: stop accepting a tuple of keys and bins.
    • [CLIENT-2197] Return AEROSPIKE_ERR_NAMESPACE_NOT_FOUND instead of AEROSPIKE_ERR_CLIENT when a namespace cannot be found.
    • [CLIENT-2143] Return last error code received when scan/query maxRetries is exceeded.
    • [CLIENT-2192] Add support for RHEL 9.

    Bug Fixes

    • [CLIENT-1749] Documentation: add missing map return type MAP_RETURN_EXISTS.

  • 10.0.1
    Release Date: February 7, 2023

    Bug Fixes

    • [CLIENT-2157] - udf_put(): Stop hanging behavior when copying lua file to user path.

  • 10.0.0
    Release Date: January 27, 2023
    • [IMPORTANT NOTE] A bug affecting this version of the Python client has been identified. On ARM chipsets only, disk space may increase until out of space, we strongly recommend that you upgrade to Python client 10.0.1 at the earliest opportunity.

    Breaking Changes

    Improvements

    • [CLIENT-1612] - Support Python 3.10.
    • [CLIENT-2090] - Support Python 3.11.
    • [CLIENT-2114] - Add support for Alpine linux.
    • [CLIENT-2047] - Add info policy to client config.
    • [CLIENT-1989] - get_cdtctx_base64(): take in context directly instead of a dictionary.

    Bug Fixes

    • [CLIENT-2121] - query.apply(): make argument parameter optional.

  • 9.0.0
    Release Date: January 4, 2023

    Breaking Changes

    • Change default send_bool_as constant to AS_BOOL. See Incompatible API Changes for details.
    • batch_get_ops(): Remove meta field.
    • scan_apply(): Report correct error value and message if scan wait fails.

    Improvements

    • [CLIENT-2074] - Change default send_bool_as constant to AS_BOOL.
    • [CLIENT-2004] - Add missing bin type for server booleans.
    • [CLIENT-2012] - scan_apply(): Report correct error value and message if scan wait fails.

    Bug Fixes

    • [CLIENT-2005] - Docs: add missing batch policy "respond_all_keys".
    • [CLIENT-2075] - Docs: add missing batch policy "allow_inline_ssd".
    • [CLIENT-2008] - batch_get_ops(): Remove meta field.

  • 8.0.0
    Release Date: November 18, 2022

    Breaking Changes

    • Remove support for Python 3.6.
    • Calling the client constructor connects to the server and connect() does nothing when there is an active connection. See Incompatible API Changes for details.

    Improvements

    • [CLIENT-1850] - Add support for ARM64 and Mac M1.
    • [CLIENT-1877] - Remove support for Python 3.6.

    Bug Fixes

    • [CLIENT-1849] - Fix failing bitwise operations (only on Mac M1).
    • [CLIENT-1853] - Docs: add missing description for policy parameter in job_info().
    • [CLIENT-1854] - Connect when calling client constructor and conditionally no-op connect().
    • [CLIENT-1935] - Unable to set ttl or generation values for batch writes in Python client.

  • 7.2.0
    Release Date: August 21, 2023

    Breaking Changes

    Improvements

    • [CLIENT-2258] Change send_bool_as default value to AS_BOOL.

    Bug Fixes

    • [CLIENT-2258] client.put(): Fix bug where Python bytes bin values cannot be used if serializer parameter is set to SERIALIZER_NONE.

  • 7.1.1
    Release Date: October 2, 2022

    Improvements

    • [CLIENT-1830] - Add CDT CTX base64 method for using sindex-create info command.
    • [CLIENT-1825] - Expose ttl as part query object attributes.

    Bug Fixes

    • [CLIENT-1784] - Potential Memory leak with Python client.

  • 7.1.0
    Release Date: September 9, 2022

    New Features

    • [CLIENT-1799] - Support batch read operations.

    Improvements

    • [CLIENT-1749] - Add 'EXISTS' return type for CDT read operations.
    • [CLIENT-1801] - Support creating an secondary index on elements within a CDT using context.
    • [CLIENT-1795] - Make c-client "fail_if_not_connected" option configurable.
    • [CLIENT-1791] - Review and clean up Sphinx documentation.
    • [CLIENT-1792] - Update build instructions.

    Bug Fixes

    • [CLIENT-1810] - Read policy POLICY_KEY_SEND is not respected when set at the client level.

  • 7.0.2
    Release Date: May 31, 2022
    • Fix reference count leaks that cause memory leaks in batch and cdt_ctx APIs.
    • Change BatchRecords default argument to None to prevent BatchRecords created with the default argument from referring to the same internal list.

    Bug Fixes

    • [CLIENT-1742] - Fix reference count leaks in client 7.x Batch APIs.
    • [CLIENT-1753] - Fix reference count leak in cdt_ctx map_key_create and list_index_create cases.
    • [CLIENT-1710] - Change BatchRecords default argument from an empty list to None.

  • 7.0.1
    Release Date: April 18, 2022
    • Fix the 'Unable to load batch_records module' bug with the batch_apply, batch_operate, and batch_remove APIs introduced in Python client version 7.0.0.

    Bug Fixes

    • [CLIENT-1518] - Fix 'Unable to load batch_records module' error when batch_operate, batch_apply, or batch_remove are used without importing aerospike_helpers.batch.records.

  • 7.0.0
    Release Date: April 7, 2022
    • Compatibility with Aerospike server 6.0 including partition queries and batch write, remove, apply, and operate.
    • Includes breaking changes (see details below).

    Breaking Changes

    • Old predexp support has been removed. See Incompatible API Changes for details.
    • Remove support for deprecated Debian 8.
    • IndexNotFound and IndexNotReadable errors can now trigger retries.
    • Bytes blobs read from the database will now be read as bytes instead of bytearray. See Incompatible API Changes for details.
    • Query policies max_records and records_per_second are now fields of the Query class. See Incompatible API Changes for details.

    New Features

    • [CLIENT-1651] - Provide an API to extract an expression's base-64 representation.
    • [CLIENT-1655] - Support new 6.0 truncate, udf-admin, and sindex-admin privileges. This feature requires server version 6.0+.
    • [CLIENT-1659] - Support batch_write, batch_apply, batch_operate, and batch_remove client methods. This feature requires server version 6.0+.
    • [CLIENT-1658] - Support partition queries. This feature requires server version 6.0+.
    • [CLIENT-1690] - Support get_partitions_status for Scan objects.
    • [CLIENT-1693] - Add short_query query policy. This feature requires server version 6.0+.

    Improvements

    • [CLIENT-1687] - Deprecate send_set_name batch policy. Batch transactions now always send set name to the server.
    • [CLIENT-1681] - Drop predexp support.
    • [CLIENT-1683] - Add max retries exceeded exception.
    • [CLIENT-1691] - Document partition scan functionality.
    • [CLIENT-1692] - Update C client to 6.0.
    • [CLIENT-1657] - Move Python client CI tests to github actions.
    • [CLIENT-1694] - Make query policies max_records and records_per_second Query fields instead.
    • [CLIENT-1675] - Bytes blobs read from the database will now be read as bytes instead of bytearray.
    • [CLIENT-1634] - Remove support for deprecated Debian 8.

    Updates

  • 6.2.0
    Release Date: August 21, 2023

    Breaking Changes

    Improvements

    • [CLIENT-2258] Change send_bool_as default value to AS_BOOL.
    • [CLIENT-2258] Use OpenSSL 1.1.1v August 2023 and modify C client 5.2.6 dependency to use this OpenSSL version.

    Bug Fixes

    • [CLIENT-2258] client.put(): Fix bug where Python bytes bin values cannot be used if serializer parameter is set to SERIALIZER_NONE.

  • 6.1.2
    Release Date: December 17, 2021

    Bug Fixes

    • [CLIENT-1639] - python pip install now fails with 6.1.0.

  • 6.1.0
    Release Date: December 9, 2021

    Breaking Changes

    • Drop support for Manylinux2010 wheels.

    New Features

    • Add support for Manylinux2014 wheels build - Please refer manylinux compatibility chart for more info: https://github.com/pypa/manylinux .
    • [CLIENT-1193] - Add support partition scans.
    • [CLIENT-1570] - Add client support for PKI auth.
    • [CLIENT-1584] - Add support for batch read operations.
    • [CLIENT-1541] - Add support for paging scans.
    • [CLIENT-1558] - Add support for query user(s) info API.

    Improvements

    • [CLIENT-1555] - Remove dependency on c-client binary from python client source install.

    Bug Fixes

    • [CLIENT-1566] - Fix intermittent hangs in automation cluster.

    Updates

  • 6.0.0
    Release Date: May 10, 2021
    • A bug affecting this version of the Python client has been identified. If your application uses scans, we strongly recommend that you upgrade to Python client 6.1.0 at the earliest opportunity.

    Breaking Changes

    • Python 3.5 support has been removed - see Incompatible API Changes for details.
    • Drop support for CentOS 6.
    • Drop support for Ubuntu 16.04.
    • Scan option, percent, has been removed.
    • Scan/Query policy, fail_on_cluster_change, has been removed.
    • Scan option, priority, has been removed.
    • info_node() will no longer work when security is enabled because of client authentication changes, use info_single_node() instead.

    New Features

    • [CLIENT-1437] - Add support for Python 3.9.
    • [CLIENT-1520] - Add the send_bool_as client config, configures how the client writes booleans.
    • [CLIENT-1236] - Add the max_records scan policy.
    • [CLIENT-1507] - Add info_single_node().
    • [CLIENT-1510] - Add info_random_node().
    • [CLIENT-1403] - Add aerospike.KeyOrderedDict.
    • [CLIENT-1517] - Add get_node_names().
    • [CLIENT-1462] - Support expressions added in server 5.6. Includes arithmetic, bitwise, control flow, and other expressions. Requires server >= 5.6.
    • [CLIENT-1497] - Support new read and write quotas including the admin_set_quotas() method. Requires server >= 5.6.
    • [CLIENT-1302] - Support IP whitelists including the admin_set_whitelist() method.

    Improvements

    • [CLIENT-1516] - Drop support for CentOS 6.
    • [CLIENT-1536] - Drop support for Ubuntu 16.04.
    • [CLIENT-1514] - Deprecate percent scan option.
    • [CLIENT-1515] - Deprecate fail_on_cluster_change scan/query policy.
    • [CLIENT-1508] - Deprecate info_node().
    • [CLIENT-1436] - Drop support for Python 3.5.

    Bug Fixes

    • [CLIENT-1518] - Fix bug in set_xdr_filter that could truncate node names, sending commands to bad addresses.
    • [CLIENT-1535] - Fix memory allocation for more than 2 Python literals in expressions with variable argument length.
    • [CLIENT-1282] - Fix OSX installation openssl issues by statically linking openssl1.1 with OSX builds. See here for more info.

    Updates

  • 5.0.0
    Release Date: February 17, 2021
    • A bug affecting this version of the Python client has been identified. If your application does not use the Scan options priority , percent or Scan Policy fail_on_cluster_change, and are on Python 3.6+ you can safely upgrade to Python client 6.1.0. We strongly recommend that you do so at the earliest opportunity.
    • Python 3.5 support will be removed in an upcoming release.
    • Breaking Change: Python 2.7 and 3.4 support have been removed - see Incompatible API Changes for details.
    • Breaking Change: Aerospike Python client 5.x MUST be used with Aerospike server 4.9 or greater. If you see the error "-10, ‘Failed to connect’", please make sure you are using server 4.9 or later - see Incompatible API Changes for details.

    New Features

    • [CLIENT-1360] - Support Aerospike expression filters.
    • [CLIENT-1409] - Add set_xdr_filter() client method.
    • [CLIENT-1383] - Add cdt context map_create_key() and list_create_index() methods.
    • [CLIENT-1427] - Add error 28, LOST_CONFLICT.

    Improvements

    • [CLIENT-1384] - Document the ability to use None to indicate to end, or from start functionality in range based operations.

    Bug Fixes

    • [CLIENT-1431] - Fix use after free bug when write operations are used with scans or queries.
    • [CLIENT-1426] - Fix bytes usage with the append and prepend operations.
    • Fix syntax error in truncate.c. Thanks to indigo.

    Updates

  • 4.0.0
    Release Date: September 24, 2020
    • Python 2.7 and 3.4 support will be removed in an upcoming release.
    • Breaking Change: Scan option, percent, no longer accepts 0.
    • Breaking Change: Scan policy, fail_on_cluster_change, has no effect with server >= 4.9.

    New Features

    • [CLIENT-1164] - Support client-server request and response compression.
    • [CLIENT-1196] - Support Python 3.8.
    • [CLIENT-1252] - Support HyperLogLog operations.
    • [CLIENT-1323] - Support Ubuntu 20.

    Bug Fixes

    • [CLIENT-1198] - Fix map write operations on background scans via C client 4.6.13.
    • Fix setup.py install on MacOS for Python 3.8. Thanks to biozz.
    • Removed deprecated AS_BYTES_LDT. Thanks to vpnable.

    Updates

  • 3.10.0
    Release Date: January 13, 2020

    New Features

    • Predicate expressions for read, write, delete, batch and record UDF operations.
    • Write operations on background queries and scans.
    • Add records_per_second policy limit for scans, replaces scan_priority.
    • Delete operation, deletes a record.
    • Apply method for scans. Allows application of an User-Defined Function (UDF) to all records scanned.
    • Add add_ops method for scans. Allows a list of write operations to be applied to all records scanned.
    • Add execute_background method for scans. Allows non-blocking execution of a scan.
    • Python 3.7 support.

    Bug Fixes

    • Fixed a segfault that occurs when a non-list ctx is used in an operation.
    • Fixed a segfault produced when an error occurs during a call to job_info().
    • Documentation for scan_apply() and query_apply() now states that they are blocking.

    Updates

  • 3.9.0
    Release Date: October 23, 2019

    New Features

    • Nested CDT support for map and list operations.
    • Support for bitwise operations.

    Improvements

    • Setup.py build from source will now fail on 4xx response codes, thanks to jensengrey.

    Bug Fixes

    • Fix over flow error when checking job status with large Job Id.
    • Fix double free crash when passing unsupported data types as arguments to a stream UDF.

    Updates

  • 3.8.0
    Release Date: August 28, 2019

    New Features

    • Support manylinux2010 wheel distribution install. See README updates for details.

  • 3.7.2
    Release Date: July 3, 2019

    New Features

    • Add use_services_alternate option to constructor configuration dictionary.

  • 3.7.0
    Release Date: April 9, 2019

    New Features

    Bug Fixes

    • Improve documentation of Exceptions.
    • Improve safety in situations where the Interpreter runs out of memory.
    • Improve safety in case of malformed response.
    • Fixed detection of RHEL. Thanks to mebelousov.

    Updates

  • 3.6.0
    Release Date: January 9, 2019

    New Features

    • "Breaking Change: Shared Memory layout has changed. Therefore the default SHM Key has changed from 0xA7000000 to 0xA8000000 If you were specifying your own key, it is critical that this be updated for the use of client 3.6.0"
    • Removed the exceptions BinExistsError, BinNotFound .
    • Add support for rack aware configuration.

    Bug Fixes

    • Fix out of date documentation.

    Updates

  • 3.5.0
    Release Date: November 14, 2018

    New Features

    • Add Query#execute_background to allow application of record UDFs in the background.
    • Allow passing map policy to map operation helpers.
    • Add CDTWildcard() and CDTInfinite(). These require Aerospike Server 4.3.1.3 or higher.
    • Add map_write_flag constants. These are used in conjuction with the map_write_flags entry of map policies and require Aerospike Server version >= 4.3.0.
    • "Changes: Remove use_batch_direct policy option for get_many, select_many, exists_many. Code using these options will continue to work, but the option will be ignored."

    Bug Fixes

    • Fix memory leak when a query or scan fails due to server error.
    • Fix reference leak when destroying queries or scans.
    • Fix system error when predicate creators are called with invalid arguments.
    • Fix memory corruption caused by deserialization failure.
    • Fix incorrect documentation about use of aerospike.MAP_WRITE_PARTIAL and aerospike.MAP_WRITE_NO_FAIL.

    Updates

  • 3.4.2
    Release Date: October 2, 2018

    New Features

    • Max bin name length is now 15. For servers prior to 4.2.0 the limit is still 14.
    • .lua files for local aggregation are no longer installed locally with the library.

    Bug Fixes

    • Fix potential memory corruption when parsing invalid GeoJSON.
    • Fix invalid index type being converted to a valid type.

    Updates

  • 3.4.0
    Release Date: July 11, 2018

    New Features

    • Added new package aerospike_helpers The packages contains helper functions to make using the aerospike client easier. Initially it contains a subpackage operations which contains helper functions for creating the arguments for the client.operate and client.operate_ordered methods.
    • Add additional ordered list operations.
    • Add Inverted key to certain map operations.
    • Add new map operations.
    • Added new entry to TLS configuration dictionary keyfile_pw.
    • Add fail_on_cluster_change option to query_policy dictionary.

    Updates

  • 3.3.0
    Release Date: May 24, 2018

    New Features

    • Add support for Predicate Expressions during Queries.
    • Improve installation on Ubuntu 18.

    Bug Fixes

    • Fix potential memory corruption when the client is unable to convert a returned object.

    Updates

  • 3.2.0
    Release Date: May 1, 2018

    New Features

    • Add map_get_by_value_list
    • Add map_get_by_key_list
    • Add auth_mode, and login_timeout_ms as config parameters for the client constructor.
    • Add for_login_only config option as an optional field in the TLS config dictionary.

    Bug Fixes

    • Fix u_int32_t type preventing installation on Alpine.
    • Fix possible crash when client object is created without using a constructor.

    Updates

  • 3.1.1
    Release Date: March 21, 2018
    • If using the security feature with Aerospike Enterprise Edition Server 4.6 or later, this version is not compatible -- please upgrade to Aerospike Python Client version 3.2.0 or later.

    Bug Fixes

    • Fix error preventing individual policies being set from constructor.

    Updates

  • 3.1.0
    Release Date: March 14, 2018
    • If using the security feature with Aerospike Enterprise Edition Server 4.6 or later, this version is not compatible -- please upgrade to Aerospike Python Client version 3.2.0 or later.

    New Features

    • [CLIENT-994] - Support LDAP authentication for future server versions.
    • Add in_doubt to args passed to exceptions internally. This information may be accessed by checking the 5th argument to the exception e.g., e.args[4]
    • Add exists option entry to operate policies

    Bug Fixes

    • "Documentation: Add Documentation for default values of policy options."
    • "Documentation: Add Missing policy description for POLICY_REPLICA_SEQUENCE "

    Updates

  • 3.0.2
    Release Date: February 21, 2018

    New Features

    • Add in_doubt to args passed to exceptions internally. This information may be accessed by checking the 5th argument to the exception e.g., e.args[4]

    Bug Fixes

    • [CLIENT-992] - Empty record returned from server may cause system error in list_pop, list_pop_range, list_get
    • [CLIENT-991] - Error message overwritten in info_node.

    Updates

  • 3.0.1
    Release Date: January 24, 2018

    New Features

    • Add in_doubt property to exception classes.

    Bug Fixes

    • [CLIENT-979] - Memory Leak with Query Objects with GeoJSON predicate.
    • [CLIENT-980] - Memory leak in list_trim.
    • [CLIENT-988] - Reference count leak in get_many, select_many

    Updates

  • 3.0.0
    Release Date: January 10, 2018
    • Breaking Change: Removed LDT (Llist) support and related methods.
    • Breaking Change: Methods which create indexes will now raise an error if the specified bin has already been indexed, or if an index with the same name already exists.
    • Breaking Change: Methods which drop indexes, will now raise an error if the named index does not exist.
    • Breaking Change: Shared memory layout has changed, and as such the default shm key has changed to '0xA7000000'. If manually specifiying an shm key, it is crucial to ensure that a separate key is used in order to prevent this version's client from sharing memory with a previous version.
    • Breaking Change: The names of certain policy fields has changed. See the documentation for up to date information. Specifically: 'timeout' has been changed into two separate fields total_timeout and socket_timeout for all policies besides 'admin' and 'info'. Currently timeout will act as an alias for total_timeout, but that should be considered deprecated, and will be removed in the future.
    • Breaking Change: retry as a key in policy dicts has been removed in favor of max_retries, and the default number of retries for read operations is now 2. WARNING: Database writes that are not idempotent (such as an aerospike.increment) should not be retried because the write operation may be performed multiple times if the client timed out previous transaction attempts. It's important to use a distinct policy for non-idempotent writes which sets max_retries = 0;

    New Features

    • Added a new list increment operation OP_LIST_INCREMENT. It can be used to increase an element of a list by a provided amount.
    • [CLIENT-939] - Added the option to specify a specific node to run on a scan on, via a new optional nodename parameter.
    • [CLIENT-915] - Added the option to specify that Query.results and Query.foreach should not return bins, via a new optional parameter options to both methods.
    • Added aerospike.info_all() to allow sending of an info command to all nodes in the current cluster.
    • [CLIENT-951] - Added linearize_read option to read policies. Requires Enterprise server >= 4.0.0.
    • Enable aerospike.get_nodes() to run when connected to a TLS enabled server.
    • Enable aerospike.info_node() to function when using a TLS enabled server. View the documentation for the method to see the steps necessary for contacting a TLS enabled server.
    • Add additional policy values which can be specified during client construction, or via arguments to functions.
    • Add stricter typechecking of policy values passed in to constructor.
    • Add finer granularity to constructor policy options, adding support for setting base policies for Read, Write, Operate, Apply, Scan, Batch, Remove, and Query methods individually.
    • Simplified installation on Debian 9.
    • "Documentation: Improved Doc strings for Client methods. Thanks to Dundee for this contribution!"
    • "Documentation: Added api-changes.md to the github repository to give detailed information on changes between client versions."
    • "Documentation: Updated documentation for the client policies to show new field names and defaults."
    • "Documentation: Updated the documentation for certain CDT methods - list_get, list_get_range, list_size, map_size, map_get_by_key, map_get_by_key_range, map_get_by_value, map_get_by_value_range, map_get_by_index, map_get_by_index_range, map_get_by_rank, map_get_by_rank_range to accurately specify that the meta argument is currently unused in those methods."
    • [CLIENT-940] - "Documentation: Update BUILD.md to include downloading the python client."
    • [CLIENT-942] - "Documentation: Fix documentation error - OS environment variables are not passed into the python setup.py build --force command."
    • "Documentation: Fix incorrect import of errors in code snippets."
    • "Deprecation: client.info has been deprecated. In order to send requests to the entire cluster, the new method client.info_all should be used. In order to send requests to hosts specified in a list, we recommend a loop invoking multiple calls to aerospike.info_node. See the api-changes file for an example of such code."
    • "Deprecation: Setting of global policy defaults via entries in the policies dictionary in the constructor config dict has been deprecated. See the constructor documentation for the new recommended method of specifying defaults."

    Bug Fixes

    • [CLIENT-944] - Large malloc in UDF exceptions, memory leaks in remove_bins, and query_apply.
    • [CLIENT-945] - Fix bugs in query_apply.
    • Incorrect values for predicate in query apply causes system error, crash in debug builds of python.
    • [CLIENT-954] - get_many, exists_many, select_many crash with byte array keys.
    • [CLIENT-955] - Invalid key tuple when utilizing batch direct leads to invalid free.
    • Non integer values passed as arguments to query_apply inside of numeric_range_predicate, will be cast to 0.
    • Allow meta=None to be passed to arguments with an optional metadata dictionary parameter. Setting it to None will have the same effect as not providing the argument.

    Updates

  • 2.2.3
    Release Date: October 10, 2017

    Bug Fixes

    • Ensures consistent setting of permission bits for pip distributions.

  • 2.2.2
    Release Date: October 5, 2017

    Bug Fixes

    • Add support for C client resolution when compiling on Amazon Linux.

  • 2.2.1
    Release Date: September 22, 2017

    New Features

    • Allowed setting of the max_socket_idle for all connections instead of only being configurable for TLS connections. Parameter has been moved from the tls config dictionary to the main config dictionary. Although the previous syntax will not raise an exception, it will not set the value.
    • Improved the distribution of the client. Support files will be stored in the same location regardless of whether a binary or source wheel was the source.
    • Changed installation of system Lua files (see README for details).

    Updates

  • 2.1.3
    Release Date: August 10, 2017

    Bug Fixes

    • [CLIENT-909] - Setting use_batch_direct in get_many causes an error.
    • [CLIENT-910] - Memory corruption caused by long role names in admin methods.
    • [CLIENT-912] - Memory leak in client.info with unicode request strings.
    • Modify operate_ordered to perform operations in a single transaction.
    • Update the SHM documentation.
    • Update documentation for operate and operate_ordered.

  • 2.1.2
    Release Date: July 18, 2017

    New Features

    • Improved compiled wheel compatibility with different versions of macOS.
    • [CLIENT-907] - Expose batch policy config options (see documentation).

  • 2.1.1
    Release Date: June 21, 2017

    Bug Fixes

    • [CLIENT-791] [CLIENT-904] - Improved macOS compilation steps.
    • Update setup.py to lock the c client version correctly.
    • Docs - Improved clarity of readme and build instruction files.

  • 2.1.0
    Release Date: May 25, 2017

    New Features

    • Add support for TLS on Aerospike EE
    • Add support for IPV6

    Bug Fixes

    • Fix segfault on geojson storage.
    • Fix build on ubuntu 17. Thanks to mvnm.
    • Ensure environment variables to be passed to scripts. Thanks to Myz.

    Updates

  • 2.0.13
    Release Date: May 15, 2017
    • New behavior: Previous versions of Python client would attempt to share the aerospike object automatically. If this behavior is desired, you now must enable sharing via the use_shared_connection parameter. See docs.

    Bug Fixes

    • [CLIENT-883] [CLIENT-884] - Fix issue when trying to register an empty or non-existent lua file.
    • [CLIENT-485] - Python 2.7 unicode bin names in select are not returned.
    • [CLIENT-885] - Memory corruption on operation_destroy.
    • Fix for null fields in exceptions.
    • Fixes for two byte issues, change to always return bytearray for unsupported bytes type.
    • Improved error messages for client constructor.
    • Treat key as bytes if unicode decoding fails. Thanks to mluscon.

  • 2.0.12
    Release Date: April 10, 2017

    Bug Fixes

    • Add in missing error codes so the client errors will match what is coming back from the server.
    • Fix build on Alpine Linux. Thanks to OndraVoves.

  • 2.0.11
    Release Date: April 7, 2017

    New Features

    • [CLIENT-872] - Support configurable scan socket write timeout for python.
    • [CLIENT-855] - Support truncate api for python.

    Bug Fixes

    • [CLIENT-820] - Stream UDFs - python udf_put() does not update client side udf.
    • [CLIENT-880] - Query Segfaults when a record contains a Python Blob bin which can not be deserialized.
    • [CLIENT-843] - Calling Map Size on a non existent bin returns a very large number.

    Updates

  • 2.0.10
    Release Date: March 22, 2017

    Bug Fixes

    • [CLIENT-218] - Test logic not reliable.
    • [CLIENT-837] - Segfault on client#info with incorrect arguments.
    • [CLIENT-838] - Python Client can trigger memory violations when calling map_* methods with incorrect arguments.
    • [CLIENT-844] - geo_contains_point queries fail when trying to use List or map indexes.
    • [CLIENT-846] - Memory leak in select() method with tuple of unicode strings.
    • [CLIENT-847] - Python client.list_* methods leak memory with string keys.
    • [CLIENT-849] - Geospatial predicate constructors leak memory.

    Updates

  • 2.0.9
    Release Date: March 7, 2017

    Bug Fixes

    • [CLIENT-840] - Fix memory allocation of search string when there is a user and multiple hosts.

  • 2.0.8
    Release Date: February 10, 2017

    Bug Fixes

    • [CLIENT-819] - Fix memory leak with geojson objects.
    • [CLIENT-798] - Don't ignore errors in the get_many() call.
    • [CLIENT-818] - Better reporting of errors from the InfoNode_Invoke() call.
    • Fix memory leak in bin_strict_type_checking .

    Updates

  • 2.0.7
    Release Date: February 3, 2017

    New Features

    • Add aerospike.POLICY_REPLICA_SEQUENCE to the replica policies.
    • Add retry_on_timeout(boolean) to the apply/read/remove/write/operate/batch policies.

    Bug Fixes

    • Correct the documentation for scan.results().
    • Use Py_BuildValue to build geo lists to avoid segfault due to refcounting issues.
    • Check for Unicode string returned from AerospikeGeospatial_DoDumps and handle correctly.
    • Fix the memory leak in map operate.

  • 2.0.6
    Release Date: November 17, 2016

    New Features

    • [CLIENT-775] - Support cluster name.
    • Add TTL constants (aerospike.TTL_NAMESPACE_DEFAULT, aerospike.TTL_NEVER_EXPIRE, aerospike.TTL_DONT_UPDATE) which can be used for the ttl value in the meta dict.

    Bug Fixes

    • Fix segfault when calling connect() after closing client.
    • Fix memory leak in operate/operateOrdered methods.

    Updates

  • 2.0.5
    Release Date: September 8, 2016

    New Features

    • Support Durable Delete. Requires future release of Aerospike Server Enterprise Edition.

    Bug Fixes

    • Resolve C client directory when building wheel.
    • [CLIENT-737] - Use correct C client bits for different versions of Ubuntu.
    • [CLIENT-751] - Fix scan tests when LDT is not enabled on test namespace.

    Updates

  • 2.0.4
    Release Date: July 27, 2016

    New Features

    • Sorted map operations.
    • Add tend_interval to configuration properties.
    • Add max_conns_per_node to configuration parameters.
    • Scan_apply now accepts None for arguments.
    • Allow installation on Ubuntu 16.04.

    Bug Fixes

    • Fix leak in serialization code.
    • [CLIENT-717] - Allow integer keys with value -1 .
    • [CLIENT-732] - Info() command can cause segfault.
    • [CLIENT-743] - Touch operator does not update ttl properly.

    Updates

  • 2.0.3
    Release Date: April 15, 2016

    New Features

    • Geo predicates (geo_within_geojson_region, geo_within_radius, geo_contains_geojson_point, geo_contains_point) now allow an optional index_type parameter to allow querying lists/maps of geo objects.
    • Add new aerospike.INDEX_GEO2DSPHERE index type to allow creation of secondary indexes on GeoJSON data.

    Bug Fixes

    • [CLIENT-691] - Calling connect() twice on client causes seg fault.
    • [CLIENT-697] - client.exists() gives an exception when record doesn't exist.

  • 2.0.2
    Release Date: March 11, 2016

    New Features

    • [CLIENT-651] - client.operate_ordered(ns, set, key) function which performs multiple bin operations on a record with a given key, with the results being returned as a list of (bin-name, result) tuples.

    Bug Fixes

    • [CLIENT-664] - Wrong error message for empty Lua file registration. Now returns AEROSPIKE_ERR_LUA_FILE_NOT_FOUND with a message stating the file is empty.
    • [CLIENT-688] - Allow integer values for aerocircle queries.
    • [CLIENT-690] - Fix memory leak in operate method when using Unicode Strings.
    • "Incorporate PR-110 for typo fix in README.rst from rafael-telles."
    • "Incorporate PR-100 for scan apply fix from hawka to allow empty py_args to client.can_apply()."
    • "Incorporate PR-113 to terminate a scan if callback raises an exception from RonRothman."

  • 2.0.1
    Release Date: February 24, 2016

    New Features

    • aerospike.calc_digest(ns, set, key) function added to get the digest for a key without requiring a client connection.

    Bug Fixes

    • get_many() with list of 25000 keys or more would seg fault. Switch to heap allocation for requests >20000 keys.
    • Change maximum number of objects that can be serialized from 1024 to 4096 and raise an exception if this limit is bypassed.
    • aerospike.null was implemented as a type incorrectly. This caused pympler to crash after loading aerospike module.
    • Use Aerospike C Client version 4.0.2 which includes a memory leak fix for as_operations_new().

    Updates

  • 2.0.0
    Release Date: February 17, 2016

    This release adds support for Python 3.

    New Features

    • [CLIENT-603] - Python 3 compatible (>=3.4).
    • [CLIENT-533] - Raise a RecordNotFound exception when a record is not found.
    • [CLIENT-625] - aerospike.Client.is_connected() tests the client's connections to the nodes.
    • [CLIENT-641] - Added list operators to aerospike.Client.operate().
    • [CLIENT-609] - Added the scan option include_ldt.
    • [CLIENT-626] - Added the compression_threshold config param to the client.
    • [CLIENT-394] - Removed the deprecated classes aerospike.Key, aerospike.LMAP, aerospike.LSET, aerospike.LStack.

    Bug Fixes

    • [CLIENT-632] - Fixed a bug where boolean items in a list got cast to integers by list operations.
    • [CLIENT-607] - Fixed issue #92 wrong exception raised by aerospike.LList.find_first.
    • [CLIENT-642] - Fixed enterprise edition tests.

    Updates

  • 1.0.58
    Release Date: December 31, 2015

    This release adds support for geospatial index and query, a feature requiring Aerospike server >= 3.7.0.

    New Features

    Bug Fixes

    • [CLIENT-600] - Fixed case where a wrong exception was thrown for error status 160.
    • [CLIENT-628] - Fixed a bug where as_geojson was not casting back to aerospike.GeoJSON.

    Updates

  • 1.0.57
    Release Date: December 9, 2015

    New Features

    • Added aerospike.null to be used for removing bins with write operations. Using this value with an aerospike.Client.put is equivalent to calling aerospike.Client.remove_bin on that bin.
    • [CLIENT-582][CLIENT-574] - Added a config param strict_types (default True) for controlling whether the client does type checking for write operations.
    • Updated the documentation for multi-ops and regarding seed nodes.

    Bug Fixes

    • [CLIENT-598] - Fixed issue 91, allowing -1L as a valid bin value.
    • [CLIENT-597] - Fixed the client to respect an explicit lua user_path in its config.
    • [CLIENT-584] - Fixed the touch operation in aerospike.Client.operate to not require bin or val.
    • [CLIENT-581] - Allow bin names to be null-terminated bytearrays.
    • [CLIENT-602] - Fixed false-negative tests.

  • 1.0.56
    Release Date: November 24, 2015

    New Features

    Bug Fixes

    • Fixed issue issue 85 - installer error in environments where the user does not have permission to copy system Lua files to the correct directory. Thanks @RonRothman.
    • [CLIENT-71] - Fixed issue issue 82 - vary the shared-memory cluster tending key by host; added shm_key().
    • [CLIENT-566] - Fixed a bug occuring in get_nodes when the cluster had one node.
    • [CLIENT-556] - Fixed a bug in client config when the host address is a unicode string.
    • Fixed issue issue 88 - expanded the function signature for loggers.
    • [CLIENT-571] - Fixed increment() to require an integer value.
    • [CLIENT-118] - Fixed a parsing bug in info().
    • [CLIENT-555] - Fixed an incorrect exception raised for callback function errors.
    • [CLIENT-573] - Fixed tests containing the deprecated scan_info to use job_info.
    • Fixed an inaccurate geospatial test.
    • Fixed typos in the API documentation. Thanks @tigran-a.

  • 1.0.55
    Release Date: October 21, 2015

    New Features

    • [CLIENT-277] - Configuration support for connection pool size.

    Bug Fixes

    • Fixed the way the installer creates the Lua system path on OS X.

  • 1.0.54
    Release Date: October 18, 2015

    New Features

    Bug Fixes

    • [CLIENT-517] - Fixed issue 77, crash when an arg of a UDF is a bytearray.
    • [CLIENT-535][CLIENT-552] - Status code AEROSPIKE_ERR_SERVER raises an aerospike.exception.ServerError.
    • [CLIENT-518] - Fixed a bug where the POLICY_KEY_SEND policy was not being followed.
    • [CLIENT-544] - Fixed behavior regarding the system lua files in the installer and client.

  • 1.0.53
    Release Date: October 6, 2015

    New Features

    • [CLIENT-234] - Implemented Issue 66, supporting separate serialization for different instances of aerospike.Client.
    • [CLIENT-267] - Implemented support for geospatial features. Added an aerospike.GeoJSON class to wrap GeoJSON data, enabling its proper serialization. Support for building geo2dsphere indexes on bins with GeoJSON data, and for queries over that data using the geo_within predicate. Requires a near-future version of the server.

    Bug Fixes

    • [CLIENT-496] - Fixed a bug where bins containing as_double type data were incorrectly freed after a put.

    Updates

  • 1.0.52
    Release Date: September 10, 2015

    This release collects several bug fixes for the batch read methods. If you make use of them please upgrade your client. See release 1.0.50 for more information about the way the batch read methods have changed.

    Bug Fixes

    • [AER-4367] - Fixed a memory leak in the batch read methods.
    • [AER-4358] - Fixed Issue 76 - batch-read methods get_many, exists_many, and select_many to return a 4-tuple key component.
    • [AER-4038] - Fixed the batch read methods to accept digest keys in their keys parameter.

  • 1.0.50
    Release Date: September 8, 2015

    New Features

    • [AER-3908] - Support for the batch-index API.
    • Batch methods are changing in a non-backward compatible way. In order to support batch-reads from multiple namespaces, get_many, exists_many, and select_many now return a list of records, each fitting the record tuple format.
    • Added job_info, a unified method for tracking the status of scan and query jobs. Added corresponding aerospike.JOB_STATUS_* constants.
    • Deprecated scan_info.
    • [AER-3981] - Support for secondary index record UDF (query_apply). Requires a future release of the server.
    • [AER-4239] - Support for a native double data type. Python float bin values will convert to and from as_double. Requires server version >= 3.6.0.
    • Added the privilege aerospike.PRIV_READ_WRITE_UDF.
    • New examples for query_apply and get_many.
    • [AER-3707] - Ensure that the examples work with Aerospike Enterprise Edition.
    • Cleaned up and clarified documentation. Thanks @tivvit for your help.

    Bug Fixes

    Updates

  • 1.0.49
    Release Date: July 31, 2015

    New Features

    • [AER-4134] - Added support for Debian 8.

    Bug Fixes

    • [AER-4110] - Fixed Issue 67.
    • [AER-4129] - Added better type checks for increment/append/prepend/operate.
    • Another (hopefully final) pass at fixing Issue 53. Thanks to @jholliman for all his help.

  • 1.0.48
    Release Date: July 10, 2015

    Bug Fixes

    • Fixed Issue 53 by adding a wheel binary distribution package for OS X.
    • Fixed upgrade problems on Linux distributions.

  • 1.0.47
    Release Date: July 9, 2015

    New Features

    Bug Fixes

    • Fixed Issue 63 - thanks @pauloborges for pull request 64.
    • [AER-3904] - Fixed bug in deserialization of random bytes.
    • [AER-3914] - Fixed bug where queries failed to return records which contained LDTs. Thanks @arthurprs for reporting this.
    • [AER-3831] - Throw an exception when trying to set an integer value greater than sys.maxsize.

  • 1.0.44
    Release Date: May 19, 2015

    New Features

    Bug Fixes

    Updates

  • 1.0.43
    Release Date: April 21, 2015

    New Features

    • [AER-3462] - Allow for a None as the set value for index creation methods. Support scans and queries against a namespace alone (with the set given as None).
    • Consistent Unicode Handling. This is a change in how string values are returned. Both str and unicode values are converted by the client into UTF-8 encoded strings for storage on the aerospike server. Read methods such as get, Query, Scan and operate will return that data as UTF-8 encoded str values. To get a unicode you will need to manually decode the string.
    • Fixed errors in the example scripts.

    Bug Fixes

    • [AER-3537] - Fixed Issue 49 - udf_put() hangs.
    • [AER-3464] - Fixed a segfault which happened while scanning a namespace with None given for the set.
    • Fixed Issue 50 - test harness skips running security methods against community edition.

  • 1.0.42
    Release Date: April 3, 2015

    Features

    • Added support for indexing complex types (lists, map) and for querying against those secondary indexes. Those will become fully available with a near-future release of Aerospike server.

    Fixes

    • Raise a clear exception when bins are created with a name longer than 14 characters.

    • Allow Scan and Query objects to be reused.

    • Raise an exception when trying to perform operations on an unconnected client (rather than segfaulting).

    Updates

  • 1.0.41
    Release Date: March 24, 2015

    Features

    • Implemented support for global policies through the client config.

    Fixes

    • An AS_BYTES_BLOB will be set to a bytesarray if no deserializer is set.

    • The signatures for the following methods have been modified to make them more consistent. get_nodes(), info, info_node.

  • 1.0.40
    Release Date: March 19, 2015

    Features

    • Enhanced automatic serialization of unsupported types using cPickle.

    • Support for user-provided serializer/deserializer methods as an alternative to automatic serialization.

    • Added Sphinx documentation to doc/. See doc/README.md for instructions.

    • The python client documentation is hosted on readthedocs.

    • The signatures for the following methods have been modified to make them more consistent. udf_put, udf_list, udf_remove, udf_list (was udf_getRegistered), index_string_create, index_integer_create, index_remove.

    Fixes

  • 1.0.38
    Release Date: March 6, 2015

    Features

    • Upgraded to the Aerospike C Client 3.1.8. Requires Aerospike Server version >= 3.5.3

    Fixes

    • Fixed Issue 38

    • Fixed Issue 40

    • Fixed Issue 41. The increment() method is modified to reflect the behavior of the C client (aka upsert)

    • Fixed bugs where batch-operations were not showing the digest part of the key tuple

    Updates

  • 1.0.37
    Release Date: February 19, 2015

    Features

    • Removed dependency on Lua as a prerequisite

    • CentOS 7 support

    • Large Data Types added

    • API expanded for documentation and examples

    Fixes

    • Fixed Issue 32. Unicode strings work as input to the various methods.

    • keyword args for put() changed to ‘meta’ (not ‘metadata’) and 'bins' (not 'record') for API consistency.

    Updates

  • 1.0.36
    Release Date: January 22, 2015

    Features

    • Expanded the API documentation

    • Tied the Python client to a specific version of the Aerospike C Client (currently 3.0.94)

    Fixes

    • Fixed bug in Unicode string handling

    Updates

  • 1.0.35
    Release Date: January 8, 2015

    Features

    • query.apply() requires a list for UDF function arguments

    • Added support for queries without a predicate

    Fixes

    • Fixed Issue 30

    • Fixed bug with secondary index creation on a multi-node cluster

  • 1.0.34
    Release Date: December 31, 2014

    Features

    • Added bin operations client.append(), prepend(), increment()

    • Added Issue 16 Record multi-ops using client.operate()

    Fixes

  • 1.0.33
    Release Date: December 19, 2014

    Features

    • Added Issue 9 - Batch read functionality.

    Fixes

    • Fixed Issue 20 Query operation does not stop when False returned.

    • Fixed Issue 29 Storing an array causing problems with duplicated items.

    • Memory leak fixes.

    • Renamed info() call to info_many, for all nodes in the cluster.

    • Policy changes to map C client closely.

  • 1.0.27
    Release Date: September 29, 2014

    Fixes

    • Returning False from a callback function to scan.foreach() will abort scan.

    • Fix Issue 15 on unicode.

    • Add support for digests in key tuples.

    • Add support for fedora20. Add missing dependency to zlib.

  • 1.0.21
    Release Date: September 18, 2014

    Fixes

    • Fixed issue where unicode strings could not be stored in bins.

  • 1.0.20
    Release Date: September 16, 2014

    Fixes

    • Fixed memory leak and corruption issue with Unicode strings.

  • 1.0.19
    Release Date: September 16, 2014

    Fixes

    • Removed bad prints

  • 1.0.18
    Release Date: September 15, 2014

    Fixes

    • Fixed handling of policies for client.get() operation

  • 1.0.17
    Release Date: September 15, 2014

    Features

    • Added ability to project bins on a read using client.select(key, bins).

  • 1.0.16
    Release Date: September 15, 2014

    Fixes

    • Fixed memory leak w/ scan operation.

  • 1.0.15
    Release Date: September 4, 2014

    Fixes

    • Fixed memory leak w/ bins containing bytearray values.

  • 1.0.14
    Release Date: September 3, 2014

    Fixes

    • Fixed memory leak w/ keys

  • 1.0.13
    Release Date: September 3, 2014

    Features

    • Added .travis.yml for TravisCI.org

    • Enhanced benchmarks and examples

    Fixes

    • Removed an erroneous free

  • 1.0.12
    Release Date: August 19, 2014

    Features

    • Added support for Unicode strings

    • Aerospike Admin API added

    • Improved support for aggregations

  • 1.0.3
    Release Date: July 15, 2014

    Features

    • Introduced Aerospike Python Client

    • Support for single record (eg, put(), get(), exist(), select(), remove()) calls.

    • Support for User-Defined Functions (UDFs).

    • Support for scans, queries and aggregations.