* Allow empty pipelines to be executed if there are WATCHed keys.
This is a convenient way to test if any of the watched keys changed
without actually running any other commands. Thanks brianmaissy.
1233, 1234
* Removed support for end of life Python 3.4.
* Added support for all ACL commands in Redis 6. Thanks IAmATeaPot418
for helping.
* Pipeline instances now always evaluate to True. Prior to this change,
pipeline instances relied on __len__ for boolean evaluation which
meant that pipelines with no commands on the stack would be considered
False. 994
* Client instances and Connection pools now support a 'client_name'
argument. If supplied, all connections created will call CLIENT SETNAME
as soon as the connection is opened. Thanks to Habbie for supplying
the basis of this change. 802
* Added the 'ssl_check_hostname' argument to specify whether SSL
connections should require the server hostname to match the hostname
specified in the SSL cert. By default 'ssl_check_hostname' is False
for backwards compatibility. 1196
* Slightly optimized command packing. Thanks Deneby67. 1255
* Added support for the TYPE argument to SCAN. Thanks netocp. 1220
* Better thread and fork safety in ConnectionPool and
BlockingConnectionPool. Added better locking to synchronize critical
sections rather than relying on CPython-specific implementation details
relating to atomic operations. Adjusted how the pools identify and
deal with a fork. Added a ChildDeadlockedError exception that is
raised by child processes in the very unlikely chance that a deadlock
is encountered. Thanks gmbnomis, mdellweg, yht804421715. 1270,
1138, 1178, 906, 1262
* Added __eq__ hooks to the Redis and ConnectionPool classes.
Thanks brainix. 1240