Skip to content

Commit 5bc07ac

Browse files
authored
Merge branch 'master' into ps_revert_changing_of_default_value_for_asyncio_redis_ssl_context
2 parents f5827c7 + 02b8178 commit 5bc07ac

File tree

3 files changed

+3
-344
lines changed

3 files changed

+3
-344
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ _Please make sure to review and check all of these items:_
77
- [ ] Is the new or changed code fully tested?
88
- [ ] Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
99
- [ ] Is there an example added to the examples folder (if applicable)?
10-
- [ ] Was the change added to CHANGES file?
1110

1211
_NOTE: these things are not required to open a PR and can be done
1312
afterwards / while the PR is open._

CHANGES

Lines changed: 2 additions & 342 deletions
Original file line numberDiff line numberDiff line change
@@ -1,346 +1,6 @@
1-
* Support transactions in ClusterPipeline
2-
* Removing support for RedisGraph module. RedisGraph support is deprecated since Redis Stack 7.2 (https://redis.com/blog/redisgraph-eol/)
3-
* Fix lock.extend() typedef to accept float TTL extension
4-
* Update URL in the readme linking to Redis University
5-
* Move doctests (doc code examples) to main branch
6-
* Update `ResponseT` type hint
7-
* Allow to control the minimum SSL version
8-
* Add an optional lock_name attribute to LockError.
9-
* Fix return types for `get`, `set_path` and `strappend` in JSONCommands
10-
* Connection.register_connect_callback() is made public.
11-
* Fix async `read_response` to use `disable_decoding`.
12-
* Add 'aclose()' methods to async classes, deprecate async close().
13-
* Fix #2831, add auto_close_connection_pool=True arg to asyncio.Redis.from_url()
14-
* Fix incorrect redis.asyncio.Cluster type hint for `retry_on_error`
15-
* Fix dead weakref in sentinel connection causing ReferenceError (#2767)
16-
* Fix #2768, Fix KeyError: 'first-entry' in parse_xinfo_stream.
17-
* Fix #2749, remove unnecessary __del__ logic to close connections.
18-
* Fix #2754, adding a missing argument to SentinelManagedConnection
19-
* Fix `xadd` command to accept non-negative `maxlen` including 0
20-
* Revert #2104, #2673, add `disconnect_on_error` option to `read_response()` (issues #2506, #2624)
21-
* Add `address_remap` parameter to `RedisCluster`
22-
* Fix incorrect usage of once flag in async Sentinel
23-
* asyncio: Fix memory leak caused by hiredis (#2693)
24-
* Allow data to drain from async PythonParser when reading during a disconnect()
25-
* Use asyncio.timeout() instead of async_timeout.timeout() for python >= 3.11 (#2602)
26-
* Add a Dependabot configuration to auto-update GitHub action versions.
27-
* Add test and fix async HiredisParser when reading during a disconnect() (#2349)
28-
* Use hiredis-py pack_command if available.
29-
* Support `.unlink()` in ClusterPipeline
30-
* Simplify synchronous SocketBuffer state management
31-
* Fix string cleanse in Redis Graph
32-
* Make PythonParser resumable in case of error (#2510)
33-
* Add `timeout=None` in `SentinelConnectionManager.read_response`
34-
* Documentation fix: password protected socket connection (#2374)
35-
* Allow `timeout=None` in `PubSub.get_message()` to wait forever
36-
* add `nowait` flag to `asyncio.Connection.disconnect()`
37-
* Update README.md links
38-
* Fix timezone handling for datetime to unixtime conversions
39-
* Fix start_id type for XAUTOCLAIM
40-
* Remove verbose logging from cluster.py
41-
* Add retry mechanism to async version of Connection
42-
* Compare commands case-insensitively in the asyncio command parser
43-
* Allow negative `retries` for `Retry` class to retry forever
44-
* Add `items` parameter to `hset` signature
45-
* Create codeql-analysis.yml (#1988). Thanks @chayim
46-
* Add limited support for Lua scripting with RedisCluster
47-
* Implement `.lock()` method on RedisCluster
48-
* Fix cursor returned by SCAN for RedisCluster & change default target to PRIMARIES
49-
* Fix scan_iter for RedisCluster
50-
* Remove verbose logging when initializing ClusterPubSub, ClusterPipeline or RedisCluster
51-
* Fix broken connection writer lock-up for asyncio (#2065)
52-
* Fix auth bug when provided with no username (#2086)
53-
* Fix missing ClusterPipeline._lock (#2189)
54-
* Added dynaminc_startup_nodes configuration to RedisCluster
55-
* Fix reusing the old nodes' connections when cluster topology refresh is being done
56-
* Fix RedisCluster to immediately raise AuthenticationError without a retry
57-
* ClusterPipeline Doesn't Handle ConnectionError for Dead Hosts (#2225)
58-
* Remove compatibility code for old versions of Hiredis, drop Packaging dependency
59-
* The `deprecated` library is no longer a dependency
60-
* Failover handling improvements for RedisCluster and Async RedisCluster (#2377)
61-
* Fixed "cannot pickle '_thread.lock' object" bug (#2354, #2297)
62-
* Added CredentialsProvider class to support password rotation
63-
* Enable Lock for asyncio cluster mode
64-
* Fix Sentinel.execute_command doesn't execute across the entire sentinel cluster bug (#2458)
65-
* Added a replacement for the default cluster node in the event of failure (#2463)
66-
* Fix for Unhandled exception related to self.host with unix socket (#2496)
67-
* Improve error output for master discovery
68-
* Make `ClusterCommandsProtocol` an actual Protocol
69-
* Add `sum` to DUPLICATE_POLICY documentation of `TS.CREATE`, `TS.ADD` and `TS.ALTER`
70-
* Prevent async ClusterPipeline instances from becoming "false-y" in case of empty command stack (#3061)
71-
* Close Unix sockets if the connection attempt fails. This prevents `ResourceWarning`s. (#3314)
72-
* Close SSL sockets if the connection attempt fails, or if validations fail. (#3317)
73-
* Eliminate mutable default arguments in the `redis.commands.core.Script` class. (#3332)
74-
* Fix SSL verification with `ssl_cert_reqs="none"` and `ssl_check_hostname=True` by automatically setting `check_hostname=False` when `verify_mode=ssl.CERT_NONE` (#3635)
75-
* Allow newer versions of PyJWT as dependency. (#3630)
1+
This file contains only the changes history before redis-py version 4.0.0
2+
After redis-py version 4.0.0 all changes can be found and tracked in the Release notes pubished in GitHub
763

77-
* 4.1.3 (Feb 8, 2022)
78-
* Fix flushdb and flushall (#1926)
79-
* Add redis5 and redis4 dockers (#1871)
80-
* Change json.clear test multi to be up to date with redisjson (#1922)
81-
* Fixing volume for unstable_cluster docker (#1914)
82-
* Update changes file with changes since 4.0.0-beta2 (#1915)
83-
* 4.1.2 (Jan 27, 2022)
84-
* Invalid OCSP certificates should raise ConnectionError on failed validation (#1907)
85-
* Added retry mechanism on socket timeouts when connecting to the server (#1895)
86-
* LMOVE, BLMOVE return incorrect responses (#1906)
87-
* Fixing AttributeError in UnixDomainSocketConnection (#1903)
88-
* Fixing TypeError in GraphCommands.explain (#1901)
89-
* For tests, increasing wait time for the cluster (#1908)
90-
* Increased pubsub's wait_for_messages timeout to prevent flaky tests (#1893)
91-
* README code snippets formatted to highlight properly (#1888)
92-
* Fix link in the main page (#1897)
93-
* Documentation fixes: JSON Example, SSL Connection Examples, RTD version (#1887)
94-
* Direct link to readthedocs (#1885)
95-
* 4.1.1 (Jan 17, 2022)
96-
* Add retries to connections in Sentinel Pools (#1879)
97-
* OCSP Stapling Support (#1873)
98-
* Define incr/decr as aliases of incrby/decrby (#1874)
99-
* FT.CREATE - support MAXTEXTFIELDS, TEMPORARY, NOHL, NOFREQS, SKIPINITIALSCAN (#1847)
100-
* Timeseries docs fix (#1877)
101-
* get_connection: catch OSError too (#1832)
102-
* Set keys var otherwise variable not created (#1853)
103-
* Clusters should optionally require full slot coverage (#1845)
104-
* Triple quote docstrings in client.py PEP 257 (#1876)
105-
* syncing requirements (#1870)
106-
* Typo and typing in GraphCommands documentation (#1855)
107-
* Allowing poetry and redis-py to install together (#1854)
108-
* setup.py: Add project_urls for PyPI (#1867)
109-
* Support test with redis unstable docker (#1850)
110-
* Connection examples (#1835)
111-
* Documentation cleanup (#1841)
112-
* 4.1.0 (Dec 26, 2021)
113-
* OCSP stapling support (#1820)
114-
* Support for SELECT (#1825)
115-
* Support for specifying error types with retry (#1817)
116-
* Support for RESET command since Redis 6.2.0 (#1824)
117-
* Support CLIENT TRACKING (#1612)
118-
* Support WRITE in CLIENT PAUSE (#1549)
119-
* JSON set_file and set_path support (#1818)
120-
* Allow ssl_ca_path with rediss:// urls (#1814)
121-
* Support for password-encrypted SSL private keys (#1782)
122-
* Support SYNC and PSYNC (#1741)
123-
* Retry on error exception and timeout fixes (#1821)
124-
* Fixing read race condition during pubsub (#1737)
125-
* Fixing exception in listen (#1823)
126-
* Fixed MovedError, and stopped iterating through startup nodes when slots are fully covered (#1819)
127-
* Socket not closing after server disconnect (#1797)
128-
* Single sourcing the package version (#1791)
129-
* Ensure redis_connect_func is set on uds connection (#1794)
130-
* SRTALGO - Skip for redis versions greater than 7.0.0 (#1831)
131-
* Documentation updates (#1822)
132-
* Add CI action to install package from repository commit hash (#1781) (#1790)
133-
* Fix link in lmove docstring (#1793)
134-
* Disabling JSON.DEBUG tests (#1787)
135-
* Migrated targeted nodes to kwargs in Cluster Mode (#1762)
136-
* Added support for MONITOR in clusters (#1756)
137-
* Adding ROLE Command (#1610)
138-
* Integrate RedisBloom support (#1683)
139-
* Adding RedisGraph support (#1556)
140-
* Allow overriding connection class via keyword arguments (#1752)
141-
* Aggregation LOAD * support for RediSearch (#1735)
142-
* Adding cluster, bloom, and graph docs (#1779)
143-
* Add packaging to setup_requires, and use >= to play nice to setup.py (fixes #1625) (#1780)
144-
* Fixing the license link in the readme (#1778)
145-
* Removing distutils from tests (#1773)
146-
* Fix cluster ACL tests (#1774)
147-
* Improved RedisCluster's reinitialize_steps and documentation (#1765)
148-
* Added black and isort (#1734)
149-
* Link Documents for all module commands (#1711)
150-
* Pyupgrade + flynt + f-strings (#1759)
151-
* Remove unused aggregation subclasses in RediSearch (#1754)
152-
* Adding RedisCluster client to support Redis Cluster Mode (#1660)
153-
* Support RediSearch FT.PROFILE command (#1727)
154-
* Adding support for non-decodable commands (#1731)
155-
* COMMAND GETKEYS support (#1738)
156-
* RedisJSON 2.0.4 behaviour support (#1747)
157-
* Removing deprecating distutils (PEP 632) (#1730)
158-
* Updating PR template (#1745)
159-
* Removing duplication of Script class (#1751)
160-
* Splitting documentation for read the docs (#1743)
161-
* Improve code coverage for aggregation tests (#1713)
162-
* Fixing COMMAND GETKEYS tests (#1750)
163-
* GitHub release improvements (#1684)
164-
* 4.0.2 (Nov 22, 2021)
165-
* Restoring Sentinel commands to redis client (#1723)
166-
* Better removal of hiredis warning (#1726)
167-
* Adding links to redis documents in function calls (#1719)
168-
* 4.0.1 (Nov 17, 2021)
169-
* Removing command on initial connections (#1722)
170-
* Removing hiredis warning when not installed (#1721)
171-
* 4.0.0 (Nov 15, 2021)
172-
* FT.EXPLAINCLI intentionally raising NotImplementedError
173-
* Restoring ZRANGE desc for Redis < 6.2.0 (#1697)
174-
* Response parsing occasionally fails to parse floats (#1692)
175-
* Re-enabling read-the-docs (#1707)
176-
* Call HSET after FT.CREATE to avoid keyspace scan (#1706)
177-
* Unit tests fixes for compatibility (#1703)
178-
* Improve documentation about Locks (#1701)
179-
* Fixes to allow --redis-url to pass through all tests (#1700)
180-
* Fix unit tests running against Redis 4.0.0 (#1699)
181-
* Search alias test fix (#1695)
182-
* Adding RediSearch/RedisJSON tests (#1691)
183-
* Updating codecov rules (#1689)
184-
* Tests to validate custom JSON decoders (#1681)
185-
* Added breaking icon to release drafter (#1702)
186-
* Removing dependency on six (#1676)
187-
* Re-enable pipeline support for JSON and TimeSeries (#1674)
188-
* Export Sentinel, and SSL like other classes (#1671)
189-
* Restore zrange functionality for older versions of Redis (#1670)
190-
* Fixed garbage collection deadlock (#1578)
191-
* Tests to validate built python packages (#1678)
192-
* Sleep for flaky search test (#1680)
193-
* Test function renames, to match standards (#1679)
194-
* Docstring improvements for Redis class (#1675)
195-
* Fix georadius tests (#1672)
196-
* Improvements to JSON coverage (#1666)
197-
* Add python_requires setuptools check for python > 3.6 (#1656)
198-
* SMISMEMBER support (#1667)
199-
* Exposing the module version in loaded_modules (#1648)
200-
* RedisTimeSeries support (#1652)
201-
* Support for json multipath ($) (#1663)
202-
* Added boolean parsing to PEXPIRE and PEXPIREAT (#1665)
203-
* Add python_requires setuptools check for python > 3.6 (#1656)
204-
* Adding vulture for static analysis (#1655)
205-
* Starting to clean the docs (#1657)
206-
* Update README.md (#1654)
207-
* Adding description format for package (#1651)
208-
* Publish to pypi as releases are generated with the release drafter (#1647)
209-
* Restore actions to prs (#1653)
210-
* Fixing the package to include commands (#1649)
211-
* Re-enabling codecov as part of CI process (#1646)
212-
* Adding support for redisearch (#1640) Thanks @chayim
213-
* redisjson support (#1636) Thanks @chayim
214-
* Sentinel: Add SentinelManagedSSLConnection (#1419) Thanks @AbdealiJK
215-
* Enable floating parameters in SET (ex and px) (#1635) Thanks @AvitalFineRedis
216-
* Add warning when hiredis not installed. Recommend installation. (#1621) Thanks @adiamzn
217-
* Raising NotImplementedError for SCRIPT DEBUG and DEBUG SEGFAULT (#1624) Thanks @chayim
218-
* CLIENT REDIR command support (#1623) Thanks @chayim
219-
* REPLICAOF command implementation (#1622) Thanks @chayim
220-
* Add support to NX XX and CH to GEOADD (#1605) Thanks @AvitalFineRedis
221-
* Add support to ZRANGE and ZRANGESTORE parameters (#1603) Thanks @AvitalFineRedis
222-
* Pre 6.2 redis should default to None for script flush (#1641) Thanks @chayim
223-
* Add FULL option to XINFO SUMMARY (#1638) Thanks @agusdmb
224-
* Geosearch test should use any=True (#1594) Thanks @Andrew-Chen-Wang
225-
* Removing packaging dependency (#1626) Thanks @chayim
226-
* Fix client_kill_filter docs for skimpy (#1596) Thanks @Andrew-Chen-Wang
227-
* Normalize minid and maxlen docs (#1593) Thanks @Andrew-Chen-Wang
228-
* Update docs for multiple usernames for ACL DELUSER (#1595) Thanks @Andrew-Chen-Wang
229-
* Fix grammar of get param in set command (#1588) Thanks @Andrew-Chen-Wang
230-
* Fix docs for client_kill_filter (#1584) Thanks @Andrew-Chen-Wang
231-
* Convert README & CONTRIBUTING from rst to md (#1633) Thanks @davidylee
232-
* Test BYLEX param in zrangestore (#1634) Thanks @AvitalFineRedis
233-
* Tox integrations with invoke and docker (#1632) Thanks @chayim
234-
* Adding the release drafter to help simplify release notes (#1618). Thanks @chayim
235-
* BACKWARDS INCOMPATIBLE: Removed support for end of life Python 2.7. #1318
236-
* BACKWARDS INCOMPATIBLE: All values within Redis URLs are unquoted via
237-
urllib.parse.unquote. Prior versions of redis-py supported this by
238-
specifying the ``decode_components`` flag to the ``from_url`` functions.
239-
This is now done by default and cannot be disabled. #589
240-
* POTENTIALLY INCOMPATIBLE: Redis commands were moved into a mixin
241-
(see commands.py). Anyone importing ``redis.client`` to access commands
242-
directly should import ``redis.commands``. #1534, #1550
243-
* Removed technical debt on REDIS_6_VERSION placeholder. Thanks @chayim #1582.
244-
* Various docus fixes. Thanks @Andrew-Chen-Wang #1585, #1586.
245-
* Support for LOLWUT command, available since Redis 5.0.0.
246-
Thanks @brainix #1568.
247-
* Added support for CLIENT REPLY, available in Redis 3.2.0.
248-
Thanks @chayim #1581.
249-
* Support for Auto-reconnect PubSub on get_message. Thanks @luhn #1574.
250-
* Fix RST syntax error in README/ Thanks @JanCBrammer #1451.
251-
* IDLETIME and FREQ support for RESTORE. Thanks @chayim #1580.
252-
* Supporting args with MODULE LOAD. Thanks @chayim #1579.
253-
* Updating RedisLabs with Redis. Thanks @gkorland #1575.
254-
* Added support for ASYNC to SCRIPT FLUSH available in Redis 6.2.0.
255-
Thanks @chayim. #1567
256-
* Added CLIENT LIST fix to support multiple client ids available in
257-
Redis 2.8.12. Thanks @chayim #1563.
258-
* Added DISCARD support for pipelines available in Redis 2.0.0.
259-
Thanks @chayim #1565.
260-
* Added ACL DELUSER support for deleting lists of users available in
261-
Redis 6.2.0. Thanks @chayim. #1562
262-
* Added CLIENT TRACKINFO support available in Redis 6.2.0.
263-
Thanks @chayim. #1560
264-
* Added GEOSEARCH and GEOSEARCHSTORE support available in Redis 6.2.0.
265-
Thanks @AvitalFine Redis. #1526
266-
* Added LPUSHX support for lists available in Redis 4.0.0.
267-
Thanks @chayim. #1559
268-
* Added support for QUIT available in Redis 1.0.0.
269-
Thanks @chayim. #1558
270-
* Added support for COMMAND COUNT available in Redis 2.8.13.
271-
Thanks @chayim. #1554.
272-
* Added CREATECONSUMER support for XGROUP available in Redis 6.2.0.
273-
Thanks @AvitalFineRedis. #1553
274-
* Including slowly complexity in INFO if available.
275-
Thanks @ian28223 #1489.
276-
* Added support for STRALGO available in Redis 6.0.0.
277-
Thanks @AvitalFineRedis. #1528
278-
* Addes support for ZMSCORE available in Redis 6.2.0.
279-
Thanks @2014BDuck and @jiekun.zhu. #1437
280-
* Support MINID and LIMIT on XADD available in Redis 6.2.0.
281-
Thanks @AvitalFineRedis. #1548
282-
* Added sentinel commands FLUSHCONFIG, CKQUORUM, FAILOVER, and RESET
283-
available in Redis 2.8.12.
284-
Thanks @otherpirate. #834
285-
* Migrated Version instead of StrictVersion for Python 3.10.
286-
Thanks @tirkarthi. #1552
287-
* Added retry mechanism with backoff. Thanks @nbraun-amazon. #1494
288-
* Migrated commands to a mixin. Thanks @chayim. #1534
289-
* Added support for ZUNION, available in Redis 6.2.0. Thanks
290-
@AvitalFineRedis. #1522
291-
* Added support for CLIENT LIST with ID, available in Redis 6.2.0.
292-
Thanks @chayim. #1505
293-
* Added support for MINID and LIMIT with xtrim, available in Reds 6.2.0.
294-
Thanks @chayim. #1508
295-
* Implemented LMOVE and BLMOVE commands, available in Redis 6.2.0.
296-
Thanks @chayim. #1504
297-
* Added GET argument to SET command, available in Redis 6.2.0.
298-
Thanks @2014BDuck. #1412
299-
* Documentation fixes. Thanks @enjoy-binbin @jonher937. #1496 #1532
300-
* Added support for XAUTOCLAIM, available in Redis 6.2.0.
301-
Thanks @AvitalFineRedis. #1529
302-
* Added IDLE support for XPENDING, available in Redis 6.2.0.
303-
Thanks @AvitalFineRedis. #1523
304-
* Add a count parameter to lpop/rpop, available in Redis 6.2.0.
305-
Thanks @wavenator. #1487
306-
* Added a (pypy) trove classifier for Python 3.9.
307-
Thanks @D3X. #1535
308-
* Added ZINTER support, available in Redis 6.2.0.
309-
Thanks @AvitalFineRedis. #1520
310-
* Added ZINTER support, available in Redis 6.2.0.
311-
Thanks @AvitalFineRedis. #1520
312-
* Added ZDIFF and ZDIFFSTORE support, available in Redis 6.2.0.
313-
Thanks @AvitalFineRedis. #1518
314-
* Added ZRANGESTORE support, available in Redis 6.2.0.
315-
Thanks @AvitalFineRedis. #1521
316-
* Added LT and GT support for ZADD, available in Redis 6.2.0.
317-
Thanks @chayim. #1509
318-
* Added ZRANDMEMBER support, available in Redis 6.2.0.
319-
Thanks @AvitalFineRedis. #1519
320-
* Added GETDEL support, available in Redis 6.2.0.
321-
Thanks @AvitalFineRedis. #1514
322-
* Added CLIENT KILL laddr filter, available in Redis 6.2.0.
323-
Thanks @chayim. #1506
324-
* Added CLIENT UNPAUSE, available in Redis 6.2.0.
325-
Thanks @chayim. #1512
326-
* Added NOMKSTREAM support for XADD, available in Redis 6.2.0.
327-
Thanks @chayim. #1507
328-
* Added HRANDFIELD support, available in Redis 6.2.0.
329-
Thanks @AvitalFineRedis. #1513
330-
* Added CLIENT INFO support, available in Redis 6.2.0.
331-
Thanks @AvitalFineRedis. #1517
332-
* Added GETEX support, available in Redis 6.2.0.
333-
Thanks @AvitalFineRedis. #1515
334-
* Added support for COPY command, available in Redis 6.2.0.
335-
Thanks @malinaa96. #1492
336-
* Provide a development and testing environment via docker. Thanks
337-
@abrookins. #1365
338-
* Added support for the LPOS command available in Redis 6.0.6. Thanks
339-
@aparcar #1353/#1354
340-
* Added support for the ACL LOG command available in Redis 6. Thanks
341-
@2014BDuck. #1307
342-
* Added support for ABSTTL option of the RESTORE command available in
343-
Redis 5.0. Thanks @charettes. #1423
3444
* 3.5.3 (June 1, 2020)
3455
* Restore try/except clauses to __del__ methods. These will be removed
3466
in 4.0 when more explicit resource management if enforced. #1339

0 commit comments

Comments
 (0)