- Add pytest.ini source needed to run tests
- Remove/disable broken tests because of suse environment
- drop tox.ini. seems it does no longer exist in 5.0.1
- add support to easily disable the testsuite at build time
- update to 5.0.1
- 🚀 New Features
- Provide aclose() / close() for classes requiring lifetime
management (#2898)
- Add support for ModuleCommands in cluster (#2951)
- Add support for multiple values in RPUSHX (#2949)
- Add Redis.from_pool() class method, for explicitly owning and
closing a ConnectionPool (#2913)
- 🐛 Bug Fixes
- Fixing monitor parsing for messages containing specific
substrings (#2950)
- Cluster determine slot command name need to be upper (#2919)
- Support timeout = 0 in search query (#2934)
- Fix async sentinel: add push_request keyword argument to
read_response (#2922)
- Fix protocol checking for search commands (#2923)
- Fix: SentinelManagedConnection.read_response() got an
unexpected keyword argument 'push_request' (#2894)
- Fix: automatically close connection pool for async Sentinel
(#2900)
- Save a reference to created async tasks, to avoid tasks
potentially disappearing (#2816)
- Avoid reference cycling by the garbage collector during
response reading (#2932)
- 🧰 Maintenance
- Type hint improvements (#2952)
- Replace clear_connect_callbacks with
_deregister_connect_callback (#2955)
- Async fixes, remove del and other things (#2870)
- Add pagination, sorting and grouping examples to search json
example (#2890)
- Remove process-id checks from asyncio. Asyncio and fork()
does not mix. (#2911)
- Fix resource usage and cleanup Mocks in the unit tests
(#2936)
- Remove mentions of tox (#2929)
- Add 7.2 to supported Redis versions (#2896)
- Fix resource warnings in unit tests (#2899)
- Fix typo in redis-stream-example.ipynb (#2918)
- Deprecate RedisGraph (#2927)
- Fix redis 7.2.0 tests (#2902)
- Fix test_scorer (search) (#2920)
- changes from 5.0.0
- What's new?
- Triggers and Functions support Triggers and Functions allow
you to execute server-side functions triggered when key
values are modified or created in Redis, a stream entry
arrival, or explicitly calling them. Simply put, you can
replace Lua scripts with easy-to-develop JavaScript or
TypeScript code. Move your business logic closer to the data
to ensure a lower latency, and forget about updating
dependent key values manually in your code. Try it for
yourself with Quick start
- Full Redis 7.2 and RESP3 support
- Python 3.7 End-of-Life
- Python 3.7 has reached its end-of-life (EOL) as of June
2023. This means that starting from this date, Python 3.7
will no longer receive any updates, including security
patches, bug fixes, or improvements. If you continue to use
Python 3.7 post-EOL, you may expose your projects and
systems to potential security vulnerabilities. We ended its
support in this version and strongly recommend migrating to
Python 3.10.
- 🐛 Bug Fixes
- Fix timeout retrying on pipeline execution (#2812)
- Fix socket garbage collection (#2859)
- 🧰 Maintenance
- Updating client license to clear, MIT (#2884)
- Add py.typed in accordance with PEP-561 (#2738)
- Dependabot label change (#2880)
- Fix type hints in SearchCommands (#2817)
- Add sync modules (except search) tests to cluster CI (#2850)
- Fix a duplicate word in CONTRIBUTING.md (#2848)
- Fixing doc builds (#2869)
- Change cluster docker to edge and enable debug command
(#2853)
OBS-URL: https://build.opensuse.org/request/show/1119872
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=35
- Add pytest.ini source needed to run tests
- Remove/disable broken tests because of suse environment
- drop tox.ini. seems it does no longer exist in 5.0.1
- add support to easily disable the testsuite at build time
- update to 5.0.1
- 🚀 New Features
- Provide aclose() / close() for classes requiring lifetime
management (#2898)
- Add support for ModuleCommands in cluster (#2951)
- Add support for multiple values in RPUSHX (#2949)
- Add Redis.from_pool() class method, for explicitly owning and
closing a ConnectionPool (#2913)
- 🐛 Bug Fixes
- Fixing monitor parsing for messages containing specific
substrings (#2950)
- Cluster determine slot command name need to be upper (#2919)
- Support timeout = 0 in search query (#2934)
- Fix async sentinel: add push_request keyword argument to
read_response (#2922)
- Fix protocol checking for search commands (#2923)
- Fix: SentinelManagedConnection.read_response() got an
unexpected keyword argument 'push_request' (#2894)
- Fix: automatically close connection pool for async Sentinel
(#2900)
- Save a reference to created async tasks, to avoid tasks
potentially disappearing (#2816)
- Avoid reference cycling by the garbage collector during
response reading (#2932)
OBS-URL: https://build.opensuse.org/request/show/1119606
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=76
- Update to 4.5.4:
* Security
+ Cancelling an async future does not, properly trigger, leading to a
potential data leak in specific cases. (CVE-2023-28858, bsc#1209811)
+ Cancelling an async future does not, properly trigger, leading to a
potential data leak in specific cases. (CVE-2023-28859, bsc#1209812)
* New Features
+ Introduce AbstractConnection so that UnixDomainSocketConnection can
call super().init (#2588)
+ Added queue_class to REDIS_ALLOWED_KEYS (#2577)
+ Made search document subscriptable (#2615)
+ Sped up the protocol parsing (#2596)
+ Use hiredis::pack_command to serialized the commands. (#2570)
+ Add support for unlink in cluster pipeline (#2562)
* Bug Fixes
+ Fixing cancelled async futures (#2666)
+ Fix: do not use asyncio's timeout lib before 3.11.2 (#2659)
+ Fix UDS in v4.5.2: UnixDomainSocketConnection missing constructor
argument (#2630)
+ CWE-404 AsyncIO Race Condition Fix (#2624, #2579)
+ Fix behaviour of async PythonParser to match RedisParser as for
issue #2349 (#2582)
+ Replace async_timeout by asyncio.timeout (#2602)
+ Update json().arrindex() default values (#2611)
+ Fix#2581 UnixDomainSocketConnection object has no attribute
_command_packer (#2583)
+ Fix issue with pack_commands returning an empty byte sequence (#2416)
+ Async HiredisParser should finish parsing after a
Connection.disconnect() (#2557)
+ Check for none, prior to raising exception (#2569)
OBS-URL: https://build.opensuse.org/request/show/1080032
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=32
* Security
+ Cancelling an async future does not, properly trigger, leading to a
potential data leak in specific cases. (CVE-2023-28858, bsc#1209811)
+ Cancelling an async future does not, properly trigger, leading to a
potential data leak in specific cases. (CVE-2023-28859, bsc#1209812)
* New Features
+ Introduce AbstractConnection so that UnixDomainSocketConnection can
call super().init (#2588)
+ Added queue_class to REDIS_ALLOWED_KEYS (#2577)
+ Made search document subscriptable (#2615)
+ Sped up the protocol parsing (#2596)
+ Use hiredis::pack_command to serialized the commands. (#2570)
+ Add support for unlink in cluster pipeline (#2562)
* Bug Fixes
+ Fixing cancelled async futures (#2666)
+ Fix: do not use asyncio's timeout lib before 3.11.2 (#2659)
+ Fix UDS in v4.5.2: UnixDomainSocketConnection missing constructor
argument (#2630)
+ CWE-404 AsyncIO Race Condition Fix (#2624, #2579)
+ Fix behaviour of async PythonParser to match RedisParser as for
issue #2349 (#2582)
+ Replace async_timeout by asyncio.timeout (#2602)
+ Update json().arrindex() default values (#2611)
+ Fix#2581 UnixDomainSocketConnection object has no attribute
_command_packer (#2583)
+ Fix issue with pack_commands returning an empty byte sequence (#2416)
+ Async HiredisParser should finish parsing after a
Connection.disconnect() (#2557)
+ Check for none, prior to raising exception (#2569)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=67
bsc#1209812, CVE-2023-28859) to fix possible async command
information disclosure.
- Upgrade to 4.4.3:
Update urgency: HIGH: There is a critical bug that may affect a
subset of users. Upgrade!
- CWE-404 AsyncIO Race Condition Fix
- Upgrade to 4.4.2:
- Add support for BF.CARD
- Add support for custom connection pool class in NodesManager
Allow replica to master promotion in nodes_cache
Security Fix: Updating graph parser for potential injection cases
- Upgrade to 4.4.0:
- Async clusters: Support creating locks inside async functions
- Async: added 'blocking' argument to call lock method
- Added a replacement for the default cluster node in the event
of failure.
- Fixed geosearch: Wrong number of arguments for geosearch
command
- Updating dev dependencies
- Removing deprecated LGTM
- Added an explicit index name in RediSearch example
- Adding connection step to bloom filter examples
- Skip test_acl_list test (gh#redis/redis-py#2679)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=65
- udpate to 4.3.5:
* Add support for TIMESERIES 1.8 (#2296)
* Graph - add counters for removed labels and properties (#2292)
* Add support for TDIGEST.QUANTILE extensions (#2317)
* Add TDIGEST.TRIMMED_MEAN (#2300)
* Add support for async GRAPH module (#2273)
* Support TDIGEST.MERGESTORE and make compression optional on TDIGEST.CREATE
(#2319)
* Adding reserve as an alias for create, so that we have BF.RESERVE and
CF.RESERVE accuratenly supported (#2331)
* Fix async connection.is_connected to return a boolean value (#2278)
* Fix: workaround asyncio bug on connection reset by peer (#2259)
* Fix crash: key expire while search (#2270)
* Async cluster: fix concurrent pipeline (#2280)
* Fix async SEARCH pipeline (#2316)
* Fix KeyError in async cluster - initialize before execute multi key
commands (#2439)
* Supply chain risk reduction: remove dependency on library named deprecated
(#2386)
* Search test - Ignore order of the items in the response (#2322)
* Fix GRAPH.LIST & TDIGEST.QUANTILE tests (#2335)
* Fix TimeSeries range aggregation (twa) tests (#2358)
* Mark TOPK.COUNT as deprecated (#2363)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=64
* Fix backward compatibility from 4.3.2 in Lock.acquire()
* Fix XAUTOCLAIM to return the full response, instead of only keys 2+
* Added dynamic_startup_nodes configuration to RedisCluster.
* Fix retries in async mode
* Async cluster: fix simultaneous initialize
* Uppercased commands in CommandsParser.get_keys
* Late eval of the skip condition in async tests
* Reuse the old nodes' connections when a cluster topology refresh is being done
* Docs: add pipeline examples
* Correct retention_msecs value
* Cluster: use pipeline to execute split commands
* Docs: Add a note about client_setname and client_name difference
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=63
- Update to version 4.3.3
* Fix Lock crash, and versioning 4.3.3 (#2210)
* Async cluster: improve docs (#2208)
- Release 4.3.2
* SHUTDOWN - add support for the new NOW, FORCE and ABORT modifiers (#2150)
* Adding pipeline support for async cluster (#2199)
* Support CF.MEXISTS + Clean bf/commands.py (#2184)
* Extending query_params for FT.PROFILE (#2198)
* Implementing ClusterPipeline Lock (#2190)
* Set default response_callbacks to redis.asyncio.cluster.ClusterNode (#2201)
* Add default None for maxlen at xtrim command (#2188)
* Async cluster: add/update typing (#2195)
* Changed list type to single element type (#2203)
* Made sync lock consistent and added types to it (#2137)
* Async cluster: optimisations (#2205)
* Fix typos in README (#2206)
* Fix modules links to https://redis.io/commands/ (#2185)
- Update to version 4.3.1
* Allow negative `retries` for `Retry` class to retry forever
* Add `items` parameter to `hset` signature
* Create codeql-analysis.yml (#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)
OBS-URL: https://build.opensuse.org/request/show/982133
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=59