)]}'
{
  "log": [
    {
      "commit": "374851f3dbfbce3faf1f7a1875454aa67cf6ae4b",
      "tree": "c24b82d0d43495202aa4991b0f44e2327130bf5a",
      "parents": [
        "0f34848214e4c1987c5b0c4f8ef63e9efab96ccb"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Tue Sep 01 13:33:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:33:36 2026"
      },
      "message": "gh-155742: Use PyBytesWriter in CJK codecs (#155746)\n\nReplace soft deprecated PyBytes_FromStringAndSize() with\nPyBytesWriter."
    },
    {
      "commit": "0f34848214e4c1987c5b0c4f8ef63e9efab96ccb",
      "tree": "e78a715cdacf3a13d6c9740f69a21e4ace9aebbb",
      "parents": [
        "9259e8ba4de8e2f534d97233b8e0f9c2537691d3"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Tue Sep 01 13:29:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:29:26 2026"
      },
      "message": "gh-155742: Use PyBytesWriter in codecs (#155750)\n\nUse PyBytesWriter in _PyCodec_SurrogateEscapeUnicodeEncodeError().\n\nReplace soft deprecated PyBytes_FromStringAndSize() with\nPyBytesWriter."
    },
    {
      "commit": "9259e8ba4de8e2f534d97233b8e0f9c2537691d3",
      "tree": "52aa5a1ee2b193c13858e58fc71820577ce8b165",
      "parents": [
        "e7ef46acf6c6da08925b183f5894c502bcd43faf"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Tue Sep 01 13:18:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:18:07 2026"
      },
      "message": "gh-83895: Accept input larger than 2 GiB in the C implementation of ElementTree (GH-156746)\n\nXMLParser.feed() and ElementTree.parse() raised OverflowError, because Expat\ntakes the length as an int.  The data is now fed to Expat in chunks of 1 MiB,\nas xml.parsers.expat does since bpo-17089, so the pure Python implementation\nalready accepted such input."
    },
    {
      "commit": "e7ef46acf6c6da08925b183f5894c502bcd43faf",
      "tree": "75c57513d8cf62516ed40ae691f057f4e3c2dd0a",
      "parents": [
        "1620e0f1b59c2078e33d82bef75df3db3c651d1c"
      ],
      "author": {
        "name": "Sergey B Kirpichev",
        "email": "skirpichev@gmail.com",
        "time": "Tue Sep 01 13:16:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:16:56 2026"
      },
      "message": "gh-153740: Optimize PyFloat_Pack/Unpack2 using native _Float16 (#154796)\n\nCo-authored-by: hpkfft.com \u003cpaul@hpkfft.com\u003e\nCo-authored-by: Victor Stinner \u003cvstinner@python.org\u003e"
    },
    {
      "commit": "1620e0f1b59c2078e33d82bef75df3db3c651d1c",
      "tree": "fa2e69958f9c3e8f7533b86a8b5b4e9e723c9884",
      "parents": [
        "faf4e524356634ac95d9de3f7f115603f7440a9b"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Tue Sep 01 12:55:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 12:55:32 2026"
      },
      "message": "gh-64862: Add the stop_exception parameter in iter() and aiter() (GH-156298)\n\nThe iteration stops when the callable raises the specified exception (an\nexception class or a tuple of exception classes).  It is keyword-only and\ncan be used without the stop value.  The second parameter of iter() is now\nnamed stop_value and can be passed as a keyword argument.\n\naiter() now accepts the same parameters, which it never had before: the\ncallable is called and its result is awaited for every __anext__().\n\nIf the callable raises StopIteration (StopAsyncIteration in aiter()) which\ndoes not match stop_exception, it is replaced with RuntimeError, as PEP 479\nand PEP 525 do for generators.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "faf4e524356634ac95d9de3f7f115603f7440a9b",
      "tree": "e4aa4960585220cc3299a59f8ca78cd8381c7ec1",
      "parents": [
        "eb087d44cf120dde6d5f020ce930b6a1037b17f1"
      ],
      "author": {
        "name": "stratakis",
        "email": "cstratak@redhat.com",
        "time": "Tue Sep 01 06:22:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 06:22:05 2026"
      },
      "message": "gh-156703: Set LD_LIBRARY_PATH in SystemTap trace commands (GH-156424)\n\nPrefix commands passed to stap -c with LD_LIBRARY_PATH via env, when\nprobes reside in libpython. This allows the interpreter to find\nlibpython when staprun does not preserve the loader path."
    },
    {
      "commit": "eb087d44cf120dde6d5f020ce930b6a1037b17f1",
      "tree": "9978800e6eb4f248f9ac14115522d1df639e9685",
      "parents": [
        "b38e073f1be8fe40af991c044a791cefff098f0d"
      ],
      "author": {
        "name": "Brittany Reynoso",
        "email": "breynoso@meta.com",
        "time": "Tue Sep 01 05:12:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 05:12:52 2026"
      },
      "message": "gh-156745: Inline CJK replacement writer call (gh-156744)"
    },
    {
      "commit": "b38e073f1be8fe40af991c044a791cefff098f0d",
      "tree": "6bdfac26276cd9d3d27ff7d375242601e82de62a",
      "parents": [
        "c83013c92dfdc77b87a523b736b76d5abb8ede2a"
      ],
      "author": {
        "name": "Neil Schemenauer",
        "email": "nas-github@arctrix.com",
        "time": "Mon Aug 31 21:54:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 21:54:35 2026"
      },
      "message": "gh-155981: Store refleak deltas in arrays (gh-55982)\n\nStore per-run deltas in array objects rather than lists of pooled\nintegers. Large, unique deltas could otherwise grow int_pool and make\nthe refleak checker report its own retained integers as reference leaks."
    },
    {
      "commit": "c83013c92dfdc77b87a523b736b76d5abb8ede2a",
      "tree": "f8408a9b44fbbe1e7bdbf225cafcd470116b8644",
      "parents": [
        "486b000c6c19c555f03b481f735f4dec498f0f67"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Mon Aug 31 21:27:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 21:27:24 2026"
      },
      "message": "gh-99064: Ignore the encoding declaration when parsing decoded text (GH-156734)\n\nElementTree.parse() with a text file mis-decoded the text in the C\nimplementation: _parse_whole() encoded it as UTF-8, but left expat to honor\nthe encoding declared in the document.  It now overrides the encoding, as\nXMLParser.feed() already does for str data."
    },
    {
      "commit": "486b000c6c19c555f03b481f735f4dec498f0f67",
      "tree": "7eaf48e5565eecdbb36f0f72d9b6e8af4e88f996",
      "parents": [
        "8e92bf54e7ae55497a1b193b875d07e10e52d0e1"
      ],
      "author": {
        "name": "Som Samantray",
        "email": "92726151+SomSamantray@users.noreply.github.com",
        "time": "Mon Aug 31 18:39:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:39:49 2026"
      },
      "message": "gh-121291: Respect mixin bitwise-operator overrides on Flag subclasses (GH-155862)\n\n* gh-121291: respect mixin-defined bitwise operators on Flag subclasses\n\nEnumMeta.__new__ unconditionally installed Flag\u0027s __or__/__and__/__xor__/\n__ror__/__rand__/__rxor__/__invert__ onto every Flag subclass, silently\ndiscarding a mixin base\u0027s own override of these dunders -- even though\nthe class\u0027s MRO should have resolved to the mixin\u0027s method; this fixes that."
    },
    {
      "commit": "8e92bf54e7ae55497a1b193b875d07e10e52d0e1",
      "tree": "33459b255cc630d90d1680991acff0a1e7d19fa8",
      "parents": [
        "287b7cffb79d443614be51b48eaf085d663aeecd"
      ],
      "author": {
        "name": "Timofei Ivankov",
        "email": "128279579+deadlovelll@users.noreply.github.com",
        "time": "Mon Aug 31 18:24:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:24:03 2026"
      },
      "message": "gh-155418: Fix TaskGroup hang when a task cancels it before suspending (#155421)"
    },
    {
      "commit": "287b7cffb79d443614be51b48eaf085d663aeecd",
      "tree": "c019609edf31f4dbdb24a35ddd14edabde35664e",
      "parents": [
        "1855c6c40b02a5c8e75de2832dbb6cbd24351f1b"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Mon Aug 31 18:16:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:16:07 2026"
      },
      "message": "gh-156723: Update bundled libexpat to version 2.8.4 (#156724)"
    },
    {
      "commit": "1855c6c40b02a5c8e75de2832dbb6cbd24351f1b",
      "tree": "7be834b4b1c474ddeefef6feabea0bcf29320c38",
      "parents": [
        "63f662663acd3751632e75fb03e7f1e52c4bb5e5"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Mon Aug 31 18:03:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:03:33 2026"
      },
      "message": "gh-155358: Use named attributes with urllib.parse module (#155364)\n\nurlparse(), replace:\n\n* parts[0] \u003d\u003e parts.scheme\n* parts[1] \u003d\u003e parts.netloc\n* parts[2] \u003d\u003e parts.path\n\nurlsplit(), replace:\n\n* parts[0] \u003d\u003e parts.scheme\n* parts[1] \u003d\u003e parts.netloc\n* parts[2] \u003d\u003e parts.path"
    },
    {
      "commit": "63f662663acd3751632e75fb03e7f1e52c4bb5e5",
      "tree": "fa6cc1963a4b633ce7fe14f5e693fe2f58c5b255",
      "parents": [
        "5ef7fa169fecf37031e4fe31b9c52ab048c9c2e5"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Mon Aug 31 17:48:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 17:48:23 2026"
      },
      "message": "gh-156101: Don\u0027t set the result in error in PyLong_AsInt32() (#156727)\n\nDon\u0027t set the result in error in PyLong_AsInt32(), PyLong_AsUInt32(),\nPyLong_AsInt64() and PyLong_AsUInt64(). Leave the result unchanged in\nthis case."
    },
    {
      "commit": "5ef7fa169fecf37031e4fe31b9c52ab048c9c2e5",
      "tree": "64958ceb9819a9e1b0984e47585c38ec20057ea2",
      "parents": [
        "d87ee279a1f6dfdb478ede5f0ba0360123d85916"
      ],
      "author": {
        "name": "Victor Stinner",
        "email": "vstinner@python.org",
        "time": "Mon Aug 31 17:20:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 17:20:11 2026"
      },
      "message": "gh-155742: Get singleton in PyBytesWriter_FinishWithSize() (#155795)\n\nIf the result size of 1 byte, return the singleton rather than\ncreating a new bytes string."
    },
    {
      "commit": "d87ee279a1f6dfdb478ede5f0ba0360123d85916",
      "tree": "7b2bfe97e2725aa8f7377a511dc39919aa7c63ad",
      "parents": [
        "d7f9c6400f49633221983d0c454cf27ecb0302ba"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Mon Aug 31 14:11:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 14:11:29 2026"
      },
      "message": "gh-156707: Do not follow junctions in os_helper.rmtree() on Windows (GH-156710)\n\nos.lstat() reports a junction as a directory, so the junction was followed\nand files in the directory it points to could be removed.  Now the junction\nitself is removed, as in os.walk() and shutil.rmtree()."
    },
    {
      "commit": "d7f9c6400f49633221983d0c454cf27ecb0302ba",
      "tree": "93be81540270e36203b88a11d4cda9bc26c8078d",
      "parents": [
        "03503dccd0aa6d8895614e80ae9c78c03c813d45"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Mon Aug 31 11:49:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 11:49:03 2026"
      },
      "message": "gh-156689: Fix out-of-bounds read in `PyAst_CheckMode()` for `mode\u003d\u0027func_type\u0027` (#156697)"
    },
    {
      "commit": "03503dccd0aa6d8895614e80ae9c78c03c813d45",
      "tree": "65ec7c417b81fd6fdc96e3cf1036930bc119f44a",
      "parents": [
        "e50e41f7d6f944d224aedf29064cba9c04ecdc3f"
      ],
      "author": {
        "name": "sai",
        "email": "internoffl@gmail.com",
        "time": "Sun Aug 30 21:43:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 21:43:38 2026"
      },
      "message": "gh-156676: Skip `test_pyinit_function_raises_exception` for other implementations (GH-156684)\n\nSee also https://github.com/RustPython/RustPython/pull/8605"
    },
    {
      "commit": "e50e41f7d6f944d224aedf29064cba9c04ecdc3f",
      "tree": "a49828beda13e8be71396c283815733597623396",
      "parents": [
        "852381efeecdb5ddd9e77250d9467d0af0d0acea"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Sun Aug 30 20:43:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 20:43:41 2026"
      },
      "message": "gh-151914: Copyedit \"What\u0027s new in Python 3.16\" (#156678)"
    },
    {
      "commit": "852381efeecdb5ddd9e77250d9467d0af0d0acea",
      "tree": "ad34ed4403a6b4691e7c44ab8d04bb099427aea8",
      "parents": [
        "aad42883d6c49235a977c7203f4874ec69a9f262"
      ],
      "author": {
        "name": "Aradhya Gupta",
        "email": "aradhyakb2021@gmail.com",
        "time": "Sun Aug 30 17:08:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 17:08:35 2026"
      },
      "message": "gh-156614: Fix the parameter list grammar in the language reference (#156622)"
    },
    {
      "commit": "aad42883d6c49235a977c7203f4874ec69a9f262",
      "tree": "afd3e2b43657e1a2e7fda18d101daa7d1be8d9da",
      "parents": [
        "26d9b25580159abeb69b80ae6fbf511385eb6e99"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "1324225+hugovk@users.noreply.github.com",
        "time": "Sun Aug 30 16:36:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 16:36:00 2026"
      },
      "message": "gh-123299: What\u0027s New: Link to compression and compression.zstd (#156661)"
    },
    {
      "commit": "26d9b25580159abeb69b80ae6fbf511385eb6e99",
      "tree": "be3f79024a674c72c0347632996dfb8de55a3b35",
      "parents": [
        "b3ddde433e69166ecdf40095349f69e08997e9cb"
      ],
      "author": {
        "name": "Timofei Ivankov",
        "email": "128279579+deadlovelll@users.noreply.github.com",
        "time": "Sun Aug 30 15:20:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 15:20:54 2026"
      },
      "message": "gh-156662: Note that TaskGroup.create_task() raises RuntimeError (#156663)"
    },
    {
      "commit": "b3ddde433e69166ecdf40095349f69e08997e9cb",
      "tree": "ddd8f9857e8f4209e9ff1141e1db0e3a229da22c",
      "parents": [
        "d59d4e747c76d39a6ac80025cff4686a9fa96eaf"
      ],
      "author": {
        "name": "Vyron Vasileiadis",
        "email": "hi@fedonman.com",
        "time": "Sun Aug 30 14:47:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 14:47:53 2026"
      },
      "message": "gh-156500: Reject non-positional parameters in `ctypes.util.wrap_dll_function` (GH-156501)\n\nargtypes was built from every annotated parameter, so an annotated\nkeyword-only, *args, or **kwargs parameter contributed an extra positional\nentry. Such a parameter has no positional counterpart to describe, so it\nnow raises ValueError at decoration time."
    },
    {
      "commit": "d59d4e747c76d39a6ac80025cff4686a9fa96eaf",
      "tree": "69aaa8c39dc21140789bc722db7cbfb92af1614b",
      "parents": [
        "ae93e425ff408e91a6dc0cf93b0c6887cf0a8bde"
      ],
      "author": {
        "name": "David Vo",
        "email": "auscompgeek@users.noreply.github.com",
        "time": "Sun Aug 30 12:02:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 12:02:59 2026"
      },
      "message": "Enable linting of lazy import tests (#156624)"
    },
    {
      "commit": "ae93e425ff408e91a6dc0cf93b0c6887cf0a8bde",
      "tree": "6cb31ae55b9a7fdcfdb330c99ab9690000b93f04",
      "parents": [
        "ee4bd4a54a4b10efe3792834ed6887be81075fad"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sun Aug 30 11:07:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 11:07:33 2026"
      },
      "message": "gh-57952: Clarify that xml.dom documents DOM interfaces (GH-156647)\n\nThe names documented in the \"Objects in the DOM\" section are interfaces\nfrom the DOM specification, not classes provided by the xml.dom module."
    },
    {
      "commit": "ee4bd4a54a4b10efe3792834ed6887be81075fad",
      "tree": "123569ebef568087abfd638f9d912219809cc5ba",
      "parents": [
        "fcf0a987006e1aa44cc36183f44679d3f3d64f7e"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Sun Aug 30 11:00:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 11:00:03 2026"
      },
      "message": "gh-156517: Clarify that `site.getsitepackages()` doesn\u0027t check for existance (#156524)\n\nCo-authored-by: Barry Warsaw \u003cbarry@python.org\u003e"
    },
    {
      "commit": "fcf0a987006e1aa44cc36183f44679d3f3d64f7e",
      "tree": "1e8bfb22f93a012a3668db53c798fcdaaf2bc471",
      "parents": [
        "d636e3c0282d3a09176f35c19cc9563b6bcb7c8d"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Sun Aug 30 10:42:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 10:42:01 2026"
      },
      "message": "Fix a dangling pointer and reference leak in `local_timezone_from_timestamp` (#156598)"
    },
    {
      "commit": "d636e3c0282d3a09176f35c19cc9563b6bcb7c8d",
      "tree": "e664d8c98fa6378aa52358231bd6d1ddd6d3aec3",
      "parents": [
        "74b944afe32049191674c747e060d8d67a2a1b17"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sun Aug 30 10:27:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 10:27:33 2026"
      },
      "message": "gh-44871: Improve DOM Level 1 conformance of xml.dom.minidom (#155641)\n\n* The factory methods now raise InvalidCharacterErr if the name is not\n  a valid XML name.\n* Inserting or setting a node created by another document now raises\n  WrongDocumentErr.\n* Setting an attribute node which belongs to another element now raises\n  InuseAttributeErr.\n* Inserting a node into itself or its descendant now raises\n  HierarchyRequestErr.\n* A document can have only one element child and only one document type\n  child, and a document fragment can no longer have notation children.\n* Removing an absent attribute now has no effect instead of raising\n  NotFoundErr.\n* Attributes defaulted in the DTD are no longer omitted when parsing,\n  and Attr.specified now reports whether the attribute was given in the\n  start tag.  This needs the new pyexpat method\n  GetSpecifiedAttributeCount().\n* EntityReference nodes and Document.createEntityReference() are now\n  implemented.\n* The exceptions required by the DOM are now documented, and minidom\n  specific differences are described in the minidom documentation.\n\nCo-authored-by: Jason Orendorff \u003c283361+jorendorff@users.noreply.github.com\u003e"
    },
    {
      "commit": "74b944afe32049191674c747e060d8d67a2a1b17",
      "tree": "306e7c529e3e95d756bd0f9fe1e053a6984ff909",
      "parents": [
        "922c86628fac765bcfe198acdeea2268ef1eb9b2"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sun Aug 30 09:36:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 09:36:20 2026"
      },
      "message": "gh-156635: Fix the exceptions in the xml.dom documentation (GH-156636)\n\nNode.insertBefore(), Node.removeChild() and Node.replaceChild() raise\nNotFoundErr, not ValueError.\n\nElement.removeAttribute() and Element.removeAttributeNS() raise\nNotFoundErr if there is no matching attribute, which contradicts the\nDOM, so this is documented as a deviation in the minidom documentation."
    },
    {
      "commit": "922c86628fac765bcfe198acdeea2268ef1eb9b2",
      "tree": "de0c901bf1555f1efb591ad0b6dcd46b06548755",
      "parents": [
        "b7daede668ad42d11c28986f147eb6b2f68ef926"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sun Aug 30 08:17:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 08:17:17 2026"
      },
      "message": "gh-151943: Document the CharacterData interface and other DOM members (GH-155632)\n\nCharacterData was not mentioned at all, although Text, Comment and\nCDATASection inherit from it.  Document also DocumentFragment, Entity\nand Notation, many implemented members which were omitted, the node type\nconstants and the exception code constants.\n\nAdd class directives for all documented interfaces, so that references\nto them resolve, and remove xml.dom.rst from the nit-picky mode\nexceptions.\n\nFix incorrect statements about nodeName, NodeList.item(), CDATASection\nand attribute nodes, and describe minidom specific differences in the\nminidom documentation."
    },
    {
      "commit": "b7daede668ad42d11c28986f147eb6b2f68ef926",
      "tree": "099b7834c8c93f47f706288be46616c58cbdb9e6",
      "parents": [
        "6b1b90f7c4bd3590784075ef49a5710fabd4aca3"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sun Aug 30 07:39:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 07:39:28 2026"
      },
      "message": "gh-84419: Fix the execute permissions in os.stat() on Windows (GH-155392)\n\nWindows strips trailing dots and spaces from the last component of the path,\nso os.stat(\u0027spam.bat \u0027) opened the same file as os.stat(\u0027spam.bat\u0027), but did\nnot set the execute permissions in st_mode, because the extension did not\nmatch.  They are now ignored, unless the \\\\?\\ prefix disables the path\nnormalization."
    },
    {
      "commit": "6b1b90f7c4bd3590784075ef49a5710fabd4aca3",
      "tree": "e612c52655fe219a1d935903247a3c9028e69383",
      "parents": [
        "ec8a4201f804e69d4630cc1c74ff44db8c6d6efa"
      ],
      "author": {
        "name": "Kumar Aditya",
        "email": "kumaraditya@python.org",
        "time": "Sun Aug 30 07:34:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 07:34:55 2026"
      },
      "message": "gh-155725: Remove `PyGILState_Ensure` usage from `tracemalloc` (#156409)"
    },
    {
      "commit": "ec8a4201f804e69d4630cc1c74ff44db8c6d6efa",
      "tree": "d334a6163f1639c1b3b5b040cb7b131d53ac9011",
      "parents": [
        "19363f20b6e014fd44c76f8a998b21845716e358"
      ],
      "author": {
        "name": "Thomas Kowalski",
        "email": "thom.kowa@gmail.com",
        "time": "Sun Aug 30 07:29:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 07:29:31 2026"
      },
      "message": "gh-148442: Eliminate race condition in list rich comparison (GH-148531)"
    },
    {
      "commit": "19363f20b6e014fd44c76f8a998b21845716e358",
      "tree": "610fba5710a43963ad17f54dd062abffd6e39d90",
      "parents": [
        "f81c03a673ae1c71ad18845b0407f26e6cf64159"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sun Aug 30 07:05:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 07:05:07 2026"
      },
      "message": "gh-115075: Fix info about initialization of mimetypes.MimeTypes attributes (GH-150691)\n\nThey are no longer depended on the current value of global variables since\nPython 3.9 (see gh-49213)."
    },
    {
      "commit": "f81c03a673ae1c71ad18845b0407f26e6cf64159",
      "tree": "ece3a9f03af9bac9aa22f66fb5b1ef115adb5446",
      "parents": [
        "41b3f0af266b408438cab36625c6ad71040d38e5"
      ],
      "author": {
        "name": "Eugene Amirov",
        "email": "2597566+Allactaga@users.noreply.github.com",
        "time": "Sun Aug 30 02:10:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 02:10:38 2026"
      },
      "message": "gh-142414: Isolate reloading modules in test_interpreters (#144096)\n\nIsolate reloading modules in test_interpreters\n\nCo-authored-by: Alyssa Coghlan \u003cncoghlan@gmail.com\u003e"
    },
    {
      "commit": "41b3f0af266b408438cab36625c6ad71040d38e5",
      "tree": "d23a1dd6ea1e7af0b2113f4cb41c4fc3e67c1199",
      "parents": [
        "c8ca336e6b321a4ff680ea426cc8a84bfb599bd2"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Sat Aug 29 21:40:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 21:40:37 2026"
      },
      "message": "gh-156466: fix cleanup on error after Enter in codegen_enter_scope (#156467)"
    },
    {
      "commit": "c8ca336e6b321a4ff680ea426cc8a84bfb599bd2",
      "tree": "49a040be693fcdabf6008d15f82ecd88d952226f",
      "parents": [
        "abf7a184bd94da4d1a6b54503a27ede1957b48b7"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 19:59:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 19:59:43 2026"
      },
      "message": "gh-69371: Fix pydoc for modules whose path contains undecodable bytes (GH-155239)\n\n\"python -m pydoc -w\" and the pydoc HTTP server failed with\nUnicodeEncodeError.  The file URL is now created with\nurllib.request.pathname2url(), which percent-encodes the path using the\nfilesystem encoding, and characters unencodable in the generated UTF-8\npage are escaped with backslashes.\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "abf7a184bd94da4d1a6b54503a27ede1957b48b7",
      "tree": "f8eafafc1170154634fb28c0052525c25e431a03",
      "parents": [
        "e48b1eb949daacaa84c87da57732866ab1894a86"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 19:41:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 19:41:39 2026"
      },
      "message": "gh-69370: Fix \"python -m inspect --details\" for unencodable paths (GH-155246)\n\nIt failed with UnicodeEncodeError if the path of the module contains\ncharacters unencodable in the encoding of sys.stdout, e.g. undecodable\nbytes of a file name.  Such characters are now escaped with backslashes,\nunless stdout uses an error handler which can handle them.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "e48b1eb949daacaa84c87da57732866ab1894a86",
      "tree": "ddebcf467ccd30d1b1e4cfeece800c010878cad1",
      "parents": [
        "55eef52e801be5fafa76c26b96a84ee737741dd1"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 19:34:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 19:34:05 2026"
      },
      "message": "gh-89760: Fix os.path.realpath() for volume GUID paths on Windows (GH-155396)\n\nThe \\\\?\\ prefix was stripped from the resolved path if it could not be\nresolved without the prefix and failed with the same error as the original\npath.  This produced an invalid, seemingly relative path for a junction\nwhich points to a volume without a drive letter.  The prefix is now only\nstripped for drive-letter and UNC paths."
    },
    {
      "commit": "55eef52e801be5fafa76c26b96a84ee737741dd1",
      "tree": "0e3baa5b511e0e3b3162d8f98d4028117afa9ec2",
      "parents": [
        "0bb312a4eacc5df4d5556f61694416644fd6902b"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 19:27:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 19:27:09 2026"
      },
      "message": "gh-108885: Report the examples of a doctest run by unittest (GH-155377)\n\nDocTestCase ran its examples with verbose\u003dFalse, so there was no way to ask\nunittest for the details which doctest reports on its own.  It now takes the\nverbosity from the test result, and reports every example if the test runner\nis asked for more than the test names.  They are written to the stream of the\ntest runner, so that they are not lost when it buffers the output of the test.\n\nTo make this reachable:\n\n* unittest.TestResult has now a verbosity attribute, which it accepted but\n  ignored.  The test runner sets it, because a result class is free to filter\n  what its constructor gets.\n* The unittest -v option is now counted, so that -vv means 3.\n* The verbosity of regrtest is one less, so it is translated where the test\n  runner is created: -v reports the test names, as before, and -vv reports\n  also the examples.\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "0bb312a4eacc5df4d5556f61694416644fd6902b",
      "tree": "86eaccfa5db7f56af38c15adebb71a67b3007238",
      "parents": [
        "0c38e057d0279c10a8cd7fd916ba1fa3c767170a"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 19:17:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 19:17:43 2026"
      },
      "message": "gh-86427: Use the console code page for the stdio encoding on Windows (GH-155415)\n\nIn the legacy Windows stdio mode PyConfig.stdio_encoding is now initialized\nwith the console output code page instead of the ANSI code page.\n\nOnly one encoding can be specified, so sys.stdin.encoding is still wrong if\nthe input code page differs from the output one."
    },
    {
      "commit": "0c38e057d0279c10a8cd7fd916ba1fa3c767170a",
      "tree": "f3309793340f043f91445b3b1a268d353d0d230c",
      "parents": [
        "b4aea41d1cd0da1f34e42366d64e9e19d557eb87"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 18:17:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 18:17:47 2026"
      },
      "message": "gh-102475: Fix os.path.realpath() for names which look like a drive (GH-155399)\n\nThe unresolved part of the path was joined with the resolved part using\njoin(), so a component containing a colon (e.g. \"spam:eggs\") reset the path.\nIt is now simply appended.\n\nA path relative to a drive which does not exist (e.g. \"Z:spam\") is now\nresolved against the root directory of that drive, as the Windows path\nnormalization does."
    },
    {
      "commit": "b4aea41d1cd0da1f34e42366d64e9e19d557eb87",
      "tree": "2c7967ec9e171298545352a74d9f2be72a106706",
      "parents": [
        "c922aa0ddd264395cd606fdfd20512fa54108cfb"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 18:15:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 18:15:25 2026"
      },
      "message": "gh-87587: Fix os.device_encoding() for any console on Windows (GH-155410)\n\nIt was hard coded to map file descriptors 0, 1 and 2 to the console code\npage, but a console can be opened as any file descriptor, and other\ncharacter devices, like NUL, are not consoles.\n\nThe file handle is now queried.  The UTF-8 code page is also now reported\nas \"utf-8\" instead of \"cp65001\"."
    },
    {
      "commit": "c922aa0ddd264395cd606fdfd20512fa54108cfb",
      "tree": "829aa57e63e7acf5b4428100fb8d23d343b8d9ad",
      "parents": [
        "0e8100a140414ceb9086a1d5d7dd24209f111d41"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 18:05:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 18:05:33 2026"
      },
      "message": "gh-72353: Continue reading from the console after ignored Ctrl+C (GH-155434)\n\nIf the console cancels a read because of Ctrl+C, but the SIGINT handler\ndoes not raise an exception, restart the read instead of ending it as if\nat end of file.\n\nCo-authored-by: Valeriya Sinevich \u003cvaleriya.sinevich@phystech.edu\u003e\nCo-authored-by: Zackery Spytz \u003czspytz@gmail.com\u003e"
    },
    {
      "commit": "0e8100a140414ceb9086a1d5d7dd24209f111d41",
      "tree": "401682b99137ad8e1ec77d3aa5dc68ec63309b74",
      "parents": [
        "3e9efe550971a02a1580f2202399c1249d4be548"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 18:04:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 18:04:01 2026"
      },
      "message": "gh-85470: Delay load ole32.dll in the _ctypes module (GH-155435)\n\nole32.dll pulls in user32.dll, which makes the system treat the process as\na GUI process and stop sending logoff and shutdown console control events\nto it.  It is only needed for ProgIDFromCLSID() when formatting a COM error."
    },
    {
      "commit": "3e9efe550971a02a1580f2202399c1249d4be548",
      "tree": "b1d1583d14df371866a9ee43ebdbf055b08b2243",
      "parents": [
        "72a88d71c042be97921057935b5dfe3a9bc16daa"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Sat Aug 29 17:55:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 17:55:23 2026"
      },
      "message": "gh-151365: Revert temporary Git downgrade (#156584)\n\nRevert \"gh-151365: Temporarily downgrade Git to prevent fatal error (#155495)\"\n\nThis reverts commit 6d2b551399342fc6621195abfde7d79bcb1d7a4b."
    },
    {
      "commit": "72a88d71c042be97921057935b5dfe3a9bc16daa",
      "tree": "d8cad256d3e6239cda97d5993ef8476b0af94f2f",
      "parents": [
        "9111820ebb6243c961ea4cedf1cdf7e248701209"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 17:53:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 17:53:36 2026"
      },
      "message": "gh-83371: Fix deadlock when a Pool callback raises an exception (GH-155777)\n\nThe exception killed the thread which handles results, so that the pool\nhung forever.  It is now the result of the job and is raised by\nAsyncResult.get(), with the original error as its context.\n\nCo-authored-by: Sindri Guðmundsson \u003csindrigudmundsson@gmail.com\u003e\nCo-authored-by: Thomas Grainger \u003ctagrain@gmail.com\u003e"
    },
    {
      "commit": "9111820ebb6243c961ea4cedf1cdf7e248701209",
      "tree": "b6bc2c1d6ea12a2795d61938b5ac043c77e0702e",
      "parents": [
        "b0da7c72691d9a165f7849099aee1a9cc7299fc1"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 17:46:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 17:46:42 2026"
      },
      "message": "gh-155775: Do not consume the CAPABILITY response in imaplib (GH-155789)\n\nIt can again be read with response(\u0027CAPABILITY\u0027) after LOGIN and\nAUTHENTICATE.  The capabilities in the greeting are still consumed.\n\nAlso document the capabilities attribute.\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "b0da7c72691d9a165f7849099aee1a9cc7299fc1",
      "tree": "e49ee2bd884312ff4adc8f4fef0d26c5daae25b3",
      "parents": [
        "a175da7a3ae3ba8d8aab9225c755bb41782edb4c"
      ],
      "author": {
        "name": "Timofei Ivankov",
        "email": "128279579+deadlovelll@users.noreply.github.com",
        "time": "Sat Aug 29 16:27:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 16:27:05 2026"
      },
      "message": "gh-156327: Fix asyncio.print_call_graph() reporting its own frame (#156329)"
    },
    {
      "commit": "a175da7a3ae3ba8d8aab9225c755bb41782edb4c",
      "tree": "f0250c9c776eca11d9e81ef76a8b1c3647d3c47b",
      "parents": [
        "5cb7c39e6378d6cfd2bca140aa1eebf72cc7ffd3"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 16:03:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 16:03:00 2026"
      },
      "message": "gh-155905: Fix error handling in _testcapi helpers (GH-155906)\n\nPy_fopen() sets an exception and returns NULL on error.  The\npyobject_print*() helpers did not check the result and crashed, and the\npymarshal_*() helpers set a second exception on top of it.\n\nThe pyobject_print*() helpers which take a single argument now use\nMETH_O, and the result of PyUnicode_FromString() is now checked.\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "5cb7c39e6378d6cfd2bca140aa1eebf72cc7ffd3",
      "tree": "12aac6d2aeac05dd272c9d080f030dd978805855",
      "parents": [
        "e1d969ad95c21cccd9b2d47d4ce9c40343aa7b6d"
      ],
      "author": {
        "name": "Evan A Mavrin",
        "email": "36235551+SynaptSea@users.noreply.github.com",
        "time": "Sat Aug 29 16:02:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 16:02:26 2026"
      },
      "message": "gh-154200: Use sysconfig.get_platform() in test_importlib.test_windows (#154210)\n\ninstead of a port of distutils.util.get_platform()"
    },
    {
      "commit": "e1d969ad95c21cccd9b2d47d4ce9c40343aa7b6d",
      "tree": "1009fa91516c126a8677d0149ff027e2a2d58669",
      "parents": [
        "d94c4ad1b65b102d10634b43bea61d35dae7baeb"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Sat Aug 29 16:01:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 16:01:09 2026"
      },
      "message": "gh-148653: Forbid marshalling recursive tuples (GH-155903)\n\nAlso fix a crash when unmarshalling a self-referencing tuple.\n\nCo-authored-by: Michael Bommarito \u003cmichael.bommarito@gmail.com\u003e\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d94c4ad1b65b102d10634b43bea61d35dae7baeb",
      "tree": "6257fb4af19629c733e38f6d4fb7f16c365c4589",
      "parents": [
        "8b082aa405101ab806433cd4d7305b19397271cf"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Sat Aug 29 14:01:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 14:01:55 2026"
      },
      "message": "gh-156466: fix cleanup on error in codegen_function_body (#156511)"
    },
    {
      "commit": "8b082aa405101ab806433cd4d7305b19397271cf",
      "tree": "6912415d0ac06d9d8dc0e7d605c8d92564ed7be3",
      "parents": [
        "f4874f381c1ef9a3e0e17fde870f2d38d89e043b"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Sat Aug 29 12:22:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 12:22:25 2026"
      },
      "message": "gh-156459: Fix cleanup on error in compiler_set_qualname (#156462)"
    },
    {
      "commit": "f4874f381c1ef9a3e0e17fde870f2d38d89e043b",
      "tree": "ef08b3b513cf893fd4f7e39dc6b58ae93983cbe2",
      "parents": [
        "f973bd9d383e99eef58846772c69afa8ebeaf9a9"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sat Aug 29 12:14:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 12:14:29 2026"
      },
      "message": "gh-156466: Fix additional compiler scope cleanup errors (#156547)"
    },
    {
      "commit": "f973bd9d383e99eef58846772c69afa8ebeaf9a9",
      "tree": "e293e1447cef98281b6523f00effe922ccd508cc",
      "parents": [
        "6c425f1d18d3915cb32e3372647db24bad7ab92d"
      ],
      "author": {
        "name": "sundeep8967",
        "email": "71071718+sundeep8967@users.noreply.github.com",
        "time": "Sat Aug 29 10:10:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 10:10:34 2026"
      },
      "message": "gh-156353: Fix configparser space delimiter parsing (#156382)\n\nCo-authored-by: Petr Viktorin \u003cencukou@gmail.com\u003e\nSigned-off-by: sundeep8967 \u003csundeep8967@gmail.com\u003e"
    },
    {
      "commit": "6c425f1d18d3915cb32e3372647db24bad7ab92d",
      "tree": "78157ec60e8db44c8236727228b6281dbdd8baa8",
      "parents": [
        "b0c9fc37dd0ed60456313600e6a01478308f195e"
      ],
      "author": {
        "name": "Timofei Ivankov",
        "email": "128279579+deadlovelll@users.noreply.github.com",
        "time": "Sat Aug 29 10:04:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 10:04:57 2026"
      },
      "message": "gh-156408: Fix asyncio.print_call_graph() on a finished task (#156410)"
    },
    {
      "commit": "b0c9fc37dd0ed60456313600e6a01478308f195e",
      "tree": "5d40ed7443cca5c8f5036306466cf7dbfb477601",
      "parents": [
        "a11ab0920c720b36d9f0d962c1bbb4df9f513e43"
      ],
      "author": {
        "name": "Timofei Ivankov",
        "email": "128279579+deadlovelll@users.noreply.github.com",
        "time": "Sat Aug 29 08:39:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 08:39:07 2026"
      },
      "message": "gh-156523: Fix asyncio.as_completed() not recording the awaiting task (#156527)"
    },
    {
      "commit": "a11ab0920c720b36d9f0d962c1bbb4df9f513e43",
      "tree": "049e2eb34786d0c9827ce4b9f6144d578d48bd70",
      "parents": [
        "d915492413869d616e269e7568c1ff08f02911cc"
      ],
      "author": {
        "name": "Maurycy Pawłowski-Wieroński",
        "email": "maurycy@maurycy.com",
        "time": "Sat Aug 29 08:30:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 08:30:57 2026"
      },
      "message": "gh-148085: `datetime` cache `time` module lookups (#148088)\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "d915492413869d616e269e7568c1ff08f02911cc",
      "tree": "585506f4de6e4f376d2c16b17ddd1af5c74e67a4",
      "parents": [
        "3e245faf34efc41c39bbe76071e6edb7a62692a8"
      ],
      "author": {
        "name": "Brittany Reynoso",
        "email": "breynoso@meta.com",
        "time": "Sat Aug 29 03:37:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 03:37:45 2026"
      },
      "message": "gh-156537: Optimize codec.decode by inlining the per-character write in CJK decoders (gh-156538)"
    },
    {
      "commit": "3e245faf34efc41c39bbe76071e6edb7a62692a8",
      "tree": "87d3e7ef8cdbadd7886183f99a625a30fb1f3c66",
      "parents": [
        "de2ea9aaefebd1b06e5302c1858d70e00cd63639"
      ],
      "author": {
        "name": "Vyron Vasileiadis",
        "email": "hi@fedonman.com",
        "time": "Sat Aug 29 03:08:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 03:08:53 2026"
      },
      "message": "gh-153772: Make abc isinstance() tolerate instances without __class__ (#154149)\n\nThe built-in isinstance() reads an instance\u0027s __class__ with a lookup that\nsuppresses AttributeError and falls back to the object\u0027s type, so\nisinstance(obj, int) returns False for an object whose __class__ access\nraises. ABCMeta.__instancecheck__ read __class__ directly instead, so\nisinstance(obj, Mapping) leaked that AttributeError.\n\nFall back to type(instance) when __class__ is unavailable, in both the C\nand the pure-Python implementations, so the abstract base classes behave\nlike the built-in isinstance(). Such objects are unusual, but they do turn\nup in the wild (for example some Qt widgets)."
    },
    {
      "commit": "de2ea9aaefebd1b06e5302c1858d70e00cd63639",
      "tree": "8e20adfe04bbbdc2ee5fc424064a43581353cafe",
      "parents": [
        "71cb9e8b64c4a89971955d3ce8ff393f283aeace"
      ],
      "author": {
        "name": "Victorien",
        "email": "65306057+Viicos@users.noreply.github.com",
        "time": "Sat Aug 29 02:56:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 02:56:34 2026"
      },
      "message": "Do not recurse into `Literal` arguments during type evaluation (#156534)\n\nUnlike other generic aliases, `Literal` arguments aren\u0027t type expressions\n(e.g. `Literal[1, \u0027a\u0027].__args__ \u003d\u003d (1, \u0027a\u0027)`. As such, there is no need\nto recurse into all the arguments as they are guaranteed to be returned\nunchanged."
    },
    {
      "commit": "71cb9e8b64c4a89971955d3ce8ff393f283aeace",
      "tree": "92f6d58a8dffcb02402b4dd0267ddf15584b6d3c",
      "parents": [
        "683ef4082d374eb26c1ead33f8fd989eeadc742d"
      ],
      "author": {
        "name": "Clay Dugo",
        "email": "claydugo@gmail.com",
        "time": "Fri Aug 28 23:37:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 23:37:42 2026"
      },
      "message": "gh-143768: Replace a dangling interpreter symlink when creating a venv (#150985)\n\nCo-authored-by: Brett Cannon \u003cbrett@python.org\u003e"
    },
    {
      "commit": "683ef4082d374eb26c1ead33f8fd989eeadc742d",
      "tree": "1822fc3a3ddc5fb6fc39aaad926a94eb4dc4f5a0",
      "parents": [
        "932822cbc998c16616f33078b421373a53ced4d0"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Fri Aug 28 21:01:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 21:01:47 2026"
      },
      "message": "gh-156466: fix cleanup on error in codegen_class_body (#156507)"
    },
    {
      "commit": "932822cbc998c16616f33078b421373a53ced4d0",
      "tree": "cf985465b227d31554f207811f3a0f91ed8b1a58",
      "parents": [
        "b7ce9c3f1ac1f57bd7bc95aaed91e78548d98c88"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Fri Aug 28 18:10:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 18:10:37 2026"
      },
      "message": "gh-156525: fix a few error path scope management bugs in symtable (#156526)"
    },
    {
      "commit": "b7ce9c3f1ac1f57bd7bc95aaed91e78548d98c88",
      "tree": "eb963e40edfac9264bfa6469d4ca304a49e9a124",
      "parents": [
        "f5dbcbafaea6b4243e7a92861ad56c5ce5e66308"
      ],
      "author": {
        "name": "Zachary Ware",
        "email": "zach@python.org",
        "time": "Fri Aug 28 16:26:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 16:26:14 2026"
      },
      "message": "gh-156369: Update Windows builds to OpenSSL 3.5.8 (GH-156528)"
    },
    {
      "commit": "f5dbcbafaea6b4243e7a92861ad56c5ce5e66308",
      "tree": "3d57646620d5e253e45d402b587f8be1f3cba550",
      "parents": [
        "8e0159bd2338c8dff93dd443181e3402c88c70a8"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Fri Aug 28 15:26:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 15:26:05 2026"
      },
      "message": "gh-153569: Unify tokenizer input readers (#156472)"
    },
    {
      "commit": "8e0159bd2338c8dff93dd443181e3402c88c70a8",
      "tree": "713c48a6662a2ea994d29834179c4b9c0621f12b",
      "parents": [
        "0e2976849375fa455934246f78386740074d83b5"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Fri Aug 28 14:03:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 14:03:56 2026"
      },
      "message": "gh-156466: fix cleanup on error in codegen_leave_annotations_scope (#156497)"
    },
    {
      "commit": "0e2976849375fa455934246f78386740074d83b5",
      "tree": "8b973d451e8ea6858b9ce4239fe4412a10456a6e",
      "parents": [
        "ed1aa1f324f9eb32aba9bff0240e2514eb051f70"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Fri Aug 28 10:25:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 10:25:52 2026"
      },
      "message": "gh-156466: fix cleanup on error in codegen_function_annotations (#156502)"
    },
    {
      "commit": "ed1aa1f324f9eb32aba9bff0240e2514eb051f70",
      "tree": "c4c9ea469959dce978e4578c94d1d7103a2edfd7",
      "parents": [
        "24e5a55ccb0c5db68136d29f4c16c0bc21407db2"
      ],
      "author": {
        "name": "Zhikang Yan",
        "email": "2951256653@qq.com",
        "time": "Fri Aug 28 09:13:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 09:13:31 2026"
      },
      "message": "gh-125763: Remove the broken spacebar quit binding in `turtledemo.sorting_animate` (#126583)\n\nCo-authored-by: blurb-it[bot] \u003c43283697+blurb-it[bot]@users.noreply.github.com\u003e\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "24e5a55ccb0c5db68136d29f4c16c0bc21407db2",
      "tree": "335460ab5b07a3bbd3fb97c8ad8b49b0ad809416",
      "parents": [
        "45e5b1b0a97795e2ac82a306ce366efd55bd15b4"
      ],
      "author": {
        "name": "Irit Katriel",
        "email": "1055913+iritkatriel@users.noreply.github.com",
        "time": "Thu Aug 27 20:11:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 20:11:05 2026"
      },
      "message": "gh-156466: fix cleanup on error in codegen_setup_annotations_scope (#156473)"
    },
    {
      "commit": "45e5b1b0a97795e2ac82a306ce366efd55bd15b4",
      "tree": "367d9eb581b28ed9ee16daadad85d222af21ff24",
      "parents": [
        "eb089020696e451e64a51534726efa80dcbdc902"
      ],
      "author": {
        "name": "An Long",
        "email": "aisk@users.noreply.github.com",
        "time": "Thu Aug 27 18:42:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 18:42:27 2026"
      },
      "message": "gh-156476: Ignore timeout in `_PySimpleQueue.get()` when block is false (#156477)\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "eb089020696e451e64a51534726efa80dcbdc902",
      "tree": "c97848ffcc7b4cae998b3f23733413c582cf46a1",
      "parents": [
        "2a37d678ee96bba13e58e68020ccdcf666ff23a3"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Thu Aug 27 13:53:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 13:53:38 2026"
      },
      "message": "gh-111735: Skip `turtle` doctests when `_tkinter` is not available (#156417)"
    },
    {
      "commit": "2a37d678ee96bba13e58e68020ccdcf666ff23a3",
      "tree": "b97477d7f5f46ca49f1813d73acf951cdf9cf424",
      "parents": [
        "6671d27327dd0518c502aaac9d1b2e079d80ef05"
      ],
      "author": {
        "name": "stevens",
        "email": "lipengyu@kylinos.cn",
        "time": "Thu Aug 27 12:27:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 12:27:20 2026"
      },
      "message": "gh-155468: Distinguish empty quoted tokens from EOF in netrc (GH-155471)"
    },
    {
      "commit": "6671d27327dd0518c502aaac9d1b2e079d80ef05",
      "tree": "77a71b4845ff12208d892291d0fc4018e9455681",
      "parents": [
        "79f41dd9f312ab960e492c34b85f02e84cf1f556"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Thu Aug 27 11:11:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 11:11:33 2026"
      },
      "message": "gh-156444: Fix a negated character set with IGNORECASE and LOCALE (GH-156445)\n\ncharset_loc_ignore() tested the whole set once per locale case and took\nthe disjunction, which complements a set before closing it under case\ninstead of after: [bc] matched b\u0027B\u0027, but so did [^bc].  Match both cases\nof the character against every set member instead.\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "79f41dd9f312ab960e492c34b85f02e84cf1f556",
      "tree": "8ec0598c6bb95ada58f646d92dfbf58e296aea1b",
      "parents": [
        "b8bf99cc4786c2d8725115006ebd92a15a2d981b"
      ],
      "author": {
        "name": "Ned Batchelder",
        "email": "ned@nedbatchelder.com",
        "time": "Thu Aug 27 10:30:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 10:30:35 2026"
      },
      "message": "Docs: remove __path__ discussion from tutorial (#156426)\n\n* Docs: remove __path__ discussion from tutorial\n\nThis isn\u0027t the current best way to make namespace packages; almost no\none needs to make namespace packages; the deleted text even says \"while\nthis feature is not often needed\".  It doesn\u0027t belong in the tutorial.\n\n* add removed id to removed-ids.txt"
    },
    {
      "commit": "b8bf99cc4786c2d8725115006ebd92a15a2d981b",
      "tree": "71f1741e3379e9cad412908f62942bf1b3636b44",
      "parents": [
        "2a0391230644cbc50d964149dcb0af4c02ac0992"
      ],
      "author": {
        "name": "Ned Deily",
        "email": "nad@python.org",
        "time": "Thu Aug 27 09:39:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 09:39:10 2026"
      },
      "message": "gh-156369: Update macOS installer to use OpenSSL 3.5.8. (#156447)"
    },
    {
      "commit": "2a0391230644cbc50d964149dcb0af4c02ac0992",
      "tree": "1423962c3dd1103eab914d5fc9cb5d74f59968b0",
      "parents": [
        "fe3a26f43fad1d6eed20172d7f63ee2931ae2ce1"
      ],
      "author": {
        "name": "Ned Deily",
        "email": "nad@python.org",
        "time": "Thu Aug 27 09:35:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 09:35:58 2026"
      },
      "message": "gh-152023: Update macOS installer builds to SQLite 3.53.4. (#156446)"
    },
    {
      "commit": "fe3a26f43fad1d6eed20172d7f63ee2931ae2ce1",
      "tree": "1dce59c65551ce606317878f6a8bc5b69ebc98f9",
      "parents": [
        "7f3d09b6e8018c3710dfde9f71c63d47a047beb1"
      ],
      "author": {
        "name": "Zachary Ware",
        "email": "zach@python.org",
        "time": "Wed Aug 26 21:50:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 21:50:41 2026"
      },
      "message": "gh-156369: Bump OpenSSL versions for iOS and Android (#156432)"
    },
    {
      "commit": "7f3d09b6e8018c3710dfde9f71c63d47a047beb1",
      "tree": "bea0f78d8f48384854fa5bee71bab07018996cf5",
      "parents": [
        "9036982ed73d17848d45b60b7550f097371214e4"
      ],
      "author": {
        "name": "Arcadiy Ivanov",
        "email": "arcadiy@ivanov.biz",
        "time": "Wed Aug 26 20:45:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 20:45:52 2026"
      },
      "message": "gh-156404: Restore the \u0027fullname\u0027 variable for .pth import lines (#156406)\n\nPEP 829 moved .pth handling from site.addpackage() into\nStartupState._exec_imports(), and the local holding the path of the\n.pth file being processed was renamed from \u0027fullname\u0027 to \u0027filename\u0027.\nImport lines in .pth files generated before Python 3.15 read that\nlocal, so they now fail with NameError on every interpreter startup.\n\nInject \u0027fullname\u0027 into the frame which executes pth code, next to the\n\u0027sitedir\u0027 shim added for gh-149671.\n\nReported downstream as https://github.com/karellen/wheel-axle/issues/38\n\nCo-authored-by: Barry Warsaw \u003cbarry@python.org\u003e"
    },
    {
      "commit": "9036982ed73d17848d45b60b7550f097371214e4",
      "tree": "7f5306034060b3526319b6f4d5832dbbd70a82bb",
      "parents": [
        "f54fd2ab6e1f3e3e81a88be3d94ff9d5867b3b3a"
      ],
      "author": {
        "name": "Dino Viehland",
        "email": "dinoviehland@meta.com",
        "time": "Wed Aug 26 14:29:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 14:29:09 2026"
      },
      "message": "gh-156395: Report frozen objects on free-threaded GC build (#156396)\n\nReport frozen objects on free-threaded GC build"
    },
    {
      "commit": "f54fd2ab6e1f3e3e81a88be3d94ff9d5867b3b3a",
      "tree": "4794cd20db407c87cf71b93ffb08762cbcccb439",
      "parents": [
        "7f0ccd6c0e3f85fbaeceb2f67b06ab3631db0480"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Wed Aug 26 11:38:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 11:38:22 2026"
      },
      "message": "gh-153569: Add tokenizer source and cursor primitives (#153587)"
    },
    {
      "commit": "7f0ccd6c0e3f85fbaeceb2f67b06ab3631db0480",
      "tree": "782e5c784c669769c7c04a56703630f6cccee789",
      "parents": [
        "e2118b0ac21191bfeecdc97758a87d88ffdda154"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Wed Aug 26 09:24:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 09:24:00 2026"
      },
      "message": "gh-154060: Preserve replay duration and rate (#154101)"
    },
    {
      "commit": "e2118b0ac21191bfeecdc97758a87d88ffdda154",
      "tree": "ba45efce4e89668c7642e51f51d7c217737fe7f8",
      "parents": [
        "7cc333439b6426a43cdbca690d9170c9db0d8669"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Tue Aug 25 23:48:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 23:48:54 2026"
      },
      "message": "gh-149985: Remove future annotations and if TYPE_CHECKING in pyrepl (#149992)\n\n`from __future__ import annotations` is soft-deprecated now that evaluation\nof annotations is always deferred. `if TYPE_CHECKING` can often be replaced\nwith lazy imports."
    },
    {
      "commit": "7cc333439b6426a43cdbca690d9170c9db0d8669",
      "tree": "3f796ec1ef82a5059daa87e0181ddaac7a75dd9f",
      "parents": [
        "369f04a1bcc26ddd05e2910d32d7008132b81a3c"
      ],
      "author": {
        "name": "Zachary Ware",
        "email": "zach@python.org",
        "time": "Tue Aug 25 23:44:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 23:44:48 2026"
      },
      "message": "gh-156369: Update OpenSSL error ID data (GH-156380)"
    },
    {
      "commit": "369f04a1bcc26ddd05e2910d32d7008132b81a3c",
      "tree": "a8ed15f3fa04d36dd41238f3dd536d175ce3ea3a",
      "parents": [
        "cf7e9108bdb18f52507909f2f9d659f951a4a1fe"
      ],
      "author": {
        "name": "Zachary Ware",
        "email": "zach@python.org",
        "time": "Tue Aug 25 22:51:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 22:51:59 2026"
      },
      "message": "gh-156369: Update CI to use latest SSL library versions (#156381)"
    },
    {
      "commit": "cf7e9108bdb18f52507909f2f9d659f951a4a1fe",
      "tree": "c1ababb1dadf78eb0d33acc4166e7616a3fd3651",
      "parents": [
        "b22d175c053b56fa534232715ff761a8cba9d636"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Tue Aug 25 22:33:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 22:33:18 2026"
      },
      "message": "gh-154089: Hide unavailable replay efficiency (#154092)"
    },
    {
      "commit": "b22d175c053b56fa534232715ff761a8cba9d636",
      "tree": "c7fdc3841c37958a279adcfe301d63574b862707",
      "parents": [
        "53381bcd742dc2a1b0ac8f6013aaac971d0cab24"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Tue Aug 25 22:32:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 22:32:34 2026"
      },
      "message": "gh-154088: Count elided stacks consistently (#154093)"
    },
    {
      "commit": "53381bcd742dc2a1b0ac8f6013aaac971d0cab24",
      "tree": "76e0bae1a638769e548ff2469231a1ca43b249c8",
      "parents": [
        "05eac890c2f2846870daf2a1bfe726547856abe3"
      ],
      "author": {
        "name": "Pablo Galindo Salgado",
        "email": "Pablogsal@gmail.com",
        "time": "Tue Aug 25 22:32:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 22:32:21 2026"
      },
      "message": "gh-154085: Avoid duplicating diff line values (#154099)"
    },
    {
      "commit": "05eac890c2f2846870daf2a1bfe726547856abe3",
      "tree": "764decfc9a9ce1327bb5ce4822a1e03f6d3ea368",
      "parents": [
        "98bd716479dacb1e618a4271df10b2b67c010c4c"
      ],
      "author": {
        "name": "Hood Chatham",
        "email": "roberthoodchatham@gmail.com",
        "time": "Tue Aug 25 21:50:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 21:50:13 2026"
      },
      "message": "gh-156243: Indicate that emscripten_runtime depends on stringToNewUTF8 (#156335)\n\nAdd an explicit declaration an Emscripten dependency on the stringToNewUTF8\nlibrary function."
    },
    {
      "commit": "98bd716479dacb1e618a4271df10b2b67c010c4c",
      "tree": "036384ae01a0de031207ae7d3e932193547119c6",
      "parents": [
        "13ab4c2861442f3c558abdb5971716261bf15964"
      ],
      "author": {
        "name": "Ned Batchelder",
        "email": "ned@nedbatchelder.com",
        "time": "Tue Aug 25 18:05:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 18:05:54 2026"
      },
      "message": "Docs(build): linklint is now called sphinx_linklint (#156373)\n\n* Docs(build): linklint is now called sphinx_linklint\n\n* Docs(build): move the lock command to the Makefile\n\n* Update Doc/Makefile\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e\n\n* Add a comment clarify cooldown (and excludes) and add to `make help`\n\n---------\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "13ab4c2861442f3c558abdb5971716261bf15964",
      "tree": "f839b7029dbe5a3f743740a5f029bd775d032cdd",
      "parents": [
        "5f31aeef60cd6397938e754e32530c25f59524ab"
      ],
      "author": {
        "name": "Omar Sandoval",
        "email": "osandov@osandov.com",
        "time": "Tue Aug 25 17:47:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 17:47:38 2026"
      },
      "message": "Fix various issues in the \u0027Timer File Descriptors\u0027 documentation (#156027)\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "5f31aeef60cd6397938e754e32530c25f59524ab",
      "tree": "3af08340bf5734aa9db0cf5541e3b925e2d5225a",
      "parents": [
        "2736620a593976d97876606d71d3e8fef7d1c0c7"
      ],
      "author": {
        "name": "Advit Arora",
        "email": "advitarora2@gmail.com",
        "time": "Tue Aug 25 15:33:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 15:33:29 2026"
      },
      "message": "gh-155193: Fix the *canonical* decoder lists in the 3.15 What\u0027s New and NEWS (#156302)"
    },
    {
      "commit": "2736620a593976d97876606d71d3e8fef7d1c0c7",
      "tree": "6279adf03efb30b5cfe89c87f6c437391264dee9",
      "parents": [
        "223ee6d5d744abb75de2289740dfff1b2cd9cc65"
      ],
      "author": {
        "name": "Stan Ulbrych",
        "email": "stan@python.org",
        "time": "Tue Aug 25 15:00:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 15:00:10 2026"
      },
      "message": "Notify Stan about Turtle related things (#156361)"
    },
    {
      "commit": "223ee6d5d744abb75de2289740dfff1b2cd9cc65",
      "tree": "0b8b83a38e20820aa86230adf0fe3c3196ca05f1",
      "parents": [
        "e81960fb82977df7ace77f3c03a3b2d9a0559075"
      ],
      "author": {
        "name": "Micah Lindstrom",
        "email": "59303202+ukanuk@users.noreply.github.com",
        "time": "Tue Aug 25 13:03:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 13:03:27 2026"
      },
      "message": "Documentation on handling a corrupt nuget.config when installing packages from Nuget (GH-154039)"
    },
    {
      "commit": "e81960fb82977df7ace77f3c03a3b2d9a0559075",
      "tree": "c14da65530a516b8b11747393453f6f98ac13fb2",
      "parents": [
        "a728080492e6cdcffebbfe11e520a1cf6e7aaee1"
      ],
      "author": {
        "name": "tonghuaroot (童话)",
        "email": "tonghuaroot@gmail.com",
        "time": "Tue Aug 25 12:20:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 12:20:55 2026"
      },
      "message": "gh-152204: Validate date and time fields in `_pydatetime.date{time}.fromisoformat` (#152205)\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e"
    },
    {
      "commit": "a728080492e6cdcffebbfe11e520a1cf6e7aaee1",
      "tree": "8141b586934b32573858881610d1a057cc91baf2",
      "parents": [
        "fe8ace30aeeb5991c59e2dcb65d8c32f0c262d26"
      ],
      "author": {
        "name": "Serhiy Storchaka",
        "email": "storchaka@gmail.com",
        "time": "Tue Aug 25 09:22:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 09:22:46 2026"
      },
      "message": "gh-156348: Fix the value of curses.ERR (GH-156349)\n\nSetting the module constants with an unsigned conversion, needed for the\nchtype constants that can set bits beyond a 32-bit long, turned ERR from -1\ninto 18446744073709551615.  Set ERR and OK with a signed conversion."
    },
    {
      "commit": "fe8ace30aeeb5991c59e2dcb65d8c32f0c262d26",
      "tree": "864b721acfb86ecdaae5d3f82494cef2b5e7f5bd",
      "parents": [
        "8e3271d3101540f8662745730a1a04635def502a"
      ],
      "author": {
        "name": "Vyron Vasileiadis",
        "email": "hi@fedonman.com",
        "time": "Tue Aug 25 08:30:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 08:30:58 2026"
      },
      "message": "gh-156207: Fix curses Textbox.gather() for double-width characters (GH-156208)\n\ngather() read the window cell by cell, so a double-width character, which\noccupies two cells, was returned twice.  Read the whole line with in_wstr(),\nwhich returns every character once."
    },
    {
      "commit": "8e3271d3101540f8662745730a1a04635def502a",
      "tree": "bce7e0e675cd78d29dabad2be0fdda287fa6474b",
      "parents": [
        "ee521e8ac19ad012ebc4e1b3e71b369988a9b9f8"
      ],
      "author": {
        "name": "Hood Chatham",
        "email": "roberthoodchatham@gmail.com",
        "time": "Tue Aug 25 05:42:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 05:42:12 2026"
      },
      "message": "gh-145177: Upgrade to Emscripten 6.0.8 (#156334)"
    },
    {
      "commit": "ee521e8ac19ad012ebc4e1b3e71b369988a9b9f8",
      "tree": "576fc4c165ef44f1b35886e73b21e7c38ce12979",
      "parents": [
        "c3f7c33dd7c6496d474979d5bd7f5dc22103dd22"
      ],
      "author": {
        "name": "Steve Dower",
        "email": "steve.dower@python.org",
        "time": "Mon Aug 24 19:19:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 24 19:19:30 2026"
      },
      "message": "gh-148750: Unfreeze encodings module to avoid import errors with zipped stdlib (GH-156183)\n\n(Reverts fixes applied as part of gh-145278)"
    }
  ],
  "next": "c3f7c33dd7c6496d474979d5bd7f5dc22103dd22"
}
