Releases¶
1.1.0 (2018-02-16)¶
NEW:
- Implement new commands:
wait,touch,swapdb,unlink(see #376); - Add
async_opargument toflushallandflushdbcommands (see #364, and #370);
FIX:
- Important! Fix Sentinel sentinel client with pool
minsizegreater than 1 (see #380); - Fix
SentinelPool.discover_timeoutusage (see #379); - Fix
Receiverhang on disconnect (see #354, and #366); - Fix an issue with
subscribe/psubscribewith 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_redisfunction will yieldRedisinstance instead ofRedisPool(see #129); - Important! Change sorted set commands reply format:
return list of tuples instead of plain list for commands
accepting
withscoresargument (see #334); - Important! Change
hscancommand reply format: return list of tuples instead of mixed key-value list (see #335); - Implement Redis URI support as supported
addressargument value (see #322); - Dropped
create_reconnecting_redis,create_redis_poolshould be used instead; - Implement custom
StreamReader(see #273); - Implement Sentinel support (see #181);
- Implement pure-python parser (see #212);
- Add
migrate_keyscommand (see #187); - Add
zrevrangebylexcommand (see #201); - Add
command,command_count,command_getkeysandcommand_infocommands (see #229); - Add
pingsupport in pubsub connection (see #264); - Add
existparameter tozaddcommand (see #288); - Add
MaxClientsErrorand implementReplyErrorspecialization (see #325); - Add
encodingparameter to sorted set commands (see #289);
FIX:
- Fix
CancelledErrorinconn._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
bytearraysupport 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_redisandcreate_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
zrevrangebylexcommand (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
Channelinstances (see #168); - Implement new Pub/Sub MPSC (multi-producers, single-consumer) Queue –
aioredis.pubsub.Receiver(see #176); - Add
aioredis.abcmodule providing abstract base classes defining interface for basic lib components; (see #176); - Implement Geo commands support (see #177 and #179);
FIX:
- Minor tests fixes;
MISC:
0.2.9 (2016-10-24)¶
NEW:
FIX:
- Close RedisPool when connection to Redis failed (see #136);
- Add simple
INFOcommand 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_dictcommand (see #130); - Add
RedisConnection.addressproperty; - RedisPool
minsize/maxsizemust not beNone; - Implement
close()/wait_closed()/closedinterface 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()convertion 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.Futureuses 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.ConnectionClosedErrorraised inexecute_pubsubas 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.Channelallowing 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/awaitsyntax (see #93); - Fix Multi/Exec to honor encoding parameter (see #94 and #97);
- Add debug message in
create_connection(see #90); - Replace
asyncio.asynccalls with wrapper that respects asyncio version (see #101); - Use NODELAY option for TCP sockets (see #105);
- New
aioredis.ConnectionClosedErrorexception 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.decodeto 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
asyncsupport:- New scan commands API (
iscan,izscan,ihscan); - Pool made awaitable (allowing
with await pool: ...andasync with pool.get() as conn:constructs);
- New scan commands API (
- 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
encodingparameter now takes into account list (array) replies (see #68);encodingparameter 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:
ltrimcommand now returns bool value instead of ‘OK’;Tests updated;
0.2.1 (2015-07-06)¶
- Logging added (aioredis.log module);
- Fixed issue with
wait_messagein pub/sub (see #66);
0.2.0 (2015-06-04)¶
- Pub/Sub support added;
- Fix in
zrevrangebyscorecommand (see #62); - Fixes/tests/docs;
0.1.5 (2014-12-09)¶
- AutoConnector added;
- wait_closed method added for clean connections shutdown;
zscorecommand fixed;- Test fixes;
0.1.4 (2014-09-22)¶
Dropped following Redis methods –
Redis.multi(),Redis.exec(),Redis.discard();Redis.multi_exechack’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.