)]}'
{
  "log": [
    {
      "commit": "3b4402217a5fb20d64f179e8aa6620074abc6c73",
      "tree": "0ab833924f0b8c682a5ec53d7a00e97b80b0747a",
      "parents": [
        "1b915c31c5a4146683ccb7f594430089ac7a6f77"
      ],
      "author": {
        "name": "Gleb Popov",
        "email": "6yearold@gmail.com",
        "time": "Tue Jun 02 13:10:43 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue Jun 02 15:38:00 2026"
      },
      "message": "linuxliketests: Skip -fuse-ld tests for lcc\n"
    },
    {
      "commit": "1b915c31c5a4146683ccb7f594430089ac7a6f77",
      "tree": "a8c5b07c70c8742fe3f1d7ebe109f5f51cbf12da",
      "parents": [
        "94b3bbc87de1b0525a73f6d877a98dc58134087d"
      ],
      "author": {
        "name": "Gleb Popov",
        "email": "6yearold@gmail.com",
        "time": "Tue Jun 02 13:01:21 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue Jun 02 15:38:00 2026"
      },
      "message": "allplatformtests: Fix test_compiler_detection for the elbrus/lcc case\n"
    },
    {
      "commit": "94b3bbc87de1b0525a73f6d877a98dc58134087d",
      "tree": "dab60f4ab76ddc2a980354aaa8f44f3e1c1910d2",
      "parents": [
        "4e0d4c85816b032aa2cea3ea416fa96a1e6a5260"
      ],
      "author": {
        "name": "Gleb Popov",
        "email": "6yearold@gmail.com",
        "time": "Tue Jun 02 12:51:21 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue Jun 02 15:38:00 2026"
      },
      "message": "ElbrusCompiler: mark as not supporting -fuse-ld\n"
    },
    {
      "commit": "4e0d4c85816b032aa2cea3ea416fa96a1e6a5260",
      "tree": "e3a624f23e6926fc2c6b2af9d94bb9eb3af7a8a9",
      "parents": [
        "173d7605f266c5e8019dafea1159b4700ef56e5c"
      ],
      "author": {
        "name": "Mayank Basena",
        "email": "0mayankbasena@gmail.com",
        "time": "Tue Jun 02 04:13:50 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Tue Jun 02 13:15:43 2026"
      },
      "message": "fix: handle empty stdout in sizeof test instead of crashing with ValueError\n\nWhen sanitizer flags (e.g., -fsanitize\u003daddress) cause the test binary\nto produce empty stdout, int(res.stdout) raises a bare ValueError that\ncrashes meson setup. Now catches the ValueError and raises a proper\nEnvironmentException with a helpful error message.\n\nFixes mesonbuild/meson#14452\n"
    },
    {
      "commit": "173d7605f266c5e8019dafea1159b4700ef56e5c",
      "tree": "fc59a4446b1209051a83e856c2d1afa95a567f7b",
      "parents": [
        "85ee7af13dbdbb0271b0d575d26881417d39f775"
      ],
      "author": {
        "name": "L. E. Segovia",
        "email": "amy@centricular.com",
        "time": "Mon Jun 01 16:37:55 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 17:51:12 2026"
      },
      "message": "nasm: use the correct flag for response file support\n\nUnlike GCC-style compilers, response files for Nasm must be passed with\nthe \u0027-@foo.rsp\u0027 flag.\n\nThis fixes building MPV on Windows with sufficiently long include paths,\nwhich are necessary to trigger response file usage.\n\nSee https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/work_items/75\n"
    },
    {
      "commit": "85ee7af13dbdbb0271b0d575d26881417d39f775",
      "tree": "ad6ff2d048251a450cd87a01234bf1ac20e84ac2",
      "parents": [
        "ab962d0391a0d9ce608c7e6d8bfb9b57c813fff9"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat May 30 10:01:45 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: fix variance and subclassing issues\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "ab962d0391a0d9ce608c7e6d8bfb9b57c813fff9",
      "tree": "9059dc8c1f687f8d22a13970b7807782630fc9fa",
      "parents": [
        "8ccc5c237b0e57d90e878dd2f1369e22c2a9a564"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat May 30 10:01:15 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: add missing annotations\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "8ccc5c237b0e57d90e878dd2f1369e22c2a9a564",
      "tree": "96a1e7ea3a2806ea9040f3b4a8d30e83d96bf409",
      "parents": [
        "8021f0d76a06f8b76df726c8a649b153c285acdf"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat May 30 10:00:37 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: fix Path/PurePath confusion\n"
    },
    {
      "commit": "8021f0d76a06f8b76df726c8a649b153c285acdf",
      "tree": "3da5632260b1956e8a257bd8796a7fccd3531e36",
      "parents": [
        "2050a197727d6acc1f74cf8a592e5865032fefe6"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 19:37:28 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Fix annotations for add_non_makefile_vcxproj_elements\n"
    },
    {
      "commit": "2050a197727d6acc1f74cf8a592e5865032fefe6",
      "tree": "2e6c7b84922336e837f9cdc5b13b8bb26db1ed78",
      "parents": [
        "6aca286a5bec055c04151de15b23f2d481098d00"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 18:35:34 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: fix target annotation\n"
    },
    {
      "commit": "6aca286a5bec055c04151de15b23f2d481098d00",
      "tree": "6ca85a9c1ec9f98f95ce9538cf51d2ac97b32a94",
      "parents": [
        "fe328164841124f5985d7e469f576970eba5e558"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 18:34:11 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "build: Use more Language\n"
    },
    {
      "commit": "fe328164841124f5985d7e469f576970eba5e558",
      "tree": "208824e7d0651897412e2c7a1f332b8534018ef1",
      "parents": [
        "9b68f4da3f6877d4a9d65566f274b72a9c32243d"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 18:24:25 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Fix annotations for add_*_(args|options)\n\nThe annotations are all the same here (or very close)\n"
    },
    {
      "commit": "9b68f4da3f6877d4a9d65566f274b72a9c32243d",
      "tree": "134627ddc38ebe0d0d274eca6eb39cebac108bbd",
      "parents": [
        "a9143761b1ed6500593fe77cf6672487c6e096c0"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 18:21:26 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: fix uses of str -\u003e Language\n"
    },
    {
      "commit": "a9143761b1ed6500593fe77cf6672487c6e096c0",
      "tree": "fbf02f875fe8a7c18848d6e15c857ef3eb51bce2",
      "parents": [
        "6169918fb49c5a68aaefe025eb54bf31ddf0a478"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 18:18:37 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Fix typing of PCH handling\n"
    },
    {
      "commit": "6169918fb49c5a68aaefe025eb54bf31ddf0a478",
      "tree": "6afdf786645991245db59ab06d6ff8842131455a",
      "parents": [
        "cdb1920714eb37dfe331c9aa3f299600d58ac194"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 16:43:09 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: fix annotations to get_build_args\n\nThey were still expecting a str for sanitize instead of a list[str]\n"
    },
    {
      "commit": "cdb1920714eb37dfe331c9aa3f299600d58ac194",
      "tree": "60b03e91e4549636729fa6094e4811e8ffffc850",
      "parents": [
        "5c1fb341a2eac7260ddcb57c1d3401460452f93e"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 16:39:52 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Add assertions to help mypy with option values\n"
    },
    {
      "commit": "5c1fb341a2eac7260ddcb57c1d3401460452f93e",
      "tree": "c00a876e5b4880929f02ff70bdaacba52a69797c",
      "parents": [
        "874dfa368f9df160b7d48c5654acbea4dad2d522"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 16:36:54 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Add annotations to generate_custom_generator_commands\n"
    },
    {
      "commit": "874dfa368f9df160b7d48c5654acbea4dad2d522",
      "tree": "bd360a19de0d86c20e2607d620dfbc9b421f241e",
      "parents": [
        "20fb48a32684f0d306be446b592687107485fe7f"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 16:36:24 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Annotate split_sources\n\nWhich uses a bound generic to accept list[str] | list[File] | list[File\n| str]\n"
    },
    {
      "commit": "20fb48a32684f0d306be446b592687107485fe7f",
      "tree": "b0a81ff8f8e93d7ea808c99236f125a2ce93363c",
      "parents": [
        "12b96bfd9e970bf6d39009f0f32632a98f3ad47c"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 28 16:30:22 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backend/vs2010: Add typing information to gen_vcxproj_filters\n"
    },
    {
      "commit": "12b96bfd9e970bf6d39009f0f32632a98f3ad47c",
      "tree": "6fa96b8bc44f39eede518d37988624d26ea883f1",
      "parents": [
        "900d012940b4f753e7bcb72c3dbf2da55bc5f3ae"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat May 30 09:42:20 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backends: remove dead isinstance check\n\ndepend_files is always a List[File].\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "900d012940b4f753e7bcb72c3dbf2da55bc5f3ae",
      "tree": "31edd4d370cfaec95a79caa56ab17025345fe600",
      "parents": [
        "261971657df76e5171ed1e518c9afcf964673bac"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat May 30 09:34:49 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backends: use get_paths_for_dep_outputs() more\n\nReplace copied-and-pasted loops with the function that generalizes them.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "261971657df76e5171ed1e518c9afcf964673bac",
      "tree": "6803998bd6c100c796726939575dfcd2d874e2c9",
      "parents": [
        "0d7c892b12e89af8dbee3f96134fb218ed6f6f05"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat May 30 09:33:59 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Mon Jun 01 16:14:20 2026"
      },
      "message": "backends: move and rename unwrap_dep_list\n\nPrepare for using it in the VS2010 backend.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "0d7c892b12e89af8dbee3f96134fb218ed6f6f05",
      "tree": "2368449a46a38106daaeb8979814f751ad62a1d7",
      "parents": [
        "af825c2e2632cf5a10ba4a586abc794f0aa0b24c"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 20:08:34 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "run_mypy: The whole interpreter is type safe!\n"
    },
    {
      "commit": "af825c2e2632cf5a10ba4a586abc794f0aa0b24c",
      "tree": "0463bc38d1dd8370a182e375e2964b48b86b4745",
      "parents": [
        "55b2a3aa2eff336b4b2fc50566bd6b15c4c5d6b9"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 20:07:10 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix remaining issues with source_strings_to_files\n\nThis is not elegant at all, in fact it\u0027s ugly as sin. However, since I\ncannot convince mypy 1.9 to understand an approach with generics, this\nis the only real option we have. Lots\u0027 of type ignores, lots of\nduplicate code. But it works.\n"
    },
    {
      "commit": "55b2a3aa2eff336b4b2fc50566bd6b15c4c5d6b9",
      "tree": "9b39d8d09bd58943c6772a0bc7201a32b95dc6b5",
      "parents": [
        "fa67f8026dbc05d8ded11c14a882ae70601576fa"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 19:14:00 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "utils/universal: fix typing of check_direntry_issues\n\nWe currently pass item other than iterables of str | bytes, which is\nwhat we expect. Accept any object, and then only go down the warn path\nif we have str | bytes input.\n\nFixes typing in the interpreter\n"
    },
    {
      "commit": "fa67f8026dbc05d8ded11c14a882ae70601576fa",
      "tree": "8bbbc117915b155b3ff3b606d0f011492c2c822a",
      "parents": [
        "c76afe2bbd9c0c090c66330d5727dc14f85c76ad"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 19:07:09 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix mypy errors in make_test\n\nThe first one (needing to cast the .get()) makes no sense, it seems like\na mypy bug. Probably fixed in newer mypy.\n\nAlso, `Test` needs to accept Jar as an executable.\n"
    },
    {
      "commit": "c76afe2bbd9c0c090c66330d5727dc14f85c76ad",
      "tree": "17e5782e18aeadd077dcb98083536cc31161bbdd",
      "parents": [
        "97bef5ca61e6e4ca0b7be3781dce05c5cfc90afc"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 19:03:52 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix typing of func_environment\n\nIt needed it\u0027s own kwargs annotations, and then we need to do some\ncasting after using the validator.\n"
    },
    {
      "commit": "97bef5ca61e6e4ca0b7be3781dce05c5cfc90afc",
      "tree": "d943828a02b05d9731eae6da546089307b0ed2eb",
      "parents": [
        "64cbf1a5fa6d23e450c7db68938477fe380f9a75"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:52:10 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix issues with run_command_impl\n\nThere\u0027s an incorrect annotation, and some re-assignment changing type to\nfix here.\n"
    },
    {
      "commit": "64cbf1a5fa6d23e450c7db68938477fe380f9a75",
      "tree": "e8fa0343f9a88be032f9f8c3c82d9cb6cef16353",
      "parents": [
        "4fbdadc82c8921b6a94cc8d64791167f3d81065f"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:43:23 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "utils/universal: make substitute values generic\n\nTo avoid the issue where we\u0027d have a thousand different signatures for\nthis, we can just make it generic a do a tiny bit of casting internally\nto help mypy when it can\u0027t figure out that _T must contain str.\n"
    },
    {
      "commit": "4fbdadc82c8921b6a94cc8d64791167f3d81065f",
      "tree": "0a02818780096faa695322835a377621a0f0f497",
      "parents": [
        "1d8459ab4ae00fbbcfa380e22b6aae70c0c6d8ae"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:41:19 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "utils/universal: make functions that are generic but don\u0027t return take object\n\nBoth of these functions can take a lot of different types, but they\ndon\u0027t return a generic type (one returns `str | None`, one only raises).\nThis fixes a bunch of type issues in the interpreter\n"
    },
    {
      "commit": "1d8459ab4ae00fbbcfa380e22b6aae70c0c6d8ae",
      "tree": "698a554d1a108ad0bbd70abb74db5c65658d63d4",
      "parents": [
        "7fb6a42c7ea5f9f70538461eed00d446537d57f5"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:23:46 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix typing issues in get and set variable functions\n"
    },
    {
      "commit": "7fb6a42c7ea5f9f70538461eed00d446537d57f5",
      "tree": "92103758a0202a7b75ae8d7043ba50f737749e4b",
      "parents": [
        "cae5f33c7c2780a812e34c8dc54a37447f6681e4"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:19:52 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix return type of func_install_data\n"
    },
    {
      "commit": "cae5f33c7c2780a812e34c8dc54a37447f6681e4",
      "tree": "8282b429ea4f5295f4c62be6c52bbaf5e7871d49",
      "parents": [
        "6aa0fba171a4400f2948e1567a333462bc3a16bd"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:17:20 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: fix and ignore typeddict literal-required error\n\nUsing a tuple should be sufficient here, as mypy (and pyright) infer\nkeys from tuples. However, mypy still doesn\u0027t understand so we\u0027ll add a\ntype[ignore] comment. When we reach a mypy that understands it will\nstart warning about this.\n"
    },
    {
      "commit": "6aa0fba171a4400f2948e1567a333462bc3a16bd",
      "tree": "e2f564feb24e5152d87f68674c17d60a1452da34",
      "parents": [
        "505fdd384c9127f5569f63cfc50b8c6b5890de04"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:14:48 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: Explicitly set type form make_test\n\nThis is required because mypy struggles with the `TypeVar`. Pyright\nunderstands this. Likely newer versions of mypy do as well\n"
    },
    {
      "commit": "505fdd384c9127f5569f63cfc50b8c6b5890de04",
      "tree": "9b6e89042e3f451e9f214b5e1196fdb8a00041d1",
      "parents": [
        "ee9d868ebd12f98b0f945494436626fc1046348f"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 18:13:18 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter/kwargs: Use a Mixin for vs_module_defs\n\nNot only does this reduce duplication, but it makes Library have the\ncorrect shape for SharedLibrary and SharedModule, which fixes some mypy\nerrors in interpreter.py\n"
    },
    {
      "commit": "ee9d868ebd12f98b0f945494436626fc1046348f",
      "tree": "0fd9e5eb2b2e06865f5ac88ca531d7efb6284f8b",
      "parents": [
        "6647ddb8a7ad86a27f062a61f7b182aabda549d6"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:57:05 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: ignore mypy error that is wrong\n\nThis is correct, we require that `klass` is of type[T], where T must be\nTest or any subclass thereof. Mypy doesn\u0027t think that assigning `Test`\nto `type[T]` is valid in this case, but it absolutely is. pyright\naccepts this as fine.\n"
    },
    {
      "commit": "6647ddb8a7ad86a27f062a61f7b182aabda549d6",
      "tree": "65e7c9f814c1f649139eb2ca21dcb189a1f63eb6",
      "parents": [
        "4f530d869b3d90e83736b45a9b0951bc26be457f"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:43:04 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: Fix issues with find_program*\n\nThere\u0027s a few related typing issues here, mostly with handling File when\nwe expect a string.\n"
    },
    {
      "commit": "4f530d869b3d90e83736b45a9b0951bc26be457f",
      "tree": "76fd3acbbb858d1edb1871ff33d1a09e75c6fefb",
      "parents": [
        "6db82db9fcb1ca15f6efaef6f88a9a7998cc292f"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:36:09 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 21:07:57 2026"
      },
      "message": "interpreter: Pass value as a list in process_new_values\n"
    },
    {
      "commit": "6db82db9fcb1ca15f6efaef6f88a9a7998cc292f",
      "tree": "8eaf9f8335c44aca560e64c507f56761d017a091",
      "parents": [
        "47dabb99fe540c90fa390078c49e26a75563d537"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 12:42:36 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend is fully typed\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "47dabb99fe540c90fa390078c49e26a75563d537",
      "tree": "3dfb0790b5e00a6f8e68f0126aedde31e239a2be",
      "parents": [
        "55ba56b54f31947a2361f863c8da7722d973e481"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 12:42:15 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: explicitly use repr when including byte string in string\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "55ba56b54f31947a2361f863c8da7722d973e481",
      "tree": "c0b4694baad0037e9d5ba2f6d4a1d83af7f0e891",
      "parents": [
        "e1a99b105152db0f03fb47a7b19cedb91d8e3abb"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 12:41:21 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "backends: add more complete typing of introspection data\n\nIn particular, include the linker case.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "e1a99b105152db0f03fb47a7b19cedb91d8e3abb",
      "tree": "ccf149585fe0e4e6611524eba3643a7aefec5605",
      "parents": [
        "57d74ea542efb56d4aa8faa2aa83b3a747e9b857"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 12:05:13 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "build: define interface superclass for targets that have get()\n\nThis allows asserting in ninjabackend.py that it exists.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "57d74ea542efb56d4aa8faa2aa83b3a747e9b857",
      "tree": "f612ef9dd0b255f0db481c0fe97ac3dc0b788734",
      "parents": [
        "8e705ad9fb5811fa824934fbbfa1896b63551a1f"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:53:28 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: use consistent types for generated sources dict\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "8e705ad9fb5811fa824934fbbfa1896b63551a1f",
      "tree": "773306efd806f184649f5597cb82be79a1e839d4",
      "parents": [
        "dc7af94da0ffbf108ab3bd45e56c1c368a38d7c1"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:42:09 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: fix cython + generators\n\nExtract the earlier choice of directory into its own variable, and\nreuse it when creating the File.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "dc7af94da0ffbf108ab3bd45e56c1c368a38d7c1",
      "tree": "da25dcaefd6f121c21a0a1ab8936ddcedc6a091e",
      "parents": [
        "f01539f628cfe9a9f244076dae2693deac0127ff"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:58:01 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: extend and reuse unwrap_dep_list\n\nFixes Program handling in generate_genlist_for_target().\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "f01539f628cfe9a9f244076dae2693deac0127ff",
      "tree": "0d2a6322ee2338a2fd1030aaa0487f19ad1f77d4",
      "parents": [
        "b5f6dbd7f0b10d559dc250c5638c945980f931ba"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 13:47:56 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: handle GeneratedList in unwrap_dep_list\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "b5f6dbd7f0b10d559dc250c5638c945980f931ba",
      "tree": "1a98d4407d723a6d0a5fe19369f7c5e139dabd83",
      "parents": [
        "08e39401c06e9f6ef8c587c51e9d13555c73f4eb"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:26:40 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: handle Program in unwrap_dep_list\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "08e39401c06e9f6ef8c587c51e9d13555c73f4eb",
      "tree": "e326359a364c9013fd8d2fe729e00172a4cf8f57",
      "parents": [
        "929c583d806ba7cda2a1fbf62a4eed4014518c99"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:39:01 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: handle CustomTargetIndex as dependency\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "929c583d806ba7cda2a1fbf62a4eed4014518c99",
      "tree": "c29b8cd185837e813d4d75aaad934c799f6b288c",
      "parents": [
        "4cb8f4079fa5ac7a31e051e0eb826cf9351a9236"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:34:05 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "build: replace union of all Targets with superclass\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "4cb8f4079fa5ac7a31e051e0eb826cf9351a9236",
      "tree": "aa191bc6d72aabb50c96eac1e720ae2bf372c3c0",
      "parents": [
        "5e8699bed4bac2731409e07c6a7622b02de4dd6b"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:28:17 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "ninjabackend: remove dead isinstance check\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "5e8699bed4bac2731409e07c6a7622b02de4dd6b",
      "tree": "a98085cc3133e9002ea1c2e3333f74b8625a6ad7",
      "parents": [
        "f516566a55797a7ed2b56ac50f02a4010852a2a2"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu May 28 11:23:42 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 16:31:40 2026"
      },
      "message": "build: remove dead isinstance check\n\nself.name must be a str, it is checked by mypy now.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "f516566a55797a7ed2b56ac50f02a4010852a2a2",
      "tree": "de281cec4773c5fbc4cd774d8641c8de44fa9f4d",
      "parents": [
        "855dd901d22f82bf9c039363ed4e8c983b501db7"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 08:04:05 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: implement prerelease filtering\n\nThis worked by chance at the edges (\u0027\u003c2.0\u0027 did not match \u0027\u003c2.0-pre\u0027)\njust because RPM sorting order placed \u00272.0-pre\u0027 *after* \u00272.0\u0027.  With\nSemVer it has to be implemented fully.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "855dd901d22f82bf9c039363ed4e8c983b501db7",
      "tree": "052c28932a1ff4a77534cd773c2903017bd81382",
      "parents": [
        "9fb5c6b4664b82fef57f9447ee0c005d95187efb"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 07:33:34 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: change version comparisons to use semver\n\nFixes: #15636\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "9fb5c6b4664b82fef57f9447ee0c005d95187efb",
      "tree": "db4709e27cd65023a4bc6909fb08ec5fb152885f",
      "parents": [
        "83e038303fe2c3ac778d36526a3919fc6e94a366"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 08:11:09 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: add a SemVer class\n\nSemantic versions are quite different from RPM versions implemented in\nMeson\u0027s Version class.  Just implement them with a completely\ndifferent class.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "83e038303fe2c3ac778d36526a3919fc6e94a366",
      "tree": "ea441f121ea64d5a5704f559f0da43a86d94e8ec",
      "parents": [
        "7476c79c3ea1a579a48c106e62bf6779261f1dec"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 14:50:47 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: \"compile\" version checks to a callable\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "7476c79c3ea1a579a48c106e62bf6779261f1dec",
      "tree": "3f633a65e045f4a2efe5467e15397925e0e50e41",
      "parents": [
        "4a63956e2018d0cc1da7412f21ffde604d2a85b9"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 15:56:06 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: generalize version.api\n\nNow that \"split\" does more of the parsing, move the conversion of\ndependency requirements to API numbers out of the Dependency\nclass.\n\nWhile at it, add comments.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "4a63956e2018d0cc1da7412f21ffde604d2a85b9",
      "tree": "d4ebf6f3f59acf870c896a9ee6880491f0b08dc4",
      "parents": [
        "61f62eb747b13f304d0b5941f3c0f17c37997e65"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 09:14:53 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: add a \"tokenizer\" for version requirement strings\n\nEliminate duplicate code for x.y.* and ~x.y, and generally\nspeaking simplify version.convert(), by canonicalizing each\nof the requirements.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "61f62eb747b13f304d0b5941f3c0f17c37997e65",
      "tree": "1336c05166b2bc0432e43925921539478a66dceb",
      "parents": [
        "4310a4f2944377a1d136c8857c2aaac2647556c7"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 13:43:31 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: simplify _resolve_package\n\nRaising the exception is unnecessary in all cases:\n\n- resolve_package called from _create_feature_check: Meson emits a\n  runtime dependency() call, which will cause an error if needed\n\n- subproject_method (mesonbuild/modules/rust.py): already raises an\n  exception on None, with a better message than the current one\n\n- _dep_package (interpreter.py:592-595): leaves dep.version unset,\n  and _fetch_package calls _fetch_package_from_provider which raises\n  a better diagnostic (\"not found in any wrap files\") if needed.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "4310a4f2944377a1d136c8857c2aaac2647556c7",
      "tree": "3860175dd960d59811489e3d603391df532f1198",
      "parents": [
        "8a360f9fe0564c2cfe88ea01665e7d1fa3af8179"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 07:51:20 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "cargo: remove feature check\n\nThe set of required features may be different for host and build\nversions of the same crate.  Since there is no way to find whether\na subproject is being invoked as a native one, remove the code.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "8a360f9fe0564c2cfe88ea01665e7d1fa3af8179",
      "tree": "d25f635dfb9d7fbf60e64f659e356be1dd4ff3df",
      "parents": [
        "ec51939c929498df947e1c9485e40949cd287300"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 08:41:11 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "unittests: do not assume cargo versions are parsed into meson versions\n\nCheck the acceptance directly against a set of versions, instead\nof checking the result of the conversion.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "ec51939c929498df947e1c9485e40949cd287300",
      "tree": "7e3fc148bf7bb267a81a53dfdd15789b0304c933",
      "parents": [
        "7bc4b718f75ffa7f7048eca7d4cf2465ae334dc7"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 15:46:38 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "unittests: add some currently-failing tests\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "7bc4b718f75ffa7f7048eca7d4cf2465ae334dc7",
      "tree": "d052e0d8bd520a048ff0a56bcc7a098a3f3dae85",
      "parents": [
        "1af53710cbb25acdef9ad0e333a0c1909b1c33d0"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 15:40:44 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "unittests: add test for updating version of a cargo package\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "1af53710cbb25acdef9ad0e333a0c1909b1c33d0",
      "tree": "8ffee32fc4e047978d7a4ad7d37c5557a20a9a0b",
      "parents": [
        "b916f7bd4452d9419cfe44dea9d473f42b6dd873"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 24 14:50:20 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Thu May 28 09:53:47 2026"
      },
      "message": "unittests: add test for cargo.version.api\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "b916f7bd4452d9419cfe44dea9d473f42b6dd873",
      "tree": "918042bacad53e5450a0f598a8fb209afc411cf1",
      "parents": [
        "cf2c9d13c4dd1ef5a91ca4cd651cfe4451b57710"
      ],
      "author": {
        "name": "Zephyr Lykos",
        "email": "git@mochaa.ws",
        "time": "Tue Dec 09 14:23:08 2025"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 21:20:21 2026"
      },
      "message": "dependencies: support custom stdatomic lookup for MSVC\n\nCloses: https://github.com/mesonbuild/meson/issues/14233\nFixes: f070670e77fe36ece1a89ce00c13419de354b9ce\n"
    },
    {
      "commit": "cf2c9d13c4dd1ef5a91ca4cd651cfe4451b57710",
      "tree": "19356c6c24cfb47da90046557bb7035bf536013a",
      "parents": [
        "27b2264527da7968012c821067e818f3c4674463"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Wed May 27 15:27:11 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Wed May 27 18:02:27 2026"
      },
      "message": "mformat: allow --recursive --check-diff\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "27b2264527da7968012c821067e818f3c4674463",
      "tree": "63ec68052cdff74eca9125ae7995ca4e0e7e9ffa",
      "parents": [
        "581a8dcdf0ff454ccb0fbce2cc32abdd07d7bdb5"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 16:35:31 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:33:41 2026"
      },
      "message": "tests: set read encoding to help the VS backend\n\nNot setting this seems to cause intermittent test failures in the VS\nbackend.\n\nThe following VSCode substitutions where used to generate this patch\n- `open\\((.*), \u0027r\u0027\\)` -\u003e `open($1, \u0027r\u0027, encoding\u003d\u0027utf-8\u0027)`\n- `read_text()` -\u003e `read_text(encoding\u003d\u0027utf-8\u0027)`\n"
    },
    {
      "commit": "581a8dcdf0ff454ccb0fbce2cc32abdd07d7bdb5",
      "tree": "a926ad0abfd48d0b9dfb6f96d63fe89ad07857e4",
      "parents": [
        "4fb70e0b8c1bc63a290890740a492adc84f962e0"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 18:40:51 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: __process_language_args accepts Jar kwargs as well\n"
    },
    {
      "commit": "4fb70e0b8c1bc63a290890740a492adc84f962e0",
      "tree": "8e8a2910abd9f193b4f1e5b6843fae4293da21ff",
      "parents": [
        "215ca701f982d1df380e7d12a2b39499c022d733"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 18:39:45 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter/kwargs: Update _BaseBuildTarget.link_with\n\nThe build layer was updated to LInkableTargetTypes, but this wasn\u0027t\n"
    },
    {
      "commit": "215ca701f982d1df380e7d12a2b39499c022d733",
      "tree": "3d7815a1489f29a69fb70e3ad56aae1b34a2609a",
      "parents": [
        "78b5c6887f56922b5a505a7c34af511356e851a0"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 18:30:45 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: ensure that positional arguments have literal values\n"
    },
    {
      "commit": "78b5c6887f56922b5a505a7c34af511356e851a0",
      "tree": "68bed8ad87fb8e453a3d3f9ea3e5a4fe7197fc18",
      "parents": [
        "b4d3bee6fecdb614b5717633d5b2a9931d2206a2"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 18:14:19 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: Fix annotation of add_target\n\nWhich in turn points out that we have several levels of incorrect target\nannotations below that.\n"
    },
    {
      "commit": "b4d3bee6fecdb614b5717633d5b2a9931d2206a2",
      "tree": "ab8b84c59f742f9c8d3c56cd85cb56fb255a0bb1",
      "parents": [
        "4542902608bc0bc11a09e479c8e0348f22d3211c"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 18:04:13 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: Fix more ExternalProgram -\u003e Program issues\n"
    },
    {
      "commit": "4542902608bc0bc11a09e479c8e0348f22d3211c",
      "tree": "f233632a7f3c32959ec1476eb2389e22f6e62937",
      "parents": [
        "6928387346aa81e1a8ec2e2d820c530c29b5b08a"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 17:23:12 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "build: Fix AliasTarget dependency type\n\nAn alias can depend on any Target, not just built targets\n"
    },
    {
      "commit": "6928387346aa81e1a8ec2e2d820c530c29b5b08a",
      "tree": "35eefb70ebeec4afc5e17a1bb6209cf1bc0b98aa",
      "parents": [
        "b2cc152724bd25069b8a6d2267ae9a05b03ba879"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 17:20:25 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter/kwargs: fix RunTarget.command annotations\n"
    },
    {
      "commit": "b2cc152724bd25069b8a6d2267ae9a05b03ba879",
      "tree": "f41f2fd0f410b403ee6868e640307e933d02f2aa",
      "parents": [
        "bf8d012639fef1d963d60776739ad63ea4bf4c9a"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 17:19:11 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix type assignment of func_structured_sources\n"
    },
    {
      "commit": "bf8d012639fef1d963d60776739ad63ea4bf4c9a",
      "tree": "a9d588e93bbd1d4f3b52ceb0a71eeb782a2c64a7",
      "parents": [
        "f0e1bec44fe23800daaa3f56ed90e471878f34a9"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 17:15:42 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix typing issues in func_build_target\n\nBy adding Executable arguments to to the BuildTarget TypedDict, we can\nget the executable one working. Unfortunately, we can\u0027t fix Jar because\nJar isn\u0027t really a BuildTarget, and using this path is deprecated anyway\nbecause of that.\n"
    },
    {
      "commit": "f0e1bec44fe23800daaa3f56ed90e471878f34a9",
      "tree": "5f83fc97166cbb3b70c484ed23c43b8e3ec6ef86",
      "parents": [
        "8cab0d686326a132d8683a49b06951c83caf2f16"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 17:14:20 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter/kwargs: fix command annotations for VcsTag\n"
    },
    {
      "commit": "8cab0d686326a132d8683a49b06951c83caf2f16",
      "tree": "c30b0795af386829648db81da475f928f9a7f930",
      "parents": [
        "c5634dc34e927d2ef883c488af233203871e4fbb"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 17:12:22 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix annotations of some of the build_target dispatch functions\n"
    },
    {
      "commit": "c5634dc34e927d2ef883c488af233203871e4fbb",
      "tree": "0a9e2924038da03c035a514e8d9936a76c5aea3b",
      "parents": [
        "78226ebbdd1283f1cbcce893bd48a03b9bf2c5e8"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:55:09 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix return type of func_configure_file\n\nFile is not in build, it\u0027s in mesonlib\n"
    },
    {
      "commit": "78226ebbdd1283f1cbcce893bd48a03b9bf2c5e8",
      "tree": "6af9644d932357c97934fcbe26799c5dac612ccb",
      "parents": [
        "e2c9d8cf334957deea56dea70b05783c57502857"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:54:09 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix all type issues with func_expect_error\n"
    },
    {
      "commit": "e2c9d8cf334957deea56dea70b05783c57502857",
      "tree": "8cc80b813d0a012c00c0af1c348563e6fc6d0e0e",
      "parents": [
        "a82c56c167eb9a5f7954312c3313a7d5cc2126f5"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:47:50 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix _stingifiy_user_arguments type\n\nIt was convenient to return TV_LoggableList, but it\u0027s not correct. We\njust have to have more unions to avoid the Sequence[str] problem.\n"
    },
    {
      "commit": "a82c56c167eb9a5f7954312c3313a7d5cc2126f5",
      "tree": "7f1fdab4e9a29f800eea227b4ae146c46a245432",
      "parents": [
        "485221e537de081358aebca5e57c51a373e0bb20"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:44:37 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: fix typing issues with func_summary and helpers\n"
    },
    {
      "commit": "485221e537de081358aebca5e57c51a373e0bb20",
      "tree": "92b9a1d578424813e6af82b1644dc00560ce58af",
      "parents": [
        "cf984a085f49a256e204276504a166445a7f1e19"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:36:58 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: convert \u0027native\u0027 for add_langauges in typed_kwargs\n\nThis eliminates an untyped helper method\n"
    },
    {
      "commit": "cf984a085f49a256e204276504a166445a7f1e19",
      "tree": "ab81187b24a12ea1cc107b51b99072f75746440c",
      "parents": [
        "a8bc7427e052144442e9c737da3b57621fbcbe63"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:32:53 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "options: Fix annotations of options from command lines\n\nUsing generics helps us to deal with the fact that you can get two\ndifferent types.\n"
    },
    {
      "commit": "a8bc7427e052144442e9c737da3b57621fbcbe63",
      "tree": "a25a2e781da0f167dadce676f85833cb7b9b0ae9",
      "parents": [
        "54653c92fcff4e961667ba8c8326cc0bdb6b949b"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:18:57 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter/kwargs: Fix type annotations for project.default_options\n"
    },
    {
      "commit": "54653c92fcff4e961667ba8c8326cc0bdb6b949b",
      "tree": "bcfe3a97d47be81d7f425a95b097b13942e3ef1e",
      "parents": [
        "327a137bbb7378411c23ab7f35babd9574827f47"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:11:02 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: add more asserts for option values\n"
    },
    {
      "commit": "327a137bbb7378411c23ab7f35babd9574827f47",
      "tree": "452d9bcbf39cb741c35d3fec5f1da820465ee8dc",
      "parents": [
        "74ce1f5adb6919dd9562f8e43f7b6557c14b2f7b"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:07:58 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreterbase: Fix signature of handle_meson_version_from_ast\n\nIt has an unused strict parameter that the Interpreter doesn\u0027t\n"
    },
    {
      "commit": "74ce1f5adb6919dd9562f8e43f7b6557c14b2f7b",
      "tree": "457f852f52afd6268af8878c4e3777239a26ad12",
      "parents": [
        "7851563c0b6a1351d999e873618e0bd8e366fe53"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 16:06:30 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: don\u0027t use hasattr for windows only path\n\nExplicitly check for windows make the type checker able to understand\nthis code better.\n"
    },
    {
      "commit": "7851563c0b6a1351d999e873618e0bd8e366fe53",
      "tree": "465c4f8baa44c177f1f210410799e5781c69bd01",
      "parents": [
        "c1c980397893619c6a93162ba650d3e4602576f4"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 21 18:37:56 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: remove source_strings_to_files strict argument\n\nIt turns out that the only thing that was actually happening when the\nstrict argument was set to true was that a warning wasn\u0027t being emitted,\nbut was still added to the sources list. This can be seen by removing\nthe relaxation introduced in this patch and running the \"14\nconfigure_file\" test, which will error when the output of a configure\nfile is passed by string name instead of File reference.\n\nI\u0027ve made the decision to not play wack-a-mole with this, and just\nremove strict. Every file in the build directory will now raise a\nwarning about using string names. This way, when we get to Meson 2.0, we\ncan just delete the code that allows this completely and wack all the\nmoles at the same time.\n"
    },
    {
      "commit": "c1c980397893619c6a93162ba650d3e4602576f4",
      "tree": "4177b37e474d9250d7237b16e54317e6904fe236",
      "parents": [
        "8fb36fb1fc976af39e94b8e7469f7bfc0f8e8678"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Thu May 21 17:52:40 2026"
      },
      "committer": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Wed May 27 17:32:05 2026"
      },
      "message": "interpreter: Use a specific sublcass of InterpreterException for Sandbox violations\n\nThis will be used to catch them later, as well as simpifying raising\nthem\n"
    },
    {
      "commit": "8fb36fb1fc976af39e94b8e7469f7bfc0f8e8678",
      "tree": "6e021d2c45c86a7c430aa9c5eb5b6e14f74ea044",
      "parents": [
        "0d3326610fedb4ae6f005141fdd6aaaed042fad8"
      ],
      "author": {
        "name": "Dylan Baker",
        "email": "dylan@pnwbakers.com",
        "time": "Tue May 19 19:19:25 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Wed May 27 11:37:00 2026"
      },
      "message": "backend/vs2010: Add lots of missing annotations\n\nThis is the really low hanging fruit, just simple and obvious types taht\nare missing and types that where incorrect.\n"
    },
    {
      "commit": "0d3326610fedb4ae6f005141fdd6aaaed042fad8",
      "tree": "ad729ec8434cefd44f7976462b7bdcbde4ac1c38",
      "parents": [
        "26f902714dd29e7db2c114194a29592f944bbb19"
      ],
      "author": {
        "name": "Christopher Snowhill",
        "email": "kode54@gmail.com",
        "time": "Sun May 03 05:02:13 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Wed May 27 11:34:02 2026"
      },
      "message": "Re-evaluate host machine arch on Xcode backend generate\n\nFixes: #14650\n\nIf not set explicitly via a host machine file, Meson\u0027s Interpreter\nwill _redetect_machines() at the end of initialization. However,\nthe backend is created before this and therefore the host machine\narch may be set to None when the Xcode backend is initialized.\n\nCo-authored-by: Shukant Pal \u003cSukantK2002@outlook.com\u003e\nSigned-off-by: Christopher Snowhill \u003ckode54@gmail.com\u003e\n"
    },
    {
      "commit": "26f902714dd29e7db2c114194a29592f944bbb19",
      "tree": "5dc1220e6575bdac1bd00ec8a69a82e083171ad8",
      "parents": [
        "603958b786876cc9187579ae6aad627264f8b824"
      ],
      "author": {
        "name": "Chris Down",
        "email": "chris@chrisdown.name",
        "time": "Sun Nov 16 10:17:14 2025"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Wed May 27 10:47:48 2026"
      },
      "message": "interpreter: Add hex/octal/binary support to str and int primitives\n\nAdd support for parsing and formatting integers in hexadecimal, octal,\nand binary representations to complement the existing decimal support.\n\nstr.to_int() now accepts strings with 0x/0o/0b prefixes and optional\nleading signs (+/-), enabling direct parsing of hex, octal, and binary\nliterals while maintaining full backward compatibility with decimal\nstrings including those with leading zeros.\n\nint.to_string() gains a new format keyword argument that accepts \u0027dec\u0027,\n\u0027hex\u0027, \u0027oct\u0027, or \u0027bin\u0027, allowing integers to be formatted with\nappropriate prefixes (0x, 0o, 0b). The format parameter works correctly\nwith the existing fill parameter and handles negative numbers properly.\n\nRound-trip conversions are fully supported: values formatted with\nint.to_string(format: \u0027hex\u0027) can be parsed back with str.to_int().\n\nFixes: #2047\nFixes: #15201\n"
    },
    {
      "commit": "603958b786876cc9187579ae6aad627264f8b824",
      "tree": "8b98f1156ea46121b348e866b49dd63dfc758507",
      "parents": [
        "e594c1cb0001bf47a57137b9dfa82de1bfcd10f6"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 10:51:49 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Wed May 27 10:42:25 2026"
      },
      "message": "vs2010backend: fix broken use of flatten_object_list result\n\nThe second element, the order deps, was added in commit\nc02d7fe11 (\"backend/ninja: properly track objects extracted from fortran sources\", 2022-08-24)\nbut the visual studio backend was not adjusted.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "e594c1cb0001bf47a57137b9dfa82de1bfcd10f6",
      "tree": "87ab5b6830298fb7712d8e116cd64bf353cbaedd",
      "parents": [
        "89a5cc031bf26077cd1ad512b840daf46a2c2c75"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 25 10:51:49 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Wed May 27 10:42:25 2026"
      },
      "message": "build, backends: remove broken extract_all_objects code for custom targets\n\nCustomTarget.extract_all_objects and CustomTargetIndex.extract_all_objects\nare effectively dead. No path consumes their str/list[str] return value:\n\n- the extract_all_objects() DSL method is defined on BuildTargetHolder only.\n\n- _bundle_static_library() runs t.extract_all_objects() only for a\n  StaticLibrary, whereas custom targets raise InvalidArguments\n\n- vs2010backend.py and ninjabackend.py\u0027s link_whole workaround call\n  it but immediately treat the result as an ExtractedObjects\n\nThe custom target here would be a .a file, therefore there is no way to\nextract objects from it.  Remove the code and raise an exception instead.\nThis fixes 7 mypy issues in the ninja backend and 8 in the vs2010 backend.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "89a5cc031bf26077cd1ad512b840daf46a2c2c75",
      "tree": "71322968c405e9d65b51bece40a944a41772ef75",
      "parents": [
        "d1ac05c9a9c21284cbffb16625dd06733c6ff3e4"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 17 11:06:06 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Sat May 23 07:05:07 2026"
      },
      "message": "cargo: glob-expand workspace members\n\nCargo.toml workspace members are glob expressions, which we\u0027d rather\nnot rely on.  Treat them always as non-default members, so that they\nhave to be listed explicitly in extra_members but are nevertheless\navailable.\n\nCo-authored-by: Florian sp1rit \u003csp1rit@disroot.org\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "d1ac05c9a9c21284cbffb16625dd06733c6ff3e4",
      "tree": "c60e85c5d70d5ef229eb8179ef493c4f4212cc3c",
      "parents": [
        "995ee8e5c628dff5e27a413f36239261cb6c03b6"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sun May 17 11:41:34 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Sat May 23 07:05:07 2026"
      },
      "message": "rust: add extra_members kwarg for workspace()\n\nCargo allows building non-default workspace members via the -p\noption.  Within Meson, we still want to do a single configuration\nprocess for the workspace, but we need to add any non-default\nmembers (typically chosen via machine objects and/or Meson options)\nat the time workspace() is invoked.  Add a new argument to\nworkspace() for this.\n\nCo-authored-by: Florian sp1rit \u003csp1rit@disroot.org\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "995ee8e5c628dff5e27a413f36239261cb6c03b6",
      "tree": "08ef648401ddcbe8c4c60afca5e821cb3324c455",
      "parents": [
        "ca27e8cf00ca04a6a30bb92e8bb3764ee0092119"
      ],
      "author": {
        "name": "Jussi Pakkanen",
        "email": "jussi.pakkanen@mailbox.org",
        "time": "Thu May 21 12:33:10 2026"
      },
      "committer": {
        "name": "Jussi Pakkanen",
        "email": "jussi.pakkanen@mailbox.org",
        "time": "Fri May 22 09:53:41 2026"
      },
      "message": "MacOS Qt 6 private dir fix from Carlo Cabrera.\n\nhttps://github.com/mesonbuild/meson/pull/15824#issuecomment-4490893769\n"
    },
    {
      "commit": "ca27e8cf00ca04a6a30bb92e8bb3764ee0092119",
      "tree": "7758fe131d02af2ab33411f7eb4b716937339b63",
      "parents": [
        "c003c1fa93c09afffb838ec76d4138d6f61bfb7f"
      ],
      "author": {
        "name": "Jussi Pakkanen",
        "email": "jussi.pakkanen@mailbox.org",
        "time": "Wed May 20 20:16:00 2026"
      },
      "committer": {
        "name": "Jussi Pakkanen",
        "email": "jussi.pakkanen@mailbox.org",
        "time": "Fri May 22 09:53:41 2026"
      },
      "message": "Update used Qt version in macOS.\n"
    },
    {
      "commit": "c003c1fa93c09afffb838ec76d4138d6f61bfb7f",
      "tree": "433da632b01ca2cd2fb2b3695e557dbc182b971f",
      "parents": [
        "068d755a612d9a8e16c80bf307d657ea7c7b3a9f"
      ],
      "author": {
        "name": "Jussi Pakkanen",
        "email": "jussi.pakkanen@mailbox.org",
        "time": "Wed May 20 19:26:20 2026"
      },
      "committer": {
        "name": "Jussi Pakkanen",
        "email": "jussi.pakkanen@mailbox.org",
        "time": "Fri May 22 09:53:41 2026"
      },
      "message": "Update default Qt version to 6.\n"
    },
    {
      "commit": "068d755a612d9a8e16c80bf307d657ea7c7b3a9f",
      "tree": "2a1a6171a79981fb3c1e5686d814422918c3b794",
      "parents": [
        "250f0c6b6e708b65cfcef86cd128d304a3912205"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Mon May 18 10:35:11 2026"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "bonzini@gnu.org",
        "time": "Fri May 22 06:04:41 2026"
      },
      "message": "cargo: canonicalize all workspace members to POSIX paths\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    }
  ],
  "next": "250f0c6b6e708b65cfcef86cd128d304a3912205"
}
