)]}'
{
  "log": [
    {
      "commit": "5fc3d5f9b1388ff012355c1496c6035332676233",
      "tree": "dc1b77c8dfe7b7ac862f3d382a7247f613c965bd",
      "parents": [
        "9bbd787dfe3496b79e61578d1d24a7e146776671"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Sat May 09 08:46:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 08:46:32 2026"
      },
      "message": "[wasm64] Add casts when `makeDynCall` returns a pointer (#26879)\n\nThis fixes a `UTF8ToString expects a number (got bigint)` crash in our\n`beforeunload` handler that was occurring on wasm64 only.\n\nFixes: #26876"
    },
    {
      "commit": "9bbd787dfe3496b79e61578d1d24a7e146776671",
      "tree": "097b96c20c097fa1dde07df84ee0bff31e623deb",
      "parents": [
        "75cfc91688d7f01b34318448566cddc37d01b566"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat May 09 08:44:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 08:44:53 2026"
      },
      "message": "Disable failing test browser_2gb.test_sdl_canvas_safe_heap on Safari. (#26899)\n\nThis test fails in what looks like some kind of a WebAssembly code\nmiscompilation(!)\n\n\u003cimg width\u003d\"2869\" height\u003d\"1437\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/b2f6a55b-d399-490e-a565-ae538ad19fb7\"\n/\u003e\n\nCompiled malloc segfaults. I\u0027ve no idea why that happens, and only in\nthis test.\n\nAbove:\n - left side\u003dFirefox, runs ok.\n - right side\u003dSafari 26, fails.\n\nReduced STR:\n\n`test.c`\n\n```c++\n#include \u003cassert.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cSDL/SDL.h\u003e\n#include \u003cSDL/SDL_ttf.h\u003e\n#include \u003cemscripten.h\u003e\n#include \u003cemscripten/html5.h\u003e\n\nint main(int argc, char **argv) {\n  SDL_Init(SDL_INIT_VIDEO);\n  SDL_Surface *screen \u003d SDL_SetVideoMode(600, 450, 32, SDL_HWSURFACE);\n  return 0;\n}\n```\n\n```\nemcc test.c -sSTRICT_JS -sLEGACY_GL_EMULATION -lSDL -lGL -sSAFE_HEAP -g -sINITIAL_MEMORY\u003d2200mb -sGLOBAL_BASE\u003d2GB -o test.html\n```\n\nresults in Safari calling out to `segfault`.\n\nAlso happens in `-sMALLOC\u003demmalloc`.\n\nWill need to investigate more. For now disable the test to try to get my\nmacOS runner green."
    },
    {
      "commit": "75cfc91688d7f01b34318448566cddc37d01b566",
      "tree": "826fc20d0dfe227b0b8b08a4e630dba6fb09d8f4",
      "parents": [
        "eda04fca7b9f35992120f4d607a283537f4295b4"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat May 09 00:09:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 00:09:49 2026"
      },
      "message": "On macOS hosts, autodetect the system Safari browser (#26897)\n\nOn macOS hosts, autodetect the system Safari browser, if no other test\nbrowser is present. This is symmetric to looking up Firefox/Chrome in\nPATH on other OSes.\n\nFixes `emrun.test_no_browser` test on macOS when no EMTEST_BROWSER is\nset."
    },
    {
      "commit": "eda04fca7b9f35992120f4d607a283537f4295b4",
      "tree": "1be8129a18a1d68cf117ba03746f428cbca8ccdb",
      "parents": [
        "5f67aea499c47349c6393f90a579d7f74cd4dc4a"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri May 08 20:11:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 20:11:51 2026"
      },
      "message": "Use `_Thread_local` for `h_errno` to match errno. NFC (#26889)\n\nThis has the nice side effect of reducing the size of the pthread struct\nso programs that don\u0027t use `h_errno` don\u0027t pay any codesize cost."
    },
    {
      "commit": "5f67aea499c47349c6393f90a579d7f74cd4dc4a",
      "tree": "53a8680a8aa09acb78eb8a81d2eba50e4bc2bb9a",
      "parents": [
        "48a0bbd886da9b0c08f9dfa1db7d6da2d8789685"
      ],
      "author": {
        "name": "Brendan Dahl",
        "email": "brendan.dahl@gmail.com",
        "time": "Fri May 08 19:41:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 19:41:04 2026"
      },
      "message": "[tsgen] Use node16 resolution for tsgen CommonJS test (#26896)\n\nUpdate the CommonJS test case in `test_embind_tsgen_end_to_end` to use\n`node16` for `--module` and `--moduleResolution`.\n\nThis fixes the TS5107 compiler error caused by the deprecation of the\nlegacy `node10` resolution strategy in modern versions of TypeScript.\n\nBecause there is no `type: \"module\"` specified in the package.json of\nthe test environment, `node16` resolution continues to treat and\ngenerate files as CommonJS, preserving the intent of the test."
    },
    {
      "commit": "48a0bbd886da9b0c08f9dfa1db7d6da2d8789685",
      "tree": "1a52180a4524ab99ea9681dccc3a46a9ba5dc675",
      "parents": [
        "101b3332e81c9a438a771f4174ff723e83927d4e"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri May 08 16:25:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 16:25:17 2026"
      },
      "message": "Fix closure compiler warnings with -sFULL_ES3 (#26893)\n\nWithout this we see\n```\nbuilding:ERROR: /tmp/emscripten_temp/hello_world.js:14723:8: WARNING - [JSC_UNREACHABLE_CODE] unreachable code\n  14723|         GLctx.bufferSubData(target, mapping.offset, HEAPU8.subarray(mapping.mem, mapping.mem+mapping.length));\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n```\n\nThe `if/else` stuff around `GLctx.bufferSubData` is pretty nasty so I\nhave a followup to tidy it up.\n\nAlso, include more of webgl in test_codesize_hello_dylink_all. It\nobviously gets much bigger but its also means that we can use this to\nobserve codesize changes in more library code."
    },
    {
      "commit": "101b3332e81c9a438a771f4174ff723e83927d4e",
      "tree": "3cbc33ae2776de0c374670906dc1a5e1a98a328f",
      "parents": [
        "0d8be82eae288c1063efb2a5433f9c5684530b4a"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Fri May 08 15:00:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:00:03 2026"
      },
      "message": "Automatic rebaseline of codesize expectations. NFC (#26894)\n\nThis is an automatic change generated by\ntools/maint/rebaseline_tests.py.\n\nThe following (3) test expectation files were updated by\nrunning the tests with `--rebaseline`:\n\n```\ncodesize/test_codesize_hello_O0.json: 39070 \u003d\u003e 39101 [+31 bytes / +0.08%]\ncodesize/test_codesize_hello_dylink_all.json: 822686 \u003d\u003e 822787 [+101 bytes / +0.01%]\ncodesize/test_unoptimized_code_size.json: 180144 \u003d\u003e 180180 [+36 bytes / +0.02%]\n\nAverage change: +0.04% (+0.01% - +0.08%)\n```\n\nCo-authored-by: emscripten-bot \u003cemscripten-bot@users.noreply.github.com\u003e"
    },
    {
      "commit": "0d8be82eae288c1063efb2a5433f9c5684530b4a",
      "tree": "3650267abbe0bb695f0468ff89cd547c2328e04c",
      "parents": [
        "ca13dbce0fa967b3e99c239966a559eb08ffe604"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri May 08 08:30:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:30:48 2026"
      },
      "message": "Enabled `test_pthread_dylink_tls` under `STACK_OVERFLOW_CHECK\u003d2` (#26890)\n\nThe actual fix for this was combination of #26878 and\nhttps://github.com/WebAssembly/binaryen/pull/8679\n\nFixes: #24964 Please enter the commit message for your changes. Lines\nstarting"
    },
    {
      "commit": "ca13dbce0fa967b3e99c239966a559eb08ffe604",
      "tree": "7b8ed1d563099239570fbd8c1d865fb78ba34737",
      "parents": [
        "112eaf3e0bca6fe807fddd242033ebe44b027258"
      ],
      "author": {
        "name": "Vittorio Romeo",
        "email": "mail@vittorioromeo.com",
        "time": "Fri May 08 08:29:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:29:58 2026"
      },
      "message": "webgl: fix glGetUniform*v ignoring program param (#26845)\n\nFixes #26844. PR created with AI assistance.\n\n`$emscriptenWebGLGetUniform` resolved its uniform location via\n`$webglGetUniformLocation`, which uses `GLctx.currentProgram`. Per the\nGLES spec, `glGetUniform*v` takes the program explicitly and does not\nrequire `glUseProgram`. Calling it without a current program returned\nundefined and `GLctx.getUniform` threw a `TypeError`.\n\nAdditionally, under `-sGL_ASSERTIONS`, the location validation ran\nbefore the integer-`GLuint` -\u003e `WebGLProgram` swap, dereferencing a\nproperty of a `Number` and crashing.\n\nFix both: run assertions in the correct order around the swap and\nprepare call, and resolve the location against the explicit program\ninline. Adds a parameterized regression test."
    },
    {
      "commit": "112eaf3e0bca6fe807fddd242033ebe44b027258",
      "tree": "2f2e8c26d3797dd74edbfdd06e29e0f672b43ca6",
      "parents": [
        "fa690e819643a51b6d2e45b32bbd365cf5971807"
      ],
      "author": {
        "name": "Gary Mathews",
        "email": "contact@garymathews.com",
        "time": "Fri May 08 05:47:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 05:47:03 2026"
      },
      "message": "[deps] Update emdawnwebgpu to v20260423.175430 (#26891)\n\n- Update `emdawnwebgpu` to latest `v20260423.175430`\n  - https://github.com/google/dawn/releases/tag/v20260423.175430\n```\nsha256:3ad7ebe95a4a20764df46c5a63b0ad489782aee26804fff8511d9797c10e732f\nsha512:42784f70b67197c614322f9fabb0f1dc64228a0de10e88f99941fa9d29bee9ad6683f4651d4eefd5a7a9fbd1f976eb522b190b683219ed1793e9b531c602ffa6\n```"
    },
    {
      "commit": "fa690e819643a51b6d2e45b32bbd365cf5971807",
      "tree": "e15a36abb018f5cc19cae501eac73a933784f255",
      "parents": [
        "6f75eacf88def735be4f5101681569e477251e34"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri May 08 00:07:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 00:07:13 2026"
      },
      "message": "[CI] Unpin chrome now that upstream issues is fixed. NFC (#26872)\n\nSee https://g-issues.chromium.org/issues/503869362\n\nFixes: #26720"
    },
    {
      "commit": "6f75eacf88def735be4f5101681569e477251e34",
      "tree": "34c7287bb0bb2ed3a3af7f5768ac31abb5d27bb4",
      "parents": [
        "42c5ceaa3c346b07f225fa7581a5f50292bfba4c"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu May 07 23:18:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 23:18:41 2026"
      },
      "message": "Require names when using `STACK_OVERFLOW_CHECK\u003d2` (#26878)\n\nThis change is needed so that\nhttps://github.com/WebAssembly/binaryen/pull/8679 can roll in.\n\nThe combination will then fix #24964"
    },
    {
      "commit": "42c5ceaa3c346b07f225fa7581a5f50292bfba4c",
      "tree": "2e21f72f7cb40c96d3c4bf717f67fb7ca102f756",
      "parents": [
        "e6ad2d181194717fddd1a70184b00ec373c38c23"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu May 07 23:14:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 23:14:53 2026"
      },
      "message": "[CI] Temporarily disable test_mainScriptUrlOrBlob (#26888)\n\nSee #26882"
    },
    {
      "commit": "e6ad2d181194717fddd1a70184b00ec373c38c23",
      "tree": "238ebfc7cf5f4dd8220374fd730e8488bc3ff24a",
      "parents": [
        "0630136d62356e632ef1e244aef8eba3ebea6a91"
      ],
      "author": {
        "name": "Alon Zakai",
        "email": "azakai@google.com",
        "time": "Thu May 07 15:39:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 15:39:22 2026"
      },
      "message": "Reword changelog mention about threads. NFC (#26881)\n\nThe mention of threads here suggested it was on and could not be\ndisabled, see\nhttps://github.com/emscripten-core/emscripten/pull/26677#discussion_r3176309651"
    },
    {
      "commit": "0630136d62356e632ef1e244aef8eba3ebea6a91",
      "tree": "8643e3d15d0572b3a33fb001bf8b5a0173bb6d41",
      "parents": [
        "d137befc2b92ddd6e2764ed81d7b78f5182e5a86"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu May 07 14:54:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 14:54:27 2026"
      },
      "message": "Clean up test_this_in_dyncall. NFC (#26880)\n\nFor some reason when this test was added in #18169 the file name was\ncalled `no_this_in_dyncall` despite the fact that the test name and\ncomment and content seem to imply that it is for testing the presence of\nthis in dyncall *is* allowed."
    },
    {
      "commit": "d137befc2b92ddd6e2764ed81d7b78f5182e5a86",
      "tree": "e13358502fbdedab5e653d134a7a56fcb426c619",
      "parents": [
        "f8e5dd61ff1c51f3fd108383ebf92cd9f071bcef"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Thu May 07 07:12:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 07:12:39 2026"
      },
      "message": "Automatic rebaseline of codesize expectations. NFC (#26884)\n\nThis is an automatic change generated by\ntools/maint/rebaseline_tests.py.\n\nThe following (1) test expectation files were updated by\nrunning the tests with `--rebaseline`:\n\n```\ncodesize/test_codesize_cxx_lto.json: 120587 \u003d\u003e 120793 [+206 bytes / +0.17%]\n\nAverage change: +0.17% (+0.17% - +0.17%)\n```\n\nCo-authored-by: emscripten-bot \u003cemscripten-bot@users.noreply.github.com\u003e"
    },
    {
      "commit": "f8e5dd61ff1c51f3fd108383ebf92cd9f071bcef",
      "tree": "f184cce8abf2b8fef35669a228b1075894726eb9",
      "parents": [
        "4a91be37f287208399b10cb336228e833d2e24e0"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Wed May 06 20:50:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 20:50:55 2026"
      },
      "message": "Fix infinite recursion in test browser.test_webgl_context_major_version. (#26875)\n\nFix infinite recursion in test browser.test_webgl_context_major_version.\n\nabort() calls to err(), and the test would overwrite err() to call to\nabort().\n\nThe test would pass, but only after throwing \n\n```\n[890/960] test_webgl_context_major_version (test_browser.browser64_4gb.test_webgl_context_major_version) ... JavaScript error: http://localhost:8888/test.js, line 193: InternalError: too much recursion\nJavaScript error: http://localhost:8888/test.js, line 193: InternalError: too much recursion\nJavaScript error: http://localhost:8888/test.js, line 193: InternalError: too much recursion\nJavaScript error: http://localhost:8888/test.js, line 193: InternalError: too much recursion\nok\n```\n\nhttp://clbri.com:8010/api/v2/logs/420471/raw_inline"
    },
    {
      "commit": "4a91be37f287208399b10cb336228e833d2e24e0",
      "tree": "57d33d31e385068650798ab553d7a37b6f8d6ca1",
      "parents": [
        "bfe3a910aaa90338794ef4b16d9d257676e2ff5d"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Wed May 06 20:50:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 20:50:03 2026"
      },
      "message": "Remove use of the nascent EMSCRIPTEN_AUDIO_WORKLET_NODE_T everywhere (#26867)\n\nRemove use of the nascent EMSCRIPTEN_AUDIO_WORKLET_NODE_T everywhere,\nand replace its uses with the EMSCRIPTEN_WEBAUDIO_T handle type instead.\n\nNo need to have separate typedefs for Web Audio handles, that would be\noverkill at this point.\n\nAddresses #23153."
    },
    {
      "commit": "bfe3a910aaa90338794ef4b16d9d257676e2ff5d",
      "tree": "00abaf3283d2bd326b701ee2d0773989054a6e53",
      "parents": [
        "6d166227bdd4e3dc9e7695559928f8dd7f2536eb"
      ],
      "author": {
        "name": "이대희",
        "email": "lee111dae11@proton.me",
        "time": "Wed May 06 20:23:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 20:23:04 2026"
      },
      "message": "[tsgen] Quote non-identifier enum value names in module entry. (#26814)\n\n`enum_value_type::string` (added in #25257) accepts arbitrary JS-facing\nnames via `.value(\"name\", ...)`. The type union path quotes these\ncorrectly as string literals, but `printModuleEntry` emits them as bare\nobject keys, producing invalid TypeScript when the name is not a valid\nJS identifier.\n\n```cpp\nenum_\u003cFoo\u003e(\"Foo\", enum_value_type::string).value(\"a-b\", Foo::A);\n```\n\nBefore:\n```ts\nFoo: { a-b: \u0027a-b\u0027 };  // bare hyphenated key — TS parser rejects\n```\n\nAfter:\n```ts\nFoo: { \u0027a-b\u0027: \u0027a-b\u0027 };\n```\n\nThe same bare-key shape exists in all three `valueType` branches of\n`printModuleEntry`. The convention in `object`/`number` modes is to use\nC++ identifiers so the bug isn\u0027t reachable there in practice, but the\nfix applies to all three for symmetry with `print`, which already\nhandles non-identifier names via string-literal quoting."
    },
    {
      "commit": "6d166227bdd4e3dc9e7695559928f8dd7f2536eb",
      "tree": "f75e810a32cfc8c82f2fc77113a1b420590f4209",
      "parents": [
        "6085102b701e04e46ef77a6061a1236112836eb7"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed May 06 20:18:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 20:18:13 2026"
      },
      "message": "Add core0ss testing mode. NFC (#26874)\n\nAlso, update the skip for test_pthread_dylink_tls (it fails regardless\nof opt level). See #24964."
    },
    {
      "commit": "6085102b701e04e46ef77a6061a1236112836eb7",
      "tree": "d5f931609fe4465b4cb12a705e7e5ba84932830a",
      "parents": [
        "c505862fc609c46604048334581d88136b4172af"
      ],
      "author": {
        "name": "Kleis Auke Wolthuizen",
        "email": "github@kleisauke.nl",
        "time": "Wed May 06 19:55:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 19:55:40 2026"
      },
      "message": "Minor pthread cleanups. NFC (#26856)\n\nSplit out from #13007."
    },
    {
      "commit": "c505862fc609c46604048334581d88136b4172af",
      "tree": "ab71cd10933cd1a8ec3817194d692180fac76518",
      "parents": [
        "793198bb54abc56cce4b8518cd0d0a6ed13b2a9e"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed May 06 19:41:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 19:41:37 2026"
      },
      "message": "[CI] Remove legacy chrome flag `--experimental-wasm-type-reflection`. NFC (#26873)\n\nThis should have been part of #26739"
    },
    {
      "commit": "793198bb54abc56cce4b8518cd0d0a6ed13b2a9e",
      "tree": "5eeeaea912813b88fc82fc68383d2132daac69d4",
      "parents": [
        "4aefc6e9b07435d2ec91ccd200ecd19893b1cb0f"
      ],
      "author": {
        "name": "Vittorio Romeo",
        "email": "vittorio.romeo@outlook.com",
        "time": "Wed May 06 19:13:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 19:13:04 2026"
      },
      "message": "webgl: populate uniformLocsById on first glUniform (#26846)\n\nPR created with AI assistance.\n\n`$webglGetUniformLocation` reads `program.uniformLocsById` to resolve a\nuniform location integer to a `WebGLUniformLocation`. `uniformLocsById`\nis reset to `0` by `glLinkProgram` and lazily allocated by\n`$webglPrepareUniformLocationsBeforeFirstUse`, but that prepare call\nonly ran on the `glGetUniformLocation()` path. As a result, calling\n`glUniform*()` on a freshly linked program before any\n`glGetUniformLocation()` — which is the intended usage with\n`-sGL_EXPLICIT_UNIFORM_LOCATION` and `explicit layout(location\u003dN)` —\nsilently no-opped: `$webglGetUniformLocation` read\n`uniformLocsById[location]` off the integer `0`, returned `undefined`,\nand `GLctx.uniform*()` dropped the call with no error.\n\nFix: call `$webglPrepareUniformLocationsBeforeFirstUse(p)` at the top of\n`$webglGetUniformLocation`, inside the `GL_TRACK_ERRORS` guard. The\nprepare call is idempotent (guards on `!uniformLocsById`), so the\nsteady-state overhead is a single property read.\n\nAdds `browser.test_webgl_uniform_before_get_location` with two\nparameterizations (default and `-sGL_ASSERTIONS`).\n\nFixes: #26672"
    },
    {
      "commit": "4aefc6e9b07435d2ec91ccd200ecd19893b1cb0f",
      "tree": "fa563e5f23285017c1c82e3c51c573b8a663eba5",
      "parents": [
        "80e6662f7e8f020d0bbf54bfa12a458c0d6fabe1"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed May 06 16:00:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 16:00:21 2026"
      },
      "message": "Remove C++ guards from internal musl syscall.h. NFC (#26871)\n\nThese were added back when we included this file from wasmfs (written in\nC++), but since I created the separate syscalls.h in #26658 this is no\nlonger needed."
    },
    {
      "commit": "80e6662f7e8f020d0bbf54bfa12a458c0d6fabe1",
      "tree": "654f49cd828020277dd7752bf11971e908561013",
      "parents": [
        "eabff6ebfc21eddfdc20c00cd04096193608715d"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed May 06 15:46:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 15:46:04 2026"
      },
      "message": "Fix strict.test_wasm_worker_futex_wait_pthreads. NFC (#26870)\n\nThis test was exiting without explicitly keeping the runtime alive.\n\nThe reason this was working for all other test modes but not for\n`strict` is pretty subtle. Basically I came down to the `noExitRuntime`\nsymbols no been linked in the strict mode.\n\nFixes: #26866"
    },
    {
      "commit": "eabff6ebfc21eddfdc20c00cd04096193608715d",
      "tree": "3bc57a083149b357694f21275d74af0916cf3688",
      "parents": [
        "47317b64034a6070e3f1bb3eaf70b617056e2ba1"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed May 06 14:01:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 14:01:03 2026"
      },
      "message": "Simplify emrun logging. NFC (#26868)\n\nAll three logging function had basically the same body so extract that\ninto a function."
    },
    {
      "commit": "47317b64034a6070e3f1bb3eaf70b617056e2ba1",
      "tree": "77f347d8f35ffe48b669f24f3f3e9b38ef404ec6",
      "parents": [
        "4ceac4e71648f2767d77615e71ff002bc868c943"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed May 06 10:48:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 10:48:56 2026"
      },
      "message": "Add a WebGPU page to porting with a link to a tutorial (#26862)\n\nCo-authored-by: Kai Ninomiya \u003ckainino@chromium.org\u003e"
    },
    {
      "commit": "4ceac4e71648f2767d77615e71ff002bc868c943",
      "tree": "0abd662896bf60865aa68271893e4ef9a8133f0f",
      "parents": [
        "bd05b484e8c4d02f903bf4575ccaa1f521db18e6"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed May 06 01:00:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 01:00:37 2026"
      },
      "message": "Remove support for process-shared pthread_barrier_t (#26863)\n\nEmscripten does not support process-shared primitives. This is a\nfollowup to #26743 where I removed the other usages of this attr."
    },
    {
      "commit": "bd05b484e8c4d02f903bf4575ccaa1f521db18e6",
      "tree": "cef6356f59874ea8ab6e266a80d8392446756912",
      "parents": [
        "ed73db0d1af5f0d9278f16f54ca418353e178b63"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue May 05 22:30:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 22:30:57 2026"
      },
      "message": "Use nullish operators where is makes sense. NFC (#26864)"
    },
    {
      "commit": "ed73db0d1af5f0d9278f16f54ca418353e178b63",
      "tree": "7ae22dd9758b3484d68425a78517a7b4c5700dc4",
      "parents": [
        "c97d342eb3ee77088aa7f8bd0fd4b46e2b0df4c1"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Tue May 05 21:55:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 21:55:26 2026"
      },
      "message": "Add unconditional support for navigator.userActivation.isActive (#26859)\n\nAdd unconditional support for navigator.userActivation.isActive if\ntargeting modern enough browsers."
    },
    {
      "commit": "c97d342eb3ee77088aa7f8bd0fd4b46e2b0df4c1",
      "tree": "2f4a2265ff499c41e65234bafd2cdb5a002dd56b",
      "parents": [
        "f63866e2cf5677f56f37a7f89c8e819c6ccb8996"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue May 05 19:15:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 19:15:46 2026"
      },
      "message": "Extend hybrid pthread/wasm-workers support for Audio Worklets. NFC (#26832)\n\nPrior to this change calling pthread functions from an audio worklet\ncontext was undefined behaviour.\n\nFollowup to #26777"
    },
    {
      "commit": "f63866e2cf5677f56f37a7f89c8e819c6ccb8996",
      "tree": "4234371127d9cef4a6ac55c5ce45af3e0231c5e6",
      "parents": [
        "d2619b024128ebe522caa5ba8de98680c17e062e"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue May 05 17:17:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 17:17:16 2026"
      },
      "message": "Use pthread_barrier_wait to simplify pthread test code. NFC (#26855)\n\nI just discovered how useful this API can be for things like what these\ntests are doing."
    },
    {
      "commit": "d2619b024128ebe522caa5ba8de98680c17e062e",
      "tree": "8c34e1099a8a9d511b799e2a867c3b8cdac5a0bd",
      "parents": [
        "01a0da4b033edb47c8885f169387d71517e127c2"
      ],
      "author": {
        "name": "Kleis Auke Wolthuizen",
        "email": "github@kleisauke.nl",
        "time": "Tue May 05 17:12:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 17:12:42 2026"
      },
      "message": "Remove early return from `exitRuntime()`. NFC (#26858)\n\n`exitRuntime()` is never called when `ENVIRONMENT_IS_PTHREAD` is true.\n\nSplit out from #13007."
    },
    {
      "commit": "01a0da4b033edb47c8885f169387d71517e127c2",
      "tree": "f6881c848b770891bf7ad4409fb2b7971174c25e",
      "parents": [
        "7ddd86a27e64bc615ebe45ccb75c157a7e2eafe9"
      ],
      "author": {
        "name": "Thomas Lively",
        "email": "tlively@google.com",
        "time": "Tue May 05 16:38:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 16:38:12 2026"
      },
      "message": "Feature detect can_block on the main thread (#26850)\n\nWe plan to run experiments with allowing atomic waits on the main\nbrowser thread to avoid the need for spinlocks. Feature detect this new\nability when initializing the main runtime thread."
    },
    {
      "commit": "7ddd86a27e64bc615ebe45ccb75c157a7e2eafe9",
      "tree": "56004b32820fdc389d7183d2cc38388aa7f7ca45",
      "parents": [
        "81d446b103288f004dd3f41a3a1755dc47227920"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue May 05 15:50:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 15:50:27 2026"
      },
      "message": "Rename utf8/utf16 benchmark tests. NFC (#26853)\n\n- Move the test code out of the benchmark directory. These were move\nthere by mistake in #18258. Despite their name they are not part of\n`test_benchmark` (and we probably want to keep it that way since they\nare mostly tests TextDecoder which is a browser API).\n\n- Convert benchmark_utf8.cpp from C++ to C.\n\n- Rename tests files to match the names of the tests\n\n- Give the tests consistent names in test_core and test_browser"
    },
    {
      "commit": "81d446b103288f004dd3f41a3a1755dc47227920",
      "tree": "4059e88f58284cf1bd9e6356bf553b77f5fef657",
      "parents": [
        "8005679862f485b7e6755d489fc3a3e253fcbd3f"
      ],
      "author": {
        "name": "Kleis Auke Wolthuizen",
        "email": "github@kleisauke.nl",
        "time": "Tue May 05 15:12:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 15:12:33 2026"
      },
      "message": "Align comments with `gen_sig_info.py` file location. NFC (#26861)"
    },
    {
      "commit": "8005679862f485b7e6755d489fc3a3e253fcbd3f",
      "tree": "20503574f316051cdac4464999404a729666211f",
      "parents": [
        "53a96bfa34187bb2f90fd85d1a7d209a2d87a382"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Tue May 05 05:18:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 05:18:46 2026"
      },
      "message": "Automatic rebaseline of codesize expectations. NFC (#26854)\n\nThis is an automatic change generated by\ntools/maint/rebaseline_tests.py.\n\nThe following (1) test expectation files were updated by\nrunning the tests with `--rebaseline`:\n\n```\ncodesize/test_codesize_hello_dylink_all.json: 822618 \u003d\u003e 822610 [-8 bytes / -0.00%]\n\nAverage change: -0.00% (-0.00% - -0.00%)\n```\n\nCo-authored-by: emscripten-bot \u003cemscripten-bot@users.noreply.github.com\u003e"
    },
    {
      "commit": "53a96bfa34187bb2f90fd85d1a7d209a2d87a382",
      "tree": "8dcb7ab39e314e02d1f0d698331f420b51aa48d2",
      "parents": [
        "5122f6e730d4b2b8dfc5e07d5b08eb5e4c1f7f6a"
      ],
      "author": {
        "name": "Kleis Auke Wolthuizen",
        "email": "github@kleisauke.nl",
        "time": "Tue May 05 00:48:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 00:48:25 2026"
      },
      "message": "Micro-optimize timed wait loops. NFC (#26849)\n\nSplit out from #13007."
    },
    {
      "commit": "5122f6e730d4b2b8dfc5e07d5b08eb5e4c1f7f6a",
      "tree": "219c9e75d4ddb7083a110c9bb52a2b0d7cace8b0",
      "parents": [
        "c9eb28c5733d8c37e8b0b1019b154dad3b13a5f3"
      ],
      "author": {
        "name": "HCL-JasonR",
        "email": "jason.riendeau@hcl-software.com",
        "time": "Tue May 05 00:45:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 00:45:00 2026"
      },
      "message": "Update zlib to 1.3.2 (#26542)\n\nThis pulls in the fixes from an audit -\nhttps://7asecurity.com/blog/2026/02/zlib-7asecurity-audit/\n\n    10 Findings with Security Impact, 100% fixed\n        1 High\n        2 Medium\n        2 Low\n        5 Hardening Recommendations"
    },
    {
      "commit": "c9eb28c5733d8c37e8b0b1019b154dad3b13a5f3",
      "tree": "69b3d32a961955c7cdc7058487f2902d97d05af1",
      "parents": [
        "0e631579302b42a897153ce46501452c8de408dc"
      ],
      "author": {
        "name": "Kleis Auke Wolthuizen",
        "email": "github@kleisauke.nl",
        "time": "Mon May 04 17:25:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 17:25:19 2026"
      },
      "message": "Simplify musl\u0027s `__wait`. NFC (#26848)\n\nThe `__wait` operation is supposed to keep blocking regardless\nof the return code of the underlying futex. In particular it\nshould keep looping/waiting even on inturrupts (i.e. `-EINTR`)."
    },
    {
      "commit": "0e631579302b42a897153ce46501452c8de408dc",
      "tree": "21acbc038042f852767cd20161f97de5071bec3f",
      "parents": [
        "a332eadea67a0c521cd2f3068f54b93fc7f62fbc"
      ],
      "author": {
        "name": "Kleis Auke Wolthuizen",
        "email": "github@kleisauke.nl",
        "time": "Mon May 04 16:23:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 16:23:46 2026"
      },
      "message": "Remove timeout slicing from pthread_barrier_wait. NFC (#26847)\n\nIn line with commit ee036b724b006a19295b1561f095e96b0ba90dda."
    },
    {
      "commit": "a332eadea67a0c521cd2f3068f54b93fc7f62fbc",
      "tree": "48715faa3580f2c72d2df18f91a9b60954719747",
      "parents": [
        "f92e9e1d5d5dd9c886724d0eb35322e6c5058f83"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon May 04 08:13:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 08:13:44 2026"
      },
      "message": "Fix browser.test_audioworklet_worker instability on Chrome (#26841)\n\nFix browser.test_audioworklet_worker instability on Chrome.\n\nChrome has some kind of network throttling mechanism, which prevents the\nWasm Worker from being able to start up in the test\nbrowser.test_audioworklet_worker.\n\nThere is no reason to keep fetching /check every 10 milliseconds (except\nfor performance). Reduce the fetch interval to a more modest rate of 5\nfetches per second.\n\nThe browser test suite has ~150 tests, so this can slow down the test\nharness by at most 30 seconds."
    },
    {
      "commit": "f92e9e1d5d5dd9c886724d0eb35322e6c5058f83",
      "tree": "e96fc2dbaac509486e58450751439032545894c6",
      "parents": [
        "3a0499e88f577137b86bbf7a726ce5ebd1130839"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon May 04 05:04:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 05:04:40 2026"
      },
      "message": "Run `test_wasm_worker_futex_wait` also in hybrid mode. NFC (#26827)"
    },
    {
      "commit": "3a0499e88f577137b86bbf7a726ce5ebd1130839",
      "tree": "255bbdf616761c299b997b33634c2689b7f3975a",
      "parents": [
        "5daefa52d2ce13150791f3b57498fda07b9b8375"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon May 04 05:02:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 05:02:41 2026"
      },
      "message": "Run `also_with_pthreads` decorator and use it more places. NFC (#26843)\n\nThis decorator now also delegates to `require_pthreads()` helper method.\n\nSplit out from #26827"
    },
    {
      "commit": "5daefa52d2ce13150791f3b57498fda07b9b8375",
      "tree": "a32011fd4fd2a74c6a7dd9390c32722757471ca8",
      "parents": [
        "1a9be47079312f91727b3b86df90237140a10082"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon May 04 01:19:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 01:19:52 2026"
      },
      "message": "Make 5.0.8 the current in-development version (#26830)\n\nI would like to go to 6.0.0 but maybe we should wait for the enabling of\ndynamic linking by default."
    },
    {
      "commit": "1a9be47079312f91727b3b86df90237140a10082",
      "tree": "3915e22b40d4100efe8fb26bcfb1e7b315624b3a",
      "parents": [
        "8eb2804d2631ceac705b6258cf80a2a685abddd9"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon May 04 01:18:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 01:18:29 2026"
      },
      "message": "Rename `update_docs.py` -\u003e `update_website.py` (#26829)\n\nThis seems to better script what this script does."
    },
    {
      "commit": "8eb2804d2631ceac705b6258cf80a2a685abddd9",
      "tree": "e7d52d8b520fd6b13d665d977e9c4e5698d68e8f",
      "parents": [
        "1d7aa91900e03d1c5ae60614b43effc5a9829c44"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat May 02 09:32:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 09:32:51 2026"
      },
      "message": "Fix race condition in browser.test_audioworklet_worker (#26839)\n\nFix race condition in browser.test_audioworklet_worker where worker\nmight miss the wakeup signal that audio worklet has posted.\n\nUpdate documentation of `emscripten_futex_wait()` for the different\nreturn values the function can have."
    },
    {
      "commit": "1d7aa91900e03d1c5ae60614b43effc5a9829c44",
      "tree": "2d2fd225fb74e767831459461616a0aa807a5f54",
      "parents": [
        "abf9a60154aaed3dab8d26a6db6b2ad8abf15305"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat May 02 07:13:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 07:13:03 2026"
      },
      "message": "Add a re-entrancy guard to exitRuntime() (#26838)\n\nAdd a re-entrancy guard to exitRuntime(), since such re-entrancy is seen\nto happen if an atexit() handler throws a JS exception (e.g.\nRuntimeError: index out of bounds)\n\nSeparated out from #26835."
    },
    {
      "commit": "abf9a60154aaed3dab8d26a6db6b2ad8abf15305",
      "tree": "363c4ac541ce7efec1e2f5f952e19ed5c264df33",
      "parents": [
        "17a0b03d417233be4d034c60d78e59ce90b2c3f6"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat May 02 07:12:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 07:12:48 2026"
      },
      "message": "Increase stack size in test browser.test_audioworklet_worker to 4KB (#26837)\n\nIncrease stack size in test browser.test_audioworklet_worker to 4KB, to\nfit emscripten_outf() call in the Worker."
    },
    {
      "commit": "17a0b03d417233be4d034c60d78e59ce90b2c3f6",
      "tree": "7dd70ed2b53756d2685d0f1d9b52be17a81f469d",
      "parents": [
        "0d03fd8d3f9471bf3e64db9047b2927a1ce5bfc2"
      ],
      "author": {
        "name": "Brendan Dahl",
        "email": "brendan.dahl@gmail.com",
        "time": "Fri May 01 21:53:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 21:53:08 2026"
      },
      "message": "[tsgen] Remove deprecated outFile. (#26836)\n\nThe `outFile` argument isn\u0027t needed since we just generate definitions\nfrom a single bundled file already.\n\nFixes #26534"
    },
    {
      "commit": "0d03fd8d3f9471bf3e64db9047b2927a1ce5bfc2",
      "tree": "cb2343083dc3bee3467fd00a329963a320f37376",
      "parents": [
        "361ebd759323cbe27a1410e40538ccab86b52ed1"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Fri May 01 21:22:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 21:22:12 2026"
      },
      "message": "Increase Wasm Worker stack size to 4KB in all used examples except #26823. (#26835)\n\nIncrease Wasm Worker stack size to 4KB in all used examples except\n`audioworklet_worker.c`. It is not feasible to run Wasm Workers with\ntiny 1KB stack sizes, that is not enough to call `emscripten_outf()`\nfrom a Wasm Worker. Mass-convert all examples that use tiny 1KB Wasm\nWorker stack sizes to have a 4KB stacks.\n\nImprove RUNTIME_DEBUG print to actually print what exception was thrown."
    },
    {
      "commit": "361ebd759323cbe27a1410e40538ccab86b52ed1",
      "tree": "86e9ffcd1156fbe8779974f594735cea2f97448d",
      "parents": [
        "eff73189ab8e782fd2c04aa12d7ce30075a266db"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Fri May 01 16:18:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 16:18:11 2026"
      },
      "message": "Automatic rebaseline of codesize expectations. NFC (#26833)\n\nThis is an automatic change generated by\ntools/maint/rebaseline_tests.py.\n\nThe following (1) test expectation files were updated by\nrunning the tests with `--rebaseline`:\n\n```\ncodesize/test_codesize_cxx_mangle.json: 262247 \u003d\u003e 262245 [-2 bytes / -0.00%]\n\nAverage change: -0.00% (-0.00% - -0.00%)\n```\n\nCo-authored-by: emscripten-bot \u003cemscripten-bot@users.noreply.github.com\u003e"
    },
    {
      "commit": "eff73189ab8e782fd2c04aa12d7ce30075a266db",
      "tree": "383ef9e23c7ce6ef72a6e74795fb357e431739ac",
      "parents": [
        "4e32560be42e2788c9dea0343dad0e91499f08f0"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 18:33:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 18:33:31 2026"
      },
      "message": "Use consistent message (`done`) to signal test success. NFC (#26824)\n\nWe had some tests using `done` and others using `success`, and since\n`done` was more popular I decided to standardize on that.\n\nAs a followup, I think we can perhaps make this the default for the\n`do_runf` method which will simplify things further."
    },
    {
      "commit": "4e32560be42e2788c9dea0343dad0e91499f08f0",
      "tree": "a502ac589af31eea7c3a499f6b75747a43173eee",
      "parents": [
        "e0ad1b18d0d77d621d756cfc5ef261a64f878346"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 16:59:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 16:59:46 2026"
      },
      "message": "Bump minimum browser versions (#26677)\n\nThis change bumps out minimum supported browser versions just enough so\nwe can drop support for output transpilation via babel.\n\nchrome: 74 -\u003e 85\nfirefox: 68 -\u003e 79\nsafari: 12.2 -\u003e 14.1\n\nThis also means we always support the `MUTABLE_GLOBALS`, `SIGN_EXT`,\n`PROMISE_ANY` and `THREADS` features, since its no longer possible to\ntarget engines without them.\n\nAlso, bumping the emscripten version to 6.0.0 since this is pretty big\nchange. 6.0.0 will also include all the recent changes/improvements I\u0027ve\nbeen making to thread sleeping and wasm worker+pthread hybrid mode."
    },
    {
      "commit": "e0ad1b18d0d77d621d756cfc5ef261a64f878346",
      "tree": "7dcae797955df3246a076e3e493ccb117389aa22",
      "parents": [
        "8a678c1318d6188905fafbe577b9094590408ce2"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 16:14:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 16:14:20 2026"
      },
      "message": "Enable futex_wait/futex_wake testing in audioworklet_worker test.  NFC (#26815)\n\nThis change effectively reverts that changes made to this test in\n#26309. This should have been part of #26325 which was the change that\nenabled the futex API to work correctly in wasm workers.\n\nNote: One still cannot futex_wait from an audio worklet context because\nthe atomic.wait instruction is not available there."
    },
    {
      "commit": "8a678c1318d6188905fafbe577b9094590408ce2",
      "tree": "11074e02e1e783a023bee20a1a848ec7e2ca470e",
      "parents": [
        "e5230dd8e3226594651c6fe3f32ea88748ea70ff"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Thu Apr 30 15:34:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 15:34:26 2026"
      },
      "message": "Extend EMTEST_AUTOSKIP to cover missing pkg-config. (#26819)"
    },
    {
      "commit": "e5230dd8e3226594651c6fe3f32ea88748ea70ff",
      "tree": "c3d33877caddcecc59c9863db31ff06ad228b4fd",
      "parents": [
        "9486425b4081fcb8057371044459d31cc44a49ff"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Thu Apr 30 15:34:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 15:34:11 2026"
      },
      "message": "Demote the warning of Closure falling back to Java from warning to a debug line (#26820)\n\nDemote the warning of Closure falling back to Java from warning to a\ndebug line. If Java works, this is not a problem, and if Java does not\nwork, it will make itself known. Fixes other.test_closure_warnings* on\nApple Silicon Mac devices.\n\nhttp://clbri.com:8010/api/v2/logs/406742/raw_inline"
    },
    {
      "commit": "9486425b4081fcb8057371044459d31cc44a49ff",
      "tree": "a120614656d4fb14eff39a260852f4b25022f703",
      "parents": [
        "56393206b7dc41ef3082d7502508ee75d17f07ae"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Thu Apr 30 15:33:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 15:33:10 2026"
      },
      "message": "Fix emrun.test_emrun_info on Apple Silicon macOS (#26821)"
    },
    {
      "commit": "56393206b7dc41ef3082d7502508ee75d17f07ae",
      "tree": "0c1dbe18af82562a9d24d223949b1fb22b81f7e9",
      "parents": [
        "0d980eb249c66ff1b5baa60d03a8165713aa6e9c"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Thu Apr 30 15:29:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 15:29:07 2026"
      },
      "message": "Fix default setting of EXECUTABLE overriding the value set in phase_linker_setup() for autoconfiguring. (#26822)\n\nFix default setting of EXECUTABLE overriding the value set in\nphase_linker_setup() for autoconfiguring.\n\nThis line has no effect:\n\n\nhttps://github.com/emscripten-core/emscripten/blob/2a8234f6651fcc2fdfaf1a97e749720ea76d55a7/tools/link.py#L829-L830\n\nsince it was being overridden by `default_setting(\u0027EXECUTABLE\u0027, 1)`,\nwhich looks only in `user_settings`, and not if the setting has already\nbeen initialized.\n\nThe result is that all autoconfigures would get the default shebang\n\n\nhttps://github.com/emscripten-core/emscripten/blob/2a8234f6651fcc2fdfaf1a97e749720ea76d55a7/tools/link.py#L460-L462\n\nand attempt to run Node from PATH.\n\nOn my CI, I don\u0027t have a Node in PATH (exactly for the purposes of\nguarding against accidental \u0027wrong node\u0027 accesses like this). Fixes\n`test_bullet_autoconf` without Node in PATH:\nhttp://clbri.com:8010/api/v2/logs/406907/raw_inline"
    },
    {
      "commit": "0d980eb249c66ff1b5baa60d03a8165713aa6e9c",
      "tree": "897b7c54359d15d07b1832a27a27a640696963f0",
      "parents": [
        "2a8234f6651fcc2fdfaf1a97e749720ea76d55a7"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 13:57:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 13:57:36 2026"
      },
      "message": "Fix emscripten_is_main_runtime_thread() under in audio worklet (#26818)\n\nThis function was incorrectly returning `true` in audio worklets because\n`ENVIRONMENT_IS_WORKER` is not defined in audio worklets."
    },
    {
      "commit": "2a8234f6651fcc2fdfaf1a97e749720ea76d55a7",
      "tree": "6ba13e3c79d04082fc79fea51a6ac960806abbff",
      "parents": [
        "b8463045207211a01f2e1fec44036e8899cd5790"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Thu Apr 30 03:05:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 03:05:19 2026"
      },
      "message": "Mark 5.0.7 as released (#26817)\n\nUpdate changelog and emscripten-version.txt [ci skip]"
    },
    {
      "commit": "b8463045207211a01f2e1fec44036e8899cd5790",
      "tree": "beee98fe215e7580daabb2635f63168cbaac6614",
      "parents": [
        "34a11219cfebbbc223e7d5566685683c13d005a5"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 02:47:19 2026"
      },
      "committer": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 02:47:19 2026"
      },
      "message": "Remove duplicate ChangeLog entry. NFC\n"
    },
    {
      "commit": "34a11219cfebbbc223e7d5566685683c13d005a5",
      "tree": "376c9fe1e2af9e552610f865228ada430a09127e",
      "parents": [
        "70de2ad7d2000ec6e4a4b88624b49bb607990ff9"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 02:44:56 2026"
      },
      "committer": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Thu Apr 30 02:44:56 2026"
      },
      "message": "Fix emscripten_futex_wait typos in ChangeLog.md. NFC\n"
    },
    {
      "commit": "70de2ad7d2000ec6e4a4b88624b49bb607990ff9",
      "tree": "98d494f358b10b477aa179b77b0e8ec3e4aab2b7",
      "parents": [
        "730f7d11ced190612ac84be9ffc9827d735f436a"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed Apr 29 20:18:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 20:18:19 2026"
      },
      "message": "Avoid changing working directory EMCC_BATCH_BUILD is unset. NFC (#26812)\n\nWhen not using `EMCC_BATCH_BUILD` the working directory does not matter."
    },
    {
      "commit": "730f7d11ced190612ac84be9ffc9827d735f436a",
      "tree": "a06ba247a179c7affd91d1ddfea9c5612d1b7292",
      "parents": [
        "c9fc5f343f84353350eb933a96acaa4c194950d8"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed Apr 29 18:13:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 18:13:44 2026"
      },
      "message": "Update comment regarding default safari version (#26813)\n\nThe minimum version was updated in #23312, but this comment was missed."
    },
    {
      "commit": "c9fc5f343f84353350eb933a96acaa4c194950d8",
      "tree": "76f7031a84449521ea0809f7b24fd272c8141438",
      "parents": [
        "95859e010882b4edc1362b0e28600da489d35dcb"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed Apr 29 16:25:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 16:25:58 2026"
      },
      "message": "Re-enable test_emsymbolizer_srcloc. NFC (#26803)"
    },
    {
      "commit": "95859e010882b4edc1362b0e28600da489d35dcb",
      "tree": "7ff02fba2c047e6fecf75c18e23bb2cee4e91579",
      "parents": [
        "263db4cffa6f9fc2ec514a70abac81362ea41849"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Wed Apr 29 16:24:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 16:24:57 2026"
      },
      "message": "Remove `building.emar` helper function. NFC (#26811)\n\nInstead move the logic into system_libs.py (the only non-testing place\nit is used).\n\nIn the test code itself, we just replace the usage with direct calls to\n`EMAR`, which is better for decoupling the tests from the compiler\nitself.\n\nThis is in preparation for a change to skip the wrapper scripts when the\ncompiler calls itself to build system libs (See #26799)"
    },
    {
      "commit": "263db4cffa6f9fc2ec514a70abac81362ea41849",
      "tree": "d2326386f9b8e16299b4621eef30c43b0d9078b6",
      "parents": [
        "bcf155145df4001c4d0c4635243d3258bd2c48ec"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Wed Apr 29 07:18:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 07:18:44 2026"
      },
      "message": "Fix an issue if user passes a relative path to Python (#26799)\n\nFix an issue if user passes a relative path to Python, and some system\ncache libraries need rebuilding. Emcc tool would spawn sub-emcc tools to\nrebuild the cache, with different CWD, resulting in the relative path\nlookups pointing to the wrong relative directories. To fix the issue,\nnormalize the relative tool paths first.\n\n\u003cimg width\u003d\"2380\" height\u003d\"992\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/e22b71c0-b73e-411c-9ef5-f51a890f01aa\"\n/\u003e"
    },
    {
      "commit": "bcf155145df4001c4d0c4635243d3258bd2c48ec",
      "tree": "02cf22c5c840e7cd6f4910a05bd14a445e378dc6",
      "parents": [
        "1ae24a41ec57350f437cc784cba60c6c4e2caa71"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue Apr 28 21:57:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 21:57:54 2026"
      },
      "message": "[emrun] Remove stale comments and fix ruff warnings. NFC (#26805)\n\nThe exceptions are apparently just aliases in recent versions of python\n`(error[UP024][*]: Replace aliased errors with \u0027OSError\u0027)`."
    },
    {
      "commit": "1ae24a41ec57350f437cc784cba60c6c4e2caa71",
      "tree": "4b3cd05eac07ab7ec5e2a827234bde8ac0de64b1",
      "parents": [
        "a046aaf87cdc308b92654a5edb7244e3b4b59032"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue Apr 28 21:52:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 21:52:17 2026"
      },
      "message": "Enable docstring ruff checks. NFC (#26806)"
    },
    {
      "commit": "a046aaf87cdc308b92654a5edb7244e3b4b59032",
      "tree": "30c1a22f679dc80af215b0b23adea8d5e90f1c15",
      "parents": [
        "92ef17c0411557df1134b9872dde722b1486377e"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Tue Apr 28 21:47:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 21:47:24 2026"
      },
      "message": "Fix running emrun tests on Linux against the Linux system browser (#26810)\n\nFix running emrun tests on Linux against the Linux system browser. This\nhas a few fixes in one:\n\n1. Fix emrun to work around Firefox https://bugzil.la/1996614 by moving\n`-url` to last on cmdline.\n2. Move emrun suite to its own file `test_emrun`, so that it can be\nmigrated to run single-threaded. This is because emrun may tear down the\ntest browser in a non-parallel-friendly manner:\nhttps://github.com/emscripten-core/emscripten/blob/92ef17c0411557df1134b9872dde722b1486377e/emrun.py#L423-L443\n3. Adjust the platform.ini lookup of system Firefox on Linux to find it\nin `/usr/lib/`, or fall back to assuming oldest supported browser if not\nfound."
    },
    {
      "commit": "92ef17c0411557df1134b9872dde722b1486377e",
      "tree": "85b305e59a5e1f1c33b83b55d299b9412f8fa965",
      "parents": [
        "2865598897ab19726625842a2aecfb1baaf34238"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue Apr 28 18:41:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 18:41:21 2026"
      },
      "message": "Re-eanble test after binaryen update (#26801)\n\nThis was fixed on the binaryen side:\nhttps://github.com/WebAssembly/binaryen/pull/8649\n\nFixes: #25549"
    },
    {
      "commit": "2865598897ab19726625842a2aecfb1baaf34238",
      "tree": "c0c1054a99efec512b16101843612875aaf8bc7f",
      "parents": [
        "f733113a8ba8a5118d114e0c43ce11995b50ad11"
      ],
      "author": {
        "name": "stephenduong1004",
        "email": "stephenduong@google.com",
        "time": "Tue Apr 28 18:23:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 18:23:57 2026"
      },
      "message": "Remove space in cflag in system_libs.py. NFC (#26809)\n\nShell may handle spacing incorrectly"
    },
    {
      "commit": "f733113a8ba8a5118d114e0c43ce11995b50ad11",
      "tree": "d3f0e972fdaefa6695b6d4a809e79feb60bfaa1e",
      "parents": [
        "e8408e7afae5ba90a978ac8fc6a25237ddaec862"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue Apr 28 15:27:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 15:27:46 2026"
      },
      "message": "Add some docs on how to write tests for PRs. NFC (#26802)"
    },
    {
      "commit": "e8408e7afae5ba90a978ac8fc6a25237ddaec862",
      "tree": "62211963edc489779c7ed305361aceaa54f3615c",
      "parents": [
        "84adfc373075dd22ff837e32ac1c65c0f69d44b7"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Tue Apr 28 05:41:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 05:41:22 2026"
      },
      "message": "Automatic rebaseline of codesize expectations. NFC (#26807)\n\nThis is an automatic change generated by\ntools/maint/rebaseline_tests.py.\n\nThe following (1) test expectation files were updated by\nrunning the tests with `--rebaseline`:\n\n```\ncodesize/test_codesize_hello_dylink_all.json: 822625 \u003d\u003e 822618 [-7 bytes / -0.00%]\n\nAverage change: -0.00% (-0.00% - -0.00%)\n```\n\nCo-authored-by: emscripten-bot \u003cemscripten-bot@users.noreply.github.com\u003e"
    },
    {
      "commit": "84adfc373075dd22ff837e32ac1c65c0f69d44b7",
      "tree": "4576fa03a7efb6be84f2849ff2af410109e61956",
      "parents": [
        "f24ee6f192f14857fde8be740a8536c6906a76f4"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Tue Apr 28 02:33:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 02:33:55 2026"
      },
      "message": "Fix several bugs in the new pthread/Wasm Worker hybrid mode (#26777)\n\n1. Include pthread metadata size when calcualting total space needed in\nemscripten_malloc_wasm_worker\n\n2. Add missing allocation of space for `pthread struct` in\ninit_pthread_struct. The effect of this was the TSD data and the pthread\nstruct were overlapping in memory!\n\n3. Zero out pthread struct and TSD slots."
    },
    {
      "commit": "f24ee6f192f14857fde8be740a8536c6906a76f4",
      "tree": "5d582dcbd14fead9b1a5df34cb5c10413130dbd0",
      "parents": [
        "1da8abaff76d0c35ceb9f0b27239da0dde6ac94a"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon Apr 27 23:19:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 23:19:04 2026"
      },
      "message": "Skip failing llvmlibc tests. (#26796)\n\nSkip failing llvmlibc tests.\nhttps://github.com/emscripten-core/emscripten/issues/26740 and\nhttps://github.com/emscripten-core/emscripten/issues/25001"
    },
    {
      "commit": "1da8abaff76d0c35ceb9f0b27239da0dde6ac94a",
      "tree": "e7b571078e1180d87d2347337eca18f27607c60e",
      "parents": [
        "a2d87a74c22ae2da14af58e9d7bde53a4d61681b"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon Apr 27 21:59:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 21:59:49 2026"
      },
      "message": "Cleanup emrun_postjs.js. NFC (#26797)\n\n- Avoid usage of globalThis when defining emrun_file_dump (see #26788)\n- Remove redundant check for `globalThis.document`. All this code\nalready runs withing a `globalThis.window` check.\n- `emrun_file_dump` does nothing when emrun is not active."
    },
    {
      "commit": "a2d87a74c22ae2da14af58e9d7bde53a4d61681b",
      "tree": "39b022b71b75ed91dc59e04cafaba5531429f291",
      "parents": [
        "161f6c4f09fc8ac0a381202c68c70bc67ca42843"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon Apr 27 21:33:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 21:33:22 2026"
      },
      "message": "Re-enable emrun tests. NFC (#26798)\n\nThis was missing from #26795"
    },
    {
      "commit": "161f6c4f09fc8ac0a381202c68c70bc67ca42843",
      "tree": "9636868e18221576c0d4c629c460992446d062e0",
      "parents": [
        "f9c6d38bad1fe9150b7eafe5906ebb58c5143c43"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon Apr 27 19:50:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 19:50:33 2026"
      },
      "message": "Disable failing test wasm2js0.test_autodebug_wasm (#26793)\n\nDisable failing test wasm2js0.test_autodebug_wasm.\nhttps://github.com/emscripten-core/emscripten/issues/25549\n\nSupercedes #26791."
    },
    {
      "commit": "f9c6d38bad1fe9150b7eafe5906ebb58c5143c43",
      "tree": "80a52630bddbff8c3dfc448982c97cecd42b826c",
      "parents": [
        "8611d0e10eca8a2409e2cde6abeb45ee35ac96fe"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon Apr 27 19:48:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 19:48:11 2026"
      },
      "message": "Re-enable the emrun test suite now that it passes locally. (#26795)\n\nHopefully fixes\nhttps://github.com/emscripten-core/emscripten/issues/26182."
    },
    {
      "commit": "8611d0e10eca8a2409e2cde6abeb45ee35ac96fe",
      "tree": "aaebc14aadaadd646ab602958a8342acbc3136aa",
      "parents": [
        "56839875c1bf8d69c1dc473b7fce7fc6f8d11aad"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon Apr 27 19:03:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 19:03:48 2026"
      },
      "message": "Fix race condition in emrun_file_dump() (#26788)\n\nFix race condition in emrun_file_dump() where the file might not be\ngiven time to finish uploading, before emrun exit() might shut down the\nbrowser. Fixes test emrun.test_emrun flakiness."
    },
    {
      "commit": "56839875c1bf8d69c1dc473b7fce7fc6f8d11aad",
      "tree": "84fa49a92dc764abaa75237015c088699c32781a",
      "parents": [
        "76459776a30fb6ab10677d4171ee5e1539875739"
      ],
      "author": {
        "name": "emscripten-bot",
        "email": "179889221+emscripten-bot@users.noreply.github.com",
        "time": "Mon Apr 27 19:03:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 19:03:02 2026"
      },
      "message": "Automatic rebaseline of codesize expectations. NFC (#26794)\n\nThis is an automatic change generated by\ntools/maint/rebaseline_tests.py.\n\nThe following (1) test expectation files were updated by\nrunning the tests with `--rebaseline`:\n\n```\ncodesize/test_codesize_hello_dylink_all.json: 822627 \u003d\u003e 822625 [-2 bytes / -0.00%]\n\nAverage change: -0.00% (-0.00% - -0.00%)\n```\n\nCo-authored-by: emscripten-bot \u003cemscripten-bot@users.noreply.github.com\u003e"
    },
    {
      "commit": "76459776a30fb6ab10677d4171ee5e1539875739",
      "tree": "d8ea804d615cf079ded785002d5382039ed75aa7",
      "parents": [
        "bd45df64d6d9835e45c9ef64fb98161064db7d50"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon Apr 27 16:48:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 16:48:04 2026"
      },
      "message": "Fix parallel race condition in tests emrun.test_emrun and emrun.test_emrun_pthreads (#26790)\n\nFix parallel race condition in tests emrun.test_emrun and\nemrun.test_emrun_pthreads, which would not be able to run\nsimultaneously, since they attempted to launch emrun server on the same\nport. Each parallel process needs its own server port, but different\nindividual test cases do not."
    },
    {
      "commit": "bd45df64d6d9835e45c9ef64fb98161064db7d50",
      "tree": "701e76babca5ca3ff7a017a7b1f9149c6362561a",
      "parents": [
        "4efaa6ca897fef450f6adaa507318f1f9970d9c6"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Mon Apr 27 16:39:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 16:39:16 2026"
      },
      "message": "Fix emrun.test_no_browser to launch a browser using the BrowserCore harness (#26789)\n\nFix emrun.test_no_browser to launch a browser using the BrowserCore\nharness, so that Firefox/Chrome/Safari will be launched with the\nappropriate startup flags (and not e.g. try to autoupdate, or show modal\nuser prompts during the test run)"
    },
    {
      "commit": "4efaa6ca897fef450f6adaa507318f1f9970d9c6",
      "tree": "e3bbb781459d1efadae387f34ef6be3ce67f0465",
      "parents": [
        "43f30b5f5b88cd14579cf34b1f584e771a853860"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon Apr 27 16:28:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 16:28:31 2026"
      },
      "message": "[test] Rename some browser test files to match test name. NFC (#26784)\n\nAlso, convert a few more `.cpp` tests to `.c`."
    },
    {
      "commit": "43f30b5f5b88cd14579cf34b1f584e771a853860",
      "tree": "fc02dffa53b23a3378c8e2bf6151cf340768c200",
      "parents": [
        "e7df455bbaacc36d3752414bd03b4b46030d1b9f"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Mon Apr 27 15:57:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 15:57:05 2026"
      },
      "message": "Improve test_pthread_join_and_asyncify. NFC (#26787)\n\nI noticed that we were not checking the final return value of the\nthread, which is an important part of this test."
    },
    {
      "commit": "e7df455bbaacc36d3752414bd03b4b46030d1b9f",
      "tree": "8c63c50a8c3641d09dc3d6b2f7fe07f5f4a1fed4",
      "parents": [
        "c113141312b179c958d449b0e45a117e79b6aa5b"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sun Apr 26 18:08:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 18:08:19 2026"
      },
      "message": "Disable filesystem tests that need a blocking select/poll, which is not yet implemented in WASMFS (#26792)\n\nDisable filesystem tests that need a blocking select/poll, which is not\nyet implemented in WASMFS.\n\n\nhttps://github.com/emscripten-core/emscripten/blob/c113141312b179c958d449b0e45a117e79b6aa5b/system/lib/wasmfs/syscalls.cpp#L1433-L1436.\n\nhttps://github.com/emscripten-core/emscripten/issues/26736"
    },
    {
      "commit": "c113141312b179c958d449b0e45a117e79b6aa5b",
      "tree": "8fea753e459505f35fbff841b8012c7afea5514f",
      "parents": [
        "01811a23f60039dd2072711f3330178651961374"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Sun Apr 26 09:15:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 09:15:21 2026"
      },
      "message": "Use `@requires_jspi` for `test_pthread_join_and_asyncify`. NFC (#26776)"
    },
    {
      "commit": "01811a23f60039dd2072711f3330178651961374",
      "tree": "d04d917967a9615412b83d7ef28b037b15b2a5bf",
      "parents": [
        "f9bd13f985712cc23222a042bbb0c969aa8e4ce9"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sun Apr 26 00:13:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 00:13:31 2026"
      },
      "message": "Disable strict.test_freetype and strict.test_bullet_autoconf (#26786)\n\nDisable strict.test_freetype and strict.test_bullet_autoconf, since\nSTRICT is not compatible with autoconf."
    },
    {
      "commit": "f9bd13f985712cc23222a042bbb0c969aa8e4ce9",
      "tree": "86d3150ca92f503f4bfef8ff390e79700d95a951",
      "parents": [
        "b87bc252d4bcd8ecf12661c7af1b7ac5e2d0bd4f"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Sat Apr 25 23:38:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 23:38:43 2026"
      },
      "message": "Re-enable browser64_4gb test after webgl fixes. NFC (#26783)\n\nThe upstream issues both appear to be fix fixed: \n\n- https://crbug.com/325090165\n- https://crbug.com/324992397"
    },
    {
      "commit": "b87bc252d4bcd8ecf12661c7af1b7ac5e2d0bd4f",
      "tree": "f89e3304b53493ef01574eccef432d0d8059254e",
      "parents": [
        "37d7ed079b004dbd0e76c035b720b3e9cfb964f4"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Sat Apr 25 22:45:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 22:45:58 2026"
      },
      "message": "Use normal field accessors in fillDeviceMotionEventData. NFC (#26769)"
    },
    {
      "commit": "37d7ed079b004dbd0e76c035b720b3e9cfb964f4",
      "tree": "b955adff333ce77aeffcc7ee489aa1bcbacbae53",
      "parents": [
        "8c17b86d2088bb54eae25729f79ca7291f8d824e"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat Apr 25 18:56:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 18:56:50 2026"
      },
      "message": "Fix browser.test_sdl_ogl_defaultmatrixmode and browser.test_sdl_ogl_proc_alias (#26778)\n\nFix browser.test_sdl_ogl_defaultmatrixmode and\nbrowser.test_sdl_ogl_proc_alias, which regressed by PR\nhttps://github.com/emscripten-core/emscripten/pull/7591. The PR added a\nnew rendered element to browser.test_sdl_ogl and its reftest image\ntest/screenshot-gray-purple.png, but did not realize that two other\ntests, browser.test_sdl_ogl_defaultmatrixmode and\nbrowser.test_sdl_ogl_proc_alias, also use the same reftest. The failure\nwent unnoticed since our image reftest algorithm error calculation\nmechanism is a little bit simplistic. (an area for future improvement)\n\nThis error was now surfaced on my Linux CI, which renders output that\nhas an additional source of discrepancy related to some kind of\ngamma/brightness, which then bumped the error quantity above the\nthreshold.\n\nOld reference image before PR #7591: (still produced by\nbrowser.test_sdl_ogl_defaultmatrixmode and\nbrowser.test_sdl_ogl_proc_alias before this PR)\n\n\u003cimg width\u003d\"640\" height\u003d\"480\" alt\u003d\"actual\"\nsrc\u003d\"https://github.com/user-attachments/assets/04c01506-236b-4962-9c0b-70776c3b8f25\"\n/\u003e\n\nCurrent reference image in repo:\n\n\u003cimg width\u003d\"640\" height\u003d\"480\" alt\u003d\"expected\"\nsrc\u003d\"https://github.com/user-attachments/assets/20f0d859-6d1f-47cb-952d-42648d4825b5\"\n/\u003e\n\nThis PR fixes the two tests browser.test_sdl_ogl_defaultmatrixmode and\nbrowser.test_sdl_ogl_proc_alias by updating them to render that missing\nquad element as well, which had been added to browser.test_sdl_ogl. (by\ncopying the code from test_sdl_ogl.c)"
    },
    {
      "commit": "8c17b86d2088bb54eae25729f79ca7291f8d824e",
      "tree": "2ada3f910d1d6c1818f767855194cc81fea60508",
      "parents": [
        "b648745a79b82dcf0595fda2a6028b4b199ae5b1"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Sat Apr 25 18:21:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 18:21:58 2026"
      },
      "message": "Fix incorrect WebGL test code usage of glBindAttribLocation() (#26781)\n\nGL specification states that glBindAttribLocation() must be called\n*before* calling glLinkProgram(), or the call has no effect.\n\n\u003cimg width\u003d\"915\" height\u003d\"569\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/15b49278-238c-4896-8523-7b8019e6d4a9\"\n/\u003e\n\n\nA few tests did not follow this rule, but attempted to call\nglBindAttribLocation() after glLinkProgram(), which did nothing.. but\ndue to getting lucky, the default bind locations were the same as the\nrequested ones. Except now on Firefox for Apple M4, it is seen that the\nrendering backend generates different defaults, and the test programs\nbreak.\n\nFixes\n - browser.test_cubegeom_pre_regal\n - browser.test_cubegeom_pre_vao_regal\n - browser.test_cubegeom_pre_vao_es\n - browser.test_cubegeom_row_length\n - browser.test_gl_float_tex\n - browser.test_gl_subdata\n\ntest code to be proper GL.\n\nSupercedes #26779."
    },
    {
      "commit": "b648745a79b82dcf0595fda2a6028b4b199ae5b1",
      "tree": "e4d0ba36fb575de0919e4bfcc1879a1851ebe763",
      "parents": [
        "0f58988ee6d3e0c7d245873cede7a0c85c48be5d"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri Apr 24 23:37:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 23:37:54 2026"
      },
      "message": "Use `SYMLOOP_MAX` define in JS code. NFC (#26775)"
    },
    {
      "commit": "0f58988ee6d3e0c7d245873cede7a0c85c48be5d",
      "tree": "6eb57c427ca503042d6281a7dae7aa16d2c37c59",
      "parents": [
        "4ccd9bbdd8085256013366c581c2fef778836f19"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri Apr 24 23:21:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 23:21:00 2026"
      },
      "message": "__builtin_thread_pointers now returns non-null even in single threaded builds (#26751)\n\nThis change revert #26747 now that __builtin_thread_pointer is fixed for\nsingle thread builds on the LLVM side.\n\nSee https://github.com/llvm/llvm-project/pull/193563"
    },
    {
      "commit": "4ccd9bbdd8085256013366c581c2fef778836f19",
      "tree": "ef1fa15607b1ac56c12e9a79d740fb8a467d3ee7",
      "parents": [
        "ca2101eb1672379583c468421c0475e097de39fc"
      ],
      "author": {
        "name": "Brendan Dahl",
        "email": "brendan.dahl@gmail.com",
        "time": "Fri Apr 24 23:20:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 23:20:46 2026"
      },
      "message": "Add --skipLibCheck to tsc tests (#26767)\n\nExternal type definitions in node_modules can cause errors unrelated to\nthe code being tested. This can happen when running a single test and\nthe node_modules are discovered in a parent directory.\n\nAdd a helper function to run `tsc` with `--skipLibCheck` and use it in\n`test_other.py` to avoid these failures."
    },
    {
      "commit": "ca2101eb1672379583c468421c0475e097de39fc",
      "tree": "bc5c0e9ca979b752968f0085feeda7e7dfd35fb6",
      "parents": [
        "074714756c3b0de987bb8a5b34bb78a05270b02c"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri Apr 24 22:46:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 22:46:51 2026"
      },
      "message": "Enable working wasmfs tests. NFC (#26774)\n\nIn particular, #16816 seems to be fixed on main."
    },
    {
      "commit": "074714756c3b0de987bb8a5b34bb78a05270b02c",
      "tree": "67ce2d20089195cd6b2f0adf0b6984c9719d6948",
      "parents": [
        "9bb67521e794301829fc6bc658da5510aee11de7"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Fri Apr 24 20:37:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 20:37:52 2026"
      },
      "message": "Use nullish operators in a few more places. NFC (#26766)"
    },
    {
      "commit": "9bb67521e794301829fc6bc658da5510aee11de7",
      "tree": "1ec0279235adf8328df49bd8537567cda334da81",
      "parents": [
        "d1cab68cf18d966d675d97cc4dcd485c8faa155d"
      ],
      "author": {
        "name": "juj",
        "email": "jujjyl@gmail.com",
        "time": "Fri Apr 24 08:58:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 08:58:02 2026"
      },
      "message": "Remove --experimental-wasm-stack-switching from being passed when running against Node 26 (#26772)\n\nRemove --experimental-wasm-stack-switching from being passed when\nrunning against Node 26. Fixes running JSPI tests on Node 26 nightly.\n\nWhen running JSPI tests, the suite passes the\n`--experimental-wasm-stack-switching` parameter to `node` during\nexecution.\n\nI am using Nightly Node.js to test the `wasm64` suite since that suite\nis on the bleeding edge:\n\nhttp://clbri.com:8010/api/v2/logs/397813/raw_inline\n\nbut that gives an error\n\n```\nTraceback (most recent call last):\n  File \"/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/emscripten/main/test/common.py\", line 381, in resulting_test\n    return func(self, *args)\n  File \"/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/emscripten/main/test/test_core.py\", line 268, in metafunc\n    return func(self, *args, **kwargs)\n  File \"/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/emscripten/main/test/test_core.py\", line 8210, in test_async_main\n    self.do_runf(\u0027main.c\u0027, \u0027argc\u003d2 argv\u003dhello\u0027, args\u003d[\u0027hello\u0027])\n    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/emscripten/main/test/common.py\", line 1391, in do_runf\n    return self._build_and_run(filename, expected_output, **kwargs)\n           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/emscripten/main/test/common.py\", line 1439, in _build_and_run\n    js_output \u003d self.run_js(js_file, engine, args,\n                            input\u003dinput,\n                            assert_returncode\u003dassert_returncode,\n                            interleaved_output\u003dinterleaved_output)\n  File \"/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/emscripten/main/test/common.py\", line 1023, in run_js\n    self.fail(\u0027JS subprocess failed (%s): %s (expected\u003d%s).  Output:\\n%s\u0027 % (error.cmd, error.returncode, assert_returncode, ret))\n    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: JS subprocess failed (/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/node/nightly-v26.0.0-nightly20260423acb1bd7107/bin/node --stack-trace-limit\u003d50 --trace-uncaught --experimental-wasm-stack-switching /tmp/emtest_uxten3bw/emscripten_test_wasm64_eg582hgf/main.js hello): 9 (expected\u003d0).  Output:\n/home/clb/buildbot/linux-h12dsi/emscripten_linux_x64/build/node/nightly-v26.0.0-nightly20260423acb1bd7107/bin/node: bad option: --experimental-wasm-stack-switching\n```\n\nRemoving the `--experimental-wasm-stack-switching` flag fixes the tests\nto pass.\n\nTested manually that Node 25 still has the\n`--experimental-wasm-stack-switching` flag, so looks like it has been\nremoved some point during the v26 development."
    }
  ],
  "next": "d1cab68cf18d966d675d97cc4dcd485c8faa155d"
}
