)]}'
{
  "log": [
    {
      "commit": "08c072042220cf33f6b9af2d74a5f8c49a430971",
      "tree": "6497b1e4a68af8b47a469124cb685c09bf20f154",
      "parents": [
        "0765f2579c88c52be8e3fa203b23491966c9dc10"
      ],
      "author": {
        "name": "aias00",
        "email": "liuhongyu@apache.org",
        "time": "Sun Jul 12 18:28:40 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 09:28:40 2026 +0800"
      },
      "message": "build(deps): upgrade cobra v1.5.0 → v1.10.2 and viper v1.8.1 → v1.21.0 (#985)\n\nUpgrade spf13/cobra from v1.5.0 to v1.10.2 and spf13/viper from v1.8.1\nto v1.21.0. These were significantly outdated (2021-2022 versions).\n\nNotable transitive dependency changes:\n- spf13/pflag v1.0.5 → v1.0.10\n- spf13/afero v1.10.0 → v1.15.0\n- spf13/cast v1.7.1 → v1.10.0\n- fsnotify/fsnotify v1.6.0 → v1.9.0\n- inconshreveable/mousetrap v1.0.0 → v1.1.0\n- pelletier/go-toml/v2 v2.2.2 → v2.2.4\n- subosito/gotenv v1.2.0 → v1.6.0\n- Added: go-viper/mapstructure/v2 v2.4.0\n- Added: sagikazarmark/locafero v0.11.0\n- Added: sourcegraph/conc v0.3.1\n\nAll tests pass. Build verified.\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "0765f2579c88c52be8e3fa203b23491966c9dc10",
      "tree": "4f9050d01290c39441ff9d4568562c943c070b7e",
      "parents": [
        "a67ef9c49bb444c35cff810a484161fe7d98e976"
      ],
      "author": {
        "name": "aias00",
        "email": "liuhongyu@apache.org",
        "time": "Sat Jul 11 16:40:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 16:40:47 2026 +0800"
      },
      "message": "refactor(admin): remove personal fork dependency v.marlon.life/toolkit (#984)\n\n* refactor(admin): remove personal fork dependency v.marlon.life/toolkit\n\nReplace util.WaitGroupWrapper with standard sync.WaitGroup.\nThe dependency was used only for WaitGroupWrapper which is a thin\nwrapper around sync.WaitGroup. Using the standard library directly\neliminates a personal-domain dependency with no stability guarantees\nand addresses Apache project compliance concerns.\n\nCo-Authored-By: Claude \u003cnoreply@anthropic.com\u003e\n\n* style(admin): fix import grouping for sync package\n\nMove \u0027sync\u0027 into the standard library import block to satisfy\nthe imports-formatter CI check.\n\nCo-Authored-By: Claude \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "a67ef9c49bb444c35cff810a484161fe7d98e976",
      "tree": "07a7af2661413f1ed4b569e06e95d5d293fc433a",
      "parents": [
        "fabfc6b737b095a30971f4cb64371519a75dd12f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Jul 11 14:09:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 14:09:36 2026 +0800"
      },
      "message": "build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 (#1002)\n\nBumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.51.0 to 0.52.0.\n- [Commits](https://github.com/golang/crypto/compare/v0.51.0...v0.52.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/crypto\n  dependency-version: 0.52.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "fabfc6b737b095a30971f4cb64371519a75dd12f",
      "tree": "7605670c224bb143c403289276eddd749a5912b9",
      "parents": [
        "59ee0cbc4b2bd4ca7b80acd9dc507774d8b603f5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Jul 11 14:09:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 14:09:26 2026 +0800"
      },
      "message": "build(deps): bump golang.org/x/crypto in /tools/benchmark (#1003)\n\nBumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.51.0 to 0.52.0.\n- [Commits](https://github.com/golang/crypto/compare/v0.51.0...v0.52.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/crypto\n  dependency-version: 0.52.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "59ee0cbc4b2bd4ca7b80acd9dc507774d8b603f5",
      "tree": "3768c9895a3bdaac0cee3afeacc84b16ee9a527d",
      "parents": [
        "9c0cd206aa7774208978276e4daff52e99a5500d"
      ],
      "author": {
        "name": "wm_03",
        "email": "3134058368@qq.com",
        "time": "Mon Jul 06 20:17:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 20:17:16 2026 +0800"
      },
      "message": "Feat/reuse snapshot consistent hash (#960)\n\n* fix(cluster): Reuse consistent hash only for unchanged snapshots\n\n* fix: remove redundant reuseHealthyConsistentHashFrom call in withEndpointHealthForIDs"
    },
    {
      "commit": "9c0cd206aa7774208978276e4daff52e99a5500d",
      "tree": "6984347caf70390ee504a8152fef3b5172e76ed1",
      "parents": [
        "a387d8f0be2df7ff98bbdb5d57267782b7394ee7"
      ],
      "author": {
        "name": "wm_03",
        "email": "3134058368@qq.com",
        "time": "Mon Jul 06 20:16:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 20:16:52 2026 +0800"
      },
      "message": "Feat(cluster): reduce endpoint cloning (#961)\n\n* test(cluster): adds endpoint membership churn benchmark.\n\n* feat(cluster): Avoid recloning store-owned endpoints\n\n* feat(cluster): drop redundant nil guards\n\n* feat(cluster): use slices.Delete for endpoint removal"
    },
    {
      "commit": "a387d8f0be2df7ff98bbdb5d57267782b7394ee7",
      "tree": "2910897ee06c7819012359a89995f1f4b25f9102",
      "parents": [
        "665260d4ee3adb0926a49d03f56f46893972d975"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 06 09:20:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 09:20:57 2026 +0800"
      },
      "message": "build(deps): bump golang.org/x/net in /tools/benchmark (#1001)\n\nBumps [golang.org/x/net](https://github.com/golang/net) from 0.52.0 to 0.55.0.\n- [Commits](https://github.com/golang/net/compare/v0.52.0...v0.55.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/net\n  dependency-version: 0.55.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "665260d4ee3adb0926a49d03f56f46893972d975",
      "tree": "1e723dd7a34070958b8927dd4626ee1b334a70c5",
      "parents": [
        "a777e99df40abd8c197b92fa266052073be17d99"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Jul 05 15:48:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 15:48:56 2026 +0800"
      },
      "message": "build(deps): bump golang.org/x/net from 0.43.0 to 0.55.0 in /controllers (#999)\n\nBumps [golang.org/x/net](https://github.com/golang/net) from 0.43.0 to 0.55.0.\n- [Commits](https://github.com/golang/net/compare/v0.43.0...v0.55.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/net\n  dependency-version: 0.55.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a777e99df40abd8c197b92fa266052073be17d99",
      "tree": "ef60d516b79b5e43e9ecd24f9088004d59e26d65",
      "parents": [
        "daaeb6e1f1953403e737155807e50a558034369c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Jul 05 15:48:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 15:48:37 2026 +0800"
      },
      "message": "build(deps): bump golang.org/x/net from 0.52.0 to 0.55.0 (#1000)\n\nBumps [golang.org/x/net](https://github.com/golang/net) from 0.52.0 to 0.55.0.\n- [Commits](https://github.com/golang/net/compare/v0.52.0...v0.55.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/net\n  dependency-version: 0.55.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "daaeb6e1f1953403e737155807e50a558034369c",
      "tree": "f910eb206e2e8431e0ea45f92e98c166144e728e",
      "parents": [
        "c3df76a0fc1652a1dc9da9e910bf83ec91369ed5"
      ],
      "author": {
        "name": "Skylm808",
        "email": "lmtian808@gmail.com",
        "time": "Mon Jun 29 09:37:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 09:37:24 2026 +0800"
      },
      "message": "Feature/openapi sdk validator (#948)\n\n* Add OpenAPI request validation filter\n\n\n---------\n\nCo-authored-by: Tianlm \u003cskylm@TianlmdeMacBook-Air.local\u003e"
    },
    {
      "commit": "c3df76a0fc1652a1dc9da9e910bf83ec91369ed5",
      "tree": "5032e2fa1b0a0d17e80933bc12c41bfc6c29d452",
      "parents": [
        "93f6f7097ea7f1a596d832af4c44536cd46c4053"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 09:25:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 09:25:06 2026 +0800"
      },
      "message": "build(deps): bump form-data in /admin/web (#988)\n\nBumps  and [form-data](https://github.com/form-data/form-data). These dependencies needed to be updated together.\n\nUpdates `form-data` from 4.0.5 to 4.0.6\n- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)\n\nUpdates `form-data` from 3.0.4 to 3.0.5\n- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)\n\n---\nupdated-dependencies:\n- dependency-name: form-data\n  dependency-version: 4.0.6\n  dependency-type: indirect\n- dependency-name: form-data\n  dependency-version: 3.0.5\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "93f6f7097ea7f1a596d832af4c44536cd46c4053",
      "tree": "f3f09ed3eb103f0133de674b222c469b90b3463b",
      "parents": [
        "a742e8ffdb4f1ee7915bb6f0785ed3f2e22bbbc4"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 09:20:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 09:20:42 2026 +0800"
      },
      "message": "build(deps): bump ws from 6.2.3 to 6.2.4 in /admin/web (#987)\n\nBumps [ws](https://github.com/websockets/ws) from 6.2.3 to 6.2.4.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/6.2.3...6.2.4)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-version: 6.2.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a742e8ffdb4f1ee7915bb6f0785ed3f2e22bbbc4",
      "tree": "5f0fdb8811b8c56a7eab15ec7b70645a6ab1f5a9",
      "parents": [
        "331735d3cfd1dd2170ad53f5c11f845fc34035e6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 09:20:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 09:20:28 2026 +0800"
      },
      "message": "build(deps): bump launch-editor from 2.9.1 to 2.14.1 in /admin/web (#986)\n\nBumps [launch-editor](https://github.com/vitejs/launch-editor) from 2.9.1 to 2.14.1.\n- [Commits](https://github.com/vitejs/launch-editor/compare/v2.9.1...v2.14.1)\n\n---\nupdated-dependencies:\n- dependency-name: launch-editor\n  dependency-version: 2.14.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "331735d3cfd1dd2170ad53f5c11f845fc34035e6",
      "tree": "f3c390784c00693a1d87c087fb641ce4fa70b82d",
      "parents": [
        "c53ffa53e707857504184b7bb83af889232ca8fe"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Sun Jun 14 13:53:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 13:53:40 2026 +0800"
      },
      "message": "perf(llm): drop per-request hex alloc in cooldown credential hash (#965)\n\n* perf(llm): drop per-request hex alloc in cooldown credential hash\n\nEvery LLM request resolves a cooldownKey at least once (more on the\nretry/fallback path) via endpointCredentialHash, which ran\nfmt.Sprintf(\"%x\", sum) and allocated a fresh 64-byte hex string that\nescaped to the heap. The hex string is pure overhead: credentialHash is\nonly ever used as a comparable component of the cooldownKey map key.\n\nUse the raw [32]byte sha256 output directly as the key component. A\n[32]byte array is comparable and valid in a struct map key, so the hex\nencoding and its heap allocation are removed while the cooldown identity\nsemantics stay byte-for-byte identical. sha256 itself stays per-call\n(nanoseconds for short keys); the allocation was the dominant cost.\n\nBenchmarkCooldown_EndpointInCooldown (100 endpoints):\n  before  300.0 ns/op  168 B/op  6 allocs/op\n  after   163.2 ns/op   40 B/op  3 allocs/op\n\nCloses #956\n\n* test(llm): pin cooldown benchmark TTL to keep hot path stable\n\nThe benchmark relied on the endpoint\u0027s 60s HealthCheckInterval as the\ncooldown TTL. A long -benchtime (or a slow machine) could let entries\nexpire mid-run, shifting measurement from the intended in-cooldown path\nonto the delete+log path and destabilizing results.\n\nSet HealthCheckInterval to 24h so every iteration stays on the hot path\nregardless of -benchtime."
    },
    {
      "commit": "c53ffa53e707857504184b7bb83af889232ca8fe",
      "tree": "d5b9d149281e8469f7316dad2eff25876249a42c",
      "parents": [
        "4d6cc6733385e3792a500d05317e17a71a35715e"
      ],
      "author": {
        "name": "aias00",
        "email": "liuhongyu@apache.org",
        "time": "Fri Jun 12 09:43:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 09:43:53 2026 +0800"
      },
      "message": "fix(hotreload): bound reload request body size (#977)\n\n* Bound hot reload request bodies\n\nThe reload endpoint accepted authenticated request bodies of arbitrary size and read them fully into memory. Limit the body before parsing YAML and reject oversized requests with 413 while keeping the existing empty-body file reload behavior.\n\nConstraint: Preserve existing authenticated reload behavior for normal and empty request bodies\n\nRejected: Streaming YAML decode directly | larger behavior change than needed for this endpoint\n\nConfidence: high\n\nScope-risk: narrow\n\nDirective: Keep reload body limits explicit when adding new reload input modes\n\nTested: go test ./pkg/hotreload\n\n* Address hot reload review comments\n\nUse http.MaxBytesReader for reload body limits and add tests for exact-size bodies and empty-body fallback behavior. This keeps the existing file reload fallback while locking the request body boundary semantics.\n\nConstraint: Preserve repository imports-formatter grouping that CI enforces\n\nRejected: Keep io.LimitReader | MaxBytesReader is the standard net/http request limit mechanism\n\nConfidence: high\n\nScope-risk: narrow\n\nTested: go test ./pkg/hotreload"
    },
    {
      "commit": "4d6cc6733385e3792a500d05317e17a71a35715e",
      "tree": "7fc69589e26a075047472aee4926e8f8703ce833",
      "parents": [
        "d7b8f3b120825e8b4c5a24e8956b630d58436afb"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 10 09:23:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 09:23:05 2026 +0800"
      },
      "message": "build(deps): bump shell-quote from 1.8.1 to 1.8.4 in /admin/web (#974)\n\nBumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.1 to 1.8.4.\n- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/shell-quote/compare/v1.8.1...v1.8.4)\n\n---\nupdated-dependencies:\n- dependency-name: shell-quote\n  dependency-version: 1.8.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d7b8f3b120825e8b4c5a24e8956b630d58436afb",
      "tree": "21d01b5c7701af8708ae4e2bb9bac58812efde00",
      "parents": [
        "d2e421d99ee5770798ad82f3f1efe3fcf496035f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 09 18:03:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 18:03:13 2026 +0800"
      },
      "message": "build(deps): bump github.com/quic-go/quic-go from 0.57.0 to 0.59.1 (#959)\n\nBumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.57.0 to 0.59.1.\n- [Release notes](https://github.com/quic-go/quic-go/releases)\n- [Commits](https://github.com/quic-go/quic-go/compare/v0.57.0...v0.59.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/quic-go/quic-go\n  dependency-version: 0.59.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d2e421d99ee5770798ad82f3f1efe3fcf496035f",
      "tree": "a3c373a9683187b4677d79ccf8783d45ab7cf4c7",
      "parents": [
        "fafcaf0c2f86e144c4226f4037a8d6c73e5cd74e"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Tue Jun 02 18:14:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 18:14:22 2026 +0800"
      },
      "message": "feat(cluster):introduce healthy endpoint snapshot (issue #905 step 5) (#932)"
    },
    {
      "commit": "fafcaf0c2f86e144c4226f4037a8d6c73e5cd74e",
      "tree": "7bd5a454ac8f3a92fbe37c6c5184a7a9efacc5ed",
      "parents": [
        "4e7eb45e442561ef369bd13e063fe83dbf7e65a0"
      ],
      "author": {
        "name": "Yuqi Qiao",
        "email": "19606363088@163.com",
        "time": "Tue Jun 02 10:41:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 10:41:32 2026 +0800"
      },
      "message": "style: fix import ordering in filter_sse_test.go to pass gofmt (#954)"
    },
    {
      "commit": "4e7eb45e442561ef369bd13e063fe83dbf7e65a0",
      "tree": "14d2761cdd965df474b7e521a9cb9852b2f265cb",
      "parents": [
        "798fcc752b920f0640ccb21f062e6baf4c9f866c"
      ],
      "author": {
        "name": "Yuqi Qiao",
        "email": "19606363088@163.com",
        "time": "Fri May 29 14:41:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 14:41:42 2026 +0800"
      },
      "message": "fix(mcp): clear Content-Length header  (#931)\n\n* fix(mcp): clear Content-Length header before returning tool call response\n\nWhen the MCP filter wraps a backend response into MCP JSON-RPC format,\nthe new body is larger than the original. However, the old Content-Length\nheader from the backend was still present, causing Go\u0027s net/http to report\n\u0027wrote more than the declared Content-Length\u0027 and forcibly close the connection.\n\nClear the stale header so net/http auto-calculates the correct\nContent-Length from the actual response body.\n\n* fix(mcp): add a regression test that explicitly asserts Content-Length is cleared after sendMCPResponse\n\n* fix:add missing client import to resolve typecheck error in filter_sse_test"
    },
    {
      "commit": "798fcc752b920f0640ccb21f062e6baf4c9f866c",
      "tree": "349960b411b9f192e90828882538618acb3da5eb",
      "parents": [
        "e54dc30420e58c46544740d1eb6777a9a14c1c0c"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Tue May 26 19:26:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 19:26:30 2026 +0800"
      },
      "message": "fix(loadbalancer/maglev): satisfy benchmark lint (#946)"
    },
    {
      "commit": "e54dc30420e58c46544740d1eb6777a9a14c1c0c",
      "tree": "c91c815127834b38f3fea897b3ca610fbf9073ad",
      "parents": [
        "91688317f74306b5117c2120fc8146def0bc4eea"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Mon May 25 09:47:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 25 09:47:02 2026 +0800"
      },
      "message": "fix(loadbalancer/maglev): use fast deterministic request hash (#928)\n\n* fix(loadbalancer/maglev): use deterministic _hash1 for lookup table\n\nLookUpTable.Hash called maphash.MakeSeed() on every invocation, so the\nsame key produced a different hash each call. Get(key) and GetHash both\nflow through Hash, which meant Maglev silently degraded to pseudo-random\nselection — session affinity and cache locality guarantees never held.\n\nRoute Hash through the package-internal deterministic _hash1, the same\nhash already used by permutation generation.\n\n* test(loadbalancer/maglev): lock Hash determinism for the same key\n\nRegression coverage for the previous random-seed bug. Calls Hash on the\nsame key 20 times and asserts stability.\n\n* fix(loadbalancer/maglev): use fast deterministic request hash\n\n* chore(loadbalancer/maglev): satisfy request hash naming rule\n\n* chore(loadbalancer/maglev): fix import grouping"
    },
    {
      "commit": "91688317f74306b5117c2120fc8146def0bc4eea",
      "tree": "e2e2ed4a7102145965cbfe9283b4040a4576647f",
      "parents": [
        "09e446a04c8c2f7f75f8488a7b5f92dd0ad9da2a"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Sun May 24 14:33:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 14:33:43 2026 +0800"
      },
      "message": "fix(endpoint): stabilize endpoint.ID across restarts (nacos + static-config paths) (#930)\n\n* model: add GeneratedEndpointID helper for deterministic endpoint identity\n\nReturns a stable \"generated-\u003csha8\u003e\" identifier derived from cluster name,\nendpoint address, and (when present) LLM provider + API key. Endpoints\nthat differ only by credential do not collide, and the same endpoint\nacross restarts hashes to the same ID.\n\nUsed by the Nacos LLM registry to drop random UUID fallback identifiers.\n\n* fix(adapter/nacos): deterministic endpoint identity and address baseline\n\ngenerateEndpoint previously generated a fresh UUID for every Nacos\ninstance that did not carry an explicit metadata[\"id\"]. Process restarts\nand re-subscriptions therefore broke any external mapping keyed on\nendpoint.ID (metrics labels, log correlation, runtime health tracking).\n\nReplace the UUID fallback with a three-step lookup:\n  1. metadata[\"id\"] (trimmed)\n  2. instance.InstanceId (trimmed)\n  3. model.GeneratedEndpointID(cluster, endpoint) — stable hash of\n     cluster, address, and LLM credential material\n\nTwo related fixes ride along because they share the same function:\n  - Address now seeds from instance.Ip / instance.Port before metadata\n    overrides, so instances without metadata.ip/port still get a usable\n    upstream address.\n  - When metadata[\"port\"] fails to parse, the previous code overwrote\n    Address.Port with 0; now the parsed value only applies on success.\n\nEndpoint.ID becomes upgrade-visible: existing deployments will see new\nIDs after upgrade. Operators relying on endpoint.ID for dashboards or\nlog correlation should rebuild their indexes.\n\n* test(adapter/nacos): cover stable ID, rename, InstanceId fallback paths\n\n- Invalid port now expects fallback to instance.Port instead of zero,\n  matching the parse-failure fix.\n- generateEndpoint prefers instance.InstanceId when metadata id is absent.\n- generateEndpoint hashes deterministically when both metadata id and\n  instance id are absent; rotating an API key changes the generated ID,\n  the raw key never appears in it.\n- subscribeCallback emits stable IDs across renames and re-subscriptions.\n- subscribeCallback keeps endpoints with identical credentials but\n  different Nacos InstanceIds distinct.\n\n* model: rename GeneratedEndpointID -\u003e GenerateEndpointID and expand docs\n\nRename uses the standard Go verb form. The godoc now states three\nnon-obvious design choices so future readers don\u0027t have to re-derive\nthem:\n\n- The 64-bit (8-byte) truncation rationale and the per-cluster scale\n  at which it is safe.\n- That clusterName is part of the hash material so endpoints from\n  different clusters never alias, and how Nacos callers supply it.\n- That the LLM API key is included on purpose, with the SHA-256\n  one-way guarantee that prevents the raw key from leaking into IDs.\n\nAdds two helper test cases that nail the contract:\n- Different cluster names produce different IDs for the same endpoint.\n- Different addresses (host or port) produce different IDs.\n\n* server: replace random-UUID endpoint identity with GenerateEndpointID\n\nassembleClusterEndpoints used to assign a random UUID to any endpoint\nwith an empty ID, mirroring the now-removed Nacos UUID fallback and\nbreaking the same downstream contracts (metrics keyed on endpoint.ID,\nPickNextEndpoint cursors, DeleteEndpoint lookups). Switch to the\ndeterministic helper so endpoint identity is stable across process\nrestarts regardless of registry source.\n\nTwo static endpoints sharing (cluster_name, address, provider, api_key)\nnow collapse to a single identifier. They were already indistinguishable\nto the picker, so the previous random IDs offered no real separation;\noperators who need distinct entries must set an explicit \"id:\".\n\nhashicorp/go-uuid is no longer imported anywhere in pkg/, so it drops\nfrom the direct dependency list (still transitively pulled in).\n\n* server: warn on duplicate generated endpoint IDs and harden contract\n\nTwo follow-ups to the random-UUID -\u003e deterministic-ID migration:\n\nassembleClusterEndpoints now logs a warning when two endpoints inside\nthe same cluster collapse to the same generated ID. Previously this was\nsilent: operators would discover the missing entry only via dashboards\ncounting fewer endpoints than the config declares. The warning names\nboth slice positions and the shared ID so the fix (set explicit `id:`)\nis mechanical.\n\nendpointIDMaterial gets a contract comment stating that it MUST NOT\ndepend on endpoint.Name. Two call sites rely on this implicitly:\nClusterStore.assembleClusterEndpoints derives the ID before assigning\na default Name, and TestGenerateEndpointIDIgnoresEndpointName asserts\nrename invariance. Documenting the contract makes the constraint\nvisible to anyone tempted to extend the hash material.\n\nThe godoc paragraph on truncation now reads as a neutral statement\nrather than first-person (\"we\"), since this is library code in an OSS\nproject.\n\nAdds TestClusterManager_AssembleEndpointsCollapseDuplicateGenerated to\nlock the documented collapse behavior.\n\n* adapter/nacos: unify nacosEndpointID lookup style\n\nThe three-tier lookup previously mixed two idioms — an ok-check plus\nTrimSpace for metadata[\"id\"], and a single-step assignment for\nInstanceId — which left the metadata branch calling TrimSpace twice.\nSwitch metadata[\"id\"] to the same single-step form. Go returns the\nzero value for a missing map key, so the ok-check is redundant.\n\nBehavior is unchanged; this is a readability cleanup surfaced by the\nsecond-round review.\n\n* docs(kvcache): document endpoint.id derivation and upgrade behavior\n\nThe \"Routing Contract\" section already states that LMCache instance_id\nmust equal pixiu endpoint.id, but did not say how endpoint.id is\nderived or what happens when pixiu\u0027s identity scheme changes. Operators\nrunning kvcache against the new deterministic identity could not tell\nfrom the doc whether the contract was still meant to hold long-term.\n\nAdds two sub-sections under \"Routing Contract\":\n\n- Lists the three-tier derivation order (metadata id -\u003e InstanceId -\u003e\n  generated-\u003csha8\u003e) and states that all three forms are stable across\n  restarts, so the LMCache \u003c-\u003e pixiu contract holds long-term.\n- Calls out the one-time ID-shape transition during the upgrade from\n  the previous random-UUID behavior, so LMCache operators know to\n  expect a relearn window per endpoint and that it self-recovers.\n\nMirrors the same update in the Chinese doc.\n\n* fix(nacos): fall back to cluster name for endpoint id\n\n* Refine contract definition for LMCache and pixiu\n\nClarify the definition of the contract between LMCache instance_id and pixiu endpoint.id.\n\n* fix(model): clarify generated endpoint id encoding\n\n* ci: avoid persisted checkout credentials in integration test"
    },
    {
      "commit": "09e446a04c8c2f7f75f8488a7b5f92dd0ad9da2a",
      "tree": "75159372c4177ac9a7aab12d390c6d2dd9e6f906",
      "parents": [
        "1df11291c3a7c1954080574ee425c2308ed3dd8b"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Sat May 23 16:56:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 23 16:56:07 2026 +0800"
      },
      "message": "Add protection for master and develop branches (#936)"
    },
    {
      "commit": "1df11291c3a7c1954080574ee425c2308ed3dd8b",
      "tree": "3e7c36f3dcca142b82e282d87fa3a7770f3f6e99",
      "parents": [
        "f0ba052d26d3322b6d4de833de2b58f7385c3c47"
      ],
      "author": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Sat May 23 03:37:49 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 23 16:37:49 2026 +0800"
      },
      "message": "Set up default protection ruleset for default and release branches (#929)"
    },
    {
      "commit": "f0ba052d26d3322b6d4de833de2b58f7385c3c47",
      "tree": "1cdfdd932fe4ceca48ceabe6f7bcd0d1342c57f0",
      "parents": [
        "16dd5011756db257438100ef13a90949297b7f79"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat May 23 12:29:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 23 12:29:43 2026 +0800"
      },
      "message": "build(deps): bump qs and express in /admin/web (#935)\n\nBumps [qs](https://github.com/ljharb/qs) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.\n\nUpdates `qs` from 6.14.2 to 6.15.2\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.2...v6.15.2)\n\nUpdates `express` from 4.22.1 to 4.22.2\n- [Release notes](https://github.com/expressjs/express/releases)\n- [Changelog](https://github.com/expressjs/express/blob/v4.22.2/History.md)\n- [Commits](https://github.com/expressjs/express/compare/v4.22.1...v4.22.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n  dependency-version: 6.15.2\n  dependency-type: indirect\n- dependency-name: express\n  dependency-version: 4.22.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "16dd5011756db257438100ef13a90949297b7f79",
      "tree": "fdee431d3d8264c6ac6ead65aff8a1d1b110e853",
      "parents": [
        "54c4ecaf8dcc98a645ef5c0362bd92443ded2746"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri May 22 13:42:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 13:42:03 2026 +0800"
      },
      "message": "build(deps): bump js-cookie from 2.2.0 to 3.0.7 in /admin/web (#934)\n\nBumps [js-cookie](https://github.com/js-cookie/js-cookie) from 2.2.0 to 3.0.7.\n- [Release notes](https://github.com/js-cookie/js-cookie/releases)\n- [Commits](https://github.com/js-cookie/js-cookie/compare/v2.2.0...v3.0.7)\n\n---\nupdated-dependencies:\n- dependency-name: js-cookie\n  dependency-version: 3.0.7\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "54c4ecaf8dcc98a645ef5c0362bd92443ded2746",
      "tree": "752d2902f79b9aaf98dbc9ed7f236a3936c5ae91",
      "parents": [
        "dd62a985a0706c1ff4aa0a2adb632fd256f328ba"
      ],
      "author": {
        "name": "twotwotwo",
        "email": "yjt20061029@gmail.com",
        "time": "Thu May 21 13:55:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 13:55:33 2026 +0800"
      },
      "message": "fix: Router method wildcard no longer matches non-HTTP route methods after snapshot refactor (#922)\n\n* Refactor RouteSnapshot and MethodAllowed function\n\n* Enhance router logic for method-specific matching\n\nRefactor routing logic to improve method-specific trie matching and error handling.\n\n* Update router.go\n\n* 修正笔误\n\n* fix a typo\n\n* Add files via upload"
    },
    {
      "commit": "dd62a985a0706c1ff4aa0a2adb632fd256f328ba",
      "tree": "6b9990e8a5d86f24292ca8acce6410fe0d560a8f",
      "parents": [
        "773de1077ac57104f71ea920dca11c19d85f91aa"
      ],
      "author": {
        "name": "wm_03",
        "email": "3134058368@qq.com",
        "time": "Sat May 16 17:30:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 17:30:11 2026 +0800"
      },
      "message": "feat: add Pixiu skills (#921)\n\n* feat: add Pixiu skills"
    },
    {
      "commit": "773de1077ac57104f71ea920dca11c19d85f91aa",
      "tree": "6028bbc469b3c9025dbdf76a2b37a10bb72f2ad9",
      "parents": [
        "21d6907734429fe52fd34e01af5270fef74393b6"
      ],
      "author": {
        "name": "linmao",
        "email": "lmtian808@gmail.com",
        "time": "Fri May 15 13:07:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 13:07:37 2026 +0800"
      },
      "message": "Feature/857 Add OpenAPI request validation to apiconfig (#909)\n\n* feat(apiconfig): add OpenAPI request validation\n\n* docs(openapi): add usage guide and sample spec\n\n* fix(apiconfig): align OpenAPI validation with V1 docs\n\n* Prevent duplicate OpenAPI route registration\n\nMerge OpenAPI validation metadata into existing api_config routes so duplicate path+method entries do not fail startup.\n\nTested: go test ./pkg/filter/http/apiconfig/...; go test ./...\n\n---------\n\nCo-authored-by: Tianlm \u003cskylm@TianlmdeMacBook-Air.local\u003e"
    },
    {
      "commit": "21d6907734429fe52fd34e01af5270fef74393b6",
      "tree": "5b543ac72057d858d9647c6b3e578bd9258be92d",
      "parents": [
        "4d627d4df47e7ef93f2946e92b701f63de4635c7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed May 13 10:22:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 10:22:05 2026 +0800"
      },
      "message": "build(deps-dev): bump @babel/plugin-transform-modules-systemjs (#927)\n\nBumps [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs) from 7.27.1 to 7.29.4.\n- [Release notes](https://github.com/babel/babel/releases)\n- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/babel/babel/commits/v7.29.4/packages/babel-plugin-transform-modules-systemjs)\n\n---\nupdated-dependencies:\n- dependency-name: \"@babel/plugin-transform-modules-systemjs\"\n  dependency-version: 7.29.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4d627d4df47e7ef93f2946e92b701f63de4635c7",
      "tree": "6ff9b05afbd990db4872d107323f249c23f0cb0f",
      "parents": [
        "4ceeb323455626d76a8593ba1f19c898bdacdc95"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat May 09 11:51:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 11:51:33 2026 +0800"
      },
      "message": "build(deps-dev): bump fast-uri from 3.0.6 to 3.1.2 in /admin/web (#926)\n\nBumps [fast-uri](https://github.com/fastify/fast-uri) from 3.0.6 to 3.1.2.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.0.6...v3.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n  dependency-version: 3.1.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4ceeb323455626d76a8593ba1f19c898bdacdc95",
      "tree": "bbb92379f71ee5873fba2aff75f69d61dc6f01f6",
      "parents": [
        "9791a83bc02df51d15ce9433e15cb88a6fe0f3b1"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Wed May 06 18:28:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 18:28:01 2026 +0800"
      },
      "message": "fix(cluster): switch cluster lookup to runtime map (#923)"
    },
    {
      "commit": "9791a83bc02df51d15ce9433e15cb88a6fe0f3b1",
      "tree": "8c7f4cc5515a13551c90fb97224618920895600c",
      "parents": [
        "dd8b0409c8d16b36ee3d925b028c6ce78d72cc5c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed May 06 14:06:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 14:06:52 2026 +0800"
      },
      "message": "build(deps): bump axios from 1.13.5 to 1.15.2 in /admin/web (#924)\n\nBumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.\n- [Release notes](https://github.com/axios/axios/releases)\n- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)\n- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)\n\n---\nupdated-dependencies:\n- dependency-name: axios\n  dependency-version: 1.15.2\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "dd8b0409c8d16b36ee3d925b028c6ce78d72cc5c",
      "tree": "1118d7ddfd8799d6d1fe6e454bac3fced664a9d0",
      "parents": [
        "55c62109a5f73633ce4755cbd0a8c92f4980c5fd"
      ],
      "author": {
        "name": "Zerui Yang",
        "email": "zeruiyoung@gmail.com",
        "time": "Wed May 06 13:38:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 13:38:16 2026 +0800"
      },
      "message": "Feat: add some dubbo config and use new config style (#862)\n\n* feat(config): add cluster, protocol, and check options to DubboProxyConfig\n\n* feat(config): enhance DubboProxyConfig with new fields for filter, serialization, sticky connections, and custom parameters\n\n* feat(dubbo): manually initialize ReferenceOptions for generic invocation support\n\n* fix: downgrade dubbo-go dependency version to maintain compatibility\n\n* fix: reorganize import statements in config.go for clarity\n\n* refactor(dubbo): resolve refer spec in unified client\n\n* refactor(remote): route triple through dubbo client\n\n* test(triple): cover forwarded tri headers\n\n* chore: ignore local worktrees\n\n* refactor(dubbo): clean up configuration structure and remove unused fields\n\n* refactor(dubbo): simplify invoke payload and context preparation\n\n* refactor(tests): organize imports in call_test.go and refer_test.go\n\n* feat(dubbo): enhance direct generic invocation with parameter types and serialization\n\n* feat(dubbo): add outbound request contract\n\n* test(dubbo): isolate legacy refer tests for outbound transition\n\n* refactor(dubbo): extract type and protocol helpers\n\n* refactor(dubbo): wire extracted helpers into existing paths\n\n* refactor(dubbo): normalize opt values types through shared helpers\n\n* refactor(dubbo): complete inferred java type mapping\n\n* feat(remote): add DubboHandler for outbound mapping\n\n* test(remote): align DubboHandler helpers with plan contract\n\n* refactor(remote): preserve opt values inline type coercion\n\n* refactor(dubbo): implement outbound client call\n\n* fix(dubbo): include consumer defaults in cache key\n\n* refactor(remote): route dubbo calls through outbound handler\n\n* docs(dubbo): remove opt application from samples\n\n* docs(dubbo): align zh universality option example\n\n* refactor(dubbo): remove legacy mapping path\n\n* fix(remote): enforce direct outbound contract\n\n* feat(dubbo): update Dubbo client and outbound request types\n\n* refactor(dubbo): replace hardcoded Java class names with constants\n\n* refactor(client): update Client interface and remove unused Dubbo resolver\n\n* fix: fix some review comments\n\n* docs(dubbo): add comments to clarify functionality in call and handler methods\n\n* fix(dubbo): enhance direct address handling and validation in DubboHandler\n\n* feat(dubbo): add serialization key to registry and update dependencies\n\n* chore(tests): reorganize import statements in registry_test.go\n\n* chore: trigger ci\n\n* feat: refactor Dubbo client context handling and update dependencies"
    },
    {
      "commit": "55c62109a5f73633ce4755cbd0a8c92f4980c5fd",
      "tree": "8f74bf1d9ee6bf3d0e1320c7231e9b6fa13a0269",
      "parents": [
        "91445beda8e0e9545faedd0b627d1fcf0d0aea9c"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Wed May 06 11:06:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 11:06:09 2026 +0800"
      },
      "message": "fix(cluster): tighten runtime consistency (#919)\n\n* fix(cluster): tighten runtime consistency\n\n* fix(cluster): address runtime consistency review comments"
    },
    {
      "commit": "91445beda8e0e9545faedd0b627d1fcf0d0aea9c",
      "tree": "7a4cbee8d489f2c2787726a2b2184f642a9d707e",
      "parents": [
        "ad9b844e2d1dfe9528d9efbbc9f60d89c04da553"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Tue Apr 28 11:43:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 11:43:20 2026 +0800"
      },
      "message": "fix(cluster): complete Issue #905 step 2 correctness for Rand and Rou… (#915)\n\n* fix(cluster): complete Issue #905 step 2 correctness for Rand and RoundRobin\n\n* fix(cluster): address review feedback for issue 905\n\n* fix(test): address sonar warnings for blank imports\n\n* fix(cluster): preserve round-robin cursor across store refresh\n\n* fix(cluster): use atomic cursor carry-over"
    },
    {
      "commit": "ad9b844e2d1dfe9528d9efbbc9f60d89c04da553",
      "tree": "001e4920b877f1168377a33a5eeafeaf90e59585",
      "parents": [
        "e6be67833cd679e0ef879e557ba4a46328c092a1"
      ],
      "author": {
        "name": "Joe Zhong",
        "email": "11638005@qq.com",
        "time": "Mon Apr 27 11:24:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 11:24:58 2026 +0800"
      },
      "message": "use hot reload update gateway (#892)\n\n* use hot reload update gateway\n\nfix gofmt\n\nfix imports-formatter\n\nfix golangci-lint\n\nfix typo\n\nfix typo\n\nfix gofmt\n\nfix imports-formatter\n\nchore: trigger CI to recheck linter\n\nfix: rewrite http_handler to fix gofmt issue\n\nfix: split variable declaration to fix gofmt issue\n\nfix: inline map to avoid gofmt issue\n\nfix: apply gofmt formatting to http_handler.go\n\nfix: replace interface{} with string map and handle Body.Close error\n\nfix: guard against nil server in GetRouterManager to prevent panic in tests\n\n* Potential fix for pull request finding\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* build(deps): bump minimatch from 3.1.2 to 3.1.5 in /admin/web (#883)\n\nBumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n  dependency-version: 3.1.5\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* Admin opa backend (#877)\n\n* add the OPA on the admin without readme\n\n* fmt\n\n* add the description of change in readme\n\n* remove the log\n\n* fix the issue\n\n* fix the issue\n\n* delete the log and improve the yml of docker\n\n* remove the redundent -\n\n* add the newLine\n\n* fix(admin): honor OPA request timeout with context and add 30s fallback\n\n* build(deps): bump go.opentelemetry.io/otel/sdk in /controllers (#887)\n\nBumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.37.0 to 1.40.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...v1.40.0)\n\n---\nupdated-dependencies:\n- dependency-name: go.opentelemetry.io/otel/sdk\n  dependency-version: 1.40.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* feat: Add KVCache offload funtion in PIXIU gateway (#878)\n\n* feat: KV Cache\n\n* fix: fix some problems\n\n* feat: add KVCache feats\n\n* feat: v2\n\n* feat: v2\n\n* chore: ignore .worktrees\n\n* fix: fix some bugs\n\n* feat: v3\n\n* feat: v4\n\n* feat: fix some problems\n\n* fix: delete some unuesd gomod\n\n* fix: fix some problems\n\n* fix: fix some problems\n\n* add apache lisences\n\n* fix: fix some problems\n\n* fix: add unit test and fix some problems\n\n* fix: delete some unused code\n\n* fix: add docs\n\n* feat: add some new features\n\n* build(deps): bump go.opentelemetry.io/otel/sdk from 1.21.0 to 1.40.0 (#890)\n\nBumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.21.0 to 1.40.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.21.0...v1.40.0)\n\n---\nupdated-dependencies:\n- dependency-name: go.opentelemetry.io/otel/sdk\n  dependency-version: 1.40.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* feat(auth/saml): add SAML authentication filter (#893)\n\n* feat(auth/saml): add initial SAML auth filter scaffold\n\n* feat(auth/saml): implement core SAML authentication logic\n\n* test(auth/saml): add unit tests for SAML filter\n\n* fix(auth/saml): address code review findings\n\n  - Distinguish ErrNoSession from other session errors in Decode()\n  - DeepCopy config in PrepareFilterChain to avoid pointer sharing\n  - Strip client-supplied SAML-controlled headers to prevent spoofing\n  - Set CookieSameSite for cross-site ACS POST compatibility\n  - Fix gofmt formatting in config_test.go\n\n* docs(auth/saml): add SAML filter user documentation\n\n* chore: revert .gitignore to upstream state\n\n* style: format plugin registry\n\n* refactor(auth/saml): reduce Apply complexity\n\n* style(auth/saml): format imports with imports-formatter\n\n* docs(auth/saml): add Chinese user guide\n\n* build(deps): bump github.com/buger/jsonparser in /tools/benchmark (#898)\n\nBumps [github.com/buger/jsonparser](https://github.com/buger/jsonparser) from 1.1.1 to 1.1.2.\n- [Release notes](https://github.com/buger/jsonparser/releases)\n- [Commits](https://github.com/buger/jsonparser/compare/v1.1.1...v1.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/buger/jsonparser\n  dependency-version: 1.1.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /admin/web (#899)\n\nBumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)\n\n---\nupdated-dependencies:\n- dependency-name: picomatch\n  dependency-version: 2.3.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* fix 1\n\n* fix 2\n\n* fix 3\n\n* fix 4\n\n* fix 5\n\n* fix 6\n\n* fix 7\n\n* fix 8\n\n* fix check\n\n* fix lint\n\n* fix 9\n\n* fix 10\n\n* fix 11\n\n* fix 12\n\n* fix check\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: nanjiek \u003c127271430+nanjiek@users.noreply.github.com\u003e\nCo-authored-by: 陈乐樂 \u003c1239498998@qq.com\u003e\nCo-authored-by: linmao \u003clmtian808@gmail.com\u003e"
    },
    {
      "commit": "e6be67833cd679e0ef879e557ba4a46328c092a1",
      "tree": "d2e738250414c3287d844a3acda086db08d68041",
      "parents": [
        "8166e242866ec6778ef4b64b3f6b06fc957119f8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Apr 16 08:32:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 08:32:59 2026 +0800"
      },
      "message": "build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /admin/web (#914)\n\nBumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.\n- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)\n- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)\n\n---\nupdated-dependencies:\n- dependency-name: follow-redirects\n  dependency-version: 1.16.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8166e242866ec6778ef4b64b3f6b06fc957119f8",
      "tree": "4f0e24d2abb9fa589da089102385704f37474984",
      "parents": [
        "67fb157dcd4f66c69a7f2fac489afbd6a9f38394"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Apr 12 19:33:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 19:33:04 2026 +0800"
      },
      "message": "build(deps): bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#908)\n\nBumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.40.0 to 1.43.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...v1.43.0)\n\n---\nupdated-dependencies:\n- dependency-name: go.opentelemetry.io/otel/sdk\n  dependency-version: 1.43.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "67fb157dcd4f66c69a7f2fac489afbd6a9f38394",
      "tree": "2ac66a6d3c3f54e2f221c32c97ee0cd4bf5cb43f",
      "parents": [
        "d12a6bb768e38fbbf45362e98b62427e6cba46c4"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Apr 03 19:07:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 19:07:48 2026 +0800"
      },
      "message": "build(deps): bump path-to-regexp and express in /admin/web (#903)\n\nBumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.\n\nUpdates `path-to-regexp` from 0.1.12 to 0.1.13\n- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)\n- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/v.0.1.13/History.md)\n- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.12...v.0.1.13)\n\nUpdates `express` from 4.21.2 to 4.22.1\n- [Release notes](https://github.com/expressjs/express/releases)\n- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)\n- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)\n\n---\nupdated-dependencies:\n- dependency-name: path-to-regexp\n  dependency-version: 0.1.13\n  dependency-type: indirect\n- dependency-name: express\n  dependency-version: 4.22.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d12a6bb768e38fbbf45362e98b62427e6cba46c4",
      "tree": "7f1b87e0ea0dc4c6ea088f1a7a763bee8413d0e9",
      "parents": [
        "4eea345eed0fcd4ef69ce9811305164f138fc457"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Apr 03 11:03:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 11:03:31 2026 +0800"
      },
      "message": "build(deps): bump lodash from 4.17.21 to 4.18.1 in /admin/web (#904)\n\nBumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.18.1.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n  dependency-version: 4.18.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4eea345eed0fcd4ef69ce9811305164f138fc457",
      "tree": "e3be1924319965d256fcade232e577cf670318a5",
      "parents": [
        "45d231332095cabcf7ced41362c49924300e3438"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Mar 26 13:16:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 13:16:20 2026 +0800"
      },
      "message": "build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /admin/web (#899)\n\nBumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)\n\n---\nupdated-dependencies:\n- dependency-name: picomatch\n  dependency-version: 2.3.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "45d231332095cabcf7ced41362c49924300e3438",
      "tree": "1f5b5939a25c0dd743f7efcf3fcf9c6eaa8f1711",
      "parents": [
        "1b96e77db2b940661e8a3c4547792eab68c48c62"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Mar 26 03:00:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 03:00:47 2026 +0800"
      },
      "message": "build(deps): bump github.com/buger/jsonparser in /tools/benchmark (#898)\n\nBumps [github.com/buger/jsonparser](https://github.com/buger/jsonparser) from 1.1.1 to 1.1.2.\n- [Release notes](https://github.com/buger/jsonparser/releases)\n- [Commits](https://github.com/buger/jsonparser/compare/v1.1.1...v1.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/buger/jsonparser\n  dependency-version: 1.1.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1b96e77db2b940661e8a3c4547792eab68c48c62",
      "tree": "7789a3fb9c623cc347eea9c8dfd8c124286889c1",
      "parents": [
        "5257003f130a6188d82952677238f9816d480a7a"
      ],
      "author": {
        "name": "linmao",
        "email": "lmtian808@gmail.com",
        "time": "Wed Mar 25 20:03:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 20:03:41 2026 +0800"
      },
      "message": "feat(auth/saml): add SAML authentication filter (#893)\n\n* feat(auth/saml): add initial SAML auth filter scaffold\n\n* feat(auth/saml): implement core SAML authentication logic\n\n* test(auth/saml): add unit tests for SAML filter\n\n* fix(auth/saml): address code review findings\n\n  - Distinguish ErrNoSession from other session errors in Decode()\n  - DeepCopy config in PrepareFilterChain to avoid pointer sharing\n  - Strip client-supplied SAML-controlled headers to prevent spoofing\n  - Set CookieSameSite for cross-site ACS POST compatibility\n  - Fix gofmt formatting in config_test.go\n\n* docs(auth/saml): add SAML filter user documentation\n\n* chore: revert .gitignore to upstream state\n\n* style: format plugin registry\n\n* refactor(auth/saml): reduce Apply complexity\n\n* style(auth/saml): format imports with imports-formatter\n\n* docs(auth/saml): add Chinese user guide"
    },
    {
      "commit": "5257003f130a6188d82952677238f9816d480a7a",
      "tree": "daa13e0dc5cea036cfd5a793fc1d9bdab99aafff",
      "parents": [
        "ea927c124c2fc2e274a76aaa40790655937fb101"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Mar 09 13:39:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 13:39:33 2026 +0800"
      },
      "message": "build(deps): bump go.opentelemetry.io/otel/sdk from 1.21.0 to 1.40.0 (#890)\n\nBumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.21.0 to 1.40.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.21.0...v1.40.0)\n\n---\nupdated-dependencies:\n- dependency-name: go.opentelemetry.io/otel/sdk\n  dependency-version: 1.40.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ea927c124c2fc2e274a76aaa40790655937fb101",
      "tree": "b655f7954f255c6255fe3b83ded945e536467a21",
      "parents": [
        "9bf04fa09ac3bda2aae215aa170ebe04276114c3"
      ],
      "author": {
        "name": "陈乐樂",
        "email": "1239498998@qq.com",
        "time": "Mon Mar 09 11:20:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 11:20:14 2026 +0800"
      },
      "message": "feat: Add KVCache offload funtion in PIXIU gateway (#878)\n\n* feat: KV Cache\n\n* fix: fix some problems\n\n* feat: add KVCache feats\n\n* feat: v2\n\n* feat: v2\n\n* chore: ignore .worktrees\n\n* fix: fix some bugs\n\n* feat: v3\n\n* feat: v4\n\n* feat: fix some problems\n\n* fix: delete some unuesd gomod\n\n* fix: fix some problems\n\n* fix: fix some problems\n\n* add apache lisences\n\n* fix: fix some problems\n\n* fix: add unit test and fix some problems\n\n* fix: delete some unused code\n\n* fix: add docs\n\n* feat: add some new features"
    },
    {
      "commit": "9bf04fa09ac3bda2aae215aa170ebe04276114c3",
      "tree": "9e66de3796cb47ea140f357965d8894b1e40fb3f",
      "parents": [
        "8fe7b26841f01db0941b9d7976cc7b05cf80ed70"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Mar 06 04:16:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 06 04:16:37 2026 +0800"
      },
      "message": "build(deps): bump go.opentelemetry.io/otel/sdk in /controllers (#887)\n\nBumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.37.0 to 1.40.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...v1.40.0)\n\n---\nupdated-dependencies:\n- dependency-name: go.opentelemetry.io/otel/sdk\n  dependency-version: 1.40.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8fe7b26841f01db0941b9d7976cc7b05cf80ed70",
      "tree": "e81d694070d13488ff848f66ad8b60cb578dc0dc",
      "parents": [
        "7e88d1dbcc83cdb500de2ceb1e303daad8795d3e"
      ],
      "author": {
        "name": "nanjiek",
        "email": "127271430+nanjiek@users.noreply.github.com",
        "time": "Mon Mar 02 11:19:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 11:19:50 2026 +0800"
      },
      "message": "Admin opa backend (#877)\n\n* add the OPA on the admin without readme\n\n* fmt\n\n* add the description of change in readme\n\n* remove the log\n\n* fix the issue\n\n* fix the issue\n\n* delete the log and improve the yml of docker\n\n* remove the redundent -\n\n* add the newLine\n\n* fix(admin): honor OPA request timeout with context and add 30s fallback"
    },
    {
      "commit": "7e88d1dbcc83cdb500de2ceb1e303daad8795d3e",
      "tree": "427c885c6310cde36fb41eb9781c10bcf9cf575f",
      "parents": [
        "ddd85e019ff332ce2abb6f45f4def8008cacc0de"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Mar 01 00:44:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 01 00:44:25 2026 +0800"
      },
      "message": "build(deps): bump minimatch from 3.1.2 to 3.1.5 in /admin/web (#883)\n\nBumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n  dependency-version: 3.1.5\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ddd85e019ff332ce2abb6f45f4def8008cacc0de",
      "tree": "07b36ce6f162391cf8d0885e09dfe7c99b8b888f",
      "parents": [
        "1f93d8c9bf4515732421b23dbb33afb4a736e4a8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Feb 20 15:09:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 15:09:14 2026 +0800"
      },
      "message": "build(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 (#882)\n\nBumps [filippo.io/edwards25519](https://github.com/FiloSottile/edwards25519) from 1.1.0 to 1.1.1.\n- [Commits](https://github.com/FiloSottile/edwards25519/compare/v1.1.0...v1.1.1)\n\n---\nupdated-dependencies:\n- dependency-name: filippo.io/edwards25519\n  dependency-version: 1.1.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1f93d8c9bf4515732421b23dbb33afb4a736e4a8",
      "tree": "7f8cc4f3657d200330026c8762c3232b810a1377",
      "parents": [
        "0dc820ed3c344450140e6b241454b1a8e60bd32b"
      ],
      "author": {
        "name": "LEI-LEI",
        "email": "59425000+LEILEI0628@users.noreply.github.com",
        "time": "Fri Feb 13 10:23:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 10:23:07 2026 +0800"
      },
      "message": "Fixes issue #869 where circuit breaker never opens despite backend errors. (#876)\n\n* fix: implement feedback loop for circuit breaker state transitions (#869)\n\nFixes issue #869 where circuit breaker never opens despite backend errors.\n\nRoot Cause:\n- entry.Exit() was called in Decode phase before backend response\n- Missing error reporting to Sentinel state machine\n\nSolution:\n- Store Sentinel entry in HttpContext instead of immediate Exit()\n- Implement Encode phase to check response status and report errors\n- Entry-Exit now brackets complete request lifecycle for accurate stats\n\nChanges:\n- Modified Decode to store entry in ctx.Params\n- Added Encode to call entry.SetError() for 5xx responses\n- Ensures proper latency and error tracking\n\nTesting:\n- Added comprehensive test suite with 7 test cases\n- All tests pass including error ratio and slow request scenarios\n\nFixes #869\n\nCo-Authored-By: LEI-LEI \u003cLEILEI20010628@gmail.com\u003e\n\n* fix: implement feedback loop for circuit breaker state transitions (#869)\n\nFixes issue #869 where circuit breaker never opens despite backend errors.\n\nChanges:\n- Formatted imports following Go conventions\n\nTesting:\n- Added comprehensive test suite with 7 test cases\n- All tests pass including error ratio and slow request scenarios\n\nFixes #869\n\nCo-Authored-By: LEI-LEI \u003cLEILEI20010628@gmail.com\u003e\n\n* Formatted imports\n\n* fix: enhance circuit breaker error messages and add test coverage (#869)\n- Add detailed error context (HTTP status code, method, URL)\n- Add tests for circuit breaker triggered and invalid entry scenarios\n- Align logging style with project conventions\n\n* refactor: move ContextKeySentinelEntry to common constant package (#869)\n\n---------\n\nCo-authored-by: yaolei_cao \u003cyaolei_cao@intsig.net\u003e\nCo-authored-by: LEI-LEI \u003cLEILEI20010628@gmail.com\u003e"
    },
    {
      "commit": "0dc820ed3c344450140e6b241454b1a8e60bd32b",
      "tree": "b34fe6797895b82a728800998eebd4dde31dfd74",
      "parents": [
        "1af727755ede2e8e8546fd1474534341e13a887b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Feb 12 09:27:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 12 09:27:53 2026 +0800"
      },
      "message": "build(deps): bump axios from 1.12.0 to 1.13.5 in /admin/web (#880)\n\nBumps [axios](https://github.com/axios/axios) from 1.12.0 to 1.13.5.\n- [Release notes](https://github.com/axios/axios/releases)\n- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)\n- [Commits](https://github.com/axios/axios/compare/v1.12.0...v1.13.5)\n\n---\nupdated-dependencies:\n- dependency-name: axios\n  dependency-version: 1.13.5\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1af727755ede2e8e8546fd1474534341e13a887b",
      "tree": "6c7c9fe982f8399f36eb823613fa5b16bfa40613",
      "parents": [
        "7d702130f97bed1480e3cb086d933877cc7d009a"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Mon Feb 09 21:33:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 21:33:23 2026 +0800"
      },
      "message": "Update pixiu docker image (#879)\n\n* Update pixiu docker image\n\n* fix ci\n\n* fix ci"
    },
    {
      "commit": "7d702130f97bed1480e3cb086d933877cc7d009a",
      "tree": "7c9ebe68d6980c0c23745c4ab5e08d35ef294d90",
      "parents": [
        "b5901aee02e4db209fbdeaf51bb955f30690edc5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jan 28 09:59:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 28 09:59:05 2026 +0800"
      },
      "message": "build(deps): bump github.com/quic-go/quic-go in /tools/benchmark (#875)\n\nBumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.52.0 to 0.57.0.\n- [Release notes](https://github.com/quic-go/quic-go/releases)\n- [Commits](https://github.com/quic-go/quic-go/compare/v0.52.0...v0.57.0)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/quic-go/quic-go\n  dependency-version: 0.57.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b5901aee02e4db209fbdeaf51bb955f30690edc5",
      "tree": "b03fd9cb37ed7ae2b2d03d85e9a75825e44abc19",
      "parents": [
        "2c9ad41c2672e68ce3ebdb2c5a27d6ab02fafab0"
      ],
      "author": {
        "name": "aias00",
        "email": "liuhongyu@apache.org",
        "time": "Tue Jan 27 16:15:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 16:15:57 2026 +0800"
      },
      "message": "Chore: upgrade dependencies jwt (#874)\n\n* chore: upgrade deprecated jwt-go to golang-jwt/jwt/v4\n\n* chore: update port mappings in docker-compose.yml\n\nSigned-off-by: liuhy \u003cliuhongyu@apache.org\u003e\n\n* chore: reorder jwt import statements in multiple files\n\n---------\n\nSigned-off-by: liuhy \u003cliuhongyu@apache.org\u003e"
    },
    {
      "commit": "2c9ad41c2672e68ce3ebdb2c5a27d6ab02fafab0",
      "tree": "e97bd2fd43be6e5190cf2caf868aecc18ba25adc",
      "parents": [
        "37642626fddb4d55f501af25ff77b35b6048da75"
      ],
      "author": {
        "name": "Tsukikage",
        "email": "65526564+Tsukikage7@users.noreply.github.com",
        "time": "Tue Jan 27 12:21:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 12:21:25 2026 +0800"
      },
      "message": "feat(benchmark): unify IDL definitions and modernize to dubbo-go v3 API (#856)\n\n- Consolidate scattered proto definitions into unified api/ directory\n- Create shared benchmark.proto with User service definitions\n- Add separate grpcstub/ for gRPC-specific generated code\n- Migrate triple server/client to dubbo-go v3 programmatic API\n- Remove legacy dubbogo.yml configuration files\n- Update README with markdown tables and performance comparison\n- Upgrade Go version to 1.25.0\n- Add GetUsers and GetUserByName tests for triple protocol\n- Fix import formatting across test files"
    },
    {
      "commit": "37642626fddb4d55f501af25ff77b35b6048da75",
      "tree": "078b77901168946dcd6a6a4a116bf38923bf1509",
      "parents": [
        "f5050e6a6bcb9147d9f0e0117bfd38ec8502b41d"
      ],
      "author": {
        "name": "aias00",
        "email": "liuhongyu@apache.org",
        "time": "Tue Jan 27 10:57:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 10:57:04 2026 +0800"
      },
      "message": "fix: Fixed ARM64 Build Support (#872)\n\n* Fixed ARM64 Build Support:\n    - Modified Dockerfile to remove the hardcoded GOARCH\u003damd64 setting.\n    - This allows the build process to respect the host\u0027s native architecture (ARM64 on Apple Silicon), resolving the unrecognized command-line option \u0027-m64\u0027 error\n\nSigned-off-by: liuhy \u003cliuhongyu@apache.org\u003e\n\n* fix: update goversion to use a simple version string\n\n---------\n\nSigned-off-by: liuhy \u003cliuhongyu@apache.org\u003e"
    },
    {
      "commit": "f5050e6a6bcb9147d9f0e0117bfd38ec8502b41d",
      "tree": "0fe66045267b76f55c442457e6f8be7f32e85311",
      "parents": [
        "9206cb2c488e044c0580aa395819f7333a09e190"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Sat Jan 24 22:38:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 24 22:38:32 2026 +0800"
      },
      "message": "Remove samples and migrate to the target repository (#870)\n\n"
    },
    {
      "commit": "9206cb2c488e044c0580aa395819f7333a09e190",
      "tree": "64355d25fa216d1b2b5fd2afd10c54ca7615e21a",
      "parents": [
        "eefe6c6bf5218b62888b9eb81ab20542e2a24730"
      ],
      "author": {
        "name": "aias00",
        "email": "liuhongyu@apache.org",
        "time": "Fri Jan 23 19:02:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 23 19:02:44 2026 +0800"
      },
      "message": "feat: arm64 support (#867)\n\n* chore: ignore .worktrees directory\n\n* refactor: replace supermonkey with gomonkey in test files\n\nSigned-off-by: liuhy \u003cliuhongyu@apache.org\u003e\n\n---------\n\nSigned-off-by: liuhy \u003cliuhongyu@apache.org\u003e"
    },
    {
      "commit": "eefe6c6bf5218b62888b9eb81ab20542e2a24730",
      "tree": "919a460dc1a6aabd2b6abdd403ea1a668331ec83",
      "parents": [
        "5ac916297109daabdad749c0f53530788e64bbef"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Jan 17 22:17:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 17 22:17:19 2026 +0800"
      },
      "message": "build(deps): bump tar and fsevents in /admin/web (#865)\n\nRemoves [tar](https://github.com/isaacs/node-tar). It\u0027s no longer used after updating ancestor dependency [fsevents](https://github.com/fsevents/fsevents). These dependencies need to be updated together.\n\n\nRemoves `tar`\n\nUpdates `fsevents` from 1.2.7 to 1.2.13\n- [Release notes](https://github.com/fsevents/fsevents/releases)\n- [Commits](https://github.com/fsevents/fsevents/compare/v1.2.7...v1.2.13)\n\n---\nupdated-dependencies:\n- dependency-name: tar\n  dependency-version: \n  dependency-type: indirect\n- dependency-name: fsevents\n  dependency-version: 1.2.13\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "5ac916297109daabdad749c0f53530788e64bbef",
      "tree": "6b7e39c24fcf6aa3de3f8706c1ef1236d9f4a50b",
      "parents": [
        "4d9a42295d4133e6c551aadaaceec8a88a4c51c9"
      ],
      "author": {
        "name": "Tsukikage",
        "email": "65526564+Tsukikage7@users.noreply.github.com",
        "time": "Fri Jan 09 21:56:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 21:56:13 2026 +0800"
      },
      "message": "feat(grpc-proxy): add gRPC Server Reflection support (#821) (#849)\n\nAdd gRPC reflection mode to enable content-aware proxying:\n- Support three modes: passthrough, reflection, hybrid\n- Add descriptor caching with TTL and LRU eviction\n- Add dynamic codec for message inspection\n- Fix unary call deadlock by detecting stream type"
    },
    {
      "commit": "4d9a42295d4133e6c551aadaaceec8a88a4c51c9",
      "tree": "182420073146430949135fda6eea90d4fc0e6670",
      "parents": [
        "d62fdff5634e9b700800465eaeefbd5dc8470c3f"
      ],
      "author": {
        "name": "Tsukikage",
        "email": "65526564+Tsukikage7@users.noreply.github.com",
        "time": "Sun Dec 28 22:34:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 28 22:34:06 2025 +0800"
      },
      "message": "feat(controllers): improve gateway controller configuration and code quality (#848)\n\n- Make Image and ImagePullPolicy configurable instead of hardcoded\n    - Add GatewayConfig struct with default values\n    - Default image: mfordjody/pixiugateway:debug\n    - Default pull policy: Always\n\n  - Add warning log for unsupported filter types in mergeFilterConfig\n\n  - Refactor duplicate policy loading loops into shared loadClusterPolicyByName\n\n  - Add unit tests for config and utils_policy packages\n\n  Resolves PR #827 and #839 review comments"
    },
    {
      "commit": "d62fdff5634e9b700800465eaeefbd5dc8470c3f",
      "tree": "58d2974f28b77f1af66698af535552962a39540d",
      "parents": [
        "b4e19e31f1e78bd62e9974e3d69db83d8776c265"
      ],
      "author": {
        "name": "陈乐樂",
        "email": "1239498998@qq.com",
        "time": "Sun Dec 28 22:33:28 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 28 22:33:28 2025 +0800"
      },
      "message": "feat: Upgrade dubbo go to v3.3.1 (#853)\n\n* feat:update dubbo-go to latest version #828\n\n* chore: tidy go.sum after upgrade\n\n* feat:update dubbo-go to latest version #828\n\n* fix\n\n* fix: format imports per formatter\n\n* test: re-enable metric push and SDK duplicate name cases\n\n* fix import format\n\n* chore: normalize imports\n\n* style: split imports into std/third-party/local groups\n\n* fix: format imports according to project style\n\n* fix: format imports according to project style\n\n* fix CI problem in nacos registry\n\n* fix\n\n* increase the waiting time in nacos registry\n\n* fix : delete nacos files changes\n\n* feat: upgrade dubbo-go to latest\n\n* feat: upgrade dubbo-go version to v3.3.1"
    },
    {
      "commit": "b4e19e31f1e78bd62e9974e3d69db83d8776c265",
      "tree": "f57295b938ea9312cb150f3991902d9a83006afb",
      "parents": [
        "e9a3d17179a278084f2344ca900262eb4d297f5b"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Tue Dec 23 10:03:08 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 23 10:03:08 2025 +0800"
      },
      "message": "release: prepare v1.1.0 — update CHANGELOG (#850)\n\n* CHANGELOG_and_UPDATE_VERSION"
    },
    {
      "commit": "e9a3d17179a278084f2344ca900262eb4d297f5b",
      "tree": "91b6104e19818f81472fea2c350fe96733b4633e",
      "parents": [
        "03a9c5a4bcf7844e65d2dfa94e66e9b0fa70501c"
      ],
      "author": {
        "name": "EVERFID",
        "email": "166227111+everfid-ever@users.noreply.github.com",
        "time": "Tue Dec 23 09:41:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 23 09:41:57 2025 +0800"
      },
      "message": "feat: migrate dubbo-go-pixiu/pixiu-api to this repo (#841)\n\n* feat: migrate dubbo-go-pixiu/pixiu-api to this repo"
    },
    {
      "commit": "03a9c5a4bcf7844e65d2dfa94e66e9b0fa70501c",
      "tree": "7c94c39ec1406033556154406d68283655c16570",
      "parents": [
        "e4b944f2344b4e5c78129bc20034bf29c6780ad1"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Mon Dec 22 07:50:15 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 22 07:50:15 2025 +0800"
      },
      "message": "release: prepare v1.1.0 — update CHANGELOG \u0026 version bump (#837)\n\n* CHANGELOG_and_UPDATE_VERSION\n"
    },
    {
      "commit": "e4b944f2344b4e5c78129bc20034bf29c6780ad1",
      "tree": "658840a11e1240f317ea379a58dc12462ab8ead9",
      "parents": [
        "d1ea1efe3305128860e90f2cb57e1c9d6d9b42d9"
      ],
      "author": {
        "name": "陈乐樂",
        "email": "1239498998@qq.com",
        "time": "Sat Dec 20 11:44:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 20 11:44:53 2025 +0800"
      },
      "message": "feat: upgrade dubbo-go to latest commit (#845)\n\n* feat:update dubbo-go to latest version #828\n\n* chore: tidy go.sum after upgrade\n\n* feat:update dubbo-go to latest version #828\n\n* fix\n\n* fix: format imports per formatter\n\n* test: re-enable metric push and SDK duplicate name cases\n\n* fix import format\n\n* chore: normalize imports\n\n* style: split imports into std/third-party/local groups\n\n* fix: format imports according to project style\n\n* fix: format imports according to project style\n\n* fix CI problem in nacos registry\n\n* fix\n\n* increase the waiting time in nacos registry\n\n* fix : delete nacos files changes\n\n* feat: upgrade dubbo-go to latest"
    },
    {
      "commit": "d1ea1efe3305128860e90f2cb57e1c9d6d9b42d9",
      "tree": "4033d37a9cfc1915e2d432898ad6a0a7cc774117",
      "parents": [
        "0170d46ded43da92b1ed094cd4693b7f510d40bb"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Dec 18 12:15:00 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 12:15:00 2025 +0800"
      },
      "message": "build(deps): bump github.com/quic-go/quic-go from 0.52.0 to 0.57.0 (#844)\n\nBumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.52.0 to 0.57.0.\n- [Release notes](https://github.com/quic-go/quic-go/releases)\n- [Commits](https://github.com/quic-go/quic-go/compare/v0.52.0...v0.57.0)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/quic-go/quic-go\n  dependency-version: 0.57.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0170d46ded43da92b1ed094cd4693b7f510d40bb",
      "tree": "857b5738676b5b5b1f6e0cbc3abb5453a6c4ae85",
      "parents": [
        "bbe369bbfba29bc8756503e4ee1b3a84675c5b7d"
      ],
      "author": {
        "name": "Sirui Huang",
        "email": "127271430+nanjiek@users.noreply.github.com",
        "time": "Thu Dec 18 11:54:22 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 11:54:22 2025 +0800"
      },
      "message": "Feature/support opa server (#843)\n\n* support http filter plugins (Open Policy Agent)\n---------\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cm134679102365478@163.com\u003e"
    },
    {
      "commit": "bbe369bbfba29bc8756503e4ee1b3a84675c5b7d",
      "tree": "203504da56cdba864091e219f634c4462174b8f7",
      "parents": [
        "368b07063b25f9d44536ce4cc7f16b72d60029b9"
      ],
      "author": {
        "name": "陈乐樂",
        "email": "1239498998@qq.com",
        "time": "Thu Dec 18 11:53:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 11:53:24 2025 +0800"
      },
      "message": "feat:update dubbo-go to latest version #828 (#833)\n\n* feat:update dubbo-go to latest version #828\n\n* chore: tidy go.sum after upgrade\n\n* feat:update dubbo-go to latest version #828\n\n* fix\n\n* fix: format imports per formatter\n\n* test: re-enable metric push and SDK duplicate name cases\n\n* fix import format\n\n* chore: normalize imports\n\n* style: split imports into std/third-party/local groups\n\n* fix: format imports according to project style\n\n* fix: format imports according to project style\n\n* fix CI problem in nacos registry\n\n* fix\n\n* increase the waiting time in nacos registry\n\n* fix : delete nacos files changes"
    },
    {
      "commit": "368b07063b25f9d44536ce4cc7f16b72d60029b9",
      "tree": "b550392b26a3f5033df8ae414fdf852ab7621112",
      "parents": [
        "6fb3adfa56e20e75182d7035d2098c6f5b66c232"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Wed Dec 17 18:06:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 18:06:25 2025 +0800"
      },
      "message": "Feature/support opa server (#822)\n\n* Feature/support opa server (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/43)\n\n* support http filter plugins (Open Policy Agent)\n\n* fmt\n\n* Streamlined judgment\n\n* accept the advices\n\n* add wrong example\n\n* style: run go fmt \u0026\u0026 imports-formatter\n\n* fix the bug of go.mod\n\n* change the key of opa\n\n* update the true sum\n\n* Add OPA DOC\n\n* change the opa.docs for Chinese and English version\n\n* remove docs/sample\n\n* roll back\n\n* modify the README\n\n* modify\n\n* unify the errorcode\n\n* add the test of context\n\n* simplify\n\n* use errors.new to replace fmt.Errof in some cases\n\n* fix api_config\n\n* fix call\n\n* fix jwt\n\n* change interface{} to any\n\n* change all interface{} to any\n\n* fix the logic error in filter\\prometheus\\metric\n\n* add judgment for client error\n\n* reliable timeout detection over substring matching\n\n* add mock test\n\n* Remove send and sendError to avoid confusion\n\n* Unify  the errorcode (#14)\n\n* support http filter plugins (Open Policy Agent)\n\n* fmt\n\n* Streamlined judgment\n\n* accept the advices\n\n* add wrong example\n\n* style: run go fmt \u0026\u0026 imports-formatter\n\n* fix the bug of go.mod\n\n* change the key of opa\n\n* update the true sum\n\n* Add OPA DOC\n\n* change the opa.docs for Chinese and English version\n\n* remove docs/sample\n\n* roll back\n\n* modify the README\n\n* modify\n\n* unify the errorcode\n\n* add the test of context\n\n* simplify\n\n* use errors.new to replace fmt.Errof in some cases\n\n* fix api_config\n\n* fix call\n\n* fix jwt\n\n* change interface{} to any\n\n* change all interface{} to any\n\n* fix the logic error in filter\\prometheus\\metric\n\n* add judgment for client error\n\n* reliable timeout detection over substring matching\n\n* add mock test\n\n* Remove send and sendError to avoid confusion\n\n---------\n\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\n\n* the first version of metricreport\n\n* simplify the metricreporter\n\n* add docs\n\n* chore: fix gofmt formatting issues\n\n* delete nots\n\n* return the change to improve consistent\n\n* upadate the docs\n\n* fix\n\n* improve the use of lock in content\n\n* unify the metric of pull and push\n\n* fix the bug in integration test, prepare for replace\n\n* replace metric, rename the metricrepoter to metric\n\n* avoid the Factory\u0027s config may be updated by FilterManage\n\n* update the docs and movew the default to constant\n\n* supprot opa\n\n* Update pkg/common/constant/filter.go\n\n* feat: replace the metric filter by a unified metric filter (dubbo-go-pixiu/dubbo-go-pixiu/pull/15)\n\n* support http filter plugins (Open Policy Agent)\n\n* fmt\n\n* Streamlined judgment\n\n* accept the advices\n\n* add wrong example\n\n* style: run go fmt \u0026\u0026 imports-formatter\n\n* fix the bug of go.mod\n\n* change the key of opa\n\n* update the true sum\n\n* Add OPA DOC\n\n* change the opa.docs for Chinese and English version\n\n* remove docs/sample\n\n* roll back\n\n* modify the README\n\n* modify\n\n* unify the errorcode\n\n* add the test of context\n\n* simplify\n\n* use errors.new to replace fmt.Errof in some cases\n\n* fix api_config\n\n* fix call\n\n* fix jwt\n\n* change interface{} to any\n\n* change all interface{} to any\n\n* fix the logic error in filter\\prometheus\\metric\n\n* add judgment for client error\n\n* reliable timeout detection over substring matching\n\n* add mock test\n\n* Remove send and sendError to avoid confusion\n\n* Unify  the errorcode (#14)\n\n* support http filter plugins (Open Policy Agent)\n\n* fmt\n\n* Streamlined judgment\n\n* accept the advices\n\n* add wrong example\n\n* style: run go fmt \u0026\u0026 imports-formatter\n\n* fix the bug of go.mod\n\n* change the key of opa\n\n* update the true sum\n\n* Add OPA DOC\n\n* change the opa.docs for Chinese and English version\n\n* remove docs/sample\n\n* roll back\n\n* modify the README\n\n* modify\n\n* unify the errorcode\n\n* add the test of context\n\n* simplify\n\n* use errors.new to replace fmt.Errof in some cases\n\n* fix api_config\n\n* fix call\n\n* fix jwt\n\n* change interface{} to any\n\n* change all interface{} to any\n\n* fix the logic error in filter\\prometheus\\metric\n\n* add judgment for client error\n\n* reliable timeout detection over substring matching\n\n* add mock test\n\n* Remove send and sendError to avoid confusion\n\n---------\n\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\n\n* the first version of metricreport\n\n* simplify the metricreporter\n\n* add docs\n\n* chore: fix gofmt formatting issues\n\n* delete nots\n\n* return the change to improve consistent\n\n* upadate the docs\n\n* fix\n\n* improve the use of lock in content\n\n* unify the metric of pull and push\n\n* fix the bug in integration test, prepare for replace\n\n* replace metric, rename the metricrepoter to metric\n\n* avoid the Factory\u0027s config may be updated by FilterManage\n\n* update the docs and movew the default to constant\n\n* Update pkg/common/constant/filter.go\n\n---------\n\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e\n\n* fix the ci of constant/filter\n\n* fix the ci of constant/filter\n\n* replace the old defaultName\n\n* merge opa\n\n* fmt\n\n* fix(filter): deep copy complex filter configs (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/38)\n\nSome Pixiu filters have complex configurations (maps, slices, nested structs). Passing the factory.cfg pointer directly can cause in-flight requests to read inconsistent or modified configs when FilterManager.ReLoad() updates factory instances at runtime, violating the HttpFilterFactory interface contract.\n\nThis commit implements DeepCopy() for complex filter configs and updates PrepareFilterChain to use it. Each filter instance now has its own independent config, preventing runtime inconsistencies.\n\nAffected files:\n- pkg/filter/auth/jwt/jwt.go\n- pkg/filter/authority/authority.go\n- pkg/filter/authority/config.go\n- pkg/filter/cors/cors.go\n- pkg/filter/csrf/csrf.go\n- pkg/filter/event/event.go\n- pkg/filter/failinject/filter.go\n- pkg/filter/http/grpcproxy/grpc.go\n- pkg/filter/mcp/mcpserver/filter.go\n- pkg/filter/sentinel/circuitbreaker/circuit_breaker.go\n- pkg/filter/sentinel/config.go\n- pkg/filter/sentinel/ratelimit/rate_limit.go\n- pkg/model/mcpserver.go\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e\n\n* fix(filter): shallow copy factory config to avoid pointer sharing (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/35)\n\nShallow copy the factory configuration in filters that previously passed\nfactory pointers directly. This ensures compliance with the HttpFilterFactory\ninterface contract and avoids accidental sharing of config between filters\nand the factory.\n\nAffected filters (shallow copy sufficient):\n- opa/opa.go\n- llm/tokenizer/tokenizer.go\n- http/loadbalancer/loadbalancer.go\n- host/host.go\n- header/header.go\n- prometheus/metric\n- accesslog/access_log.go\n\nNote: Although prometheus/metric.go uses a nested struct\n(MetricCollectConfiguration -\u003e MetricCollectRule), all fields are value types\n(string, bool, int). Therefore, shallow copy is sufficient; deep copy is not\nrequired.\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e\n\n* change the note\n\n---------\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e\nCo-authored-by: The_INK \u003c98370028+Aetherance@users.noreply.github.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e\n\n* Update pkg/filter/opa/opa.go\n\n* Apply suggestion from @Alanxtl\n\n---------\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Sirui Huang \u003c127271430+nanjiek@users.noreply.github.com\u003e\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e\nCo-authored-by: The_INK \u003c98370028+Aetherance@users.noreply.github.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Xuetao Li \u003cm134679102365478@163.com\u003e"
    },
    {
      "commit": "6fb3adfa56e20e75182d7035d2098c6f5b66c232",
      "tree": "d336049b89f256b63e0de4f27fe6d1c7085b38d0",
      "parents": [
        "ec04b79511bdcb2713300b321ab6228161257163"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Sun Dec 14 21:48:13 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 14 21:48:13 2025 +0800"
      },
      "message": "feat(ingress): Add application gateway resource policy (#839)\n\noptimization code\n\nfix typo code"
    },
    {
      "commit": "ec04b79511bdcb2713300b321ab6228161257163",
      "tree": "00e919450d1dfbfd3a5f86b4e5e24714f58753a6",
      "parents": [
        "b06d8d6cac7cd04034d0735f0f270014b11ba888"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Mon Dec 08 19:27:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 19:27:06 2025 +0800"
      },
      "message": "chore: update readme (#831)\n\n* update readme\n\n* update link"
    },
    {
      "commit": "b06d8d6cac7cd04034d0735f0f270014b11ba888",
      "tree": "88cd964637fb93d5817538f857d7a7b1a60a3565",
      "parents": [
        "c618a5acdbad09397d342e7f95f1188865bc951f"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Sun Dec 07 20:46:33 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 07 20:46:33 2025 +0800"
      },
      "message": "feat(ingress): Refactor ingress into a more modern application gateway (#827)\n\nfix licenserc header check"
    },
    {
      "commit": "c618a5acdbad09397d342e7f95f1188865bc951f",
      "tree": "211d01bfc34c12042c65c0a86f02e4578a06ffa4",
      "parents": [
        "51050091313ccde9603a39f6dc069b4513bd8bd4"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Sun Dec 07 20:39:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 07 20:39:58 2025 +0800"
      },
      "message": "feat: update route mechanism (#777)\n\n* feat(router): enhance routing capabilities with snapshot management and header matching"
    },
    {
      "commit": "51050091313ccde9603a39f6dc069b4513bd8bd4",
      "tree": "7aaead67712a4b0f92687a4d295a3c131e07c96b",
      "parents": [
        "98293ec41adfec6406161511d5bd70ee070f52ea"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Fri Nov 28 10:28:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 28 10:28:21 2025 +0800"
      },
      "message": "fix(filter): use shallow copy of factory config for filters violating interface to avoid pointer sharing (#815)\n\n* fix(filter): deep copy complex filter configs (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/38)\n\nSome Pixiu filters have complex configurations (maps, slices, nested structs). Passing the factory.cfg pointer directly can cause in-flight requests to read inconsistent or modified configs when FilterManager.ReLoad() updates factory instances at runtime, violating the HttpFilterFactory interface contract.\n\nThis commit implements DeepCopy() for complex filter configs and updates PrepareFilterChain to use it. Each filter instance now has its own independent config, preventing runtime inconsistencies.\n\nAffected files:\n- pkg/filter/auth/jwt/jwt.go\n- pkg/filter/authority/authority.go\n- pkg/filter/authority/config.go\n- pkg/filter/cors/cors.go\n- pkg/filter/csrf/csrf.go\n- pkg/filter/event/event.go\n- pkg/filter/failinject/filter.go\n- pkg/filter/http/grpcproxy/grpc.go\n- pkg/filter/mcp/mcpserver/filter.go\n- pkg/filter/sentinel/circuitbreaker/circuit_breaker.go\n- pkg/filter/sentinel/config.go\n- pkg/filter/sentinel/ratelimit/rate_limit.go\n- pkg/model/mcpserver.go\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e\n\n* fix(filter): shallow copy factory config to avoid pointer sharing (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/35)\n\nShallow copy the factory configuration in filters that previously passed\nfactory pointers directly. This ensures compliance with the HttpFilterFactory\ninterface contract and avoids accidental sharing of config between filters\nand the factory.\n\nAffected filters (shallow copy sufficient):\n- opa/opa.go\n- llm/tokenizer/tokenizer.go\n- http/loadbalancer/loadbalancer.go\n- host/host.go\n- header/header.go\n- prometheus/metric\n- accesslog/access_log.go\n\nNote: Although prometheus/metric.go uses a nested struct\n(MetricCollectConfiguration -\u003e MetricCollectRule), all fields are value types\n(string, bool, int). Therefore, shallow copy is sufficient; deep copy is not\nrequired.\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e\n\n---------\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: The_INK \u003c98370028+Aetherance@users.noreply.github.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e"
    },
    {
      "commit": "98293ec41adfec6406161511d5bd70ee070f52ea",
      "tree": "056a3d6d525aa193eaaa34dcfedf96c73f35d0d0",
      "parents": [
        "7b34df22b985931ad92690dca69bdefa81b02898"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Fri Nov 28 10:27:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 28 10:27:51 2025 +0800"
      },
      "message": "fix(filter): deep copy complex filter configs (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/38) (#814)\n\nSome Pixiu filters have complex configurations (maps, slices, nested structs). Passing the factory.cfg pointer directly can cause in-flight requests to read inconsistent or modified configs when FilterManager.ReLoad() updates factory instances at runtime, violating the HttpFilterFactory interface contract.\n\nThis commit implements DeepCopy() for complex filter configs and updates PrepareFilterChain to use it. Each filter instance now has its own independent config, preventing runtime inconsistencies.\n\nAffected files:\n- pkg/filter/auth/jwt/jwt.go\n- pkg/filter/authority/authority.go\n- pkg/filter/authority/config.go\n- pkg/filter/cors/cors.go\n- pkg/filter/csrf/csrf.go\n- pkg/filter/event/event.go\n- pkg/filter/failinject/filter.go\n- pkg/filter/http/grpcproxy/grpc.go\n- pkg/filter/mcp/mcpserver/filter.go\n- pkg/filter/sentinel/circuitbreaker/circuit_breaker.go\n- pkg/filter/sentinel/config.go\n- pkg/filter/sentinel/ratelimit/rate_limit.go\n- pkg/model/mcpserver.go\n\nSigned-off-by: Aetherance \u003cinkToAether@gmail.com\u003e\nCo-authored-by: The_INK \u003c98370028+Aetherance@users.noreply.github.com\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e"
    },
    {
      "commit": "7b34df22b985931ad92690dca69bdefa81b02898",
      "tree": "fdbe4a8866ca30e5babdfab16b011d23d861027a",
      "parents": [
        "2c20062df51eebad1aa1005bce0c3b4b9372b04e"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Fri Nov 28 10:26:09 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 28 10:26:09 2025 +0800"
      },
      "message": "fix(benchmark): improve performance tests and cleanup code (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/40) (#819)\n\n* fix(benchmark): improve performance tests and cleanup code\n\n* fix(benchmark): update benchmark results for dubbo and triple protocols\n\n* fix(benchmark): ensure response body is closed in benchmark tests\n\nCo-authored-by: Zerui Yang \u003czeruiyoung@gmail.com\u003e"
    },
    {
      "commit": "2c20062df51eebad1aa1005bce0c3b4b9372b04e",
      "tree": "3ceceee80b85e6f888c64e173904bf62e9fb1a2a",
      "parents": [
        "e0df6fbe9c3be39f05c2165770314864032d5d6e"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Wed Nov 26 11:01:34 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 26 11:01:34 2025 +0800"
      },
      "message": "Doc: update all docs of admin (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/33) (#817)\n\n* fix: add NOSONAR comment to checkout action in sync-to-upstream.yml\n\n* update all docs of admin\n\n* update all docs of admin\n\n* Update admin/controller/configInfo/configInfo.go\n\n---------\n\nCo-authored-by: Xuetao Li \u003cm134679102365478@163.com\u003e\nCo-authored-by: coderabbitai[bot] \u003c136622811+coderabbitai[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e0df6fbe9c3be39f05c2165770314864032d5d6e",
      "tree": "3dc054b530353ba3deb5c99e9cbce72e6d4cd89d",
      "parents": [
        "07d42ac4a99ea86579fc0b5c6c281a615299ed4c"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Sun Nov 23 20:29:05 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 23 20:29:05 2025 +0800"
      },
      "message": "feat(ingress): add support for new ingress controller (#792)\n\nfeat(ingress): add support for new ingress controller "
    },
    {
      "commit": "07d42ac4a99ea86579fc0b5c6c281a615299ed4c",
      "tree": "7e9077485e4d61da546075af51065b229c1872d5",
      "parents": [
        "9d03a6697a3a4e073033c165e864d90a00b2831c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Nov 18 12:48:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 18 12:48:31 2025 +0800"
      },
      "message": "build(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in /admin/web (#811)\n\nBumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n  dependency-version: 3.14.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9d03a6697a3a4e073033c165e864d90a00b2831c",
      "tree": "a374c7ffc024fab95f70894429ee491b841e5ed3",
      "parents": [
        "1cccb712f3f46dd0aea51f13dc0fc48247087ef0"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sun Nov 09 13:48:20 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 09 13:48:20 2025 +0800"
      },
      "message": "fix(filter): improve error handling by aggregating problems (https://github.com/dubbo-go-pixiu/dubbo-go-pixiu/pull/31) (#809)\n\n* fix(filter): improve error handling by aggregating problems during retries\n\n* fix(filter): improve error handling by aggregating problems during retries\n\nCo-authored-by: Xuetao Li \u003cm134679102365478@163.com\u003e"
    },
    {
      "commit": "1cccb712f3f46dd0aea51f13dc0fc48247087ef0",
      "tree": "a374c7ffc024fab95f70894429ee491b841e5ed3",
      "parents": [
        "96acac0ce3c16af5fdd0574fee003211771ca870"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sun Nov 09 13:36:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 09 13:36:55 2025 +0800"
      },
      "message": "feat(tools/benchmark): update dubbo-go dependency to v3.1.1 and enhance README (dubbo-go-pixiu/dubbo-go-pixiu/28) (#807)\n\n* feat: replace the metric filter by a unified metric filter (dubbo-go-pixiu/dubbo-go-pixiu/pull/15)\n\n* support http filter plugins (Open Policy Agent)\n\n---------\n\n\n\n\n* feat(tools/benchmark): update dubbo-go to v3.1.1 and improve README with usage \u0026 result examples\n\n* docs: remove Lua script section from README and add README_CN.md\n\n---------\n\nCo-authored-by: The_INK \u003c98370028+Aetherance@users.noreply.github.com\u003e\nCo-authored-by: Sirui Huang \u003c127271430+nanjiek@users.noreply.github.com\u003e\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e\nCo-authored-by: Aetherance \u003cinkToAether@gmail.com\u003e"
    },
    {
      "commit": "96acac0ce3c16af5fdd0574fee003211771ca870",
      "tree": "4611a062690808f341fd9b65ee1c9726b95c5c6f",
      "parents": [
        "5652e783127c263a8d0f05d9744f1c544c165ac0"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Sat Nov 08 13:51:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 08 13:51:58 2025 +0800"
      },
      "message": "feat(ai-gateway): add nacos LLM registry support (#746)\n\n* feat: add nacos LLM registry support\n\n# Conflicts:\n#\tpkg/model/llm.go\n#\tpkg/server/cluster_manager.go\n\n* feat: update doc\n\n* import-format\n\n* feat: add api_key field to endpoint metadata and update documentation\n\n* fix: add NOSONAR comment to checkout action in sync-to-upstream.yml"
    },
    {
      "commit": "5652e783127c263a8d0f05d9744f1c544c165ac0",
      "tree": "b3f81f5b251d767ec5408a115156c63cfc33ecc9",
      "parents": [
        "8311166153decd6b2aed08fffb754e08ed772a06"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sat Nov 08 13:50:28 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 08 13:50:28 2025 +0800"
      },
      "message": "feat: replace the metric filter by a unified metric filter (#799)\n\n* feat: replace the metric filter by a unified metric filter (dubbo-go-pixiu/dubbo-go-pixiu/pull/15)\n* fix the ci of constant/filter\n\n* fix the ci of constant/filter\n\n* replace the old defaultName\n\n---------\n\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e\n\n---------\n\nCo-authored-by: Sirui Huang \u003c127271430+nanjiek@users.noreply.github.com\u003e\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e"
    },
    {
      "commit": "8311166153decd6b2aed08fffb754e08ed772a06",
      "tree": "d15b8b272060476f2e4e7deb9c87ba9133d8d4c2",
      "parents": [
        "5dbb0abf2c6366a05811a2a81796a2c46f48ec5e"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Tue Nov 04 20:46:23 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 20:46:23 2025 +0800"
      },
      "message": "feat: enhance README.md (#23) (#794)\n\n* fix: add NOSONAR comment to checkout action in sync-to-upstream.yml\n\n* refactor: enhance README.md for clarity and emphasize AI Gateway features\n\n* docs: update README and README_CN to include additional projects in the Dubbo-Go-Pixiu ecosystem\n\n* docs: Update README files to include MCP server exposure and contribution workflow\n\n---------\n\nCo-authored-by: Xuetao Li \u003cxuetaoli@apache.org\u003e\nCo-authored-by: Young \u003czeruiyoung@gmail.com\u003e"
    },
    {
      "commit": "5dbb0abf2c6366a05811a2a81796a2c46f48ec5e",
      "tree": "0684b4c7bb29953743ec1115cbf8ad8de2321e26",
      "parents": [
        "8b9df28852a2b4d951056c75b8bed482d02da6da"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sun Nov 02 22:13:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 02 22:13:39 2025 +0800"
      },
      "message": "fix: Fix sync bot with Sonar  (#790)\n\n* fix: fix golangci-lint\n\n* fix: improve sync failure report for manual resolution\n\n* fix: correct comment syntax in sync-to-upstream.yml\n\n* fix: streamline PR body and sync failure report formatting\n\n* fix: enhance comment formatting in sync-to-upstream.yml\n\n* fix: add check to skip circular sync for Pull bot PRs\n\n* fix: correct Pull bot user identification and enhance PR body formatting\n\n* fix: improve formatting in sync-to-upstream.yml for PR body and comments\n\n* fix: add NOSONAR comment to checkout step in sync-to-upstream.yml\n\nCo-authored-by: Zerui Yang \u003czeruiyoung@gmail.com\u003e"
    },
    {
      "commit": "8b9df28852a2b4d951056c75b8bed482d02da6da",
      "tree": "dd9148ec2f693d23bdc54fe928d907c588e72d20",
      "parents": [
        "e757ec00d05ef949e15fea92f51ca05aa3fda812"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sun Nov 02 21:42:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 02 21:42:51 2025 +0800"
      },
      "message": "fix(test): resolve data race in nacos registry and session manager tests (#789)\n\n* chore: remove unnecessary pull_request_target event from GitHub Actions\n\n* fix(test): resolve data race in nacos registry and session manager tests\n\n---------\n\nCo-authored-by: Young \u003czeruiyoung@gmail.com\u003e"
    },
    {
      "commit": "e757ec00d05ef949e15fea92f51ca05aa3fda812",
      "tree": "b6f243ff1cecf0e62b7451fbb752fc2e9f83e716",
      "parents": [
        "af8fcdc3016a1dc8b31e2de885d1e456645f82fd"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sun Nov 02 21:37:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 02 21:37:43 2025 +0800"
      },
      "message": "chore: remove unnecessary pull_request_target event from GitHub Actions (#786)\n\nCo-authored-by: Young \u003czeruiyoung@gmail.com\u003e"
    },
    {
      "commit": "af8fcdc3016a1dc8b31e2de885d1e456645f82fd",
      "tree": "a1675d30c4442c29175264e478c1bcdca26e9f31",
      "parents": [
        "d3da92806f7c6efe05d64452d53334df9b537da5"
      ],
      "author": {
        "name": "Zerui Yang",
        "email": "zeruiyoung@gmail.com",
        "time": "Thu Oct 30 15:02:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 30 15:02:42 2025 +0800"
      },
      "message": "doc: add documentation to mcp config (#770)\n\n* doc: add documentation to mcp config\n\n* doc: add MCP gateway configuration documentation in English and Chinese\n\n* doc: update MCP documentation to reflect the correct name change from Meta Channel Protocol to Model Context Protocol\n\n* doc: add Nacos integration documentation for MCP server configuration"
    },
    {
      "commit": "d3da92806f7c6efe05d64452d53334df9b537da5",
      "tree": "0a7434d8c564aa288a89c51833ecf0852d278366",
      "parents": [
        "445b6e1991d1b9e9781056985fa87c263ef3e4af"
      ],
      "author": {
        "name": "Zerui Yang",
        "email": "zeruiyoung@gmail.com",
        "time": "Thu Oct 30 15:02:29 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 30 15:02:29 2025 +0800"
      },
      "message": "feat(MCP): enhance streamable http capability (#769)\n\n* feat(mcp): implement Nacos client and MCP server configuration management\n\n* feat(nacos): add MCP controller and provider registration for Nacos integration\n\n* feat(mcp): enhance Nacos integration with improved tool registry and configuration synchronization\n\n* fix: rollback\n\n* fix: update dependencies for Nacos integration and improve compatibility\n\n* chore: add Apache License header to multiple files\n\n* fix: update dependencies for improved compatibility and performance\n\n* fix: refactor URL parsing to use constants and add test\n\n* fix: implement thread-safe singleton initialization for ToolRegistry and DynamicConsumer\n\n* fix: update Credentials type to use \u0027any\u0027 for improved flexibility\n\n* fix: add unit tests for dynamic consumer and tool registry with concurrency support\n\n* fix: update resetNacosTemplateConfigs to clarify its role in resetting credential configurations\n\n* fix: update types to use \u0027any\u0027 for improved flexibility in Nacos configuration\n\n* fix: enhance DynamicConsumer with debounce functionality and fingerprint calculation\n\n* fix: update GetDebounceInfo to use \u0027any\u0027 for improved type flexibility\n\n* fix: reorganize imports in dynamic.go for better structure\n\n* fix: refactor URL parsing logic and enhance error handling in adapter and registry components\n\n* test: add unit tests for URL parsing and path extraction functions\n\n* fix: standardize root path return value in ExtractPathFromURL and ReplaceGoTemplateArgsInPath functions\n\n* fix: update test case to use example.com for host:port format\n\n* fix: update MCP controller and dynamic consumer to handle server ID in configuration updates\n\n* fix: update MCP controller and dynamic consumer to handle server ID in configuration updates\n\n* fix: update dependencies in go.mod and go.sum files\n\n* fix: add validation for Nacos addresses and improve logging in MCP adapter\n\n* fix: update go.mod and go.sum to include new Alibaba Cloud SDK dependencies\n\n* feat: add documentation to implement streamable HTTP enhancements\n\n* feat: implement content negotiation and session management for MCP SSE support\n\n* fix: refactor MCP server components for improved session management and SSE handling\n\n* fix: simplify content negotiation for SSE responses in MCP server\n\n* fix: remove doc\n\n* refactor: organize imports and ensure newline at end of files\n\n* fix: update dependencies in go.mod and go.sum\n\n* fix: remove unused global variables and singleton functions from dynamic.go\n\n* Revert \"fix: correct Pull bot user identification and enhance PR body formatting\"\n\nThis reverts commit 40646cbf\n\n* fix: correct Pull bot user identification in sync-to-upstream.yml\n\n* fix: update NewDynamicConsumer to include SSEHandler and refactor SSE message formatting\n\n* fix: reorganize import statements in dynamic.go, dynamic_test.go, and globals.go\n\n* fix: replace strings.Replace with strings.ReplaceAll for improved readability in client_test.go\n\n* fix: reorganize import statements in client_test.go for improved clarity\n\n* rollback: back sync file"
    },
    {
      "commit": "445b6e1991d1b9e9781056985fa87c263ef3e4af",
      "tree": "227fc7cafe1b5b7f87f0cdc52fa022249a08768c",
      "parents": [
        "c08a23c1577dcafbf5dcacc7804203eaa473b6c1"
      ],
      "author": {
        "name": "Zerui Yang",
        "email": "zeruiyoung@gmail.com",
        "time": "Sun Oct 26 22:12:28 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 26 22:12:28 2025 +0800"
      },
      "message": "Feat(MCP): add MCP server with nacos (#757)\n\n* feat(mcp): implement Nacos client and MCP server configuration management\n\n* feat(nacos): add MCP controller and provider registration for Nacos integration\n\n* feat(mcp): enhance Nacos integration with improved tool registry and configuration synchronization\n"
    },
    {
      "commit": "c08a23c1577dcafbf5dcacc7804203eaa473b6c1",
      "tree": "b4185e9c465118e11b6480575032c225c14ccb7b",
      "parents": [
        "fa4a161812c228a915e815b4078dcc8ee72429a6"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Fri Oct 24 11:53:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 24 11:53:48 2025 +0800"
      },
      "message": "Unify  the errorcode (#14) (#782)\n\n* support http filter plugins (Open Policy Agent)\n\n* fmt\n\n* Streamlined judgment\n\n* accept the advices\n\n* add wrong example\n\n* style: run go fmt \u0026\u0026 imports-formatter\n\n* fix the bug of go.mod\n\n* change the key of opa\n\n* update the true sum\n\n* Add OPA DOC\n\n* change the opa.docs for Chinese and English version\n\n* remove docs/sample\n\n* roll back\n\n* modify the README\n\n* modify\n\n* unify the errorcode\n\n* add the test of context\n\n* simplify\n\n* use errors.new to replace fmt.Errof in some cases\n\n* fix api_config\n\n* fix call\n\n* fix jwt\n\n* change interface{} to any\n\n* change all interface{} to any\n\n* fix the logic error in filter\\prometheus\\metric\n\n* add judgment for client error\n\n* reliable timeout detection over substring matching\n\n* add mock test\n\n* Remove send and sendError to avoid confusion\n\n---------\n\nCo-authored-by: Sirui Huang \u003c127271430+nanjiek@users.noreply.github.com\u003e\nCo-authored-by: Sirui Huang \u003c1525813076@qq.com\u003e"
    },
    {
      "commit": "fa4a161812c228a915e815b4078dcc8ee72429a6",
      "tree": "18eb93e3ed6c20d0011d0d713f1b17e110771537",
      "parents": [
        "f5869b360374c8491d50e2825142a58d64368c80"
      ],
      "author": {
        "name": "dubbo-go-bot",
        "email": "dubbo-go@outlook.com",
        "time": "Sun Oct 19 21:09:10 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 21:09:10 2025 +0800"
      },
      "message": "refactor: streamline sync-to-upstream workflow and improve comments (#781)\n\n* feat: add GitHub Actions workflow for automatic upstream sync\n\nadd GitHub Actions workflow for automatic upstream sync\n\n* test: verify upstream sync workflow\n\nThis is a test PR to verify the automatic sync workflow functionality.\n\nExpected behavior after merging to dubbo-go-pixiu/dubbo-go-pixiu:develop:\n1. Workflow should trigger automatically\n2. Create sync branch (auto-sync-YYYYMMDD-HHMMSS)\n3. Rebase onto apache/dubbo-go-pixiu:develop\n4. Remove fork-specific workflow files automatically\n5. Create PR in apache/dubbo-go-pixiu\n6. Comment on this PR with upstream link\n\nSuccess criteria:\n- Workflow runs without errors\n- Upstream PR created with this commit\n- Workflow files NOT present in upstream PR\n- Original commit author preserved\n\nTest Date: 2025-10-02 07:14:07 UTC\n\n* Test/workflow sync 20251002 1513 (#3)\n\n* test: verify upstream sync workflow\n\nThis is a test PR to verify the automatic sync workflow functionality.\n\nExpected behavior after merging to dubbo-go-pixiu/dubbo-go-pixiu:develop:\n1. Workflow should trigger automatically\n2. Create sync branch (auto-sync-YYYYMMDD-HHMMSS)\n3. Rebase onto apache/dubbo-go-pixiu:develop\n4. Remove fork-specific workflow files automatically\n5. Create PR in apache/dubbo-go-pixiu\n6. Comment on this PR with upstream link\n\nSuccess criteria:\n- Workflow runs without errors\n- Upstream PR created with this commit\n- Workflow files NOT present in upstream PR\n- Original commit author preserved\n\nTest Date: 2025-10-02 07:14:07 UTC\n\n* fix: use pull_request_target to access secrets from fork PRs\n\nThe pull_request event does not provide access to secrets when\ntriggered by PRs from forks (security measure). Using\npull_request_target instead, which runs in the context of the\nbase repository and has access to secrets.\n\nThis fixes the \u0027Input required and not supplied: token\u0027 error.\n\n* Test/workflow sync 20251002 1513 (#4)\n\n* test: verify upstream sync workflo\n\n* fix: use pull_request_target to access secrets from fork PRs\n\nThe pull_request event does not provide access to secrets when\ntriggered by PRs from forks (security measure). Using\npull_request_target instead, which runs in the context of the\nbase repository and has access to secrets.\n\nThis fixes the \u0027Input required and not supplied: token\u0027 error.\n\n* fix: specify repository for PR comment in Step 9\n\nWhen using pull_request_target, the workflow runs in the base\nrepository context. We need to explicitly specify --repo parameter\nfor gh pr comment to ensure it comments on the correct PR.\n\nAlso added error handling to prevent workflow failure if commenting\nfails, since the main task (creating upstream PR) is already done.\n\n* fix: delete doc\n\n* fix: delete doc\n\n* feat: enhance upstream sync workflow configuration\n\n* feat: enhance upstream sync workflow configuration\n\n* feat: refine upstream sync workflow conditions and cleanup steps\n\n* feat: add branch target check to upstream sync workflow\n\n* feat: Update action sync\n\n* refactor: streamline sync-to-upstream workflow and improve comments\n\n---------\n\nCo-authored-by: Zerui Yang \u003czeruiyoung@gmail.com\u003e"
    },
    {
      "commit": "f5869b360374c8491d50e2825142a58d64368c80",
      "tree": "ff371980f7d1963e827679a6bd8a2c0393b00279",
      "parents": [
        "a8d9c6a3a461c29baaf2692d0086c9f7edca6def"
      ],
      "author": {
        "name": "Zerui Yang",
        "email": "zeruiyoung@gmail.com",
        "time": "Sun Oct 12 20:36:04 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 12 20:36:04 2025 +0800"
      },
      "message": "feat(MCP): add MCP authorization (#740)\n\n* feat: Add MCP executor filter with configuration and request handling\n\n* feat: Implement MCP server filter with configuration, request handling, and tool registry\n\n* feat: Enhance MCP server filter with new context management and tool registry features\n\n* feat: Enhance MCP server filter with new context management and tool registry features\n\n* feat: Simplify MCP server configuration and response handling with optimized structures and error management\n\n* fix: fix some problems from copilot\n\n* feat: Add MCP Auth filter with JWT validation and resource metadata support\n\n* feat: Refactor JWT validator with enhanced provider management and JWKS loading\n\n* feat(mcp): implement MCP Auth filter with JWT validation and resource metadata support\n\n* feat(mcp): enhance MCP Auth filter with improved provider validation and error handling\n\n* fix(mcp): organize import statements for improved readability\n\n* fix: delete PLAN.md\n\n* Update pkg/filter/auth/mcp/config.go\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* fix(mcp): correct metaURL construction for OAuth error handling\n\n* refactor(mcp): simplify Providers method using maps.Keys and slices.Sorted\n\n* chore: update dependencies in go.mod and go.sum\n\n---------\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "a8d9c6a3a461c29baaf2692d0086c9f7edca6def",
      "tree": "14116f878f83cb562a936741a3575c2957c0971b",
      "parents": [
        "f472c94f2044a289aa5e4b6372cd43e1bd5e86f9"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Wed Oct 08 16:49:35 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 16:49:35 2025 +0800"
      },
      "message": "fix: fix doubao comment (#766)\n\n* fix doubao comment\n\n* fix doubao comment\n\n* fix doubao comment\n\n* fix doubao comment\n\n* fix doubao comment\n\n* fix unit test\n\n* update ci rule\n\n* revert"
    },
    {
      "commit": "f472c94f2044a289aa5e4b6372cd43e1bd5e86f9",
      "tree": "33d601d5ab18e83020df17b27d9201e207bf9bbf",
      "parents": [
        "b47a5925f5ba4153d12a6ed1b59e123805861179"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Wed Oct 08 16:46:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 16:46:46 2025 +0800"
      },
      "message": "fix: fix logger config overwrite problem (#765)\n\n* fix: fix logger config overwrite problem\n\n* delete Chinese\n\n* add header\n\n* fix sonar\n\n* import format\n\n* fix ci\n\n* refactor logger: simplify log level handling and remove unused code\n\n* import\n\n* refactor(logger): simplify log level parsing and improve fallback handling\n\n* refactor(logger): simplify log level parsing and improve fallback handling\n\n* fix test\n\n* test(logger): add assertions to validate logger configuration after level setting\n\n* test(logger): add assertions to validate logger configuration after level setting"
    },
    {
      "commit": "b47a5925f5ba4153d12a6ed1b59e123805861179",
      "tree": "46fc1e6a4c58a41d80f2614bd09da0f021bd3b91",
      "parents": [
        "e90760c2ab45731c197054a42e495b2a9fcfb5fa"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Sun Oct 05 09:07:54 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 05 09:07:54 2025 +0800"
      },
      "message": "fix(ci): ensure samples directory is removed before cloning \u0026 rm useless sub git dir (#775)\n\n* fix(ci): ensure samples directory is removed before cloning \u0026 rm useless sub git dir\n\n* Revert \"fix(ci): ensure samples directory is removed before cloning \u0026 rm useless sub git dir\"\n\nThis reverts commit 1a073e771d029d7dc4bb5836be51a824dcc5e869.\n\n* revert"
    },
    {
      "commit": "e90760c2ab45731c197054a42e495b2a9fcfb5fa",
      "tree": "1707b6f8831e5ef86b762462aabbd2f486b84774",
      "parents": [
        "ca27015015bfa15827be8d342a9dbf6a1dcdaec8"
      ],
      "author": {
        "name": "Xuetao Li",
        "email": "m134679102365478@163.com",
        "time": "Thu Sep 25 20:03:33 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 25 20:03:33 2025 +0800"
      },
      "message": "refactor(ai-gateway): delete static config providers, this ability should not be supported on the gateway side (#764)\n\n* refactor: delete static config providers, this ability should not be supported on the gateway side\n\n* refactor: delete static config providers, this ability should not be supported on the gateway side\n\n* delete redundant"
    }
  ],
  "next": "ca27015015bfa15827be8d342a9dbf6a1dcdaec8"
}
