Skip to content

Releases: DriverX/aioredis-cluster

v2.2.0

18 Jul 14:59
Compare
Choose a tag to compare
  • fetch several cluster state candidates from cluster for choose best metadata for final local state
  • apply cluster state only if cluster metadata is changed
  • FIX: handle closed pubsub connection before gc its collected that trigger Task was destroyed but it is pending! message in log
  • improve logging in state loader

v2.1.0

09 Jul 20:57
Compare
Choose a tag to compare
  • fix bug when ConnectionsPool.acquire() is stuck because closed PUB/SUB connection is not cleanup from used set
  • fix ConnectionsPool.acquire() incorrect wakeup order for connection waiters when connection is released
  • ConnectionsPool.execute() now acquire dedicate connection for execution if command is blocking, ex. BLPOP
  • ConnectionsPool.execute() now raises ValueError exception for PUB/SUB family command
  • In ConnectionsPool PUB/SUB dedicated connections now is closing on close() call
  • add aioredis_cluster.abc.AbcConnection abstract class
  • add property readonly and method set_readonly() for aioredis_cluster.abc.AbcConnection and aioredis_cluster.abc.AbcPool
  • aioredis_cluster.Cluster now require pool_cls implementation from aioredis_cluster.abc.AbcPool
  • add ssl argument for factories create_cluster, create_redis_cluster and Cluster constructor
  • add 10% jitter for cluster state auto reload interval
  • fix incorrect iterate free connections in select(), auth() methods for ConnectionsPool

v2.0.0

20 Jun 11:02
Compare
Choose a tag to compare
  • include aioredis==1.3.1 source code into aioredis_cluster._aioredis and introduce aioredis_cluster.aioredis but for compatible and migration period
  • this release have not backward incompatible changes
  • DEPRECATION WARNING: you must migrate from import aioredis to import aioredis_cluster.aioredis because aioredis_cluster starts vendorize aioredis package and maintain it separately. Using aioredis package will be removed in v3
  • fix reacquire connection in aioredic.ConnectionsPool after Redis node failure

v1.8.0

20 May 10:01
Compare
Choose a tag to compare
  • Add xadd_620 commands method for support XADD options for Redis 6.2+

v1.7.1

15 Dec 15:54
Compare
Choose a tag to compare
  • add ClusterState.slots_assigned
  • require reload cluster state for some cases with UncoveredSlotError

v1.7.0

15 Dec 12:52
Compare
Choose a tag to compare
  • add execute_timeout for Manager
  • improve cluster state reload logging
  • reduce number of addresses to fetch cluster state
  • acquire dedicate connection from pool to fetch cluster state
  • extend ClusterState by new attributes: state, state_from, current_epoch

v1.6.1

23 Nov 14:18
Compare
Choose a tag to compare
  • fix keys extraction for XREAD and XREADGROUP commands

v1.6.0

20 Nov 14:06
Compare
Choose a tag to compare
  • make public Address, ClusterNode and ClusterState structs. Available by import from aioredis_cluster import
  • Cluster provides some new helpful methods^
    • get_master_node_by_keys(*keys) - return master ClusterNode which contains keys keys
    • create_pool_by_addr(addr, **kwargs) - create connection pool by addr and return pool wrapped by commands_factory from Cluster constructor. By default is aioredis_cluster.RedisCluster instance.
    • get_cluster_state() - return ClusterState instance with recent known cluster state received from Redis cluster
    • extract_keys(command_sequence) - returns keys of command sequence
  • drop pytest-aiohttp plugin for tests
  • add pytest-asyncio dependency for tests
  • switch asynctest -> mock library for aio tests
  • drop attrs dependency. For Python 3.6 you need install dataclasses
  • fix extract keys for BLPOP/BRPOP commands
  • add support keys extraction for ZUNION, ZINTER, ZDIFF, ZUNIONSTORE, ZINTERSTORE, ZDIFFSTORE commands
  • acquire dedicate connection from pool for potential blocking commands like BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BLMPOP, BZPOPMIN, BZPOPMAX, XREAD, XREADGROUP

v1.5.2

14 Dec 09:33
Compare
Choose a tag to compare

Changes

  • README update

v1.5.1

14 Dec 09:32
Compare
Choose a tag to compare

Changes

  • speedup crc16. Use implementation from python stdlib