)]}'
{
  "log": [
    {
      "commit": "f1a47e79fb7081d3cde6364530bfa98240ebbe4c",
      "tree": "b5190a0ac13c82f0382ab61187b61e7b56ef6bd9",
      "parents": [
        "50476a7e87926cf6a9ea978943c4a3d5d771c95f"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Wed May 13 23:21:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 23:21:03 2026"
      },
      "message": "gh-149698: Update bundled expat to 2.8.1 (GH-149699)"
    },
    {
      "commit": "50476a7e87926cf6a9ea978943c4a3d5d771c95f",
      "tree": "2d040360d958bb6248c4acc08ba0d48d26081b21",
      "parents": [
        "b6854c50988761b305972e6e83b642c46cf00448"
      ],
      "author": {
        "name": "Carlo Bramini",
        "email": "carlo_bramini@users.sourceforge.net",
        "time": "Wed May 13 21:50:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 21:50:24 2026"
      },
      "message": "gh-148758: Fix dynamic loading file extensions for Cygwin (#148759)\n\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "b6854c50988761b305972e6e83b642c46cf00448",
      "tree": "a928d68910e70c9dad75b3c53d397cb37cb8653b",
      "parents": [
        "fdf064ca8101bd5ffdc4b34c691cf34266093c99"
      ],
      "author": {
        "name": "Carlo Bramini",
        "email": "carlo_bramini@users.sourceforge.net",
        "time": "Wed May 13 20:05:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 20:05:27 2026"
      },
      "message": "gh-148575: Use /dev/fd/ to read the set of file descriptors on Cygwin (#148576)"
    },
    {
      "commit": "fdf064ca8101bd5ffdc4b34c691cf34266093c99",
      "tree": "a31d4aa99a16abc25be4de0eb3a89cba7fd88545",
      "parents": [
        "94bca40ff09c20f6168d6a27e3aa42bf8a8077b8"
      ],
      "author": {
        "name": "Carlo Bramini",
        "email": "carlo_bramini@users.sourceforge.net",
        "time": "Wed May 13 19:09:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 19:09:24 2026"
      },
      "message": "gh-148461: Use arc4random_buf() in mimalloc on Cygwin (#148462)\n\nSee also issue #113141."
    },
    {
      "commit": "94bca40ff09c20f6168d6a27e3aa42bf8a8077b8",
      "tree": "4dc76d463cd9ba7139a936515e94c26f33d368cb",
      "parents": [
        "eac4fe3b2c77693790a5ef7dfab127c1fee81bf9"
      ],
      "author": {
        "name": "Kumar Aditya",
        "email": "kumaraditya@python.org",
        "time": "Wed May 13 17:33:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 17:33:59 2026"
      },
      "message": "gh-148906: fix performance scaling of descriptors on free-threading (#148915)"
    },
    {
      "commit": "eac4fe3b2c77693790a5ef7dfab127c1fee81bf9",
      "tree": "e00bd24cf4b8041169b17236d6d610284051fbf6",
      "parents": [
        "125f26358ac7ecab98095fa85490e5465bdad698"
      ],
      "author": {
        "name": "Gregory P. Smith",
        "email": "68491+gpshead@users.noreply.github.com",
        "time": "Wed May 13 17:33:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 17:33:43 2026"
      },
      "message": "gh-87451: Apply CVE-2021-4189 PASV fix to ftplib.ftpcp() (GH-149648)\n\nftpcp() called parse227() directly and passed the source server\u0027s\nself-reported PASV IPv4 address to the target server\u0027s PORT command,\nbypassing the CVE-2021-4189 fix that was applied only to FTP.makepasv().\nA malicious source FTP server could use this to redirect the target\nserver\u0027s data connection to an arbitrary host:port (SSRF).\n\nftpcp() now uses the source server\u0027s actual peer address, honoring the\nexisting trust_server_pasv_ipv4_address opt-out, the same as makepasv().\n\nThanks to Qi Ding at Aurascape AI for the report. (GHSA-w8c5-q2xf-gf7c)"
    },
    {
      "commit": "125f26358ac7ecab98095fa85490e5465bdad698",
      "tree": "64baa140159c4ae09431ddef540e29f3671d1ba9",
      "parents": [
        "b162307d7f216e87976d76c9b8f4a932961cb2d4"
      ],
      "author": {
        "name": "Petr Viktorin",
        "email": "encukou@gmail.com",
        "time": "Wed May 13 17:14:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 17:14:05 2026"
      },
      "message": "gh-149685: Use the _Py prefix for private C macros (GH-149686)"
    },
    {
      "commit": "b162307d7f216e87976d76c9b8f4a932961cb2d4",
      "tree": "cb234c53bd42457cda968ebf45185e373b4e5797",
      "parents": [
        "fa81cd976ad88e022839a37501d75d8716e22e3b"
      ],
      "author": {
        "name": "Barry Warsaw",
        "email": "barry@python.org",
        "time": "Wed May 13 16:45:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 16:45:25 2026"
      },
      "message": "gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.addsitedir() (#149659)\n\n* Add re-entrant tests for gh-149504\n* Add end-to-end integration test coverage\n\nThis ensures that future whitebox internal test changes do not regress the\npublic surface semantics.\n\n* Implement a state class to process .pth and .start files\n\nBy using this state class and managing implicit and explicit batching, we make it structurally\nimpossible to get bitten by re-entrant site startup processing.\n\nFixes #149504"
    },
    {
      "commit": "fa81cd976ad88e022839a37501d75d8716e22e3b",
      "tree": "50cd496cf9eaa07eff920f2a5670d0db0139cff3",
      "parents": [
        "3cfc249e11a132dc69624150843779aa96c72b2b"
      ],
      "author": {
        "name": "Petr Viktorin",
        "email": "encukou@gmail.com",
        "time": "Wed May 13 16:35:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 16:35:50 2026"
      },
      "message": "gh-140550: Update xxlimited with 3.15 limited API (GH-142827)"
    },
    {
      "commit": "3cfc249e11a132dc69624150843779aa96c72b2b",
      "tree": "a1a12e807849f429fbdcf5a11c76231288b14cf3",
      "parents": [
        "6304eb1f5b93f682bff558befe4a7b9585f4601e"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Wed May 13 14:55:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 14:55:45 2026"
      },
      "message": "gh-149776: Skip UDP Lite tests if it\u0027s not supported (#149777)\n\nFix test_socket on Linux kernel 7.1 and newer: skip UDP Lite tests if\nit\u0027s not supported."
    },
    {
      "commit": "6304eb1f5b93f682bff558befe4a7b9585f4601e",
      "tree": "32087e5ecbfa506afbc8df005e871551892a22bb",
      "parents": [
        "fa2afa64d9467fb7362672ed603d29d8e246d240"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Wed May 13 11:03:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 11:03:33 2026"
      },
      "message": "Run mypy with four worker processes and uv (#149726)"
    },
    {
      "commit": "fa2afa64d9467fb7362672ed603d29d8e246d240",
      "tree": "e24bca9d87a6a5ab3ee978e58233328e901f24c2",
      "parents": [
        "dd94457893a1dd2c99c2405e197f54a7692cbe09"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Wed May 13 10:40:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 10:40:47 2026"
      },
      "message": "gh-148821: Add more strict tests for XML encodings (GH-149765)\n\nExclude encodings like \u0027utf-8-sig\u0027, \u0027iso2022-jp\u0027 and \u0027hz\u0027 from the list of\nsupported encodings."
    },
    {
      "commit": "dd94457893a1dd2c99c2405e197f54a7692cbe09",
      "tree": "afe9bef25f622277fcb62a1ca9ebaaee306e81b2",
      "parents": [
        "94df62542cdf1c9eb082abab1534cbd1fd425062"
      ],
      "author": {
        "name": "Ruben Vorderman",
        "email": "r.h.p.vorderman@lumc.nl",
        "time": "Wed May 13 10:20:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 10:20:33 2026"
      },
      "message": "bpo-45509: Check gzip headers for corrupted fields (GH-29028)\n\nCheck the header checksum it the HCRC field is present."
    },
    {
      "commit": "94df62542cdf1c9eb082abab1534cbd1fd425062",
      "tree": "ae6b3cf12664284aac4d4c31b3ea4e594b751c8a",
      "parents": [
        "31d1a7216ce27342788917cfc1e60a1debe0d530"
      ],
      "author": {
        "name": "scoder",
        "email": "stefan_ml@behnel.de",
        "time": "Wed May 13 10:10:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 10:10:37 2026"
      },
      "message": "gh-148829: Add PySentinel_CheckExact() (#149725)"
    },
    {
      "commit": "31d1a7216ce27342788917cfc1e60a1debe0d530",
      "tree": "11ccfcbd1a44ed22460a1718ab75ae55dce072fb",
      "parents": [
        "cd6096887e22cdb6d6365ad0eb5b0ffac50d4791"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Wed May 13 08:48:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 08:48:01 2026"
      },
      "message": "gh-149720: Fix docs for `mimetypes.MimeType.add_type` method (#149731)\n\ngh-149720: Fix docs for `mimetypes.MimeType.add_type` method`"
    },
    {
      "commit": "cd6096887e22cdb6d6365ad0eb5b0ffac50d4791",
      "tree": "25fd7e3efcb72d92b0f89d63ab9a39a3fcb8ba0b",
      "parents": [
        "a4e51c8dac9fdd49ae26ff8c6cd3c808fd8ba15e"
      ],
      "author": {
        "name": "John Merkel",
        "email": "dev.genericallyterrible@gmail.com",
        "time": "Wed May 13 07:59:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 07:59:57 2026"
      },
      "message": "gh-149701: Fully silence potential `hash -r` error (GH-149702)"
    },
    {
      "commit": "a4e51c8dac9fdd49ae26ff8c6cd3c808fd8ba15e",
      "tree": "f998063f2448e760d839b2a07281817765faa023",
      "parents": [
        "4087ff859958abc897711b501bb66dc308890ba5"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed May 13 03:00:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 03:00:01 2026"
      },
      "message": "gh-149574: Document that is_typeddict, is_protocol, is_dataclass, isclass return False for generic aliases (#149604)"
    },
    {
      "commit": "4087ff859958abc897711b501bb66dc308890ba5",
      "tree": "246512e01f0f58b4eee48b64624c0d3672f00fa1",
      "parents": [
        "76f22853410d3ded872cbfe1430852cf8c048962"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed May 13 02:59:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 02:59:09 2026"
      },
      "message": "gh-149642: Fix interaction between exec and lazy_imports\u003dall (#149643)"
    },
    {
      "commit": "76f22853410d3ded872cbfe1430852cf8c048962",
      "tree": "0269228d2839e7b5bcbb42a510e875e472291a61",
      "parents": [
        "9eb3b1466865f6fa7821b194e96204bd056a2c53"
      ],
      "author": {
        "name": "Maurycy Pawłowski-Wieroński",
        "email": "maurycy@maurycy.com",
        "time": "Tue May 12 23:46:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 23:46:21 2026"
      },
      "message": "gh-149718: Aggregate same stack frames in Tachyon in some collectors (#149719)"
    },
    {
      "commit": "9eb3b1466865f6fa7821b194e96204bd056a2c53",
      "tree": "f2787f07b5270234cb98411542e42dcfd856b42b",
      "parents": [
        "e667d62f114b54dcba17bdfad3835b9c91fda348"
      ],
      "author": {
        "name": "Sergey B Kirpichev",
        "email": "skirpichev@gmail.com",
        "time": "Tue May 12 21:34:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 21:34:37 2026"
      },
      "message": "gh-115119: Removed bundled copy of the libmpdec (GH-133964)\n\nCo-authored-by: Adam Turner \u003c9087854+AA-Turner@users.noreply.github.com\u003e\nCo-authored-by: Zachary Ware \u003czach@python.org\u003e"
    },
    {
      "commit": "e667d62f114b54dcba17bdfad3835b9c91fda348",
      "tree": "f361e35a190d2dcd19031126d547939494d73c97",
      "parents": [
        "e472f6d3184e71a496fadc04f755995b736fd595"
      ],
      "author": {
        "name": "David Huggins-Daines",
        "email": "dhd@ecolingui.ca",
        "time": "Tue May 12 19:46:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 19:46:46 2026"
      },
      "message": "gh-134837: Correct and improve base85 documentation for base64 and binascii modules (GH-145843)"
    },
    {
      "commit": "e472f6d3184e71a496fadc04f755995b736fd595",
      "tree": "55c7649ee63640b636a6995a189914f0bab32cb7",
      "parents": [
        "a043b0e875f70cfd493455b18bea7399e58c6875"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Tue May 12 17:29:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 17:29:46 2026"
      },
      "message": "gh-149600: Remove deprecated `asyncio.iscoroutinefunction` function (#149601)"
    },
    {
      "commit": "a043b0e875f70cfd493455b18bea7399e58c6875",
      "tree": "e9cf4a907bb81d13a2ae92b035ee29ce7aa53551",
      "parents": [
        "1a79fd0ad650f0a0f21f653cc46a89bc1741d253"
      ],
      "author": {
        "name": "Shamil",
        "email": "ashm.tech@proton.me",
        "time": "Tue May 12 17:27:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 17:27:00 2026"
      },
      "message": "gh-148701: Add missing test coverage for asyncio.graph (#148702)"
    },
    {
      "commit": "1a79fd0ad650f0a0f21f653cc46a89bc1741d253",
      "tree": "2e28d9aa9bf3af4d002046f898fe8287354b44c3",
      "parents": [
        "6a0be131c3ae8488533ee5f452c9d76622f2928f"
      ],
      "author": {
        "name": "Sergey Miryanov",
        "email": "sergey.miryanov@gmail.com",
        "time": "Tue May 12 17:17:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 17:17:35 2026"
      },
      "message": "GH-149501: Fix compilation warning in `_YIELD_VALUE` uop (#149502)"
    },
    {
      "commit": "6a0be131c3ae8488533ee5f452c9d76622f2928f",
      "tree": "7b22e7d6a58b4e13fc8941835499938ad20a60ca",
      "parents": [
        "058c12528d98954c44d6f92f2eea48b881c1967f"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Tue May 12 16:11:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 16:11:34 2026"
      },
      "message": "gh-149595: Remove the `sys._enablelegacywindowsfsencoding()` function (#149596)\n\nCo-authored-by: Hugo van Kemenade \u003c1324225+hugovk@users.noreply.github.com\u003e"
    },
    {
      "commit": "058c12528d98954c44d6f92f2eea48b881c1967f",
      "tree": "919d0fa042fabf72eb6aef88fcd5c6b77f6b9a2f",
      "parents": [
        "da8477b25c6124c961306d4d7cd5ec7dafda6be4"
      ],
      "author": {
        "name": "Berker Peksag",
        "email": "berker.peksag@gmail.com",
        "time": "Tue May 12 16:07:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 16:07:15 2026"
      },
      "message": "Remove myself from CODEOWNERS (#149727)\n\nThank you! "
    },
    {
      "commit": "da8477b25c6124c961306d4d7cd5ec7dafda6be4",
      "tree": "b3c5cfea313ba8b0fc6452cd1b79fcb11557d066",
      "parents": [
        "0534774a472424f6b9be2dc4ce9784384bc02401"
      ],
      "author": {
        "name": "stratakis",
        "email": "cstratak@redhat.com",
        "time": "Tue May 12 15:42:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 15:42:44 2026"
      },
      "message": "gh-139808: Add branch protections for aarch64 in asm_trampoline.S (#130864)\n\nApply protection against ROP/JOP attacks for aarch64 on asm_trampoline.S.\n\nThe BTI flag must be applied in assembler sources for this class\nof attacks to be mitigated on newer aarch64 processors.\n\nSee also:\nhttps://sourceware.org/annobin/annobin.html/Test-branch-protection.html\nand\nhttps://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enabling-pac-and-bti-on-aarch64\n\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "0534774a472424f6b9be2dc4ce9784384bc02401",
      "tree": "6650932a241ba0c7564ddb7288d4fecf4fa61ccc",
      "parents": [
        "f5fb491341e566bbaf17d9bf3e4ec3af4a56bb3f"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Tue May 12 13:40:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 13:40:21 2026"
      },
      "message": "gh-149720: Remove support for undotted `ext` in `mimetypes.MimeType.add_type` (#149721)"
    },
    {
      "commit": "f5fb491341e566bbaf17d9bf3e4ec3af4a56bb3f",
      "tree": "bb69f15dd8191417db329ede57bf855449f5fdc4",
      "parents": [
        "b546cc10f5c659344ce3cf49db6d9c92307ed1fc"
      ],
      "author": {
        "name": "Thomas Kowalski",
        "email": "thom.kowa@gmail.com",
        "time": "Tue May 12 10:47:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 10:47:39 2026"
      },
      "message": "gh-149676: Fix hash(frozendict | frozendict) (#149675)\n\nFix new_dict_impl() to properly initialize ma_hash on frozendict.\n\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "b546cc10f5c659344ce3cf49db6d9c92307ed1fc",
      "tree": "36585df4a35a36d01785e3268de18199d43fe48b",
      "parents": [
        "54a5fd4126df74f7b84d1f8a6a36ef79803f66f9"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Tue May 12 08:40:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 08:40:51 2026"
      },
      "message": "Update mypy to 2.1.0 (#149709)"
    },
    {
      "commit": "54a5fd4126df74f7b84d1f8a6a36ef79803f66f9",
      "tree": "25a0d8d97ce7307f243dc03e0a14529c26387cf3",
      "parents": [
        "7a4c6dfb8839eb05fb87baf70364680e45001dd4"
      ],
      "author": {
        "name": "Victorien",
        "email": "65306057+Viicos@users.noreply.github.com",
        "time": "Tue May 12 02:45:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 02:45:51 2026"
      },
      "message": "gh-148669: Clarify `__reduce__()` module lookup behavior (#148670)"
    },
    {
      "commit": "7a4c6dfb8839eb05fb87baf70364680e45001dd4",
      "tree": "07f28d7c26e2215283fa8ea4b6b928f730d5e74e",
      "parents": [
        "8a4895985f42282504d83b9bd0c77b129f95a5d5"
      ],
      "author": {
        "name": "Mike Edmunds",
        "email": "medmunds@gmail.com",
        "time": "Mon May 11 22:20:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 22:20:09 2026"
      },
      "message": "gh-128110: Fix rfc2047 whitespace handling in email parser address headers (#130749)\n\nRFC 2047 Section 6.2 requires that \"any \u0027linear-white-space\u0027 that\nseparates a pair of adjacent \u0027encoded-word\u0027s is ignored.\" The modern\nheader value parser correctly implements that for unstructured headers,\nbut had missed a case in structured headers. This could cause a parsed\naddress header to include extraneous spaces in a display-name.\n\nSwitch to @bitdancer\u0027s fix from review feedback. Recharacterize space\nbetween ews as fws after parsing in get_phrase.\n\nRDM: This fix is dependent on the fact that \"subsequent\" atoms will never have\nleading whitespace because that\u0027s been consumed already. I don\u0027t think\nit\u0027s worth adding extra code for the possibility of leading whitespace\nbecause the parser won\u0027t produce it. It\u0027s a bit of parser fragility in the\nface of code changes, but I think that\u0027s a minor concern given the \nparser design (which is that it consumes whitespace greedily)\n\nCo-authored-by: R David Murray \u003crdmurray@bitdance.com\u003e"
    },
    {
      "commit": "8a4895985f42282504d83b9bd0c77b129f95a5d5",
      "tree": "2e7b289b11edc49db69a2d3d6c165ba87e026bc3",
      "parents": [
        "fadd9bc14e43041c84bb8d06824990264fe1434a"
      ],
      "author": {
        "name": "Alper",
        "email": "alperyoney@fb.com",
        "time": "Mon May 11 15:39:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 15:39:55 2026"
      },
      "message": "gh-145235: Make dict watcher API thread-safe for free-threaded builds (gh-145233)\n\nIn free-threaded builds, concurrent calls to PyDict_AddWatcher, PyDict_ClearWatcher, PyDict_Watch, and PyDict_Unwatch can race on the shared callback array and the per-dict watcher tags. This change adds a mutex to serialize watcher registration and removal, atomic operations for tag updates, and atomic acquire/release synchronization for callback dispatch in _PyDict_SendEvent."
    },
    {
      "commit": "fadd9bc14e43041c84bb8d06824990264fe1434a",
      "tree": "14060c28b645ad444a6aed85a77b89adc1e189da",
      "parents": [
        "374f9d3f5e70d2204d88ab123f29825d71537de2"
      ],
      "author": {
        "name": "David Ellis",
        "email": "ducksual@gmail.com",
        "time": "Mon May 11 15:28:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 15:28:23 2026"
      },
      "message": "gh-149614 - Restore deepcopiability of argparse.ArgumentParser instances (#149617)\n\nCo-authored-by: blurb-it[bot] \u003c43283697+blurb-it[bot]@users.noreply.github.com\u003e\nCo-authored-by: Savannah Ostrowski \u003csavannah@python.org\u003e"
    },
    {
      "commit": "374f9d3f5e70d2204d88ab123f29825d71537de2",
      "tree": "87274e9167d600f8f6ae95407734781344d4446e",
      "parents": [
        "6a26b78c470ee69d3ac095899fdc85004b260145"
      ],
      "author": {
        "name": "Manoj K M",
        "email": "manojkmdev24@gmail.com",
        "time": "Mon May 11 15:27:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 15:27:16 2026"
      },
      "message": "Fix incorrect sentence in stable.rst (GH-149684)"
    },
    {
      "commit": "6a26b78c470ee69d3ac095899fdc85004b260145",
      "tree": "75e26e7b29393c7d0b9cc332b3a6de05c0275812",
      "parents": [
        "2d3dec0fbda9460cfc3d2ee786969f7d0c7530ea"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Mon May 11 15:03:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 15:03:57 2026"
      },
      "message": "gh-149634: Fix removed docs from `TarFile.tarfile` to `TarInfo.tarfile` (#149680)"
    },
    {
      "commit": "2d3dec0fbda9460cfc3d2ee786969f7d0c7530ea",
      "tree": "0923c13267621b9b18d5bb22a1b32272d80ab756",
      "parents": [
        "56171da3417bc14fded2f42033d72f63e1bf7cd9"
      ],
      "author": {
        "name": "Guo Ci",
        "email": "zguoci@gmail.com",
        "time": "Mon May 11 14:21:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 14:21:03 2026"
      },
      "message": "gh-140924: In locale module, add missing names to __all__ (GH-140925)"
    },
    {
      "commit": "56171da3417bc14fded2f42033d72f63e1bf7cd9",
      "tree": "5a4f358ca531e0c74b138dd4587dd57e9ae05c8a",
      "parents": [
        "ef877318a0dd522389e03cfb943b1af857964598"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Mon May 11 13:08:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 13:08:12 2026"
      },
      "message": "gh-144957: Fix lazy imports + module __getattr__ (GH-149624)"
    },
    {
      "commit": "ef877318a0dd522389e03cfb943b1af857964598",
      "tree": "81fc05ddbbd753ec2d77b88ec4f90b69d9f97da0",
      "parents": [
        "4956d2be9d5e555f2cf64faed9ef39e6a797c360"
      ],
      "author": {
        "name": "Sergey B Kirpichev",
        "email": "skirpichev@gmail.com",
        "time": "Mon May 11 13:05:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 13:05:50 2026"
      },
      "message": "gh-149402: Don\u0027t assume single-character type codes (struct/array/ctypes) (#149483)\n\nIn the struct docs, section \"Format Characters\" was renamed to \"Type\nCodes\".\n\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "4956d2be9d5e555f2cf64faed9ef39e6a797c360",
      "tree": "e0727086fc20c966a1d814596af40759884163db",
      "parents": [
        "833dae7c1fdc556200cbfc3e76bad4d54628042c"
      ],
      "author": {
        "name": "Árni Már Jónsson",
        "email": "arnimarj@gmail.com",
        "time": "Mon May 11 11:54:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 11:54:09 2026"
      },
      "message": "gh-149663: fix typo in `unittest` docs (#149670)\n\n`hastattr` -\u003e `hasattr`"
    },
    {
      "commit": "833dae7c1fdc556200cbfc3e76bad4d54628042c",
      "tree": "c229dab1d605d338e5909ef3fd5e3b96f541a0cc",
      "parents": [
        "01088434512ced52d472a1857ae36e41c4e1e9c5"
      ],
      "author": {
        "name": "Jonathan Dung",
        "email": "jonathandung@yahoo.com",
        "time": "Mon May 11 11:14:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 11:14:54 2026"
      },
      "message": "gh-146061: Clarify indent\u003dNone in json docs (GH-146095)"
    },
    {
      "commit": "01088434512ced52d472a1857ae36e41c4e1e9c5",
      "tree": "b6946fb3a6d13f0da426a5fd42c48b8a5daf8e4b",
      "parents": [
        "53c3dd9a8d79a331764147b7b7b01f9d0a8bce71"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Mon May 11 10:54:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 10:54:49 2026"
      },
      "message": "gh-149634: Remove deprecated and unused `tarfile.Tarfile.tarfile` attr (GH-149635)"
    },
    {
      "commit": "53c3dd9a8d79a331764147b7b7b01f9d0a8bce71",
      "tree": "21e3fe52019214e0504aa67666da33c764d9b9bc",
      "parents": [
        "f23a1837d7156c4c478528321a423eae2b31e4bf"
      ],
      "author": {
        "name": "pengyu lee",
        "email": "lipengyu@kylinos.cn",
        "time": "Mon May 11 08:28:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 08:28:19 2026"
      },
      "message": "Fix typos in C API documentation (GH-149588)"
    },
    {
      "commit": "f23a1837d7156c4c478528321a423eae2b31e4bf",
      "tree": "2ba13c3eddfd5b6d06fd35a712d24666b263889f",
      "parents": [
        "197878529f20566c1e4706e8486c9a0e302dfa00"
      ],
      "author": {
        "name": "Michael Droettboom",
        "email": "mdboom@gmail.com",
        "time": "Mon May 11 01:44:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 01:44:59 2026"
      },
      "message": "gh-112821: Fix rlcompleter failures on objects with descriptors (#149577)\n\n* gh-112821: Fix rlcompleter failures on objects with descriptors\n\n* Confirm no accesses"
    },
    {
      "commit": "197878529f20566c1e4706e8486c9a0e302dfa00",
      "tree": "29986f23599ae3767dd8646dbce93d5ac0de6474",
      "parents": [
        "c1dbd51fac072e6008941fb22d89b9fe390c2b24"
      ],
      "author": {
        "name": "Barry Warsaw",
        "email": "barry@python.org",
        "time": "Mon May 11 00:25:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 00:25:39 2026"
      },
      "message": "gh-75723: Fix double evaluation of .pth and .site files in venvs (#149583)\n\n* Idempotent `.pth` execution in `site.addsitedir`\n* potentially fix monkeypatch leak?\n\n* fix blind copy paste of recommendation\n\n* Update 2026-03-31-16-15-15.gh-issue-75723.BZ4Rsn.rst\n\n* fix implicit merge conflict with 24c4aecc1674414d3dc3238625802778c4ad29d2\n\n* Add failing tests for gh-75723\n\nBased on @asottle branch !asottle-gh-75723 but refactored for `main`.\nThis will need a different backport.\n\n* Repair gh-75723\n\nThe original fix is here: https://github.com/python/cpython/pull/147951\nbut I\u0027m refactoring a bit for `main`.\n\n* Refactor _make_mod() so we can use it to create package modules too\n\n* Add myself to CODEOWNERS for the site module\n\n---------\n\nCo-authored-by: anthony sottile \u003casottile@umich.edu\u003e\nCo-authored-by: Filipe Laíns \u003clains@riseup.net\u003e"
    },
    {
      "commit": "c1dbd51fac072e6008941fb22d89b9fe390c2b24",
      "tree": "58a4e57ce434cbf8c0dea17ddeb7386b4f4a327e",
      "parents": [
        "c6fd7de64ac7591a9708c14a34737eb9baf050bc"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Mon May 11 00:05:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 00:05:56 2026"
      },
      "message": "gh-149598: Remove `strm` argument support from `logging` handlers (#149599)\n\ngh-149598: Remove *strm* argument support from `logging` handlers"
    },
    {
      "commit": "c6fd7de64ac7591a9708c14a34737eb9baf050bc",
      "tree": "e84d29d568393913adbd2cdb5df9d944e1e2a91f",
      "parents": [
        "b45319e13273ee17e84e6b8c459f03b141518289"
      ],
      "author": {
        "name": "Sergey B Kirpichev",
        "email": "skirpichev@gmail.com",
        "time": "Sun May 10 22:22:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 22:22:16 2026"
      },
      "message": "gh-149083: use sentinel to fix _functools.reduce() signature (#149591)"
    },
    {
      "commit": "b45319e13273ee17e84e6b8c459f03b141518289",
      "tree": "e95985b43c9358956b6b6a23819b0df4531f923e",
      "parents": [
        "a8e3247206e5b9e50284565ccaef659097a96a88"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 10 20:43:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 20:43:57 2026"
      },
      "message": "gh-139489: Add is_valid_text to xml.__all__ (#149641)"
    },
    {
      "commit": "a8e3247206e5b9e50284565ccaef659097a96a88",
      "tree": "632628103aec7c04cd6125d269017aba3f267d7d",
      "parents": [
        "24b8f12544468e4cedf5bfbe25442fcd495391e4"
      ],
      "author": {
        "name": "Omkar Kabde",
        "email": "omkarkabde@gmail.com",
        "time": "Sun May 10 17:41:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 17:41:37 2026"
      },
      "message": "gh-149611: Explain return values for `Path.write_text()` and `Path.write_bytes()` (#149629)\n\nspecify return explanation\n\nCo-authored-by: Ned Batchelder \u003cned@nedbatchelder.com\u003e"
    },
    {
      "commit": "24b8f12544468e4cedf5bfbe25442fcd495391e4",
      "tree": "dc2746af9d291f415b4e6c8c5d3ab25fc3f4d354",
      "parents": [
        "bc1be4f6174086b4a46e3fe656552f5bb4e6e7b2"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Sun May 10 17:36:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 17:36:26 2026"
      },
      "message": "gh-149018: Use `XML_SetHashSalt16Bytes` in `pyexpat`/`_elementtree` when possible (#149023)"
    },
    {
      "commit": "bc1be4f6174086b4a46e3fe656552f5bb4e6e7b2",
      "tree": "1e6b0f225eded5ac1115102b60f9f13cd56e17e1",
      "parents": [
        "a2c1657cab8daed6cf6236d67967372de7442d8b"
      ],
      "author": {
        "name": "ByteFlow",
        "email": "fakeshadow1337@gmail.com",
        "time": "Sun May 10 13:42:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 13:42:04 2026"
      },
      "message": "gh-148441: Avoid integer overflow in Expat\u0027s CharacterDataHandler (#148904)\n\nCo-authored-by: Bénédikt Tran \u003c10796600+picnixz@users.noreply.github.com\u003e"
    },
    {
      "commit": "a2c1657cab8daed6cf6236d67967372de7442d8b",
      "tree": "fffb12158d3e65c23cbed0dbfc68edb077dfcfdd",
      "parents": [
        "cc5cf14ae0a3665ba9d192cc4152c0a46a9dab2f"
      ],
      "author": {
        "name": "Pieter Eendebak",
        "email": "pieter.eendebak@gmail.com",
        "time": "Sun May 10 02:52:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 02:52:52 2026"
      },
      "message": "gh-149436: Speed up inspect.getattr_static for the common-metaclass case (#149437)\n\nConsecutive MRO entries usually share their metaclass, so call\n_shadowed_dict at most once per distinct metaclass."
    },
    {
      "commit": "cc5cf14ae0a3665ba9d192cc4152c0a46a9dab2f",
      "tree": "6cb9b665f8caabc9e6a1f823d1eef39cb769dbcd",
      "parents": [
        "4e97ff3351f381a61b238bd8e805e4e8dd3ea5cf"
      ],
      "author": {
        "name": "Cody Maloney",
        "email": "cmaloney@users.noreply.github.com",
        "time": "Sat May 09 21:39:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 21:39:01 2026"
      },
      "message": "gh-139871: Fix 3.15 bytearray.take_bytes example (#149520)\n\nCurrently:\n```python\nbuffer \u003d bytearray(b\u0027abc\\ndef\u0027)\nn \u003d buffer.find(b\u0027\\n\u0027)\ndata \u003d bytes(buffer[:n + 1])\ndel buffer[:n + 1]\nassert data \u003d\u003d b\u0027abc\u0027\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n    assert data \u003d\u003d b\u0027abc\u0027\n           ^^^^^^^^^^^^^^\nAssertionError\n```\n\nAdding in the `\\n` makes the two match:\n\n```python\nbuffer \u003d bytearray(b\u0027abc\\ndef\u0027)\nn \u003d buffer.find(b\u0027\\n\u0027)\ndata \u003d bytes(buffer[:n + 1])\ndel buffer[:n + 1]\nassert data \u003d\u003d b\u0027abc\\n\u0027\nassert buffer \u003d\u003d bytearray(b\u0027def\u0027)\n\nbuffer \u003d bytearray(b\u0027abc\\ndef\u0027)\nn \u003d buffer.find(b\u0027\\n\u0027)\ndata \u003d buffer.take_bytes(n + 1)\nassert data \u003d\u003d b\u0027abc\\n\u0027\nassert buffer \u003d\u003d bytearray(b\u0027def\u0027)\n```"
    },
    {
      "commit": "4e97ff3351f381a61b238bd8e805e4e8dd3ea5cf",
      "tree": "c00f4fd51ad4e37335085ecf196d521178e39e1c",
      "parents": [
        "7241f2739c4bbdf4519238689e5e4ea9268b411e"
      ],
      "author": {
        "name": "Manoj K M",
        "email": "manojkmdev24@gmail.com",
        "time": "Sat May 09 21:31:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 21:31:55 2026"
      },
      "message": "Fix minor typos in unicode.rst (#149587)"
    },
    {
      "commit": "7241f2739c4bbdf4519238689e5e4ea9268b411e",
      "tree": "239fd55cd53c90ffc0ba3d7213249c249e009458",
      "parents": [
        "9587726a3ebbcdb780e3f15c9e016e3a28c646e3"
      ],
      "author": {
        "name": "Max Schmitt",
        "email": "max@schmitt.mx",
        "time": "Sat May 09 14:14:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 14:14:29 2026"
      },
      "message": "gh-149388: Make asyncio `PipeHandle.close` idempotent (#149518)"
    },
    {
      "commit": "9587726a3ebbcdb780e3f15c9e016e3a28c646e3",
      "tree": "116614cbd9a178fcd28c0542d61e26bba371a984",
      "parents": [
        "46a2c11eaa8cbef6f73dd7050029bd8ff13026fc"
      ],
      "author": {
        "name": "László Kiss Kollár",
        "email": "kiss.kollar.laszlo@gmail.com",
        "time": "Sat May 09 13:05:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 13:05:46 2026"
      },
      "message": "gh-149430: Fix edge-cases in `profiling.sampling` outputs (#149431)\n\nThe line highlights on the heatmap are driven by the URL hash and the\n`:target` selector. When clicking a caller/callee link for the line that\nwas already selected, the hash doesn\u0027t change, so the browser keeps the\nexisting target state and doesn\u0027t restart the animation. Due to this the\nhighlight only works the first time.\n\nWith this fix, line navigation goes through JavaScript. If the target\nURL already points to the current location, the highlight is replayed by\nclearing the animation, forcing style recalculation, and restoring it.\n\nThe `baseline_self` variable isn\u0027t initialized for structural elided\nroots. This variable is accessed later unconditionally and leads to a\ncrash.\n\nThe child process ends up being invoked with `--diff_flamegraph` instead\nof the correct argument."
    },
    {
      "commit": "46a2c11eaa8cbef6f73dd7050029bd8ff13026fc",
      "tree": "b0856f86590034aca85a4656404024b1fdd790bd",
      "parents": [
        "bc8cf07d8dbb4341955dc85d9b2bf273ec5852c7"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Sat May 09 08:33:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 08:33:09 2026"
      },
      "message": "gh-149530: Remove `symtable.Class.get_methods` deprecated method (#149531)"
    },
    {
      "commit": "bc8cf07d8dbb4341955dc85d9b2bf273ec5852c7",
      "tree": "51e8c1284a610778589454169daecdeea7a34af0",
      "parents": [
        "354ef336e4cd48cf0c02bc9a0c642adf5d543184"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Sat May 09 07:55:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 07:55:09 2026"
      },
      "message": "gh-149083: Convert `_initial_missing` for pure py `reduce` to `sentinel` (#149536)"
    },
    {
      "commit": "354ef336e4cd48cf0c02bc9a0c642adf5d543184",
      "tree": "3b6ad54a1bb337e5daa51a9c83c4f19479d19f40",
      "parents": [
        "45c47d26c230086163ac1ef0aa9f955f794fb69c"
      ],
      "author": {
        "name": "Maurycy Pawłowski-Wieroński",
        "email": "maurycy@maurycy.com",
        "time": "Sat May 09 00:01:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 00:01:35 2026"
      },
      "message": "gh-149474: use `Py_fopen` in `Binary{Reader,Writer}` for audit hook and path-like support (#149524)"
    },
    {
      "commit": "45c47d26c230086163ac1ef0aa9f955f794fb69c",
      "tree": "825affe8067948c852ed811e565ea75b3f4e53de",
      "parents": [
        "57ef2199503387617b8af3d719c74089fb70dbd4"
      ],
      "author": {
        "name": "Jeff Lyon",
        "email": "146767590+secengjeff@users.noreply.github.com",
        "time": "Fri May 08 20:33:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 20:33:05 2026"
      },
      "message": "gh-149496: Fix MacOSTest.test_default regression when BROWSER env var is set (GH-149579)\n\ngh-149496: Fix MacOSTest.test_default failing when BROWSER env var is set\n\nMacOSTest.test_default calls webbrowser.get() and asserts it returns a\nMacOS instance. When BROWSER is set in the environment (e.g. BROWSER\u003dopen,\na common macOS workaround for the old osascript-based implementation),\nregister_standard_browsers() registers a GenericBrowser as the preferred\nbrowser instead, causing the assertion to fail.\n\nThis is a regression introduced in gh-137586, which added MacOSTest and\nmoved test_default into it from MacOSXOSAScriptTest. MacOSXOSAScriptTest\nhad an identical setUp() guard added in gh-131254 specifically to fix this\nsame failure. The guard was not carried over to MacOSTest.\n\nAdd setUp() to MacOSTest to unset BROWSER for the duration of each test,\nrestoring the isolation that was already established as the correct pattern\nfor macOS webbrowser tests."
    },
    {
      "commit": "57ef2199503387617b8af3d719c74089fb70dbd4",
      "tree": "574d4c5350b2deee4b62fd560e8f511288a51bd9",
      "parents": [
        "3a62c8f13ab9ab0373fe2bf675b02708cf4f6a6e"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Fri May 08 20:24:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 20:24:34 2026"
      },
      "message": "gh-79638: Test other HTTP error codes besides 403 in test_robotparser (#149569)\n\nAlso, use urllib.request.urlcleanup() in NetworkTestCase."
    },
    {
      "commit": "3a62c8f13ab9ab0373fe2bf675b02708cf4f6a6e",
      "tree": "833883aaeff9abb9dfb8c8f6969b0bd314a48228",
      "parents": [
        "ebf6d9c3e2a4d924a5c7f6ffb6f7d68f79a85c8d"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Fri May 08 15:34:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:34:48 2026"
      },
      "message": "gh-149537: Remove kw parameters from python version of `reduce` (#149538)"
    },
    {
      "commit": "ebf6d9c3e2a4d924a5c7f6ffb6f7d68f79a85c8d",
      "tree": "3d62fad0f9be93331186398f0a4c6aca3fe13eda",
      "parents": [
        "2a8cece95cd6abe08ae7a308f2815d07dfe8d5ad"
      ],
      "author": {
        "name": "Diego Russo",
        "email": "diego.russo@arm.com",
        "time": "Fri May 08 13:58:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 13:58:38 2026"
      },
      "message": "Rename fp unwind test module to C stack unwind (#149563)"
    },
    {
      "commit": "2a8cece95cd6abe08ae7a308f2815d07dfe8d5ad",
      "tree": "af803c20fd932231ba1e7589cc0b0ac6b498ac26",
      "parents": [
        "578411982c16f753f4893532510099ef665117da"
      ],
      "author": {
        "name": "Diego Russo",
        "email": "diego.russo@arm.com",
        "time": "Fri May 08 13:03:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 13:03:05 2026"
      },
      "message": "Skip GNU backtrace test on Arm 32-bit (#149493)"
    },
    {
      "commit": "578411982c16f753f4893532510099ef665117da",
      "tree": "6f31b5f0e818cd353c4f35bc4238d42009290a9f",
      "parents": [
        "2f6b3800e6004b97e04082c9fa06192ae37aea52"
      ],
      "author": {
        "name": "Petr Viktorin",
        "email": "encukou@gmail.com",
        "time": "Fri May 08 12:16:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 12:16:06 2026"
      },
      "message": "gh-149486: tarfile.data_filter: validate written link target (GH-149487)\n\nThe data filter rewrote linknames with normpath() but ran the\ncontainment check against the un-normalised value, and computed a\nsymlink\u0027s directory before stripping trailing slashes.  Both let a\ncrafted archive create links pointing outside the destination.  Also\nreject link members that resolve to the destination directory itself,\nwhich could otherwise replace it with a symlink and redirect all\nsubsequent members.\n\n(Patch by Greg; Petr\u0027s just reviewing \u0026 merging.)\n\nCo-authored-by: Gregory P. Smith \u003cgreg@krypto.org\u003e"
    },
    {
      "commit": "2f6b3800e6004b97e04082c9fa06192ae37aea52",
      "tree": "b6253570b0ac1b1c836684506a883fe35849370b",
      "parents": [
        "c341e341b25cec03d28d1b2c368bb871d76ca88b"
      ],
      "author": {
        "name": "Diego Russo",
        "email": "diego.russo@arm.com",
        "time": "Fri May 08 11:58:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 11:58:48 2026"
      },
      "message": "Add Diego as author of PEP 831 (#149551)"
    },
    {
      "commit": "c341e341b25cec03d28d1b2c368bb871d76ca88b",
      "tree": "40ce12cc7bccc398d35658ec8266579347c169ac",
      "parents": [
        "d2d24e46d31821fb2f0f4368fa27057e9859a918"
      ],
      "author": {
        "name": "Hai Zhu",
        "email": "haiizhu@outlook.com",
        "time": "Fri May 08 11:20:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 11:20:27 2026"
      },
      "message": "gh-149459: Fix segfault when `_LOAD_SPECIAL` guard deoptimizes (#149478)"
    },
    {
      "commit": "d2d24e46d31821fb2f0f4368fa27057e9859a918",
      "tree": "2904cf105cdfb84586b242e502eaa925ca7e559c",
      "parents": [
        "52a05e8da71abcc83df54e465d0a4df50785e910"
      ],
      "author": {
        "name": "Neko Asakura",
        "email": "neko.asakura@outlook.com",
        "time": "Fri May 08 11:12:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 11:12:20 2026"
      },
      "message": "gh-100239: expose `sq_repeat` helpers for `BINARY_OP_EXTEND` (#148791)"
    },
    {
      "commit": "52a05e8da71abcc83df54e465d0a4df50785e910",
      "tree": "87061d4e026f87b3fe5877e9a74201b2b2c88676",
      "parents": [
        "3565d31690d30a189933bce7b27d0bd2c6973f47"
      ],
      "author": {
        "name": "Malcolm Smith",
        "email": "smith@chaquo.com",
        "time": "Fri May 08 11:08:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 11:08:07 2026"
      },
      "message": "gh-145176: Update CODEOWNERS for Emscripten migration to Platforms directory (#149544)"
    },
    {
      "commit": "3565d31690d30a189933bce7b27d0bd2c6973f47",
      "tree": "534dd7f0ec5d6fb828d9fbe013308f7c3ae14ac2",
      "parents": [
        "5b58fbc07c8173df98ce6d378ded1bc605997c3f"
      ],
      "author": {
        "name": "Nathan Goldbaum",
        "email": "nathan.goldbaum@gmail.com",
        "time": "Fri May 08 10:53:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 10:53:44 2026"
      },
      "message": "docs: Clarify docs for error case of `PyDict_GetItemRef` (#149506)"
    },
    {
      "commit": "5b58fbc07c8173df98ce6d378ded1bc605997c3f",
      "tree": "0a7e2ce312411b7ee5eb11b59af2cb51beeabb22",
      "parents": [
        "d36e5b86442bcf3b06876c91ff631c1f62632506"
      ],
      "author": {
        "name": "Malcolm Smith",
        "email": "smith@chaquo.com",
        "time": "Fri May 08 10:32:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 10:32:36 2026"
      },
      "message": "gh-146445: Update CODEOWNERS for Android and iOS migration to Platforms directory (#149543)"
    },
    {
      "commit": "d36e5b86442bcf3b06876c91ff631c1f62632506",
      "tree": "8986ff9b16e7dc68f7d9e7b24ee406f30c7167c2",
      "parents": [
        "4ae1a260c7dbada6db099d3335a784b5aae91723"
      ],
      "author": {
        "name": "Maurycy Pawłowski-Wieroński",
        "email": "maurycy@maurycy.com",
        "time": "Fri May 08 08:25:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:25:49 2026"
      },
      "message": "gh-149521: Do not update `last_profiled_frame` if it\u0027s not changed (#149522)"
    },
    {
      "commit": "4ae1a260c7dbada6db099d3335a784b5aae91723",
      "tree": "c2adf484c10214e83a9231f31481de5b9a919338",
      "parents": [
        "49918f5b0ceb1950c3222fd4fd6be872d2e15c6f"
      ],
      "author": {
        "name": "sobolevn",
        "email": "mail@sobolevn.me",
        "time": "Fri May 08 04:48:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 04:48:15 2026"
      },
      "message": "gh-149528: Remove `annotationlib.ForwardRef._evaluate` for 3.16 (#149529)"
    },
    {
      "commit": "49918f5b0ceb1950c3222fd4fd6be872d2e15c6f",
      "tree": "b5de1719f725efd10862aa9a5392e3930e2230ef",
      "parents": [
        "b142878db1e54149feba62b08df1236432793bf0"
      ],
      "author": {
        "name": "Neko Asakura",
        "email": "neko.asakura@outlook.com",
        "time": "Thu May 07 23:02:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 23:02:04 2026"
      },
      "message": "gh-149481: skip `FOR_ITER` inline specialization for Python `__next__` (#149491)\n\nCo-authored-by: Savannah Ostrowski \u003csavannah@python.org\u003e\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "b142878db1e54149feba62b08df1236432793bf0",
      "tree": "1b975719425b626fe21afb15e909831713dbb9a2",
      "parents": [
        "f0daba1652cbf2eb04feaf21f9c913023f286e7e"
      ],
      "author": {
        "name": "Brett Cannon",
        "email": "brett@python.org",
        "time": "Thu May 07 22:20:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 22:20:35 2026"
      },
      "message": "Improve error messages when the WASI SDK can\u0027t be found (GH-149508)"
    },
    {
      "commit": "f0daba1652cbf2eb04feaf21f9c913023f286e7e",
      "tree": "7a98edafa8336089ab60eef99292c767a7b83966",
      "parents": [
        "310fe88994249a5a02e20d1211b8fc067e34aa78"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Thu May 07 20:39:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 20:39:08 2026"
      },
      "message": "gh-106693: Revert \"Explicitly mark ob_sval as unsigned char to avoid UB (#106826)\" (#149514)"
    },
    {
      "commit": "310fe88994249a5a02e20d1211b8fc067e34aa78",
      "tree": "b63c3500395b737850b61091c2a5b1217ef95200",
      "parents": [
        "fbba343622c9e4a38c8ef0f0b0e311164394d76a"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Thu May 07 19:06:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 19:06:57 2026"
      },
      "message": "gh-79638: Treat an unreachable robots.txt as \"disallow all\" (GH-138555)\n\nDisallow all access in urllib.robotparser if the robots.txt file is\nunreachable due to server or network errors."
    },
    {
      "commit": "fbba343622c9e4a38c8ef0f0b0e311164394d76a",
      "tree": "bbf8a291702a199e5eb26ef4734c406a9d616e9d",
      "parents": [
        "9d07159cda9390c5714d46447ca918bae9fb8dcb"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Thu May 07 19:06:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 19:06:53 2026"
      },
      "message": "gh-106693: Explicitly mark ob_sval as unsigned char to avoid UB (#106826)\n\nSigned-off-by: Pablo Galindo \u003cpablogsal@gmail.com\u003e"
    },
    {
      "commit": "9d07159cda9390c5714d46447ca918bae9fb8dcb",
      "tree": "7a98edafa8336089ab60eef99292c767a7b83966",
      "parents": [
        "f5c75351def83602b5b23c1fba361b7de8ffabc7"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Thu May 07 19:06:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 19:06:37 2026"
      },
      "message": "gh-149499: Fixes for 3.16 bump (GH-149500)\n\nAlso fixes gh-149507, regenerating `configure` for 3.16.\n\nCo-authored-by: Hugo van Kemenade \u003c1324225+hugovk@users.noreply.github.com\u003e\nCo-authored-by: Zachary Ware \u003czach@python.org\u003e"
    },
    {
      "commit": "f5c75351def83602b5b23c1fba361b7de8ffabc7",
      "tree": "378068dda160a6466ac6c505fdd6adec5fd55a7e",
      "parents": [
        "f31a89bb901067dd105b00cfa90523cf7ffdbbdd"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Thu May 07 16:05:52 2026"
      },
      "committer": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Thu May 07 16:05:52 2026"
      },
      "message": "Python 3.16.0a0\n"
    },
    {
      "commit": "f31a89bb901067dd105b00cfa90523cf7ffdbbdd",
      "tree": "d8f36fa98c04652b4cc76fed9f9249a6c9e887e6",
      "parents": [
        "299cf3c4974262c63694195e605a66856c5a329a"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Thu May 07 13:26:06 2026"
      },
      "committer": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Thu May 07 13:26:31 2026"
      },
      "message": "Python 3.15.0b1\n"
    },
    {
      "commit": "299cf3c4974262c63694195e605a66856c5a329a",
      "tree": "eb481c7caa9f63c3a1b825c590cab81c82944d9b",
      "parents": [
        "13188dbf85cde2e35a5dda09758fb4765ff7bc86"
      ],
      "author": {
        "name": "Diego Russo",
        "email": "diego.russo@arm.com",
        "time": "Thu May 07 13:05:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 13:05:29 2026"
      },
      "message": "gh-126910: Update 3.15 what\u0027s new to include GDB/backtrace integration (#149494)\n\nUpdate 3.15 what\u0027s new to include GDB/backtrace intergration"
    },
    {
      "commit": "13188dbf85cde2e35a5dda09758fb4765ff7bc86",
      "tree": "e7bf97e025e5d727e6659b1793d43360bf35e38d",
      "parents": [
        "b3cfd36ba4f17c19d587427b90ca9378ad009978"
      ],
      "author": {
        "name": "Neil Schemenauer",
        "email": "nas-github@arctrix.com",
        "time": "Thu May 07 11:32:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 11:32:14 2026"
      },
      "message": "gh-148937: revert process RSS based GC deferral (#149475)"
    },
    {
      "commit": "b3cfd36ba4f17c19d587427b90ca9378ad009978",
      "tree": "a64876b94ebdfe75ca1a59561a5864a29446548f",
      "parents": [
        "612140e7ddc39eee8816ac397bf2f8302a174fc4"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Thu May 07 09:47:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 09:47:08 2026"
      },
      "message": "gh-149202: Don\u0027t use -fno-omit-frame-pointer on ppc64le (#149485)\n\nThe power ABI specification requires that compilers maintain a back\nchain by default, so unwinding already works without a dedicated\nframe pointer. Don\u0027t use -fno-omit-frame-pointer on ppc64le."
    },
    {
      "commit": "612140e7ddc39eee8816ac397bf2f8302a174fc4",
      "tree": "0200bddd04d9c58ac3226fdfdfc98ea8bde82463",
      "parents": [
        "5fcab14c3506ecc7df14916a57bfbb1710b8c7ba"
      ],
      "author": {
        "name": "Petr Viktorin",
        "email": "encukou@gmail.com",
        "time": "Thu May 07 08:37:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 08:37:00 2026"
      },
      "message": "gh-149202: Fix frame pointer unwinding on ppc64le and armv7/clang (#149409)\n\n- ppc64\u0027s backchain format is also different from x86\n- On 32-bit ARM, clang needs `-mno-thumb`, not `-marm` like GCC"
    },
    {
      "commit": "5fcab14c3506ecc7df14916a57bfbb1710b8c7ba",
      "tree": "5bbebfd66c14fc62ae4053b488eb54080f5616fa",
      "parents": [
        "65ed109b5de7bab28f1051336f0ae312205c4233"
      ],
      "author": {
        "name": "Ned Deily",
        "email": "nad@python.org",
        "time": "Thu May 07 03:52:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 03:52:23 2026"
      },
      "message": "gh-142295: Update macOS framework build Info.plist files. (#149479)\n\nFor Python macOS framework builds, update all Info.plist files to be more\ncompliant with current Apple guidelines. Original patch contributed by\nMartinus Verburg."
    },
    {
      "commit": "65ed109b5de7bab28f1051336f0ae312205c4233",
      "tree": "c171df8ce70cfb968612bded1cb9ae76caef1a1f",
      "parents": [
        "2b7c28a4406da1b26dd0ebd38aa7371bed873ce4"
      ],
      "author": {
        "name": "Martinus Verburg",
        "email": "12513894+codeskipper@users.noreply.github.com",
        "time": "Thu May 07 03:07:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 03:07:17 2026"
      },
      "message": "gh-142295: Update CFBundleShortVersionString in Mac framework Info.plist (#143064)\n\nUpdated macOS framework Info.plist to use x.y.z format for CFBundleShortVersionString to comply with Apple guidelines. Patch contributed by Martinus Verburg."
    },
    {
      "commit": "2b7c28a4406da1b26dd0ebd38aa7371bed873ce4",
      "tree": "7144253551c348ef7d1d5e9361226e3e755b4b8c",
      "parents": [
        "b2582a6cf2b1ac0210371403e66f9403e2a7e969"
      ],
      "author": {
        "name": "Peter Bierma",
        "email": "zintensitydev@gmail.com",
        "time": "Wed May 06 21:39:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 21:39:30 2026"
      },
      "message": "gh-149101: Implement PEP 788 (GH-149116)\n\nCo-authored-by: Petr Viktorin \u003cencukou@gmail.com\u003e\nCo-authored-by: Sam Gross \u003ccolesbury@gmail.com\u003e"
    },
    {
      "commit": "b2582a6cf2b1ac0210371403e66f9403e2a7e969",
      "tree": "1c04f172f15366dc5004f7f78d328b4b1b0a7695",
      "parents": [
        "ff422bd1c1cde44ca19fdf4d98a5ca55d356bc1e"
      ],
      "author": {
        "name": "Ned Batchelder",
        "email": "ned@nedbatchelder.com",
        "time": "Wed May 06 20:05:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 20:05:30 2026"
      },
      "message": "Update Doc/pylock.toml (#149467)\n\nupdate Doc/pylock.toml"
    },
    {
      "commit": "ff422bd1c1cde44ca19fdf4d98a5ca55d356bc1e",
      "tree": "2168f6e83cd7821278b904ad934f5b9853cedd78",
      "parents": [
        "8cad740557f3a0860497bde5b02ad9c2b8ea9cf6"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed May 06 19:00:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 19:00:56 2026"
      },
      "message": "gh-141560: Add annotation_format parameter to getfullargspec (#149457)"
    },
    {
      "commit": "8cad740557f3a0860497bde5b02ad9c2b8ea9cf6",
      "tree": "1b5b69087813648f0decf09ae1f3fa4a479d57d5",
      "parents": [
        "947c8ea3bc4240554c953396251d9a5ac2198ff4"
      ],
      "author": {
        "name": "David Ellis",
        "email": "ducksual@gmail.com",
        "time": "Wed May 06 18:24:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 18:24:18 2026"
      },
      "message": "gh-148823: Avoid importing `_colorize` when creating an `ArgumentParser` (#148827)\n\nCo-authored-by: blurb-it[bot] \u003c43283697+blurb-it[bot]@users.noreply.github.com\u003e\nCo-authored-by: Savannah Ostrowski \u003csavannah@python.org\u003e"
    },
    {
      "commit": "947c8ea3bc4240554c953396251d9a5ac2198ff4",
      "tree": "cd53688b715b50484b58e59e74b69f6c76cd55d1",
      "parents": [
        "9514dd750c932753da361966ef6fd47be758a1a5"
      ],
      "author": {
        "name": "Alexis Dauphin",
        "email": "alexis.dauphin91@gmail.com",
        "time": "Wed May 06 17:52:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 17:52:23 2026"
      },
      "message": "gh-148599: Update WSA `socket` error codes (#148033)"
    },
    {
      "commit": "9514dd750c932753da361966ef6fd47be758a1a5",
      "tree": "c58f64def131bf308bf5a2638a98d6615c99d3f8",
      "parents": [
        "7cea70e14dac091cbd7e0601b96a59458f8c9bee"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Wed May 06 17:33:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 17:33:08 2026"
      },
      "message": "gh-133879: Copyedit \"What\u0027s new in Python 3.15\" (#149451)"
    },
    {
      "commit": "7cea70e14dac091cbd7e0601b96a59458f8c9bee",
      "tree": "f5de1d1a71bde6ef8eeed2809336032ac7929992",
      "parents": [
        "d13fc36f7319dca8d11d8e69c69adcfe919814e4"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Wed May 06 16:07:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 16:07:43 2026"
      },
      "message": "gh-144384: Lazily import `_colorize` (#149318)"
    },
    {
      "commit": "d13fc36f7319dca8d11d8e69c69adcfe919814e4",
      "tree": "4e4ac3b23c689c7813aeabee71ac6f732ff4e9f8",
      "parents": [
        "1dcc546d841a5e88675eb2af2c55b63f26930ccf"
      ],
      "author": {
        "name": "Zachary Ware",
        "email": "zach@python.org",
        "time": "Wed May 06 16:04:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 16:04:42 2026"
      },
      "message": "gh-124111: Only set TCLSH_NATIVE for AMD64/ARM64 (GH-149443)\n\nThe Tcl 9 makefile.vc now uses TCLSH_NATIVE during the build process,\nnot just the installation.  We had been setting it to the installed\nlocation of the x86 tclsh.exe, which does not yet exist when the x86\nbuild process needs it.  That build doesn\u0027t actually need TCLSH_NATIVE,\nthough (there\u0027s a check specifically allowing TCLSH to be used if\nMACHINE is IX86 and TCLSH_NATIVE is undefined), so don\u0027t set it."
    },
    {
      "commit": "1dcc546d841a5e88675eb2af2c55b63f26930ccf",
      "tree": "13fb6421c3e1acf9854b3f4758db7479373b41d8",
      "parents": [
        "4ed40146f17ea71e94b629600a8d540436367607"
      ],
      "author": {
        "name": "Zachary Ware",
        "email": "zach@python.org",
        "time": "Wed May 06 15:44:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 15:44:47 2026"
      },
      "message": "Rewrite RTD configuration to use build.jobs rather than build.commands (GH-149429)\n\nAs part of this conversion, we now ensure that we\u0027re comparing against the\nmerge-base of the PR branch and the base branch when checking whether an RTD\nbuild is worthwhile, deepening the history of the base branch by up to 500\ncommits if necessary.  If the merge-base can\u0027t be found or there are merge\nconflicts with the head of the base branch, the build is skipped since it would\ngive a warped perception of the actual changes anyway.\n\nThis unfortunately does nothing about RTD preview comments comparing against\nthe wrong base, other than skipping builds that shouldn\u0027t produce any diff at\nall thus avoiding the comment.\n\nCo-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) \u003cwk.cvs.github@sydorenko.org.ua\u003e"
    },
    {
      "commit": "4ed40146f17ea71e94b629600a8d540436367607",
      "tree": "8378317656d46c4cd266f1590d8c115aeee6e345",
      "parents": [
        "646853df13492e2260befd5a13dba29af3c6be46"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Wed May 06 15:03:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 15:03:37 2026"
      },
      "message": "gh-149202: Fix frame pointer unwinding on s390x and ARM (GH-149362)\n\n-fno-omit-frame-pointer is not enough to make every target walkable by the\nsimple manual frame pointer unwinder.\n\nThe helper used by test_frame_pointer_unwind used to assume the frame pointer\nnamed a two-word record where fp[0] was the previous frame pointer and fp[1]\nwas the return address. That is only the generic layout used by some targets.\nThis patch keeps that default, but moves the slots behind named offsets so\narchitecture-specific layouts can describe where the backchain and return\naddress really live.\n\nOn s390x, GCC and Clang do not emit a usable backchain unless -mbackchain is\nenabled. Without it, the unwinder stops at the current C frame and the test\nreports no Python frames. Once backchains are present, the helper must also\nstop at the current thread\u0027s known C stack bounds; otherwise it can follow the\nfinal backchain far enough to dereference an invalid frame and segfault.\nFor Linux s390x backchain frames, the documented z/Architecture stack-frame\nlayout saves r14, the return-address register, at byte offset 112 from the\nframe pointer, so read the return address from that named slot instead of fp[1].\n\nThe 112-byte offset comes from Linux\u0027s s390 debugging documentation: its Stack\nFrame Layout table shows z/Architecture backchain frames with the backchain at\noffset 0 and saved r14 of the caller function at offset 112:\nhttps://www.kernel.org/doc/html/v5.3/s390/debugging390.html#stack-frame-layout\n\nThis helper remains scoped to Linux s390x backchain frames. GNU SFrame\u0027s s390x\nnotes state that the s390x ELF ABI does not generally mandate where RA and FP\nare saved, or whether they are saved at all:\nhttps://sourceware.org/binutils/docs/sframe-spec.html#s390x\n\nAs Jens Remus noted, -fno-omit-frame-pointer is not needed when -mbackchain is\npresent.\n\nOn 32-bit ARM, GCC defaults to Thumb mode on common armhf toolchains. The Thumb\nprologue keeps the saved frame pointer and link register at offsets that depend\non the generated frame, which breaks the fp[0]/fp[1] walk used by the helper.\nUse -marm when it is supported for frame-pointer builds, and teach the helper\nthe GCC ARM-mode slots where the previous frame pointer is at fp[-1] and the\nsaved LR return address is at fp[0].\n\n\nCo-authored-by: Petr Viktorin \u003cencukou@gmail.com\u003e\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "646853df13492e2260befd5a13dba29af3c6be46",
      "tree": "fc7781c012864023cef66d4be08a228e039de610",
      "parents": [
        "7b6c248d61808b787f09ed3d05e4c233a5841a74"
      ],
      "author": {
        "name": "Alex Malyshev",
        "email": "lex.malyshev@gmail.com",
        "time": "Wed May 06 15:01:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 15:01:12 2026"
      },
      "message": "gh-145559: Add PyUnstable_DumpTraceback() and PyUnstable_DumpTracebackThreads() (#148145)\n\nCo-authored-by: Petr Viktorin \u003cencukou@gmail.com\u003e\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "7b6c248d61808b787f09ed3d05e4c233a5841a74",
      "tree": "f4621e402270ed6149fbd6f5cba858239461351c",
      "parents": [
        "a5c7a7441870e045eb7589d1a1ff93d9423dea03"
      ],
      "author": {
        "name": "Bénédikt Tran",
        "email": "10796600+picnixz@users.noreply.github.com",
        "time": "Wed May 06 14:41:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 14:41:26 2026"
      },
      "message": "gh-142307: deprecate legacy support for altering `IMAP4.file` (#142335)\n\nCo-authored-by: Hugo van Kemenade \u003c1324225+hugovk@users.noreply.github.com\u003e"
    },
    {
      "commit": "a5c7a7441870e045eb7589d1a1ff93d9423dea03",
      "tree": "779a6b18c22b40d5b815e499b806b1db266f202f",
      "parents": [
        "9274d969f3b8d66a01ae704cac866ceb9e207d0e"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Wed May 06 14:40:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 14:40:10 2026"
      },
      "message": "gh-139489: Add xml.is_valid_text() (GH-149412)"
    }
  ],
  "next": "9274d969f3b8d66a01ae704cac866ceb9e207d0e"
}
