)]}'
{
  "log": [
    {
      "commit": "5d04f8f791c97255f53771888fff55924c62332a",
      "tree": "5e89ed6055209088091ea803421f6580133af647",
      "parents": [
        "2bfe61fba10c4340ddc335570c3c9d5fb8e5f4d3"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyich@gmail.com",
        "time": "Thu May 07 10:21:36 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu May 07 17:27:35 2026 +0800"
      },
      "message": "ssp: fix `__stack_chk_guard` type\n\nIn https://gcc.gnu.org/PR121911 `gcc` started enforcing the type of\n`__stack_chk_guard` to `uintptr_t` and broke `mingw-w64` build as:\n\n```\nssp/stack_chk_guard.c:11:7: error: conflicting types for \u0027__stack_chk_guard\u0027; have \u0027void *\u0027\n   11 | void *__stack_chk_guard;\n      |       ^~~~~~~~~~~~~~~~~\ncc1: note: previous declaration of \u0027__stack_chk_guard\u0027 with type \u0027long long unsigned int\u0027\nssp/stack_chk_guard.c:11:7: warning: declaration of \u0027__stack_chk_guard\u0027 shadows a global declaration [-Wshadow]\n   11 | void *__stack_chk_guard;\n      |       ^~~~~~~~~~~~~~~~~\n```\n\nLet\u0027s match the declaration to unsigned type as suggested by upstream in\nhttps://gcc.gnu.org/PR121911#c6.\n"
    },
    {
      "commit": "2bfe61fba10c4340ddc335570c3c9d5fb8e5f4d3",
      "tree": "2e4a1b96c815af48514468facd8d21ecdf10cd71",
      "parents": [
        "58e9fe5562d6687506dc58fa7f642a64726196f4"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed May 06 10:23:38 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed May 06 10:23:38 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "58e9fe5562d6687506dc58fa7f642a64726196f4",
      "tree": "30e11d46d37869bb49e3553e50e2c87025a426d4",
      "parents": [
        "fe2763863a9bc40da24f2668ab5bdceb29c0201d"
      ],
      "author": {
        "name": "Biswapriyo Nath",
        "email": "nathbappai@gmail.com",
        "time": "Tue May 05 20:31:15 2026 +0000"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed May 06 10:21:22 2026 +0800"
      },
      "message": "crt/libsrc: Include activscp.h for missing GUIDs in uuid library\n\nRequired for https://github.com/zufuliu/notepad4/commit/2090fbfd8c8be035c225e83fb9181ce809e9f752\nFixes https://github.com/mingw-w64/mingw-w64/issues/171\n\nSigned-off-by: Biswapriyo Nath \u003cnathbappai@gmail.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "fe2763863a9bc40da24f2668ab5bdceb29c0201d",
      "tree": "edb18548ec74ecfb166d673e89f55f509a8771a0",
      "parents": [
        "0b5a7f263d21107a955e808b69d6745de7981cf9"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Fri May 01 14:50:45 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon May 04 20:59:03 2026 +0800"
      },
      "message": "winpthreads: check for WINPTHREAD_STATIC in addition to WINPTHREADS_USE_DLLIMPORT\n\nSince 489520900fb6853c8be97e9d0214f39a77c846d9, `WINPTHREAD_API` was defined to\n`__declspec(dllimport)` only when `WINPTHREADS_USE_DLLIMPORT` was defined;\nthis is required to ensure that static libraries such as libstdc++ do not\nreference dllimport\u0027ed symbols, which would prevent them from linking against\nstatic winpthreads.\n\nPrior to that change, `WINPTHREAD_API` used to be defined to\n`__declspec(dllimport)` by default unless `WINPTHREAD_STATIC` was defined.\n\nNow we check for both `WINPTHREADS_USE_DLLIMPORT` and `WINPTHREAD_STATIC`.\nThis makes a difference only when both of them are defined, in which case\n`WINPTHREAD_STATIC` takes precedence.\n\nThe primary goal of this change is to allow using winpthreads with pkgconf:\nwhen `WINPTHREADS_USE_DLLIMPORT` is defined using Cflags and `WINPTHREAD_STATIC`\nis defined using Cflags.private, `WINPTHREAD_STATIC` will take precedence\nwhen using \"pkgconf --static --cflags\", allowing to properly link against\nstatic winpthreads.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "0b5a7f263d21107a955e808b69d6745de7981cf9",
      "tree": "e17f7607ded27f3ae227da99d5014fbda00308bc",
      "parents": [
        "524126ecceed973959177081284aa0f7b13f9193"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Feb 22 21:14:42 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon May 04 01:30:55 2026 +0800"
      },
      "message": "crt: test: Mark thread_main entry point as force_align_arg_pointer\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "524126ecceed973959177081284aa0f7b13f9193",
      "tree": "0c2dcc6648bc3c5d7b624664ab2eb035bba7192a",
      "parents": [
        "fdf86ad20eff762c6f441df743f281e828df8657"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Feb 22 21:14:11 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon May 04 01:30:55 2026 +0800"
      },
      "message": "crt: Mark profil profthr_func as force_align_arg_pointer\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "fdf86ad20eff762c6f441df743f281e828df8657",
      "tree": "6ceb246f5ecc92b6bf55955c135fd3af295dd17f",
      "parents": [
        "6c73c103e6c26b62e297437c5b2b68833c8bc591"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Feb 22 20:13:01 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon May 04 01:30:55 2026 +0800"
      },
      "message": "winpthreads: Use force_align_arg_pointer attribute for entry point passed to _beginthreadex() for i386 gcc builds\n\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "6c73c103e6c26b62e297437c5b2b68833c8bc591",
      "tree": "d6e9b7bc42112afbad87005bf5e6b7d88215958d",
      "parents": [
        "9f99c31b34dc0b7c865e7bd6b136980e08da3275"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun May 03 21:17:19 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon May 04 01:30:55 2026 +0800"
      },
      "message": "winpthreads: Remove old check for GCC \u003e\u003d 4.2\n\nGCC 4.2 is too old, and similar code in the CRT doesn\u0027t check for it.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "9f99c31b34dc0b7c865e7bd6b136980e08da3275",
      "tree": "f48df04043c27dc7fcf5fac80251d2f74c3b7b46",
      "parents": [
        "226f25e649875094903215854728762774b832b8"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat May 02 19:55:38 2026 +0200"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sun May 03 15:29:23 2026 +0200"
      },
      "message": "include: Sync winapifamily.h with Wine.\n\nThis matches the modern Windows SDK. With the new scheme, WINAPI_FAMILY_ONE_PARTITION\nis no longer present in the Windows SDK, so it is removed together with its usage in\ndocobj.idl.\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n"
    },
    {
      "commit": "226f25e649875094903215854728762774b832b8",
      "tree": "46205f21e3fd5e32b24e3e8558a25391e811efb0",
      "parents": [
        "82e99c8230193bf54b4a4760245cbdfb5f0f1c97"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat May 02 12:40:57 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun May 03 12:04:44 2026 +0800"
      },
      "message": "crt: msvcrt.def.in: Document i386-chpe32 symbols\n\nThese symbols are available since Windows 10 for i386 binaries on ARM64\nsystems located at C:\\Windows\\SyChpe32\\msvcrt.dll\n\nAdd just documentation about these symbols, but do not enable them as they\ncannot be used on i386 or x64 systems.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "82e99c8230193bf54b4a4760245cbdfb5f0f1c97",
      "tree": "957074999d3691d14a9c37bac3b37c0ee9ebf196",
      "parents": [
        "6c71583ee2a561da9a3d32f18b280cc0623c615d"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat May 02 11:55:43 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun May 03 12:03:37 2026 +0800"
      },
      "message": "crt: kernel32.def.in: Add new CreateDirectory2/CreateFile3/DeleteFile2/RemoveDirectory2 symbols\n"
    },
    {
      "commit": "6c71583ee2a561da9a3d32f18b280cc0623c615d",
      "tree": "ffb704fc5dc80957ef122869870ef4a96cf7d326",
      "parents": [
        "890b7580508e0773c5a09789b7ef6291b1c4b583"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Apr 12 20:47:57 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun May 03 12:03:37 2026 +0800"
      },
      "message": "crt: Add Windows 11 2025 Update symbols for 32-bit WoW64 advapi32.def, kernel32.def and ntdll.def\n\nFunctions which are documented or mentioned on Microsoft web site are\nuncommented and ready for using. Other symbols are commented for now.\n"
    },
    {
      "commit": "890b7580508e0773c5a09789b7ef6291b1c4b583",
      "tree": "b1405b643770c625c7c708f8523c8a89a71fa3f8",
      "parents": [
        "b2b5e53e9d9be406e60ebc152a9cf161b87d4e12"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Apr 12 20:47:04 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Apr 23 22:25:33 2026 +0800"
      },
      "message": "crt: msvcrt.def.in: Add Windows 11 symbols\n\nWindows 11 for i386 and x64 binaries provides few new symbols in msvcrt.dll\nlibrary. There are no new symbols for arm32 or arm64 version of msvcrt.dll.\n\nThis information is up to date with Windows 11 25H2 release.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "b2b5e53e9d9be406e60ebc152a9cf161b87d4e12",
      "tree": "9074de2d1e6608c9a146856593eb544d51700828",
      "parents": [
        "950af8a0ebb3b9fd5d30f778af448f97adc380c8"
      ],
      "author": {
        "name": "Jaeden Amero",
        "email": "jaeden@patater.com",
        "time": "Sat Apr 11 09:15:11 2026 +0000"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 19:38:25 2026 +0800"
      },
      "message": "github: gcc: Test i386 Interlocked functions\n\nAdd a step in the testcases-gcc job that compiles and links the\nt_intrinc test with -march\u003di386 using the i686 GCC cross-compiler, and\nthen runs the test.\n\nWithout kernel32 fallback in intrin-impl.h, GCC correctly refuses to\ninline __sync_* builtins on i386 (no CMPXCHG or XADD) and instead emits\ncalls to library helpers that do not exist and fail to link.\n\nEven with kernel32 fallback, the final linked binary contains i486+\ninstructions from the CRT startup code, which is built for i686.\nBuilding t_intrinc with -march doesn\u0027t change this. However, this does\nnot prevent the test from running on the CI runner, which has a modern\nx86 CPU that supports these instructions.\n\nSigned-off-by: Jaeden Amero \u003cjaeden@patater.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "950af8a0ebb3b9fd5d30f778af448f97adc380c8",
      "tree": "925d55417aef870a68589566841199de0b982d45",
      "parents": [
        "18144a4bfae687de740f20750cfe6a933db456e3"
      ],
      "author": {
        "name": "Jaeden Amero",
        "email": "jaeden@patater.com",
        "time": "Sat Apr 11 09:15:10 2026 +0000"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 19:38:22 2026 +0800"
      },
      "message": "github: clang: Test i386 Interlocked functions\n\nThe existing CI tests i686 and x86_64 but not i386. Add a step in the\ntestcases-clang job that compiles t_intrinc.c with -march\u003di386 using the\ni686 llvm-mingw toolchain.\n\nLLVM\u0027s x86 backend does not model the absence of CMPXCHG and XADD on\ni386, so without kernel32 fallback in intrin-impl.h it silently lowers\n__sync_* builtins to i486+ instructions even with -march\u003di386. Verify\nthe object contains no CMPXCHG or XADD instructions to ensure kernel32\nfallback is being used. Then link and run the test to confirm the\nInterlocked functions return correct values.\n\nSigned-off-by: Jaeden Amero \u003cjaeden@patater.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "18144a4bfae687de740f20750cfe6a933db456e3",
      "tree": "d8bf6ce9432cad183c73d6de5c918b0cba5c0b79",
      "parents": [
        "b06d2685c8ca2276cf6693763be1da94b9a90da0"
      ],
      "author": {
        "name": "Jaeden Amero",
        "email": "jaeden@patater.com",
        "time": "Sat Apr 11 09:15:09 2026 +0000"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 19:38:19 2026 +0800"
      },
      "message": "headers: i386: Fall back to kernel32 Interlocked\n\nOn i386, GCC cannot inline the __sync_* builtins because the ISA has no\nCMPXCHG or XADD instructions (which were introduced with i486). GCC\nemits calls to library helpers such as __sync_val_compare_and_swap_4\nthat do not exist, causing undefined-reference link errors in any\nprogram that uses the CRT (crt2.o references InterlockedCompareExchange\nvia the _InterlockedCompareExchangePointer intrinsic in crtexe.c):\n\n    ld: crt2.o:crtexe.c:(.text+0x...): undefined reference to `__sync_add_and_fetch_4\u0027\n    ld: crt2.o:crtexe.c:(.text+0x...): undefined reference to `__sync_sub_and_fetch_4\u0027\n    ld: crt2.o:crtexe.c:(.text+0x...): undefined reference to `__sync_fetch_and_add_4\u0027\n    ld: crt2.o:crtexe.c:(.text+0x...): undefined reference to `__sync_val_compare_and_swap_4\u0027\n\nWhen __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 is not defined (as on i386, but\nnot on i486 and up), fall back to the real Interlocked functions\nexported by kernel32.dll for the five functions it provides:\nInterlockedCompareExchange, InterlockedIncrement, InterlockedDecrement,\nInterlockedExchange, and InterlockedExchangeAdd. The functions remain\ninline intrinsics as before: only the implementation body changes when\ntargeting i386.\n\n_InterlockedAdd, _InterlockedAdd64, and _InterlockedCompareExchange64\nalso use __sync_* builtins but are intentionally left alone since\nkernel32.dll does not export InterlockedAdd or 64-bit variants of these\nfunctions (there is no kernel32 function to fall back to).\n\nThe kernel32 imports are declared with __asm__ labels to avoid\ncollisions with the macros (from winnt.h) that map unprefixed names to\nunderscore-prefixed intrinsics. GCC prepends underscores to __asm__\nlabel strings but Clang does not, so a __MINGW_K32_ASM helper handles\nthis portably for both toolchains.\n\nThis fixes https://sourceforge.net/p/mingw-w64/bugs/961/\n\nSigned-off-by: Jaeden Amero \u003cjaeden@patater.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "b06d2685c8ca2276cf6693763be1da94b9a90da0",
      "tree": "01379b5e840aef5081d485ba2c547b56e00c98b8",
      "parents": [
        "e68bee4333c99430c04adfd9b3193a2013f89870"
      ],
      "author": {
        "name": "Jaeden Amero",
        "email": "jaeden@patater.com",
        "time": "Sat Apr 11 09:15:08 2026 +0000"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 19:38:14 2026 +0800"
      },
      "message": "crt: Rewrite t_intrinc with proper assertions\n\nThe previous test only exercised InterlockedIncrement and\nInterlockedDecrement, used printf for output, and never returned a\nfailure exit code, making it useless as an automated test.\n\nReplace it with a proper test that covers InterlockedIncrement,\nInterlockedDecrement, InterlockedExchange, InterlockedExchangeAdd,\nInterlockedCompareExchange, InterlockedCompareExchangePointer, and\nInterlockedExchangePointer. Each function is checked for a correct\nreturn value and correct stored value. InterlockedCompareExchange and\nInterlockedCompareExchangePointer are tested with both matching and\nnon-matching arguments.\n\nSigned-off-by: Jaeden Amero \u003cjaeden@patater.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "e68bee4333c99430c04adfd9b3193a2013f89870",
      "tree": "c2484238f6dbc6f21e11678e40a306f8270e2894",
      "parents": [
        "31ca61d647832821dc26228c58cae35903c13629"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 16:03:17 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 16:06:41 2026 +0800"
      },
      "message": "headers/string: Include \u003ccorecrt_memory.h\u003e to deduplicate declarations\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "31ca61d647832821dc26228c58cae35903c13629",
      "tree": "bfb9f40c62351565f2b129be83aecb5592e3fea6",
      "parents": [
        "58c3a35e3c2f3ebc048624341dad1e8aafb67000"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 16:01:37 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 16:06:36 2026 +0800"
      },
      "message": "headers/{corecrt_,}memory: Move contents of memory.h to corecrt_memory.h\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "58c3a35e3c2f3ebc048624341dad1e8aafb67000",
      "tree": "69e109a831127803e6e177d4393c196db267576b",
      "parents": [
        "76923d60b9dc90f0873b3dd3b13b870cd0fd0fb3"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 15:58:48 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 15:58:48 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "76923d60b9dc90f0873b3dd3b13b870cd0fd0fb3",
      "tree": "591361118f91fb98a042d6571867552529c624d4",
      "parents": [
        "cd1afb6649aafbd5b36e0cf71815d533ada461f8"
      ],
      "author": {
        "name": "Peter Damianov via Mingw-w64-public",
        "email": "mingw-w64-public@lists.sourceforge.net",
        "time": "Sun Apr 12 02:26:44 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Apr 17 15:58:31 2026 +0800"
      },
      "message": "crt: Implement memset_explicit\n\nI implemented it in the same way as glibc. It\u0027s just memset, followed by a\ncompiler barrier\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "cd1afb6649aafbd5b36e0cf71815d533ada461f8",
      "tree": "cee7d8ac06547744f0537beda07a118f27dc61d4",
      "parents": [
        "0804a2317ef912e53b73dc28d14347e2e0bfced6"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Apr 11 01:00:03 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Apr 14 20:00:01 2026 +0800"
      },
      "message": "crt: Add documentation for __mingw_control87_2 and __mingw_controlfp functions\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "0804a2317ef912e53b73dc28d14347e2e0bfced6",
      "tree": "4f1ae64c5e000f1950f85f03098f847399366e99",
      "parents": [
        "f36077b0a5ab0be062d95103a4182700b67ac8e4"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Apr 11 01:00:02 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Apr 14 19:59:53 2026 +0800"
      },
      "message": "crt: Fix x86 __mingw_setfp() to not mask all exceptions on noop operation\n\nx87 fnstenv instruction saves the current FPU operating environment at the\nmemory location specified with the destination operand, and then masks all\nfloating-point exceptions.\n\nSo if the x87 fnstenv instruction was called, it is required to call\nfollow-up x87 fldenv instruction which will restore previous masking state\nof floating-point exceptions. Hence x87 fldenv instruction must be always\ncalled, and not only when new cw or sw value differs from the old one.\n\n__mingw_setfp is currently calling x87 fldenv instruction only when the new\ncw or sw value differs from the old one. And this behavior cause breaking\nof following code:\n\n    fedisableexcept(FE_ALL_EXCEPT);\n    feenableexcept(FE_INVALID);\n    feenableexcept(FE_INVALID);\n\nThe third line disables all exceptions, including the FE_INVALID.\n\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "f36077b0a5ab0be062d95103a4182700b67ac8e4",
      "tree": "0937abd07e51408df9414545cf23e053599cd525",
      "parents": [
        "4761eabdda9764d14778a52a4a9dd1d5e720569e"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Apr 11 01:00:01 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Apr 14 18:41:41 2026 +0800"
      },
      "message": "crt: Fix return value of fegetexcept(), fedisableexcept() and feenableexcept() functions\n\nFunction __mingw_controlfp() returns bits for disabled exceptions,\nbut function fegetexcept() must return bits for enabled exceptions.\nSo negate bits for return value.\n\nFunction __mingw_controlfp() when modifying cw returns new state,\nbut functions fedisableexcept() and feenableexcept() must return old state.\nSo before modifying cw via __mingw_controlfp(), call fegetexcept() to\ncalculate return value of both fedisableexcept() and feenableexcept()\nfunctions. Also checks for input argument and return -1 when is invalid.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "4761eabdda9764d14778a52a4a9dd1d5e720569e",
      "tree": "0b42c2406aa8236d7756cb21b54d03a3bb31c66e",
      "parents": [
        "7ad22457d5c1b66da5f2fb89285a057df8b97281"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 13 22:37:04 2026 +0800"
      },
      "committer": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Mon Apr 13 17:59:47 2026 +0300"
      },
      "message": "headers/{memory, string}: Relax conditions of declarations `memccpy()`, `strdup()` and `strndup()`\n\nThis allows these functions to be called in non-strict-conforming code, and when\n`_GNU_SOURCE` is defined, and\n\n* `memccpy()` is available since ISO C23, and since POSIX 2001 as an XSI extension, and\n* `strdup()` is available since ISO C23, and since POSIX 2001 as an XSI extension, but\n  has been moved into POSIX 2008 base standard, and\n* `strndup()` is available since ISO C23, and since POSIX 2008.\n\nConditions around declarations with `__MINGW_ATTRIB_DEPRECATED_MSVC2005` are\nremoved, so if someone defines `__MINGW_MSVC_COMPAT_WARNINGS` they get those\nwarnings, always.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n"
    },
    {
      "commit": "7ad22457d5c1b66da5f2fb89285a057df8b97281",
      "tree": "0176b78b5b93da70cf79c1487ce5694162806a3f",
      "parents": [
        "cf2b7de263e0728c9d73a8b5fccb7c9d3ec919ed"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 13 10:29:25 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 13 10:29:25 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "cf2b7de263e0728c9d73a8b5fccb7c9d3ec919ed",
      "tree": "92c30fab3d1a5d507a5193dd5e4076f0c5392bb3",
      "parents": [
        "01f73779bff47496dfee1598ebc267b0a47b2fce"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Apr 12 19:48:46 2026 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 13 10:29:06 2026 +0800"
      },
      "message": "crt: Specify missing lib32/kernel32.def dependency for lib32/libkernel32.a\n\nThis will ensure that \u0027make\u0027 will rebuild lib32/libkernel32.a after changing lib32/kernel32.def file.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "01f73779bff47496dfee1598ebc267b0a47b2fce",
      "tree": "a52465fa79c424efa5da4bee444dd4aff2f2c4ef",
      "parents": [
        "250bb18f032236e7b26f42994437ac09f26b2872"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Apr 11 16:19:09 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Apr 11 16:19:09 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "250bb18f032236e7b26f42994437ac09f26b2872",
      "tree": "5c9130fbfc47aae1e730746870e02330333277e3",
      "parents": [
        "ca6f2f8387347096df13f9b7a993ebb9cbcefe55"
      ],
      "author": {
        "name": "Peter0x44",
        "email": "peter0x44@disroot.org",
        "time": "Thu Apr 09 18:42:58 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Apr 11 16:12:04 2026 +0800"
      },
      "message": "crt: add C23 string.h and memory.h functions\n\nC23 adds the following functions to string.h and memory.h:\nmemset_explicit(void *s, int c, size_t n)\nmemccpy(void *dest, const void *src, int c, size_t n)\nstrdup(const char *s)\nstrndup(const char *s, size_t n)\n\nAdd a libmingwex implementation of strndup and declare it in string.h for C23.\n\nAlso expose strdup and memccpy as C23 functions independently of NO_OLDNAMES,\nwhile keeping the deprecated oldname declarations for pre-C23 builds.\n\nI didn\u0027t implement memset_explicit because I am not really sure how to.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "ca6f2f8387347096df13f9b7a993ebb9cbcefe55",
      "tree": "419ac05ce0fc7e83126886eef6e793764342fa64",
      "parents": [
        "451dd7936f2aca28633b283094fc30ba347b76fe"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Thu Apr 09 11:34:01 2026 +0200"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Thu Apr 09 11:43:16 2026 +0200"
      },
      "message": "headers: Import current Wine version\n\nIncludes https://gitlab.winehq.org/wine/wine/-/merge_requests/10570\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n"
    },
    {
      "commit": "451dd7936f2aca28633b283094fc30ba347b76fe",
      "tree": "85df070a72b85e38b48bd0151a938f4b07a3afe2",
      "parents": [
        "353a5d08736e97f2844d5baeb7c1f3e0fb3c29ab"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Thu Apr 09 11:32:58 2026 +0200"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Thu Apr 09 11:43:16 2026 +0200"
      },
      "message": "headers: Regenerate headers with current widl version\n"
    },
    {
      "commit": "353a5d08736e97f2844d5baeb7c1f3e0fb3c29ab",
      "tree": "c690369213090ba5cdef190d484d31e5d8c5ead8",
      "parents": [
        "239fa3f2dfd2ec6db1b2382dcc48e8eb9ef20761"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Thu Apr 09 11:30:13 2026 +0200"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Thu Apr 09 11:43:16 2026 +0200"
      },
      "message": "widl: Update to current Wine version\n\nIncludes https://gitlab.winehq.org/wine/wine/-/merge_requests/10570\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n"
    },
    {
      "commit": "239fa3f2dfd2ec6db1b2382dcc48e8eb9ef20761",
      "tree": "818d52404dc7801687fcdde862a6ce067fb02446",
      "parents": [
        "6d91c946651a384d19b7d8fc69ba8d3df3ab3e4b"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 06 16:08:46 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 06 17:51:36 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "6d91c946651a384d19b7d8fc69ba8d3df3ab3e4b",
      "tree": "9540fbf4b2c1858817281e543fb093d97d13079d",
      "parents": [
        "6263a2fced11f5834975c9af5001adc9161bf5bf"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Dec 13 22:02:47 2025 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 06 17:51:21 2026 +0800"
      },
      "message": "crt: Fix mingw-w64 stat implementation\n\nMS CRT _stat() implementation is known to be broken in different cases.\nmingw-w64 already contains fixup code for path processing, but this is not\nenough. For example _stat() returns incorrect type for Windows devices\n(like NUL) and rejects \\\\?\\ paths with ENOENT error. This is probably because\nWinAPI FindFirstFile function (which is in lot of times used as replacement\nfor POSIX stat) does not return file type at all.\n\nmingw-w64 already provides working fstat() implementation (as wrapper\naround MS CRT _fstat()) which can be used as stat() fallback for already\nopened file handle.\n\nSo if the MS CRT _stat() fails or returns that file type is regular file\nthen try to open path in read-only mode and call mingw-w64 fstat() on it.\n\nNote that opening path can fail for many reasons (for example denied by\nACL, denied by shared reservation or denied by delete_pending state) while\nregular FindFirstFile is working fine. So do not take errors from opening\npath as fatal error. Use the fstat just for correcting information returned\nby MS CRT _stat() function.\n\nBug: https://sourceforge.net/p/mingw-w64/bugs/1009/\nBug: https://github.com/mingw-w64/mingw-w64/issues/139\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "6263a2fced11f5834975c9af5001adc9161bf5bf",
      "tree": "a404372acef0ca52d19ac5db4fdf6b4da86317f1",
      "parents": [
        "5356cf2974e5d67321423a4db89e7b14cf9fbd90"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Dec 13 21:40:22 2025 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 06 16:02:18 2026 +0800"
      },
      "message": "crt: Deduplicate mingw-w64 stat code into __MINGW_FIXED_STAT macro\n\nCreate new function-like macro __MINGW_FIXED_STAT with same pattern as\nexisting __MINGW_FIXED_FSTAT macro, and extract repeated stat and wstat\ncode into that new __MINGW_FIXED_STAT macro.\n\nUse gcc compound statement extension to create function-like macro and\n__builtin_choose_expr to choose correct narrow or wide function based on\nthe passed type (char* or wchar_t*). With this patterns, the whole stat and\nwstat code is deduplicated to macro functions.\n\nThis allows to extend the __MINGW_FIXED_STAT code by followup changes\nwithout duplicating the functionality again.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "5356cf2974e5d67321423a4db89e7b14cf9fbd90",
      "tree": "46528acc8a20315941a2021b680866c261811803",
      "parents": [
        "61ed2191088ce99a542615682fe2ca110bba5a0f"
      ],
      "author": {
        "name": "Biswapriyo Nath",
        "email": "nathbappai@gmail.com",
        "time": "Mon Apr 06 13:19:40 2026 +0530"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Apr 06 16:00:01 2026 +0800"
      },
      "message": "headers: Add IORing error codes in winerror.h\n\nFrom 7f605e2f76fd2a6ec4b7e239c3e79da21116eb11 Mon Sep 17 00:00:00 2001\nFrom: Biswapriyo Nath \u003cnathbappai@gmail.com\u003e\nDate: Mon, 6 Apr 2026 07:44:42 +0000\nSubject: [PATCH] headers: Add IORing error codes in winerror.h\n\nRequired for https://github.com/qt/qtbase/commit/ae7a1946c2daadb814efeac9d568321b1cbd3c2a\nFixes #169\n\nSigned-off-by: Biswapriyo Nath \u003cnathbappai@gmail.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "61ed2191088ce99a542615682fe2ca110bba5a0f",
      "tree": "f9f4ef8fa940c0941666aa3ad80707ca2d45981b",
      "parents": [
        "bd663f0e159e0f50f12ad2e91ce083d0e1a869ad"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Apr 04 09:24:57 2026 +0200"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Apr 04 09:24:57 2026 +0200"
      },
      "message": "headers: Import Wine version 11.6\n"
    },
    {
      "commit": "bd663f0e159e0f50f12ad2e91ce083d0e1a869ad",
      "tree": "5f064f5958c1cafe17a135339bf56ce66abc5027",
      "parents": [
        "9b3dd0125792fe94d16cacdc596dbd42fca1b369"
      ],
      "author": {
        "name": "Jonathan Yong",
        "email": "10walls@gmail.com",
        "time": "Fri Mar 27 05:49:44 2026 +0000"
      },
      "committer": {
        "name": "Jonathan Yong",
        "email": "10walls@gmail.com",
        "time": "Fri Mar 27 05:49:44 2026 +0000"
      },
      "message": "_mingw_mac.h: bump to 15.x\n\nSigned-off-by: Jonathan Yong \u003c10walls@gmail.com\u003e\n"
    },
    {
      "commit": "9b3dd0125792fe94d16cacdc596dbd42fca1b369",
      "tree": "a6a6250b1b40b74c27aa797c2d5325c03b8c7610",
      "parents": [
        "816d52fc7225a9fa781e9f22948b791f45af1cf2"
      ],
      "author": {
        "name": "Biswapriyo Nath",
        "email": "nathbappai@gmail.com",
        "time": "Tue Mar 24 09:56:09 2026 +0000"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Mar 24 19:26:20 2026 +0800"
      },
      "message": "headers: Add emi.h\n\nRequired for https://github.com/mozilla-firefox/firefox/commit/0675e9ba405c2cd242f1676d633c918aa3416774\n\nSigned-off-by: Biswapriyo Nath \u003cnathbappai@gmail.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "816d52fc7225a9fa781e9f22948b791f45af1cf2",
      "tree": "be46919202961e942acee780d724908beaf78136",
      "parents": [
        "127eb2f4424d5e2cc3e79dc486994af13d8ab190"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:39:00 2026 +0100"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:39:00 2026 +0100"
      },
      "message": "headers: Add DECLSPEC_CHPE_PATCHABLE define\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n"
    },
    {
      "commit": "127eb2f4424d5e2cc3e79dc486994af13d8ab190",
      "tree": "e7adfdf6e1717840c3c1a3bca5e22d3a531687bd",
      "parents": [
        "4c1cf991262a4a5b331b5f5ca494833d4a723336"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:38:59 2026 +0100"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:38:59 2026 +0100"
      },
      "message": "headers: Regenerate with current widl version\n"
    },
    {
      "commit": "4c1cf991262a4a5b331b5f5ca494833d4a723336",
      "tree": "75ef71e63c4ae1138bd463489498f17aef4556ae",
      "parents": [
        "c758f77b376050ef41e312a7b15aeb594c1a97d0"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:38:59 2026 +0100"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:38:59 2026 +0100"
      },
      "message": "headers: Import Wine version 11.5\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n"
    },
    {
      "commit": "c758f77b376050ef41e312a7b15aeb594c1a97d0",
      "tree": "1aaca3ff6ed59f14aa3a05b0c4469b894c8db755",
      "parents": [
        "59cd5ce805b12cdefced08ce567d3518c6053b40"
      ],
      "author": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:38:57 2026 +0100"
      },
      "committer": {
        "name": "Jacek Caban",
        "email": "jacek@codeweavers.com",
        "time": "Sat Mar 21 14:38:57 2026 +0100"
      },
      "message": "widl: Import Wine version 11.5\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n"
    },
    {
      "commit": "59cd5ce805b12cdefced08ce567d3518c6053b40",
      "tree": "5b687a5e1eaea446867bc3be2b9668d4f984df99",
      "parents": [
        "3197fc7d6146d2c53082e302112748a157ca0074"
      ],
      "author": {
        "name": "Zhiyi Zhang",
        "email": "zzhang@codeweavers.com",
        "time": "Mon Mar 02 14:18:00 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 09 22:37:44 2026 +0800"
      },
      "message": "headers: Fix GetPointerInputTransform() prototype.\n\nThe type of the last parameter should be INPUT_TRANSFORM *.\n\nSigned-off-by: Zhiyi Zhang \u003czzhang@codeweavers.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "3197fc7d6146d2c53082e302112748a157ca0074",
      "tree": "bbf59a0cd1da3ac367c760b2a43b04d66910156a",
      "parents": [
        "73813da0e9ceea70e9fb3ea950abcc3d6385e58b"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 02 15:28:23 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 02 15:28:23 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "73813da0e9ceea70e9fb3ea950abcc3d6385e58b",
      "tree": "6f38d1655ba71437a817df1524b0ed8f35e6d167",
      "parents": [
        "dbe754ec8b6d0402ee6f8d7bc1e63688dc7c9ce0"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 02 15:24:12 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 02 15:24:12 2026 +0800"
      },
      "message": "crt: Move `__mingw_isleadbyte_cp()` from libmingwex into libmsvcrt\n\nIn libmsvcrt-os, `__mingw_mbrtowc_cp()` and `__mingw_wcrtomb_cp()` depend on\nthis function, so it has to be there, otherwise it would cause linker errors.\nFor UCRT we do the same for consistency reasons.\n\nThis closes https://github.com/mingw-w64/mingw-w64/issues/163.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "dbe754ec8b6d0402ee6f8d7bc1e63688dc7c9ce0",
      "tree": "9e969674677fd862c1cde36a40cdd3fa6c9c3d64",
      "parents": [
        "bf399f54ecd4a2dda1a90b76c808f148c78a3592"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Jan 25 12:22:31 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 02 14:07:34 2026 +0800"
      },
      "message": "winpthreads: Try loading SetThreadDescription from kernel32.dll and fallback to kernelbase.dll\n\nThe SetThreadDescription function should be called from the kernel32.dll library.\nDocument why the fallback to kernelbase.dll is needed for compatibility purposes.\n"
    },
    {
      "commit": "bf399f54ecd4a2dda1a90b76c808f148c78a3592",
      "tree": "77c3526cdf0b1d57821b91ca7e5d0f067e738b31",
      "parents": [
        "05ae8179e34850af8348627d39fba09bda5ae9d8"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Tue Feb 24 21:30:17 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Mar 02 10:24:40 2026 +0800"
      },
      "message": "crt: Check for overflows in POSIX 32-bit ftime() function\n\nPOSIX ftime() function can fail and return -1. So if the time value in\n32-bit ftime call does not into struct __timeb32 then signal EOVERFLOW.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "05ae8179e34850af8348627d39fba09bda5ae9d8",
      "tree": "6d0f9ab8f3a3548fdf77cabb09bffcfbe011e508",
      "parents": [
        "5e70c77649a98f439cc61ffee729563018870d00"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Oct 25 18:36:53 2025 +0200"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Mar 01 21:49:19 2026 +0800"
      },
      "message": "crt: Move unsorted non-i386 symbols in file ntdllcrt.def.in to appropriate section\n\nAll of those symbols are available since the first x64 version of ntdll.dll which is Windows XP x64.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "5e70c77649a98f439cc61ffee729563018870d00",
      "tree": "b6746aa60cff8e942d77b182b3136854fa048217",
      "parents": [
        "945cf4729057d7c73a6325b9fc5847af1e77365f"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Fri Nov 21 18:48:17 2025 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Mar 01 21:49:19 2026 +0800"
      },
      "message": "crt: Fix style in kernel32.def\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "945cf4729057d7c73a6325b9fc5847af1e77365f",
      "tree": "acb0fabe5d628b8b2761f8c1f43ae6fa1c3ec521",
      "parents": [
        "968fed5fee0475b9cbeca823e1751258593e3474"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Fri Nov 21 18:48:00 2025 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Mar 01 21:49:19 2026 +0800"
      },
      "message": "crt: Fix version order note in kernel32.def\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "968fed5fee0475b9cbeca823e1751258593e3474",
      "tree": "3534234e547700e44a1f0aa07719fbaa0dc3081c",
      "parents": [
        "669f4c6d4320412fdc4ec040d2800341cb7311f6"
      ],
      "author": {
        "name": "Erez Geva",
        "email": "ErezGeva2@gmail.com",
        "time": "Fri Feb 27 20:16:57 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Mar 01 11:45:06 2026 +0800"
      },
      "message": "Add missing cast in `fpclassify` that `isnan` does use\n\nSigned-off-by: Erez Geva \u003cErezGeva2@gmail.com\u003e\nSigned-off-by: Erez Geva \u003cErezGeva@nwtime.org\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "669f4c6d4320412fdc4ec040d2800341cb7311f6",
      "tree": "20ed0d2b2fb6515562430673c176e43087d5070c",
      "parents": [
        "5595a0ef4079da3cbf5ab800a3d2d66e8534b74d"
      ],
      "author": {
        "name": "Jonathan Yong",
        "email": "10walls@gmail.com",
        "time": "Sat Feb 28 03:53:38 2026 +0000"
      },
      "committer": {
        "name": "Jonathan Yong",
        "email": "10walls@gmail.com",
        "time": "Sat Feb 28 13:03:44 2026 +0000"
      },
      "message": "mingw-w64-headers/crt/corecrt.h: fix cygwin w32api usage\n\nCygwin suppresses uintptr_t typedefs to avoid polluting its own\nCRT headers. This breaks any use of the type, yet including stdint.h\nfurther pollutes the namespace.\n\nUse __UINTPTR_TYPE__ directly in _invalid_parameter and _invoke_watson\nsince it is supported by both gcc and clang.\n\nSigned-off-by: Jonathan Yong \u003c10walls@gmail.com\u003e\n"
    },
    {
      "commit": "5595a0ef4079da3cbf5ab800a3d2d66e8534b74d",
      "tree": "d37df3e0854312fb915a2f89b8503d0305dfa1a3",
      "parents": [
        "2edb94e9160e7b1488b3471e14f3086520055eaa"
      ],
      "author": {
        "name": "David Grayson",
        "email": "davidegrayson@gmail.com",
        "time": "Thu Feb 19 17:06:31 2026 -0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Feb 28 11:21:38 2026 +0800"
      },
      "message": "headers/cfgmgr32: Fix the type of DWORD_MAX to be a DWORD.\n\nSigned-off-by: David Grayson \u003cdavidegrayson@gmail.com\u003e\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "2edb94e9160e7b1488b3471e14f3086520055eaa",
      "tree": "04bf8f4e9a5e1ead7207e549fc9690e98d5cf099",
      "parents": [
        "5ec0740c3e88116a26c245c5a11970ee28fec99c"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Jan 25 19:09:29 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Feb 28 11:06:44 2026 +0800"
      },
      "message": "crt: Document all 32-bit x86 advapi32.dll symbols\n\nReorder symbols in mingw-w64-crt/lib32/advapi32.def file and document in\nwhich Windows version was each symbol introduced.\n\nThis is just documentation change and does not add or remove any symbol in\n32-bit x86 libadvapi32.a import library.\n\nNewly documented symbols which were missing in the def file were added as\ncomments.\n\nThe fact that this does not change list of symbols can be verified by\ncomparing lines of advapi32.def file before and after this change that are\nsame when trimming comments and skipping empty lines. E.g. by command:\n\n    sed \u0027s/\\s*;.*//;/^$/d\u0027 mingw-w64-crt/lib32/advapi32.def | LC_ALL\u003dC sort\n\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "5ec0740c3e88116a26c245c5a11970ee28fec99c",
      "tree": "b788045196790fad6ee126081a8d820588613a8c",
      "parents": [
        "9a82fe55239f1395929c7062b5693a9ada015bc8"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Jan 25 19:09:26 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Feb 28 11:06:44 2026 +0800"
      },
      "message": "crt: Fix advapi32 SaferiIsDllAllowed symbol decoration\n\nSymbol SaferiIsDllAllowed was introduced in Windows 7 and had @12 ABI.\nBut Since Windows 8 it has @8 ABI. So change the symbol decoration to be\ncompatible with recent Windows versions.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "9a82fe55239f1395929c7062b5693a9ada015bc8",
      "tree": "e7e9b5c59bbcd2ebf15ad4bd194555f9805038c1",
      "parents": [
        "c74556d9d22bfe5bd36c875d95cea78d489469be"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Jan 25 19:01:38 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sat Feb 28 11:06:44 2026 +0800"
      },
      "message": "crt: Fix advapi32 SaferiRegisterExtensionDll symbol\n\nOrdinal-only symbol needs to be declared with NONAME, like current version of gendef is doing it.\nOrdinal @1000 in 32-bit x86 advapi32.dll file has name SaferiRegisterExtensionDll according to:\nhttps://www.geoffchappell.com/studies/windows/win32/advapi32/history/ords61.htm\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "c74556d9d22bfe5bd36c875d95cea78d489469be",
      "tree": "fc20e4a7ebbec8c7b16cf777a2b05f1be88d245b",
      "parents": [
        "6f3e2813d72d17289381a289de3cfcb905efbe3d"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Wed Feb 25 11:33:11 2026 +0200"
      },
      "committer": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Fri Feb 27 18:10:48 2026 +0200"
      },
      "message": "github: Update llvm-mingw to 20260224 (LLVM 22.1.0)\n\nThis version comes with LLVM 22.1.0. This also updates the set\nof libcxx tests (and sources) executed as part of CI, which includes\na fix for a test that could fail spuriously.\n\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n"
    },
    {
      "commit": "6f3e2813d72d17289381a289de3cfcb905efbe3d",
      "tree": "d6406532098e2c75dbb11eebc05cf6ec0d78104f",
      "parents": [
        "c39000898fa3f41df184597ebbd211e99df73aab"
      ],
      "author": {
        "name": "David Grayson",
        "email": "davidegrayson@gmail.com",
        "time": "Tue Feb 24 17:33:41 2026 -0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Feb 27 15:44:30 2026 +0800"
      },
      "message": "headers/intsafe: Add missing MIN/MAX macros.\n\nI tested this with my test suite at\nhttps://github.com/DavidEGrayson/intsafe\nto make sure the values and types are correct in\n32-bit/64-bit MinGW and 64-bit Cygwin environments.\n\nPotential compatibility issues:\n- The types of smaller macros like UINT8_MAX are \u0027int\u0027,\n  which is different from Microsoft\u0027s intsafe.h, but follows the\n  C specification and allows the preprocessor to understand\n  the macro\u0027s numeric value.\n- LONG_MIN, LONG_MAX, and ULONG_MAX describe \u0027long\u0027 and \u0027unsigned long\u0027,\n  whereas native Windows code might expect them to describe\n  LONG and ULONG, which sometimes have a different size.\n- 128-bit macros from the Microsoft header are not yet supported.\n- Some of these definitions are different than what we have in\n  stdint.h, limits.h, and cfgmgr32.h, so I\u0027d like to submit a patch\n  for those later if this is acceptd.\n\nTo keep things consistent and simple, I followed these rules:\n- A macro does not refer to another macro unless it saves a line of code.\n  Chains of macros are hard to debug because other included headers\n  could break the chain by redefining any macro in the chain.\n- Only use decimal if it makes the number shorter (otherwise use hex).\n- Don\u0027t use uppercase hex digits.\n- Don\u0027t use uppercase suffixes (for compatibility with __MSABI_LONG).\n- Only use \u0027l\u0027 and \u0027ll\u0027 suffixes if necessary.\n- Use a \u0027u\u0027 suffix on any unsigned macro that has a \u0027l\u0027 or \u0027ll\u0027 suffix,\n  to make it clear what the type is.\n- Use a \u0027u\u0027 suffix on any macro describing an unsigned type with\n  32 bits or more.  This ensures those macros will be treated as\n  unsigned in the preprocessor, avoiding surprising situations where\n  macros with the same value like ULONG_MAX and UINT32_MAX are\n  treated differently.\n- Only use subtraction if necessary.\n\nSigned-off-by: David Grayson \u003cdavidegrayson@gmail.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "c39000898fa3f41df184597ebbd211e99df73aab",
      "tree": "5126de30ee708db93cda69a9b562fa7487979514",
      "parents": [
        "6ea96cd6cf84f6aa9f0c09d891255b57c2f184c0"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Feb 26 11:15:08 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Feb 26 11:15:08 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "6ea96cd6cf84f6aa9f0c09d891255b57c2f184c0",
      "tree": "90f27bdedb1f55d367f25cbd3125c302c842a568",
      "parents": [
        "1a6d4c2ef2c996c71e264e82bab9321be9655db1"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Tue Feb 24 21:51:08 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 25 19:44:07 2026 +0800"
      },
      "message": "crt: test: Explicitly use CreateEventA() in t_safe_flush.c\n\nThis ensures that always ANSI variant is of the function is used.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "1a6d4c2ef2c996c71e264e82bab9321be9655db1",
      "tree": "8eb5ed9f6efdd4a3c4f59d5594affe372f23d9d5",
      "parents": [
        "b206bbe6e2c00603870f760a0e67eb4654e50099"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Tue Feb 24 21:50:48 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 25 19:44:07 2026 +0800"
      },
      "message": "crt: test: Replace usage of _beginthreadex() by CreateThread() in t_safe_flush.c test\n\nt_safe_flush.c is spawning new thread via _beginthreadex() which only uses\nWinAPI functions. So it does not need to use CRT function _beginthreadex()\nfor spawning thread and WinAPI CreateThread() is enough.\n\ncrtdll.dll does not contain _beginthreadex(), so this change allows to\ncompile t_safe_flush.c test against crtdll.dll.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "b206bbe6e2c00603870f760a0e67eb4654e50099",
      "tree": "a6ab7c0d0d41cf2d19c5af65e05fe9014453d2f8",
      "parents": [
        "adec937cdfe64ce68d7ebf6e3ac56fa5f8d69a75"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Tue Feb 24 21:50:13 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 25 19:44:07 2026 +0800"
      },
      "message": "crt: test: Fix volatile in test t_tmain.c\n\nThe purpose of volatile for wmainptr should be that the variable wmainptr\nis not optimized out. So the volatile has to be set on the variable and not\nto its pointer value.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "adec937cdfe64ce68d7ebf6e3ac56fa5f8d69a75",
      "tree": "0cedcbcb439a943f0f5a3418ec3e11342a018e6c",
      "parents": [
        "a89c6ef6bd9c1b768f3ae0b07d6bd4e81309951c"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Tue Feb 24 21:32:48 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 25 19:44:07 2026 +0800"
      },
      "message": "crt: Check for NULL handle returned from wide WinAPI functions\n\nOn Win9x wide WinAPI functions return NULL handle (0) to indicate error\nthat function failed, instead of INVALID_HANDLE_VALUE handle (-1).\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "a89c6ef6bd9c1b768f3ae0b07d6bd4e81309951c",
      "tree": "ae9e30f77941355def4a2563176e46588f0250d0",
      "parents": [
        "7d022bba72ed8bf7c099a91863ba4a790a98d05c"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Tue Feb 24 21:34:09 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 25 19:44:07 2026 +0800"
      },
      "message": "crt: Remove oscalls.h\n\nThis header file is not installed and the only useful part of it is\ninclusion of windows.h.\n\nFiles crtdll.c and crtexe.c already include windows.h.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "7d022bba72ed8bf7c099a91863ba4a790a98d05c",
      "tree": "3055d588a90ffb20425d5214c5db01408f5e159f",
      "parents": [
        "43f2643cbde20aff1c4b89a98c78d0b4b0fe90c2"
      ],
      "author": {
        "name": "David Grayson",
        "email": "davidegrayson@gmail.com",
        "time": "Mon Feb 23 10:57:13 2026 -0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 25 19:35:16 2026 +0800"
      },
      "message": "header/intsafe: Fix Cygwin compatibility.\n\nIn 64-bit Cygwin, both \"long\" and \"long long\" are both 64-bit types,\nso some 64-bit types that we assumed were the same are actually different.\n- size_t (unsigned long) !\u003d UINT_PTR (unsigned long long)\n- ptrdiff_t (long) !\u003d INT_PTR (long long)\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "43f2643cbde20aff1c4b89a98c78d0b4b0fe90c2",
      "tree": "3626fb242e4013c12623373a2885002019a2c744",
      "parents": [
        "d4fd66896d1e8be3be37ca8a35a54f1e0302a5d4"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Feb 12 10:09:24 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Feb 19 13:52:30 2026 +0800"
      },
      "message": "doc: Fix sample argument to `--enable-sdk\u003d` [no ci]\n\nThe argument `none` is not valid. It should be `no`.\n\nThis closes https://github.com/mingw-w64/mingw-w64/issues/161.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "d4fd66896d1e8be3be37ca8a35a54f1e0302a5d4",
      "tree": "ec64f8846f38db0e5e1f29d1cb597e4d8cd0419b",
      "parents": [
        "4b45d2f9594e67adcbf77536c96b90cddb230f30"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Jan 17 15:41:16 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 18 15:24:51 2026 +0800"
      },
      "message": "crt: test: In t_stat_slash.c print errno after failed (w)stat call\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "4b45d2f9594e67adcbf77536c96b90cddb230f30",
      "tree": "b2a63c34b5ad93e1e656a48cbf7d49ea00b18169",
      "parents": [
        "90b07a47bded9dcf7544970bd68826289761f424"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Jan 17 15:40:50 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 18 15:24:51 2026 +0800"
      },
      "message": "crt: test: In t_stat_slash.c print wchar_t* string via %ls format\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "90b07a47bded9dcf7544970bd68826289761f424",
      "tree": "d1ddb21cfa13d727d86c506d5eed610ea9cd248b",
      "parents": [
        "100187e25744226a1edd34ecd82e981af7e35411"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sat Jan 17 15:40:00 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 18 15:24:51 2026 +0800"
      },
      "message": "crt: test: In t_stat_slash.c turn off buffering for stdout\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "100187e25744226a1edd34ecd82e981af7e35411",
      "tree": "798d7e5da6239186c670018e1ddc98e8b3bf7fc1",
      "parents": [
        "a125b9ec1d96ff282155f2344f7d6eb50bf43c02"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Fri Feb 13 20:00:51 2026 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 18 15:20:17 2026 +0800"
      },
      "message": "crt: Fix _wstat() for crtdll.dll/msvcrt10.dll when called on directory\n\nCRT _fstat function returns S_IFREG for directories, but CRT _stat function\nreturns S_IFDIR for directories. mingw-w64 fstat functions fixes this\n_fstat issues, so use fstat for _wstat emulation used for crtdll.dll and\nmsvcrt10.dll builds.\n\nThis change fixes the t_stat_slash test when compiled against crtdll.dll.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "a125b9ec1d96ff282155f2344f7d6eb50bf43c02",
      "tree": "90229fe1b7ef770e7f92c0585721213aef33d670",
      "parents": [
        "441cc509feb3031fd4181ab90a1194a3e3065b6a"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Jan 18 21:28:09 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Feb 17 14:07:27 2026 +0800"
      },
      "message": "headers/pdhmsg: Define `PDH_*` constants with `__MSABI_LONG`\n\nThis tries to match how they are defined in the Microsoft header. Despite the\n`L` suffix, most of these constants are of type `unsigned long`.\n\nThis closes https://github.com/mingw-w64/mingw-w64/pull/151 and\nhttps://github.com/mingw-w64/mingw-w64/pull/152.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "441cc509feb3031fd4181ab90a1194a3e3065b6a",
      "tree": "96dd9b69296169b83b5ab641b70c26ecc6fd8126",
      "parents": [
        "b9b5232f7c415243833ae64341e6a28e29c33f54"
      ],
      "author": {
        "name": "David Grayson",
        "email": "davidegrayson@gmail.com",
        "time": "Mon Feb 16 08:40:24 2026 -0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Feb 17 14:06:30 2026 +0800"
      },
      "message": "headers/esent: Fix JetOpenTemporaryTable compilation error.\n\nOnly declare JetOpenTemporaryTable if we also define its\nsecond argument type, JET_OPENTEMPORARYTABLE.\n\nSigned-off-by: David Grayson \u003cdavidegrayson@gmail.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "b9b5232f7c415243833ae64341e6a28e29c33f54",
      "tree": "f5eb72a190bc9e12cc56914c2714d5dd665c02c8",
      "parents": [
        "fc934554263ce9de070f7691129e7f1fbf15ca4a"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Feb 15 15:47:02 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Feb 15 16:19:47 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "fc934554263ce9de070f7691129e7f1fbf15ca4a",
      "tree": "e9adf8af6d643cf3782ba2777591b2a954cdecd2",
      "parents": [
        "d6c41f9c9258ec893c4fb73f6cfa52841ce23363"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Fri Dec 19 17:38:13 2025 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Feb 15 16:19:38 2026 +0800"
      },
      "message": "crt: Fix fstat() to signal overflow and return correct type for directories\n\nmsvcrt _fstat function is broken and for directory fd it returns S_ISREG\ntype. 32-bit pre-msvcr110 _fstat does not properly signal size overflow.\nUCRT seems to work correctly.\n\nAdd mingw-w64 fstat wrappers around msvcrt _fstat functions which change\nS_IFMT to S_IFDIR if winapi filehandle has FILE_ATTRIBUTE_DIRECTORY\nattribute set. Provide wrapper for all 4 fstat size_t/time_t variants.\nFor 32-bit pre-msvcr110 builds, adds similar workaround like for existing\nmingw-w64 stat functions.\n\nCurrently our mingw-w64 header files defines non-underscore fstat and\nfstat64 functions as __MINGW_ASM_CALL redirects to underscore _fstat32,\n_fstat32i64, _fstat64i32, _fstat64 functions based on _FILE_OFFSET_BITS and\n_TIME_BITS macros. So every one of these 4 functions needs its own fixup\nwrapper. This change introduce 4 new non-underscore symbols fstat32,\nfstat32i64, fstat64i32, fstat64 which provides necessary fixup and to which\nmingw-w64 sys/stat.h header file redirects existing fstat and fstat64\nfunctions. UCRT does not need any fixup, so new symbols are added as\naliases in def files.\n\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "d6c41f9c9258ec893c4fb73f6cfa52841ce23363",
      "tree": "553e1ab4712107edcb39d856aeec9ca12eddb54b",
      "parents": [
        "9725c0c198cdbcbb5440b0d2411e98dea8201a6d"
      ],
      "author": {
        "name": "Pali Rohár",
        "email": "pali.rohar@gmail.com",
        "time": "Sun Dec 28 19:01:22 2025 +0100"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Sun Feb 15 13:57:12 2026 +0800"
      },
      "message": "crt: Fix mingw-w64 getenv_s() emulation for case when the variable name is NULL\n\nThis special case does not throw an exception from invalid parameter handler.\n\nCo-authored-by: LIU Hao \u003clh_mouse@126.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "9725c0c198cdbcbb5440b0d2411e98dea8201a6d",
      "tree": "43079a06efb9f1e8b23260575d78b16b205ad090",
      "parents": [
        "08e816bcc8c8182348ba383a1ec86fc784466125"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Thu Feb 12 14:51:00 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Fri Feb 13 10:35:48 2026 +0800"
      },
      "message": "crt: call __mingw_isleadbyte_cp from __mingw_mbrtowc_cp\n\nPreviously, `__mingw_mbrtowc_cp` called CRT\u0027s `isleadbyte` to determine\nwhether first byte pointed to by `mbs` is a DBCS leading byte.\n\nWhile `__mingw_mbrtowc_cp` explicitly takes code page to operate on,\nCRT\u0027s `isleadbyte` depends on active locale set with `setlocale`.\n\nUsing `__mingw_isleadbyte_cp` instead has the following advantages:\n\n1. This removes dependency on CRT state, making it possible to call\n`__mingw_mbrtowc_cp` with any SBCS and DBCS code page regardless of thread\u0027s\nactive locale.\n\n2. This removes a possible race condition when either of `mbrlen`, `mbrtowc` or\n`mbsrtowcs` obtained code page information from CRT, but then another thread\nchanged global locale before `__mingw_mbrtowc_cp` has called `isleadbyte`,\nleading to incorrect results.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "08e816bcc8c8182348ba383a1ec86fc784466125",
      "tree": "cd09b9e375b9c077c22a5b3d9fbf4f7236f35af5",
      "parents": [
        "78510efbbe4522957790eaaa39a386c939d308bf"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 15:01:07 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 15:01:07 2026 +0800"
      },
      "message": "crt: Regenerate Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "78510efbbe4522957790eaaa39a386c939d308bf",
      "tree": "92a1eed9331fba871cf294c725f3801b669b3dbb",
      "parents": [
        "60d8535bcce7ba41d4d0b7789fe1f16de11cf553"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:09:59 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:10 2026 +0800"
      },
      "message": "Move source files for [w]ctype.h functions to ctype subdirectory\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "60d8535bcce7ba41d4d0b7789fe1f16de11cf553",
      "tree": "8846ec8f6ec3f1701b2466f09798a70ff2068045",
      "parents": [
        "27f5863185ff02725d63832c6325e05ee0902aac"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:09:56 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: add test for towctrans function\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "27f5863185ff02725d63832c6325e05ee0902aac",
      "tree": "cecdabd41aa113b2b98253a8f8f23ae94c2e176d",
      "parents": [
        "f616eafabfb2a79e5491f95266af49c05a7fca0a"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:09:54 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: replace towctype function for msvcr120.dll and UCRT\n\nPOSIX requires that `towctrans` returns its first argument unchanged when\nits second argument is `(wctrans_t)0`; CRT\u0027s `towctrans` does not conform\nto POSIX while mingw-w64\u0027s `towctrans` does.\n\nThis change makes POSIX-conforming `towctrans` available with all CRTs.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "f616eafabfb2a79e5491f95266af49c05a7fca0a",
      "tree": "b0c97c9e1a6bceeedd0b0953266c23e927223d22",
      "parents": [
        "dc1f3deb34242d51eec103955ee6606278a90209"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:09:51 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: tidy-up wctrans.c\n\nFix inconsistent use of tabs and spaces in the comments.\nRemove trailing whitespace.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "dc1f3deb34242d51eec103955ee6606278a90209",
      "tree": "b32046ee12a8b48eef5460be70ba1ce5d0bf71d1",
      "parents": [
        "68aed2b5e0db7b6a43a998c5df1136bf5d944028"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:09:48 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: add test for iswctype function\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "68aed2b5e0db7b6a43a998c5df1136bf5d944028",
      "tree": "4bd7557fc20f6b7f007bde2b2a63f1dcd22d13f1",
      "parents": [
        "e0b463333be688188e22c9f66a408f7f22d5de0b"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:09:45 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: add tests for standard C functions declared in [w]ctype.h\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "e0b463333be688188e22c9f66a408f7f22d5de0b",
      "tree": "621e3b59b114567ed0dd989d87a458f7064a2025",
      "parents": [
        "05c73542b50cd6f9a137e4ac6ee1455fff427190"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:08:37 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: replace is[w]print functions for crtdll.dll...msvcr110.dll\n\nCRT\u0027s iw[w]print functions return inconsistent results for TAB character.\nSee comments in isprint.c and iswprint.c for behavior summary.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "05c73542b50cd6f9a137e4ac6ee1455fff427190",
      "tree": "5d74b87b60e69a49f4557a77de16d05b83562907",
      "parents": [
        "5678a2bfedf3d4ea3109447e1b94628e396d229b"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:05:10 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: isblank.c: document _isctype (\u0027\\t\u0027, _BLANK) behavior among CRTs\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "5678a2bfedf3d4ea3109447e1b94628e396d229b",
      "tree": "14a197a1e2680a20bd2cd0b29b7f1289d4657446",
      "parents": [
        "d5cdf8f42dbfe8e390f1afafce1048b6d530c960"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:04:32 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: iswblank: remove explicit check for L\u0027\\t\u0027\n\nmingw-w64 now provides `iswctype` function which properly handles TAB character;\nthis allows to remove explicit check for L\u0027\\t\u0027 in both library and macro\nversions of `iswblank` function.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "d5cdf8f42dbfe8e390f1afafce1048b6d530c960",
      "tree": "67aabfa4304b45eb1e7bd9342f78c97cb75c2092",
      "parents": [
        "4c2e9e65e1e78af6f79f2cc8325d1fb0060a25a2"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:04:00 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:09 2026 +0800"
      },
      "message": "crt: wctype: add support for \"blank\" character class\n\nAdd support for \"blank\" character class to provide C99 conforming implementaion\nof `wctype` function for all CRTs up to msvcr110.dll; msvcr120.dll and UCRT\nprovide C99 conforming `wctype` function.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "4c2e9e65e1e78af6f79f2cc8325d1fb0060a25a2",
      "tree": "2458a714fbdd600195dfb6b62f85f2848ae777eb",
      "parents": [
        "b60c08d66248be76187170ea591524dd91aa6459"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:03:27 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:08 2026 +0800"
      },
      "message": "crt: tidy-up wctype.c\n\nFix inconsistent use of tabs and spaces in the comments.\nRemove trailing whitespace.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "b60c08d66248be76187170ea591524dd91aa6459",
      "tree": "5c0460f1882ecfdd8bc6d1f2c729298a9ed6d458",
      "parents": [
        "843a6c53d28fac18a99d15fb1df5621f6d76430d"
      ],
      "author": {
        "name": "Kirill Makurin",
        "email": "maiddaisuki@outlook.com",
        "time": "Sat Feb 07 11:02:33 2026 +0900"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Wed Feb 11 14:45:08 2026 +0800"
      },
      "message": "crt: replace iswctype function for all CRTs\n\nCRT\u0027s `iswctype` mishandles TAB character when passed `wctype_t` argument\ncontains `_BLANK` bit; see iswctype.c for behavior summary.\n\nSigned-off-by: Kirill Makurin \u003cmaiddaisuki@outlook.com\u003e\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "843a6c53d28fac18a99d15fb1df5621f6d76430d",
      "tree": "61afe9d77de6e00edecfa9ecf7f3920b0b8519db",
      "parents": [
        "217f6fe8c65b4e002f6a733d6dcaee8d907efede"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:15:07 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:15:19 2026 +0800"
      },
      "message": "headers: Regenerate configure and Makefile.in\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "217f6fe8c65b4e002f6a733d6dcaee8d907efede",
      "tree": "d7fbe0d0853d40e1c53149218a6f8361c1a57e28",
      "parents": [
        "e6c91db58dc595697e7d1efed48fbfa9be9f37f9"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:06:59 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:06:59 2026 +0800"
      },
      "message": "headers/_mingw: Undefine `MINGW_SDK_INIT`\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "e6c91db58dc595697e7d1efed48fbfa9be9f37f9",
      "tree": "ff9d4dbb80d4939eae3320f72dcabc3981fb5dd5",
      "parents": [
        "2dbc67afe55674278e57eb054936ba11b3c5d776"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:06:28 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:06:28 2026 +0800"
      },
      "message": "headers/_mingw,ddk: Undefine `MINGW_HAS_DDK_H`\n\nNo code is known to check for this macro.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "2dbc67afe55674278e57eb054936ba11b3c5d776",
      "tree": "adc1cc8b6a03055cba8079be024133d2bffceb36",
      "parents": [
        "fee47c2048071225c41b0de595c2d3a350a44ffd"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:01:11 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:01:11 2026 +0800"
      },
      "message": "headers/_mingw: Undefine `MINGW_HAS_SECURE_API`\n\nSince 3bef7c2206bb6f9552ea7e61315c4bf7af3aa6c9, secure APIs are always provided\nand there\u0027s no need to check for this macro.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "fee47c2048071225c41b0de595c2d3a350a44ffd",
      "tree": "b2a81002d066f83596770afc73a3086fd87000fd",
      "parents": [
        "cc42b08ae2baa27b53f94faeaa1ea820210d7f5e"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:00:37 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 17:00:37 2026 +0800"
      },
      "message": "headers/_mingw: Use reserved identifiers in inline functions\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "cc42b08ae2baa27b53f94faeaa1ea820210d7f5e",
      "tree": "b1185715ffd69a627441b6e4fb55db7f6d1e66ed",
      "parents": [
        "0ffb6f1924d171a81f687b06a0fee91cfad0c037"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 15:25:26 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 15:25:26 2026 +0800"
      },
      "message": "headers,crt: Regenerate configure and Makefile.in from top level\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "0ffb6f1924d171a81f687b06a0fee91cfad0c037",
      "tree": "3a0d56c30d3669737e25f52738e9a548354a6f16",
      "parents": [
        "b5b00d6d59dc6f405e355bec42b7586e545e6011"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Jan 20 13:38:55 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 15:00:28 2026 +0800"
      },
      "message": "headers: Remove obsolete \u0027defaults\u0027 directory\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "b5b00d6d59dc6f405e355bec42b7586e545e6011",
      "tree": "1b2cc85959667a46256cd1b36ad72b449cff0906",
      "parents": [
        "4154bfa1903ad535b41d345228888b44c5228acc"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Tue Jan 20 15:58:08 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 14:59:01 2026 +0800"
      },
      "message": "headers: Remove now unused `AC_PROG_SED`\n\nIt was used to process _mingw_ddk.h.in, which has been removed.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "4154bfa1903ad535b41d345228888b44c5228acc",
      "tree": "b0867c57912547222ae9cc8cb8f999b4595837bb",
      "parents": [
        "7d006b2ea4b17da66e515f4494b86cc1adb52f24"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Jan 22 10:32:37 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Mon Feb 09 14:58:22 2026 +0800"
      },
      "message": "headers: Move `MINGW_HAS_DDK_H` from sdks/_mingw_ddk.h to _mingw.h\n\nThis eliminates the need for sdks/_mingw_ddk.h, so all build rules about it\ncan be removed.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    },
    {
      "commit": "7d006b2ea4b17da66e515f4494b86cc1adb52f24",
      "tree": "e5cc77bf589a62e1c61b364f949cf50fb73bc358",
      "parents": [
        "3182d8b2f4face17db24f3cb926f5bed04643d96"
      ],
      "author": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Feb 05 12:03:32 2026 +0800"
      },
      "committer": {
        "name": "LIU Hao",
        "email": "lh_mouse@126.com",
        "time": "Thu Feb 05 12:04:09 2026 +0800"
      },
      "message": "headers: Update imported headers to Wine 7221d4565c55d006f18d50481e246a5c9649a3ff\n\nThis closes https://github.com/mingw-w64/mingw-w64/issues/159.\n\nSigned-off-by: LIU Hao \u003clh_mouse@126.com\u003e\n"
    }
  ],
  "next": "3182d8b2f4face17db24f3cb926f5bed04643d96"
}
