Skip to content

Update dependency redis to v8#383

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/redis-8.x
Open

Update dependency redis to v8#383
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/redis-8.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 28, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
redis (changelog) ^5.0.1^8.0.0 age confidence

Release Notes

redis/redis-py (redis)

v8.0.0: 8.0.0

Compare Source

Changes

🚀 Highlights

Async Cluster PubSub

This release introduces full asyncio Cluster PubSub support, bringing shard-channel capabilities (SSUBSCRIBE, SUNSUBSCRIBE, SPUBLISH) to the async RedisCluster client. The new ClusterPubSub class in redis.asyncio.cluster automatically routes shard-channel subscriptions to the correct cluster node based on key-slot hashing, manages per-node PubSub connections, and supports round-robin message retrieval across nodes. Users can create a cluster pubsub instance via RedisCluster.pubsub() and use ssubscribe(), sunsubscribe(), and get_sharded_message() just as they would with the sync cluster client.

Keyspace and subkey notifications

Redis Keyspace Notifications are now supported for standalone and cluster deployments in both sync and async modes. New classes — KeyspaceNotifications, ClusterKeyspaceNotifications, AsyncKeyspaceNotifications, and AsyncClusterKeyspaceNotifications — provide a high-level API for keyspace/keyevent subscriptions and subkey notification families: subkeyspace, subkeyevent, subkeyspaceitem, and subkeyspaceevent. Convenience methods like subscribe_keyspace(), subscribe_keyevent(), subscribe_subkeyspace(), subscribe_subkeyevent(), subscribe_subkeyspaceitem(), and subscribe_subkeyspaceevent() simplify common patterns, with channel classes for both key and subkey channels.

In cluster mode, subscriptions are managed across primary nodes because each node emits notifications only for keys it owns, with built-in topology-change handling. Sync run_in_thread() and async listen() workflows are supported.

Redis Array commands(https://redis.io/docs/latest/develop/data-types/arrays/)

redis-py now supports Redis Arrays, a preview Redis data type for sparse, index-addressable sequences of strings. New AR* command helpers cover indexed reads/writes, range scans, deletion, cursor-based insertion, ring-buffer writes, metadata, text search, and aggregation, including ARGET, ARSET, ARMGET, ARMSET, ARSCAN, ARGREP, ARRING, and AROP.

Type Hints Improvements (breaking changes)

The @overload pattern has been applied systematically across core commands (core.py), VectorSet commands, and module commands (Search, JSON, TimeSeries, Bloom filters) to provide distinct return types for sync and async clients. Previously, methods returned a combined ResponseT (i.e., Union[Awaitable[Any], Any]), which caused static analysis tools like mypy and Pyright to flag false positives. Now, sync clients see concrete return types (e.g., int, bool, list[str]) while async clients see Awaitable[...] wrappers. This is a breaking change for type-checking only—runtime behavior is unchanged, but code relying on the old union return types in type annotations may need updates. Two new protocol types, SyncClientProtocol and AsyncClientProtocol, are used in overload signatures to enable this distinction.

RESP3 by default with opt-in unified responses

redis-py 8.0.0 now uses RESP3 on the wire by default while preserving legacy RESP2-compatible Python response shapes for existing applications (#​4052). Protocol-independent unified response shapes are available by setting legacy_responses=False, so affected commands return the same Python structure with RESP2 or RESP3.

Use protocol=2 to force RESP2 on the wire, protocol=3 to opt into native RESP3 response shapes, or legacy_responses=False to migrate to unified responses. See docs/unified_responses.rst and specs/unified_responses_migration_guide.md for the affected commands and migration details.

Connection and retry defaults

Default connection settings were updated: socket_timeout and socket_connect_timeout now default to 5 seconds, TCP keepalive is enabled by default, socket reads use a 32 KB buffer, connection pools default to max_connections=100, and retry defaults now use 10 attempts with exponential jitter backoff.

Note: socket_timeout can affect blocking commands such as BLPOP/BRPOP; if a command blocks longer than the client socket timeout, it may raise TimeoutError before the command timeout elapses (#​2807).

🧪 Experimental Features

  • Added support for new array commands (#​4055)

🚀 New Features

  • Support Cluster PubSub in asyncio (#​3736)
  • Add Redis Keyspace Notifications Support for Redis Cluster (#​3962)
  • Add random load balancing strategy which allows for use of the primary (#​4027)
  • Add FPHA (floating-point homogeneous array) arg support to JSON.SET (#​4011)
  • Added custom Claude command + XNACK command support (#​4030)
  • Adding Time Series Multiple Aggregators support (#​4035)
  • Adding support for new COUNT aggregator for some sorted set commands - ZINTER, ZINTERSTORE, ZUNION, ZUNIONSTORE (#​4034)
  • Adding support for new INCREX command (#​4067 #​4077)
  • Add support for PubSub subscriptions with binary channel names and handlers (#​4068)

🔥 Breaking changes

  • Type hints improvements - fixing static code analysis issues related to combined sync and async return types(vectorsets + commands in core.py) (#​3991)
  • Type hints improvements - fixing static code analysis issues related to combined sync and async return types - modules (#​4005)
  • Add Redis Keyspace Notifications Support for Redis Cluster (#​3962)
  • Added support for subkey notifications (#​4040)
  • Changing the default protocol used to RESP3, keeping the responses for the default config compatible with the current RESP2 shape. Adding the possibility to opt-in for unified responses for both protocols. (#​4025 #​4031 #​4052 #​4046)
  • Type Lock.extend and Lock.reacquire as Literal[True] (#​4045)
  • Handle cluster slot migration in ClusterPubSub (shard subscription reconciliation) (#​4044)
  • Avoid zero-timeout async reads in hiredis connections readiness checks and replace async's can_read_destructive with non-destructive can_read. (#​4063)
  • Updates in default connection and retry settings (#​4082)

🐛 Bug Fixes

  • fix: guard disconnect() against RuntimeError on Python 3.13+ (#​3856) (#​4013)
  • Fix CacheProxyConnection hang when invalidation arrives on another connection (#​3600) (#​4014)
  • fix: handle scientific notation in score_cast_func for RESP2 (#​4016)
  • Fix TypeError in CacheProxyConnection when cached response is non-bytes (#​4017)
  • Fix async cluster connection cleanup on topology refresh (#​4057)
  • Normalize scalar prefixes in IndexDefinition (#​3983)
  • Avoid zero-timeout async reads in hiredis connections readiness checks and replace async's can_read_destructive with non-destructive can_read. (#​4063)
  • Preserve explicit None for client metadata config (#​4081)

⚠️ Deprecations

  • Align deprecation of lib_name/lib_version in async cluster (#​3995)
  • Add deprecation notice to setex() method documentation (#​4051)
  • Avoid zero-timeout async reads in hiredis connections readiness checks and replace async's can_read_destructive with non-destructive can_read. (#​4063)

🧰 Maintenance

  • Adding unstable 8.8 build to pipeline test matrix. Updating the lib version in master. (#​4004)
  • Fix type hints for register_script to support RedisCluster (#​3876)
  • Updating dependencies to fix reported vulnerabilities (#​4012)
  • Bump release-drafter/release-drafter from 6 to 7 (#​4019)
  • Bump rojopolis/spellcheck-github-actions from 0.58.0 to 0.60.0 (#​4018)
  • Reorganize unit tests grouping - extracting the tests that define their hardcoded client configuration separately (#​4029)
  • Update home_json.py - this will make the docs examples interactive (#​4020)
  • Fix Sync ClusterPubSub.disconnect() — Potential AttributeError (#​4036)
  • Refactor ClusterPubSub to reuse NodesManager-managed connections. (#​4037)
  • Fix CROSSSLOT on sharded pubsub resubscription by grouping channels per slot (#​4038)
  • fix(cluster): enable health check in ClusterNode command execution (#​4043)
  • Add Python version '3.14t' to CI matrix (#​4058)
  • docs: fix typos in messages, docstrings, and comments (#​4062)
  • Updating hash commands type hints and jsonget return type hints (#​4054)
  • Fix flaky tests (#​4071)
  • Add CLAUDE.md and /sync-claude-md skill for managing (#​4066)
  • Randomize cluster startup node order during topology refresh (#​4060)

We'd like to thank all the contributors who worked on this release!
@​hydroblaze @​Br1an67 @​mokashang @​swoutch @​armorbreak001 @​Brumbelow @​paoloredis @​Pack-Yak1 @​abersheeran @​alisaifee @​majiayu000 @​uglide @​dmaier-redislabs @​vladvildanov @​petyaslavova

v7.4.0: 7.4.0

Compare Source

Changes

🐛 Bug Fixes

  • Fix AttributeError in cluster metrics recording when connection is None or ClusterNode object instance is used to extract the connection info (#​3999)
  • Fixing security concern in repr methods for ConnectionPools - passwords might leak in plain text logs (#​3998)
  • Refactored connection count and SCH metric collection (#​4001)

🧪 Experimental Features

-Refactored health check logic for MultiDBClient (#​3994)

🧰 Maintenance

  • Expose basic Otel classes and functions to be importable through redis.observability to match the examples in the readthedocs (#​3996)

We'd like to thank all the contributors who worked on this release!
@​vladvildanov @​petyaslavova

v7.3.0: 7.3.0

Compare Source

Changes

OpenTelemetry Native Metrics Support for asynchronous clients
Added comprehensive OpenTelemetry metrics support for asynchronous clients following the OpenTelemetry Database Client Semantic Conventions.
Metric groups include:

  • Command metrics: Operation duration with retry tracking
  • Connection basic: Connection count and creation time
  • Resiliency: Errors, handoffs, timeout relaxation
  • Connection advanced: Wait time and use time
  • Pubsub metrics: Published and received messages
  • Stream metrics: Processing duration and maintenance notifications

🚀 New Features

  • Added OTel instrumentation and metrics export for async client (#​3977)

🐛 Bug Fixes

  • [async] Adding access to cluster client's nodes_manager and set_response_callback in ClusterPipeline objects (#​3989)
  • fix(connection): Ensure we have an initialized protocol in connection (#​3981)

🧰 Maintenance

  • fix: use KeysT for blpop and brpop keys parameter type annotation (#​3987 #​3990)
  • Bump actions/upload-artifact from 6 to 7 (#​3985)
  • fix: replace 3 bare except clauses with except Exception (#​3980)

We'd like to thank all the contributors who worked on this release!
@​mitre88 @​turanalmammadov @​haosenwang1018 @​Medno @​vladvildanov @​petyaslavova

v7.2.1: 7.2.1

Compare Source

Changes

🐛 Bug Fixes

  • Handle connection attributes conditionally for metrics and set connection data on exceptions in cluster error handling (#​3964)

⚠️ Deprecations

  • Removed batch_size and consumer_name attributes from OTel metrics (#​3978)

🧰 Maintenance

  • Fixing error handling of connection buffer purging of closed connections. Enabling troubleshooting logging for maintenance notifications e2e tests. (#​3971)
  • Fix protocol validation: replace finally with else and store parsed int (#​3965)
  • Return copies from _get_free/in_use_connections and fix async _mock (#​3967)
  • Add missing shard channel message types to async PubSub (#​3966)
  • Fix issues with ClusterPipeline connection management (#​3804)
  • fix(pubsub): avoid UnicodeDecodeError on reconnect with binary channel names (#​3944)
  • Hold references to ClusterNode disconnect task (#​3826)
  • remove remaining imports of typing_extensions (#​3873)

We'd like to thank all the contributors who worked on this release!
@​dotlambda @​rhoboro @​skylarkoo7 @​praboud @​bysiber @​vladvildanov @​petyaslavova

v7.2.0: 7.2.0

Compare Source

Changes

Redis 8.6 Support
Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.

Smart Client Handoff (Maintenance Notifications) for Cluster
note: Pending a Redis Enterprise version release

This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:

Relaxing timeouts during migration (SMIGRATING) to prevent false failures
Triggering cluster state reloads upon completion (SMIGRATED)
Enabling seamless operations during Redis Enterprise maintenance windows

OpenTelemetry Native Metrics Support
Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions.
Metric groups include:

  • Command metrics: Operation duration with retry tracking
  • Connection basic: Connection count and creation time
  • Resiliency: Errors, handoffs, timeout relaxation
  • Connection advanced: Wait time and use time
  • Pubsub metrics: Published and received messages
  • Stream metrics: Processing duration and maintenance notifications

🚀 New Features

  • Added OTel instrumentation and metrics export for sync client (#​3954)
  • Add maintenance notifications support for OSS API cluster clients (#​3946)
  • Adding hotkeys commands support. (#​3924)
  • Adds support for the new Idempotent Producers feature in Redis 8.6 (#​3926)
  • Adding support for vrange command. (#​3927)
  • Added a local digest command to the client to execute the XXH3 locally… (#​3884)
  • Add DriverInfo class for upstream driver tracking (#​3880)
  • Add ssl_password support to async Redis client (#​3878)
  • Add ssl_ca_path support to async Redis client (#​3879)

⚠️ Deprecations

  • Adding special handling of client_tracking_on and client_tracking_off for cluster clients. Marking those two functions as deprecated for cluster - embedded client-side caching feature should be used instead. (#​3858)

🐛 Bug Fixes

  • Fix handling of circular MOVED redirects in cluster slot mapping (#​3899)
  • fix(asyncio): prevent deadlock when Lock.release() is cancelled (#​3900)
  • Fix unrecoverable connection state (#​3905)
  • Fixed potential race condition between call_later() and run_forever() (#​3897)
  • Fix RuntimeError in ClusterPubSub sharded message generator (#​3889)
  • Fix async connection pool lock contention during connection establishment (#​3885)
  • Fix PubSub client health check handling for sync client implementation (#​3870)
  • Adding retries for the overall connect - socket connect + handshake. Fix for pubsub reconnect issues. (#​3863)
  • Adding special handling of client_tracking_on and client_tracking_off for cluster clients. Marking those two functions as deprecated for cluster - embedded client-side caching feature should be used instead. (#​3858)
  • [#​3618] Fix client-side cache invalidation for mixed str and bytes Redis keys (#​3766)
  • [#​3612] Generating unique command cache key (#​3765)

🧰 Maintenance

  • Fix type hints for spop and srandmember methods (#​3943)
  • Reorganize pipeline actions (#​3951)
  • Extending the tests to validate more supported scorers for hybrid search. Adding experimental_method annotation to hybrid_search commands. (#​3939)
  • Bump rojopolis/spellcheck-github-actions from 0.56.0 to 0.58.0 (#​3930)
  • Adds a new helper that runs linters and fixes issues (#​3928)
  • Added testing with Timeseries samples with NaN values (#​3932)
  • Added testing with TLS-based authentication (#​3931)
  • Added support for calling run-tests from other repositories (#​3923)
  • Updating hybrid tests to be compatible with 8.4 and 8.6 changes. Adding 8.6 RC1 image to test matrix (#​3922)
  • Fix ClusterClient behavior when cluster topology is refreshed. Fix several places where connections might leak. (#​3917)
  • Fix copy-paste error in CacheProxyConnection server version check (#​3918)
  • Improve NodesManager locking (#​3803)
  • DOC: README Update relative urls (#​3914)
  • Bump rojopolis/spellcheck-github-actions from 0.55.0 to 0.56.0 (#​3902)
  • Bump actions/upload-artifact from 5 to 6 (#​3901)
  • Fix type hinting of zrange and zrangestore (#​3872)
  • Remove last vestiges of mock.mock (#​3830)
  • Improve type hints of from_url method for async Redis client. (#​3796)
  • Fix type hints for the available 'from_url' methods (#​3816)
  • Bump rojopolis/spellcheck-github-actions from 0.53.0 to 0.55.0 (#​3862)
  • Bump actions/checkout from 5 to 6 (#​3861)
  • Use MaxConnectionsError in the asyncio pool too (#​3859)
  • Updates PR template order (#​3855)
  • Changing current version in pipeline test config to 8.4 as it is already GA (#​3854)
  • Added custom event handler section (#​3853)
  • Changing log level to be debug for failed maintenance notification enablement when enabled='auto' (#​3851)
  • Update Type Hints for List Command Parameters from str to KeyT (#​3848)
  • Expand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (#​3845)

We'd like to thank all the contributors who worked on this release!
@​veeceey @​dariaguy @​Nepomuk5665 @​praboud @​Timour-Ilyas @​barshaul @​devbyteai @​itssimon @​majiayu000 @​aveao @​s-t-e-v-e-n-k @​cheizdo2-art @​Jonathan-Landeed @​PeterJCLaw @​ShubhamKaudewar @​vchomakov @​dmaier-redislabs @​elena-kolevska @​vladvildanov @​petyaslavova

v7.1.1: 7.1.1

Compare Source

Changes

🧪 Experimental Features

  • Added initial health check policies, refactored add_database method (#​3906)

🧰 Maintenance

  • Disabled SCH in MultiDBClient underlying clients by default (#​3938)
  • Added logging for MultiDBClients (#​3865 #​3896)

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

v7.1.0: 7.1.0

Compare Source

Changes

🚀 New Features

  • Adding MSETEX command support. (#​3823)
  • Adding CLAIM option to XREADGROUP command + unit tests (#​3825)
  • Apply routing and response aggregation policies in OSS Cluster mode (#​3834)

🧪 Experimental Features

🔥 Breaking changes (in experimental features)

  • Replace default health check and failure detector with custom (#​3822)

🐛 Bug Fixes

  • Add **options to parse functions for sentinel (#​3831)
  • Generating unique command cache key (#​3765)

🧰 Maintenance

  • Adding Redis 8.4 RC1 image to test matrix. (#​3820)
  • Remove Python 3.9 support. Add Python 3.14 support. (#​3814)
  • Sync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (#​3821)
  • Bump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (#​3827)
  • Bump actions/upload-artifact from 4 to 5 (#​3828)
  • Bump github/codeql-action from 3 to 4 (#​3829)
  • Fixing flaky tests (#​3833 #​3838)
  • Update 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (#​3832)
  • Add missing f-string when returning an error. (#​3841)
  • Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (#​3843)
  • Expand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (#​3845)
  • Update Type Hints for List Command Parameters from str to KeyT (#​3848)
  • Changing log level to be debug for failed maintenance notification enablement when enabled='auto' (#​3851)
  • Added custom event handler section (#​3853)
  • Changing current version to 8.4 as it is already GA (#​3854)

We'd like to thank all the contributors who worked on this release!
@​ShubhamKaudewar @​matthewwiese @​peperon @​vladvildanov @​petyaslavova

v7.0.1: 7.0.1

Compare Source

Changes

This release adds small fixes related to documentation.

🧰 Maintenance

  • Add 'multi_database' section to documentation index (313d93f)
  • Revised multi-database client documentation(78df745)
  • Adding info about Multi-database client in README.md (3f7a55e)

We'd like to thank all the contributors who worked on this release!
@​dmaier @​petyaslavova

v7.0.0: 7.0.0

Compare Source

Changes

One of the main features introduced in this release is a new type of client MultiDBClient. The purpose of this client is a communication with multiple databases that are eventually consistent (Active-Active setup) and handling failures by failover across databases.
More information could be found in docs.

🚀 New Features

  • Support for maintenance push notifications handling during server upgrade or maintenance procedures. (#​3756 #​3777 #​3778 #​3779 #​3785)
  • Adding WITHATTRIBS option to vector set's vsim command. (#​3746)
  • Adding ssl_verify_flags_config argument for ssl connection configuration (#​3772)
  • Adding new ExternalAuthProviderError that will be raised when we receive 'problem with LDAP service' response from server. (#​3808)
    Note Not supported with hiredis parser. When hiredis parser is used this server response is mapped to ResponseError

🧪 Experimental Features

🔥 Breaking changes

  • Adding abstract method declaration for cache property setter in EvictionPolicyInterface(#​3732)
  • Remove unused parse_list_to_dict function from helpers (#​3733)
  • Removing synchronous context manager handling from async RedisCluster. (#​3679)
  • Redis Search/Aggregate improved type annotations (#​3676)
  • Removing the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (#​3677)
  • Update ping command docstrings and method return type hint (#​3789)
  • Fixing several *arg type hints in core.py and json module commands (#​3793)
  • Fixing errors reported by mypy in search module files - query.py, commands.py and aggregation.py. (#​3666)
  • Adding score_cast_func argument to zrank, zrevrank and zunion - for consistency with the other sorted sets commands (#​3795)
  • Changing the timeout typehint in async BlockingConnectionPool from int to float (#​3801)

🐛 Bug Fixes

  • Removing the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (#​3677)

🧰 Maintenance

  • Bump actions/checkout from 4 to 5 (#​3760)
  • Fix docstring for ssl_check_hostname (#​3761)
  • Typos in vectorset commands.py (#​3719)
  • Fixing typos in query.py (#​3718)
  • Typos in cluster.py (#​3717)
  • Fixing typos in core.py (#​3720)
  • Update Redis image versions for GH pipeline actions. (#​3740)
  • Support the customization of the timeout parameter when using a blocking connection pool with a redis cluster (#​3724)
  • Fix async clients safety when used as an async context manager (#​3512)
  • docs: fix zadd command parameter description (#​3727)
  • Fault injector boilerplate (#​3749)
  • Adding e2e scenario tests for maintenance push notifications handling. (#​3758)
  • Adding more e2e tests related to maintenance notifications. Extracting specific tests that validate notifications are received in new connections (#​3770)
  • Renaming of classes and configuration arguments related to maintenance push notifications handling during server upgrade or maintenance procedures (#​3777 #​3778)
  • DOC-5743 BITOP examples (#​3776)
  • Improve stale issue management workflow (#​3773)
  • [DOC] Add complex chaining example using pipelines with builder pattern (#​3774)
  • Fix automation scenario maint notification (#​3788)
  • Add redis 8.4-M01-pre to tested redis versions (#​3790)
  • Add handling of empty spaces during CLIENT LIST response parsing (#​3797)
  • DOC-5821 update index/query example for runnable notebook (#​3807)
  • Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch fields (#​3810)
  • Fixing argument type hints for evalsha and similar commands. (#​3794)
  • Update Python version to 3.14 in hiredis CI workflow (#​3798)
  • Fixing sync BlockingConnectionPool's disconnect method to follow the definition in ConnectionPoolInterface (#​3802)

We'd like to thank all the contributors who worked on this release!
@​scovetta @​mengxunQAQ @​abrookins @​VincentHokie @​sobolevn @​hunterhogan @​luka-mikec @​zion-off @​peperon @​andy-stark-redis @​uglide @​elena-kolevska @​kiryazovi-redis @​vladvildanov @​petyaslavova

v6.4.0: 6.4.0

Compare Source

Changes

🚀 New Features

  • Added epsilon property to the vsim command (#​3723)

🧰 Maintenance

  • Updating the latest Redis image for github pipeline testing (#​3726)

We'd like to thank all the contributors who worked on this release!
@​htemelski-redis @​elena-kolevska @​petyaslavova @​vladvildanov

v6.3.0: 6.3.0

Compare Source

Changes

🚀 New Features

  • Add support for new BITOP operations: DIFF, DIFF1, ANDOR, ONE (#​3690)
  • Support new VAMANA vector index type (#​3702)
  • Add new stream commands (#​3711)
  • add async Retry eq and hash & fix ExponentialWithJitterBackoff eq (#​3668)

🐛 Bug Fixes

  • Fixing sentinel command execution to allow returning of actual responses when meaningful - behaviour controlled by 'return_responses' argument. (#​3191)
  • Annotate deprecated_args decorator to preserve wrapped function type signature (#​3701)
  • Fix ConnectionPool to raise MaxConnectionsError instead of Connection… (#​3698)
  • add async Retry eq and hash & fix ExponentialWithJitterBackoff eq (#​3668)
  • SentinelManagedConnection searches for new master upon connection failure (#​3560) (#​3601)

🧰 Maintenance

  • fix: avoid instantiating a connection on repr_ (#​3653)
  • Fixing the return type hint for the transaction method in the standalone client. (#​3660)
  • Bump rojopolis/spellcheck-github-actions from 0.48.0 to 0.49.0 (#​3665)
  • Dropping integration tests with Redis 6.2 from pipeline actions. (#​3659)
  • Remove deprecated arg from call to ClusterPipeline (#​3670)
  • TransactionStrategy reset: UNWATCH only when status is watching (#​3671)
  • KeyT for set operations (#​3190)
  • Removing references to old docs site 'https://redis-py.readthedocs.io/' replaced by 'https://redis.readthedocs.io/' (#​3674)
  • Removing unnecessary check for tests using AsyncMock (#​3432)
  • Updating test images for github pipeline execution (#​3678)
  • Updating the latest Redis image for pipeline testing (#​3695)
  • Bump rojopolis/spellcheck-github-actions from 0.49.0 to 0.51.0 (#​3689)
  • DOC-5225 testable probabilistic dt examples (#​3691)
  • Update README.md (#​3699)
  • Convert the value to int type only if it exists in CLIENT INFO (#​3688)
  • Fix compatibility with latest pytest-asyncio version(1.1.0) (#​3708)
  • DOC-5424 time series examples (#​3705)
  • Adding information in connection pool class doc string for available SSLConnection class, that can be used for SSL connections (#​3710)

We'd like to thank all the contributors who worked on this release!
@​robertosantamaria-scopely @​mahigupta @​alisaifee @​tzongw @​earonesty @​IlianIliev @​ofekshenawa @​andy-stark-redis @​AmirHossein81Gholami @​mharding-hpe @​git-hulk @​ngabhanenetskope @​terencehonles @​ManelCoutinhoSensei @​petyaslavova @​vladvildanov

v6.2.0: 6.2.0

Compare Source

Changes

🚀 New Features

  • Add dynamic_startup_nodes parameter to async RedisCluster (#​3646)
  • Support RESP3 with hiredis-py parser (#​3648)
  • [Async] Support for transactions in async RedisCluster client (#​3649)

🐛 Bug Fixes

  • Revert wrongly changed default value for check_hostname when instantiating RedisSSLContext (#​3655)
  • Fixed potential deadlock from unexpected __del__ call (#​3654)

🧰 Maintenance

  • Update search_json_examples.ipynb: Fix the old import indexDefinition -> index_definition (#​3652)
  • Remove mandatory update of the CHANGES file for new PRs. Changes file will be kept for history for versions < 4.0.0 (#​3645)
  • Dropping Python 3.8 support as it has reached end of life (#​3657)
  • fix(doc): update Python print output in json doctests (#​3658)
  • Update redis-entraid dependency (#​3661)

We'd like to thank all the contributors who worked on this release!
@​JCornat @​ShubhamKaudewar @​uglide @​petyaslavova @​vladvildanov

v6.1.1

Compare Source

Changes

🐛 Bug Fixes

  • Revert wrongly changed default value for check_hostname when instantiating RedisSSLContext (#​3655)
  • Fixed potential deadlock from unexpected __del__ call (#​3654)

We'd like to thank all the contributors who worked on this release!
@​vladvildanov @​petyaslavova

v6.1.0: 6.1.0

Compare Source

Changes

🚀 New Features

  • Support for transactions in RedisCluster client (#​3611)
  • Add equality and hashability to Retry and backoff classes (#​3628)

🐛 Bug Fixes

  • Fix RedisCluster ssl_check_hostname not set to connections. For SSL verification with ssl_cert_reqs="none", check_hostname is set to False (#​3637)
    Important: The default value for the check_hostname field of RedisSSLContext has been changed as part of this PR - this is a breaking change and should not be introduced in minor versions - unfortunately, it is part of the current release.
    The breaking change is reverted in the next release to fix the behavior --> 6.2.0
  • Prevent RuntimeError while reinitializing clusters - sync and async (#​3633)
  • Add equality and hashability to Retry and backoff classes (#​3628) - fixes integration with Django RQ
  • Fix AttributeError on ClusterPipeline (#​3634)

🧰 Maintenance

  • Updating the readme and lib version to contain the changes from the latest stable release (#​3644)
  • Export REDIS_MAJOR_VERSION correctly in run-tests (#​3642)
  • Fix matrix in hiredis-py-integration.yaml (#​3641)
  • Test against unstable hiredis-py (#​3617)
  • Adding return types for the RedisModuleCommands class (#​3632)
  • Updating Redis 8 test image for GH pipeline (#​3639)
  • Allow newer PyJWT versions (#​3636)
  • Change type hints with possible None args or return types to be annotated with Optional - includes commands in core.py and json commands (#​3610)

🙏 Special Thanks

A big thank you to our collaborators at Scopely for their valuable contributions to this release! Your support and improvements help move the project forward — we appreciate it!

Contributors

We'd like to thank all the contributors who worked on this release!
@​robertosantamaria-scopely @​sentrivana @​terencehonles @​kesha1225 @​aberres @​uglide @​omerfeyzioglu @​petyaslavova @​vladvildanov @​andy-stark-redis

v6.0.0: 6.0.0

Compare Source

Changes

🚀 New Features

  • New hash commands with expiration options support are added - HGETDEL, HGETEX, HSETEX (#​3570)
  • Adds option not to raise an exception when leaving context manager after lock expiration (#​3531)
  • Add force_master_ip support to async Sentinel client (#​3524)

🧪 Experimental Features

  • Adding VectorSet commands support. (#​3584)

🔥 Breaking changes

  • Changing the default value for ssl_check_hostname to True, to ensure security validations are not skipped by default (#​3626)
    Important: When connecting to a Redis master via Sentinel, you may need to set ssl_check_hostname=False if the Sentinel service is not configured to return hostnames.
    Refer to issue #​3629 for more details.
  • Updated default value of 'require_full_coverage' argument to true for sync Cluster client to match sync/async cluster APIs (#​3434)
  • Adding default retry configuration changes for cluster clients (#​3622)
    Important: When

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants