Releases¶
1.3.0 (2019-09-24)¶
Features¶
Added
xdel
andxtrim
method which missed incommands/streams.py
& also added unit test code for them (see #438);Add
count
argument tospop
command (see #485);Add support for
zpopmax
andzpopmin
redis commands (see #550);Add
towncrier
: change notes are now stored inCHANGES.txt
(see #576);Type hints for the library (see #584);
A few additions to the sorted set commands:
the blocking pop commands:
BZPOPMAX
andBZPOPMIN
the
CH
andINCR
options of theZADD
command
(see #618);
Added
no_ack
parameter toxread_group
streams method incommands/streams.py
(see #625);
Bugfixes¶
1.2.0 (2018-10-24)¶
NEW:
Implemented new Stream command support (see #299);
Reduce
encode_command()
cost about 60% (see #397);
FIX:
Fix pipeline commands buffering was causing multiple
sendto
syscalls (see #464 and #473);Python 3.7 compatibility fixes (see #426);
Fix typos in documentation (see #400);
Fix
INFO
command result parsing (see #405);Fix bug in
ConnectionsPool._drop_closed
method (see #461);
MISC:
Update dependencies versions;
Multiple tests improvements;
1.1.0 (2018-02-16)¶
NEW:
Implement new commands:
wait
,touch
,swapdb
,unlink
(see #376);Add
async_op
argument toflushall
andflushdb
commands (see #364, and #370);
FIX:
Important! Fix Sentinel sentinel client with pool
minsize
greater than 1 (see #380);Fix
SentinelPool.discover_timeout
usage (see #379);Fix an issue with
subscribe
/psubscribe
with empty pool (see #351, and #355);Fix an issue when
StreamReader
’s feed_data is called before set_parser (see #347);
MISC:
Update dependencies versions;
Multiple test fixes;
1.0.0 (2017-11-17)¶
NEW:
Important! Drop Python 3.3, 3.4 support; (see #321, #323 and #326);
Important! Connections pool has been refactored; now
create_redis
function will yieldRedis
instance instead ofRedisPool
(see #129);Important! Change sorted set commands reply format: return list of tuples instead of plain list for commands accepting
withscores
argument (see #334);Important! Change
hscan
command reply format: return list of tuples instead of mixed key-value list (see #335);Implement Redis URI support as supported
address
argument value (see #322);Dropped
create_reconnecting_redis
,create_redis_pool
should be used instead;Implement custom
StreamReader
(see #273);Implement Sentinel support (see #181);
Implement pure-python parser (see #212);
Add
migrate_keys
command (see #187);Add
zrevrangebylex
command (see #201);Add
command
,command_count
,command_getkeys
andcommand_info
commands (see #229);Add
ping
support in pubsub connection (see #264);Add
exist
parameter tozadd
command (see #288);Add
MaxClientsError
and implementReplyError
specialization (see #325);Add
encoding
parameter to sorted set commands (see #289);
FIX:
Fix
CancelledError
inconn._reader_task
(see #301);Fix pending commands cancellation with
CancelledError
, use explicit exception instead of callingcancel()
method (see #316);Correct error message on Sentinel discovery of master/slave with password (see #327);
Fix
bytearray
support as command argument (see #329);Fix critical bug in patched asyncio.Lock (see #256);
Fix Multi/Exec transaction canceled error (see #225);
Add missing arguments to
create_redis
andcreate_redis_pool
;Fix deprecation warning (see #191);
Make correct
__aiter__()
(see #192);Backward compatibility fix for
with (yield from pool) as conn:
(see #205);Fixed pubsub receiver stop() (see #211);
MISC:
Multiple test fixes;
Add PyPy3 to build matrix;
Update dependencies versions;
Add missing Python 3.6 classifier;
0.3.5 (2017-11-08)¶
FIX:
Fix for indistinguishable futures cancellation with
asyncio.CancelledError
(see #316), cherry-picked from master;
0.3.4 (2017-10-25)¶
FIX:
Fix time command result decoding when using connection-wide encoding setting (see #266);
0.3.2 (2017-06-21)¶
NEW:
Added
zrevrangebylex
command (see #201), cherry-picked from master;Add connection timeout (see #221), cherry-picked from master;
FIX:
0.3.0 (2017-01-11)¶
NEW:
Pub/Sub connection commands accept
Channel
instances (see #168);Implement new Pub/Sub MPSC (multi-producers, single-consumer) Queue –
aioredis.pubsub.Receiver
(see #176);Add
aioredis.abc
module providing abstract base classes defining interface for basic lib components; (see #176);
FIX:
Minor tests fixes;
MISC:
0.2.9 (2016-10-24)¶
NEW:
FIX:
Close RedisPool when connection to Redis failed (see #136);
Add simple
INFO
command argument validation (see #140);Remove invalid uses of
next()
MISC:
Update devel.rst docs; update Pub/Sub Channel docs (cross-refs);
Update MANIFEST.in to include docs, examples and tests in source bundle;
0.2.8 (2016-07-22)¶
NEW:
Add
hmset_dict
command (see #130);Add
RedisConnection.address
property;RedisPool
minsize
/maxsize
must not beNone
;Implement
close()
/wait_closed()
/closed
interface for pool (see #128);
FIX:
Add test for
hstrlen
;Test fixes
MISC:
Enable Redis 3.2.0 on Travis;
Add spell checking when building docs (see #132);
Documentation updated;
0.2.7 (2016-05-27)¶
create_pool()
minsize default value changed to 1;Fixed cancellation of wait_closed (see #118);
Fixed
time()
conversion to float (see #126);Fixed
hmset()
method to return bool instead ofb'OK'
(see #126);Fixed multi/exec + watch issue (changed watch variable was causing
tr.execute()
to fail) (see #121);Replace
asyncio.Future
uses with utility method (get ready to Python 3.5.2loop.create_future()
);Tests switched from unittest to pytest (see #126);
Documentation updates;
0.2.6 (2016-03-30)¶
Fixed Multi/Exec transactions cancellation issue (see #110 and #114);
Fixed Pub/Sub subscribe concurrency issue (see #113 and #115);
Add SSL/TLS support (see #116);
aioredis.ConnectionClosedError
raised inexecute_pubsub
as well (see #108);Redis.slaveof()
method signature changed: now to disable replication one should callredis.slaveof(None)
instead ofredis.slaveof()
;More tests added;
0.2.5 (2016-03-02)¶
Close all Pub/Sub channels on connection close (see #88);
Add
iter()
method toaioredis.Channel
allowing to use it withasync for
(see #89);Inline code samples in docs made runnable and downloadable (see #92);
Python 3.5 examples converted to use
async
/await
syntax (see #93);Fix Multi/Exec to honor encoding parameter (see #94 and #97);
Add debug message in
create_connection
(see #90);Replace
asyncio.async
calls with wrapper that respects asyncio version (see #101);Use NODELAY option for TCP sockets (see #105);
New
aioredis.ConnectionClosedError
exception added. Raised if connection to Redis server is lost (see #108 and #109);Fix RedisPool to close and drop connection in subscribe mode on release;
Fix
aioredis.util.decode
to recursively decode list responses;More examples added and docs updated;
Add google groups link to README;
Bump year in LICENSE and docs;
0.2.4 (2015-10-13)¶
Python 3.5
async
support:New scan commands API (
iscan
,izscan
,ihscan
);Pool made awaitable (allowing
with await pool: ...
andasync with pool.get() as conn:
constructs);
Fixed dropping closed connections from free pool (see #83);
Docs updated;
0.2.3 (2015-08-14)¶
0.2.2 (2015-07-07)¶
Decoding data with
encoding
parameter now takes into account list (array) replies (see #68);encoding
parameter added to following commands:generic commands: keys, randomkey;
hash commands: hgetall, hkeys, hmget, hvals;
list commands: blpop, brpop, brpoplpush, lindex, lpop, lrange, rpop, rpoplpush;
set commands: smembers, spop, srandmember;
string commands: getrange, getset, mget;
Backward incompatibility:
ltrim
command now returns bool value instead of ‘OK’;Tests updated;
0.2.1 (2015-07-06)¶
Logging added (aioredis.log module);
Fixed issue with
wait_message
in pub/sub (see #66);
0.2.0 (2015-06-04)¶
Pub/Sub support added;
Fix in
zrevrangebyscore
command (see #62);Fixes/tests/docs;
0.1.5 (2014-12-09)¶
AutoConnector added;
wait_closed method added for clean connections shutdown;
zscore
command fixed;Test fixes;
0.1.4 (2014-09-22)¶
Dropped following Redis methods –
Redis.multi()
,Redis.exec()
,Redis.discard()
;Redis.multi_exec
hack’ish property removed;Redis.multi_exec()
method added;High-level commands implemented:
generic commands (tests);
transactions commands (api stabilization).
Backward incompatibilities:
Following sorted set commands’ API changed:
zcount
,zrangebyscore
,zremrangebyscore
,zrevrangebyscore
;set string command’ API changed;
0.1.3 (2014-08-08)¶
RedisConnection.execute refactored to support commands pipelining (see #33);
Several fixes;
WIP on transactions and commands interface;
High-level commands implemented and tested:
hash commands;
hyperloglog commands;
set commands;
scripting commands;
string commands;
list commands;
0.1.2 (2014-07-31)¶
0.1.1 (2014-07-07)¶
Transactions support (in connection, high-level commands have some issues);
Docs & tests updated.
0.1.0 (2014-06-24)¶
Initial release;
RedisConnection implemented;
RedisPool implemented;
Docs for RedisConnection & RedisPool;
WIP on high-level API.