Skip to content

Releases: redis/redis-py

Version 4.3.5

22 Nov 07:27
54a1dce
Compare
Choose a tag to compare

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

10 Nov 14:22
fa45fb1
Compare
Choose a tag to compare
4.4.0rc4 Pre-release
Pre-release

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

4.4.0rc3

08 Nov 14:04
1cdba63
Compare
Choose a tag to compare
4.4.0rc3 Pre-release
Pre-release

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

4.4.0rc2

29 Sep 13:44
b0883b7
Compare
Choose a tag to compare
4.4.0rc2 Pre-release
Pre-release

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 (#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 (#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

04 Aug 14:01
2cea637
Compare
Choose a tag to compare
4.4.0rc1 Pre-release
Pre-release

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

Version 4.3.4

27 Jun 13:10
e6cd4fd
Compare
Choose a tag to compare

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

Version 4.3.3

02 Jun 14:47
bedf3c8
Compare
Choose a tag to compare

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

Version 4.3.2

01 Jun 15:25
a2365d1
Compare
Choose a tag to compare

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

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

Version 4.3.1

09 May 12:57
42b937f
Compare
Choose a tag to compare

Changes

🐛 Bug Fixes

  • Fix asyncio Search crash (#2175)

Contributors

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

@dvora-h

Version 4.3.0

08 May 14:11
c51435d
Compare
Choose a tag to compare

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