Releases: redis/redis-py
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
Version 4.3.5
Changes
This is a maintenance release of redis-py, prior to the release of 4.4.0. This release contains both bug fixes, and features, keeping pace with the release of redis-stack capabilities.
π New Features
- Add support for TIMESERIES 1.8 (#2296)
- Graph - add counters for removed labels and properties (#2292)
- Add support for TDIGEST.QUANTILE extensions (#2317)
- Add TDIGEST.TRIMMED_MEAN (#2300)
- Add support for async GRAPH module (#2273)
- Support TDIGEST.MERGESTORE and make compression optional on TDIGEST.CREATE (#2319)
- Adding reserve as an alias for create, so that we have BF.RESERVE and CF.RESERVE accuratenly supported (#2331)
π Bug Fixes
- Fix async connection.is_connected to return a boolean value (#2278)
- Fix: workaround asyncio bug on connection reset by peer (#2259)
- Fix crash: key expire while search (#2270)
- Async cluster: fix concurrent pipeline (#2280)
- Fix async SEARCH pipeline (#2316)
- Fix KeyError in async cluster - initialize before execute multi key commands (#2439)
π§° Maintenance
- Supply chain risk reduction: remove dependency on library named deprecated (#2386)
- Search test - Ignore order of the items in the response (#2322)
- Fix GRAPH.LIST & TDIGEST.QUANTILE tests (#2335)
- Fix TimeSeries range aggregation (twa) tests (#2358)
- Mark TOPK.COUNT as deprecated (#2363)
Contributors
We'd like to thank all the contributors who worked on this release!
@sileht, @utkarshgupta137, @dvora-h, @akx, @bodevone, @chayim, @DvirDukhan
4.4.0rc4
Changes
π New Features
- CredentialsProvider class added to support password rotation (#2261)
- Enable AsyncIO cluster mode lock (#2446)
π Bug Fixes
- Failover handling improvements for RedisCluster and Async RedisCluster (#2377)
- Improved response parsing options handler for special cases (#2302)
Contributors
We'd like to thank all the contributors who worked on this release!
4.4.0rc3
Changes
π§ͺ Experimental Features
- Remove
weight
parameter fromTDIGEST.ADD
and fixed tests (#2408)
π New Features
- Add
to_string
method for GeoValue (#2404)
π Bug Fixes
- Remove default None value from LMPOP direction argument (#2438)
- Fix KeyError in async cluster - initialize before execute multi key commands (#2439)
- Fix catch OSError on asyncio (#2412)
π§° Maintenance
- Remove the superflous SocketBuffer from asyncio PythonParser (#2418)
- Fix docs for password protected socket access (#2378)
- Supply chain risk reduction: remove dependency on library named
deprecated
(#2386) - Tidy up asyncio examples. (#2431)
- Docs: fix redismodules.rst (#2429)
- Fix test
test_get_moveable_keys
(#2411) - Fixing RedisBloom tests for TDIGEST.RANK results (#2430)
- Deprecate
add_doccument
(FT.ADD) (#2425) - Updating the docker image for the module cluster (#2426)
- Release drafter formatting improvement: titles (#2422)
- Fix
TIMESERIES
(round floats) andJSON
tests (#2421) - Fixing invalid vulnerability report (#2424)
- Support M1 development with updated dockers (#2409)
Contributors
We'd like to thank all the contributors who worked on this release!
@AnneYang720, @Dreamsorcerer, @aandrukhovich, @akx, @ashikshezan, @chayim, @dvora-h, @hofrob, @hyeongguen-song, @kristjanvalur and @sobolevn
4.4.0rc2
Changes
Breaking Changes
- Catch
Exception
and notBaseException
in theConnection
(#2104)
π§ͺ Experimental Features
- Add support for new TDIGEST (RedisBloom 2.4) features (#2392)
- Enhanced TDIGEST.CREATE support (#2348)
π New Features
- Simplify async timeouts and allowing
timeout=None
inPubSub.get_message()
to wait forever (#2295) - Add
nowait
flag toasyncio.Connection.disconnect()
(#2356) - Dev/no lock (#2308)
- Adding reserve as an alias for create, so that BF.RESERVE and CF.RESERVE accurately supported (#2331)
- Add support for BITFIELD_RO (#2340)
π Bug Fixes
- Catch
Exception
and notBaseException
in theConnection
(#2104) - FT.SEARCH: Fixing aggregation request argument for LIMIT (#2393)
- Change return type of parse_boolean from int to bool (#2364)
- WRONGPASS response doesn't raise AuthenticationError exception (#2329)
- Fix type hint annotations of expire time (#2361)
- Increased strictness of redis url scheme parsing (#2343)
π§° Maintenance
- Simplify async timeouts and allowing
timeout=None
inPubSub.get_message()
to wait forever (#2295) - Dev/no can read (#2360)
- Update VecSim search example to highlight dialect (#2402)
- Update GitHub Actions versions (#2389)
- Support Hiredis >= 1.x only (remove
packaging
dependency) (#2385) - Reinstate Codecov in CI (#2394)
- Adding support for readable test results in CI (#2381)
- Fix readme links (#2368)
- Fixing async test for module list (#2367)
- Mark
TOPK.COUNT
as deprecated (#2363) - Document Redis(single_connection_client) (#2327)
- Update LICENSE (#2362)
- Fix TimeSeries range aggregation (twa) tests (#2358)
- Fix documentation typos (#2341)
- Adding dependency vulnerability scanning to the CI process (#2332)
- Fix GRAPH.LIST & TDIGEST.QUANTILE tests (#2335)
- GitHub workflow update" trailofbits/gh-action-pip-audit is now pypa/gh-action-pip-audit (#2380)
Contributors
We'd like to thank all the contributors who worked on this release!
@akx, @bodevone, @chayim, @dvora-h, @gkorland, @graeme44, @kristjanvalur, @leven-cn, @lucacillario, @n8wb, @povilasb, @vanschelven and @woodruffw
4.4.0rc1
Changes
Breaking Changes
- Change
dropindex()
function to useFT.DROPINDEX
(insteadFT.DROP
) (#2315) - Drop python 3.6 support (#2306)
- Async cluster: fix max_connections/ssl & improve args (#2217)
- Remove verbose logging from
redis-py/redis/cluster.py
(#2238) - Drop python 3.6 support (#2306)
π§ͺ Experimental Features
- Add support for WITHSUFFIXTRIE to FT.CREATE (#2324)
π New Features
- Add TDIGEST.TRIMMED_MEAN (#2300)
- Support TDIGEST.MERGESTORE and make compression optional on TDIGEST.CREATE (#2319)
- Add support for
TDIGEST.QUANTILE
extensions (#2317) - Add support for async GRAPH module (#2273)
- Add support for TIMESERIES 1.8 (#2296)
- Use retry mechanism in async version of Connection objects (#2271)
- Graph - add counters for removed labels and properties (#2292)
π Bug Fixes
- Fix async SEARCH pipeline (#2316)
- Change
dropindex()
to useFT.DROPINDEX
(insteadFT.DROP
) (#2315) - Automatically reconnect pubsub when reading messages in blocking mode (#2281)
- Async cluster: fix max_connections/ssl & improve args (#2217)
- Async cluster: fix concurrent pipeline (#2280)
- Fix crash: key expire while search (#2270)
- Fix: workaround asyncio bug on connection reset by peer (#2259)
- Fix async connection.is_connected to return a boolean value (#2278)
- ClusterPipeline Doesn't Handle ConnectionError for Dead Hosts (#2225)
π§° Maintenance
- Adding experimental features, as a release option (#2323)
- Search test - Ignore order of the items in the response (#2322)
- Replace
ensure_future
withcreate_task
(#2311) - Fix typo in README.md (#2314)
- Remove python2-only
__nonzero__
method fromcluster.py
(#2313) - Fix typing on smembers command (#2312)
- drop invocation of redismod_cluster docker (#2307)
- Cleaning up the readme and moving docs into readthedocs (#2291)
- Fix warnings and resource usage problems in asyncio unittests (#2258)
- Doc add timeseries example (#2267)
- Fix:
start_id
type forXAUTOCLAIM
(#2257) - redis stream example (#2269)
- Remove verbose logging from
redis-py/redis/cluster.py
(#2238) - Docs: Fix a few typos (#2274)
- Pypy 3.8 CI support (#2266)
- Fix timezone handling for datetime to unixtime conversions (#2213)
Contributors
We'd like to thank all the contributors who worked on this release!
@DvirDukhan, @GaMeRaM, @Iglesys347, @aandrukhovich, @agusdmb, @bodevone, @chayim, @dvora-h, @grippy, @joekohlsdorf, @kristjanvalur, @nialdaly, @pedrofrazao, @sileht, @sobolevn, @szumka, @timgates42 and @utkarshgupta137