{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":63652864,"defaultBranch":"master","name":"asyncpg","ownerLogin":"MagicStack","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-07-19T02:25:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14324950?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725404208.0","currentOid":""},"activityList":{"items":[{"before":"6de2afcfd1676acfc28f7fa4c5f51fd7515b26a2","after":null,"ref":"refs/heads/dependabot/github_actions/dot-github/workflows/actions/download-artifact-4.1.7","pushedAt":"2024-09-03T22:56:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"}},{"before":"85d7eed40637e7cad73a44ed2439ffeb2a8dc1c2","after":"0a322a2e4ca1c3c3cf6c2cf22b236a6da6c61680","ref":"refs/heads/master","pushedAt":"2024-09-03T22:56:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#1178)\n\nBumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.\r\n- [Release notes](https://github.com/actions/download-artifact/releases)\r\n- [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/download-artifact\r\n dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#…"}},{"before":null,"after":"6de2afcfd1676acfc28f7fa4c5f51fd7515b26a2","ref":"refs/heads/dependabot/github_actions/dot-github/workflows/actions/download-artifact-4.1.7","pushedAt":"2024-09-03T22:42:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows\n\nBumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/download-artifact\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows"}},{"before":"98aebf1fab88fd8bed1f5aa890736d9cfb2abb59","after":"85d7eed40637e7cad73a44ed2439ffeb2a8dc1c2","ref":"refs/heads/master","pushedAt":"2024-07-18T14:06:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"gssapi: use hostbased_service name type (#1167)\n\nThis is used by libpq and allows us to skip canonicalization of host\r\nname, which was making a blocking DNS lookup.\r\n\r\nSimilarly, don't canonicalize host name for SSPI, since this is not done\r\nby libpq.","shortMessageHtmlLink":"gssapi: use hostbased_service name type (#1167)"}},{"before":null,"after":"8977a80b6631a5547ff8b6d1044b554a0ba06e75","ref":"refs/heads/no-canon-gss-spn","pushedAt":"2024-07-17T23:11:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Don't attempt to canonicalize peer name in Kerberos/GSSAPI/SSPI auth\n\nlibpq does not canonicalize and neither should we, because:\n\n1) it's likely the wrong thing to do and removes control from the user;\n2) it introduces a blocking DNS lookup into an async path, which is not\n great.","shortMessageHtmlLink":"Don't attempt to canonicalize peer name in Kerberos/GSSAPI/SSPI auth"}},{"before":"11101c6eff3abb8c734b8880f2a6bd5bc3160255","after":"98aebf1fab88fd8bed1f5aa890736d9cfb2abb59","ref":"refs/heads/master","pushedAt":"2024-07-17T23:09:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Drop a bit of dead code\n\nThe `cache_key` argument to `ConnectionSettings` is unused.","shortMessageHtmlLink":"Drop a bit of dead code"}},{"before":"7dc58728f7d28608a50d3e0287ac5d8cfcfe6305","after":"11101c6eff3abb8c734b8880f2a6bd5bc3160255","ref":"refs/heads/master","pushedAt":"2024-07-17T21:54:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Replace obsolete, unsafe Py_TRASHCAN_SAFE_BEGIN/END (#1150)\n\nUse Py_TRASHCAN_BEGIN/END instead.\r\n\r\nhttps://bugs.python.org/issue44874\r\n\r\nThese are removed from the limited C API in Python 3.9, deprecated in\r\n3.11, and removed in Python 3.13:\r\n\r\nhttps://docs.python.org/3.13/whatsnew/3.13.html#id8","shortMessageHtmlLink":"Replace obsolete, unsafe Py_TRASHCAN_SAFE_BEGIN/END (#1150)"}},{"before":"e8488149e4f9c1e1f276ee85bc5f959512af12f9","after":"7dc58728f7d28608a50d3e0287ac5d8cfcfe6305","ref":"refs/heads/master","pushedAt":"2024-07-17T21:52:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"fix: return the pool from _async_init__ if it's already initialized (#1104)","shortMessageHtmlLink":"fix: return the pool from _async_init__ if it's already initialized (#…"}},{"before":"258d8a95e97be26e57118c43f5efa912260dd1e8","after":"e8488149e4f9c1e1f276ee85bc5f959512af12f9","ref":"refs/heads/master","pushedAt":"2024-07-17T21:45:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"docs: fix connection pool close call (#1125)","shortMessageHtmlLink":"docs: fix connection pool close call (#1125)"}},{"before":"636420b115fa58d462a13b567a5ca48340ab6ed6","after":"258d8a95e97be26e57118c43f5efa912260dd1e8","ref":"refs/heads/master","pushedAt":"2024-07-17T21:44:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Allow Cython 3 (#1101)\n\nFixes #1083.","shortMessageHtmlLink":"Allow Cython 3 (#1101)"}},{"before":"78038e27ba400a20f6cd6cfb960b15baff3fd1bf","after":null,"ref":"refs/heads/iscoroutine","pushedAt":"2024-07-17T21:43:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"}},{"before":"7f00484987b174a900f40886ca03d535ec3f42af","after":"636420b115fa58d462a13b567a5ca48340ab6ed6","ref":"refs/heads/master","pushedAt":"2024-07-17T21:43:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Mark pool-wrapped connection coroutine methods as coroutines (#1134)\n\nUse `markcoroutinefunction` (available in Python 3.12+) to make\r\n`inspect.iscoroutinefunction()` return the correct answer for wrapped\r\nconnection methods.\r\n\r\nFixes: #1133","shortMessageHtmlLink":"Mark pool-wrapped connection coroutine methods as coroutines (#1134)"}},{"before":"03c584091991730084dd793e57f3cfc71267fd9b","after":null,"ref":"refs/heads/setup-postgres","pushedAt":"2024-07-14T19:36:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"}},{"before":"85fca3f3534c740e82f267fdad3549c6a7ffd0ee","after":"7f00484987b174a900f40886ca03d535ec3f42af","ref":"refs/heads/master","pushedAt":"2024-07-14T19:36:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":".github: Explicitly install Postgres in platform tests (#1164)\n\nIt appears that Github no longer preinstalls Postgres in their macOS\r\nimages, so do this explicitly.","shortMessageHtmlLink":".github: Explicitly install Postgres in platform tests (#1164)"}},{"before":"f8bf1cf397c8eb4e18a5e46e47685c7dccf562b8","after":"03c584091991730084dd793e57f3cfc71267fd9b","ref":"refs/heads/setup-postgres","pushedAt":"2024-07-14T18:47:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":".github: Explicitly install Postgres in platform tests\n\nIt appears that Github no longer preinstalls Postgres in their macOS\nimages, so do this explicitly.","shortMessageHtmlLink":".github: Explicitly install Postgres in platform tests"}},{"before":"5ffcaf53df76818a6af8d33969fda4837b880b22","after":"f8bf1cf397c8eb4e18a5e46e47685c7dccf562b8","ref":"refs/heads/setup-postgres","pushedAt":"2024-07-14T18:46:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":".github: Explicitly install Postgres in platform tests\n\nIt appears that Github no longer preinstalls Postgres in their macOS\nimages, so do this explicitly.","shortMessageHtmlLink":".github: Explicitly install Postgres in platform tests"}},{"before":"9fcddfc1c0b6e949a2c16e193d5472699b78458d","after":"85fca3f3534c740e82f267fdad3549c6a7ffd0ee","ref":"refs/heads/master","pushedAt":"2024-07-13T10:38:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Unbreak documentation build.","shortMessageHtmlLink":"Unbreak documentation build."}},{"before":"1194a8a64484da63ecffc9b2f4ccedf5b60ee23c","after":"9fcddfc1c0b6e949a2c16e193d5472699b78458d","ref":"refs/heads/master","pushedAt":"2024-07-13T10:33:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Use asyncio.run() instead of run_until_complete() (#1140)\n\nMostly in the documentation.","shortMessageHtmlLink":"Use asyncio.run() instead of run_until_complete() (#1140)"}},{"before":null,"after":"5ffcaf53df76818a6af8d33969fda4837b880b22","ref":"refs/heads/setup-postgres","pushedAt":"2024-07-13T10:24:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":".github: Explicitly install Postgres in platform tests\n\nIt appears that Github no longer preinstalls Postgres in their default\nrunner images, so do this explicitly.","shortMessageHtmlLink":".github: Explicitly install Postgres in platform tests"}},{"before":"1aab2094d82104d5eee2cffcfd0c7e7347d4c5b8","after":"1194a8a64484da63ecffc9b2f4ccedf5b60ee23c","ref":"refs/heads/master","pushedAt":"2024-06-07T21:36:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"s/quote/quote_plus/ in the note about DSN part quoting\n\nNoticed in #1151","shortMessageHtmlLink":"s/quote/quote_plus/ in the note about DSN part quoting"}},{"before":"a2055ae2a6e18e1eafbb794eff11d820e9bf0cd0","after":"78038e27ba400a20f6cd6cfb960b15baff3fd1bf","ref":"refs/heads/iscoroutine","pushedAt":"2024-03-15T16:32:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Mark pool-wrapped connection coroutine methods as coroutines\n\nUse `markcoroutinefunction` (available in Python 3.12+) to make\n`inspect.iscoroutinefunction()` return the correct answer for wrapped\nconnection methods.\n\nFixes: #1133","shortMessageHtmlLink":"Mark pool-wrapped connection coroutine methods as coroutines"}},{"before":null,"after":"a2055ae2a6e18e1eafbb794eff11d820e9bf0cd0","ref":"refs/heads/iscoroutine","pushedAt":"2024-03-15T16:14:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Mark pool-wrapped connection coroutine methods as coroutines\n\nUse `markcoroutinefunction` (available in Python 3.12+) to make\n`inspect.iscoroutinefunction()` return the correct answer for wrapped\nconnection methods.\n\nFixes: #1133","shortMessageHtmlLink":"Mark pool-wrapped connection coroutine methods as coroutines"}},{"before":"d42432bff29c5fe7c42926a24bd1272dea39af90","after":"1aab2094d82104d5eee2cffcfd0c7e7347d4c5b8","ref":"refs/heads/master","pushedAt":"2024-03-11T17:34:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Implement SSPI authentication (#1128)\n\nSSPI is a Windows technology for secure authentication. SSPI and GSSAPI\r\ninteroperate as clients and servers. Postgres documentation recommends\r\nusing SSPI on Windows clients and servers and GSSAPI on non-Windows\r\nplatforms[1].\r\n\r\nChanges in this PR:\r\n\r\n* Support AUTH_REQUIRED_SSPI server request. This is the same as\r\n AUTH_REQUIRED_GSS, except it allows negotiation with SSPI clients.\r\n\r\n* Allow using SSPI on the client. Which library to use can be specified\r\n using the `gsslib` connection parameter.\r\n\r\n* Use SSPI instead of GSSAPI on Windows by default. The latter requires\r\n installing Kerberos for Windows and is unlikely to work out of the\r\n box.\r\n\r\nCloses #142\r\n\r\n[1] https://www.postgresql.org/docs/current/sspi-auth.html","shortMessageHtmlLink":"Implement SSPI authentication (#1128)"}},{"before":"1d4e56802a14d92b9f90b509ed8d841b851a0286","after":"d42432bff29c5fe7c42926a24bd1272dea39af90","ref":"refs/heads/master","pushedAt":"2024-03-05T00:37:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Add initial typings (#1127)\n\n* Added typings to miscellaneous files\r\n* Added unit test to check codebase with mypy\r\n* Updated release workflow and build to account for annotations\r\n* Updated manifest to include stub files","shortMessageHtmlLink":"Add initial typings (#1127)"}},{"before":"c2c8d20ba8c0057b0e0bc08bd892abc36862e553","after":"1d4e56802a14d92b9f90b509ed8d841b851a0286","ref":"refs/heads/master","pushedAt":"2024-03-04T20:07:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Implement GSSAPI authentication (#1122)\n\nMost commonly used with Kerberos.\r\n\r\nCloses: #769","shortMessageHtmlLink":"Implement GSSAPI authentication (#1122)"}},{"before":"74f3a0031532b314d9141b6de12aa74db7726b3d","after":"c2c8d20ba8c0057b0e0bc08bd892abc36862e553","ref":"refs/heads/master","pushedAt":"2023-11-05T06:00:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"Post-release version bump","shortMessageHtmlLink":"Post-release version bump"}},{"before":"74f3a0031532b314d9141b6de12aa74db7726b3d","after":null,"ref":"refs/heads/release","pushedAt":"2023-11-05T05:57:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"}},{"before":"d7faaff57a7a9c0029a31f09564d30ab35007907","after":"74f3a0031532b314d9141b6de12aa74db7726b3d","ref":"refs/heads/master","pushedAt":"2023-11-05T05:57:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"asyncpg v0.29.0\n\nMinor fixes and improvements.\n\nImprovements\n============\n\n* Python 3.12 and PostgreSQL 16 support (#1084)\n (by @elprans in deea86ce)\n\n* Add support for tuple-format custom codecs on composite types (#1061)\n (by @elprans in 922fcd10)\n\n* Support `target_session_attrs` in URL format, add tests (#1073)\n (by @elprans in 7cb4e70d)\n\n* Infinity numeric support (#1067)\n (by @krokoziabla in 0c3bf600 for #1020)\n\n* Add support for the `WHERE` clause in `copy_to` methods (#941)\n (by @kaylynn234 in b7ffab6c)\n\n* Add query logging callbacks and context manager (#1043)\n (by @dcwatson in b2697ffd)\n\nFixes\n=====\n\n* When prepared statements are disabled, avoid relying on them harder (#1065)\n (by @elprans in cbf64e18)\n\n* Handle environments with HOME set to a not-a-directory (#1063)\n (by @elprans in af922bcf)\n\n* Fix handling of non-ASCII passwords (#1062)\n (by @elprans in 89d5bd03)\n\n* Disable JIT while doing type introspection (#1082)\n (by @elprans in f21ebf64)\n\n* Remove connection parameter caching in `Pool` (#1053)\n (by @ermakov-oleg in 4ddb0397)\n\n* Switch to Python 3.12-style `wait_for` (#1086)\n (by @elprans in 4bdd8a7e)\n\n* Update automatic PostGIS type conversion for Shapely 2.0 (#1085)\n (by @ChimneySwift in 8b45beb4)\n\n* Use the `timeout` context manager in the connection path (#1087)\n (by @elprans in 313b2b2b)\n\n* Small fix for documentation on using SSL in Connection (#995)\n (by @ScottFred in ccc7baf9)\n\n* Use cleanup_ctx in pool usage doc (#878)\n (by @ir4y in 70c8bd81)\n\n* Close cursor portals once the iterator is exhausted (#1088)\n (by @elprans in ca9f03be)\n\n* Cut BaseProtocol circular reference on close. (#1049)\n (by @pteromys in 93a6f79a)\n\n* Allow passing hosts as tuples to `connect()` (in addition to lists) (#1021)\n (by @lezram in d7faaff5)\n\nOther\n=====\n\n* Drop support for Python 3.7 (#1064)\n (by @bryanforbes in 87ab1431)","shortMessageHtmlLink":"asyncpg v0.29.0"}},{"before":"57673e20cb41f3a2be227f3d052a6a4d4e1795fa","after":"3dd667cdc0c7ecc8ad9a4b9db2643a1eb75126e1","ref":"refs/heads/gh-pages","pushedAt":"2023-11-05T05:56:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Automatic documentation update","shortMessageHtmlLink":"Automatic documentation update"}},{"before":"38aba5d34b3792b9d3cc33b01742639a984fe7c7","after":"74f3a0031532b314d9141b6de12aa74db7726b3d","ref":"refs/heads/release","pushedAt":"2023-11-05T05:23:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elprans","name":"Elvis Pranskevichus","path":"/elprans","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347119?s=80&v=4"},"commit":{"message":"asyncpg v0.29.0\n\nMinor fixes and improvements.\n\nImprovements\n============\n\n* Python 3.12 and PostgreSQL 16 support (#1084)\n (by @elprans in deea86ce)\n\n* Add support for tuple-format custom codecs on composite types (#1061)\n (by @elprans in 922fcd10)\n\n* Support `target_session_attrs` in URL format, add tests (#1073)\n (by @elprans in 7cb4e70d)\n\n* Infinity numeric support (#1067)\n (by @krokoziabla in 0c3bf600 for #1020)\n\n* Add support for the `WHERE` clause in `copy_to` methods (#941)\n (by @kaylynn234 in b7ffab6c)\n\n* Add query logging callbacks and context manager (#1043)\n (by @dcwatson in b2697ffd)\n\nFixes\n=====\n\n* When prepared statements are disabled, avoid relying on them harder (#1065)\n (by @elprans in cbf64e18)\n\n* Handle environments with HOME set to a not-a-directory (#1063)\n (by @elprans in af922bcf)\n\n* Fix handling of non-ASCII passwords (#1062)\n (by @elprans in 89d5bd03)\n\n* Disable JIT while doing type introspection (#1082)\n (by @elprans in f21ebf64)\n\n* Remove connection parameter caching in `Pool` (#1053)\n (by @ermakov-oleg in 4ddb0397)\n\n* Switch to Python 3.12-style `wait_for` (#1086)\n (by @elprans in 4bdd8a7e)\n\n* Update automatic PostGIS type conversion for Shapely 2.0 (#1085)\n (by @ChimneySwift in 8b45beb4)\n\n* Use the `timeout` context manager in the connection path (#1087)\n (by @elprans in 313b2b2b)\n\n* Small fix for documentation on using SSL in Connection (#995)\n (by @ScottFred in ccc7baf9)\n\n* Use cleanup_ctx in pool usage doc (#878)\n (by @ir4y in 70c8bd81)\n\n* Close cursor portals once the iterator is exhausted (#1088)\n (by @elprans in ca9f03be)\n\n* Cut BaseProtocol circular reference on close. (#1049)\n (by @pteromys in 93a6f79a)\n\n* Allow passing hosts as tuples to `connect()` (in addition to lists) (#1021)\n (by @lezram in d7faaff5)\n\nOther\n=====\n\n* Drop support for Python 3.7 (#1064)\n (by @bryanforbes in 87ab1431)","shortMessageHtmlLink":"asyncpg v0.29.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErBg4ZAA","startCursor":null,"endCursor":null}},"title":"Activity · MagicStack/asyncpg"}