)]}'
{
  "log": [
    {
      "commit": "bd73dcaa7f57e75b9411390796cbf6b4cbe59b75",
      "tree": "b4196f1657b6b33b6a60229c0b58beb97c570e9f",
      "parents": [
        "00f1e9fc40dcb3b289514a9b13ca82712a006cee"
      ],
      "author": {
        "name": "Yuhan",
        "email": "18108274905@163.com",
        "time": "Thu Aug 06 09:04:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 09:04:37 2026 +0800"
      },
      "message": "fix(docs): link version picker entries to each version\u0027s landing doc (#2095)"
    },
    {
      "commit": "00f1e9fc40dcb3b289514a9b13ca82712a006cee",
      "tree": "b484d64b23b31d0bf81b45101cc72dcfc2294b00",
      "parents": [
        "b171afa2df76e4dada2403c5edc1d70535b2dd34"
      ],
      "author": {
        "name": "Yuhan",
        "email": "18108274905@163.com",
        "time": "Thu Aug 06 09:04:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 09:04:10 2026 +0800"
      },
      "message": "fix(css): restore container padding and surface the mobile docs nav (#2096)"
    },
    {
      "commit": "b171afa2df76e4dada2403c5edc1d70535b2dd34",
      "tree": "6d02e160e2e038d0fad3a04a9857c583710e4bbb",
      "parents": [
        "0c8404e7f2932475ebe6b434812dc6fca1f106e3"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Aug 03 13:25:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 13:25:37 2026 +0800"
      },
      "message": "fix(ci): validate full deploy before merge (#2090)\n\n* fix(ci): validate full deploy before merge\n\n* fix(ci): isolate publishing from PR builds"
    },
    {
      "commit": "0c8404e7f2932475ebe6b434812dc6fca1f106e3",
      "tree": "9ddc0709b0b31d8c958797227b2f3ca594a1a519",
      "parents": [
        "1f9b600a244c4f7348ff93b7d727a6f6a15a3b3f"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Fri Jul 31 15:10:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 15:10:46 2026 +0800"
      },
      "message": "blog: add 2026 July monthly report (#2091)"
    },
    {
      "commit": "1f9b600a244c4f7348ff93b7d727a6f6a15a3b3f",
      "tree": "1e5f2ff8fb6d5d1ae0d056e36114b26b47ebaeb6",
      "parents": [
        "3f70e8655c759e5ba2bc6122741196f7757e322e"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 30 13:51:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 13:51:24 2026 +0800"
      },
      "message": "fix(ci): align zh learning-center deployment checks (#2089)\n\n* fix(ci): align zh learning-center deployment checks\n\n* test(ci): preserve zh subtree safeguards"
    },
    {
      "commit": "3f70e8655c759e5ba2bc6122741196f7757e322e",
      "tree": "ca6bd753bfaea4761f936e5862873b78204af34e",
      "parents": [
        "12ae102154c0445f029eb84249e7e302d5d8b411"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 30 11:35:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 11:35:43 2026 +0800"
      },
      "message": "fix(nav): keep the header brand on one line at desktop widths (#2088)\n\nThe site-header constrained its row to the 1140px page column while the\ndesktop nav grew past it (nav ~1020px + DocSearch 155px + brand 175px\nneeds ~1215px on docs pages), so flexbox squeezed the only shrinkable\nitem: the brand link. \u0027Apache APISIX(R)\u0027 wrapped onto two lines and the\nwordmark overlapped the Docs item at every desktop width.\n\nFix:\n- the brand never shrinks or wraps (flex-shrink: 0, white-space: nowrap)\n- the header row spans the full viewport again, like the pre-Astro\n  Docusaurus navbar, instead of the 1140px column\n- 997-1365px: nav links tighten and the DocSearch button collapses to\n  its icon (keeps its aria-label)\n- 997-1139px: the brand wordmark hides, leaving the logo mark\n- below 996px the burger collapse is unchanged (wordmark stays visible)\n\nVerified against the live docs page markup at 1440/1366/1280/1140/1139/\n997/996/375px: one line everywhere, zero nav overflow, \u003e\u003d50px slack at\nevery tier seam."
    },
    {
      "commit": "12ae102154c0445f029eb84249e7e302d5d8b411",
      "tree": "54740f379803b510e4c48bb6f76d6eae9178d658",
      "parents": [
        "3ee46686e7863d6531588cf43e805e11d0b924c4"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 30 11:35:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 11:35:26 2026 +0800"
      },
      "message": "fix(seo): point zh docs at the Chinese hub, drop untranslated zh articles (#2087)\n\nThree fixes to the Chinese tree\u0027s indexing, where the polarity was\ninverted: translated pages were suppressed and untranslated duplicates\nwere promoted.\n\nChinese plugin docs canonicalised to docs.api7.ai, which has no Chinese\nedition — docs.api7.ai/zh/hub/limit-count is a 404. A genuinely translated\npage (3,052 CJK characters) was telling search engines to index an English\npage instead, so a reader searching \"APISIX limit-count 限流\" could not\nfind the translation that exists. They now canonicalise to\ndocs.apiseven.com, the Chinese edition of the same hub; all six sampled\ntargets return 200 and serve lang\u003d\"zh\" content. English pages are\nunchanged. This also resolves the one canonical that pointed at a 404:\ndocs.api7.ai/hub/feishu-auth is dead, docs.apiseven.com/hub/feishu-auth\nis not.\n\nThe 18 Chinese learning-center articles were never translated — 18-26 CJK\ncharacters against 1,100-2,600 English words, titles byte-identical to\ntheir English twins, self-canonical, and in the sitemap. They competed\nwith the site\u0027s most valuable commercial pages (apisix-vs-kong,\nwhat-is-an-api-gateway) while giving Chinese readers English prose that\nbrowsers would not offer to translate, because lang\u003d\"zh-CN\" claims it is\nalready Chinese. The pages are no longer built; /zh/learning-center/ lists\nthe English articles and says so, and the indexed URLs 301 to their\nEnglish equivalents.\n\nDocs body images had no loading hints and no reserved space — eight\ndiagrams totalling 235 KB on one plugin page, all eager, all shifting the\nlayout as they arrived. A remark plugin adds loading\u003d\"lazy\" and\ndecoding\u003d\"async\"; the intrinsic size of a remote image is not knowable at\nbuild time, so `.prose img` reserves a 16/9 block that a declared\nwidth/height overrides."
    },
    {
      "commit": "3ee46686e7863d6531588cf43e805e11d0b924c4",
      "tree": "bb12b77f6d3404f7986a3467994627c64f0802cd",
      "parents": [
        "69613ea12e7a6d0cb41c0db34e4fa5de60e28e46"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Jul 30 10:52:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 10:52:45 2026 +0800"
      },
      "message": "docs: add Apache APISIX vs AISIX comparison (#2079)"
    },
    {
      "commit": "69613ea12e7a6d0cb41c0db34e4fa5de60e28e46",
      "tree": "fbbdc0c303cbb159cb2bcd8e6a4ed3822736f8f4",
      "parents": [
        "c45c02a0b61259b2b3dc32f8242f17aded765bab"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 30 09:05:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 09:05:14 2026 +0800"
      },
      "message": "fix(seo): curate sitemap index entries (#2085)"
    },
    {
      "commit": "c45c02a0b61259b2b3dc32f8242f17aded765bab",
      "tree": "5c1ffad6d8a9ce794c3e37fc85c9888325f78994",
      "parents": [
        "7d9e09fd6970fb37e0588852a5e80aaa12936cac"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Wed Jul 29 21:40:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 21:40:15 2026 +0800"
      },
      "message": "fix(llms): keep the curated index, put the generated one after it (#2082)\n\nThe site already ships a hand-written llms.txt (website/static/llms.txt):\n~48 entries grouped by topic — Core Documentation, Authentication \u0026\nSecurity, Traffic Control, AI Gateway, … — each with a sentence on what it\nis for. The generated index was silently replacing it during the overlay,\ntrading that editorial judgement for a flat list of 1,186 URLs.\n\nAn agent gets more from \"here are the twenty pages that matter, and what\neach is for\" than from everything in alphabetical order. So the curated\nlist now leads, and the generated full index follows under its own\nheading. The curated file stays the place to edit the front section."
    },
    {
      "commit": "7d9e09fd6970fb37e0588852a5e80aaa12936cac",
      "tree": "fe6e41000fc9ab1f6220a20a1b0cc85bb359e29a",
      "parents": [
        "6f85317426d2387238e5da8134ed446f2275e86e"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Wed Jul 29 21:39:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 21:39:11 2026 +0800"
      },
      "message": "feat: migrate AI Gateway, Plugin Hub, and Downloads to Astro (#2086)\n\n* feat: migrate main pages to Astro\n\n* fix: address main page migration audit"
    },
    {
      "commit": "6f85317426d2387238e5da8134ed446f2275e86e",
      "tree": "adadd8851223e86455048822248bc04b3417873b",
      "parents": [
        "080323605551dbed4d03e14351506138f19b8706"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jul 28 16:51:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 16:51:12 2026 +0800"
      },
      "message": "fix(ci): check a generated blog Markdown twin (#2084)\n\n* fix(ci): check a generated blog Markdown twin\n\n* fix(ci): require a regular blog twin file"
    },
    {
      "commit": "080323605551dbed4d03e14351506138f19b8706",
      "tree": "72253bc94ca392c03b5352f1647cddbc1a9f3d63",
      "parents": [
        "78a0e8b19152091b069c882afed427df0bff4d1d"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jul 28 14:12:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 14:12:21 2026 +0800"
      },
      "message": "fix(ci): stop the docs overlay exiting 1 on a page with no Markdown twin (#2083)"
    },
    {
      "commit": "78a0e8b19152091b069c882afed427df0bff4d1d",
      "tree": "2b205c0c4ae8b262b8a75450338787c99e279c20",
      "parents": [
        "ed400cdc90c7decaca0f73991196e8677e603757"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jul 28 12:02:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 12:02:15 2026 +0800"
      },
      "message": "fix(ci): drop the canonical assertion for a page Docusaurus no longer builds (#2081)\n\nThe wave-3 deploy failed at \"Assert canonical contract\". That step checks\nwebsite/build/docs/apisix/plugins/cors/index.html, but wave 3 gave the\nnewest release an explicit version path so Docusaurus stops emitting the\nversion-less pages — the file it greps is gone, by design.\n\nThe failure was safe: the step runs before the publish, so it aborted the\ndeploy rather than shipping anything, and asf-site still holds the previous\nbuild. But master has been unable to deploy since that merge.\n\nOnly the version-less half of the assertion is removed. The versioned-page\nhalf stays where it is, and the cross-site canonical for the version-less\npages is already asserted after the overlay, for both locales, against the\nfiles that actually ship."
    },
    {
      "commit": "ed400cdc90c7decaca0f73991196e8677e603757",
      "tree": "4cac649e674483b9fbd6a40ca34b561673c07618",
      "parents": [
        "1f262f7f531b5d7ff3ec5d24ce919db38c3b1188"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jul 28 10:21:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 10:21:12 2026 +0800"
      },
      "message": "feat(docs): serve the latest-version docs from the static build (wave 3) (#2078)"
    },
    {
      "commit": "1f262f7f531b5d7ff3ec5d24ce919db38c3b1188",
      "tree": "ad09a5617be51c27060f1c59eacece4fa80cc3c9",
      "parents": [
        "26c785c30bdcbd2979c81267a8bc353eda9d3c86"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jul 27 09:23:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 09:23:47 2026 +0800"
      },
      "message": "fix(nav): restore the Comparisons entry point and historical resource links (#2077)"
    },
    {
      "commit": "26c785c30bdcbd2979c81267a8bc353eda9d3c86",
      "tree": "ab87cb6eb9750ec74eea5ac60e67653f0bf31206",
      "parents": [
        "1a6584b2b9d79e88650978b1ee175dac17251a8a"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 23 18:33:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 18:33:34 2026 +0800"
      },
      "message": "feat: serve blog, learning center, and articles from the static build (wave 2) (#2075)"
    },
    {
      "commit": "1a6584b2b9d79e88650978b1ee175dac17251a8a",
      "tree": "979c90d52c89b3b881c72a1f0053724838c6a834",
      "parents": [
        "1ad336a5dc1d32e6d7a5c409a087d5104314a9dc"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Jul 23 16:31:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 16:31:58 2026 +0800"
      },
      "message": "feat(seo): improve APISIX on-page content and metadata (#2074)"
    },
    {
      "commit": "1ad336a5dc1d32e6d7a5c409a087d5104314a9dc",
      "tree": "6b9cb5fab6382871a3e32b4ed59a44db388e3f76",
      "parents": [
        "436ff7d41cf9f77c1e46816608e2407c7f554e98"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 23 16:15:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 16:15:26 2026 +0800"
      },
      "message": "fix(homepage): copy consistency — one story for the plugin count (#2076)"
    },
    {
      "commit": "436ff7d41cf9f77c1e46816608e2407c7f554e98",
      "tree": "1a6c27b15cea5dc85d1bf868f62b42c9026b29ff",
      "parents": [
        "f0fadc6b94dcc893e839f499af9b0d0be410475b"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jul 23 10:46:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 10:46:48 2026 +0800"
      },
      "message": "feat(homepage): serve the landing page from a static zero-JS Astro build (wave 1) (#2073)"
    },
    {
      "commit": "f0fadc6b94dcc893e839f499af9b0d0be410475b",
      "tree": "fe8eadb3ac01f8e16a777bc42aa488094a2e7da7",
      "parents": [
        "0b0d4b301519cc6484412ab1c348d0c36dd84cbf"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jul 13 15:39:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 15:39:20 2026 +0800"
      },
      "message": "feat: give the Learning Center index its own meta description (#2071)"
    },
    {
      "commit": "0b0d4b301519cc6484412ab1c348d0c36dd84cbf",
      "tree": "32e21b43a2f11657e77706a9435ec7bb82c779fa",
      "parents": [
        "87991d1472f263c41c04a23cd3559b2273b85993"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jul 13 15:39:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 15:39:08 2026 +0800"
      },
      "message": "fix: repair dead-URL redirects and add 301s for removed doc versions (#2072)"
    },
    {
      "commit": "87991d1472f263c41c04a23cd3559b2273b85993",
      "tree": "8e136d4f4fb4b047a97d4a9887a884304930252b",
      "parents": [
        "c4431419a3813692a722c249069d641b851ba585"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jul 13 14:15:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 14:15:19 2026 +0800"
      },
      "message": "fix: canonicalize versioned doc pages to the version-less latest URL (#2070)"
    },
    {
      "commit": "c4431419a3813692a722c249069d641b851ba585",
      "tree": "2e7b5cb3587d828fc9fd2ddae86db8790da8af6d",
      "parents": [
        "c587f45d8a71c7ee401dc10fabe0ccc051a95333"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jul 13 14:04:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 14:04:40 2026 +0800"
      },
      "message": "blog: manage Apache APISIX with AI coding agents (en + zh) (#2069)"
    },
    {
      "commit": "c587f45d8a71c7ee401dc10fabe0ccc051a95333",
      "tree": "5d6e14a36a11382364662bbc3d23dd4f7ea15456",
      "parents": [
        "92db16e6d6674f13cff5221c9bcb5aa90da4f485"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Jul 09 15:03:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 15:03:40 2026 +0800"
      },
      "message": "docs: improve CTR for high-impression APISIX pages (#2068)\n\n* Improve CTR for high-impression APISIX pages\n\n* chore(seo): revert SEO changes on release notes and changelogs\n\n* refactor(seo): rewrite or remove generic Quick Overviews and duplicated FAQs\n\n* fix(seo): fix context mismatch in RESTful api post and Kong comparison"
    },
    {
      "commit": "92db16e6d6674f13cff5221c9bcb5aa90da4f485",
      "tree": "53d89efc70ddf35d3d619ac0963d982a7ee8cf7b",
      "parents": [
        "115a23f82b4b0453dde36f6723c3a01ba0883f30"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Tue Jun 30 16:21:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 14:06:23 2026 +0545"
      },
      "message": "blog: add 2026 June monthly report (#2067)"
    },
    {
      "commit": "115a23f82b4b0453dde36f6723c3a01ba0883f30",
      "tree": "2462bea1343539307737b8a7abc244af5d76aea6",
      "parents": [
        "b0ccb921b4b9b855610b96f814933bc06f98d463"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jun 30 09:03:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 09:03:12 2026 +0800"
      },
      "message": "chore(website): clean up doc/blog workspaces + open homepage links in new tab (#2066)"
    },
    {
      "commit": "b0ccb921b4b9b855610b96f814933bc06f98d463",
      "tree": "8aac74f5e0d77e916166e7b288010a13219d122e",
      "parents": [
        "a23a848b43acb8224167f4028e243d2683db424f"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jun 29 13:49:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 13:49:40 2026 +0800"
      },
      "message": "chore(website): remove showcase, code samples, and help pages (#2065)"
    },
    {
      "commit": "a23a848b43acb8224167f4028e243d2683db424f",
      "tree": "86c02b2e619538efbf80738e40131c440d66e63d",
      "parents": [
        "4998542fb67bb8f16e1686581bb97460b0e36d5d"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Jun 29 13:27:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 13:27:51 2026 +0800"
      },
      "message": "fix(website): auto-recover the 404 page from stale builds after redeploy (#2064)\n\nThe site is rebuilt and republished frequently (every push to master plus a\ndaily 05:00 UTC cron), and each build replaces the previous build\u0027s\ncontent-hashed chunks. A browser still showing a page from an older build holds\nthat build\u0027s route manifest; clicking through to a route that only exists in a\nnewer build finds no client-side match and renders the 404 page, even though a\nhard load of the same URL is served fine (HTTP 200). This is the reported\n\"first visit 404, works after refresh\" behavior.\n\nThe repo already swizzles a custom theme/NotFound in all three Docusaurus\ninstances (website, doc, blog). Add a guarded recovery there: when the 404 is\nreached via a client-side navigation (the document the server returned was for a\ndifferent path), reload once so the current build is fetched. Genuine 404s --\nthe server returned this page directly -- are left untouched.\n\nDetection uses PerformanceNavigationTiming to compare the document\u0027s load path\nwith the current path, so real broken links do not trigger a wasted reload, and\na per-path sessionStorage guard reloads at most once as a backstop."
    },
    {
      "commit": "4998542fb67bb8f16e1686581bb97460b0e36d5d",
      "tree": "6aa2c89328b9dc5de4341de952f1085b2789656c",
      "parents": [
        "e30575525f07579a5bb59832e7c21eb3c50fd5b8"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Fri Jun 26 08:46:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 08:46:09 2026 +0800"
      },
      "message": "fix(website): simplify the homepage open-source promo section (#2062)"
    },
    {
      "commit": "e30575525f07579a5bb59832e7c21eb3c50fd5b8",
      "tree": "82feaba5c5c05abdc92c087d13708ddb976e0242",
      "parents": [
        "1521618130a294e3b91cf93d70737e3b24845037"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Fri Jun 26 08:45:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 08:45:43 2026 +0800"
      },
      "message": "feat(seo): build internal-linking cluster across Learning Center articles (#2060)"
    },
    {
      "commit": "1521618130a294e3b91cf93d70737e3b24845037",
      "tree": "ce5682e6650c4d73e107250aa5780035b3671208",
      "parents": [
        "c2b3238b36583c2d1711b7c46f2e41c919d4bb93"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jun 25 11:26:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 11:26:38 2026 +0800"
      },
      "message": "feat(seo): add 5 head-to-head API gateway comparison articles (AWS, NGINX, Envoy, Traefik, Apigee) (#2059)"
    },
    {
      "commit": "c2b3238b36583c2d1711b7c46f2e41c919d4bb93",
      "tree": "b51da2eaaed31d340d98851571c13ee366f5cfea",
      "parents": [
        "28c59b75462d846dafea6d09046a8eef12e9942a"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jun 25 11:06:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 11:06:28 2026 +0800"
      },
      "message": "feat(website): real logos on the Plugin Hub \u0026 homepage layout polish (#2061)"
    },
    {
      "commit": "28c59b75462d846dafea6d09046a8eef12e9942a",
      "tree": "ea3f733bcb9c59c46c3102df880d02b28a09be34",
      "parents": [
        "4fa31a79d3018cb3c88943bf9a2e5172540e7bbe"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Jun 25 10:52:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 10:52:27 2026 +0800"
      },
      "message": "feat(seo): add Article, FAQPage \u0026 BreadcrumbList structured data to Learning Center articles (#2058)"
    },
    {
      "commit": "4fa31a79d3018cb3c88943bf9a2e5172540e7bbe",
      "tree": "921f394e72f1d9ab4b7228847b5299cc4962c9d7",
      "parents": [
        "9e78bab24bbf462736f4f3068a2f9d91f022af6e"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Wed Jun 24 17:23:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 17:23:50 2026 +0800"
      },
      "message": "feat(seo): rewrite homepage for CTR + funnel to docs/comparisons/AI gateway (#2056)"
    },
    {
      "commit": "9e78bab24bbf462736f4f3068a2f9d91f022af6e",
      "tree": "5a21bca1b30a66eab1bc5803ddc719805fb1bf17",
      "parents": [
        "5ab656365a0b6cdb4279c41c24b40a080b7772e0"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jun 23 10:54:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 10:54:23 2026 +0800"
      },
      "message": "fix(seo): publish only the latest version of each sub-project\u0027s docs (de-bloat sitemap) (#2055)"
    },
    {
      "commit": "5ab656365a0b6cdb4279c41c24b40a080b7772e0",
      "tree": "4b222a70ff59cc411624e71bf2ee593677a9654f",
      "parents": [
        "75cde2fc76b9ba646c3feb054602d991c3201677"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Tue Jun 23 10:53:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 10:53:54 2026 +0800"
      },
      "message": "feat(seo): technical SEO fixes (hreflang dedup, Plugin Hub, structured data, blog H1, Netlify noindex) (#2054)"
    },
    {
      "commit": "75cde2fc76b9ba646c3feb054602d991c3201677",
      "tree": "e373a1b9c10957b6d6be415719f4a7e95aeaf3a9",
      "parents": [
        "5120be8ab232f2f15c003a7152932644af5f51e3"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Tue Jun 16 18:33:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 18:33:28 2026 +0800"
      },
      "message": "Improve technical SEO and mobile performance (#2053)"
    },
    {
      "commit": "5120be8ab232f2f15c003a7152932644af5f51e3",
      "tree": "4e55f4ad53f6f137bd566d49bc242f7833635731",
      "parents": [
        "c6e1c124e3b8da26f0dd3599ac0a3607305c89c8"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Tue Jun 16 16:48:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 16:48:05 2026 +0800"
      },
      "message": "blog: add 3.17.0 release notes (#2051)"
    },
    {
      "commit": "c6e1c124e3b8da26f0dd3599ac0a3607305c89c8",
      "tree": "261b97ba8491729e996f88cdd7217d8f55c2696b",
      "parents": [
        "823733d424f2ad824c2004fcae1707a1176064bd"
      ],
      "author": {
        "name": "Shreemaan Abhishek",
        "email": "shreemaan.abhishek@gmail.com",
        "time": "Tue Jun 16 16:20:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 14:05:05 2026 +0545"
      },
      "message": "docs: release APISIX v3.17.0 (#2052)"
    },
    {
      "commit": "823733d424f2ad824c2004fcae1707a1176064bd",
      "tree": "3669c4b5895b6e9548458e3c46edcaa206f8fed5",
      "parents": [
        "446a68e0611a81acdd705f2973d4c20c07332570"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Mon Jun 01 17:12:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 17:12:38 2026 +0800"
      },
      "message": "blog: add 2026 May monthly report (#2046)"
    },
    {
      "commit": "446a68e0611a81acdd705f2973d4c20c07332570",
      "tree": "c62a5c70bec8cc56ac41c862bc280086e144a964",
      "parents": [
        "e1dca4850a2fd8cc9f3f3bdc52cc909af1245197"
      ],
      "author": {
        "name": "AlinsRan",
        "email": "alinsran@apache.org",
        "time": "Mon Jun 01 16:40:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 16:40:40 2026 +0800"
      },
      "message": "chore: restore release posts (#2048)"
    },
    {
      "commit": "e1dca4850a2fd8cc9f3f3bdc52cc909af1245197",
      "tree": "b98b9faba06ad2610b202fe253fe5e3647fff961",
      "parents": [
        "18fecf76dcd43e5e43edcaf75c947f6315e5d335"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Mon May 18 11:24:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 11:24:52 2026 +0800"
      },
      "message": "fix: sync plugin hub data and labels (#2040)"
    },
    {
      "commit": "18fecf76dcd43e5e43edcaf75c947f6315e5d335",
      "tree": "4b10eaa1d143b12aed4501b1f167e9c2a44cfaf6",
      "parents": [
        "608a2eb647f3d74d4d5680edea2597b1e4b57496"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Apr 30 12:31:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 10:16:23 2026 +0545"
      },
      "message": "blog: add 2026 April monthly report (#2034)"
    },
    {
      "commit": "608a2eb647f3d74d4d5680edea2597b1e4b57496",
      "tree": "27dfd945e04565efc390ee7055d76c66bb5d7e7c",
      "parents": [
        "f2c8a6bbf3360a680c2a8e20b8b262507bec5706"
      ],
      "author": {
        "name": "A11YRepair",
        "email": "huangkevinapr@outlook.com",
        "time": "Tue Apr 21 16:30:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 16:30:54 2026 +0800"
      },
      "message": "Fix: Add accessible titles to comparison table icons (#1985)"
    },
    {
      "commit": "f2c8a6bbf3360a680c2a8e20b8b262507bec5706",
      "tree": "8aea10c46746f6acf68e0634f69369367a457ded",
      "parents": [
        "1755c9ea7c0042888d1639352c95ca2c597033cf"
      ],
      "author": {
        "name": "Qi Guo",
        "email": "979918879@qq.com",
        "time": "Thu Apr 16 15:40:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 15:40:59 2026 +0800"
      },
      "message": "ci: lint markdown frontmatter (#2032)"
    },
    {
      "commit": "1755c9ea7c0042888d1639352c95ca2c597033cf",
      "tree": "07a3fe9dd8a320483d6bdf10e6331b9591870156",
      "parents": [
        "2769ec3e98eed49ea3eee1ad49a9a0baa0b315af"
      ],
      "author": {
        "name": "Qi Guo",
        "email": "979918879@qq.com",
        "time": "Thu Apr 16 15:25:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 15:25:27 2026 +0800"
      },
      "message": "fix: quote blog frontmatter description (#2031)"
    },
    {
      "commit": "2769ec3e98eed49ea3eee1ad49a9a0baa0b315af",
      "tree": "1e348f78548c573ca60e3d9a582a335a1db7db28",
      "parents": [
        "d21398b36439ac63dd70645cc955dcf98e33fb31"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Apr 16 11:44:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 11:44:32 2026 +0800"
      },
      "message": "blog: add article on APISIX 3.16 dynamic rate limiting (#2028)"
    },
    {
      "commit": "d21398b36439ac63dd70645cc955dcf98e33fb31",
      "tree": "4eed68b177c7aa5be9cfa7f77fd01a23196026a1",
      "parents": [
        "f22dc3bc05863f5ed36e323d7943f7f25a39605c"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Apr 16 10:11:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 10:11:23 2026 +0800"
      },
      "message": "feat(seo): add 5 Learning Center articles and SEO contributing guide (P3) (#2027)"
    },
    {
      "commit": "f22dc3bc05863f5ed36e323d7943f7f25a39605c",
      "tree": "ec8b7903e0a810a663e5f931a2f6e2b8b2a40983",
      "parents": [
        "0ce3559f84f7ec8cb2dfecc359e35163d26b3d7b"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Apr 16 09:56:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 09:56:35 2026 +0800"
      },
      "message": "feat(seo): add GEO optimization (llms.txt) and 4 Learning Center articles (P2) (#2026)"
    },
    {
      "commit": "0ce3559f84f7ec8cb2dfecc359e35163d26b3d7b",
      "tree": "236fc5cca57d079560cb6657c64d32c02457c111",
      "parents": [
        "9a51e9c14d51edb75c9faef60e862e89bd99f971"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Apr 16 09:54:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 09:54:04 2026 +0800"
      },
      "message": "feat(seo): add sitemap optimization and 5 Learning Center articles (P1) (#2025)"
    },
    {
      "commit": "9a51e9c14d51edb75c9faef60e862e89bd99f971",
      "tree": "9cf90381306afa7f3b732814c6b090acc3a6b9f8",
      "parents": [
        "5ab8cfcbaa119a7831c4720b83015f0fd06041bd"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Wed Apr 15 15:06:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:06:51 2026 +0800"
      },
      "message": "feat(seo): add Learning Center, hreflang, OG tags, and high-value content pages (#2024)"
    },
    {
      "commit": "5ab8cfcbaa119a7831c4720b83015f0fd06041bd",
      "tree": "85fdab244cca8c8d90fe510db2030e53ffe6b70d",
      "parents": [
        "f02644bbbc1d756236d5d467c5d8ccec183f0470"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Wed Apr 15 14:04:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 14:04:49 2026 +0800"
      },
      "message": "feat(seo): add BreadcrumbList, SoftwareApplication schema, and image alt text (#2029)"
    },
    {
      "commit": "f02644bbbc1d756236d5d467c5d8ccec183f0470",
      "tree": "736fdb056433e625103f39509b87543de08be3d0",
      "parents": [
        "3925efeed33d2734290b744a53f1106564da94c2"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Apr 13 17:57:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 17:57:33 2026 +0800"
      },
      "message": "fix(seo): optimize titles and descriptions for 50 blog posts (batch 2) (#2021)"
    },
    {
      "commit": "3925efeed33d2734290b744a53f1106564da94c2",
      "tree": "d22174ba720b30ed3ad711c91494bf2a1d5cf2af",
      "parents": [
        "c667ef6d66d3b484788b8e456f91b403cdc01f91"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Apr 13 17:46:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 17:46:01 2026 +0800"
      },
      "message": "feat(seo): add BlogPosting JSON-LD structured data to blog posts (#2018)"
    },
    {
      "commit": "c667ef6d66d3b484788b8e456f91b403cdc01f91",
      "tree": "85dbe129ecf08a8801961b117482d4886074a4a8",
      "parents": [
        "2fe09abcf51197c044ac8f91a21007e61dd93890"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Mon Apr 13 11:40:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 11:40:38 2026 +0800"
      },
      "message": "fix(seo): reduce sitemap bloat by filtering versioned docs and low-value pages (#2016)"
    },
    {
      "commit": "2fe09abcf51197c044ac8f91a21007e61dd93890",
      "tree": "61e5a404fc5308fb3462c1325a9ed68c7e0afc28",
      "parents": [
        "c140e77f9268a509f011d7005e76910f04ea567e"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Sun Apr 12 20:51:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 20:51:56 2026 +0800"
      },
      "message": "fix(seo): rewrite titles and descriptions for 30 high-value blog posts (#2020)"
    },
    {
      "commit": "c140e77f9268a509f011d7005e76910f04ea567e",
      "tree": "d2fa556b32f5d6aa8ea0a9150e6242b23555cee4",
      "parents": [
        "7e6f925118ba0d2382a23ed4834d495db4bf672e"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Sun Apr 12 20:50:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 20:50:35 2026 +0800"
      },
      "message": "perf: preload only the primary body font (MaisonNeue-Medium) (#2019)"
    },
    {
      "commit": "7e6f925118ba0d2382a23ed4834d495db4bf672e",
      "tree": "30985d825726c003bc6bf63c5d37dd944e253dce",
      "parents": [
        "ae904b434e9f66045a31618bde309053163eeef6"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Sun Apr 12 20:49:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 20:49:31 2026 +0800"
      },
      "message": "fix(seo): shorten title tag suffix to prevent truncation in search results (#2017)"
    },
    {
      "commit": "ae904b434e9f66045a31618bde309053163eeef6",
      "tree": "c2ed80a24b70dde1867e267a40c06e5591b396cf",
      "parents": [
        "c54643cb809b7fbe33b663e8dd5dbd63cef93ccb"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Fri Apr 10 09:40:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 09:40:30 2026 +0800"
      },
      "message": "fix(blog): remove external canonical URLs from 57 blog posts (#2015)"
    },
    {
      "commit": "c54643cb809b7fbe33b663e8dd5dbd63cef93ccb",
      "tree": "732e53bba7585efa7f1dd1ad4f82695c0f461b04",
      "parents": [
        "7f32c28ce66a2396392525c7bedc93f2a1b71f5d"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Apr 09 11:36:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 11:36:04 2026 +0800"
      },
      "message": "blog: add 2026 March monthly report (#2014)\n\n* blog: add 2026 March monthly report\n\n* update\n\n* Update blog/zh/blog/2026/03/31/2026-mar-monthly-report.md\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* Update blog/zh/blog/2026/03/31/2026-mar-monthly-report.md\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* Update blog/en/blog/2026/03/31/2026-mar-monthly-report.md\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* Update blog/zh/blog/2026/03/31/2026-mar-monthly-report.md\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "7f32c28ce66a2396392525c7bedc93f2a1b71f5d",
      "tree": "4a807fa47eaacaac748a9beb721dd279a6e242d4",
      "parents": [
        "d2bf1bc9383570427c9b187a1deb0c6af8331927"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Wed Apr 08 18:00:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 18:00:11 2026 +0800"
      },
      "message": "blog: add 3.16.0 release notes  (#2010)\n\n* draft\n\n* move #13009 to breanking changes\n\n* change release dates\n\n* change release dates"
    },
    {
      "commit": "d2bf1bc9383570427c9b187a1deb0c6af8331927",
      "tree": "091eff8c2bc9e17d4f2ad1008e08c29a2a7fa539",
      "parents": [
        "061bee5c065982f0ad1115eda745f504fea0491d"
      ],
      "author": {
        "name": "Shreemaan Abhishek",
        "email": "shreemaan.abhishek@gmail.com",
        "time": "Wed Apr 08 15:02:37 2026 +0545"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 17:17:37 2026 +0800"
      },
      "message": "docs: release APISIX v3.16.0 (#2012)"
    },
    {
      "commit": "061bee5c065982f0ad1115eda745f504fea0491d",
      "tree": "bc3283b0239e04938d05c3bfb0fd728054722925",
      "parents": [
        "a5c1b161b5eaf5451e06ae90b2600a1b0d33a9f9"
      ],
      "author": {
        "name": "Baoyuan",
        "email": "baoyuan.top@gmail.com",
        "time": "Fri Mar 13 20:35:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 13 20:35:36 2026 +0800"
      },
      "message": "fix: use spawn instead of exec to avoid maxBuffer overflow in build (#2005)"
    },
    {
      "commit": "a5c1b161b5eaf5451e06ae90b2600a1b0d33a9f9",
      "tree": "00127736af5a560d3fac890711bad41da3664e69",
      "parents": [
        "7b6afe14c1e3611c1b0c3da3c392bdf2e04e3602"
      ],
      "author": {
        "name": "Ming Wen",
        "email": "moonbingbing@gmail.com",
        "time": "Thu Mar 12 16:31:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 12 16:31:09 2026 +0800"
      },
      "message": "fix: improve SEO across the website (#2002)"
    },
    {
      "commit": "7b6afe14c1e3611c1b0c3da3c392bdf2e04e3602",
      "tree": "f683e0e127c38292e01d5aa1de0768bde4d79173",
      "parents": [
        "abbe8517aa80135f6d6e7ceefa0fa184afba239d"
      ],
      "author": {
        "name": "Baoyuan",
        "email": "baoyuan.top@gmail.com",
        "time": "Wed Mar 11 11:06:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 11 11:06:32 2026 +0800"
      },
      "message": "fix: upgrade dependencies to resolve Dependabot security alerts (#1998)"
    },
    {
      "commit": "abbe8517aa80135f6d6e7ceefa0fa184afba239d",
      "tree": "e23ef12bfeeb09ecf58016e0340c3aae0e27ff1c",
      "parents": [
        "39db112031f5607a21fa15691f44d566d12dc40c"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Sat Feb 28 17:16:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 28 17:16:16 2026 +0800"
      },
      "message": "blog: add 2026 February monthly report (#1995)\n\n"
    },
    {
      "commit": "39db112031f5607a21fa15691f44d566d12dc40c",
      "tree": "b5a1b5fb04189c4677dbbd9833487002da587396",
      "parents": [
        "dfc4503d7a4ec5a0118beb6879d6621eaadbc6ef"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Mon Feb 09 11:32:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 11:32:48 2026 +0800"
      },
      "message": "blog: add 3.15.0 release notes (#1982)\n\n"
    },
    {
      "commit": "dfc4503d7a4ec5a0118beb6879d6621eaadbc6ef",
      "tree": "ce70b3851f5aaea1f2500b8572e5b14b9f395183",
      "parents": [
        "6deff554c38223d78534ebac7aabd6158111f68c"
      ],
      "author": {
        "name": "Shreemaan Abhishek",
        "email": "shreemaan.abhishek@gmail.com",
        "time": "Fri Feb 06 11:03:12 2026 +0545"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 06 11:03:12 2026 +0545"
      },
      "message": "docs: release APISIX v3.15.0 (#1986)\n\n"
    },
    {
      "commit": "6deff554c38223d78534ebac7aabd6158111f68c",
      "tree": "7ba9975bb09eda81cec4e0d05d816e2103a9152f",
      "parents": [
        "28ba42d95f559a000763e7ae2637a3bd99b7961d"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Mon Feb 02 17:41:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 02 17:41:54 2026 +0800"
      },
      "message": "blog: add 2026 January monthly report (#1983)\n\n"
    },
    {
      "commit": "28ba42d95f559a000763e7ae2637a3bd99b7961d",
      "tree": "3043b7229b30b8c98627d93e15440bd866e1959c",
      "parents": [
        "0d87d91cbbedbc4fa150b947dede0abf36ad3294"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Wed Dec 31 15:03:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 31 15:03:17 2025 +0800"
      },
      "message": "blog: add 2025 December monthly report (#1981)\n\n"
    },
    {
      "commit": "0d87d91cbbedbc4fa150b947dede0abf36ad3294",
      "tree": "c9b7a50d82c7903e685d15cac123bd469db3b96f",
      "parents": [
        "7d35a6f86e36866fad0a11be8744f51327a6bbe4"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Mon Dec 22 15:16:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 22 15:16:25 2025 +0800"
      },
      "message": "fix(docs/blog): inline image width syntax (#1980)\n\n"
    },
    {
      "commit": "7d35a6f86e36866fad0a11be8744f51327a6bbe4",
      "tree": "1e4b88b06a5bdaeee51a04c9084c1a334d70ac43",
      "parents": [
        "e50184b6c0c2ef48e8cf0d2b788f3c334362ae68"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Fri Dec 19 17:59:04 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 19 17:59:04 2025 +0800"
      },
      "message": "blog: add apisix ingress controller 2.0 release blog (#1979)\n\n"
    },
    {
      "commit": "e50184b6c0c2ef48e8cf0d2b788f3c334362ae68",
      "tree": "67d6ee0abb9c1077d4ceee43cf39c027df16a0e8",
      "parents": [
        "d7b98ae6bf8269e6fc37dc7f96fede176882720c"
      ],
      "author": {
        "name": "Ayush Kumar",
        "email": "ayush.2007.iit@gmail.com",
        "time": "Fri Dec 19 08:28:26 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 19 10:58:26 2025 +0800"
      },
      "message": "fix: added proper redirection to ingress-controller docs (#1976)\n\n"
    },
    {
      "commit": "d7b98ae6bf8269e6fc37dc7f96fede176882720c",
      "tree": "e647a3fbedcf791f44ff77b76740b8b158c83809",
      "parents": [
        "4d4db2f92176046be78c04241bd9d62e520fb079"
      ],
      "author": {
        "name": "jsbxyyx",
        "email": "jsbxyyx@apache.org",
        "time": "Wed Dec 17 11:57:15 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 11:57:15 2025 +0800"
      },
      "message": "fix: correct typo in ingress-apisix.md example section (#1973)\n\n"
    },
    {
      "commit": "4d4db2f92176046be78c04241bd9d62e520fb079",
      "tree": "eb8575e419413af5b867ba70de06c42fd8e26341",
      "parents": [
        "43e79840f8520a4eea84a4db512615106d2b626d"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Fri Dec 05 18:08:44 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 05 18:08:44 2025 +0800"
      },
      "message": "blog: add 2025 November monthly report (#1975)\n\n"
    },
    {
      "commit": "43e79840f8520a4eea84a4db512615106d2b626d",
      "tree": "231c0704a1d52bfc8676cc54b6241e2df88535ba",
      "parents": [
        "f85b50753ac706b3115d6917b9715d9097f9ba3d"
      ],
      "author": {
        "name": "Ashish Tiwari",
        "email": "ashishjaitiwari15112000@gmail.com",
        "time": "Thu Nov 06 08:49:06 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 06 11:19:06 2025 +0800"
      },
      "message": "blog: add cve-2025-62232 post (#1971)\n\n"
    },
    {
      "commit": "f85b50753ac706b3115d6917b9715d9097f9ba3d",
      "tree": "c957a0ecb4a818fe07d318c3f4a7a172be0c9489",
      "parents": [
        "b7afcc81c2578dd69d426a940447a2d92eff5a8f"
      ],
      "author": {
        "name": "Sebb",
        "email": "sebbASF@users.noreply.github.com",
        "time": "Mon Nov 03 02:27:37 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 10:27:37 2025 +0800"
      },
      "message": "Add preview staging (#1969)\n\n"
    },
    {
      "commit": "b7afcc81c2578dd69d426a940447a2d92eff5a8f",
      "tree": "bbd78dddd41f0a3ac7741a24f432ca63e4d37737",
      "parents": [
        "49bc0a786177ca1eb86bd9b697e9290c6ae7ac76"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Fri Oct 31 15:59:18 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 15:59:18 2025 +0800"
      },
      "message": "blog: add 2025 oct monthly report (#1970)\n\n"
    },
    {
      "commit": "49bc0a786177ca1eb86bd9b697e9290c6ae7ac76",
      "tree": "04eecac645da0c6b627a00e1e1999fc39ebe6a07",
      "parents": [
        "0435d6f0eb5b8c674e0d5acb36eb705f92a7c425"
      ],
      "author": {
        "name": "YYYoung",
        "email": "iskyex@outlook.com",
        "time": "Wed Oct 29 14:39:37 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 14:39:37 2025 +0800"
      },
      "message": "chore: show failed logs in ci (#1968)\n\n"
    },
    {
      "commit": "0435d6f0eb5b8c674e0d5acb36eb705f92a7c425",
      "tree": "fa1559c424849e8f28b671407b4f5661fb09f718",
      "parents": [
        "d059e2443deb20345792471ee84263c550a320fc"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Fri Oct 17 13:32:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 17 11:02:31 2025 +0530"
      },
      "message": "blog: add 3.14.1 release notes (#1959)\n\n"
    },
    {
      "commit": "d059e2443deb20345792471ee84263c550a320fc",
      "tree": "d92eab304714ccf91b5849ebeb8e0f2d4149ca17",
      "parents": [
        "bba72651fa12d6d0606a2518234c1e9d9980a604"
      ],
      "author": {
        "name": "Ashish Tiwari",
        "email": "ashishjaitiwari15112000@gmail.com",
        "time": "Fri Oct 17 11:02:18 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 17 11:02:18 2025 +0530"
      },
      "message": "docs: release APISIX 3.14.1 (#1960)\n\n"
    },
    {
      "commit": "bba72651fa12d6d0606a2518234c1e9d9980a604",
      "tree": "83d8621cf18d9c0b792f09e63d8ad9e55215c7e0",
      "parents": [
        "acf670a0f3cafbc652414928efa8d90e55d513c1"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Thu Oct 16 16:00:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 16 16:00:52 2025 +0800"
      },
      "message": "blog: correct datadog plugin update and breaking change in 3.14.0 release (#1958)\n\n* remove response_status\n\n* remove tag\n\n* remove one breaking change\n\n* remove one breaking change"
    },
    {
      "commit": "acf670a0f3cafbc652414928efa8d90e55d513c1",
      "tree": "2774a61f949e0f297788a66c74b660d5ea26b744",
      "parents": [
        "594449607d1e6136d4fcf62a4be3910395faaee3"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Tue Oct 14 17:21:47 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 14 17:21:47 2025 +0800"
      },
      "message": "docs: fix typo in 3.14.0 release notes (#1957)\n\n"
    },
    {
      "commit": "594449607d1e6136d4fcf62a4be3910395faaee3",
      "tree": "a729b82466af3065d973a30e7c322d8fe3980cd5",
      "parents": [
        "5a17804b4121bad15738fa82906a3315a1d638e6"
      ],
      "author": {
        "name": "Ashish Tiwari",
        "email": "ashishjaitiwari15112000@gmail.com",
        "time": "Sat Oct 11 23:33:39 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 11 23:33:39 2025 +0530"
      },
      "message": "docs: release APISIX 3.14.0 (#1956)\n\n"
    },
    {
      "commit": "5a17804b4121bad15738fa82906a3315a1d638e6",
      "tree": "fb1dbc255e3bbe0a8d37c037c540a56d2073749f",
      "parents": [
        "345fbc64878e9d6ec19f65b8bf42611e4bd48dbe"
      ],
      "author": {
        "name": "Traky Deng",
        "email": "trakydeng@gmail.com",
        "time": "Sat Oct 11 10:26:50 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 11 10:26:50 2025 +0800"
      },
      "message": "blog: add 3.14.0 release notes (#1955)\n\n* add 3.14.0 release notes\n\n* lint"
    },
    {
      "commit": "345fbc64878e9d6ec19f65b8bf42611e4bd48dbe",
      "tree": "f7f07c5e855d9b1afc24a56626c496bd02e92030",
      "parents": [
        "99d10e35e0a37ca392e7b016ffeab52a847e5c7f"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Tue Sep 30 15:17:41 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 30 15:17:41 2025 +0800"
      },
      "message": "blog: add 2025 September monthly report (#1954)\n\n"
    },
    {
      "commit": "99d10e35e0a37ca392e7b016ffeab52a847e5c7f",
      "tree": "a42a5e459a4865d710a4efbc77fd9a9f90f6873e",
      "parents": [
        "c9dd09379496129080afe8cd851b7ac2913e997f"
      ],
      "author": {
        "name": "YYYoung",
        "email": "iskyex@outlook.com",
        "time": "Wed Sep 17 14:58:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 17 14:58:17 2025 +0800"
      },
      "message": "chore: adjust `apisix-dashboard` docs and the download link (#1912)\n\n"
    },
    {
      "commit": "c9dd09379496129080afe8cd851b7ac2913e997f",
      "tree": "ee08522e284afca3c34395843eef435f87d06a9c",
      "parents": [
        "3076dff43a4c837fc5acb8fde85964c7618be772"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Wed Sep 10 15:08:47 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 10 15:08:47 2025 +0800"
      },
      "message": "fix(docs/blog): inline image width syntax (#1953)\n\n"
    },
    {
      "commit": "3076dff43a4c837fc5acb8fde85964c7618be772",
      "tree": "569540b7ff70de583e071b9b016cc7ca899f55fb",
      "parents": [
        "713b8cff6767730e27278294b96956427141f604"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Mon Sep 08 18:28:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 18:28:42 2025 +0800"
      },
      "message": "blog: 360-built-unified-l7-load-balancer-with-apisix (#1951)\n\n"
    },
    {
      "commit": "713b8cff6767730e27278294b96956427141f604",
      "tree": "7264bdc25274f5416838f8ee2b1e2e87442a71db",
      "parents": [
        "89a73da155887e4ac6895cc0ca3296e95ffbd1a8"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Tue Sep 02 17:58:36 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 17:58:36 2025 +0800"
      },
      "message": "blog: add 2025 August monthly report (#1950)\n\n"
    },
    {
      "commit": "89a73da155887e4ac6895cc0ca3296e95ffbd1a8",
      "tree": "5e6d1c1139ae7a1dc1e9e2004f85c7abdbe72ef8",
      "parents": [
        "7a119bcdab41b50bf00dacd5c1b097ce6a64b4ca"
      ],
      "author": {
        "name": "Baoyuan",
        "email": "baoyuan.top@gmail.com",
        "time": "Mon Aug 18 10:58:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 18 10:58:25 2025 +0800"
      },
      "message": "fix: redirect old ingress next version links to new content (#1949)\n\n* fix: redirect ingress next version links to version 1.8.0\n\n* fix: zh links\n\n* fix: change rules"
    },
    {
      "commit": "7a119bcdab41b50bf00dacd5c1b097ce6a64b4ca",
      "tree": "34db22aecac5e47248cfaf5cd0c3fe565e3dbaf7",
      "parents": [
        "7dc0d5ba8730bb66dd65562e827e2bc6788e0f35"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Fri Aug 15 09:53:37 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 15 09:53:37 2025 +0800"
      },
      "message": "docs: add diagrams for AI Gateway blogs (#1906)\n\n"
    },
    {
      "commit": "7dc0d5ba8730bb66dd65562e827e2bc6788e0f35",
      "tree": "1636a84629c88b5e0f54c8e22114668fcb21fab3",
      "parents": [
        "bd3b2eea83d2291f3aaea50d32377f0473950026"
      ],
      "author": {
        "name": "Baoyuan",
        "email": "baoyuan.top@gmail.com",
        "time": "Thu Aug 14 17:25:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 14 17:25:53 2025 +0800"
      },
      "message": "fix: ingress controller 404 links (#1948)\n\n"
    },
    {
      "commit": "bd3b2eea83d2291f3aaea50d32377f0473950026",
      "tree": "c0f057520d9a6e546aa20fe72f2da8ee1a2225ad",
      "parents": [
        "c1176eaac8c08feecd9709c1237c3068be803e07"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Aug 14 14:12:49 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 14 14:12:49 2025 +0800"
      },
      "message": "Update how-to-contribute.md (#1947)\n\n"
    },
    {
      "commit": "c1176eaac8c08feecd9709c1237c3068be803e07",
      "tree": "539d41e7742c23467f76b8dbf2d5b5a654e0a25a",
      "parents": [
        "3eca69a5aafb68815ff874738b5442d5ca53943d"
      ],
      "author": {
        "name": "Qi Guo",
        "email": "979918879@qq.com",
        "time": "Fri Aug 01 08:55:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 01 08:55:53 2025 +0800"
      },
      "message": "fix: disable the event poster card (#1944)\n\n"
    },
    {
      "commit": "3eca69a5aafb68815ff874738b5442d5ca53943d",
      "tree": "44c93755b8a33238043fc228972c848f66a4d2da",
      "parents": [
        "4cf2abc4261c42f3ecc6ebff256768a1aa3ff5e1"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Thu Jul 31 17:17:18 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 31 17:17:18 2025 +0800"
      },
      "message": "blog: add 2025 July monthly report (#1943)\n\n"
    },
    {
      "commit": "4cf2abc4261c42f3ecc6ebff256768a1aa3ff5e1",
      "tree": "b809adfeffa3f3a6c4a0865fc7e5d56b8491de10",
      "parents": [
        "65c9b9aaf7b806554719cbd91a50bbe465441ced"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Wed Jul 30 17:32:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 30 17:32:43 2025 +0800"
      },
      "message": "fix: link in announcing-integration-of-apisix-and-ai-ml-api (#1942)\n\n"
    },
    {
      "commit": "65c9b9aaf7b806554719cbd91a50bbe465441ced",
      "tree": "773b2da3db7baf2236848174131eb07ddb5d572e",
      "parents": [
        "a08ee2c876aefd3fa0657ff52f59c3533322f782"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Wed Jul 30 14:22:35 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 30 14:22:35 2025 +0800"
      },
      "message": "blog: add load-balancing-between-ai-ml-api-with-apisix (#1940)\n\n"
    },
    {
      "commit": "a08ee2c876aefd3fa0657ff52f59c3533322f782",
      "tree": "1a093159af960bafb0810eb0f77178f9f90d2bd6",
      "parents": [
        "0292cb31f2091b778067b23cca9db82880ff1e12"
      ],
      "author": {
        "name": "Yilia Lin",
        "email": "114121331+Yilialinn@users.noreply.github.com",
        "time": "Wed Jul 30 14:17:03 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 30 14:17:03 2025 +0800"
      },
      "message": "blog: add announcing apisix and ai/ml api integration (#1941)\n\n"
    }
  ],
  "next": "0292cb31f2091b778067b23cca9db82880ff1e12"
}
