diff options
author | Andy McCurdy <andy@andymccurdy.com> | 2018-11-15 01:23:50 -0800 |
---|---|---|
committer | Andy McCurdy <andy@andymccurdy.com> | 2018-11-15 01:23:50 -0800 |
commit | 20639c334fa9180c046f1e8726057e9ee00e67de (patch) | |
tree | 3c1f59e0087416937a1d0441b575d0664b5c5a75 /CHANGES | |
parent | 69eb38ffd3f991b2a01ec2a604492d4c6b190a80 (diff) | |
download | redis-py-20639c334fa9180c046f1e8726057e9ee00e67de.tar.gz |
redis-py 3.0.0
Diffstat (limited to 'CHANGES')
-rw-r--r-- | CHANGES | 87 |
1 files changed, 85 insertions, 2 deletions
@@ -1,5 +1,88 @@ -* UNRELEASED - * Removed support for EOL Python 2.6 and 3.3. +* 3.0.0 + BACKWARDS INCOMPATIBLE CHANGES + * When using a Lock as a context manager and the lock fails to be acquired + a LockError is now raised. This prevents the code block inside the + context manager from being executed if the lock could not be acquired. + * Renamed LuaLock to Lock. + * Removed the pipeline based Lock implementation in favor of the LuaLock + implementation. + * Only bytes, strings and numbers (ints, longs and floats) are acceptable + for keys and values. Previously redis-py attempted to cast other types + to str() and store the result. This caused must confusion and frustration + when passing boolean values (cast to 'True' and 'False') or None values + (cast to 'None'). It is now the user's responsibility to cast all + key names and values to bytes, strings or numbers before passing the + value to redis-py. + * The StrictRedis class has been renamed to Redis. StrictRedis will + continue to exist as an alias of Redis for the forseeable future. + * The legacy Redis client class has been removed. It caused much confusion + to users. + * ZINCRBY arguments 'value' and 'amount' have swapped order to match the + the Redis server. The new argument order is: keyname, amount, value. + * MGET no longer raises an error if zero keys are passed in. Instead an + empty list is returned. + * MSET and MSETNX now require all keys/values to be specified in a single + dictionary argument named mapping. This was changed to allow for future + options to these commands in the future. + * ZADD now requires all element names/scores be specified in a single + dictionary argument named mapping. This was required to allow the NX, + XX, CH and INCR options to be specified. + * Removed support for EOL Python 2.6 and 3.3. Thanks jdufresne + OTHER CHANGES + * Added missing DECRBY command. Thanks derek-dchu + * CLUSTER INFO and CLUSTER NODES respones are now properly decoded to + strings. + * Added a 'locked()' method to Lock objects. This method returns True + if the lock has been acquired and owned by the current process, + otherwise False. + * EXISTS now supports multiple keys. It's return value is now the number + of keys in the list that exist. + * Ensure all commands can accept key names as bytes. This fixes issues + with BLPOP, BRPOP and SORT. + * All errors resulting from bad user input are raised as DataError + exceptions. DataError is a subclass of RedisError so this should be + transparent to anyone previously catching these. + * Added support for NX, XX, CH and INCR options to ZADD + * Added support for the MIGRATE command + * Added support for the MEMORY USAGE and MEMORY PURGE commands. Thanks + Itamar Haber + * Added support for the 'asynchronous' argument to FLUSHDB and FLUSHALL + commands. Thanks Itamar Haber + * Added support for the BITFIELD command. Thanks Charles Leifer and + Itamar Haber + * Improved performance on pipeline requests with large chunks of data. + Thanks tzickel + * Fixed test suite to not fail if another client is connected to the + server the tests are running against. + * Added support for SWAPDB. Thanks Itamar Haber + * Added support for all STREAM commands. Thanks Roey Prat and Itamar Haber + * SHUTDOWN now accepts the 'save' and 'nosave' arguments. Thanks + dwilliams-kenzan + * Added support for ZPOPMAX, ZPOPMIN, BZPOPMAX, BZPOPMIN. Thanks + Itamar Haber + * Added support for the 'type' argument in CLIENT LIST. Thanks Roey Prat + * Added support for CLIENT PAUSE. Thanks Roey Prat + * Added support for CLIENT ID and CLIENT UNBLOCK. Thanks Itamar Haber + * GEODIST now returns a None value when referencing a place that does + not exist. Thanks qingping209 + * Added a ping() method to pubsub objects. Thanks krishan-carbon + * Fixed a bug with keys in the INFO dict that contained ':' symbols. + Thanks mzalimeni + * ssl_cert_reqs now has a default value of 'required' by default. This + should make connecting to a remote Redis server over SSL more secure. + Thanks u2mejc + * Fixed the select system call retry compatibility with Python 2.x. + Thanks lddubeau + * max_connections is now a valid querystring argument for creating + connection pools from URLs. Thanks mmaslowskicc + * Added the UNLINK command. Thanks yozel + * Added socket_type option to Connection for configurability. + Thanks garlicnation + * Lock.do_acquire now atomically sets acquires the lock and sets the + expire value via set(nx=True, px=timeout). Thanks 23doors + * Added 'count' argument to SPOP. Thanks AlirezaSadeghi + * Fixed an issue parsing client_list respones that contained an '='. + Thanks swilly22 * 2.10.6 * Various performance improvements. Thanks cjsimpson * Fixed a bug with SRANDMEMBER where the behavior for `number=0` did |