)]}'
{
  "log": [
    {
      "commit": "b4b751cc97c69f8b8a4b4ff123e574f5434923e4",
      "tree": "43786baab399c7e21976ebe66c81066f2e97cc6c",
      "parents": [
        "0e40e01fcff92e043e748803c9e2c5aca950d96f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Aug 18 15:53:13 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Sep 01 19:18:51 2026"
      },
      "message": "wassh: drop \"experimental\" from wasm namespace\n\nThings are basically stable now, so drop the \"experimental\" markings.\n\nChange-Id: I85bceb880d3b1bdb4735cfb9d8a38e168f0f9900\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8264450\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "0e40e01fcff92e043e748803c9e2c5aca950d96f",
      "tree": "2e72897ddc0f2c2474d52ee2d78b1da92a557a17",
      "parents": [
        "d8043e39a0cf4f20d09ba6df903aec4a63c5880e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Aug 24 13:09:43 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Sep 01 19:18:46 2026"
      },
      "message": "nassh: plugin: update to 0.80\n\nChange-Id: I73b4a4141eba8bd89d3c3dcc277e2fd2b6a1cab0\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8278496\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "d8043e39a0cf4f20d09ba6df903aec4a63c5880e",
      "tree": "681136ddc5384be48907bdc76ceb93c1232f31ff",
      "parents": [
        "85208d7dc2ffe56f6bb953c306f893da8d532a17"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Aug 13 12:57:28 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Aug 19 12:19:45 2026"
      },
      "message": "nassh: release 0.80\n\nChange-Id: I1517b58143222f09715b17ffa5c77849dc881e07\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8257190\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "85208d7dc2ffe56f6bb953c306f893da8d532a17",
      "tree": "086506fa7140da5a4a6492cbcea44424e1ba8e11",
      "parents": [
        "442e2a007406f2bb161e9b589079a665ec8fb10a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Aug 12 15:23:20 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Aug 13 08:39:48 2026"
      },
      "message": "ssh_client: openssh: upgrade to 10.5\n\nChange-Id: Iea8b462eb82ce37f1fb20a77469fff8202d3616c\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8247059\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "442e2a007406f2bb161e9b589079a665ec8fb10a",
      "tree": "68238298c350aeb5c638b1dad2a2783abde6596c",
      "parents": [
        "f916dbc5b9b50863d3247619070590b1573005ed"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 14 10:25:54 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jul 24 21:06:38 2026"
      },
      "message": "libdot: test: fix chai test detection\n\nBoth lib.assert \u0026 nassh/js/nasftp_cli.js use chai in the global namespace\nto detect whether we\u0027re running unittests or production code.  This broke\na year ago when we upgraded to chai v5 which switched from global imports\nto ES6 modules.  The nasftp code wasn\u0027t logging as verbosely during tests\n(which isn\u0027t a big deal), and all of our libdot-based asserts were skipped\nduring tests.  The latter is not good, but since we haven\u0027t broken any of\nthe tests, it\u0027s OK to re-enable so the asserts actually assert.\n\nChange-Id: I0ddb5d3d14c3d5bbd8ee455911e9d321a249d541\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8086814\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "f916dbc5b9b50863d3247619070590b1573005ed",
      "tree": "d5a1dc1f51e90842e32048bf3f1e0fe4d06daa1c",
      "parents": [
        "7ca33bc7433232411993356b4767011a6b6426cf"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 21 05:34:54 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 21 06:03:47 2026"
      },
      "message": "nassh: plugin: update to 0.79\n\nChange-Id: I119fe40a570e09026b17028d957ba10c774b109f\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8130018\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "7ca33bc7433232411993356b4767011a6b6426cf",
      "tree": "f285ad69553b83cc209754f1975e104ea42cc699",
      "parents": [
        "d6868d57812e0823caac7fce95285d479c382b4c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 15 14:54:48 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 16 14:17:23 2026"
      },
      "message": "nassh: release 0.79\n\nChange-Id: I96f7213f7e5a199b459dd656b3f02edcab564563\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8100122\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "d6868d57812e0823caac7fce95285d479c382b4c",
      "tree": "621b1c3f9b00544fd0327abe07f35dcf226730a6",
      "parents": [
        "872ae6461355b77290a9b6d603bd0dc0c4143944"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 07:25:28 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 14 06:50:05 2026"
      },
      "message": "nassh: nasftp: use lib.f.randomInt helper\n\nChange-Id: Ic130c93488a1de0b101c11963e33b27b2360bb05\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8084241\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "872ae6461355b77290a9b6d603bd0dc0c4143944",
      "tree": "f20b88b64d43ad3b89f2b1350341450ac9a00f3f",
      "parents": [
        "00ba7c35106ddd0bde22d3e5a7535f7f079fa4da"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 07:27:29 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 14 06:48:27 2026"
      },
      "message": "libdot: tests: add lib to the JS console for debugging\n\nChange-Id: I53219a5a58a7cc776efe0e68501b5a8050b0fe01\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8084242\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "00ba7c35106ddd0bde22d3e5a7535f7f079fa4da",
      "tree": "2556152c857f329b28fedafbdccea8c231370531",
      "parents": [
        "9cc1738c434794793fdea3ed0d17afbe6dad723e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 15:44:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 14 04:52:47 2026"
      },
      "message": "ssh_client: openssh: drop EXTRA_CFLAGS settings\n\nWe don\u0027t need it anymore, so stop overriding it.\n\nThis allows CFLAGS to take effect which changes sizes slightly.\n\nBug: 40829855\nChange-Id: I4ccc8b7810c40e5da8645518c80f936b9b8c8d39\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8084481\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "9cc1738c434794793fdea3ed0d17afbe6dad723e",
      "tree": "0fa959a78bb58f1b9eab5dacad0c2c77f04af08f",
      "parents": [
        "0809d8300085449630e8925548b79f8a47fb6eaa"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 06:43:21 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 14 04:28:51 2026"
      },
      "message": "ssh_client: set default CFLAGS to -g0\n\nAutotools will default CFLAGS to -O2 -g -pipe, where -g is -g2.\nWe\u0027ve been building OpenSSH with \"\" implicitly due to how we were\nadding EXTRA_CFLAGS which is basically -O0 -g0.  Switching to -g2\nsignificantly increases size because we aren\u0027t stripping debug\ninfo.  Explicitly set the default to -O2 -g0 -pipe so we keep the\nsizes the same.  In practice, we still get usable backtraces, so\nthis should be fine rather than trying to figure out splitdebug.\n\nThe mosh builds are already using the same settings.\n\nBug: 40829855\nChange-Id: I7b6859017c31cf6a74d0ae082242e1179a2caf84\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8084480\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "0809d8300085449630e8925548b79f8a47fb6eaa",
      "tree": "6f57bb4dce2e2a7cad80d9b4162c82364cbc033c",
      "parents": [
        "b4e41af1378f6c4a0ef395e65f13cf29c6500451"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 12 16:20:24 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 03:28:56 2026"
      },
      "message": "ssh_client: disable automatic wasm-opt usage\n\nWhen clang finds wasm-opt in $PATH, and if optimization levels are high\nenough, then clang will automatically run the tool when generating the\nfinal linked output.  This causes us problems:\n* We already run wasm-opt at the end with specific settings to avoid\n  specific bugs in the tool\n* It slows down intermediate link tests from configure for no value\n* We\u0027re running into new bugs when running configure tests breaking\n  the overall results\n\nChange-Id: I3d6880c3d05398a01fab0559f7056da9f3b15fc0\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8081200\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "b4e41af1378f6c4a0ef395e65f13cf29c6500451",
      "tree": "0632ad8a41b696292d5ccec044979429ccd339d1",
      "parents": [
        "ecc69cf672adf20b46d7aa08267b9f40613a1d41"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 18:12:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 03:27:29 2026"
      },
      "message": "ssh_client: wassh-libc-sup: fix closefrom return\n\nBSD/GNU define this as a void function.\n\nChange-Id: I3e41b4815599d0813f6943fc3fa8ceb0220e4bab\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8079622\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "ecc69cf672adf20b46d7aa08267b9f40613a1d41",
      "tree": "d3d4a29ccfd8ffcb428c19d51a9c6555001bf168",
      "parents": [
        "11570c10ad229302863a3451152871321bb3c1ee"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 15:51:57 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 03:27:26 2026"
      },
      "message": "libdot: externs: chai: fix throws API to accept classes\n\nChange-Id: Ib2c9e75cbea3c3d242fb710011df06473d15d9b3\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8079621\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "11570c10ad229302863a3451152871321bb3c1ee",
      "tree": "6bd63e2b5bd76e1297b4a8856575e4f648ac1ef1",
      "parents": [
        "126fb0e21880648db5d252b029357ba8b0cad776"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 14:14:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 13 03:26:37 2026"
      },
      "message": "wassh: sockets: handle async read failures gracefully\n\nDirect sockets throw exceptions when sockets break (e.g. the network\ngoes down).  Make sure we catch any such breakage, set the error via\nthe async SO_ERROR, and then cleanup the socket state.\n\nBug: b/478419493\nChange-Id: I449234a8d8f0b1495d50e170260d5a85f42eea93\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8079620\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "126fb0e21880648db5d252b029357ba8b0cad776",
      "tree": "e07d8a0bcfe07bbaff5c1ebf61a3778f149a501c",
      "parents": [
        "5f1698f2212b4fee72fa8e966802f15303edf441"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jul 10 10:25:12 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 10:34:55 2026"
      },
      "message": "nassh: convert to Uint8Array.toBase64\n\nChange-Id: I09e258a573793b0597afc0c48dc171f24a679ae9\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8061338\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "5f1698f2212b4fee72fa8e966802f15303edf441",
      "tree": "1bf830db7af0029d9a9971e459d2a4492c446bcf",
      "parents": [
        "247e0f55fff97d25e0ada4f86ff6ae1491e806a8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jul 10 10:16:50 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 10:34:46 2026"
      },
      "message": "libdot: polyfill: add Uint8Array.toBase64\n\nES2026 has a new helper for turning Uint8Array into base64 encoded data\nwhich is an operation we do in many places.  Define a polyfill for it in\nlibdot using our existing APIs.\n\nChange-Id: Ib4d3cc1441b2d1a6eab1e7bf14130e3cd2881082\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8061337\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "247e0f55fff97d25e0ada4f86ff6ae1491e806a8",
      "tree": "1a523395591fdb1ff50f18f45560bdc20b67af03",
      "parents": [
        "2d6c1dd41970bb0fd001913501f03d7a7a177e20"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 09 20:10:48 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 10:34:39 2026"
      },
      "message": "hterm/nassh/terminal: convert to Uint8Array.fromBase64\n\nChange-Id: I93d01c12938fdb983ac85d2325cf04c9e33974ce\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8061336\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "2d6c1dd41970bb0fd001913501f03d7a7a177e20",
      "tree": "267a54b5dbc10baea445032477c1120f615bdc0a",
      "parents": [
        "4c1ca864f17dcf43b3f0b50ae1f6b4374b1859d4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 09 20:09:42 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 11 10:34:29 2026"
      },
      "message": "libdot: polyfill: add Uint8Array.fromBase64\n\nES2026 has a new helper for turning base64 encoded data to a Uint8Array\nwhich is an operation we do in many places.  Define a polyfill for it in\nlibdot using our existing APIs.\n\nChange-Id: I7275b7407502cfb6ca459d33ed3e0ba0aee006f0\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8061335\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "4c1ca864f17dcf43b3f0b50ae1f6b4374b1859d4",
      "tree": "02fc7eb171ae43513921af6ffab309f4b75fe83e",
      "parents": [
        "47c9935d36563af73b432e741cf7e90799d785ec"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 09 19:52:06 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jul 10 04:19:26 2026"
      },
      "message": "libdot: load_tests: enable COOP too\n\nThis allows headless testing to access SharedArrayBuffer.  This option\nwas enabled in the default http-server run in /package.json already.\n\nChange-Id: Ic058680a247b0f1e16583ce405aa5364be5f2ca0\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8072138\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "47c9935d36563af73b432e741cf7e90799d785ec",
      "tree": "fbd65d5cbe2e63dcc4699201357cec886fa30e67",
      "parents": [
        "b725cadfc022274b101957155b356e51dc1b88ce"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 14:13:48 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 09 04:51:21 2026"
      },
      "message": "wassh: sockets: handle disconnected read/write better\n\nIf the sockets aren\u0027t connected, then read \u0026 write operations should\nfail right away.  Some of these were leading to crashes.\n\nChange-Id: I1dec23ad1705e5d576f7e9182a755642a920c008\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8064744\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "b725cadfc022274b101957155b356e51dc1b88ce",
      "tree": "c61850d4f4240f3333d1df1a9bd25874777b76fb",
      "parents": [
        "ecd4938ff13e0acd91e8824117fb3e424ec49cf3"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 11:29:31 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jul 09 03:43:46 2026"
      },
      "message": "wassh: tests: initial suite\n\nStart a test suite so we can validate the complicated logic we have.\n\nChange-Id: If51363110690d5403d3fd6b3744d45110bf8aee6\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8043240\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "ecd4938ff13e0acd91e8824117fb3e424ec49cf3",
      "tree": "655e980bcd88ebe5d00ec6ad83a55c6b04c921e7",
      "parents": [
        "9107c66f6f3d9c0f86875b63e1f708748b9a5a9f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 10:33:27 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 07 06:51:31 2026"
      },
      "message": "nassh: sftp_client: convert to ES6 classes\n\nShould just be indentation \u0026 class syntax changes.\n\nChange-Id: I2f5d26adfd95c6457d89360b675f14688a8a5610\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8050042\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "9107c66f6f3d9c0f86875b63e1f708748b9a5a9f",
      "tree": "82d42c72c3ca331a5a48080a655fed8ae82f9a8a",
      "parents": [
        "bdb55a162b1e876ef0c4708fc9bf4538a6cbb72f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 13:22:11 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 07 05:34:20 2026"
      },
      "message": "ssh_client: openssh: upgrade to 10.4\n\nChange-Id: I3619df75ee6c2e4c867f39eb0891c971cc99350a\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8041351\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "bdb55a162b1e876ef0c4708fc9bf4538a6cbb72f",
      "tree": "6e349787cbffc268da6f331e8c0860a151f1f12d",
      "parents": [
        "fb82e10fedc48689495814f4f3599b9a3618eb91"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 10:16:00 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 07 04:46:22 2026"
      },
      "message": "nassh: credential_cache: convert to ES6 classes\n\nShould just be indentation \u0026 class syntax changes.\n\nChange-Id: Ie943c1faba939ad7279f27e2afb9775fae8274ac\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8041349\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "fb82e10fedc48689495814f4f3599b9a3618eb91",
      "tree": "2b33b5707f834f9c675381598eb60c017b5e7ef5",
      "parents": [
        "b6c0704a513717833ca466104d08aa7c353250b0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 07:06:47 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 09:55:54 2026"
      },
      "message": "kokoro: use libdot.run\n\nThis includes automatic logging which makes it easier to find in logs.\n\nChange-Id: I92504ea5ec9f01a56c74b4c5fd2a327d38c5cfb9\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8044426\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "b6c0704a513717833ca466104d08aa7c353250b0",
      "tree": "8098c9fd0c63d526e7e7f88a27886f5eddf4f430",
      "parents": [
        "23502bdc62aae0e8e4349547cae19d89f9b011ff"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 13:29:09 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 09:55:50 2026"
      },
      "message": "wassh: sockets: fill out SO_ERROR handling\n\nThis was a stub for a few socket types already.  We have need for the\nstate with async errors in the poll codepaths, so fill it out more\ngenerally to prepare for that.\n\nSince this is a socket-level setting, hoist it to the base class.\n\nChange-Id: Ic0f07328a66a22e757a7b668a0eb02eda2f7055d\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8044940\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "23502bdc62aae0e8e4349547cae19d89f9b011ff",
      "tree": "693f60dede267a78fab5a8196ff26505bf409f39",
      "parents": [
        "6d8a69fb3c3706a9631172254f690ee167f0bd30"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jan 02 16:56:23 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 09:55:26 2026"
      },
      "message": "nassh: sftp: convert Packet helpers to ES6 classes\n\nShould just be indentation \u0026 class syntax changes.\n\nChange-Id: Ic22370a0a72adad1b774d356a59c91ab4fce9c18\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8044820\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "6d8a69fb3c3706a9631172254f690ee167f0bd30",
      "tree": "7657ccc1fdbc02c95d00faa27327b456b0290feb",
      "parents": [
        "76eeeb3ee94c8ac1eb1f891183a59b74ac4cd3da"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 12:12:29 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 08:43:51 2026"
      },
      "message": "wassh: sockets: support SOCK_{NONBLOCK,CLOEXEC}\n\nWhile current code doesn\u0027t use it, we\u0027ll want SOCK_NONBLOCK support for\nunittesting purposes.  The reader code already supports (non)blocking,\nso we simply need to decode the flags \u0026 pass along the state.\n\nWe don\u0027t do anything for cloexec currently because we don\u0027t support\nfork or exec, but decoding it is trivial once we support any flag.\n\nChange-Id: I67887a8b53f9fd04e9aaf827996a711b1e4a98fb\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8042065\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "76eeeb3ee94c8ac1eb1f891183a59b74ac4cd3da",
      "tree": "32435bda7a14e0d4159de4ad082b7257828f2ee2",
      "parents": [
        "ba516df4f18d25014b1d08c637d38ca3c5126c0d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 12:08:07 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 01:05:39 2026"
      },
      "message": "ssh_client: wassh-libc-sup: drop socket() argument validation\n\nAll the argument checking done in here is also performed in the syscall\nhandler by necessity -- we need to decode the domain/type to figure out\nwhat kind of socket to create, and reject unknown values.  So having the\nsame logic in the C code gains us nothing.  We don\u0027t need to optimize for\ninvalid values, and if we want to add/extend the APIs, we have to update\nboth places.  So drop all the C checks and leave it to the JS runtime.\n\nThis is also required to support flags in the type field since the C code\nrejects all such values.\n\nChange-Id: I3b02e2ca3744e97291473749230ec4d76d4a8959\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8042064\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "ba516df4f18d25014b1d08c637d38ca3c5126c0d",
      "tree": "0099af503b77c61908b4d7eeb250cf466679c143",
      "parents": [
        "52e5ac57a76eb729137182c4ebb0fed9ad18f807"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 11:52:56 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 01:04:50 2026"
      },
      "message": "wassh: sockets: create dedicated type constants\n\nThe existing filetype SOCKET_STREAM \u0026 SOCKET_DGRAM constants happen to\nhave the same value as the SOCK_STREAM \u0026 SOCK_DGRAM types, but there\u0027s\nnothing mandating this.  Since we\u0027ll be using more SOCK_xxx constants,\ndefine SOCK_STREAM \u0026 SOCK_DGRAM directly to avoid confusion.\n\nChange-Id: I3021cb55288df1ed1ad8ba6c86d0da3166fcc763\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8042063\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "52e5ac57a76eb729137182c4ebb0fed9ad18f807",
      "tree": "ea88ec66e0ae5efc88489365312fb196e3c1b3c7",
      "parents": [
        "69d97ff6e26c34ee0d43915fab2b6836deb88271"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 06:41:52 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 01:02:27 2026"
      },
      "message": "libdot: node: support custom patches for http-server\n\nSince http-server hasn\u0027t had a new release in over 4 years, and has\nsome features we need, add support for applying patches to the npm\nmodules tarball after it\u0027s been downloaded.  Then apply 2 changes\nthat were merged upstream a while ago.\n\nCOOP support is needed to allow SharedArrayBuffer in tests when\nrunning in localhost.\n\nChange-Id: I53495c876ac4bb174fb617ac3ac322d93d7e305b\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8042062\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "69d97ff6e26c34ee0d43915fab2b6836deb88271",
      "tree": "308d977f36f1bb0282bb01bdf1ef086905a7af53",
      "parents": [
        "f0d46dcdce8e3447c5dbd7658dbfe98ea289069e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 04 21:58:31 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 01:01:14 2026"
      },
      "message": "ssh_client: openssh: drop POLLPRI stub\n\nThis was only used by the ppoll emulation which we no longer rely\non as we\u0027ve implemented it ourselves, so drop the logic.\n\nChange-Id: I3c358b02621ab933abea93fb95519a4b3ba07cc1\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8041922\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "f0d46dcdce8e3447c5dbd7658dbfe98ea289069e",
      "tree": "760f8cc0ec739f0a1c8ebbc941e2de9e4effca94",
      "parents": [
        "1bba341af9fa209ef65d2ec5fac3d736a123f24c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 04 21:46:17 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 01:01:05 2026"
      },
      "message": "ssh_client: wassh-libc-sup: add our own ppoll emulation\n\nOpenSSH emulates ppoll via pselect which seems reasonable for handling\nsignal masking, but that ends up losing POLLHUP \u0026 POLLERR events since\npselect isn\u0027t able to handle those.  It can only check read, write, and\npriority events, not errors.\n\nThe wasi-libc pselect simply ignores the signal aspects since WASI does\nnot have support for them, and then converts the fd_set\u0027s back into the\npollfd structure.  Which means we convert twice over \u0026 drop information.\n* OpenSSH: ppoll:\n  * convert pollfd to fd_set \u0026 call pselect()\n  * convert returned read/write/priority fd_sets back to pollfd\n* wasi-libc: pselect:\n  * convert fd_set to pollfd \u0026 call poll()\n  * filter POLLIN/POLLOUT/POLLPRI events to read/write/priority fd_sets\n\nSince ignoring sigmask is easy, as is converting a timespec to msecs,\ndo it ourselves so POLLHUP \u0026 POLLERR events actually get passed back.\n\nChange-Id: I9e453c9557218ba2237acd36a9edcee3cc0bfbbe\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8041921\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "1bba341af9fa209ef65d2ec5fac3d736a123f24c",
      "tree": "f7effdf5fa9afba59f8557226e8863373d22d62d",
      "parents": [
        "1927c60b889fb6cbae1353993595313ed5be4e89"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 01 22:14:57 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jul 06 00:58:26 2026"
      },
      "message": "nassh: omnibox: fix early calls again\n\nChrome will start a InputStarted/InputChanged/InputEntered cycle\nusing the early handlers, but when we remove the early handlers and\nadd the full ones, Chrome is still in its lifecycle.  Which means\nit doesn\u0027t call InputStarted again, only InputChanged.  Which means\nour full InputStarted is never called the first time causing no\nresults to actually be shown.\n\nTo fix, we need to listen to the started event early on, and then\nrelay that when switching to the full implementation.  Since the\nearly code is getting more complicated than 1 listener, create\nanother class to hold just the early logic.\n\nThis still isn\u0027t perfect, but is about as good as we can get: if\nthe user is changing the input while we\u0027re still loading storage,\nthen InputChanged events are dropped, and we can\u0027t provide any\nsuggestions.  Saving references to those callbacks won\u0027t help.\n\nThis is easy to test by forcing the extension service worker to\nstop running via dev tools: loading the connection manager, then\nopening dev tools \u0026 going to Application, then going to Service\nworkers shows a handy \"stop\" button next to its status.\n\nBug: b/522309379\nChange-Id: I53e9c06064115b58b2bdfc81ca0ee2caf42db133\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8033140\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "1927c60b889fb6cbae1353993595313ed5be4e89",
      "tree": "6c7bd9df73dfdb069f0e326830a6a14741a6c800",
      "parents": [
        "48efc0a01ad2364729c91b80323ee985d06a9ab1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 04 21:44:51 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 23:33:16 2026"
      },
      "message": "libdot: format: handle plain test files\n\nThe selection logic is largely in sync with the linter.\n\nChange-Id: I5e2ad84b21466e0dbe8d070225f7c61f9251954a\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8042361\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "48efc0a01ad2364729c91b80323ee985d06a9ab1",
      "tree": "30d3705e809ce990c9490295fc3117cd161df94f",
      "parents": [
        "0142074f18659d14402bc7fb8dc4cf3ad01ffc6c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 04 21:45:40 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Jul 05 23:23:44 2026"
      },
      "message": "libdot: black: upgrade to v25\n\nChange-Id: I331c8aa57585869bccc5eb361fbaee4986eff494\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8041923\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "0142074f18659d14402bc7fb8dc4cf3ad01ffc6c",
      "tree": "93f2b451bab1ad2cdc33b86da9b7a0577b5209c1",
      "parents": [
        "e41589a74a0e91a91c1e5215f59cb38dec0a854b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 01 21:05:43 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Jul 04 23:07:23 2026"
      },
      "message": "wassh: sockets: add more graceful error handling\n\nSince relay connections were converted to promises, they don\u0027t return\nerrors, they reject (throw) errors.  Update RelaySocket accordingly.\n\nIf creating direct TCP or UDP sockets fails, make sure we don\u0027t try\nto poll for data on readers that don\u0027t exist, and pass the error back\ninstead of crashing and/or returning success.\n\nIf code attempts to write to an unconnected direct TCP socket that,\nreturn EPIPE instead of crashing.\n\nBug: b/529962616\nBug: b/521515745\nChange-Id: I7d7b810b907a4e605acfecb28b1cc1171a786177\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8032960\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "e41589a74a0e91a91c1e5215f59cb38dec0a854b",
      "tree": "d2f9fe312383bad19358740b8adc6a7d66e70ec9",
      "parents": [
        "7c4b62fe0eee83f2d1386e878c9593e0cdb454db"
      ],
      "author": {
        "name": "Jimmy Chang",
        "email": "jimmychang@google.com",
        "time": "Wed Jul 01 18:03:14 2026"
      },
      "committer": {
        "name": "Jimmy Chang",
        "email": "jimmychang@google.com",
        "time": "Wed Jul 01 21:06:05 2026"
      },
      "message": "nassh: google: Use v4/Websocket for SUP SSH Relay.\n\nThis CL updates the default proxy mode for Google SSH Relay to\ncorp-relay-v4@google.com, and updates the corresponding unit tests to\nmatch the new defaults.\n\nBug: 524583421\nChange-Id: Ice473407930c61b32e267efb9545347ea9fc7214\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8032163\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "7c4b62fe0eee83f2d1386e878c9593e0cdb454db",
      "tree": "c66c4824bd6f71675b80c88de610d2f253970dfa",
      "parents": [
        "b6ad28425b657ee3fa20bbc6508bf87410cfce49"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 01 02:49:38 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jul 01 10:18:39 2026"
      },
      "message": "kokoro: build: log current depot_tools rev\n\nThis helps in case of tracking regressions coming from depot_tools.\n\nBug: 529822095\nChange-Id: I869781e1b2ed86694929807ded5d338c6fab1590\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/8025297\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "b6ad28425b657ee3fa20bbc6508bf87410cfce49",
      "tree": "5cabffbebfef149c7a72be4bb46f00922242cf80",
      "parents": [
        "4e4c1530cf4e054cf6634fc834aff28d6ffe82a1"
      ],
      "author": {
        "name": "Niel Markwick",
        "email": "nielm@google.com",
        "time": "Mon Jun 22 15:36:20 2026"
      },
      "committer": {
        "name": "Niel Markwick",
        "email": "nielm@google.com",
        "time": "Fri Jun 26 13:59:05 2026"
      },
      "message": "terminal: tmux: CTRL-C force detaches in error\n\nWhen in error state, CTRL-C and CTRL-D commands send a raw newline\nto force detach the session.\n\nBug: 522751011\nChange-Id: Ieefe3281bf84bfa1a9d3ad9412f02426d5e90283\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7978001\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "4e4c1530cf4e054cf6634fc834aff28d6ffe82a1",
      "tree": "d7a11078a8b543c4c32fb7c6351c741e73e6d7d8",
      "parents": [
        "1ee9309a672a0c096ca4ebe6b6d2f8e67b86b23a"
      ],
      "author": {
        "name": "Niel Markwick",
        "email": "nielm@google.com",
        "time": "Wed Jun 24 11:18:57 2026"
      },
      "committer": {
        "name": "Niel Markwick",
        "email": "nielm@google.com",
        "time": "Wed Jun 24 21:44:04 2026"
      },
      "message": "terminal: tmux: fix %error handling for commands\n\nWhen a command gets a %error response back, the command\nwas not marked as completed nor removed from the command\nstack. This meant that the controller was still waiting\nfor a %end for that command.\n\nBug: 522751011\nChange-Id: Ia6dc154ac1eabeff2c26756ed108accc9c142e2d\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7993415\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "1ee9309a672a0c096ca4ebe6b6d2f8e67b86b23a",
      "tree": "6d7173119a131a6bb72c85da25f7470aa11ea0ef",
      "parents": [
        "3679ceaf197403e7350f6b0489759afdf637ffff"
      ],
      "author": {
        "name": "Jimmy Chang",
        "email": "jimmychang@google.com",
        "time": "Tue Jun 23 22:11:22 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jun 24 01:08:03 2026"
      },
      "message": "nassh: google: Route SUP SSH Relay from ssh-relay.corp.google.com to sup-ssh-relay.corp.google.com.\n\nThis CL updates the default proxy host for Google SSH Relay to sup-ssh-relay.corp.google.com, and updates the corresponding unit tests.\n\nR\u003djoelhockey@chromium.org, vapier@chromium.org\n\nBug: 524583421\nChange-Id: I04be294e08986b435c26e8e5016a1283aded99ff\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7988633\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "3679ceaf197403e7350f6b0489759afdf637ffff",
      "tree": "bf1d87c226ccdb5f18a25b862f4d6c3f550605ff",
      "parents": [
        "118a2a2b756d8fc6d35ce5cf945cdb7f98a9f684"
      ],
      "author": {
        "name": "Nathaniel Braun",
        "email": "nathanielbraun@google.com",
        "time": "Thu Jun 11 15:07:26 2026"
      },
      "committer": {
        "name": "Nathaniel Braun",
        "email": "nathanielbraun@google.com",
        "time": "Tue Jun 16 07:07:07 2026"
      },
      "message": "hterm: find_bar_tests: fix race condition\n\nChange-Id: I0f1c9b57a4bc742b9db4f2047f6e10bce7210683\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7926208\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "118a2a2b756d8fc6d35ce5cf945cdb7f98a9f684",
      "tree": "8e7dd3cb646520706e5253471606e485643247f6",
      "parents": [
        "481608cca690b4ae9f63ef715ab8c4ea666dedc0"
      ],
      "author": {
        "name": "Niel Markwick",
        "email": "nielm@google.com",
        "time": "Fri Jun 12 17:36:00 2026"
      },
      "committer": {
        "name": "Niel Markwick",
        "email": "nielm@google.com",
        "time": "Sat Jun 13 16:27:52 2026"
      },
      "message": "terminal: ensure complete URL passed to openWindow\n\nterminal_private_api.cc checks for the correct protocol and host when\nopening a new tab, so ensure these are present when calling\nchrome.terminalPrivate.openWindow()\n\nBug: 522629295\nChange-Id: I2312373b2cf0df074ac3ffc1e5b0e506a6ea8ee5\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7927830\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "481608cca690b4ae9f63ef715ab8c4ea666dedc0",
      "tree": "d3b5089b97452cb04a26f09326fa08d631788c2c",
      "parents": [
        "ba5fa6c68ee98959f2b34f23856e02dab89db2d5"
      ],
      "author": {
        "name": "Nathaniel Braun",
        "email": "nathanielbraun@google.com",
        "time": "Thu Jun 11 10:13:58 2026"
      },
      "committer": {
        "name": "Nathaniel Braun",
        "email": "nathanielbraun@google.com",
        "time": "Thu Jun 11 21:38:42 2026"
      },
      "message": "hterm: scrollport: set initial background color to transparent\n\nBug: 260528908\nChange-Id: I53f5d974c21176b97f1c874362a89a39bc052633\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7922416\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "ba5fa6c68ee98959f2b34f23856e02dab89db2d5",
      "tree": "fda31fdef890aaf9de25dbc4e14331e7ccf73da6",
      "parents": [
        "1181626ff13f0cefc7144fe1c609ef0369a17756"
      ],
      "author": {
        "name": "Yiyue Wang",
        "email": "yiyuew@google.com",
        "time": "Fri May 29 05:57:09 2026"
      },
      "committer": {
        "name": "Yiyue Wang",
        "email": "yiyuew@google.com",
        "time": "Tue Jun 09 02:05:41 2026"
      },
      "message": "nassh: ssh_config: support policy content\n\nCombine the content from virtual storage and SKE to form ssh_config\n\nChange-Id: I41a2f6d4549e09476c552e23aa3d350012826fc5\nBug: b/507718511\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7835327\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "1181626ff13f0cefc7144fe1c609ef0369a17756",
      "tree": "31483e413ba140e7b05393b3c2a6772a629126d2",
      "parents": [
        "2582c8a8a8c5f9d158b604479140390dcd759158"
      ],
      "author": {
        "name": "Joel Hockey",
        "email": "joelhockey@chromium.org",
        "time": "Tue Jun 02 01:47:10 2026"
      },
      "committer": {
        "name": "Joel Hockey",
        "email": "joelhockey@chromium.org",
        "time": "Tue Jun 02 21:53:08 2026"
      },
      "message": "Revert \"terminal: disable webgl until chrome is fixed\"\n\nThis reverts commit a1ff7b76874ab08ccc97b98ab3382824579ae744.\n\nReason for revert: underlying problem fixed\nReported fixed in crrev.com/c/7882550\n\nOriginal change\u0027s description:\n\u003e terminal: disable webgl until chrome is fixed\n\u003e\n\u003e Bug: 500797550\n\u003e\n\u003e Change-Id: Ib8c045aa9babbff81ac7b924c68ab39ccaa6415b\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7839021\n\u003e Tested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n\u003e Reviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n\nBug: 500797550\nChange-Id: I623a9200ea069f3724d69164bb2572212e0a08f4\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7892785\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "2582c8a8a8c5f9d158b604479140390dcd759158",
      "tree": "ce14a57f159237b4ccf5672be82fb3e1bef0b2b2",
      "parents": [
        "a80609810aef9f92962e345421d827e92ecb4fc9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat May 30 21:33:07 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jun 01 00:05:59 2026"
      },
      "message": "nassh: release 0.78\n\nChange-Id: Iea2b91ca3911990ac8277e606853fc4c30734ac3\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7886759\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "a80609810aef9f92962e345421d827e92ecb4fc9",
      "tree": "4fb82206423625d401e60a7721ae43e75a0d2da0",
      "parents": [
        "a1ff7b76874ab08ccc97b98ab3382824579ae744"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat May 30 21:37:50 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jun 01 00:05:47 2026"
      },
      "message": "libdot: lint: treat .prettierignore as plain text\n\nChange-Id: Ia049ada224418f7a787a3dcd8dc20c3278069e03\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7887386\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "a1ff7b76874ab08ccc97b98ab3382824579ae744",
      "tree": "9f7a9204aa10d2363019aebd69f2c388bb2196cf",
      "parents": [
        "eaa745230ed411fc83792eb63486cebeca93309f"
      ],
      "author": {
        "name": "Joel Hockey",
        "email": "joelhockey@chromium.org",
        "time": "Tue May 12 07:19:20 2026"
      },
      "committer": {
        "name": "Joel Hockey",
        "email": "joelhockey@chromium.org",
        "time": "Tue May 12 22:41:43 2026"
      },
      "message": "terminal: disable webgl until chrome is fixed\n\nBug: 500797550\n\nChange-Id: Ib8c045aa9babbff81ac7b924c68ab39ccaa6415b\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7839021\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "eaa745230ed411fc83792eb63486cebeca93309f",
      "tree": "92a01bf75cf0d145cede3bbc266503d4490d09bb",
      "parents": [
        "aaab893f9cf204007c9435a8d05ff4801aa1b32e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Apr 30 18:10:38 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 12 18:26:58 2026"
      },
      "message": "hterm: intl-segmenter: drop Intl.Segmenter polyfill\n\nThis API is widely available as of 2024 (with Chrome releasing it back\nin 2020).  Drop it from hterm since we aren\u0027t really testing browsers\nthat old, and WASM requires much newer versions anyways.  While we can\nuse hterm w/out WASM of course, 2 years is probably fine runway.\n\nChange-Id: Icb44da1ee94386b8604df8600e1d10a0735efb85\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7834146\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "aaab893f9cf204007c9435a8d05ff4801aa1b32e",
      "tree": "62ab1200b18bf90a44bc5ba98e3879fb19840f88",
      "parents": [
        "62c0b1d553328ed6e96e6ce785f77cbb067dfec6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 05 18:49:21 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 12 18:06:06 2026"
      },
      "message": "nassh: sockets: enable direct sockets in the stable version\n\nWe haven\u0027t had any reports since this went out in Jan 2026, so roll\nout to the stable population.\n\nBug: b/277392663\nChange-Id: I154ba4e17465b23b082e0933aaad29d238eea7b8\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7819056\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "62c0b1d553328ed6e96e6ce785f77cbb067dfec6",
      "tree": "9223fc09944d08959e3551ec0c30f68244413042",
      "parents": [
        "386aa6ad208ec08e3a58132f6399a7b2257264ac"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon May 11 16:57:34 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 12 03:19:54 2026"
      },
      "message": "nassh: plugin: update to 0.77\n\nChange-Id: I65248c1a0950db8e4ea95c793bbe767bd19be5c6\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7834919\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "386aa6ad208ec08e3a58132f6399a7b2257264ac",
      "tree": "4fbdf7cd1f3282caadeee37a6d5c15bab35aff18",
      "parents": [
        "228bccc3c475dc5d13adde96c9c3d61c1f088d2f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed May 06 03:15:59 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat May 09 12:28:45 2026"
      },
      "message": "nassh: release 0.77\n\nChange-Id: I274086509bb7da6104f957b06c949a0be691d543\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7818950\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "228bccc3c475dc5d13adde96c9c3d61c1f088d2f",
      "tree": "96f2f60bf198c2e65e5fbc1d37bd1cb7e3774269",
      "parents": [
        "dc3700c1ed825cd637504d8b9be9feebc031df30"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 05 01:23:31 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri May 08 16:51:09 2026"
      },
      "message": "mosh: drop C++ exceptions workarounds\n\nNow that WASI SDK supports C++ exceptions, and we enable that,\ndrop the custom mosh patches to workaround those not enabled.\n\nChange-Id: I011eb7312971ced620b667997307a2b539b8a827\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7818953\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "dc3700c1ed825cd637504d8b9be9feebc031df30",
      "tree": "2ec753d658014f0167cd0677a005c76a1474687d",
      "parents": [
        "4413eff1f0d7bd538073410e667142542028048b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 05 01:22:25 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu May 07 03:34:17 2026"
      },
      "message": "ssh_client: enable C++ exceptions for threaded targets\n\nThe threaded targets are used to build mosh, so enable C++ exceptions\nthere since latest WASI SDK supports it, and mosh uses it.\n\nChange-Id: I24bbfe2157aa619da57df8af29133952d1c5d8c8\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7818952\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "4413eff1f0d7bd538073410e667142542028048b",
      "tree": "e1f16a4b49cc5049aa048052d4768dffdade31f0",
      "parents": [
        "42c0c0dbd1434248f91f03fee7fcfd4edb4751b2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 05 01:24:23 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu May 07 02:28:45 2026"
      },
      "message": "wassh-libc-sup: dynamically disable C++ exception fallbacks\n\nIf the current build is enabling C++ exception support, disable\nthe stubs entirely.\n\nChange-Id: I52eff2e2f75190f7de72e23b45ad207abbd821e3\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7818951\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "42c0c0dbd1434248f91f03fee7fcfd4edb4751b2",
      "tree": "2b70baf40bf265c952a7421c7416034bad582798",
      "parents": [
        "92256e04763e4f059ec6e04775f3c197d7f1542f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue May 05 01:18:31 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed May 06 03:02:31 2026"
      },
      "message": "ssh_client: wasi-sdk: upgrade to 33.0\n\nThis should support C++ exceptions now which should allow us to\nsimplify the mosh port.\n\nChange-Id: I0130a83fcc69f279c55562d931fd5f1c805eb37e\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7819054\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "92256e04763e4f059ec6e04775f3c197d7f1542f",
      "tree": "e1e9d05324a45e0061a31e462bd4b70aa1c2c4e3",
      "parents": [
        "2a7d9a1e50c05e42c7a01bb053f09fc950414a7d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Apr 28 13:35:11 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri May 01 00:33:32 2026"
      },
      "message": "kokoro: container: add missing load help text\n\nChange-Id: I6a78738b67bccb5d80917092ea08cc9b14b5dca6\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7807827\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "2a7d9a1e50c05e42c7a01bb053f09fc950414a7d",
      "tree": "fbb7316c74b41e1d6aca8c7fc84d08f2925ce8fb",
      "parents": [
        "04fa2d6078d4cf38723ce8f157ef5c552e7fcbfd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Apr 29 01:24:04 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Apr 29 06:38:36 2026"
      },
      "message": "libdot: raise min Python version to 3.11\n\nNow that we use trixie in the build env, and we already use vpython\nwith 3.11, and CrOS uses 3.11, we can safely raise the min version.\n\nChange-Id: I0d55a53bd1a6744fdfca577f2242ba182c873179\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7801066\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "04fa2d6078d4cf38723ce8f157ef5c552e7fcbfd",
      "tree": "4f687542c3e75f1b832566f96904fdf44fbaf1ba",
      "parents": [
        "13aa2191d65bc922d415b64a2e3c56d61431c817"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Apr 28 13:31:55 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Apr 28 23:58:12 2026"
      },
      "message": "docker: update container to trixie\n\nBookworm standard security support ends in June 2026 (switches to LTS),\nso upgrade our container to trixie.  It\u0027s available in Crostini now so\npeople should be able to easily support it.\n\nChange-Id: I6d5709430e3a7625ab373801085454417a074697\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7796247\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "13aa2191d65bc922d415b64a2e3c56d61431c817",
      "tree": "5d74e4ca26af033f04c507d1208b244a1bbc1ab0",
      "parents": [
        "ea8a17bc794e7ff61c1be6c6c82c674302be0f49"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Apr 06 14:34:36 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Apr 10 19:32:36 2026"
      },
      "message": "libdot: fetch: increase retry count\n\nCurrently we retry 4 times (so 5 attempts total).  Since we backoff by\nx2 each time, that means our attempt window is \u003c20 seconds before we\ngive up (1 + 2 + 4 + 8 \u003d 15 seconds, plus network delays).  Increase\nthis to 7 retries (so 8 attempts total) which stretches us out to over\n2 minutes in total.  If the server/network is having trouble, then this\nis still reasonable.\n\nChange-Id: I0a84a02a4414181534d76ca5c5de40b26df4e29f\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7731981\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "ea8a17bc794e7ff61c1be6c6c82c674302be0f49",
      "tree": "ff87624ea82ad2ae4aeab10e0a67f2eef229d41d",
      "parents": [
        "e5627c2f8e2db93da77b2a01b3d53e99d6e8b5c7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Apr 02 16:18:05 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Apr 04 18:52:50 2026"
      },
      "message": "ssh_client: openssh: upgrade to 10.3\n\nChange-Id: I13de052f0b0f2f3987e637dc6f6cb62ff17d935f\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7726824\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "e5627c2f8e2db93da77b2a01b3d53e99d6e8b5c7",
      "tree": "7779a5c9df3a04ab797f48adae7b08fcd4f2daf1",
      "parents": [
        "be11860ed2b3c2a005ea660aa4a06ab4fb5aa62f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Mar 21 03:18:07 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Apr 04 17:58:49 2026"
      },
      "message": "ssh_client: wasi-sdk: upgrade to 32.0\n\nChange-Id: Idcc4e6440a736a0c7e7119a602750f3190b7438e\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7722819\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "be11860ed2b3c2a005ea660aa4a06ab4fb5aa62f",
      "tree": "00c742aca18fed040356e0bd2ed1dfdb619e1e6b",
      "parents": [
        "def50387220d1394399f5315904ef6288155bde7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Feb 13 04:42:46 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Apr 04 15:01:55 2026"
      },
      "message": "bazel: ignore generated dirs\n\nChange-Id: I0343ee7477ead5a0cf1db17c51a108352229cd8a\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7570847\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "def50387220d1394399f5315904ef6288155bde7",
      "tree": "e65dd5f3ab9494d5d060abc5852b7d9009483c3a",
      "parents": [
        "531352fc268f9370ae2b7eea2520c343616f1730"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Apr 01 19:44:18 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Apr 04 15:01:07 2026"
      },
      "message": "nassh: plugin: update to 0.76\n\nChange-Id: Ibb7a380f50d3c38769037f147e57102521edbc90\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7722818\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "531352fc268f9370ae2b7eea2520c343616f1730",
      "tree": "af40e1ab09706b8728785266e8bc5dfec4317d0c",
      "parents": [
        "73d0048c5578739b80ae005cfbab3a95669eec48"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Apr 04 06:27:57 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Apr 04 12:55:52 2026"
      },
      "message": "libdot: fetch: do not rely on server Content-Length header\n\nIf the response does not include the Content-Length header,\ncompute the final download length ourselves before checking.\n\nChange-Id: I07658e83b08622726425de808759a5825aaa2289\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7727153\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "73d0048c5578739b80ae005cfbab3a95669eec48",
      "tree": "0c0e997f06d0bbd8eb7757209fa68149b329169c",
      "parents": [
        "e18a2d269725b5d00c35ff9fba887b9c833237cf"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Mar 01 05:30:05 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Apr 02 16:19:13 2026"
      },
      "message": "ssh_client: protobuf: upgrade to 3.20.3\n\nThis is the last release series to support autotools.\nNewer versions would require switching to cmake.\n\nChange-Id: Iffbaab56ae559f9bcc8003d5fcecf5cadd0ccced\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7620786\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "e18a2d269725b5d00c35ff9fba887b9c833237cf",
      "tree": "2d1934a6fef1b24458313e58a9f57ffe4bb730dd",
      "parents": [
        "dcdd6f1a88f9c8a6a24536894df51e2593e2c6fb"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Mar 21 03:16:32 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 24 03:16:50 2026"
      },
      "message": "ssh_client: zlib: update to 1.3.2\n\nChange-Id: Idf826060abd64eb2d383072698cdc401861ef81e\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7688935\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "dcdd6f1a88f9c8a6a24536894df51e2593e2c6fb",
      "tree": "5e370fc9c7b514a2a8e44f6a62240c63eec5c258",
      "parents": [
        "80b8c22b99ce91409a7d850793d26100623f02ad"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Mar 21 03:16:20 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Mar 22 22:59:08 2026"
      },
      "message": "wassh: readpassphrase: add missing include for size_t\n\nChange-Id: I2788c3866e02334594115f023c6916264ba280cd\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7688934\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "80b8c22b99ce91409a7d850793d26100623f02ad",
      "tree": "3405a2c22768c1e5b27e76a5687a16c8ff1dc598",
      "parents": [
        "023e9663c5e537c49d2cb76b1739d731a3917133"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sat Mar 14 01:10:10 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Mar 18 21:13:34 2026"
      },
      "message": "nassh: release 0.76\n\nChange-Id: Ibf505d736f8b2f481991eb9c01f5ae37dcfb87c3\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7664086\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "023e9663c5e537c49d2cb76b1739d731a3917133",
      "tree": "51361516cd6a3ef2a505093f8a250982913021c2",
      "parents": [
        "ed86bc322850a8717793df165f04a8055d655fb2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 04:26:33 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 15:03:18 2026"
      },
      "message": "wassh: GAI: handle trailing dot in localhost checks\n\nThe trailing dot in DNS is rarely used, but is correct, so check for i\nwith the various hardcoded localhost names.\n\nBug: b/262350367\nChange-Id: I3f6f947ca2d197df974d62976a248e9322aa9603\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7647921\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "ed86bc322850a8717793df165f04a8055d655fb2",
      "tree": "02bca0c47e9cc63111b1f442b8825080aa9b172b",
      "parents": [
        "8da53f1344e70eba529f9f6b5dcfded86867de6d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 04:22:24 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 14:18:45 2026"
      },
      "message": "wassh: GAI: drop localdomain hardcoding\n\nI don\u0027t recall why I included this in the initial implementation, and\nsince I can\u0027t find any RFCs justifying its existence, and it\u0027s not how\ne.g. the GNU libc resolver works, drop it.\n\nBug: b/262350367\nChange-Id: I6d17841152d8dff8d92e73ec3b1b4ef9fc947e39\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7647920\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "8da53f1344e70eba529f9f6b5dcfded86867de6d",
      "tree": "12b2d2fc2e45092b0a26dc277c55851fe19f3193",
      "parents": [
        "af300ffed27e27ef634fc3ceca1aedda3a9e1734"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 03:49:49 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 04:51:56 2026"
      },
      "message": "libdot: colors: simplify hsla() handling\n\nSince hsla() is an alias for hsl(), there\u0027s no need to handle it\ndifferently.  Normalize everything to \"HSL\", use a single regex\nto match it, and always return hsl() in results.\n\nBug: b/490478687\nChange-Id: I447e29d12c06469e5076e24be59612c853e7b6e8\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7646335\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "af300ffed27e27ef634fc3ceca1aedda3a9e1734",
      "tree": "d2467cc5aa06318ccfc649765095cd316be6f67b",
      "parents": [
        "42fbcbdf4a1a8a416248b19434af4c735409b092"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 03:29:56 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 04:51:39 2026"
      },
      "message": "libdot: colors: simplify rgba() handling\n\nSince rgba() is an alias for rgb(), there\u0027s no need to handle it\ndifferently.  Normalize everything to \"RGB\", use a single regex\nto match it, and always return rgb() in results.\n\nBug: b/490478687\nChange-Id: I7e104e5a8f76ef3cbd1536a3fd3e9aa838eaf232\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7646334\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "42fbcbdf4a1a8a416248b19434af4c735409b092",
      "tree": "3b0518a5a421402752d9f631bb3a18ea28931a41",
      "parents": [
        "795c6c83d47b8c1ebdc3836d28018c7f9fa2a32d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Feb 19 04:30:40 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 04:28:57 2026"
      },
      "message": "prettier: enable formatting for CSS files\n\nChange-Id: Id5d66736ec93b44ab3fa65762e42e4183e595116\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7649434\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "795c6c83d47b8c1ebdc3836d28018c7f9fa2a32d",
      "tree": "2b9a85b5b57cf3cc2fd51a4e16bce6d918f10235",
      "parents": [
        "18302c586f2448e215f87a1671f43955817f8894"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Nov 16 17:28:39 2023"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 10 04:27:24 2026"
      },
      "message": "wassh: GAI: return stub addresses for fake ones\n\nTo avoid confusing people further, normalize all fake addresses into\nthe \"any\" form.  We\u0027ve long documented IP addresses of 0.0.0.0 as\n\"delaying resolving\", so maintain that here.\n\nThese IP addresses can show up when displaying \"unknown host key\"\nerrors, or in the known_hosts file.\n\nChange-Id: I2e4df1bba956757517b2b13f0e3ceb415d6f7f9b\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7647919\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "18302c586f2448e215f87a1671f43955817f8894",
      "tree": "f12348e89cd8af1da5af1e9a5583b8dc376b2c6f",
      "parents": [
        "b7e97ea117dbb4e788843c01b442dd1d3071152c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Mar 08 05:22:40 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 04:27:36 2026"
      },
      "message": "nassh: prefs: handle invalid colors\n\nIf a saved pref color is invalid such that it can\u0027t be cracked, don\u0027t\ncrash and break loading of the page, reset it and continue on.\n\nBug: b/490478687\nChange-Id: Ibe91eaf699e215c424b07589a090224c6a025027\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7646333\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "b7e97ea117dbb4e788843c01b442dd1d3071152c",
      "tree": "b419f9ad7392a2bb223b0a75a0f46258cfa08091",
      "parents": [
        "5b18d1d06de219a3c56955a7f15764b8cccfcb03"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Mar 08 05:08:27 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 09 03:08:57 2026"
      },
      "message": "hterm: vt: normalize cursor color before cracking\n\nSince the terminal\u0027s cursor color can be set directly by API calls or\nuser preferences to any valid CSS value, make sure we normalize it\nbefore we attempt to crack it as an rgb value.\n\nBug: b/490478687\nChange-Id: I3cc475e854c6b125c1d6a84cbe70dc34b48f1819\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7646332\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "5b18d1d06de219a3c56955a7f15764b8cccfcb03",
      "tree": "e92d88eb93c1ac14e9549110f7b1e6c18f150f0a",
      "parents": [
        "33d7330f7568131947854394fb858d0d92dfc9f2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Mar 01 04:53:24 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 03 15:15:01 2026"
      },
      "message": "ssh_client: protobuf: skip shared libs\n\nWe don\u0027t need the shared lib, so disable it to speed up the build.\n\nChange-Id: I8a8807cd12b2f3211886147d6a9611082c8ac7c2\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7620785\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "33d7330f7568131947854394fb858d0d92dfc9f2",
      "tree": "9fedd6bb13d75cb965935455c66ad0e2783f6efb",
      "parents": [
        "4ecd7376fec37d03289739299684b4f92dfee046"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 02 11:08:11 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 03 12:56:27 2026"
      },
      "message": "libdot: fetch: support writing to dirs \u0026 character devices\n\nFor testing purposes, it\u0027s helpful to run `./fetch -o /dev/null ...`\nor `./fetch -o ./ ...`.  Otherwise it can only write to a file, and\nif that file exists, it gives up.\n\nChange-Id: Ia155ec8ba3e87b9db9577efbf480c4e8f9dec0a8\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7620025\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "4ecd7376fec37d03289739299684b4f92dfee046",
      "tree": "eb5c2b54b5cea0a830197b7987673f3d3562c1d4",
      "parents": [
        "7469fb394beb7fa107e8c717d3aabe44a14fbca2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Mar 02 11:10:03 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Mar 03 12:56:23 2026"
      },
      "message": "libdot: fetch: retry HTTP download errors\n\nWhile the fetch logic handled ConnectionError which comes from the\nhttp.client layers, we didn\u0027t handle urllib failures.  These show\nup with HTTP errors returned by the server.\n\nChange-Id: I5d05088980db891a16aacd56867a272ca01214d4\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7620026\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "7469fb394beb7fa107e8c717d3aabe44a14fbca2",
      "tree": "6d324aacfa45a4ffb0e6b2b464e936163a4c89d6",
      "parents": [
        "7ed34d54a61e2b8624f2b1a1d680c1130c61ef44"
      ],
      "author": {
        "name": "Jimmy Chang",
        "email": "jimmychang@google.com",
        "time": "Wed Feb 18 22:06:40 2026"
      },
      "committer": {
        "name": "Jimmy Chang",
        "email": "jimmychang@google.com",
        "time": "Thu Feb 19 21:21:57 2026"
      },
      "message": "nassh: google: Route `.mandiant-aws-prod.s.off.goog` to use SUP SSH Relay.\n\nBug: 479614039\nChange-Id: I56e851745bd857b6f9b3e7dbbb5e0f36594976d2\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7590595\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "7ed34d54a61e2b8624f2b1a1d680c1130c61ef44",
      "tree": "35a75d715608dcf2b4b01f65195ec9c33b2349ce",
      "parents": [
        "4aea83d4e0986cb13dc1681d7082f4857c8bed41"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Jan 28 03:02:34 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Feb 19 03:14:39 2026"
      },
      "message": "nassh: prefs: make side panel opaque\n\nIf the main page content is too large and we start horizontally\nscrolling, the content bleeds through the left navigation pane\nwhich makes it impossible to read either.  Make the left pane\nopaque to fix that.\n\nChange-Id: Icee720e3211f531ed45f5ad155c9147f1f9a2607\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7591753\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "4aea83d4e0986cb13dc1681d7082f4857c8bed41",
      "tree": "de16628458c317b2db67086f917684695e4166e1",
      "parents": [
        "4364206198e8f81e94e82e5a94380d58f0550066"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Nov 28 19:23:11 2025"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Feb 19 01:35:22 2026"
      },
      "message": "prettier: enable formatting for HTML files\n\nDon\u0027t enable the JS settings just yet.\n\nChange-Id: I8b5c8a68352c70d610b17b07e8f0a737fa44103e\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7511662\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "4364206198e8f81e94e82e5a94380d58f0550066",
      "tree": "15892e04e3a0c238c7f4ca9badc31154ba17a82a",
      "parents": [
        "b4890cb472b710592654fd735e2ca494599dd699"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Feb 16 04:40:42 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Feb 16 05:18:53 2026"
      },
      "message": "node: update to v24\n\nChange-Id: I37c1f8dcba7986a9976b0006295d293fac1e018e\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7580514\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "b4890cb472b710592654fd735e2ca494599dd699",
      "tree": "c44475b9396ec24743304096621aba4aa485ba16",
      "parents": [
        "50928d5e35f75fac28ff275294345f950940902a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Jan 26 04:27:29 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Feb 16 05:04:00 2026"
      },
      "message": "html: reformat with prettier\n\nUse the Google standard settings.\n\nChange-Id: If4f7d1e791957339c13272ddaa54548bd3553156\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7511661\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "50928d5e35f75fac28ff275294345f950940902a",
      "tree": "c244b496d9881d9baed6273cfe0003d413e3fc4e",
      "parents": [
        "e1bdaf22584415cd72f246f7aab32ea9cc50ff00"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Feb 09 16:01:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Feb 09 22:59:00 2026"
      },
      "message": "nassh: plugin: update to 0.75\n\nChange-Id: I4c5c0ee5a8a351474acacd429aa9b3e121bf4697\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7558772\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "e1bdaf22584415cd72f246f7aab32ea9cc50ff00",
      "tree": "0cf21e90f420246f7b21e1f895d4e07019f3b781",
      "parents": [
        "34241f0b551e1a2f169652e864fd42b477f1ad03"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 06:28:13 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Feb 08 22:30:03 2026"
      },
      "message": "nassh: release 0.75\n\nChange-Id: If12e1a0e670b260e3437aa0d7f85083812b9b3b0\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7541115\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "34241f0b551e1a2f169652e864fd42b477f1ad03",
      "tree": "1d812e00624c2857584581e6023830496d1c6f6d",
      "parents": [
        "926d193942e90c5365c39c65fbaf858227619077"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Feb 06 15:09:28 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Feb 08 19:56:06 2026"
      },
      "message": "Revert \"nassh: command: enable automatic newlines\"\n\nThis reverts commit 9ecc11bc3082e432a5a98a812d9493838a6674a1.\n\nReason for revert: Breaking some applications using the secondary\nscreen unless they run `reset` first.\n\nOriginal change\u0027s description:\n\u003e nassh: command: enable automatic newlines\n\u003e\n\u003e NaCl\u0027s tty implementation would handle this at a lower level and have\n\u003e it enabled by default.  We aren\u0027t doing that in wassh currently.  We\n\u003e can hack it up slightly in nassh by turning it on in hterm during init.\n\u003e This might not be the best/correct way to handle this, but it seems to\n\u003e get the job done, so let\u0027s unblock users for now.\n\u003e\n\u003e Bug: b/386855226\n\u003e Change-Id: I8c1c26f7d39410d5a740c5a76f47cb1f319626e4\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7499442\n\u003e Tested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n\u003e Reviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n\nBug: b/386855226\nBug: b/480963281\nChange-Id: I6b621e5d91c4ebfe041e92a72d22789834c993c1\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7548899\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "926d193942e90c5365c39c65fbaf858227619077",
      "tree": "1c60f68c89a5172b4c3dd826cba703ef2b75243f",
      "parents": [
        "82464845b5aeb741f7502198a73f354213149aac"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Feb 04 11:21:36 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Sun Feb 08 19:56:04 2026"
      },
      "message": "wassh: docs: refresh a bit\n\nChange-Id: I89034160177a518b227e147ea5de5b6c2d312ad1\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7545277\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "82464845b5aeb741f7502198a73f354213149aac",
      "tree": "db4e555fab89121f23ed85aeca9ee13f0c18dd05",
      "parents": [
        "bd949da24c4b31e3207098b5154f556ef1e4be7b"
      ],
      "author": {
        "name": "James Zhang",
        "email": "yzhangad@google.com",
        "time": "Fri Jan 30 19:11:12 2026"
      },
      "committer": {
        "name": "James Zhang",
        "email": "yzhangad@google.com",
        "time": "Fri Feb 06 21:19:36 2026"
      },
      "message": "ssh_client: openssh: Fix webauthn sk ecdsa signature support in openssh-10.2\n\nChange-Id: I0e37413db3bc85633a7c83a2a2dc05f06165b9db\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7533679\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Damien Miller \u003cdjm@google.com\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "bd949da24c4b31e3207098b5154f556ef1e4be7b",
      "tree": "68fb8f0d811a08bb7f03c2378fdf9c7e23e07c08",
      "parents": [
        "a88b92d73110841a2daf0359713338266a4578e6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 06:31:46 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 12:23:09 2026"
      },
      "message": "wassh: drop more IP ssh agent\n\nThe rest of this logic has already been deleted, but this was missed.\n\nBug: b/40825936\nChange-Id: If9216bd2f37a890cd54558a5b846b9fb2b4bac4f\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7541116\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "a88b92d73110841a2daf0359713338266a4578e6",
      "tree": "bdd67ab96550801b4a2be1c5b553d50a0d9a44d4",
      "parents": [
        "634b37b48fb8bbcf2655b4819655242fbb4ff06c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 06:27:05 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 12:23:05 2026"
      },
      "message": "nassh: plugin: update to 0.74\n\nChange-Id: I69b31ac1b1ab1a6b70dbc594040325da8e0954f4\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7541114\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "634b37b48fb8bbcf2655b4819655242fbb4ff06c",
      "tree": "e483b6a32dd2df7972b156fb1c8759b3cf75bfdc",
      "parents": [
        "b5d2c316942bb87a6e7f960a18b8b646a077c7bd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 06:00:39 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 12:22:56 2026"
      },
      "message": "ssh_client: wassh-libc-sup: getaddrinfo: return IPv6 \u0026 IPv4 results for localhost\n\nWhen handling AF_UNSPEC on localhost, don\u0027t return only IPv6 results.\nSSH will use these details to determine which ports to bind, and since\nlocalhost has both IPv4 \u0026 IPv6 addresses, make sure we return both so\nSSH will bind both.\n\nBug: b/480787773\nChange-Id: I51fc76e551263b19053c5da23978dd19df6a0ea7\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7541113\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "b5d2c316942bb87a6e7f960a18b8b646a077c7bd",
      "tree": "8b127ae6e6c555f89992b995917b2001dc494e20",
      "parents": [
        "75c47aec1c3e7342703b6d30f8a3b9a966aa614e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 05:54:56 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 12:22:47 2026"
      },
      "message": "wassh: sockets: plumb IPV6_V6ONLY support through direct sockets\n\nSince the direct sockets APIs support the IPv6 only setting, plumb\nthrough support for it.\n\nBug: b/480787773\nChange-Id: I8497c3918c96c2e620cd9c0a7923000a09e705d3\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7540937\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "75c47aec1c3e7342703b6d30f8a3b9a966aa614e",
      "tree": "8ccc11f57b5a0629ae9143038cd536fb07861e3f",
      "parents": [
        "755256647f5cd8b1070ab99a4db4d1886f4da9eb"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jan 27 08:37:30 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Feb 03 12:22:07 2026"
      },
      "message": "nassh: prefs: translate the Reset button\n\nChange-Id: Ide13d1836fe71382ed477bdc2dd343d80ce9a39d\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7517908\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "755256647f5cd8b1070ab99a4db4d1886f4da9eb",
      "tree": "e11c770ec62be6b242eba93c1b102f09a1567f70",
      "parents": [
        "0ac5b1b8c3eae400d468a06d2c9a09f7875460cd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jan 29 05:26:04 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jan 30 01:04:57 2026"
      },
      "message": "wassh: udp: fix automatic binding for IPv6\n\nWe were always using the IPv4 wildcard address (0.0.0.0) even when\nthe socket was IPv6.  Dynamically pick the address instead.\n\nBug: b/479480718\nChange-Id: Ib8d6384987cce03bfbe3960a8aae6b62d663e7ed\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7529396\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "0ac5b1b8c3eae400d468a06d2c9a09f7875460cd",
      "tree": "8c11c172234aa0e1c72c88a590c22df6dbd1ce71",
      "parents": [
        "5e01033f9e88939167ade78435975bf7e6cd1a26"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Jan 29 15:49:15 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Jan 30 01:04:47 2026"
      },
      "message": "eslint: increase language to 2021\n\nWe already updated docs \u0026 other tools like closure-compiler,\nbut this was missed.\n\nChange-Id: I105a38c46ac2d853ffd229a09aa2959a82317cab\nReviewed-on: https://chromium-review.googlesource.com/c/apps/libapps/+/7532909\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    }
  ],
  "next": "5e01033f9e88939167ade78435975bf7e6cd1a26"
}
