)]}'
{
  "log": [
    {
      "commit": "5d6fa5e1d2d33a7b080a6aef4c8e0ee5a9b358aa",
      "tree": "14eb79e974e1e601f60e372dc03f6d33f5ccf32c",
      "parents": [
        "5ec857768df34c038b648d4b407e128d7224bbdb"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 19:28:28 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Oct 29 03:07:51 2026"
      },
      "message": "typescript: migrate to markdown\n\nThis also contains some internal changes that weren\u0027t exported previously.\n"
    },
    {
      "commit": "5ec857768df34c038b648d4b407e128d7224bbdb",
      "tree": "b22b88312f38a38aee2a926209aa92cfbdd83f3b",
      "parents": [
        "8e035461436fa0bd20650d7b01fae92dd8f9a77b"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Thu Oct 29 02:32:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 02:32:59 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1009345184\n"
    },
    {
      "commit": "8e035461436fa0bd20650d7b01fae92dd8f9a77b",
      "tree": "b38fe49d9b96365d9af3256369eaec49222511a1",
      "parents": [
        "b022407172608d373662f2a420456f55cc46e484"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Wed Oct 28 21:21:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 21:22:37 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1009174118\n"
    },
    {
      "commit": "b022407172608d373662f2a420456f55cc46e484",
      "tree": "c681d0d3a71cb672a790ce248a7b9b6665f23701",
      "parents": [
        "5cfdc38868c830302ee1cbbeca8a4ee4c301b11c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 20:34:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 21:22:18 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1009140818\n"
    },
    {
      "commit": "5cfdc38868c830302ee1cbbeca8a4ee4c301b11c",
      "tree": "b38fe49d9b96365d9af3256369eaec49222511a1",
      "parents": [
        "3aff0e6faa3a1ddf0de2706858a7dda10f4435c0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Oct 24 04:09:31 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 19:02:35 2026"
      },
      "message": "java: migrate to markdown\n"
    },
    {
      "commit": "3aff0e6faa3a1ddf0de2706858a7dda10f4435c0",
      "tree": "011f6c5fc744acc9b47f2202d4207d401b8ef1df",
      "parents": [
        "dcd835434aeacc57dd8be8e318118f66991c14f6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 16:18:22 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 16:18:22 2026"
      },
      "message": "tcltk: link in external guide we use\n\nWe don\u0027t have one ourselves, but we refer to this one.\n"
    },
    {
      "commit": "dcd835434aeacc57dd8be8e318118f66991c14f6",
      "tree": "9e3e8cf3dff7daa7c76d4b4e3bf888f1bd6b09f0",
      "parents": [
        "dabe61736c61e4968b47cf63f532bf439547f266"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 16:01:13 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 16:01:13 2026"
      },
      "message": "README: add a VCS section explicitly\n"
    },
    {
      "commit": "dabe61736c61e4968b47cf63f532bf439547f266",
      "tree": "e6aa02134c0ff1c04bda0dc647ac9600257fd11a",
      "parents": [
        "533dd06a384f372ce76c518fd11e09a67f97d457"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 15:30:25 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 15:30:25 2026"
      },
      "message": "README: unify the style guide lists into one\n\nWe\u0027re already mixing sources in the main list of guides, and having\na separate list isn\u0027t really helping that much.  Merge into one list\nand call out provenance when reporting issues.\n"
    },
    {
      "commit": "533dd06a384f372ce76c518fd11e09a67f97d457",
      "tree": "facb837f8f85c5816ef8df7fa17edf21431f6bb8",
      "parents": [
        "572c673d9058242c049fbc8248b17029726c7afa"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 15:25:10 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 28 15:25:10 2026"
      },
      "message": "README: fold XML back into the main list\n\nThe longer explanation isn\u0027t really necessary here, and the details\nare contained in the XML guide itself.  Other guides sometimes have\nadvice beyond purely formatting.\n"
    },
    {
      "commit": "572c673d9058242c049fbc8248b17029726c7afa",
      "tree": "5aa75fac7d55f9f7ca1885d0ca1e4b61c020b3c9",
      "parents": [
        "dde305184e15530cfc321303522060b9883664ff"
      ],
      "author": {
        "name": "Lubaba Khalid",
        "email": "129605617+LubabaKhalid@users.noreply.github.com",
        "time": "Tue Oct 27 14:35:19 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 28 00:37:33 2026"
      },
      "message": "js: explain the rectangle rule\n\nThe function argument examples say one layout \"violates the rectangle\nrule\" without saying what that is.  Add a short definition and link to\nthe full description in the google-java-format wiki.\n"
    },
    {
      "commit": "dde305184e15530cfc321303522060b9883664ff",
      "tree": "02e429e3a6ebb28408db4dbc6a3301907a2474bd",
      "parents": [
        "cbce6a3f220b64fe950e40b43d3ff2a6a6479304"
      ],
      "author": {
        "name": "Lubaba Khalid",
        "email": "129605617+LubabaKhalid@users.noreply.github.com",
        "time": "Tue Oct 27 14:35:19 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Oct 27 14:47:51 2026"
      },
      "message": "js: link to a definition of CSP\n\n\"CSP environments\" is not explained.  Spell out Content Security Policy\nand link to a description of it.\n"
    },
    {
      "commit": "cbce6a3f220b64fe950e40b43d3ff2a6a6479304",
      "tree": "a81314ca7b55429e469739c4a6a0d26f0a84fe9e",
      "parents": [
        "c775c0c2f73c110613243520c001577cdbc0034d"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Mon Oct 26 16:55:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 16:57:07 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1007354033\n"
    },
    {
      "commit": "c775c0c2f73c110613243520c001577cdbc0034d",
      "tree": "5907db5f4380bb56fb6af232aa268fae105e7496",
      "parents": [
        "ac81bb465fdc5f0f68f64b72a90024c7c52442cc"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Sat Oct 24 02:59:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 24 03:00:14 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1006046694\n"
    },
    {
      "commit": "ac81bb465fdc5f0f68f64b72a90024c7c52442cc",
      "tree": "dbb0020653d064208b620b94ae006103973fc3da",
      "parents": [
        "89e0e1b454a1709f0957e4c184660dde87137209"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Fri Oct 23 20:26:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 20:27:20 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1005823146\n"
    },
    {
      "commit": "89e0e1b454a1709f0957e4c184660dde87137209",
      "tree": "4679e76b9076f2e6e5ee44d7309a9a0973c4d08f",
      "parents": [
        "577f395ca4c30868313a6b234e582129d88d68f8"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Fri Oct 23 15:59:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 16:00:05 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1005639216\n"
    },
    {
      "commit": "577f395ca4c30868313a6b234e582129d88d68f8",
      "tree": "41e3f4576e66ec911dc5791b3b32cb3774df296c",
      "parents": [
        "2ac1584cd3c9854760f02418ec24687ec1698fb8"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Fri Oct 23 13:58:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 13:59:05 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1005568362\n"
    },
    {
      "commit": "2ac1584cd3c9854760f02418ec24687ec1698fb8",
      "tree": "dba439d4dcfbe3afdc4fa974b6bef47e1e7025fd",
      "parents": [
        "08224f0ade368c9a78a67be1c007eb7f3df8f2d1"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Wed Oct 21 22:13:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 22:13:57 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1004267654\n"
    },
    {
      "commit": "08224f0ade368c9a78a67be1c007eb7f3df8f2d1",
      "tree": "34937f12a0c82e0a604efdda5be565f47303c218",
      "parents": [
        "a3fe0d1d3c034b66a453ad84d706e3503935e32d"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Wed Oct 21 18:32:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 18:33:13 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1004098447\n"
    },
    {
      "commit": "a3fe0d1d3c034b66a453ad84d706e3503935e32d",
      "tree": "997cf70fe3097d8935d8766d28da889045141d2a",
      "parents": [
        "3cf4f72013826804b7442896ce84d3777cf89ae0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 16:44:45 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 16:44:45 2026"
      },
      "message": "link in new Rust guide #276\n\nFixes: #276\n"
    },
    {
      "commit": "3cf4f72013826804b7442896ce84d3777cf89ae0",
      "tree": "6b42d8ebb5ee0392e460cbf077ad09558b2af2e1",
      "parents": [
        "591fedaf0eb82e0b14c1163ab03b1518ff6dbe60"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Wed Oct 21 16:41:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 16:41:53 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1004009482\n"
    },
    {
      "commit": "591fedaf0eb82e0b14c1163ab03b1518ff6dbe60",
      "tree": "5ebf541c6ff9ca59f9853fd1668bc6f7867d6e26",
      "parents": [
        "a81f9cf8e96fd0e16952168518a80c1896b7df03"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 05:08:51 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 05:08:51 2026"
      },
      "message": "docguide: switch to autotoc\n\nThis lets GH pages generate the TOC for us.\n"
    },
    {
      "commit": "a81f9cf8e96fd0e16952168518a80c1896b7df03",
      "tree": "625895ad4ff538e02e57d2774e652ddbe2a59939",
      "parents": [
        "cb62c9ae502ba1394f402bc9bbe2c278180754c0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 05:06:54 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 21 05:06:54 2026"
      },
      "message": "docguide: run files through mdformat\n\nThis is to prepare for automatic export and make diffs easier to review.\n"
    },
    {
      "commit": "cb62c9ae502ba1394f402bc9bbe2c278180754c0",
      "tree": "9b8a2ce818bf6ca3cdbb04301bad33803de4c2b6",
      "parents": [
        "c4286554c556404f8eb30ea377d9266e44d4f1f8"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Tue Oct 20 17:51:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 17:53:04 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1003227363\n"
    },
    {
      "commit": "c4286554c556404f8eb30ea377d9266e44d4f1f8",
      "tree": "947fd9f414e3846e6e8c453b4eb1a8bc87b2e4e8",
      "parents": [
        "f43b95b083a5e52c85fcbb9e7e76cbd5e1c2b3f8"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Mon Oct 19 16:30:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 16:31:11 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1002394198\n"
    },
    {
      "commit": "f43b95b083a5e52c85fcbb9e7e76cbd5e1c2b3f8",
      "tree": "91633e8c7e3e1c7477953093192c13265f0d1179",
      "parents": [
        "7cc8bf15bc7c7d38ce6be992404e8ad3b030ecf1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Oct 18 04:14:35 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Oct 18 04:14:35 2026"
      },
      "message": "README: add an editor section\n\nSome guides touch on editors \u0026 tools, but many don\u0027t.\nStart a section to cover these projects.\n"
    },
    {
      "commit": "7cc8bf15bc7c7d38ce6be992404e8ad3b030ecf1",
      "tree": "f9092b3f600199953ce6d534dde4bbdca49c88ca",
      "parents": [
        "ef219b9e6b77af9ca6d0495af344cedbdf5f9d80"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Oct 18 02:01:32 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Oct 18 02:01:32 2026"
      },
      "message": "docguide: remove unused VERSION file\n"
    },
    {
      "commit": "ef219b9e6b77af9ca6d0495af344cedbdf5f9d80",
      "tree": "2c9db28f47e0ab71f8a9f2bcf9baed8025568474",
      "parents": [
        "24cfcced577a82c4c455909515fa05682c8d2fa8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Oct 17 16:23:46 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Sat Oct 17 16:32:42 2026"
      },
      "message": "README: create a dedicated licensing section\n\nClarify/document the difference between written guides \u0026 code.\n"
    },
    {
      "commit": "24cfcced577a82c4c455909515fa05682c8d2fa8",
      "tree": "881ce38c1ec23ece304404b2c16069e17df7bea3",
      "parents": [
        "b2a398d17f5ea890c6965b50e6c0c27a8c178f72"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Sat Oct 17 14:44:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 17 14:45:23 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1001469701\n"
    },
    {
      "commit": "b2a398d17f5ea890c6965b50e6c0c27a8c178f72",
      "tree": "9da758f6d75d28a24521b5a7233f3f636b83d263",
      "parents": [
        "4f87486aee47dcbca88c128299e6c11c5ced9f10"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Sat Oct 17 04:41:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 17 04:43:05 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1001293847\n"
    },
    {
      "commit": "4f87486aee47dcbca88c128299e6c11c5ced9f10",
      "tree": "b7c5701f98af6a463fade8d0417036a0e8ab1197",
      "parents": [
        "f103a0932e0d5873e138bdff0d46b46fad989e1e"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Sat Oct 17 03:28:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 17 03:28:31 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1001270344\n"
    },
    {
      "commit": "f103a0932e0d5873e138bdff0d46b46fad989e1e",
      "tree": "c19401aa4fa5ddca845ed2887f8fd95c65ada9da",
      "parents": [
        "9f287fc2a288ba83bb67beeaa2aa889f95ccad1b"
      ],
      "author": {
        "name": "Google Open Source Bot",
        "email": "copybara@google.com",
        "time": "Fri Oct 16 21:22:07 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 16 21:23:35 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1001096816\n"
    },
    {
      "commit": "9f287fc2a288ba83bb67beeaa2aa889f95ccad1b",
      "tree": "dafdf1ac723ec04c606e66c1ddc4a72b7b7e4ed9",
      "parents": [
        "0ea7b0e1314a86ee9f34b8e551510a385cf0161d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 16 17:07:47 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 16 21:23:26 2026"
      },
      "message": "Automated export from internal guides\n\nPiperOrigin-RevId: 1000931729\n"
    },
    {
      "commit": "0ea7b0e1314a86ee9f34b8e551510a385cf0161d",
      "tree": "0d7f129ebded26e68f048ea2d333b8ea2a8470cc",
      "parents": [
        "4ca1a449126002edc4a18e8306a1d04c28f9cbd9"
      ],
      "author": {
        "name": "Sergey Sokolov",
        "email": "3139960+snsokolov@users.noreply.github.com",
        "time": "Fri Oct 16 19:37:09 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 16 19:54:55 2026"
      },
      "message": "verilog: wrap `define in code span to fix Kramdown table parsing\n\nKramdown\u0027s table row validator only runs its :codespan and :span_html parsers (not :escaped_chars), so the backslash-escaped backtick in [\\`define macros](#defines) opened an unclosed code span across the row\u0027s | delimiter and caused Kramdown to abort parsing the table. Wrap `define in a two-backtick inline code span so Kramdown renders the table, and drop the duplicate #sequential-logic anchor above #sequential-logic-registers.\n"
    },
    {
      "commit": "4ca1a449126002edc4a18e8306a1d04c28f9cbd9",
      "tree": "f9e29644675a0401853be0b8a32a2893c6fc6955",
      "parents": [
        "8ae9e923cba83963802ae63ae1ece65449f61cfa"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 16 17:42:46 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 16 17:46:46 2026"
      },
      "message": "lisp, vim: sync latest internal to add autotoc\n"
    },
    {
      "commit": "8ae9e923cba83963802ae63ae1ece65449f61cfa",
      "tree": "7cc3129aa1237177b3b933197c6addb258ab7e8b",
      "parents": [
        "1090d42f3a23632faa999159e6d26cfa48e958a0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 16 17:41:48 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 16 17:46:46 2026"
      },
      "message": "C#, R: sync latest internal to add autotoc \u0026 good/bad code style\n"
    },
    {
      "commit": "1090d42f3a23632faa999159e6d26cfa48e958a0",
      "tree": "a0c43c673caf87c765c729f288727f68e58945cd",
      "parents": [
        "e257cb5e9247f7c55bec142c726ee47f6ff58720"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Oct 15 14:32:09 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 16 17:41:26 2026"
      },
      "message": "enable block html parsing for zippies\n\nThis doesn\u0027t directly support zippies, but it\u0027s needed in cases where\nguides use \u003cdiv\u003e blocks as the first zippy element.  For now, it should\nbe a noop.\n\nThis resyncs the vim guide to the latest (with most zippies removed)\nand replaces the manual Python TOC with an automatic one like most of\nthe other guides.\n"
    },
    {
      "commit": "e257cb5e9247f7c55bec142c726ee47f6ff58720",
      "tree": "f1a7a2b447340618f7b255be30182ad5a5c7e678",
      "parents": [
        "aee99aa581bd852c8a40814c1c8d0f8aa79a0ba2"
      ],
      "author": {
        "name": "Sergey Sokolov",
        "email": "3139960+snsokolov@users.noreply.github.com",
        "time": "Thu Oct 15 23:16:07 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 16 01:22:13 2026"
      },
      "message": "verilog: fix naming-overview table and colliding heading anchors\n\nConvert the Hoedown multiline naming-overview table into a standard single-line Markdown table so Kramdown renders it as an HTML table instead of a definition list. Disambiguate colliding heading anchors and wrap macro references in inline code spans.\n"
    },
    {
      "commit": "aee99aa581bd852c8a40814c1c8d0f8aa79a0ba2",
      "tree": "872f337a69d6ed1833e97b98857e91a8d40d6cf9",
      "parents": [
        "694f0ce61e05aab953b998300cd049d705fc7ede"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Oct 15 08:32:27 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 15 09:19:21 2026"
      },
      "message": "python: sync latest version\n\nThis includes good/bad code updates.\n"
    },
    {
      "commit": "694f0ce61e05aab953b998300cd049d705fc7ede",
      "tree": "535f2bd061984f347900a0a44aad8803aab84187",
      "parents": [
        "41320d010eed50035066a2f784f788e4196e1fb9"
      ],
      "author": {
        "name": "Sergey Sokolov",
        "email": "3139960+snsokolov@users.noreply.github.com",
        "time": "Wed Oct 14 20:46:42 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 15 09:16:15 2026"
      },
      "message": "verilog: use verilog code fence tag for Rouge highlighting\n\nRouge on GitHub Pages only registers its SystemVerilog lexer under \u0027verilog\u0027 and does not recognize \u0027systemverilog\u0027, causing Kramdown to emit bare \u003cpre\u003e\u003ccode\u003e blocks without syntax or Good/Bad highlighting.\n\nWorkaround for #1050\n"
    },
    {
      "commit": "41320d010eed50035066a2f784f788e4196e1fb9",
      "tree": "0b1acfe635d4357cbbdc9b9d0b876f5c223208c5",
      "parents": [
        "f5b2a4740bd9ac1c1f8b1c5390f69776664f8fb9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Oct 06 05:25:05 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 15 08:42:59 2026"
      },
      "message": "js: migrate to markdown\n\nSince the guide is frozen and is seeing no more internal updates,\nmight as well convert it to markdown to drop HTML/CSS deps.\n"
    },
    {
      "commit": "f5b2a4740bd9ac1c1f8b1c5390f69776664f8fb9",
      "tree": "77b9083d78ae39c36d56038a1cc23d504d055eed",
      "parents": [
        "4042cd668180bfcdead987acfc41a56022fe9874"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Oct 05 16:30:28 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 15 07:52:00 2026"
      },
      "message": "htmlcss: migrate to markdown\n"
    },
    {
      "commit": "4042cd668180bfcdead987acfc41a56022fe9874",
      "tree": "f51874f19fb25106a241dc43048daa6e64342cbe",
      "parents": [
        "0acdb47ea7d3fe887af5ddd34f9a9b09a7b97566"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Oct 11 08:06:52 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 15 07:13:40 2026"
      },
      "message": "add support for automatic TOC\n\nThis is a port of the existing styleguide.js auto TOC logic from the\nHTML guides to the newer markdown guides.  Rather than generate the\nentire TOC in JS, rely on GH\u0027s generator to create, and then process\nit slightly with minimal CSS+JS.\n\nWhile GH\u0027s builtin markdown renderer automatically creates sidepanel\nTOCs, the GH pages export does not.  Use the `* TOC {:toc}` form so\nthe export automatically generates for us.  The downside is that it\nalso shows up in GH\u0027s builtin markdown renderer, but it\u0027s only one\nline at the top, so it shouldn\u0027t be onerous.\n\nThe CSS logic tweaks which levels are displayed in the generated\nTOC: we hide the single top-level, and omit levels deeper than 2.\nThe JS logic puts the TOC into a \u003cdetails\u003e HTML element (internally\ncalled a zippy) so that it\u0027s collapsed by default.\n\nWhile the old auto TOC codebase supported \"horizontal\" and \"vertical\"\nformats, the new one only supports \"vertical\".  Most of our guides do\nnot care and take the default since that\u0027s what internal \u0026 external\nmarkdown renderers use, but notably some are using horizontal still:\n* C++, HTML/CSS, Java, JS, TS: external, but not internal\n* shell: internal \u0026 external (via manual TOC)\n\nWe\u0027ll leave the shell guide alone, but the rest will be switched over\nin the future as we regenerate things, and discuss with respective\nmaintainers.\n"
    },
    {
      "commit": "0acdb47ea7d3fe887af5ddd34f9a9b09a7b97566",
      "tree": "67758570900775834c672bb8ad264678ea5b56fb",
      "parents": [
        "0dedb4a6baa5c2c6fef709964cca8db068fda265"
      ],
      "author": {
        "name": "anranlee99",
        "email": "anranlee99@gmail.com",
        "time": "Mon Apr 08 00:48:13 2024"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 19:06:02 2026"
      },
      "message": "Update cppguide.html\n\nFixed typo.\n"
    },
    {
      "commit": "0dedb4a6baa5c2c6fef709964cca8db068fda265",
      "tree": "815b1c3067204171498815c3e9cd9cade509d5ba",
      "parents": [
        "04ee3524637b746ac9b1e58e3054da8915390702"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Oct 10 03:18:06 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 18:34:59 2026"
      },
      "message": "add support for alert blocks\n\nGFM supports alert blocks like Tip \u0026 Note, but GH pages does not.\nPort the logic over from the jsguide to use on all GH markdown pages.\n"
    },
    {
      "commit": "04ee3524637b746ac9b1e58e3054da8915390702",
      "tree": "d23a93254f8b1f694b11d5ecc9a193be76212a5d",
      "parents": [
        "d2884536a45ac32cada6bbe597fce4b004be03c7"
      ],
      "author": {
        "name": "Sergey Sokolov",
        "email": "3139960+snsokolov@users.noreply.github.com",
        "time": "Tue Oct 13 05:40:24 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 17:13:10 2026"
      },
      "message": "verilog: initial export\n"
    },
    {
      "commit": "d2884536a45ac32cada6bbe597fce4b004be03c7",
      "tree": "8d63ca500b0b74bf23bd4b34108a48ee9dbb8b6f",
      "parents": [
        "7b728a5c4dd94f5b66f2552e84f73253dd7b1356"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 14 17:07:39 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 17:11:23 2026"
      },
      "message": "json: clarify lower camel case style\n\nFixes: #207\n"
    },
    {
      "commit": "7b728a5c4dd94f5b66f2552e84f73253dd7b1356",
      "tree": "d70739f877a25092b9ac09d62ace155a23d1ef83",
      "parents": [
        "87ba9805616d5be691f3a6731363c1088a91b48a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 14 14:32:35 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 14:52:23 2026"
      },
      "message": "styleguide.css: drop unused file\n\nWe\u0027ve merged/migrated existing users over to javaguide.css now,\nso there\u0027s no need for it anymore.  Let\u0027s clear the space so we\ncan rename the mdguide stuff in the future.\n"
    },
    {
      "commit": "87ba9805616d5be691f3a6731363c1088a91b48a",
      "tree": "6a71953326323090f1563a9d09c8bf4acb3a06cc",
      "parents": [
        "88e6359b5c89f58550eb18d145a2dd8e1d6e3acb"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 14 14:17:42 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 14:31:04 2026"
      },
      "message": "add explicit Apache license to source files\n"
    },
    {
      "commit": "88e6359b5c89f58550eb18d145a2dd8e1d6e3acb",
      "tree": "99173fe10cb671f2f7e5f997159768af9bbff8b8",
      "parents": [
        "ac382a9a2c5361c1565d864674b96837b622477a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 14 14:17:14 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 14:31:04 2026"
      },
      "message": "add automatic section header numbering\n\nCurrent guides don\u0027t use this, but some will (like html/css) when we\nconvert it to markdown.\n"
    },
    {
      "commit": "ac382a9a2c5361c1565d864674b96837b622477a",
      "tree": "a0bc544f3d91132a34c8eb195c3ea8eec3812854",
      "parents": [
        "85de1de53ea0988a5ebda40d943a235b269dc0ff"
      ],
      "author": {
        "name": "AleksandrKonstantinov",
        "email": "saskonst.zbb@gmail.com",
        "time": "Thu Mar 30 03:55:30 2017"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 13:40:10 2026"
      },
      "message": "Update cppguide.html\n\nMake an example with a lambda compilable.\n"
    },
    {
      "commit": "85de1de53ea0988a5ebda40d943a235b269dc0ff",
      "tree": "e1a1326c1fa801df0256fcb86c9de91731fbfe52",
      "parents": [
        "355ad72e6b01efe6a29481c627068a381dc0af4b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 14 04:43:19 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 04:45:23 2026"
      },
      "message": "csharp: rename to match all other guides\n\nWe use xxxguide for filenames now, not xxx-style.\n"
    },
    {
      "commit": "355ad72e6b01efe6a29481c627068a381dc0af4b",
      "tree": "a39f81328e3dca0f6a8bdd982d8df662720f12fb",
      "parents": [
        "eaa0a05ec282e893ba314f1e6aeb9ef9f6674249"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 14 03:31:37 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 14 03:34:26 2026"
      },
      "message": "java-google-style: drop old eclipse \u0026 intellij style files\n\nPeople should use the official google-java-format plugins now instead.\nhttps://github.com/google/google-java-format\n\nFixes: #687\n"
    },
    {
      "commit": "eaa0a05ec282e893ba314f1e6aeb9ef9f6674249",
      "tree": "a1800ca69d89ca449f1a01202adce6648e8e08df",
      "parents": [
        "993b5572ce9ec07f1e7309f86d591a26d825c04d"
      ],
      "author": {
        "name": "Lubaba Khalid",
        "email": "129605617+LubabaKhalid@users.noreply.github.com",
        "time": "Tue Oct 13 17:35:17 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Oct 13 20:20:29 2026"
      },
      "message": "vim: fix help tag for the list of built-in functions\n\n`:help functions()` is not a valid help tag and fails with\n\"E149: Sorry, no help for functions()\".  Point to `:help function-list`\ninstead, which lists the built-in functions grouped by purpose.\n"
    },
    {
      "commit": "993b5572ce9ec07f1e7309f86d591a26d825c04d",
      "tree": "608963a87af7372fc35848eedb6d9e7c128a0672",
      "parents": [
        "bdf3db75b7dc938b3b04d710296f3b97ca143240"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Oct 13 00:44:05 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Oct 13 14:45:46 2026"
      },
      "message": "shell: add good/bad code styling\n\nThere\u0027s some formatting thrashing in here due to enabling automatic\nformatting internally, but should be no content change.\n"
    },
    {
      "commit": "bdf3db75b7dc938b3b04d710296f3b97ca143240",
      "tree": "8c80357754d7e00ed8881013e38575ef1e615fe1",
      "parents": [
        "0a7d5c8768211371646a3c1beeff8cd224b974be"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Oct 13 00:42:26 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Oct 13 14:45:46 2026"
      },
      "message": "lisp: fix typo in example\n"
    },
    {
      "commit": "0a7d5c8768211371646a3c1beeff8cd224b974be",
      "tree": "ec68a0d6853e039d236c7a87d235882e3e6fae73",
      "parents": [
        "b7932bb76bc8829dfa9db783ba8b0b2bc1ca53fb"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 09 15:18:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 09 16:55:03 2026"
      },
      "message": "html: export latest internal\n\nFormatting \u0026 https:// changes, but no real content.\n"
    },
    {
      "commit": "b7932bb76bc8829dfa9db783ba8b0b2bc1ca53fb",
      "tree": "6d4f1a10f43ebcdf0639012f1b9a96911e7447eb",
      "parents": [
        "d9e89d78b8206fb87b102738185785be2f4cfe2b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 07 18:58:24 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Oct 09 15:18:24 2026"
      },
      "message": "C++: switch to javaguide.css \u0026 jsguide.js\n\nEvery other HTML guide switched to javaguide.css, so move C++ too.\n\nThis also fixes good code styling in all HTML pages, and fixes C++\ncode syntax colorization.\n"
    },
    {
      "commit": "d9e89d78b8206fb87b102738185785be2f4cfe2b",
      "tree": "eae4e8657619114f01da55288b31c4ac1329390d",
      "parents": [
        "22510568a4998f36e3894a2eb93f4921113bb607"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 07 18:38:49 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 08 16:21:52 2026"
      },
      "message": "objc: export latest w/good+bad code support\n"
    },
    {
      "commit": "22510568a4998f36e3894a2eb93f4921113bb607",
      "tree": "f32c6e04858786d7682293b0e5a3a921062140c8",
      "parents": [
        "1c6a5dc890be7d1b25dc8556e334ea5fddf6f64a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 07 17:07:57 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 07 18:10:47 2026"
      },
      "message": "vim: resync guides for good/bad code support\n"
    },
    {
      "commit": "1c6a5dc890be7d1b25dc8556e334ea5fddf6f64a",
      "tree": "d5cd475f3cd1c3a8cc9c2f8094c01ad12d1bb397",
      "parents": [
        "428b08a728a3e6f114c37c5d91f42c61d506489d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Oct 07 00:23:39 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Oct 07 01:11:09 2026"
      },
      "message": "lisp: sync latest internal w/good+bad code support\n"
    },
    {
      "commit": "428b08a728a3e6f114c37c5d91f42c61d506489d",
      "tree": "4170134ac37b0d3c8dffdd969fe512e4caf8b64b",
      "parents": [
        "2d5291faf6196dc6f0ea9b5b5513d948b4a81371"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Tue Sep 29 18:16:06 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Oct 06 17:51:02 2026"
      },
      "message": "Update C++ style guide\n\nThe canonical source for the C++ style guide has been migrated from HTML\nto Markdown, so there are a significant number of non-content changes\nin this commit as well.\n\n- Clarify code examples are for illustration only and not meant to be\n  copied verbatim\n- Document when it makes sense to use classes to group static members\n  rather than having free functions in a namespace\n- Add `kConstant` examples of constant template parameters and\n  `static constexpr` class data members\n- Note that empty loop bodies (`{}`) are still subject to the general\n  line-breaking rules\n- Other minor wording and formatting updates\n"
    },
    {
      "commit": "2d5291faf6196dc6f0ea9b5b5513d948b4a81371",
      "tree": "afc68770b39d0fe8a40ef1afdb545baf901a0c19",
      "parents": [
        "be05490b1aa78b357ebd754fc4f574e33d83bdc1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Oct 05 16:09:49 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Mon Oct 05 16:15:15 2026"
      },
      "message": "add support for good/bad code snippets in markdown\n\nMigrate haskell initially to show it working.\n"
    },
    {
      "commit": "be05490b1aa78b357ebd754fc4f574e33d83bdc1",
      "tree": "e15b78d637d70858ed6b4723b81bcce4eefd5875",
      "parents": [
        "fc981500047ef2cc2e2509b00dcd23c9badaf8e4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Oct 05 16:08:14 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Mon Oct 05 16:15:15 2026"
      },
      "message": "strip whitespace in headers\n\nOur updated copybara scripts clean this up now.\n"
    },
    {
      "commit": "fc981500047ef2cc2e2509b00dcd23c9badaf8e4",
      "tree": "a6abd62993af1b716e3f466344e43783d7aa8f5a",
      "parents": [
        "4977c4e7e6bb87eea6a92eac7da6f53082bf8485"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Oct 01 14:35:08 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Oct 01 18:31:59 2026"
      },
      "message": "json, xml: sync with internal guide\n\nThese are now fully in sync \u0026 utilize copybara.\n\nJSON is just formatting changes due to mdformat migration.\nXML had to harmonize internal \u0026 external differences.\n"
    },
    {
      "commit": "4977c4e7e6bb87eea6a92eac7da6f53082bf8485",
      "tree": "da3642f1ee4685bf35512aa668c00b1446ffdc0e",
      "parents": [
        "403f0581bd93732111cc8f84f92b07ce1ed50d82"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 30 01:55:39 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Sep 30 13:56:35 2026"
      },
      "message": "r: add lang tags to code snippets\n"
    },
    {
      "commit": "403f0581bd93732111cc8f84f92b07ce1ed50d82",
      "tree": "296eba9b1b165a1930ddc3ab81c7547c9cfa1713",
      "parents": [
        "e77b44673d8e7a38662328b4db4bbc9ed11666bd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Sep 29 15:06:26 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Sep 29 17:27:24 2026"
      },
      "message": "lisp: export latest after fixing external replacement\n"
    },
    {
      "commit": "e77b44673d8e7a38662328b4db4bbc9ed11666bd",
      "tree": "a86ad2e566466e0e99141b98b56ab7890399b521",
      "parents": [
        "70d1e9a510e5b8db3833dcfd35e819dbac0c9968"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 28 04:02:06 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Sep 29 17:27:24 2026"
      },
      "message": "vim: refresh from latest internal\n"
    },
    {
      "commit": "70d1e9a510e5b8db3833dcfd35e819dbac0c9968",
      "tree": "a86b87787a90a699b70d748b607c765e7b0e8ebd",
      "parents": [
        "543fe20ab90f611e353ca5cc1c34f3cac465c7f9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 28 01:56:35 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Sep 29 17:27:24 2026"
      },
      "message": "xml: migrate html to markdown\n"
    },
    {
      "commit": "543fe20ab90f611e353ca5cc1c34f3cac465c7f9",
      "tree": "9db04ddd247bea2a8598bc3cc04d88d74ecce03f",
      "parents": [
        "82555e4a7b0638660384b8c26e96dad7a76b5b00"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Sep 26 08:12:18 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Sat Sep 26 08:14:07 2026"
      },
      "message": "Update objc style guide\n\nPiperOrigin-RevId: 988536167\n"
    },
    {
      "commit": "82555e4a7b0638660384b8c26e96dad7a76b5b00",
      "tree": "8d858f28c885c6e2d26c6f0d0deb579a0894e221",
      "parents": [
        "f43f7a72b5a97a8aa256ef0d0d377590846575df"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Sep 26 08:01:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Sat Sep 26 08:05:08 2026"
      },
      "message": "Update r style guide\n\nPiperOrigin-RevId: 988536167\n"
    },
    {
      "commit": "f43f7a72b5a97a8aa256ef0d0d377590846575df",
      "tree": "c87907915271f467cffa3d149c3e7dac8423627e",
      "parents": [
        "570df3bb3976c91e43615d7ac39bf37f5a6a7932"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 25 20:31:56 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 25 20:41:13 2026"
      },
      "message": "javascriptguide: turn down old ES5 guide\n\nWe kept this around for posterity, but all things die eventually.\nES6 was released over a decade ago and there\u0027s really no reason to\nwrite new code targeting ES5 or older.  If you actually need to\ntarget such a system, transpilers like Babel are the way to go.\nRemoving this guide allows us to remove the styleguide.css file as\nno other guide relies on it.\n"
    },
    {
      "commit": "570df3bb3976c91e43615d7ac39bf37f5a6a7932",
      "tree": "33b275a2be5caabf717b291c6af40e0686f1918b",
      "parents": [
        "f85b9d12776b3e9db5ce394d4e97dc22116f526b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 25 16:40:15 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 25 16:52:41 2026"
      },
      "message": "angularjs: turn down old guide\n\nAngularJS (a.k.a. Angular 1.x) has been turned down and replaced with\nAngular (2.x).  Since AngularJS is basically a dead stack now, drop the\nguide since it likely provides no value anymore.  People can always pull\nit out of the git history if they super want to.\n\nThe Angular style guide is maintained by that project and Google uses\nthat internally as well, so simply link to it rather than duplicate.\n"
    },
    {
      "commit": "f85b9d12776b3e9db5ce394d4e97dc22116f526b",
      "tree": "8483196a40ec179fb54494df846d2cc115a02903",
      "parents": [
        "65900b1dfd767ba379f0131e85135c32aef63e42"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 25 15:41:10 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 25 16:43:43 2026"
      },
      "message": "lisp: export latest internal version\n"
    },
    {
      "commit": "65900b1dfd767ba379f0131e85135c32aef63e42",
      "tree": "f0462b47d221e2e3449fe4be3acae5dde64b8051",
      "parents": [
        "42020bc0cac42f11d0257006af0dc9643d422bcc"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 25 15:04:03 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 25 15:14:14 2026"
      },
      "message": "haskell: initial export\n"
    },
    {
      "commit": "42020bc0cac42f11d0257006af0dc9643d422bcc",
      "tree": "0a90a381a2e639d01f9bdd975fbaabb92014d7a7",
      "parents": [
        "b3cc1ed6cc0b69eed8c8ff7d8506aa4b8c1827e5"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 25 03:09:35 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 25 03:14:43 2026"
      },
      "message": "json: rename example images to match new doc name\n"
    },
    {
      "commit": "b3cc1ed6cc0b69eed8c8ff7d8506aa4b8c1827e5",
      "tree": "5a3b10d59ce960ec508433008debb82e91e7b21d",
      "parents": [
        "e277feb66eb4897ed2aa0c0042e49dc31f59ac1b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Sep 24 19:46:50 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 25 03:14:43 2026"
      },
      "message": "vim: switch to markdown\n"
    },
    {
      "commit": "e277feb66eb4897ed2aa0c0042e49dc31f59ac1b",
      "tree": "b5d3a55c28f6169d6123c1729920db9a80d95ddd",
      "parents": [
        "84759c60715feb514e7062c2ddb055c9f76f1fc7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Sep 24 19:09:14 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 24 19:18:38 2026"
      },
      "message": "jsoncguide: switch to markdown\n"
    },
    {
      "commit": "84759c60715feb514e7062c2ddb055c9f76f1fc7",
      "tree": "a77ac86806ea428296e317f76689af14033ccdab",
      "parents": [
        "2b21895cd5f2fbc6e041f9f0a2dbb32b44b5fe7b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Sep 24 16:32:13 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 24 16:40:56 2026"
      },
      "message": "shell: export latest version\n"
    },
    {
      "commit": "2b21895cd5f2fbc6e041f9f0a2dbb32b44b5fe7b",
      "tree": "4e5ed66a16eb13ed704619fc258c385b122d9f86",
      "parents": [
        "fc855b4a94f7edab4965c2f6fd913a20af7d225c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 21 02:13:06 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Mon Sep 21 02:47:51 2026"
      },
      "message": "generate html for remaining XML guides\n\nSince Chrome is dropping support for this completely this year,\ngenerate HTML from all remaining XML guides.  These have largely\nbeen migrated to other formats internally already too.\n"
    },
    {
      "commit": "fc855b4a94f7edab4965c2f6fd913a20af7d225c",
      "tree": "1970e85386775ef8306c49a2c6090e27bd2cf791",
      "parents": [
        "1db9f1406b72d0887c18bd856a395d71088674d2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 18 01:48:40 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 18 01:52:40 2026"
      },
      "message": "json: rename filename to match other guides\n\nWe strip off the \"style\" from the filename everywhere else,\nso do that here too.\n"
    },
    {
      "commit": "1db9f1406b72d0887c18bd856a395d71088674d2",
      "tree": "17f56dd83a60f6c45f970003f01399a2d898bf69",
      "parents": [
        "d6f1cb2751ea8765740f43eb39cb7130b9abd9db"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 18 01:47:23 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 18 01:52:40 2026"
      },
      "message": "json: resync with internal guide\n"
    },
    {
      "commit": "d6f1cb2751ea8765740f43eb39cb7130b9abd9db",
      "tree": "d0c9cb7d87bee1e5c8afe6b6451c2973a0833ceb",
      "parents": [
        "93bd851b3cbb81e68865300f48956af1e26fcddc"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 18 01:07:44 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 18 01:37:20 2026"
      },
      "message": "sync internal styleguide.css\n\nIn addition to marking good/bad examples as green/red, add a background\ntext to highlight them for red/green blind users.\n\nThis is a bit crude, and the non-markdown version is on its way out anyway,\nbut it should help to stop the bleeding for the time being.\n"
    },
    {
      "commit": "93bd851b3cbb81e68865300f48956af1e26fcddc",
      "tree": "4eeda691622311d35a9a5fda114a2d04fc54d927",
      "parents": [
        "1d18594f01803e05b6488509831b08d6dfe14109"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 20:00:39 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 17 16:06:59 2026"
      },
      "message": "drop old guides now handled by auto 404 redirect\n\nThe custom 404.html page handles auto redirecting for old pages,\nso we don\u0027t need these stubs anymore.\n"
    },
    {
      "commit": "1d18594f01803e05b6488509831b08d6dfe14109",
      "tree": "1c5fcf151eda9ac93f689e029eec7d60e1998086",
      "parents": [
        "0df7e7df91aab7d196d8cec2a5886cf7ed7f3e4b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 19:53:28 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 17 16:06:59 2026"
      },
      "message": "add custom 404 page to auto-redirect\n\nWe have a lot of stub pages in here simply to redirect people to the\nnew location.  We can automate this with a bit of client-side JS.\n\nUnfortunately, while GH pages supports this when using markdown files,\na lot of the documents we want to redirect are old XML files.\n"
    },
    {
      "commit": "0df7e7df91aab7d196d8cec2a5886cf7ed7f3e4b",
      "tree": "472d6e24893a9c60497bf7f93f24f9a84ae92c1a",
      "parents": [
        "60d2ac7d89ad526937a52571e5e439e01f0af673"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 19:48:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 17 14:57:31 2026"
      },
      "message": "json: use xsltproc to convert the guide\n\nThe tooling I used previously mostly passed inputs through leaving a\nlot of XML tags behind.  Try again using xsltproc like the browsers\nused to do.\n"
    },
    {
      "commit": "60d2ac7d89ad526937a52571e5e439e01f0af673",
      "tree": "8f3dc9d149d215c3018cdc108d2f7a2be9248244",
      "parents": [
        "a554c901666a165150e637183917ad5209e89b89"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 17:19:38 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Sep 16 17:24:52 2026"
      },
      "message": "json: crush png images using pngout\n"
    },
    {
      "commit": "a554c901666a165150e637183917ad5209e89b89",
      "tree": "5c71bc6b1ecd803bb55f25b99f4e6091609a6bb2",
      "parents": [
        "1c236ded86d5ceac42a9fbb1ece33b4a78b10a4f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 17:15:40 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Sep 16 17:18:01 2026"
      },
      "message": "json: fix redirect link\n\n\"jsoncguide\" will be the new name, but for now, the page is stored at\n\"jsoncstyleguide.html\".\n"
    },
    {
      "commit": "1c236ded86d5ceac42a9fbb1ece33b4a78b10a4f",
      "tree": "33cd88080182006acaf48d93572eb668a1a031b6",
      "parents": [
        "a61372e96791889a433505e137b6c4e82e5aebec"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 04:08:11 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Sep 16 14:03:56 2026"
      },
      "message": "link: crush a little w/pngout\n"
    },
    {
      "commit": "a61372e96791889a433505e137b6c4e82e5aebec",
      "tree": "2aecdb3cab9df8ccf3a967bb889c11f30cfdb0ef",
      "parents": [
        "852d1e08a512ba56344b4dfe131d4a0d63125def"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 01:44:58 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Sep 16 01:50:30 2026"
      },
      "message": "shell.xsl: drop obsolete stylesheet\n\nSince the shell guide migrated to markdown/html, the stylesheet for\nthe XML file isn\u0027t really used other than to render the redirect.\nWe can switch to the standard styleguide.xsl for that.\n"
    },
    {
      "commit": "852d1e08a512ba56344b4dfe131d4a0d63125def",
      "tree": "4fa72e973471d4fac42ce6609849f0934dec9e50",
      "parents": [
        "a78efc6c5d3fa0327abf8b14bbe74cb8cd25bad1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 16 01:40:36 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Wed Sep 16 01:47:13 2026"
      },
      "message": "javaguidelink: drop unused image\n\nThis was used long ago and is really a dupe of the existing\ninclude/link.png.  Since nothing has referred to it in years,\ndrop it.\n"
    },
    {
      "commit": "a78efc6c5d3fa0327abf8b14bbe74cb8cd25bad1",
      "tree": "26229ec886117a4397fbcc948b4f7ef5f18e9775",
      "parents": [
        "70669198a30f4439352f57f0596dc963ef77072a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Sep 15 01:39:41 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Sep 15 01:59:37 2026"
      },
      "message": "reduce side margins on smaller screens\n"
    },
    {
      "commit": "70669198a30f4439352f57f0596dc963ef77072a",
      "tree": "ccdc9d8c37e7737e8a19b9795aad96dc50cff520",
      "parents": [
        "e4d272eb151adfb5f382501265172a99c6a19671"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Sep 15 00:47:53 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Sep 15 01:29:54 2026"
      },
      "message": "json: transform xml to html\n\nSince browsers don\u0027t do this for us anymore, run it through the same\npublish logic as our other guides to generate the html output.\n"
    },
    {
      "commit": "e4d272eb151adfb5f382501265172a99c6a19671",
      "tree": "77905ab1ed62978bc68e5642e9284f3e9eaa783c",
      "parents": [
        "c1cea3a58417c878fa3eb327bf769c32895e7c79"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 14 20:20:47 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Tue Sep 15 00:39:26 2026"
      },
      "message": "set viewport to help mobile rendering in some html guides\n\nIt isn\u0027t perfect, but it\u0027s mostly there, and is a lot more readable\nthan the desktop compatibility render.\n"
    },
    {
      "commit": "c1cea3a58417c878fa3eb327bf769c32895e7c79",
      "tree": "980a6a29e89d4faafd9695c6e25e35b404150450",
      "parents": [
        "3dd7005e6ffb5ea5660540785714fd2fef0742fc"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 14 18:22:49 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Mon Sep 14 20:16:38 2026"
      },
      "message": "markdown: switch \u003cpre\u003e to ````\n\nThis fixes code highlighting since the \u003cpre\u003e block doesn\u0027t include\nlanguage details.\n"
    },
    {
      "commit": "3dd7005e6ffb5ea5660540785714fd2fef0742fc",
      "tree": "87beaacd5608a63aaff9cb0a3098bef0d9475163",
      "parents": [
        "81db7ef52d99186460467960558e317b06a07f7e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 14 14:34:34 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Mon Sep 14 15:01:43 2026"
      },
      "message": "import primer-dark stylesheet for automatic dark mode support\n"
    },
    {
      "commit": "81db7ef52d99186460467960558e317b06a07f7e",
      "tree": "d4a46b21825f01681300fd412f50af08b6e87e62",
      "parents": [
        "def053a034a1700234856afcbac4c65ee6795dd7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Sep 14 11:21:22 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Mon Sep 14 14:28:43 2026"
      },
      "message": "set site title in rendered docs\n"
    },
    {
      "commit": "def053a034a1700234856afcbac4c65ee6795dd7",
      "tree": "d62521c6c62ab40622df03505b4cfe3f4bebdc6d",
      "parents": [
        "3b8822983dc779c498961cc86332a28c07590f64"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Sep 13 03:16:30 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Sun Sep 13 03:20:25 2026"
      },
      "message": "use relative links for markdown files\n\nThis makes the paths work in forked projects.\n"
    },
    {
      "commit": "3b8822983dc779c498961cc86332a28c07590f64",
      "tree": "98b0da931f4210ee0158c26a259aa499fabc6ec5",
      "parents": [
        "8b48d0784276dd21a2ab6a1e52fc3485370e3713"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Sep 11 01:15:43 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Fri Sep 11 01:17:33 2026"
      },
      "message": "Update Python style guide\n\nPiperOrigin-RevId: 979157127\n"
    },
    {
      "commit": "8b48d0784276dd21a2ab6a1e52fc3485370e3713",
      "tree": "e1ee9c39b4f26882b4780742086184aa4a9f73cd",
      "parents": [
        "3d517e2966e8d3a4c3ee019f2429f0bafaa7cc8a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Sep 10 03:41:35 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 10 03:42:24 2026"
      },
      "message": "java: export latest internal guide\n"
    },
    {
      "commit": "3d517e2966e8d3a4c3ee019f2429f0bafaa7cc8a",
      "tree": "4d8f42bcee593be6941aaba56c4d09b72b2c2b33",
      "parents": [
        "1809c769de31ba388c755ad15dd057a9ba8531fd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Sep 10 03:37:42 2026"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gmail.com",
        "time": "Thu Sep 10 03:40:04 2026"
      },
      "message": "html: export latest internal guide\n"
    }
  ],
  "next": "1809c769de31ba388c755ad15dd057a9ba8531fd"
}
