releases.shpreview
Redis/redis-py

redis-py

$npx @buildinternet/releases show redis-py
Mon
Wed
Fri
MayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases7Avg2/moVersionsv7.1.1 → v8.0.0b2
Mar 22, 2023

Changes

Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!

🐛 Bug Fixes

  • CWE-404 AsyncIO Race Condition Fix (#2624, #2579)

Changes

Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!

🐛 Bug Fixes

  • CWE-404 AsyncIO Race Condition Fix (#2624, #2579)

Changes

Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!

🐛 Bug Fixes

  • CWE-404 AsyncIO Race Condition Fix (#2624, #2579)
Mar 20, 2023

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 and rpop 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

Feb 8, 2023

Changes

🐛 Bug Fixes

  • Fix #2581 UnixDomainSocketConnection object has no attribute _command_packer (#2583)

Contributors

We'd like to thank all the contributors who worked on this release!

@dvora-h and @prokazov

Feb 7, 2023

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 method StreamCommands.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

Jan 11, 2023

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

Jan 8, 2023

Changes

🚀 New Features

  • Add dialect to FT.AGGREGATE (#2537)
  • Add support for resetchannels in ACL 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 in set 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 replace get_event_loop with get_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

Dec 4, 2022
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

Nov 22, 2022
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

Nov 10, 2022

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!

@KMilhan, @barshaul, @dvora-h and @fadida

Nov 8, 2022

Changes

🧪 Experimental Features

  • Remove weight parameter from TDIGEST.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) and JSON 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

Sep 29, 2022

Changes

Breaking Changes

  • Catch Exception and not BaseException in the Connection (#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 in PubSub.get_message() to wait forever (https://github.com/redis/redis-py/pull/2295)
  • Add nowait flag to asyncio.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 not BaseException in the Connection (#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 in PubSub.get_message() to wait forever (https://github.com/redis/redis-py/pull/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

Aug 4, 2022

Changes

Breaking Changes

  • Change dropindex() function to use FT.DROPINDEX (instead FT.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 use FT.DROPINDEX (instead FT.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 with create_task (#2311)
  • Fix typo in README.md (#2314)
  • Remove python2-only __nonzero__ method from cluster.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 for XAUTOCLAIM (#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

Jun 27, 2022
Version 4.3.4

Changes

🔥 Breaking Changes

  • Fix backward compatibility from 4.3.2 in Lock.acquire() (#2254)
  • Fix XAUTOCLAIM to return the full response, instead of only keys 2+ (#2252)

🚀 New Features

  • Added dynamic_startup_nodes configuration to RedisCluster. (#2244, #2251)

🐛 Bug Fixes

  • Fix retries in async mode (#2180)
  • Async cluster: fix simultaneous initialize (#2231)
  • Uppercased commands in CommandsParser.get_keys (#2236)

🧰 Maintenance

  • Late eval of the skip condition in async tests(#2248, #2253)
  • Reuse the old nodes' connections when a cluster topology refresh is being done (#2235)
  • Docs: add pipeline examples (#2240)
  • Correct retention_msecs value (#2232)
  • Cluster: use pipeline to execute split commands (#2230)
  • Docs: Add a note about client_setname and client_name difference (#2247)

Contributors

We'd like to thank all the contributors who worked on this release!

@Iglesys347, @barshaul, @dvora-h, @earthgecko, @elemoine, @falk-h, @kristjanvalur, @psrok1 and @utkarshgupta137

Jun 2, 2022
Version 4.3.3

Changes

🐛 Bug Fixes

  • Fix Lock crash, and versioning 4.3.3 (#2210)

🧰 Maintenance

  • Async cluster: improve docs (#2208)

Contributors

We'd like to thank all the contributors who worked on this release!

@dvora-h and @utkarshgupta137

Jun 1, 2022
Version 4.3.2

Changes

🚀 New Features

  • SHUTDOWN - add support for the new NOW, FORCE and ABORT modifiers (#2150)
  • Adding pipeline support for async cluster (#2199)
  • Support CF.MEXISTS + Clean bf/commands.py (#2184)
  • Extending query_params for FT.PROFILE (#2198)
  • Implementing ClusterPipeline Lock (#2190)

🐛 Bug Fixes

  • Set default response_callbacks to redis.asyncio.cluster.ClusterNode (#2201)
  • Add default None for maxlen at xtrim command (#2188)

🧰 Maintenance

  • Async cluster: add/update typing (#2195)
  • Changed list type to single element type (#2203)
  • Made sync lock consistent and added types to it (#2137)
  • Async cluster: optimisations (#2205)
  • Fix typos in README (#2206)
  • Fix modules links to https://redis.io/commands/ (#2185)

Contributors

We'd like to thank all the contributors who worked on this release!

@Avital-Fine, @Olegt0rr, @WisdomPill, @dvora-h, @grippy, @mfgnik, @rapidia, @ryanrussell and @utkarshgupta137

May 9, 2022
Version 4.3.1

Changes

🐛 Bug Fixes

  • Fix asyncio Search crash (#2175)

Contributors

We'd like to thank all the contributors who worked on this release!

@dvora-h

May 8, 2022
Version 4.3.0

Changes

🔥 Breaking Changes

  • Replace OSError exceptions from can_read with redis.ConnectionError (#2140)
  • Updated FUNCTION LOAD changes (from release 7.0 rc3 to support redis 7.0 final) (#2139)

🚀 New Features

  • Get command keys for subcommands (#2170)
  • Add support for CLUSTER SHARDS (#2151)
  • Add support for COMMAND LIST (#2149)
  • Add Async RedisCluster (#2099)
  • ACL SETUSER - add selectors and key based permissions (#2161)
  • Support for redis 7 streams features (#2157)
  • Async Connection: Allow PubSub.run() without previous subscribe() (#2148)
  • Implemented LATENCY HISTOGRAM by always throwing NotImplementedError (#2147)
  • Add async supoort for SEARCH commands (#2096)
  • Retry(): Support negative retries value (#2110)
  • Add support for MODULE LOADEX (#2146)
  • INFO - add support for taking multiple section arguments (#2145)
  • CONFIG SET - add the ability to set multiple parameters in one call (#2143)
  • CONFIG GET - add the ability to pass multiple pattern parameters in one call (#2142)
  • Add support for COMMAND GETKEYSANDFLAGS (#2141)
  • Support CASESENSITIVE for TAG fields (#2112)

🐛 Bug Fixes

  • Rename 'update_supported_erros' to 'update_supported_errors' in Retry module (#2144)
  • Fix execute_command() determining nodes error when no key command (#2097)
  • Fix incorrect return statement in auth (#2086) (#2092)

🧰 Maintenance

  • Add unittest for PubSub.connect() (#2167)
  • Fix incorrect return annotation in asyncio.lock (#2155)
  • Minor cleanups in commands/cluster.py (#2094)
  • Update xtrim type annotation (#2093)
  • Async tests for redis commands, json, bloom, timeseries (#2087)
  • Fixed typing in getex command (#2088)

Contributors

We'd like to thank all the contributors who worked on this release!

@Andrew-Chen-Wang, @Ankhas, @Avital-Fine, @JelleZijlstra, @chayim, @dvora-h, @enjoy-binbin, @kamyabzad, @kristjanvalur, @richli, @suxb201 and @utkarshgupta137

Apr 4, 2022
Version 4.2.2

Changes

🚀 New Features

  • Extended "CLUSTER NODES" parser to support special slot entries (#2080)
    • 🔥 NOTE: This change is potentially breaking depending on your use of specialized slot entries. Support for bytes was added
  • Add support for BIT|BYTE option available in redis 7 (#2068)

🐛 Bug Fixes

  • Fix imports in for async (#2079)
  • Always clear reference to closed reader/writer (#2077)
  • Fix disable decode for dump command in async (#2070)

🧰 Maintenance

  • Cluster commands linkdocs (#2069)
  • Clarify bit type in setbit/getbit documentation (#2078)
  • Clean up test supoort enterprise environments (#2082)
  • Vector similarity search example (#2083)
  • Fix search query with params tests (#2076)

Contributors

We'd like to thank all the contributors who worked on this release!

@barshaul, @beasteers, @dsoprea, @dvora-h, @enjoy-binbin, @nosammai and @wwqgtxx

Latest
v8.0.0b2
Tracking Since
Oct 26, 2021
Last checked May 1, 2026