Skip to content

Releases: redis/redis-py

4.5.1

08 Feb 14:21
fd7a79d
Compare
Choose a tag to compare

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

4.5.0

07 Feb 15:18
5cb5712
Compare
Choose a tag to compare

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

4.4.2

11 Jan 14:01
8592cac
Compare
Choose a tag to compare

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

08 Jan 10:01
f46d7f3
Compare
Choose a tag to compare

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

Version 4.4.0

04 Dec 10:47
6fa6cfc
Compare
Choose a tag to compare

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

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