{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":363150,"defaultBranch":"master","name":"redis-py","ownerLogin":"redis","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2009-11-06T10:22:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1529926?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715174899.0","currentOid":""},"activityList":{"items":[{"before":"85dafcc7eac8c997b89a072016e4f64fa3a8f973","after":"0d47d6527a10fb70f8fcfdf8df69ae3b11ec92ef","ref":"refs/heads/master","pushedAt":"2024-05-28T14:28:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Add missing type hints for backoff.py (#3249)\n\nAdd type hints to backoff.py","shortMessageHtmlLink":"Add missing type hints for backoff.py (#3249)"}},{"before":"b7a85eb6b477298dd3765da3a299979cc1ddafcc","after":"85dafcc7eac8c997b89a072016e4f64fa3a8f973","ref":"refs/heads/master","pushedAt":"2024-05-28T07:25:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"More robust parsing of memory stats response (#3247)\n\nMake the parsing of memory stats response more robust, to not break on\r\nchanges that will be added to the Redis server.\r\n\r\nAlso make a test related to client kill by maxage more resilient.\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"More robust parsing of memory stats response (#3247)"}},{"before":"9908a4d4fa33b96dffe4e11b1f257f2c59954dcd","after":"b7a85eb6b477298dd3765da3a299979cc1ddafcc","ref":"refs/heads/master","pushedAt":"2024-05-24T08:50:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Parse FT.PROFILE response more robustly (#3245)\n\nWhen parsing the response of FT.PROFILE, handle the cases when the\r\nnested items are either not lists, or empty lists, or lists with a\r\nsingle item.\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Parse FT.PROFILE response more robustly (#3245)"}},{"before":"9a70f627f5c9a213b4bdb0358fc84fdedb77894f","after":"9908a4d4fa33b96dffe4e11b1f257f2c59954dcd","ref":"refs/heads/master","pushedAt":"2024-05-23T14:21:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Run pyupgrade for 3.8 (#3236)\n\nRun pyupgrade for 3.8.","shortMessageHtmlLink":"Run pyupgrade for 3.8 (#3236)"}},{"before":"82589143fc01b2ca58bcd9d9d6f62823b4a16943","after":"2887873667557d9fea1621748f44bd8e425864aa","ref":"refs/heads/dependabot/github_actions/actions/stale-9","pushedAt":"2024-05-22T05:40:52.000Z","pushType":"push","commitsCount":21,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Merge branch 'master' into dependabot/github_actions/actions/stale-9","shortMessageHtmlLink":"Merge branch 'master' into dependabot/github_actions/actions/stale-9"}},{"before":"de8b5709a7d2022deff55034fe7dabc5770225a2","after":"9a70f627f5c9a213b4bdb0358fc84fdedb77894f","ref":"refs/heads/master","pushedAt":"2024-05-21T07:17:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Fix typing for address_remap (fixes #3234) (#3235)\n\nThe address_remap callback received a tuple with the host and the port.\r\nMake this clear in the typing hints.","shortMessageHtmlLink":"Fix typing for address_remap (fixes #3234) (#3235)"}},{"before":"cefc36ef9360fb730025087ef359d676991fd96d","after":"de8b5709a7d2022deff55034fe7dabc5770225a2","ref":"refs/heads/master","pushedAt":"2024-05-20T15:39:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Use new Redis logo and website (#3233)\n\nUse the new logo, and use the SVG version of the logo in all places,\r\nincluding the README.\r\n\r\nReplace most of the redis.com URLs with their new redis.io counterparts.\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Use new Redis logo and website (#3233)"}},{"before":"6751de20a0cad597a2a024cdae2a1518ea1b1580","after":"cefc36ef9360fb730025087ef359d676991fd96d","ref":"refs/heads/master","pushedAt":"2024-05-20T14:44:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Update ResponseT type alias (#3227)\n\nPyright treats explicit and implicit `Any` differently, with implicit `Any` being treated as `Unknown`. Pyright raised a warning indicating an unknown member type for 'Awaitable' when used in 'ResponseT'. Using the `incr` method as an example, the warning is:\r\n\r\n```\r\n\"warning: Type of 'incr' is partially unknown\r\n Type of 'incr' is '(name: bytes | str | memoryview, amount: int = 1) -> (Awaitable[Unknown] | Any)' (reportUnknownMemberType)\"\r\n```\r\n\r\nBy explicitly specifying 'Awaitable[Any]' in the union for 'ResponseT', this resolves the ambiguity about the member type.","shortMessageHtmlLink":"Update ResponseT type alias (#3227)"}},{"before":"0b2008701d9187f2b128542322ca833d62619a45","after":"6751de20a0cad597a2a024cdae2a1518ea1b1580","ref":"refs/heads/master","pushedAt":"2024-05-15T13:50:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Streamline documentation style (#3232)\n\nAdopt the Google docstrings style as the preferred way to document code.\r\nUpdate one of the existing docstrings to the new format, to showcase how\r\nit would look like.\r\n\r\nEnable the `napoleon` preprocessor in Sphinx, to be able to process\r\nGoogle style docstrings.\r\n\r\nTake the opportunity to make the copyright year dynamic, so we don't\r\nhave to manually keep it up to date.\r\n\r\nAdd a section about documentation to the contributors guide.\r\n\r\n---------\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Streamline documentation style (#3232)"}},{"before":"68d6d537529cba18ed994edb512985da766eb989","after":"0b2008701d9187f2b128542322ca833d62619a45","ref":"refs/heads/master","pushedAt":"2024-05-15T12:41:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Document XREAD of last message (+) (#3188)\n\nXREAD now supports reading the last message in the stream, with the +\r\nspecial Id. The code already supports this, so just add some\r\ndocumentation to an existing Jupyter notebook.\r\n\r\nFixes #3155\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Document XREAD of last message (+) (#3188)"}},{"before":"d93f533941a0c10f630da68b7fe38f8764ffc85a","after":"35e4850d9817c7b382bf813e6ce0ea2ebab7fb24","ref":"refs/heads/emb-examples","pushedAt":"2024-05-15T12:40:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"DOC-3787 add missing code samples for JSON (#3229)\n\nPython examples for the JSON datatype page\r\n(https://redis.io/docs/latest/develop/data-types/json/) are available in the repo but\r\nhaven't been added to the page yet. While adding them, I discovered that the Python\r\nsamples don't match the CLI samples in a few places, so I've updated them.","shortMessageHtmlLink":"DOC-3787 add missing code samples for JSON (#3229)"}},{"before":"cd92428cb3f0bc989bdf2fc03ee572bb239e7f3a","after":"68d6d537529cba18ed994edb512985da766eb989","ref":"refs/heads/master","pushedAt":"2024-05-14T15:58:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Fix CNs in test certificates (#3226)\n\nThe CNs in the test certificates (CA, server and client) were all the\r\nsame, which is not right. Make them different.\r\n\r\nCleanup the Jupyter notebook that documents how SSL connections work.\r\nMake the code blocks actually run, by using the test certificates from\r\ndevenv. Simplify a bit the OCSP examples, since they can't run anyway,\r\ndue to lack of OCSP in our test infrastructure, so they are rather informative.\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Fix CNs in test certificates (#3226)"}},{"before":"a2bcea26e1b8b364da0edc01ec5ef9bc73f4fb93","after":"cd92428cb3f0bc989bdf2fc03ee572bb239e7f3a","ref":"refs/heads/master","pushedAt":"2024-05-09T07:12:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Support NOVALUES parameter for HSCAN (#3157)\n\n* Support NOVALUES parameter for HSCAN\r\n\r\nIssue #3153\r\n\r\nThe NOVALUES parameter instructs HSCAN to only return the hash keys,\r\nwithout values.\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Support NOVALUES parameter for HSCAN (#3157)"}},{"before":"4981761db2bc933434824f60629c4d48d351d7e9","after":"a2bcea26e1b8b364da0edc01ec5ef9bc73f4fb93","ref":"refs/heads/master","pushedAt":"2024-05-09T07:07:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Support the MAXAGE option for CLIENT KILL (#3187)\n\nIssue #3154\r\n\r\nThe CLIENT KILL command has a new option, called MAXAGE, to kill\r\nclients older than a given age. Add support for this new option.\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Support the MAXAGE option for CLIENT KILL (#3187)"}},{"before":"8afddde93a107cc2e4eaf469c13780c8c7913a1b","after":"4981761db2bc933434824f60629c4d48d351d7e9","ref":"refs/heads/master","pushedAt":"2024-05-08T11:47:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Version 5.1.0b5 (#3224)\n\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Version 5.1.0b5 (#3224)"}},{"before":"3bd311c7ee9ae04da62d5f1e3b1777da49b2e61f","after":"8afddde93a107cc2e4eaf469c13780c8c7913a1b","ref":"refs/heads/master","pushedAt":"2024-05-08T00:53:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"Make it possible to customize SSL ciphers (#3212) (#3214)\n\nGiven that Python 3.10 changed the default list of TLS ciphers, it is a\r\ngood idea to allow customization of the list of ciphers when using\r\nRedis with TLS. In some situations the client is unusable right now\r\nwith older servers and Python >= 3.10.","shortMessageHtmlLink":"Make it possible to customize SSL ciphers (#3212) (#3214)"}},{"before":"64f291f7797b5b3e5652da8941947b8c2db517e9","after":"3bd311c7ee9ae04da62d5f1e3b1777da49b2e61f","ref":"refs/heads/master","pushedAt":"2024-05-08T00:52:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"Streamline client side caching API typing (#3216)\n\n* Streamline client side caching API typing\r\n\r\nStreamline the typing of the client side caching API. Some of the\r\nmethods are defining commands of type `str`, while in reality tuples\r\nare being sent for those parameters.\r\n\r\nAdd client side cache tests for Sentinels. In order to make this work,\r\nfix the sentinel configuration in the docker-compose stack.\r\n\r\nAdd a test for client side caching with a truly custom cache, not just\r\ninjecting our internal cache structure as custom.\r\n\r\nAdd a test for client side caching where two different types of commands\r\nuse the same key, to make sure they invalidate each others cached data.\r\n\r\n* Fixes after running tests against RE\r\n\r\n* More test cases\r\n\r\n* Fix async tests\r\n\r\n* Tests for raw commands\r\n\r\n* Change terminology for allow/deny lists\r\n\r\n* Add test for single connection\r\n\r\n* Make sure flushing the cache works everywhere\r\n\r\n* Reenable some tests for cluster too\r\n\r\n* Align cache typings at abstract level\r\n\r\n* Use Sequence instead of Iterable for types\r\n\r\n* Remove some exceptions in favor of ifs\r\n\r\n---------\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Streamline client side caching API typing (#3216)"}},{"before":"0bcd574f1146e22bf6a894d94680bc7423f263b0","after":"fec8e324fc543cbc5e50ea9c042a07e04405bd7e","ref":"refs/heads/enterprise-tests","pushedAt":"2024-05-06T11:43:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"fix tests","shortMessageHtmlLink":"fix tests"}},{"before":"3b09eee652006fc87cffe497139551f422d9a04f","after":"0bcd574f1146e22bf6a894d94680bc7423f263b0","ref":"refs/heads/enterprise-tests","pushedAt":"2024-05-06T10:51:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"fix tests","shortMessageHtmlLink":"fix tests"}},{"before":"dc28a4f494d4401e71cd1f05e09225d7ee5ff295","after":"3b09eee652006fc87cffe497139551f422d9a04f","ref":"refs/heads/enterprise-tests","pushedAt":"2024-05-06T10:36:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"fix tests","shortMessageHtmlLink":"fix tests"}},{"before":"f234f8b35d7856b72a4deabf27f0316a9312a5b9","after":"dc28a4f494d4401e71cd1f05e09225d7ee5ff295","ref":"refs/heads/enterprise-tests","pushedAt":"2024-05-05T13:45:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"skip tests","shortMessageHtmlLink":"skip tests"}},{"before":"07fc339b4a4088c1ff052527685ebdde43dfc4be","after":"64f291f7797b5b3e5652da8941947b8c2db517e9","ref":"refs/heads/master","pushedAt":"2024-05-05T09:20:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"Adding twine check prior to package upload (#3198)","shortMessageHtmlLink":"Adding twine check prior to package upload (#3198)"}},{"before":"1b40a319e21fc29231e3e635be82271fb33fba92","after":"f234f8b35d7856b72a4deabf27f0316a9312a5b9","ref":"refs/heads/enterprise-tests","pushedAt":"2024-05-02T14:54:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"fix test","shortMessageHtmlLink":"fix test"}},{"before":"b1b6dbbace1328f651ba69ef582f80b7491ce981","after":"1b40a319e21fc29231e3e635be82271fb33fba92","ref":"refs/heads/enterprise-tests","pushedAt":"2024-05-01T11:49:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"skip more tests and fix linters","shortMessageHtmlLink":"skip more tests and fix linters"}},{"before":"1784b37f548076aca16d7236882c085428f9b23e","after":"e71119de095bb01201665d57a1dc63230aa0606e","ref":"refs/heads/5.0","pushedAt":"2024-04-23T15:30:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gerzse","name":"Gabriel Erzse","path":"/gerzse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5439601?s=80&v=4"},"commit":{"message":"Make it possible to customize SSL ciphers (#3212)\n\nGiven that Python 3.10 changed the default list of TLS ciphers, it is a\r\ngood idea to allow customization of the list of ciphers when using\r\nRedis with TLS. In some situations the client is unusable right now\r\nwith older servers and Python >= 3.10.\r\n\r\nAlso whitelist a dev dependency vulnerability, and bump version to 5.0.4.\r\n\r\n---------\r\n\r\nCo-authored-by: Gabriel Erzse ","shortMessageHtmlLink":"Make it possible to customize SSL ciphers (#3212)"}},{"before":"a318b746265ad19658a57157384f0f31f7deccb5","after":"b1b6dbbace1328f651ba69ef582f80b7491ce981","ref":"refs/heads/enterprise-tests","pushedAt":"2024-04-18T13:17:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"test againt public redis","shortMessageHtmlLink":"test againt public redis"}},{"before":"45dd0b72e61954fa1a043a18f3b06054fbe20e75","after":"a318b746265ad19658a57157384f0f31f7deccb5","ref":"refs/heads/enterprise-tests","pushedAt":"2024-04-17T14:10:56.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"Merge branch 'enterprise-tests' of https://github.com/redis/redis-py into enterprise-tests","shortMessageHtmlLink":"Merge branch 'enterprise-tests' of https://github.com/redis/redis-py …"}},{"before":"cf78401d84c2f523ee780385551cc40ff5fcfa62","after":"45dd0b72e61954fa1a043a18f3b06054fbe20e75","ref":"refs/heads/enterprise-tests","pushedAt":"2024-04-16T12:06:11.000Z","pushType":"push","commitsCount":24,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"Merge branch 'master' into enterprise-tests","shortMessageHtmlLink":"Merge branch 'master' into enterprise-tests"}},{"before":"ff7847f9153099e0484b581271616c58679f9ab1","after":"cf78401d84c2f523ee780385551cc40ff5fcfa62","ref":"refs/heads/enterprise-tests","pushedAt":"2024-04-16T11:50:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"skip tests","shortMessageHtmlLink":"skip tests"}},{"before":"037d10826e609fa0de7a4a0f56bca440cc1d245c","after":"07fc339b4a4088c1ff052527685ebdde43dfc4be","ref":"refs/heads/master","pushedAt":"2024-03-27T11:13:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dvora-h","name":null,"path":"/dvora-h","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67596500?s=80&v=4"},"commit":{"message":"Update black version to 24.3.0 (#3193)\n\n* Update black version to 24.3.0\r\n\r\n* fix black changes","shortMessageHtmlLink":"Update black version to 24.3.0 (#3193)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVfS9DgA","startCursor":null,"endCursor":null}},"title":"Activity · redis/redis-py"}