summaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
authorAndy McCurdy <andy@andymccurdy.com>2018-11-15 01:23:50 -0800
committerAndy McCurdy <andy@andymccurdy.com>2018-11-15 01:23:50 -0800
commit20639c334fa9180c046f1e8726057e9ee00e67de (patch)
tree3c1f59e0087416937a1d0441b575d0664b5c5a75 /CHANGES
parent69eb38ffd3f991b2a01ec2a604492d4c6b190a80 (diff)
downloadredis-py-20639c334fa9180c046f1e8726057e9ee00e67de.tar.gz
redis-py 3.0.0
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES87
1 files changed, 85 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 625ed25..42f7c4a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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