- compat: add support for python 3.10 (#13) (dda3b5de)
- pool: fix basic query argument types (30de2852)
- compat: drop support for python 3.5 (#13) (dda3b5de)
- connection: avoid hiding timeout errors on connect (#11) (7186a9b4)
- cluster: fix broken retry logic for ClusterDownErrors (#8) (a16c35d2)
- cluster: fixup invalid
Cluster.scan_iter()
default value fortype
param (#10) (2064e842) - cluster: fixup support for Python 3.6 in
Cluster.scan_iter()
(#10) (2064e842) - cluster: avoid potential pagination race condition in
Cluster.scan_iter()
(#10) (2064e842)
- cluster: run scan operation in parallel across nodes (#7) (4fbb46d0)
This is a breaking change! As of v1.1.8+, aredis
has been hard-forked and
renamed to yaaredis
. The aredis
changelog is maintained below (see
1.1.8
_ for posterity).
- rename package to
yaaredis
(1ea13dd) - remove all deprecated features (f4699a45):
- deprecated methods have been removed
- deprecated options now raise Exceptions
- some ignorable deprecations have been replaced with error logs
- pipeline: auto-execute all remaining commands at end of
with
block (814ca2bb) - pool:
ConnectionPool.get_connection()
is now a coroutine (32969ed9)
- auth: add support for Redis 5+ user&pass auth (ca96dc6d)
- client: add option to init with client name (f00c361a)
- commands: add support for SET's KEEPTTL option (22c62f04)
- pool: implement blocking connection pool (32969ed9):
- this is available as the
BlockingConnectionPool
class; note that it does not yet support cluster mode
- this is available as the
- scan: add TYPE option (0625dd8c)
- client: prevent retry_on_timeout from affecting ConnectionError (6626ebce):
- ie.
retry_on_timeout
now only comes into play for timeouts
- ie.
- cluster: avoid runtime error on disconnected client (740ea19f):
- prevents a race condition within
yaaredis
from raising occasional errors
- prevents a race condition within
- connection:
- pubsub: reraise CancelledError during _execute (90dd2641):
- prevents an issue where a cancelled coroutine may continue indefinitely
- cluster: support MGET and MSET for hashed keys (08180835):
- see the following redis documentation for more info: https://redis.io/topics/cluster-tutorial#redis-cluster-data-sharding you'll need to make use of "hash slots" to get the full benefit of this feature
- convert build system to poetry (b86d695):
- note that this should not affect end-users, only yaaredis developers
- publish pypi wheels from CI (05c2265):
- we should now have wheels for various versions of Python for all releases
- we currently support manylinux wheels for all compatible Python versions
- Fixbug: connection is disconnected before idel check, valueError will be raised if a connection(not exist) is removed from connection list
- Fixbug: abstract compat.py to handle import problem of asyncio.future
- Fixbug: When cancelling a task, CancelledError exception is not propagated to client
- Fixbug: XREAD command should accept 0 as a block argument
- Fixbug: In redis cluster mode, XREAD command does not function properly
- Fixbug: slave connection params when there are no slaves
- Fixbug: ModuleNotFoundError raised when install aredis 1.1.6 with Python3.6
- Fixbug: parsing stream messgae with empty payload will cause error(#116)
- Fixbug: Let ClusterConnectionPool handle skip_full_coverage_check (#118)
- New: threading local issue in coroutine, use contextvars instead of threading local in case of the safety of thread local mechanism being broken by coroutine (#120)
- New: support Python 3.8
- new: Dev conn pool max idle time (#111) release connection if max-idle-time exceeded
- update: discard travis-CI
- Fix bug: new stream id used for test_streams
- fix bug: fix cluster port parsing for redis 4+(node info)
- fix bug: wrong parse method of scan_iter in cluster mode
- fix bug: When using "zrange" with "desc=True" parameter, it returns a coroutine without "await"
- fix bug: do not use stream_timeout in the PubSubWorkerThread
- opt: add socket_keepalive options
- new: add ssl param in get_redis_link to support ssl mode
- new: add ssl_context to StrictRedis constructor and make it higher priority than ssl parameter
- allow use of zadd options for zadd in sorted sets
- fix bug: use inspect.isawaitable instead of typing.Awaitable to judge if an object is awaitable
- fix bug: implicitly disconnection on cancelled error (#84)
- new: add support for
streams
(including commands not officially released, seestreams <http://aredis.readthedocs.io/en/latest/streams.html>
_ )
- fix bug: redis command encoding bug
- optimization: sync change on acquring lock from redis-py
- fix bug: decrement connection count on connection disconnected
- fix bug: optimize code proceed single node slots
- fix bug: initiation error of aws cluster client caused by not appropiate function list used
- fix bug: use
ssl_context
instead of ssl_keyfile,ssl_certfile,ssl_cert_reqs,ssl_ca_certs in intialization of connection_pool
- fix bug: connection with unread response being released to connection pool will lead to parse error, now this kind of connection will be destructed directly.
related issue <https://github.com/NoneGG/aredis/issues/52>
_ - fix bug: remove Connection.can_read check which may lead to block in awaiting pubsub message. Connection.can_read api will be deprecated in next release.
related issue <https://github.com/NoneGG/aredis/issues/56>
_ - add c extension to speedup crc16, which will speedup cluster slot hashing
- add error handling for asyncio.futures.Cancelled error, which may cause error in response parsing.
- sync optimization of client list made by swilly22 from redis-py
- add support for distributed lock using redis cluster
- sync optimization of scripting from redis-py made by
bgreenberg <https://github.com/bgreenberg-eb>
_related pull request <https://github.com/andymccurdy/redis-py/pull/867>
_ - sync bug fixed of
geopos
from redis-py made bycategulario <https://github.com/categulario>
_related pull request <https://github.com/andymccurdy/redis-py/pull/888>
_ - fix bug which makes pipeline callback function not executed
- fix error caused by byte decode issues in sentinel
- add basic transaction support for single node in cluster
- fix bug of get_random_connection reported by myrfy001
- fix bug of pubsub, in some env AssertionError is raised because connection is used again after reader stream being fed eof
- add reponse decoding related options(
encoding
&decode_responses
), make client easier to use - add support for command
cluster forget
- add support for command option
spop count
- fix initialization bug of redis cluster client
- add example to explain how to use
client reply on | off | skip
- introduce loop argument to aredis
- add support for command
cluster slots
- add support for redis cluster
- bitfield set/get/incrby/overflow supported
- new command
hstrlen
supported - new command
unlink
supported - new command
touch
supported
- fix bug in setup.py when using pip to install aredis
- add support for command
pubsub channel
,pubsub numpat
andpubsub numsub
- add support for command
client pause
- reconsitution of commands to make develop easier(which is transparent to user)
- add support for cache (Cache and HerdCache class)
- fix bug of
PubSub.run_in_thread
- add scan_iter, sscan_iter, hscan_iter, zscan_iter and corresponding unit tests
- fix bug of
PubSub.run_in_thread
- add more examples
- change
Script.register
toScript.execute