Update to Aerospike C Client 4.6.3.
Correct default SHM key value.
Update to Aerospike C Client 4.6.3.
Correct default SHM key value.
Support new relaxed read modes for SC namespaces. (via C client v4.6.1)
Use stack based connection pools for more aggressive trimming of idle connections. (via C client v4.6.1)
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 on GitHub for the contribution.
BREAKING: Read consistency level changes - see Incompatible API Changes for details.
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` .
Increase C client version to 4.4.0.
Add support for rack aware configuration.
Fix out of date documentation.
Increase C client version to 4.3.20.
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 188.8.131.52 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.
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`.
Max bin name length is now 15. For servers prior to 4.2.0 the limit is still 14.
Update to C client 4.3.17.
.lua files for local aggregation are no longer installed locally with the library.
Fix potential memory corruption when parsing invalid GeoJSON.
Fix invalid index type being converted to a valid type.
Add new Relative CDT operations to the `aerospike_helpers` package. These require server version 184.108.40.206 or newer.
Update to C client 4.3.14.
Updates to add `write_partial` and `no_fail` entries to map and list policies.
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.
Update to C Client version 4.3.13
Added new entry to TLS configuration dictionary `keyfile_pw`
Add `fail_on_cluster_change` option to query_policy dictionary
Add support for Predicate Expressions during Queries.
Update to C Client version 4.3.12
Improve installation on Ubuntu 18
Fix potential memory corruption when the client is unable to convert a returned object.
Update to C Client version 4.3.11
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.
Fix u_int32_t type preventing installation on Alpine.
Fix possible crash when client object is created without using a constructor.
Update to C Client version 4.3.8
Fix error preventing individual policies being set from constructor.
Update to C Client version 4.3.6
Support LDAP authentication for future server versions. CLIENT-994
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
Add exists option entry to operate policies
Documentation: Add Documentation for default values of policy options.
Documentation: Add Missing policy description for POLICY REPLICA SEQUENCE
Update to C Client version 4.3.5
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
Empty record returned from server may cause system error in list_pop, list_pop_range, list_get CLIENT-992
Error message overwritten in infonode _CLIENT-991
Update to C Client version 4.3.3
Add in_doubt property to exception classes.
Memory Leak with Query Objects with GeoJSON predicate CLIENT-979
Memory leak in list_trim CLIENT-980
Reference count leak in get_many, select_many CLIENT-988
Update to C Client version 4.3.1.
Added a new list increment operation OP_LIST_INCREMENT. It can be used to increase an element of a list by a provided amount.
Added the option to specify a specific node to run on a scan on, via a new optional nodename parameter. CLIENT-939
Added the option to specify that Query.results and Query.foreach should not return bins, via a new optional parameter options to both methods. CLIENT-915
Added aerospike.info_all() to allow sending of an info command to all nodes in the current cluster.
Added linearizeread option to read policies. Requires Enterprise server >= 4.0.0. _CLIENT-951
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.
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;
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.
Documentation: Update BUILD.md to include downloading the python client. CLIENT-940
Documentation: Fix documentation error - OS environment variables are not passed into the python setup.py build --force command. CLIENT-942
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.
Large malloc in UDF exceptions, memory leaks in removebins, and query_apply. _CLIENT-944
Fix bugs in queryapply. _CLIENT-945
Incorrect values for predicate in query apply causes system error, crash in debug builds of python.
getmany, exists_many, select_many crash with byte array keys. _CLIENT-954
Invalid key tuple when utilizing batch direct leads to invalid free. CLIENT-955
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.
Ensures consistent setting of permission bits for pip distributions.
Add support for C client resolution when compiling on Amazon Linux.
Updated to C client version 4.1.8.
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).
Setting usebatch_direct in get_many causes an error. _CLIENT-909
Memory corruption caused by long role names in admin methods. CLIENT-910
Memory leak in client.info with unicode request strings. CLIENT-912
Modify operate_ordered to perform operations in a single transaction.
Update the SHM documentation.
Update documentation for operate and operate_ordered.
Improved compiled wheel compatibility with different versions of OS X.
Expose batch policy config options (see documentation). CLIENT-907
Improved OS X compilation steps. CLIENT-791 CLIENT-904
Update setup.py to lock the c client version correctly.
Docs - Improved clarity of readme and build instruction files.
Add support for TLS on Aerospike EE
Add support for IPV6
Update C client to version 4.1.6
Fix segfault on geojson storage.
Fix build on ubuntu 17. (Thanks @mvnm !)
Ensure environment variables to be passed to scripts. (Thanks @Myz !)
Fix issue when trying to register an empty or non-existent lua file. CLIENT-883 CLIENT-884
Python 2.7 unicode bin names in select are not returned. CLIENT-485
Memory corruption on operation_destroy. CLIENT-885
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 @mluscon!)
Add in missing error codes so the client errors will match what is coming back from the server.
Fix build on Alpine Linux (thanks @OndraVoves!)
Support configurable scan socket write timeout for python. CLIENT-872
Support truncate api for python. CLIENT-855
Update to c-client version 4.1.5.
Stream UDFs - python udfput() does not update client side udf. _CLIENT-820
Query Segfaults when a record contains a Python Blob bin which can not be deserialized. CLIENT-880
Calling Map Size on a non existent bin returns a very large number. CLIENT-843
Update to c-client version 4.1.4.
Test logic not reliable. CLIENT-218
Segfault on client#info with incorrect arguments. CLIENT-837
Python Client can trigger memory violations when calling map* methods with incorrect arguments. _CLIENT-838
geocontains_point queries fail when trying to use List or map indexes. _CLIENT-844
Memory leak in select() method with tuple of unicode strings. CLIENT-846
Python client.list* methods leak memory with string keys. _CLIENT-847
Geospatial predicate constructors leak memory. CLIENT-849
Fix memory allocation of search string when there is a user and multiple hosts. CLIENT-840
Update to c-client version 4.1.3.
Fix memory leak with geojson objects. CLIENT-819
Don't ignore errors in the getmany() call. _CLIENT-798
Better reporting of errors from the InfoNodeInvoke() call. _CLIENT-818
Fix memory leak in bin_strict_type_checking
Add aerospike.POLICY_REPLICA_SEQUENCE to the replica policies.
Add retry_on_timeout(boolean) to the apply/read/remove/write/operate/batch policies.
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.
Support cluster name. CLIENT-775
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.
Fix segfault when calling connect() after closing client.
Fix memory leak in operate/operateOrdered methods.
Support Durable Delete. Requires future release of Aerospike Server Enterprise Edition.
Resolve C client directory when building wheel.
Use correct C client bits for different versions of Ubuntu. CLIENT-737
Fix scan tests when LDT is not enabled on test namespace. CLIENT-751
Sorted map operations
Add tend_interval to configuration properties
Add max_conns_per_node to configuration parameters
Scan_apply now accepts None for arguments
Update to C client vs. 4.0.6
Allow installation on Ubuntu 16.04
Fix leak in serialization code
Allow integer keys with value -1 CLIENT-717
Info() command can cause segfault CLIENT-732
Touch operator does not update ttl properly CLIENT-743
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.
Calling connect() twice on client causes seg fault. CLIENT-691
client.exists() gives an exception when record doesn't exist. CLIENT-697
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. CLIENT-651
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-664
Allow integer values for aerocircle queries. CLIENT-688
Fix memory leak in operate method when using Unicode Strings. CLIENT-690
Incorporate PR-110 for typo fix in README.rst from @raftelti.
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.
aerospike.calc_digest(ns, set, key) function added to get the digest for a key without requiring a client connection.
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 C client version 4.0.2 which includes a memory leak fix for as_operations_new().
This release adds support for Python 3.
Python 3 compatible (>=3.4). CLIENT-603
Upgraded to C client 4.0.0.
Raise a RecordNotFound exception when a record is not found. CLIENT-533
aerospike.Client.is_connected() tests the client's connections to the nodes. CLIENT-625
Added list operators to aerospike.Client.operate(). CLIENT-641
Added the scan option include_ldt. CLIENT-609
Added the compression_threshold config param to the client. CLIENT-626
Removed the deprecated classes aerospike.Key, aerospike.LMAP, aerospike.LSET, aerospike.LStack. CLIENT-394
Fixed case where a wrong exception was thrown for error status 160. CLIENT-600
Fixed a bug where as_geojson was not casting back to aerospike.GeoJSON. CLIENT-628
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.
Added a config param strict_types (default True) for controlling whether the client does type checking for write operations. CLIENT-582, CLIENT-574
Fixed issue 91, allowing -1L as a valid bin value. CLIENT-598
Fixed the client to respect an explicit lua user_path in its config. CLIENT-597
Fixed the touch operation in aerospike.Client.operate to not require bin or val. CLIENT-584
Allow bin names to be null-terminated bytearrays. CLIENT-581
Fixed false-negative tests. CLIENT-602
Releasing the GIL around key-value operations. CLIENT-528
Added Ubuntu 15 support. Thanks @lwille.
Updated the manual build document.
Fixed a bug occuring in get_nodes when the cluster had one node. CLIENT-566
Fixed a bug in client config when the host address is a unicode string. CLIENT-556
Fixed increment() to require an integer value. CLIENT-571
Fixed a parsing bug in info(). CLIENT-118
Fixed an incorrect exception raised for callback function errors. CLIENT-555
Fixed tests containing the deprecated scan_info to use job_info. CLIENT-573
Fixed an inaccurate geospatial test.
Fixed typos in the API documentation. Thanks @tigran-a.
Configuration support for connection pool size. CLIENT-277
Fixed the way the installer creates the Lua system path on OS X.
Added the aerospike.__version__ string to the module. CLIENT-537
Fixed issue 77, crash when an arg of a UDF is a bytearray. CLIENT-517
Status code AEROSPIKE_ERR_SERVER raises an aerospike.exception.ServerError. CLIENT-535, CLIENT-552.
Fixed a bug where the POLICY_KEY_SEND policy was not being followed. CLIENT-518
Fixed behavior regarding the system lua files in the installer and client. CLIENT-544
Upgraded to C client 3.1.24.
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. CLIENT-267
Fixed a bug where bins containing as_double type data were incorrectly freed after a put. CLIENT-496
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.
Upgraded to C client 3.1.22.
Support for the batch-index API. AER-3908
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.
Support for secondary index record UDF (query_apply). Requires a future release of the server. AER-3981
Added the privilege aerospike.PRIV_READ_WRITE_UDF.
Ensure that the examples work with Aerospike Enterprise Edition. AER-3707
Cleaned up and clarified documentation. Thanks @tivvit for your help.
Added support for bytearray primary key values. AER-3756
Fixed bug in deserialization of random bytes. AER-3904
Fixed bug where queries failed to return records which contained LDTs. Thanks @arthurprs for reporting this. AER-3914
Throw an exception when trying to set an integer value greater than sys.maxsize. AER-3831
Upgraded to C client 3.1.16.
Fedora 21 support.
Fixes to the Documentation.
Changed to cast bytearray values to and from Aerospike bytes, as raised in https://discuss.aerospike.com/t/lua-aggregation-with-bytearray/1229 .
Fixed the examples in line with release 1.0.44. AER-3419
Added a latency option to the benchmarking tool. AER-3417
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). AER-3462
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.
Upgraded to C client 3.1.11.
Implemented support for global policies through the client config.
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.
Enhanced automatic serialization of unsupported types using cPickle.
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.
Upgraded to the C client 3.1.8. Requires server version >= 3.5.3
Upgraded to the C client 3.1.2
Removed dependency on Lua as a prerequisite
CentOS 7 support
Large Data Types added
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.
Expanded the API documentation
Tied the Python client to a specific version of the C client (currently 3.0.94)
Fixed bug in Unicode string handling
query.apply() requires a list for UDF function arguments
Added support for queries without a predicate
Fixed Issue 30
Fixed bug with secondary index creation on a multi-node cluster
Added Issue 9 - Batch read functionality.
Fixed Issue 21 on unicode inside maps.
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.
Fixed issue where unicode strings could not be stored in bins.
Fixed memory leak and corruption issue with Unicode strings.
Removed bad prints
Fixed handling of policies for client.get() operation
Added ability to project bins on a read using `client.select(key, bins)`.
Fixed memory leak w/ scan operation.
Fixed memory leak w/ bins containing bytearray values.
Fixed memory leak w/ keys
Added .travis.yml for TravisCI.org
Enhanced benchmarks and examples
Removed an erroneous free
Added support for Unicode strings
Aerospike Admin API added
Improved support for aggregations
Introduced Aerospike Python Client
Support for single record (eg, put(), get(), exist(), select(), remove()) calls.
Support for user-defined functions.
Support for scans, queries and aggregations.