-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: replace async_timeout by asyncio.timeout #2602
Conversation
Codecov ReportPatch coverage:
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more Additional details and impacted files@@ Coverage Diff @@
## master #2602 +/- ##
==========================================
- Coverage 92.31% 92.17% -0.15%
==========================================
Files 115 115
Lines 29744 29749 +5
==========================================
- Hits 27459 27421 -38
- Misses 2285 2328 +43
... and 18 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
async_timeout does not support python 3.11 aio-libs/async-timeout#295 And have two years old annoying bugs: aio-libs/async-timeout#229 redis#2551 Since asyncio.timeout has been shipped in python 3.11, we should start using it. Partially fixes 2551
The CIs failure looks unrelated to the change. |
Bumps [redis](https://github.com/redis/redis-py) from 3.5.3 to 4.5.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/releases">redis's releases</a>.</em></p> <blockquote> <h2>4.5.3</h2> <h1>Changes</h1> <p>Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!</p> <h2>🐛 Bug Fixes</h2> <ul> <li><a href="https://cwe.mitre.org/data/definitions/404.html">CWE-404</a> AsyncIO Race Condition Fix (<a href="https://github.com/redis/redis-py/issues/2624">#2624</a>, <a href="https://github.com/redis/redis-py/issues/2579">#2579</a>)</li> </ul> <h2>4.5.2</h2> <h1>Changes</h1> <h2>🚀 New Features</h2> <ul> <li>Introduce AbstractConnection so that UnixDomainSocketConnection can call super().<strong>init</strong> (<a href="https://github.com/redis/redis-py/issues/2588">#2588</a>)</li> <li>Added queue_class to REDIS_ALLOWED_KEYS (<a href="https://github.com/redis/redis-py/issues/2577">#2577</a>)</li> <li>Made search document subscriptable (<a href="https://github.com/redis/redis-py/issues/2615">#2615</a>)</li> <li>Sped up the protocol parsing (<a href="https://github.com/redis/redis-py/issues/2596">#2596</a>)</li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix behaviour of async PythonParser to match RedisParser as for issue <a href="https://github.com/redis/redis-py/issues/2349">#2349</a> (<a href="https://github.com/redis/redis-py/issues/2582">#2582</a>)</li> <li>Replace async_timeout by asyncio.timeout (<a href="https://github.com/redis/redis-py/issues/2602">#2602</a>)</li> <li>Update json().arrindex() default values (<a href="https://github.com/redis/redis-py/issues/2611">#2611</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Coverage for pypy-3.9 (<a href="https://github.com/redis/redis-py/issues/2608">#2608</a>)</li> <li>Developer Experience: Adding redis version compatibility details to the README (<a href="https://github.com/redis/redis-py/issues/2621">#2621</a>)</li> <li>Remove redundant assignment to RedisCluster.nodes_manager. (<a href="https://github.com/redis/redis-py/issues/2620">#2620</a>)</li> <li>Developer Experience: [types] update return type of smismember to list[int] (<a href="https://github.com/redis/redis-py/issues/2617">#2617</a>)</li> <li>Developer Experience: [docs] ConnectionPool SSL example (<a href="https://github.com/redis/redis-py/issues/2605">#2605</a>)</li> <li>Developer Experience: Fixed CredentialsProvider examples (<a href="https://github.com/redis/redis-py/issues/2587">#2587</a>)</li> <li>Developer Experience: Update README to make pip install copy-pastable on zsh (<a href="https://github.com/redis/redis-py/issues/2584">#2584</a>)</li> <li>Developer Experience: Fix for <code>lpop</code> and <code>rpop</code> return typing (<a href="https://github.com/redis/redis-py/issues/2590">#2590</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <p><a href="https://github.com/CrimsonGlory"><code>@CrimsonGlory</code></a>, <a href="https://github.com/Galtozzy"><code>@Galtozzy</code></a>, <a href="https://github.com/aksinha334"><code>@aksinha334</code></a>, <a href="https://github.com/barshaul"><code>@barshaul</code></a>, <a href="https://github.com/chayim"><code>@chayim</code></a>, <a href="https://github.com/davemcphee"><code>@davemcphee</code></a>, <a href="https://github.com/dvora-h"><code>@dvora-h</code></a>, <a href="https://github.com/kristjanvalur"><code>@kristjanvalur</code></a>, <a href="https://github.com/ryin1"><code>@ryin1</code></a>, <a href="https://github.com/sileht"><code>@sileht</code></a>, <a href="https://github.com/thebarbershop"><code>@thebarbershop</code></a>, <a href="https://github.com/uglide"><code>@uglide</code></a>, <a href="https://github.com/woutdenolf"><code>@woutdenolf</code></a> and <a href="https://github.com/zakaf"><code>@zakaf</code></a></p> <h2>4.5.1</h2> <h1>Changes</h1> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix <a href="https://github.com/redis/redis-py/issues/2581">#2581</a> <code>UnixDomainSocketConnection</code> object has no attribute <code>_command_packer</code> (<a href="https://github.com/redis/redis-py/issues/2583">#2583</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/blob/master/CHANGES">redis's changelog</a>.</em></p> <blockquote> <pre><code>* 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](redis/redis-py#2602)) * Add test and fix async HiredisParser when reading during a disconnect() ([#2349](redis/redis-py#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](redis/redis-py#2510)) * Add `timeout=None` in `SentinelConnectionManager.read_response` * Documentation fix: password protected socket connection ([#2374](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2065)) * Fix auth bug when provided with no username ([#2086](redis/redis-py#2086)) * Fix missing ClusterPipeline._lock ([#2189](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2377)) * Fixed "cannot pickle '_thread.lock' object" bug ([#2354](redis/redis-py#2354), [#2297](redis/redis-py#2297)) * Added CredentialsProvider class to support password rotation * Enable Lock for asyncio cluster mode * Fix Sentinel.execute_command doesn't execute across the entire sentinel cluster bug ([#2458](redis/redis-py#2458)) * Added a replacement for the default cluster node in the event of failure ([#2463](redis/redis-py#2463)) * Fix for Unhandled exception related to self.host with unix socket ([#2496](redis/redis-py#2496)) </code></pre> <ul> <li>4.1.3 (Feb 8, 2022) <ul> <li>Fix flushdb and flushall (<a href="https://github.com/redis/redis-py/issues/1926">#1926</a>)</li> <li>Add redis5 and redis4 dockers (<a href="https://github.com/redis/redis-py/issues/1871">#1871</a>)</li> <li>Change json.clear test multi to be up to date with redisjson (<a href="https://github.com/redis/redis-py/issues/1922">#1922</a>)</li> <li>Fixing volume for unstable_cluster docker (<a href="https://github.com/redis/redis-py/issues/1914">#1914</a>)</li> <li>Update changes file with changes since 4.0.0-beta2 (<a href="https://github.com/redis/redis-py/issues/1915">#1915</a>)</li> </ul> </li> <li>4.1.2 (Jan 27, 2022)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/redis-py/commit/66a4d6b2a493dd3a20cc299ab5fef3c14baad965"><code>66a4d6b</code></a> AsyncIO Race Condition Fix (<a href="https://github.com/redis/redis-py/issues/2641">#2641</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/318b114f4da9846a2a7c150e1fb702e9bebd9fdf"><code>318b114</code></a> Version 4.5.2 (<a href="https://github.com/redis/redis-py/issues/2627">#2627</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/1b2f408259405d412d7530291902f9e0c8bd34b3"><code>1b2f408</code></a> Fix behaviour of async PythonParser to match RedisParser as for issue <a href="https://github.com/redis/redis-py/issues/2349">#2349</a> (...</li> <li><a href="https://github.com/redis/redis-py/commit/7d474f90453c7b90bd06c94e0250b618120a599d"><code>7d474f9</code></a> introduce AbstractConnection so that UnixDomainSocketConnection can call supe...</li> <li><a href="https://github.com/redis/redis-py/commit/c87172347584301f453c601c483126e4800257b7"><code>c871723</code></a> pypy-3.9 CI (<a href="https://github.com/redis/redis-py/issues/2608">#2608</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/d63313bf6080acaf18d61e072c78303adc0d4166"><code>d63313b</code></a> add queue_class to REDIS_ALLOWED_KEYS (<a href="https://github.com/redis/redis-py/issues/2577">#2577</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/c61eeb2e3b5dff1f01eb1e665f424c7e75354f56"><code>c61eeb2</code></a> Adding supported redis/library details (<a href="https://github.com/redis/redis-py/issues/2621">#2621</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/25e85e51e57b7aae9eb8fc77cfb0a45a07a501a7"><code>25e85e5</code></a> fix: replace async_timeout by asyncio.timeout (<a href="https://github.com/redis/redis-py/issues/2602">#2602</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/91ab12a0f1bdf0e433131e1a51578e9fa2f89718"><code>91ab12a</code></a> Remove redundant assignment. (<a href="https://github.com/redis/redis-py/issues/2620">#2620</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/8bfd492240fd33489a86cd3d353e3ece1fc94c10"><code>8bfd492</code></a> Making search document subscriptable (<a href="https://github.com/redis/redis-py/issues/2615">#2615</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/redis-py/compare/3.5.3...v4.5.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=pip&previous-version=3.5.3&new-version=4.5.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/mozilla/experimenter/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yashika Khurana <yashikakhuranayashika@gmail.com>
Bumps [redis](https://github.com/redis/redis-py) from 3.5.3 to 4.5.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/releases">redis's releases</a>.</em></p> <blockquote> <h2>4.5.3</h2> <h1>Changes</h1> <p>Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!</p> <h2>🐛 Bug Fixes</h2> <ul> <li><a href="https://cwe.mitre.org/data/definitions/404.html">CWE-404</a> AsyncIO Race Condition Fix (<a href="https://github.com/redis/redis-py/issues/2624">#2624</a>, <a href="https://github.com/redis/redis-py/issues/2579">#2579</a>)</li> </ul> <h2>4.5.2</h2> <h1>Changes</h1> <h2>🚀 New Features</h2> <ul> <li>Introduce AbstractConnection so that UnixDomainSocketConnection can call super().<strong>init</strong> (<a href="https://github.com/redis/redis-py/issues/2588">#2588</a>)</li> <li>Added queue_class to REDIS_ALLOWED_KEYS (<a href="https://github.com/redis/redis-py/issues/2577">#2577</a>)</li> <li>Made search document subscriptable (<a href="https://github.com/redis/redis-py/issues/2615">#2615</a>)</li> <li>Sped up the protocol parsing (<a href="https://github.com/redis/redis-py/issues/2596">#2596</a>)</li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix behaviour of async PythonParser to match RedisParser as for issue <a href="https://github.com/redis/redis-py/issues/2349">#2349</a> (<a href="https://github.com/redis/redis-py/issues/2582">#2582</a>)</li> <li>Replace async_timeout by asyncio.timeout (<a href="https://github.com/redis/redis-py/issues/2602">#2602</a>)</li> <li>Update json().arrindex() default values (<a href="https://github.com/redis/redis-py/issues/2611">#2611</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Coverage for pypy-3.9 (<a href="https://github.com/redis/redis-py/issues/2608">#2608</a>)</li> <li>Developer Experience: Adding redis version compatibility details to the README (<a href="https://github.com/redis/redis-py/issues/2621">#2621</a>)</li> <li>Remove redundant assignment to RedisCluster.nodes_manager. (<a href="https://github.com/redis/redis-py/issues/2620">#2620</a>)</li> <li>Developer Experience: [types] update return type of smismember to list[int] (<a href="https://github.com/redis/redis-py/issues/2617">#2617</a>)</li> <li>Developer Experience: [docs] ConnectionPool SSL example (<a href="https://github.com/redis/redis-py/issues/2605">#2605</a>)</li> <li>Developer Experience: Fixed CredentialsProvider examples (<a href="https://github.com/redis/redis-py/issues/2587">#2587</a>)</li> <li>Developer Experience: Update README to make pip install copy-pastable on zsh (<a href="https://github.com/redis/redis-py/issues/2584">#2584</a>)</li> <li>Developer Experience: Fix for <code>lpop</code> and <code>rpop</code> return typing (<a href="https://github.com/redis/redis-py/issues/2590">#2590</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <p><a href="https://github.com/CrimsonGlory"><code>@CrimsonGlory</code></a>, <a href="https://github.com/Galtozzy"><code>@Galtozzy</code></a>, <a href="https://github.com/aksinha334"><code>@aksinha334</code></a>, <a href="https://github.com/barshaul"><code>@barshaul</code></a>, <a href="https://github.com/chayim"><code>@chayim</code></a>, <a href="https://github.com/davemcphee"><code>@davemcphee</code></a>, <a href="https://github.com/dvora-h"><code>@dvora-h</code></a>, <a href="https://github.com/kristjanvalur"><code>@kristjanvalur</code></a>, <a href="https://github.com/ryin1"><code>@ryin1</code></a>, <a href="https://github.com/sileht"><code>@sileht</code></a>, <a href="https://github.com/thebarbershop"><code>@thebarbershop</code></a>, <a href="https://github.com/uglide"><code>@uglide</code></a>, <a href="https://github.com/woutdenolf"><code>@woutdenolf</code></a> and <a href="https://github.com/zakaf"><code>@zakaf</code></a></p> <h2>4.5.1</h2> <h1>Changes</h1> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix <a href="https://github.com/redis/redis-py/issues/2581">#2581</a> <code>UnixDomainSocketConnection</code> object has no attribute <code>_command_packer</code> (<a href="https://github.com/redis/redis-py/issues/2583">#2583</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/blob/master/CHANGES">redis's changelog</a>.</em></p> <blockquote> <pre><code>* 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](redis/redis-py#2602)) * Add test and fix async HiredisParser when reading during a disconnect() ([#2349](redis/redis-py#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](redis/redis-py#2510)) * Add `timeout=None` in `SentinelConnectionManager.read_response` * Documentation fix: password protected socket connection ([#2374](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2065)) * Fix auth bug when provided with no username ([#2086](redis/redis-py#2086)) * Fix missing ClusterPipeline._lock ([#2189](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2377)) * Fixed "cannot pickle '_thread.lock' object" bug ([#2354](redis/redis-py#2354), [#2297](redis/redis-py#2297)) * Added CredentialsProvider class to support password rotation * Enable Lock for asyncio cluster mode * Fix Sentinel.execute_command doesn't execute across the entire sentinel cluster bug ([#2458](redis/redis-py#2458)) * Added a replacement for the default cluster node in the event of failure ([#2463](redis/redis-py#2463)) * Fix for Unhandled exception related to self.host with unix socket ([#2496](redis/redis-py#2496)) </code></pre> <ul> <li>4.1.3 (Feb 8, 2022) <ul> <li>Fix flushdb and flushall (<a href="https://github.com/redis/redis-py/issues/1926">#1926</a>)</li> <li>Add redis5 and redis4 dockers (<a href="https://github.com/redis/redis-py/issues/1871">#1871</a>)</li> <li>Change json.clear test multi to be up to date with redisjson (<a href="https://github.com/redis/redis-py/issues/1922">#1922</a>)</li> <li>Fixing volume for unstable_cluster docker (<a href="https://github.com/redis/redis-py/issues/1914">#1914</a>)</li> <li>Update changes file with changes since 4.0.0-beta2 (<a href="https://github.com/redis/redis-py/issues/1915">#1915</a>)</li> </ul> </li> <li>4.1.2 (Jan 27, 2022)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/redis-py/commit/66a4d6b2a493dd3a20cc299ab5fef3c14baad965"><code>66a4d6b</code></a> AsyncIO Race Condition Fix (<a href="https://github.com/redis/redis-py/issues/2641">#2641</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/318b114f4da9846a2a7c150e1fb702e9bebd9fdf"><code>318b114</code></a> Version 4.5.2 (<a href="https://github.com/redis/redis-py/issues/2627">#2627</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/1b2f408259405d412d7530291902f9e0c8bd34b3"><code>1b2f408</code></a> Fix behaviour of async PythonParser to match RedisParser as for issue <a href="https://github.com/redis/redis-py/issues/2349">#2349</a> (...</li> <li><a href="https://github.com/redis/redis-py/commit/7d474f90453c7b90bd06c94e0250b618120a599d"><code>7d474f9</code></a> introduce AbstractConnection so that UnixDomainSocketConnection can call supe...</li> <li><a href="https://github.com/redis/redis-py/commit/c87172347584301f453c601c483126e4800257b7"><code>c871723</code></a> pypy-3.9 CI (<a href="https://github.com/redis/redis-py/issues/2608">#2608</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/d63313bf6080acaf18d61e072c78303adc0d4166"><code>d63313b</code></a> add queue_class to REDIS_ALLOWED_KEYS (<a href="https://github.com/redis/redis-py/issues/2577">#2577</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/c61eeb2e3b5dff1f01eb1e665f424c7e75354f56"><code>c61eeb2</code></a> Adding supported redis/library details (<a href="https://github.com/redis/redis-py/issues/2621">#2621</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/25e85e51e57b7aae9eb8fc77cfb0a45a07a501a7"><code>25e85e5</code></a> fix: replace async_timeout by asyncio.timeout (<a href="https://github.com/redis/redis-py/issues/2602">#2602</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/91ab12a0f1bdf0e433131e1a51578e9fa2f89718"><code>91ab12a</code></a> Remove redundant assignment. (<a href="https://github.com/redis/redis-py/issues/2620">#2620</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/8bfd492240fd33489a86cd3d353e3ece1fc94c10"><code>8bfd492</code></a> Making search document subscriptable (<a href="https://github.com/redis/redis-py/issues/2615">#2615</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/redis-py/compare/3.5.3...v4.5.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=pip&previous-version=3.5.3&new-version=4.5.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/datacommonsorg/website/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bo Xu <shifucun@users.noreply.github.com>
Bumps [redis](https://github.com/redis/redis-py) from 4.6.0 to 5.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/releases">redis's releases</a>.</em></p> <blockquote> <h2>5.0.0</h2> <h2>What's new?</h2> <h3>Triggers and Functions support</h3> <p>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. <a href="https://redis.io/docs/interact/programmability/triggers-and-functions/quick_start/">Try it for yourself with Quick start</a></p> <h3>Full Redis 7.2 and <a href="https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md">RESP3 support</a></h3> <h3>Python 3.7 End-of-Life</h3> <p><a href="https://devguide.python.org/versions/">Python 3.7 has reached its end-of-life (EOL) as of June 2023</a>. 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.</p> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix timeout retrying on pipeline execution (<a href="https://github.com/redis/redis-py/issues/2812">#2812</a>)</li> <li>Fix socket garbage collection (<a href="https://github.com/redis/redis-py/issues/2859">#2859</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Updating client license to clear, MIT (<a href="https://github.com/redis/redis-py/issues/2884">#2884</a>)</li> <li>Add py.typed in accordance with PEP-561 (<a href="https://github.com/redis/redis-py/issues/2738">#2738</a>)</li> <li>Dependabot label change (<a href="https://github.com/redis/redis-py/issues/2880">#2880</a>)</li> <li>Fix type hints in SearchCommands (<a href="https://github.com/redis/redis-py/issues/2817">#2817</a>)</li> <li>Add sync modules (except search) tests to cluster CI (<a href="https://github.com/redis/redis-py/issues/2850">#2850</a>)</li> <li>Fix a duplicate word in <code>CONTRIBUTING.md</code> (<a href="https://github.com/redis/redis-py/issues/2848">#2848</a>)</li> <li>Fixing doc builds (<a href="https://github.com/redis/redis-py/issues/2869">#2869</a>)</li> <li>Change cluster docker to edge and enable debug command (<a href="https://github.com/redis/redis-py/issues/2853">#2853</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <p><a href="https://github.com/JoanFM"><code>@JoanFM</code></a>, <a href="https://github.com/Ovsyanka83"><code>@Ovsyanka83</code></a>, <a href="https://github.com/chayim"><code>@chayim</code></a>, <a href="https://github.com/dependabot"><code>@dependabot</code></a>, <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/dvora-h"><code>@dvora-h</code></a>, <a href="https://github.com/kristjanvalur"><code>@kristjanvalur</code></a>, <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a>, <a href="https://github.com/pall-j"><code>@pall-j</code></a> and <a href="https://github.com/shacharPash"><code>@shacharPash</code></a></p> <h2>5.0.0rc2</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>RESP3 response-callbacks cleanup (<a href="https://github.com/redis/redis-py/issues/2841">#2841</a>)</li> <li>Merge master to 5.0 (<a href="https://github.com/redis/redis-py/issues/2827">#2827</a>)</li> </ul> <h2>5.0.0rc1</h2> <h2>Changes</h2> <h2>🔥 Breaking Changes</h2> <ul> <li>Change <code>SISMEMBER</code> return type to int by (<a href="https://github.com/redis/redis-py/issues/2813">#2813</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/blob/master/CHANGES">redis's changelog</a>.</em></p> <blockquote> <pre><code>* Fix [#2831](redis/redis-py#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](redis/redis-py#2767)) * Fix [#2768](redis/redis-py#2768), Fix KeyError: 'first-entry' in parse_xinfo_stream. * Fix [#2749](redis/redis-py#2749), remove unnecessary __del__ logic to close connections. * Fix [#2754](redis/redis-py#2754), adding a missing argument to SentinelManagedConnection * Fix `xadd` command to accept non-negative `maxlen` including 0 * Revert [#2104](redis/redis-py#2104), [#2673](redis/redis-py#2673), add `disconnect_on_error` option to `read_response()` (issues [#2506](redis/redis-py#2506), [#2624](redis/redis-py#2624)) * Add `address_remap` parameter to `RedisCluster` * Fix incorrect usage of once flag in async Sentinel * asyncio: Fix memory leak caused by hiredis ([#2693](redis/redis-py#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](redis/redis-py#2602)) * Add a Dependabot configuration to auto-update GitHub action versions. * Add test and fix async HiredisParser when reading during a disconnect() ([#2349](redis/redis-py#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](redis/redis-py#2510)) * Add `timeout=None` in `SentinelConnectionManager.read_response` * Documentation fix: password protected socket connection ([#2374](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2065)) * Fix auth bug when provided with no username ([#2086](redis/redis-py#2086)) * Fix missing ClusterPipeline._lock ([#2189](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2377)) * Fixed "cannot pickle '_thread.lock' object" bug ([#2354](redis/redis-py#2354), [#2297](redis/redis-py#2297)) * Added CredentialsProvider class to support password rotation </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/redis-py/commit/28cc65c18cc4fb37ef14497c963eb181dba8d25d"><code>28cc65c</code></a> Updating all client licenses to clearly be MIT (<a href="https://github.com/redis/redis-py/issues/2884">#2884</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/2f679261b7ef0e7372868cacd8ba8721406eb495"><code>2f67926</code></a> Version 5.0.0 (<a href="https://github.com/redis/redis-py/issues/2874">#2874</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/f121cf29e7d7fb5c85c5915ba5ce10a20826e8c0"><code>f121cf2</code></a> Add support for <code>CLIENT SETINFO</code> (<a href="https://github.com/redis/redis-py/issues/2857">#2857</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/d5c2d1d42ed9f653d450e6127cb6f673f43fb2d0"><code>d5c2d1d</code></a> Adding support for triggered functions (TFUNCTION) (<a href="https://github.com/redis/redis-py/issues/2861">#2861</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/b0abd555770bba42c57881b488b5fe5b188f088e"><code>b0abd55</code></a> RESP 3 feature documentation (<a href="https://github.com/redis/redis-py/issues/2872">#2872</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/a532f89adcd5b790e2811588a2d7c34a79b095d5"><code>a532f89</code></a> Add py.typed in accordance with PEP-561 (<a href="https://github.com/redis/redis-py/issues/2738">#2738</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/673617d2cbac265c6c8d43280d5e6898df4572b6"><code>673617d</code></a> Bump actions/upload-artifact from 2 to 3 (<a href="https://github.com/redis/redis-py/issues/2877">#2877</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/0ed807777cfab129904fd72fbada793f21ea0a9c"><code>0ed8077</code></a> Bump pypa/gh-action-pip-audit from 1.0.0 to 1.0.8 (<a href="https://github.com/redis/redis-py/issues/2879">#2879</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/38c7de617a482c9dd2d40699fbdd7ce44736cae9"><code>38c7de6</code></a> Dependabot label change (<a href="https://github.com/redis/redis-py/issues/2880">#2880</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/8370c4ac20835002fd1044e1742986072f19289c"><code>8370c4a</code></a> Add a Dependabot config to auto-update GitHub action versions (<a href="https://github.com/redis/redis-py/issues/2847">#2847</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/redis-py/compare/v4.6.0...v5.0.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=pip&previous-version=4.6.0&new-version=5.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Viktor Ivanov <viktor@infogrid.io> Co-authored-by: Sergey Prokazov <sergey.prokazov@redis.com> Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com> Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com> Co-authored-by: Alex Schmitz <aschmitz@box.com> Co-authored-by: Alex Schmitz <alex.schmitz@gmail.com> Co-authored-by: Chayim <chayim@users.noreply.github.com> Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com> Co-authored-by: CrimsonGlory <CrimsonGlory@users.noreply.github.com> Co-authored-by: Raymond Yin <raymond@tryevergreen.com> Co-authored-by: zach.lee <zach.lee@sendbird.com> Co-authored-by: James R T <jamestiotio@gmail.com> Co-authored-by: dvora-h <dvora.heller@redis.com> Co-authored-by: Marc Schöchlin <marc.schoechlin@flipapp.de> Co-authored-by: Nick Gerow <nick.gerow@enlightedinc.com> Co-authored-by: Igor Malinovskiy <u.glide@gmail.com> Co-authored-by: Chayim I. Kirshen <c@kirshen.com> Co-authored-by: Leibale Eidelman <me@leibale.com> Co-authored-by: Thiago Bellini Ribeiro <hackedbellini@gmail.com> Co-authored-by: woutdenolf <woutdenolf@users.sf.net> Co-authored-by: shacharPash <93581407+shacharPash@users.noreply.github.com> Co-authored-by: Mirek Długosz <miniopl+github@gmail.com> Co-authored-by: Oran Avraham <252748+oranav@users.noreply.github.com> Co-authored-by: mzdehbashi-github <85902780+mzdehbashi-github@users.noreply.github.com> Co-authored-by: Tyler Hutcherson <tyler.hutcherson@redis.com> Co-authored-by: Felipe Machado <462154+felipou@users.noreply.github.com> Co-authored-by: AYMEN Mohammed <53928879+AYMENJD@users.noreply.github.com> Co-authored-by: Marc Schöchlin <ms-github@256bit.org> Co-authored-by: Avasam <samuel.06@hotmail.com> Co-authored-by: Markus Gerstel <2102431+Anthchirp@users.noreply.github.com> Co-authored-by: Kristján Valur Jónsson <sweskman@gmail.com> Co-authored-by: Nick Gerow <Nick.G.123@hotmail.com> Co-authored-by: Cristian Matache <cristianmatache@hotmail.com> Co-authored-by: Anurag Bandyopadhyay <angbpy@gmail.com> Co-authored-by: Seongchuel Ahn <aciddust20@gmail.com> Co-authored-by: Alibi <aliby.bbb@gmail.com> Co-authored-by: Smit Parmar <smitraj333@gmail.com> Co-authored-by: Brad MacPhee <macphee@gmail.com> Co-authored-by: Shahar Lev <shahar_lev@hotmail.com> Co-authored-by: Vladimir Mihailenco <vladimir.webdev@gmail.com> Co-authored-by: Kevin James <KevinJames@thekev.in> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: David Pacsuta <34983281+ant1fact@users.noreply.github.com> Co-authored-by: Rich Bowen <rbowen@rcbowen.com> Co-authored-by: gmbnomis <gmbnomis@users.noreply.github.com> Co-authored-by: Vivanov98 <66319645+Vivanov98@users.noreply.github.com> Co-authored-by: Kosuke <kosuke.zhang@gmail.com> Co-authored-by: Sergey Prokazov <prokazov@users.noreply.github.com> Co-authored-by: jmcbailey <jmcbailey@gmail.com> Co-authored-by: Galtozzy <14139502+Galtozzy@users.noreply.github.com> Co-authored-by: Abhishek Kumar Sinha <aksinha334@gmail.com> Co-authored-by: Eom Taegyung "Iggy <iggy.eom@sendbird.com> Co-authored-by: Mehdi ABAAKOUK <sileht@sileht.net> Co-authored-by: Dongkeun Lee <3315213+zakaf@users.noreply.github.com> Co-authored-by: woutdenolf <wout.de_nolf@esrf.eu> Co-authored-by: Kurt McKee <contactme@kurtmckee.org> Co-authored-by: Juraj Páll <palljuraj1@gmail.com> Co-authored-by: Joan Fontanals <jfontanalsmartinez@gmail.com> Co-authored-by: Stanislav Zmiev <zmievsa@gmail.com> fix (#2566) Fix unlink in cluster pipeline (#2562) Fix issue 2540: Synchronise concurrent command calls to single-client mode. (#2568) Fix: tuple function cannot be passed more than one argument (#2573) Fix issue 2567: NoneType check before raising exception (#2569) Fix issue 2349: Let async HiredisParser finish parsing after a Connection.disconnect() (#2557) Fix issue with `pack_commands` returning an empty byte sequence (#2416) Fix #2581 UnixDomainSocketConnection' object has no attribute '_command_packer' (#2583) Fix #2581 UnixDomainSocketConnection' object has no attribute '_command_packer' . Fix for `lpop` and `rpop` return typing (#2590) Fixed CredentialsProvider examples (#2587) Fixed issue #2598 - make Document class subscriptable fix: replace async_timeout by asyncio.timeout (#2602) Fix behaviour of async PythonParser to match RedisParser as for issue #2349 (#2582) Fix (#2641) fix: do not use asyncio's timeout lib before 3.11.2 (#2659) Fix issue 2660: PytestUnraisableExceptionWarning from asycio client (#2669) Fixing cancelled async futures (#2666) Fix async (#2673) Fix memory leak caused by hiredis (#2693) (#2694) Fix incorrect usage of once flag in async Sentinel (#2718) Fix topk list example. (#2724) Fix `ClusterCommandProtocol` not itself being marked as a protocol (#2729) Fix potential race condition during disconnection (#2719) fix CI (#2748) fix parse_slowlog_get (#2732) fixes for issue #1128 fix create single_connection_client from url (#2752) Fix `xadd` allow non negative maxlen (#2739) Fix JSON.MERGE Summary (#2786) Fixed key error in parse_xinfo_stream (#2788) Fix dead weakref in sentinel connection causing ReferenceError (#2767) (#2771) Fix dead weakref in sentinel conn (#2767) fix redirects and some small cleanups (#2801) Fix type hint for retry_on_error in async cluster (#2804) Fix CI (#2809) Fix async client with resp3 (#2657) Fix `COMMAND` response in resp3 (redis 7+) (#2740) Fix protocol version checking (#2737) Fix parse resp3 dict response: don't use dict comprehension (#2757) Fixing asyncio import (#2759) fix (#2799) fix async tests (#2806) Fix socket garbage collection (#2859) Fixing doc builds (#2869) Fix a duplicate word in `CONTRIBUTING.md` (#2848) Fix timeout retrying on Redis pipeline execution (#2812) Fix type hints in SearchCommands (#2817)
Bumps [redis](https://github.com/redis/redis-py) from 4.5.4 to 5.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/releases">redis's releases</a>.</em></p> <blockquote> <h2>5.0.0</h2> <h2>What's new?</h2> <h3>Triggers and Functions support</h3> <p>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. <a href="https://redis.io/docs/interact/programmability/triggers-and-functions/quick_start/">Try it for yourself with Quick start</a></p> <h3>Full <a href="https://redis.com/blog/introducing-redis-7-2/">Redis 7.2</a> and <a href="https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md">RESP3 support</a></h3> <h3>Python 3.7 End-of-Life</h3> <p><a href="https://devguide.python.org/versions/">Python 3.7 has reached its end-of-life (EOL) as of June 2023</a>. 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.</p> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix timeout retrying on pipeline execution (<a href="https://github.com/redis/redis-py/issues/2812">#2812</a>)</li> <li>Fix socket garbage collection (<a href="https://github.com/redis/redis-py/issues/2859">#2859</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Updating client license to clear, MIT (<a href="https://github.com/redis/redis-py/issues/2884">#2884</a>)</li> <li>Add py.typed in accordance with PEP-561 (<a href="https://github.com/redis/redis-py/issues/2738">#2738</a>)</li> <li>Dependabot label change (<a href="https://github.com/redis/redis-py/issues/2880">#2880</a>)</li> <li>Fix type hints in SearchCommands (<a href="https://github.com/redis/redis-py/issues/2817">#2817</a>)</li> <li>Add sync modules (except search) tests to cluster CI (<a href="https://github.com/redis/redis-py/issues/2850">#2850</a>)</li> <li>Fix a duplicate word in <code>CONTRIBUTING.md</code> (<a href="https://github.com/redis/redis-py/issues/2848">#2848</a>)</li> <li>Fixing doc builds (<a href="https://github.com/redis/redis-py/issues/2869">#2869</a>)</li> <li>Change cluster docker to edge and enable debug command (<a href="https://github.com/redis/redis-py/issues/2853">#2853</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <p><a href="https://github.com/JoanFM"><code>@JoanFM</code></a>, <a href="https://github.com/Ovsyanka83"><code>@Ovsyanka83</code></a>, <a href="https://github.com/chayim"><code>@chayim</code></a>, <a href="https://github.com/dependabot"><code>@dependabot</code></a>, <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/dvora-h"><code>@dvora-h</code></a>, <a href="https://github.com/kristjanvalur"><code>@kristjanvalur</code></a>, <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a>, <a href="https://github.com/pall-j"><code>@pall-j</code></a> and <a href="https://github.com/shacharPash"><code>@shacharPash</code></a></p> <h2>5.0.0rc2</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>RESP3 response-callbacks cleanup (<a href="https://github.com/redis/redis-py/issues/2841">#2841</a>)</li> <li>Merge master to 5.0 (<a href="https://github.com/redis/redis-py/issues/2827">#2827</a>)</li> </ul> <h2>5.0.0rc1</h2> <h2>Changes</h2> <h2>🔥 Breaking Changes</h2> <ul> <li>Change <code>SISMEMBER</code> return type to int by (<a href="https://github.com/redis/redis-py/issues/2813">#2813</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/blob/master/CHANGES">redis's changelog</a>.</em></p> <blockquote> <pre><code>* Fix [#2831](redis/redis-py#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](redis/redis-py#2767)) * Fix [#2768](redis/redis-py#2768), Fix KeyError: 'first-entry' in parse_xinfo_stream. * Fix [#2749](redis/redis-py#2749), remove unnecessary __del__ logic to close connections. * Fix [#2754](redis/redis-py#2754), adding a missing argument to SentinelManagedConnection * Fix `xadd` command to accept non-negative `maxlen` including 0 * Revert [#2104](redis/redis-py#2104), [#2673](redis/redis-py#2673), add `disconnect_on_error` option to `read_response()` (issues [#2506](redis/redis-py#2506), [#2624](redis/redis-py#2624)) * Add `address_remap` parameter to `RedisCluster` * Fix incorrect usage of once flag in async Sentinel * asyncio: Fix memory leak caused by hiredis ([#2693](redis/redis-py#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](redis/redis-py#2602)) * Add a Dependabot configuration to auto-update GitHub action versions. * Add test and fix async HiredisParser when reading during a disconnect() ([#2349](redis/redis-py#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](redis/redis-py#2510)) * Add `timeout=None` in `SentinelConnectionManager.read_response` * Documentation fix: password protected socket connection ([#2374](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2065)) * Fix auth bug when provided with no username ([#2086](redis/redis-py#2086)) * Fix missing ClusterPipeline._lock ([#2189](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2377)) * Fixed "cannot pickle '_thread.lock' object" bug ([#2354](redis/redis-py#2354), [#2297](redis/redis-py#2297)) * Added CredentialsProvider class to support password rotation </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/redis-py/commit/28cc65c18cc4fb37ef14497c963eb181dba8d25d"><code>28cc65c</code></a> Updating all client licenses to clearly be MIT (<a href="https://github.com/redis/redis-py/issues/2884">#2884</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/2f679261b7ef0e7372868cacd8ba8721406eb495"><code>2f67926</code></a> Version 5.0.0 (<a href="https://github.com/redis/redis-py/issues/2874">#2874</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/f121cf29e7d7fb5c85c5915ba5ce10a20826e8c0"><code>f121cf2</code></a> Add support for <code>CLIENT SETINFO</code> (<a href="https://github.com/redis/redis-py/issues/2857">#2857</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/d5c2d1d42ed9f653d450e6127cb6f673f43fb2d0"><code>d5c2d1d</code></a> Adding support for triggered functions (TFUNCTION) (<a href="https://github.com/redis/redis-py/issues/2861">#2861</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/b0abd555770bba42c57881b488b5fe5b188f088e"><code>b0abd55</code></a> RESP 3 feature documentation (<a href="https://github.com/redis/redis-py/issues/2872">#2872</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/a532f89adcd5b790e2811588a2d7c34a79b095d5"><code>a532f89</code></a> Add py.typed in accordance with PEP-561 (<a href="https://github.com/redis/redis-py/issues/2738">#2738</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/673617d2cbac265c6c8d43280d5e6898df4572b6"><code>673617d</code></a> Bump actions/upload-artifact from 2 to 3 (<a href="https://github.com/redis/redis-py/issues/2877">#2877</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/0ed807777cfab129904fd72fbada793f21ea0a9c"><code>0ed8077</code></a> Bump pypa/gh-action-pip-audit from 1.0.0 to 1.0.8 (<a href="https://github.com/redis/redis-py/issues/2879">#2879</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/38c7de617a482c9dd2d40699fbdd7ce44736cae9"><code>38c7de6</code></a> Dependabot label change (<a href="https://github.com/redis/redis-py/issues/2880">#2880</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/8370c4ac20835002fd1044e1742986072f19289c"><code>8370c4a</code></a> Add a Dependabot config to auto-update GitHub action versions (<a href="https://github.com/redis/redis-py/issues/2847">#2847</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/redis-py/compare/v4.5.4...v5.0.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=pip&previous-version=4.5.4&new-version=5.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [redis](https://github.com/redis/redis-py) from 4.6.0 to 5.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/releases">redis's releases</a>.</em></p> <blockquote> <h2>5.0.0</h2> <h2>What's new?</h2> <h3>Triggers and Functions support</h3> <p>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. <a href="https://redis.io/docs/interact/programmability/triggers-and-functions/quick_start/">Try it for yourself with Quick start</a></p> <h3>Full <a href="https://redis.com/blog/introducing-redis-7-2/">Redis 7.2</a> and <a href="https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md">RESP3 support</a></h3> <h3>Python 3.7 End-of-Life</h3> <p><a href="https://devguide.python.org/versions/">Python 3.7 has reached its end-of-life (EOL) as of June 2023</a>. 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.</p> <h2>🐛 Bug Fixes</h2> <ul> <li>Fix timeout retrying on pipeline execution (<a href="https://github.com/redis/redis-py/issues/2812">#2812</a>)</li> <li>Fix socket garbage collection (<a href="https://github.com/redis/redis-py/issues/2859">#2859</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Updating client license to clear, MIT (<a href="https://github.com/redis/redis-py/issues/2884">#2884</a>)</li> <li>Add py.typed in accordance with PEP-561 (<a href="https://github.com/redis/redis-py/issues/2738">#2738</a>)</li> <li>Dependabot label change (<a href="https://github.com/redis/redis-py/issues/2880">#2880</a>)</li> <li>Fix type hints in SearchCommands (<a href="https://github.com/redis/redis-py/issues/2817">#2817</a>)</li> <li>Add sync modules (except search) tests to cluster CI (<a href="https://github.com/redis/redis-py/issues/2850">#2850</a>)</li> <li>Fix a duplicate word in <code>CONTRIBUTING.md</code> (<a href="https://github.com/redis/redis-py/issues/2848">#2848</a>)</li> <li>Fixing doc builds (<a href="https://github.com/redis/redis-py/issues/2869">#2869</a>)</li> <li>Change cluster docker to edge and enable debug command (<a href="https://github.com/redis/redis-py/issues/2853">#2853</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <p><a href="https://github.com/JoanFM"><code>@JoanFM</code></a>, <a href="https://github.com/Ovsyanka83"><code>@Ovsyanka83</code></a>, <a href="https://github.com/chayim"><code>@chayim</code></a>, <a href="https://github.com/dependabot"><code>@dependabot</code></a>, <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/dvora-h"><code>@dvora-h</code></a>, <a href="https://github.com/kristjanvalur"><code>@kristjanvalur</code></a>, <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a>, <a href="https://github.com/pall-j"><code>@pall-j</code></a> and <a href="https://github.com/shacharPash"><code>@shacharPash</code></a></p> <h2>5.0.0rc2</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>RESP3 response-callbacks cleanup (<a href="https://github.com/redis/redis-py/issues/2841">#2841</a>)</li> <li>Merge master to 5.0 (<a href="https://github.com/redis/redis-py/issues/2827">#2827</a>)</li> </ul> <h2>5.0.0rc1</h2> <h2>Changes</h2> <h2>🔥 Breaking Changes</h2> <ul> <li>Change <code>SISMEMBER</code> return type to int by (<a href="https://github.com/redis/redis-py/issues/2813">#2813</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/blob/master/CHANGES">redis's changelog</a>.</em></p> <blockquote> <pre><code>* Fix [#2831](redis/redis-py#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](redis/redis-py#2767)) * Fix [#2768](redis/redis-py#2768), Fix KeyError: 'first-entry' in parse_xinfo_stream. * Fix [#2749](redis/redis-py#2749), remove unnecessary __del__ logic to close connections. * Fix [#2754](redis/redis-py#2754), adding a missing argument to SentinelManagedConnection * Fix `xadd` command to accept non-negative `maxlen` including 0 * Revert [#2104](redis/redis-py#2104), [#2673](redis/redis-py#2673), add `disconnect_on_error` option to `read_response()` (issues [#2506](redis/redis-py#2506), [#2624](redis/redis-py#2624)) * Add `address_remap` parameter to `RedisCluster` * Fix incorrect usage of once flag in async Sentinel * asyncio: Fix memory leak caused by hiredis ([#2693](redis/redis-py#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](redis/redis-py#2602)) * Add a Dependabot configuration to auto-update GitHub action versions. * Add test and fix async HiredisParser when reading during a disconnect() ([#2349](redis/redis-py#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](redis/redis-py#2510)) * Add `timeout=None` in `SentinelConnectionManager.read_response` * Documentation fix: password protected socket connection ([#2374](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2065)) * Fix auth bug when provided with no username ([#2086](redis/redis-py#2086)) * Fix missing ClusterPipeline._lock ([#2189](redis/redis-py#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](redis/redis-py#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](redis/redis-py#2377)) * Fixed "cannot pickle '_thread.lock' object" bug ([#2354](redis/redis-py#2354), [#2297](redis/redis-py#2297)) * Added CredentialsProvider class to support password rotation </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/redis-py/commit/28cc65c18cc4fb37ef14497c963eb181dba8d25d"><code>28cc65c</code></a> Updating all client licenses to clearly be MIT (<a href="https://github.com/redis/redis-py/issues/2884">#2884</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/2f679261b7ef0e7372868cacd8ba8721406eb495"><code>2f67926</code></a> Version 5.0.0 (<a href="https://github.com/redis/redis-py/issues/2874">#2874</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/f121cf29e7d7fb5c85c5915ba5ce10a20826e8c0"><code>f121cf2</code></a> Add support for <code>CLIENT SETINFO</code> (<a href="https://github.com/redis/redis-py/issues/2857">#2857</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/d5c2d1d42ed9f653d450e6127cb6f673f43fb2d0"><code>d5c2d1d</code></a> Adding support for triggered functions (TFUNCTION) (<a href="https://github.com/redis/redis-py/issues/2861">#2861</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/b0abd555770bba42c57881b488b5fe5b188f088e"><code>b0abd55</code></a> RESP 3 feature documentation (<a href="https://github.com/redis/redis-py/issues/2872">#2872</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/a532f89adcd5b790e2811588a2d7c34a79b095d5"><code>a532f89</code></a> Add py.typed in accordance with PEP-561 (<a href="https://github.com/redis/redis-py/issues/2738">#2738</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/673617d2cbac265c6c8d43280d5e6898df4572b6"><code>673617d</code></a> Bump actions/upload-artifact from 2 to 3 (<a href="https://github.com/redis/redis-py/issues/2877">#2877</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/0ed807777cfab129904fd72fbada793f21ea0a9c"><code>0ed8077</code></a> Bump pypa/gh-action-pip-audit from 1.0.0 to 1.0.8 (<a href="https://github.com/redis/redis-py/issues/2879">#2879</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/38c7de617a482c9dd2d40699fbdd7ce44736cae9"><code>38c7de6</code></a> Dependabot label change (<a href="https://github.com/redis/redis-py/issues/2880">#2880</a>)</li> <li><a href="https://github.com/redis/redis-py/commit/8370c4ac20835002fd1044e1742986072f19289c"><code>8370c4a</code></a> Add a Dependabot config to auto-update GitHub action versions (<a href="https://github.com/redis/redis-py/issues/2847">#2847</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/redis-py/compare/v4.6.0...v5.0.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=pip&previous-version=4.6.0&new-version=5.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit upgrades all of the project configuration files, GitHub Action workflows, and Dockerfiles to use Python 3.11 and Ubuntu 22.04. The Dockerfiles use the deadsnakes PPA to install a recent version of Python 3.11, since the Ubuntu package repository only provides the first release candidate for Python 3.11.0, which is missing bug fixes. References to Python 3.9 have been replaced with Python 3.11 in the project documentation. This commit also upgrades the pinned version of Tensorflow to 2.16.1 and PyTorch to 2.2.2, which both have installable wheel support for Python 3.11. This change required updating some of the Dioptra plugins to work with the default eager execution model and the current API for Tensorflow. The detectron2 and pytorch-lightning packages have been dropped due to lack of support and compatibility with these versions of PyTorch and Python. This commit also adds async_timeout as an explicit dependency for the worker and restapi images. This fixes the problem introduced in redis/redis-py#2602 where async_timeout was removed as a dependency for Python 3.11, which had a ripple effect that resulted in unexpected breakage. Adding the dependency back fixes the issue. Co-authored-by: Keith Manville <kmanville@mitre.org>
This commit upgrades all of the project configuration files, GitHub Action workflows, and Dockerfiles to use Python 3.11 and Ubuntu 22.04. The Dockerfiles use the deadsnakes PPA to install a recent version of Python 3.11, since the Ubuntu package repository only provides the first release candidate for Python 3.11.0, which is missing bug fixes. References to Python 3.9 have been replaced with Python 3.11 in the project documentation. This commit also upgrades the pinned version of Tensorflow to 2.16.1 and PyTorch to 2.2.2, which both have installable wheel support for Python 3.11. This change required updating some of the Dioptra plugins to work with the default eager execution model and the current API for Tensorflow. The detectron2 and pytorch-lightning packages have been dropped due to lack of support and compatibility with these versions of PyTorch and Python. This commit also adds async_timeout as an explicit dependency for the worker and restapi images. This fixes the problem introduced in redis/redis-py#2602 where async_timeout was removed as a dependency for Python 3.11, which had a ripple effect that resulted in unexpected breakage. Adding the dependency back fixes the issue. Co-authored-by: Keith Manville <kmanville@mitre.org>
Pull Request check-list
Please make sure to review and check all of these items:
$ tox
pass with this change (including linting)?NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.
Description of change
async_timeout does not support python 3.11
aio-libs/async-timeout#295
And have two years old annoying bugs:
aio-libs/async-timeout#229
#2551
Since asyncio.timeout has been shipped in python 3.11, we should start
using it.
Partially fixes 2551