Skip to content

Bump redis from 4.6.0 to 5.0.0

HIFIS Bot requested to merge dependabot/pip/redis-5.0.0 into master

Bumps redis from 4.6.0 to 5.0.0.

Release notes

Sourced from redis's releases.

5.0.0

What's new?

Triggers and Functions support

Triggers and Functions allow you to execute server-side functions triggered when key values are modified or created in Redis, a stream entry arrival, or explicitly calling them. Simply put, you can replace Lua scripts with easy-to-develop JavaScript or TypeScript code. Move your business logic closer to the data to ensure a lower latency, and forget about updating dependent key values manually in your code. Try it for yourself with Quick start

Full Redis 7.2 and RESP3 support

Python 3.7 End-of-Life

Python 3.7 has reached its end-of-life (EOL) as of June 2023. This means that starting from this date, Python 3.7 will no longer receive any updates, including security patches, bug fixes, or improvements. If you continue to use Python 3.7 post-EOL, you may expose your projects and systems to potential security vulnerabilities. We ended its support in this version and strongly recommend migrating to Python 3.10.

🐛 Bug Fixes

  • Fix timeout retrying on pipeline execution (#2812)
  • Fix socket garbage collection (#2859)

🧰 Maintenance

  • Updating client license to clear, MIT (#2884)
  • Add py.typed in accordance with PEP-561 (#2738)
  • Dependabot label change (#2880)
  • Fix type hints in SearchCommands (#2817)
  • Add sync modules (except search) tests to cluster CI (#2850)
  • Fix a duplicate word in CONTRIBUTING.md (#2848)
  • Fixing doc builds (#2869)
  • Change cluster docker to edge and enable debug command (#2853)

Contributors

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

@​JoanFM, @​Ovsyanka83, @​chayim, @​dependabot, @​dependabot[bot], @​dvora-h, @​kristjanvalur, @​kurtmckee, @​pall-j and @​shacharPash

5.0.0rc2

Changes

🧰 Maintenance

  • RESP3 response-callbacks cleanup (#2841)
  • Merge master to 5.0 (#2827)

5.0.0rc1

Changes

🔥 Breaking Changes

  • Change SISMEMBER return type to int by (#2813)

... (truncated)

Changelog

Sourced from redis's changelog.

* Fix [#2831](https://github.com/redis/redis-py/issues/2831), add auto_close_connection_pool=True arg to asyncio.Redis.from_url()
* Fix incorrect redis.asyncio.Cluster type hint for `retry_on_error`
* Fix dead weakref in sentinel connection causing ReferenceError ([#2767](https://github.com/redis/redis-py/issues/2767))
* Fix [#2768](https://github.com/redis/redis-py/issues/2768), Fix KeyError: 'first-entry' in parse_xinfo_stream.
* Fix [#2749](https://github.com/redis/redis-py/issues/2749), remove unnecessary __del__ logic to close connections.
* Fix [#2754](https://github.com/redis/redis-py/issues/2754), adding a missing argument to SentinelManagedConnection
* Fix `xadd` command to accept non-negative `maxlen` including 0
* Revert [#2104](https://github.com/redis/redis-py/issues/2104), [#2673](https://github.com/redis/redis-py/issues/2673), add `disconnect_on_error` option to `read_response()` (issues [#2506](https://github.com/redis/redis-py/issues/2506), [#2624](https://github.com/redis/redis-py/issues/2624))
* Add `address_remap` parameter to `RedisCluster`
* Fix incorrect usage of once flag in async Sentinel
* asyncio: Fix memory leak caused by hiredis ([#2693](https://github.com/redis/redis-py/issues/2693))
* Allow data to drain from async PythonParser when reading during a disconnect()
* Use asyncio.timeout() instead of async_timeout.timeout() for python >= 3.11 ([#2602](https://github.com/redis/redis-py/issues/2602))
* Add a Dependabot configuration to auto-update GitHub action versions.
* Add test and fix async HiredisParser when reading during a disconnect() ([#2349](https://github.com/redis/redis-py/issues/2349))
* Use hiredis-py pack_command if available.
* Support `.unlink()` in ClusterPipeline
* Simplify synchronous SocketBuffer state management
* Fix string cleanse in Redis Graph
* Make PythonParser resumable in case of error ([#2510](https://github.com/redis/redis-py/issues/2510))
* Add `timeout=None` in `SentinelConnectionManager.read_response`
* Documentation fix: password protected socket connection ([#2374](https://github.com/redis/redis-py/issues/2374))
* Allow `timeout=None` in `PubSub.get_message()` to wait forever
* add `nowait` flag to `asyncio.Connection.disconnect()`
* Update README.md links
* Fix timezone handling for datetime to unixtime conversions
* Fix start_id type for XAUTOCLAIM
* Remove verbose logging from cluster.py
* Add retry mechanism to async version of Connection
* Compare commands case-insensitively in the asyncio command parser
* Allow negative `retries` for `Retry` class to retry forever
* Add `items` parameter to `hset` signature
* Create codeql-analysis.yml ([#1988](https://github.com/redis/redis-py/issues/1988)). Thanks @chayim
* Add limited support for Lua scripting with RedisCluster
* Implement `.lock()` method on RedisCluster
* Fix cursor returned by SCAN for RedisCluster & change default target to PRIMARIES
* Fix scan_iter for RedisCluster
* Remove verbose logging when initializing ClusterPubSub, ClusterPipeline or RedisCluster
* Fix broken connection writer lock-up for asyncio ([#2065](https://github.com/redis/redis-py/issues/2065))
* Fix auth bug when provided with no username ([#2086](https://github.com/redis/redis-py/issues/2086))
* Fix missing ClusterPipeline._lock ([#2189](https://github.com/redis/redis-py/issues/2189))
* Added dynaminc_startup_nodes configuration to RedisCluster
* Fix reusing the old nodes' connections when cluster topology refresh is being done
* Fix RedisCluster to immediately raise AuthenticationError without a retry
* ClusterPipeline Doesn't Handle ConnectionError for Dead Hosts ([#2225](https://github.com/redis/redis-py/issues/2225))
* Remove compatibility code for old versions of Hiredis, drop Packaging dependency
* The `deprecated` library is no longer a dependency
* Failover handling improvements for RedisCluster and Async RedisCluster ([#2377](https://github.com/redis/redis-py/issues/2377))
* Fixed "cannot pickle '_thread.lock' object" bug ([#2354](https://github.com/redis/redis-py/issues/2354), [#2297](https://github.com/redis/redis-py/issues/2297))
* Added CredentialsProvider class to support password rotation

... (truncated)

Commits

Merge request reports