redis/redis-py (redis)
### [`v5.1.1`](https://redirect.github.com/redis/redis-py/releases/tag/v5.1.1): 5.1.1
[Compare Source](https://redirect.github.com/redis/redis-py/compare/v5.1.0...v5.1.1)
### Changes
#### 5.1.1
##### π Bug Fixes
- Fixed return type for Redis Set commands to be Set instead of List ([#3399](https://redirect.github.com/redis/redis-py/issues/3399))
- Fixed bug with partial Hiredis availability ([#3400](https://redirect.github.com/redis/redis-py/issues/3400))
- Fixed bug with async pipeline and cluster fails with some commands ([#3402](https://redirect.github.com/redis/redis-py/issues/3402))
#### 5.1.0
##### π New Features
- Client-side caching ([#3350](https://redirect.github.com/redis/redis-py/issues/3350), [#3110](https://redirect.github.com/redis/redis-py/issues/3110), [#3102](https://redirect.github.com/redis/redis-py/issues/3102), [#3099](https://redirect.github.com/redis/redis-py/issues/3099), [#3089](https://redirect.github.com/redis/redis-py/issues/3089), [#3038](https://redirect.github.com/redis/redis-py/issues/3038))
##### How to start with Client-side caching?
1. Install redis-py 5.1.0
2. Use the following code snippet:
```python
r = Redis(protocol=3, cache_config=CacheConfig())
cache = r.get_cache()
r.set("foo", "bar")
### get key from redis and save in local cache
print(r.get("foo"))
### get key from local cache
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
### change key in redis (cause invalidation)
r.set("foo", "barbar")
### Retrieves a new value from server and cache it
print(r.get("foo"))
### Make sure that new value was cached
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
```
Check [documentation](https://redis.readthedocs.io/en/latest/resp3\_features.html#client-side-caching) to get more examples
##### π₯ Breaking Changes
- Timeseries insertion filters for close samples ([#3228](https://redirect.github.com/redis/redis-py/issues/3228))
- Enhanced classes string representation ([#3001](https://redirect.github.com/redis/redis-py/issues/3001))
- Partial clean up of Python 3.7 compatibility ([#2928](https://redirect.github.com/redis/redis-py/issues/2928))
- Handle Redis Set data type as Python list to avoid a limitations with nested dictionaries ([#3324](https://redirect.github.com/redis/redis-py/issues/3324))
#### Contributors
We'd like to thank all the contributors who worked on this release!
[@vladvildanov](https://redirect.github.com/vladvildanov) [@dmaier-redislabs](https://redirect.github.com/dmaier-redislabs) [@vineethvkumar](https://redirect.github.com/vineethvkumar) [@ramchandra-st](https://redirect.github.com/ramchandra-st) [@RafalBielickiIM](https://redirect.github.com/RafalBielickiIM) [@jules-ch](https://redirect.github.com/jules-ch)
### [`v5.1.0`](https://redirect.github.com/redis/redis-py/releases/tag/v5.1.0): 5.1.0
[Compare Source](https://redirect.github.com/redis/redis-py/compare/v5.0.8...v5.1.0)
### Changes
#### π New Features
- Client-side caching ([#3350](https://redirect.github.com/redis/redis-py/issues/3350), [#3110](https://redirect.github.com/redis/redis-py/issues/3110), [#3102](https://redirect.github.com/redis/redis-py/issues/3102), [#3099](https://redirect.github.com/redis/redis-py/issues/3099), [#3089](https://redirect.github.com/redis/redis-py/issues/3089), [#3038](https://redirect.github.com/redis/redis-py/issues/3038))
##### How to start with Client-side caching?
1. Install redis-py 5.1.0
2. Use the following code snippet:
```python
r = Redis(protocol=3, cache_config=CacheConfig())
cache = r.get_cache()
r.set("foo", "bar")
### get key from redis and save in local cache
print(r.get("foo"))
### get key from local cache
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
### change key in redis (cause invalidation)
r.set("foo", "barbar")
### Retrieves a new value from server and cache it
print(r.get("foo"))
### Make sure that new value was cached
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
```
Check [documentation](https://redis.readthedocs.io/en/latest/resp3\_features.html#client-side-caching) to get more examples
#### π₯ Breaking Changes
- Timeseries insertion filters for close samples ([#3228](https://redirect.github.com/redis/redis-py/issues/3228))
- Enhanced classes string representation ([#3001](https://redirect.github.com/redis/redis-py/issues/3001))
- Partial clean up of Python 3.7 compatibility ([#2928](https://redirect.github.com/redis/redis-py/issues/2928))
- Handle RESP3 sets as Python lists ([#3324](https://redirect.github.com/redis/redis-py/issues/3324))
#### π Bug Fixes
- Handle RESP3 sets as Python lists ([#3324](https://redirect.github.com/redis/redis-py/issues/3324))
- Prevent async ClusterPipeline instances from becoming "false-y" ([#3068](https://redirect.github.com/redis/redis-py/issues/3068))
- Add hostname field to \_parse_node_line ([#3343](https://redirect.github.com/redis/redis-py/issues/3343))
- More docs fixes ([#3326](https://redirect.github.com/redis/redis-py/issues/3326))
- Delete the first-defined (and thus "duplicate") Script class ([#3333](https://redirect.github.com/redis/redis-py/issues/3333))
- Catch a known DeprecationWarning when calling .close() ([#3335](https://redirect.github.com/redis/redis-py/issues/3335))
- Add missed redismod at test_commands.py ([#3369](https://redirect.github.com/redis/redis-py/issues/3369))
#### π§° Maintenance
- Update README.md - mentioning redis 7.4 support ([#3375](https://redirect.github.com/redis/redis-py/issues/3375))
- Update PyPy 3.8 to 3.10 in CI ([#3370](https://redirect.github.com/redis/redis-py/issues/3370))
- Updated commands from docker-compose to docker compose ([#3352](https://redirect.github.com/redis/redis-py/issues/3352))
- Added version restrictions for pytest-asyncio ([#3362](https://redirect.github.com/redis/redis-py/issues/3362))
- Documentation examples ([#3361](https://redirect.github.com/redis/redis-py/issues/3361), [#3372](https://redirect.github.com/redis/redis-py/issues/3372), [#3374](https://redirect.github.com/redis/redis-py/issues/3374), [#3377](https://redirect.github.com/redis/redis-py/issues/3377), [#3378](https://redirect.github.com/redis/redis-py/issues/3378))
#### Contributors
We'd like to thank all the contributors who worked on this release!
[@AYMENJD](https://redirect.github.com/AYMENJD), [@AniketP04](https://redirect.github.com/AniketP04), [@BackflipPenguin](https://redirect.github.com/BackflipPenguin), [@ING-XIAOJIAN](https://redirect.github.com/ING-XIAOJIAN), [@MrDenkoV](https://redirect.github.com/MrDenkoV), [@Pedram-Parsian](https://redirect.github.com/Pedram-Parsian), [@TheBlusky](https://redirect.github.com/TheBlusky), [@TomerHekmati](https://redirect.github.com/TomerHekmati), [@Wh1isper](https://redirect.github.com/Wh1isper), [@Zaczero](https://redirect.github.com/Zaczero), [@ahmedabdou14](https://redirect.github.com/ahmedabdou14), [@akx](https://redirect.github.com/akx), [@andy-stark-redis](https://redirect.github.com/andy-stark-redis), [@catap](https://redirect.github.com/catap), [@chayim](https://redirect.github.com/chayim), [@d184230](https://redirect.github.com/d184230), [@danielzhangau](https://redirect.github.com/danielzhangau), [@daveisfera](https://redirect.github.com/daveisfera), [@dependabot](https://redirect.github.com/dependabot), [@dependabot](https://redirect.github.com/dependabot)\[bot], [@dkuser](https://redirect.github.com/dkuser), [@dmaier-redislabs](https://redirect.github.com/dmaier-redislabs), [@dmkulazhenko](https://redirect.github.com/dmkulazhenko), [@dudizimber](https://redirect.github.com/dudizimber), [@dvora-h](https://redirect.github.com/dvora-h), [@dwdougherty](https://redirect.github.com/dwdougherty), [@enjoy-binbin](https://redirect.github.com/enjoy-binbin), [@gerzse](https://redirect.github.com/gerzse), [@hongqn](https://redirect.github.com/hongqn), [@jakob-keller](https://redirect.github.com/jakob-keller), [@kristjanvalur](https://redirect.github.com/kristjanvalur), [@kurtmckee](https://redirect.github.com/kurtmckee), [@matrey](https://redirect.github.com/matrey), [@mattwang44](https://redirect.github.com/mattwang44), [@max-muoto](https://redirect.github.com/max-muoto), [@parmenashp](https://redirect.github.com/parmenashp), [@poiuj](https://redirect.github.com/poiuj), [@r0ro](https://redirect.github.com/r0ro), [@sjpotter](https://redirect.github.com/sjpotter), [@tbbream](https://redirect.github.com/tbbream), [@trkwyk](https://redirect.github.com/trkwyk), [@uglide](https://redirect.github.com/uglide), [@vladvildanov](https://redirect.github.com/vladvildanov), [@w-miller](https://redirect.github.com/w-miller), [@wKollendorf](https://redirect.github.com/wKollendorf), [@willfrey](https://redirect.github.com/willfrey), [@willianmrs](https://redirect.github.com/willianmrs), [@zakaf](https://redirect.github.com/zakaf), [@zware](https://redirect.github.com/zware) and [@zxjlm](https://redirect.github.com/zxjlm)
Configuration
π Schedule: 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 contains the following updates:
==5.0.8
->==5.1.1
Release Notes
redis/redis-py (redis)
### [`v5.1.1`](https://redirect.github.com/redis/redis-py/releases/tag/v5.1.1): 5.1.1 [Compare Source](https://redirect.github.com/redis/redis-py/compare/v5.1.0...v5.1.1) ### Changes #### 5.1.1 ##### π Bug Fixes - Fixed return type for Redis Set commands to be Set instead of List ([#3399](https://redirect.github.com/redis/redis-py/issues/3399)) - Fixed bug with partial Hiredis availability ([#3400](https://redirect.github.com/redis/redis-py/issues/3400)) - Fixed bug with async pipeline and cluster fails with some commands ([#3402](https://redirect.github.com/redis/redis-py/issues/3402)) #### 5.1.0 ##### π New Features - Client-side caching ([#3350](https://redirect.github.com/redis/redis-py/issues/3350), [#3110](https://redirect.github.com/redis/redis-py/issues/3110), [#3102](https://redirect.github.com/redis/redis-py/issues/3102), [#3099](https://redirect.github.com/redis/redis-py/issues/3099), [#3089](https://redirect.github.com/redis/redis-py/issues/3089), [#3038](https://redirect.github.com/redis/redis-py/issues/3038)) ##### How to start with Client-side caching? 1. Install redis-py 5.1.0 2. Use the following code snippet: ```python r = Redis(protocol=3, cache_config=CacheConfig()) cache = r.get_cache() r.set("foo", "bar") ### get key from redis and save in local cache print(r.get("foo")) ### get key from local cache print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value) ### change key in redis (cause invalidation) r.set("foo", "barbar") ### Retrieves a new value from server and cache it print(r.get("foo")) ### Make sure that new value was cached print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value) ``` Check [documentation](https://redis.readthedocs.io/en/latest/resp3\_features.html#client-side-caching) to get more examples ##### π₯ Breaking Changes - Timeseries insertion filters for close samples ([#3228](https://redirect.github.com/redis/redis-py/issues/3228)) - Enhanced classes string representation ([#3001](https://redirect.github.com/redis/redis-py/issues/3001)) - Partial clean up of Python 3.7 compatibility ([#2928](https://redirect.github.com/redis/redis-py/issues/2928)) - Handle Redis Set data type as Python list to avoid a limitations with nested dictionaries ([#3324](https://redirect.github.com/redis/redis-py/issues/3324)) #### Contributors We'd like to thank all the contributors who worked on this release! [@vladvildanov](https://redirect.github.com/vladvildanov) [@dmaier-redislabs](https://redirect.github.com/dmaier-redislabs) [@vineethvkumar](https://redirect.github.com/vineethvkumar) [@ramchandra-st](https://redirect.github.com/ramchandra-st) [@RafalBielickiIM](https://redirect.github.com/RafalBielickiIM) [@jules-ch](https://redirect.github.com/jules-ch) ### [`v5.1.0`](https://redirect.github.com/redis/redis-py/releases/tag/v5.1.0): 5.1.0 [Compare Source](https://redirect.github.com/redis/redis-py/compare/v5.0.8...v5.1.0) ### Changes #### π New Features - Client-side caching ([#3350](https://redirect.github.com/redis/redis-py/issues/3350), [#3110](https://redirect.github.com/redis/redis-py/issues/3110), [#3102](https://redirect.github.com/redis/redis-py/issues/3102), [#3099](https://redirect.github.com/redis/redis-py/issues/3099), [#3089](https://redirect.github.com/redis/redis-py/issues/3089), [#3038](https://redirect.github.com/redis/redis-py/issues/3038)) ##### How to start with Client-side caching? 1. Install redis-py 5.1.0 2. Use the following code snippet: ```python r = Redis(protocol=3, cache_config=CacheConfig()) cache = r.get_cache() r.set("foo", "bar") ### get key from redis and save in local cache print(r.get("foo")) ### get key from local cache print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value) ### change key in redis (cause invalidation) r.set("foo", "barbar") ### Retrieves a new value from server and cache it print(r.get("foo")) ### Make sure that new value was cached print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value) ``` Check [documentation](https://redis.readthedocs.io/en/latest/resp3\_features.html#client-side-caching) to get more examples #### π₯ Breaking Changes - Timeseries insertion filters for close samples ([#3228](https://redirect.github.com/redis/redis-py/issues/3228)) - Enhanced classes string representation ([#3001](https://redirect.github.com/redis/redis-py/issues/3001)) - Partial clean up of Python 3.7 compatibility ([#2928](https://redirect.github.com/redis/redis-py/issues/2928)) - Handle RESP3 sets as Python lists ([#3324](https://redirect.github.com/redis/redis-py/issues/3324)) #### π Bug Fixes - Handle RESP3 sets as Python lists ([#3324](https://redirect.github.com/redis/redis-py/issues/3324)) - Prevent async ClusterPipeline instances from becoming "false-y" ([#3068](https://redirect.github.com/redis/redis-py/issues/3068)) - Add hostname field to \_parse_node_line ([#3343](https://redirect.github.com/redis/redis-py/issues/3343)) - More docs fixes ([#3326](https://redirect.github.com/redis/redis-py/issues/3326)) - Delete the first-defined (and thus "duplicate") Script class ([#3333](https://redirect.github.com/redis/redis-py/issues/3333)) - Catch a known DeprecationWarning when calling .close() ([#3335](https://redirect.github.com/redis/redis-py/issues/3335)) - Add missed redismod at test_commands.py ([#3369](https://redirect.github.com/redis/redis-py/issues/3369)) #### π§° Maintenance - Update README.md - mentioning redis 7.4 support ([#3375](https://redirect.github.com/redis/redis-py/issues/3375)) - Update PyPy 3.8 to 3.10 in CI ([#3370](https://redirect.github.com/redis/redis-py/issues/3370)) - Updated commands from docker-compose to docker compose ([#3352](https://redirect.github.com/redis/redis-py/issues/3352)) - Added version restrictions for pytest-asyncio ([#3362](https://redirect.github.com/redis/redis-py/issues/3362)) - Documentation examples ([#3361](https://redirect.github.com/redis/redis-py/issues/3361), [#3372](https://redirect.github.com/redis/redis-py/issues/3372), [#3374](https://redirect.github.com/redis/redis-py/issues/3374), [#3377](https://redirect.github.com/redis/redis-py/issues/3377), [#3378](https://redirect.github.com/redis/redis-py/issues/3378)) #### Contributors We'd like to thank all the contributors who worked on this release! [@AYMENJD](https://redirect.github.com/AYMENJD), [@AniketP04](https://redirect.github.com/AniketP04), [@BackflipPenguin](https://redirect.github.com/BackflipPenguin), [@ING-XIAOJIAN](https://redirect.github.com/ING-XIAOJIAN), [@MrDenkoV](https://redirect.github.com/MrDenkoV), [@Pedram-Parsian](https://redirect.github.com/Pedram-Parsian), [@TheBlusky](https://redirect.github.com/TheBlusky), [@TomerHekmati](https://redirect.github.com/TomerHekmati), [@Wh1isper](https://redirect.github.com/Wh1isper), [@Zaczero](https://redirect.github.com/Zaczero), [@ahmedabdou14](https://redirect.github.com/ahmedabdou14), [@akx](https://redirect.github.com/akx), [@andy-stark-redis](https://redirect.github.com/andy-stark-redis), [@catap](https://redirect.github.com/catap), [@chayim](https://redirect.github.com/chayim), [@d184230](https://redirect.github.com/d184230), [@danielzhangau](https://redirect.github.com/danielzhangau), [@daveisfera](https://redirect.github.com/daveisfera), [@dependabot](https://redirect.github.com/dependabot), [@dependabot](https://redirect.github.com/dependabot)\[bot], [@dkuser](https://redirect.github.com/dkuser), [@dmaier-redislabs](https://redirect.github.com/dmaier-redislabs), [@dmkulazhenko](https://redirect.github.com/dmkulazhenko), [@dudizimber](https://redirect.github.com/dudizimber), [@dvora-h](https://redirect.github.com/dvora-h), [@dwdougherty](https://redirect.github.com/dwdougherty), [@enjoy-binbin](https://redirect.github.com/enjoy-binbin), [@gerzse](https://redirect.github.com/gerzse), [@hongqn](https://redirect.github.com/hongqn), [@jakob-keller](https://redirect.github.com/jakob-keller), [@kristjanvalur](https://redirect.github.com/kristjanvalur), [@kurtmckee](https://redirect.github.com/kurtmckee), [@matrey](https://redirect.github.com/matrey), [@mattwang44](https://redirect.github.com/mattwang44), [@max-muoto](https://redirect.github.com/max-muoto), [@parmenashp](https://redirect.github.com/parmenashp), [@poiuj](https://redirect.github.com/poiuj), [@r0ro](https://redirect.github.com/r0ro), [@sjpotter](https://redirect.github.com/sjpotter), [@tbbream](https://redirect.github.com/tbbream), [@trkwyk](https://redirect.github.com/trkwyk), [@uglide](https://redirect.github.com/uglide), [@vladvildanov](https://redirect.github.com/vladvildanov), [@w-miller](https://redirect.github.com/w-miller), [@wKollendorf](https://redirect.github.com/wKollendorf), [@willfrey](https://redirect.github.com/willfrey), [@willianmrs](https://redirect.github.com/willianmrs), [@zakaf](https://redirect.github.com/zakaf), [@zware](https://redirect.github.com/zware) and [@zxjlm](https://redirect.github.com/zxjlm)Configuration
π Schedule: 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.
This PR was generated by Mend Renovate. View the repository job log.