PHP Client Library Release Notes
-
Release Date: March 10, 2020
Features
Add OPT_SCAN_RPS_LIMIT scan option. OPT_SCAN_RPS_LIMIT limits scans by records per second. Thanks to vityank.
Add OPERATOR_DELETE. OPERATOR_DELETE allows deletion of entire records via operate and operateOrdered. Thanks to vityank.
Add NOBINS query option. Queries made with the NOBINS option will not return record's bins.
-
Release Date: December 30, 2019
Features
Breaking Change: Switch to C client 4.6.0 consistency policies. Applications using previous PHP client versions should make changes according to the new consistency policies and see the docs when upgrading. Thanks to vityank.
Breaking Change: - Discontinued support for PHP 7.1.
Support PHP 7.2 and 7.3.
Update to C client 4.6.9.
Added missing zend_arg_info thanks to sustmi.
Add support for map write flags. Thanks to vityank.
Support C client error code AEROSPIKE_ERR_OP_NOT_APPLICABLE.
-
Release Date: February 20, 2019
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 7.4.1
.
Removed the error constants ERR_BIN_EXISTS
, ERR_BIN_NOT_FOUND
.
Update to C client 4.5.0.
Add Configuration options for Rack Aware reads.
-
Release Date: November 14, 2018
Features
Update to C client 4.3.20.
Lua system files are now loaded from internal strings. The LUA_SYSTEM_PATH configuration options have been removed.
Breaking Change Remove old use_batch_direct policy option.
Fixes
-
Release Date: August 15, 2018
Features
Added support for TLS connections. See documentation for details. This is an enterprise only feature.
Added new format for specifying policies in client constructor. This format allows the specification of default policies for, read, write, apply, query, batch, scan, operate, and remove operations.
Exposed additional configuration options.
Added a new method errorInDoubt()
to check whether it is possible that an operation which resulted in error may have succeeded.
Update to C client version 4.3.12
Add a policies.md file to the GitHub repository specifying information about all of the policies used with various methods.
Improve installation on Debian 9 and Ubuntu 18
queryApply
may now return before the query has completed.
Breaking Change Shared memory layout has changed. The default SHM Key has changed from 0xA6000000
to 0xA7000000
.
OPT_POLICY_RETRY has been replaced by OPT_MAX_RETRIES . Code using the former will not raise errors, but the option will be ignored.
Fixes
Remove an unlisted/documented select method.
Creating a matching index on an already indexed bin, or creating an index with an already used name will now return an Error instead of silently failing.
Fix installation error on Debian 9.
-
Release Date: April 5, 2018
Fixes
-
Release Date: December 17, 2017
Features
Added new map operations:
AEROSPIKE::OP_MAP_SET_POLICY
AEROSPIKE::OP_MAP_CLEAR
AEROSPIKE::OP_MAP_SIZE
AEROSPIKE::OP_MAP_GET_BY_KEY
AEROSPIKE::OP_MAP_GET_BY_KEY_RANGE
AEROSPIKE::OP_MAP_GET_BY_VALUE
AEROSPIKE::OP_MAP_GET_BY_VALUE_RANGE
AEROSPIKE::OP_MAP_GET_BY_INDEX
AEROSPIKE::OP_MAP_GET_BY_INDEX_RANGE
AEROSPIKE::OP_MAP_GET_BY_RANK
AEROSPIKE::OP_MAP_GET_BY_RANK_RANGE
AEROSPIKE::OP_MAP_PUT
AEROSPIKE::OP_MAP_PUT_ITEMS
AEROSPIKE::OP_MAP_INCREMENT
AEROSPIKE::OP_MAP_DECREMENT
AEROSPIKE::OP_MAP_REMOVE_BY_KEY
AEROSPIKE::OP_MAP_REMOVE_BY_KEY_LIST
AEROSPIKE::OP_MAP_REMOVE_BY_KEY_RANGE
AEROSPIKE::OP_MAP_REMOVE_BY_VALUE
AEROSPIKE::OP_MAP_REMOVE_BY_VALUE_RANGE
AEROSPIKE::OP_MAP_REMOVE_BY_VALUE_LIST
AEROSPIKE::OP_MAP_REMOVE_BY_INDEX
AEROSPIKE::OP_MAP_REMOVE_BY_INDEX_RANGE
AEROSPIKE::OP_MAP_REMOVE_BY_RANK
AEROSPIKE::OP_MAP_REMOVE_BY_RANK_RANGE
Switched documentation from Markdown to PHPDoc
-
Release Date: November 28, 2017
Features
Enable specifying a TTL value for operate, operateOrdered, append, prepend, increment, listInsert, listInsertItems, listAppend, listMerge, listPop, listPopRange listRemove, listRemoveRange, listTrim, listClear, listSet methods via the AEROSPIKE::OPT_TTL field of the policy array.
Fixes
-
Release Date: November 9, 2017
Features
Enable specifying interval for cluster tender in the constructor via the "tender_interval" config entry. See documentation for more details.
Enable specifying a cluster name in the constructor via the "cluster_name" config entry. See documentation for more details.
Fixes
-
Release Date: October 5, 2017
Features
Enabled truncate functionality.
Improve installation experience for macOS
Allow setting of socket_timeout via Aerospike::OPT_SOCKET_TIMEOUT in scan policies
Improved setup script to allow installation on additional distros.
Fixes
Fix setting of timeout in remove policies.
Prevent null dereference in ZTS environments when using user specified logging during a cluster disruption.
Properly mark user specified logging as unsupported in ZTS environments.
-
Release Date: September 14, 2017
Fixes
-
Release Date: September 12, 2017
Features
Welcome to the new PHP7 Aerospike Client!
Incorporate PR 103 for session store. Thanks @aterrien!
LDT Support has been removed.
Type checking in general is stricter for method parameters. If you are not sure whether an argument to a function is an integer or a string, we recommend casting it to the type specified by the method. Running with strict_types enabled may help to catch some issues.
An exception will be raised if the constructor fails to connect to the cluster.
Aerospike\Bytes will be stored to the server as type AS_BYTES_BLOB instead of AS_BYTES_PHP. This change allows better compatability with other clients.
Correspondingly, data stored in the server as AS_BYTES_BLOB will be returned as Aerospike\Bytes, if no deserializer has been registered. The Previous version of the Aerospike PHP Client returned a string if AS_BYTES_BLOB was encountered with no registered deserializer. Note It is not recommended to combine the use of \Aerospike\Bytes and user specified deserializers, as this may cause errors.
Support for PHP versions < 7 has been removed.
The INI entry aerospike.serializer now takes an integer value. 0 for No Serializer, 1 for default PHP serialization, and 2 for user specified serializer. See Configuration for additional information on the code values.
The constructor will no longer attempt to create a unique SHM key for the user. If a key is not specified in the shm configuration array, the default value will be used. A key provided in the constructor takes precedence over a value specified by INI.
The layout of the shared memory used by the client when using an SHM key has changed. The default key has changed as well in order to prevent accidental sharing between new and old clients.
The formatting of the response from an info call may have changed. It now includes the request at the beginning of the response.
When using initKey with a digest, the digest must now be exactly 20 bytes.
The integer values of the Aerospike::LOGLEVEL* constants have changed. This should not effect the user unless they were providing log levels as integers rather than using the constants.
Aerospike::LOG_LEVEL_OFF has been removed. It no longer had any effect.
-
Release Date: January 4, 2017
Fixes
Fix persistent connection issue under php-fpm which caused number of threads to increase
Fix shared memory persistence under php-fpm
Fix segfault in Aerospike constructor if cluster is NULL
Roll in PRs #129, #133 & #134 from the community. Thanks @koleo & @sergeyklay!
-
Release Date: November 17, 2016
Fixes
-
Release Date: November 4, 2016
Fixes
-
Release Date: September 29, 2016
Features
Fixes
Fix seg fault in PHP7 when using persistent connections and/or multiple hosts in configuration. CLIENT-789
Use correct C client bits for various Ubuntu builds. CLIENT-737
Fix aggregate for PHP7
Roll in several PR's from the community. Thanks @sergeyklay, @devckonem & @dink10!
-
Release Date: September 8, 2016
Fixes
Restore backward compatibility to session handler. Thanks @koleo!
Fix increment using floating point values.
Use correct C client bits for various Ubuntu builds.
Update to 4.0.7 version of C client.
Fix seg fault when configuration has "shm" option.
Update composer.json to reflect PHP7 support.
-
Release Date: July 28, 2016
Features
Fixes
-
Release Date: April 8, 2016
Features
Added Aerospike::operateOrdered API which takes the same parameters as Aerospike::operate but returns an indexed array of results, rather than a key-value associative array. CLIENT-652
Added support for Geospatial index using GeoJSON. CLIENT-542 Requires server >= 3.7.0.
Fixes
-
Release Date: March 5, 2016
Features
Upgraded to C Client 4.0.2.
Added list operations. CLIENT-561 Requires server >= 3.7.0.
Added list operators for operate(). CLIENT-646 Requires server >= 3.7.0.
isConnected() now testing the client's connections to the nodes. CLIENT-624.
Allow the Aerospike class to be extendable. CLIENT-648.
Added a compression_threshold client config parameter. CLIENT-627.
Added OPT_SCAN_INCLUDELDT option for scan(). CLIENT-610.
-
Release Date: December 25, 2015
Features
Secondary-index record UDFs using queryApply(). CLIENT-299
Enable shared-memory cluster tending through the constructor config. CLIENT-595
Added the config params max_threads, thread_pool_size. CLIENT-296
Removed the deprecated method createIndex(). Use addIndex(). CLIENT-585
Cleaned up the client documentation. Thanks @sergeyklay for your help.
Fixes
-
Release Date: November 3, 2015
Fixes
-
Release Date: October 30, 2015
Features
Added explicit control over the batch protocol through a php.ini config variable aerospike.use_batch_direct, or constructor config parameter Aerospike::USE_BATCH_DIRECT. The default value is 0 (i.e. batch-index) for servers with version >= 3.6.0. CLIENT-567
Added support for Ubuntu 15. Thanks @lwille.
-
Release Date: October 22, 2015
Features
Upgraded to C client 3.1.24.
A new backward incompatible format for the data returned by existsMany(). The underlying C client interfaces with a new API for batch reads called batch index, which is implemented in server versions >= 3.6.0. Since batch reads can now target multiple namespaces, the old format is no longer appropriate. Instead, an indexed array is returned in an order corresponding to the array of keys passed as the argument to existsMany(). CLIENT-28
Allow TTL to be set with the write methods increment(), append(), prepend(), operate(), removeBin() using OPT_TTL. CLIENT-510
Updated the methods of class LList. Added filters to find, findFirst, findLast, findRange.
Expanded the examples for LList with integer, string, and map elements.
Removed deprecated LDT classes (LMap, LSet, LStack) and methods.
Fixed the documentation for the Enterprise Edition security methods.
Fixed the installer to place the Lua system files in /usr/local/aerospike/lua by default. Path override can be done by setting the environment variables LUA_SYSPATH, LUA_USRPATH before invoking build.sh.
Travis-CI cleanup.
Fixes
Fixed bug where malformed keys triggered a segfault in getMany(). CLIENT-140 / AER-4342
Fixed the client to cast PHP floats to and from as_double. CLIENT-225
Fixed issue 53 - correct configuration inheritance. CLIENT-88
Fixed issue 54 - return the correct error status for empty put(). CLIENT-69
Fixed issue 57 - incorrectly identifying RHEL. Thanks, @npenteado.
-
Release Date: September 3, 2015
Features
Upgraded to C client 3.1.22. AER-3909
A new backward incompatible format for the data returned by getMany(). The underlying C client interfaces with a new API for batch reads called batch index, which is implemented in server versions >= 3.6.0. Since batch reads can now target multiple namespaces, the old format is no longer appropriate. Instead, an indexed array is returned in an order corresponding to the array of keys passed as the argument to getMany(). AER-4064
Tests and API documentation updated. Thanks to @rmondragon for his help.
-
Release Date: August 10, 2015
Features
Added Security Methods for Aerospike Monitoring Console. AER-3475
Added support for Debian 8.
Clarified configuration steps for the activating the extension with web servers, such as Nginx and Apache. Thanks Mickael Hassine.
Fixes
-
Release Date: July 20, 2015
Features
Fixes
-
Release Date: June 19, 2015
Features
Added an optional ttl argument to Aerospike::OPERATORTOUCH in operate(). _AER-3566
Copy registered modules to user path in register(). AER-3627
Changes to LList, added isValid(), findRange(), setPageSize(). Modified scan() in a compatibility breaking way.
Fixes
Fixed Issue 46 - reusing keys from scan/query. AER-3748
Fixed Issue 44 - accept numeric strings for increment(). AER-3812
Fixed bug preventing a default value of 'user' for serializer. AER-3527
Partially fixed Issue 43 - bigger static allocation for as_val. AER-3708
Expanded checks for libcrypto. Thanks @jumping
-
Release Date: May 5, 2015
Features
Upgraded to C client 3.1.16.
Added support for indexing complex types (lists, map) and for querying against those secondary indexes using the contains and range predicates. Those will become fully available with a near-future release of Aerospike server. AER-3425, AER-3434
Fixes
-
Release Date: April 25, 2015
Features
Fixes
-
Release Date: April 19, 2015
Features
Implemented configuration globals through the constructor.
Added support for namespaces with a null set in index creation, scan() and query().
A Aerospike\Bytes wrapper added, and doc updated regarding the handling of binary-strings that may contain the null-byte (\0).
LList Deprecated get_capacity(),set_capacity() methods of the LDT parent class.
LList added methods find_first, find_last, find_range, exists, config, setPageSize. Require server >= 3.5.8
Fixes
-
Release Date: April 4, 2015
Features
Fixes
-
Release Date: March 6, 2015
Features
Fixes
-
Release Date: February 26, 2015
Features
Upgraded to C client 3.1.2
Removed dependency on Lua as a prerequisite
Added Aerospike::getKeyDigest()
Upgrades to LList update()
, update_all()
, UDF filter arguments for scan()
, llist.filter
wrapped into scan()
, removeRange()
implements llist.remove_range
, llist.remove_all
implemented as removeMany()
LDT Deprecation notice for LMap, LSet, LStack
Enhanced the docs and examples
Fixes
-
Release Date: February 4, 2015
Fixes
-
Release Date: January 28, 2015
Fixes
-
Release Date: January 22, 2015
Fixes
-
Release Date: January 15, 2015
Features
Fixes
-
Release Date: January 9, 2015
Features
Upgraded to C client 3.0.94
Faster close() resulting in faster tests and session handling
Fixed script that fetches the C client to work with minimal CentOS 7
Added support for queries without a predicate
-
Release Date: December 30, 2014
Features
Fixed a bug with default serialization of unsupported types (boolean, float, etc)
Added support for Linux Mint
-
Release Date: December 25, 2014
Features
-
Release Date: December 5, 2014
Features
-
Release Date: November 27, 2014
Features
Shared-memory cluster tending. Load is reduced when multiple PHP processes can share the data from a single tending thread.
Upgraded to release 3.0.90 of the C client
Reorganized the unit tests to run faster.
Removed deprecated status codes ERR (now it’s just ERR_CLIENT), ERR_RECORD, ERR_THROTTLED, ERR_SCAN, ERR_UDF_FILE_NOT_FOUND
-
Release Date: October 31, 2014
Features
Batch operations - getMany() and existsMany()
Multi-op record operations - operate()
Compilation error fixed for OS X >= 10.9 (also tested on 10.10 "Yosemite"))
Upgraded to release 3.0.86 of the C client
-
Release Date: October 24, 2014
Features
Examples cleaned up
Fixed digest key bug
-
Release Date: October 22, 2014
Features
Admin methods createIndex() and dropIndex()
Info methods info(), infoMany(), getNodes()
Write methods support OPT_POLICY_GEN.
-
Release Date: October 8, 2014
Features
Starting version >= 3.1.0 - format change for returned records - now all records come back as an array with keys ('key','meta','bins').
Set the C Client version to 3.0.84 (latest stable).
Methods get(), put() fixed to support OPT_POLICY_KEY.
Fixed apply() for case when the $returned parameter is not set.
Fixes to the .phpt tests.
-
Release Date: October 7, 2014
Features
A format change for returned records - now all records come back as an array with keys ('key','meta','bins'). Your applicaiton will need to be recoded to account for this change, as it is not backward compatible.
OPT_POLICY_KEY added for read and write methods.
Support for Large Data Types with a PHP class library \Aerospike\LDT
Added stream UDF methods scanApply() and aggregate()
UDF module admin methods register(), deregister(), listRegistered(), getRegistered()
Background scan method scanApply() with OPT_SCAN_* policies to control its behavior and scanInfo() helper.
Standardized (and therefore modified) parameter lists for stream methods - query(), scan(), aggregate(), scanApply()
Fixes for FPM and APXS SAPIs
Extension is now built with src/aerospike/build.sh
Composer support
Integration with Travis CI
-
Release Date: September 12, 2014
Features
-
Release Date: September 6, 2014
Features
-
Release Date: August 28, 2014
Features