Releases: redis/redis-py
5.0.0b1
Changes
This release includes only support for RESP3, it should be treated as a beta. Please note response types change for those using RESP3 - meaning there breaking changes. Today this includes support for the following:
- Sync connections
- RedisCluster connections
- Async
- AsyncCluster
- Single connections both sync and async
- RedisStack support
- Pipelines
- Sentinel
The following are not yet implemented:
- Pub/Sub
- Monitor
This release introduces two different ways to enable a RESP3 redis connection, when your redis server supports it.
- redis_url has been updated to match the uri specification meaning one can now connect by:
import redis
r = redis.Redis.from_url("redis://localhost:6379?protocol=3")
r.ping()
- One can pass
protocol=3
into any existing connection object eg:
from redis.asyncio import Redis
r = Redis(host="localhost", port=6379, protocol=3)
r.ping()
4.5.3
4.4.3
4.3.6
4.5.2
Changes
π New Features
- Introduce AbstractConnection so that UnixDomainSocketConnection can call super().init (#2588)
- Added queue_class to REDIS_ALLOWED_KEYS (#2577)
- Made search document subscriptable (#2615)
- Sped up the protocol parsing (#2596)
π Bug Fixes
- Fix behaviour of async PythonParser to match RedisParser as for issue #2349 (#2582)
- Replace async_timeout by asyncio.timeout (#2602)
- Update json().arrindex() default values (#2611)
π§° Maintenance
- Coverage for pypy-3.9 (#2608)
- Developer Experience: Adding redis version compatibility details to the README (#2621)
- Remove redundant assignment to RedisCluster.nodes_manager. (#2620)
- Developer Experience: [types] update return type of smismember to list[int] (#2617)
- Developer Experience: [docs] ConnectionPool SSL example (#2605)
- Developer Experience: Fixed CredentialsProvider examples (#2587)
- Developer Experience: Update README to make pip install copy-pastable on zsh (#2584)
- Developer Experience: Fix for
lpop
andrpop
return typing (#2590)
Contributors
We'd like to thank all the contributors who worked on this release!
@CrimsonGlory, @Galtozzy, @aksinha334, @barshaul, @chayim, @davemcphee, @dvora-h, @kristjanvalur, @ryin1, @sileht, @thebarbershop, @uglide, @woutdenolf and @zakaf
4.5.1
4.5.0
Changes
Special Note: This redis-py release introduces the ability to write to Redis, using hiredis. If you're using hiredis as an optional requirement, please upgrade to hiredis 2.2.1. In many cases, writes times decrease by > 25%.
π§ͺ Experimental Features
- Add TS.MGET example for OS Redis Cluster (#2507)
π New Features
- Use hiredis::pack_command to serialized the commands. (#2570)
- Add support for
unlink
in cluster pipeline (#2562)
π Bug Fixes
- Fix issue with
pack_commands
returning an empty byte sequence (#2416) - Async HiredisParser should finish parsing after a Connection.disconnect() (#2557)
- Check for none, prior to raising exception (#2569)
- Tuple function cannot be passed more than one argument (#2573)
- Synchronise concurrent command calls to single-client to single-client mode (#2568)
π§° Maintenance
- Add TS.MGET example for OS Redis Cluster (#2507)
- Documentation changes: typo fix (#2566)
- Simplify the sync SocketBuffer, add type hints (#2543)
- Add missing
Union
type in methodStreamCommands.xclaim()
(#2553) - Change redismod docker to redis-stack-server (#2556)
Contributors
We'd like to thank all the contributors who worked on this release!
@SoulPancake, @Vivanov98, @ant1fact, @dvora-h, @gmbnomis, @jmcbailey, @kosuke-zhang, @kristjanvalur, @prokazov, @rbowen and @uglide
4.4.2
Changes
Note: this release include #2548 and it is suggested that users upgrade immediately.
π§ͺ Experimental Features
- Add support for BF.CARD (#2545)
π New Features
- Add support for custom connection pool class in NodesManager (#2547)
π Bug Fixes
- Allow replica to master promotion in nodes_cache (#2549)
- Security Fix: Updating graph parser for potential injection cases (#2548)
Contributors
We'd like to thank all the contributors who worked on this release!
@Threated, @dvora-h, @shacharPash and @zakaf
4.4.1
Changes
π New Features
- Add dialect to
FT.AGGREGATE
(#2537) - Add support for
resetchannels
inACL SETUSER
(#2514) - Allow EVAL_RO and EVALSHA_RO to be routed to read replica (#2494)
- Add timeout parameter for SentinelManagedConnection (#2495)
- Add TIMEOUT to query class (#2519)
- Add support for certain LATENCY commands (#2503)
π Bug Fixes
- Add type checking to
__eq__
in graph classes (#2531) - Accept str for
ex
parameter inset
command (#2529) - Fix for Unhandled exception related to self.host with unix socket (#2520)
- Make PythonParser resumable (#2510)
π§° Maintenance
- Fix incorrect _disconnect_raise docstring (#2534)
- Remove
DeprecationWarning
by replaceget_event_loop
withget_running_loop
(#2530) - Fix AttributeError when trying to split library version (#2539)
- Including startup instructions via redis-stack docker (#2535)
- Fix
JSON.ARRINDEX
test (#2527) - Add OpenTelemetry example with Uptrace backend (#2452)
- Switch docs to furo theme (#2492)
- Combine auto-concatenated strings (#2482)
- Updating graph tests to support new execution plan (#2486)
- Raising NotImplementedError for certain CLUSTER and LATENCY commands (#2504) (#2501)
Contributors
We'd like to thank all the contributors who worked on this release!
@DvirDukhan, @SessionIssue, @YiuRULE, @chayim, @dgilmanAIDENTIFIED, @dvora-h, @kristjanvalur, @mohsinhaider, @raz-mon, @shacharPash, @stitchWzc, @uglide, @vmihailenco, @winmorre and @zakaf
Version 4.4.0
Changes
4.4.0rc4 release notes
4.4.0rc3 release notes
4.4.0rc2 release notes
4.4.0rc1 release notes
π New Features (since 4.4.0rc4)
- Async clusters: Support creating locks inside async functions (#2471)
π Bug Fixes (since 4.4.0rc4)
- Async: added 'blocking' argument to call lock method (#2454)
- Added a replacement for the default cluster node in the event of failure. (#2463)
- Fixed geosearch: Wrong number of arguments for
geosearch
command (#2464)
π§° Maintenance (since 4.4.0rc4)
- Updating dev dependencies (#2475)
- Removing deprecated LGTM (#2473)
- Added an explicit index name in RediSearch example (#2466)
- Adding connection step to bloom filter examples (#2478)
Contributors (since 4.4.0rc4)
We'd like to thank all the contributors who worked on this release!
@Sibuken, @barshaul, @chayim, @dvora-h, @nermiller, @uglide and @utkarshgupta137