)]}'
{
  "log": [
    {
      "commit": "f9885fb4090d886e1a02d79d9188ae2be9cf4a83",
      "tree": "89b92ccf8a8c594e341f443cf2831240b0c22eee",
      "parents": [
        "6da958c4dd77a5021475dee114e04250b0352fee"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Aug 09 21:43:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 21:43:22 2026 +0800"
      },
      "message": "feat: add riscv support (#1526)"
    },
    {
      "commit": "6da958c4dd77a5021475dee114e04250b0352fee",
      "tree": "e2a10ce51314b46da131363e0b8b01c4029c6ab6",
      "parents": [
        "c841e379da629ae6125ee6bfa0144269de1319ae"
      ],
      "author": {
        "name": "Comrade Yi",
        "email": "119987662+ambiguous-pointer@users.noreply.github.com",
        "time": "Sun Aug 09 19:38:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 19:38:37 2026 +0800"
      },
      "message": "feature: Implement Event stream for Application/Instance/Service  #1472 (#1487)\n\n* Feat: Add event timeline for application/instance/service with K8s event ingestion ([#1472](https://github.com/apache/dubbo-admin/issues/1472))\n\n- Add K8sEvent resource type (proto + Go spec) and store indexes\n- Add K8sEventListerWatcher to watch K8s /api/v1/events via client-go\n- Register K8sEventListerWatcher in Kubernetes EngineFactory\n- Add /application/event, /instance/event, /service/event console API endpoints\n- Add EventTimeline shared Vue component with normal/warning node styles\n- Wire up event tabs for application, instance, and service detail pages\n- Un-hide event tab routes in frontend router\n- Add mock event handlers for development\n- Add PlatformEvent resource type (platformevent_types.go) with store indexes\n- Add shared platform_event_recorder utility for event recording\n- Record ZK config change events (tag-route, condition-route, dynamic-config)\n- Record ZK metadata events (provider/consumer metadata added/updated)\n- Record Nacos instance registration/deregistration events\n- Record Nacos consumer metadata change events\n- Merge K8s events and Platform events into unified timeline in event query service\n- Downgrade \"no subscriber\" log level from INFO to DEBUG to reduce log noise\n\n* Fix: Address review feedback for K8s event timeline — zero timestamps, watch spam, silent drops, delete-before-add\n\n- K8sEventListerWatcher: check IsZero() before formatting FirstTimestamp/LastTimestamp\n  to avoid emitting synthetic \"0001-01-01 00:00:00\" values that break timeline ordering.\n- EventTimeline.vue: remove unconditional watch() that triggered cascading loadMore calls;\n  rely solely on IntersectionObserver for scroll-based pagination.\n- RecordRegistryEvent: log a warning when dropping events due to empty Mesh or Message\n  instead of silently discarding them.\n- K8sEventSubscriber.writeEvent: delete the informer-written (original-key) entry only\n  after a successful Add of the timestamp-prefixed entry, preventing permanent event\n  loss when Add fails.\n\n* Refactor: Rename K8sEvent to LifecycleEvent for unified event model\n\nK8sEvent was originally named for K8s-sourced events only, but now also\ncarries registry-side events (ZK/Nacos) via the EventSource discriminator.\nRename to LifecycleEvent to accurately reflect its role as a unified\nlifecycle event type covering both K8s and registry origins.\n\n- Proto: K8sEvent → LifecycleEvent\n- Resource: K8sEventResource → LifecycleEventResource\n- Kind: K8sEventKind → LifecycleEventKind\n- Subscriber: K8sEventSubscriber → LifecycleEventSubscriber\n- Index constants: ByK8sEvent* → ByLifecycleEvent*\n- Files: k8s_event.* → lifecycle_event.*\n- Retained: K8sEventListerWatcher (K8s-specific component)"
    },
    {
      "commit": "c841e379da629ae6125ee6bfa0144269de1319ae",
      "tree": "de55a31276a1f96d48ae40c0c0d6c4331913da9d",
      "parents": [
        "b4c6cbfcc546d19fd19acda72c52a830941e2c6d"
      ],
      "author": {
        "name": "承潜",
        "email": "2972013548@qq.com",
        "time": "Sun Jul 26 11:17:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 11:17:00 2026 +0800"
      },
      "message": "feat: Support version history and rollback for traffic rules (#1477)\n\n* chore(store): add ListResources + align gorm/memory empty-index semantics\n\n* fix(discovery): nil-guard zk rule delete + emit registry context on events\n\n* feat(versioning): backend immutable release ledger for traffic rules\n\n* feat(versioning): UI history drawer, diff, and rollback for rule pages\n\n* test(versioning): end-to-end rollback drill\n\n* fix(versioning): close gaps surfaced by the smoke drill\n\nRunning the §9.4 smoke drill end-to-end uncovered three real defects\nthat the unit suite did not catch:\n\n- RuleVersionSubscriber recorded a duplicate UPSTREAM row whenever the\n  registry echoed back a no-op change identical to the latest ledger\n  row (typically right after BOOTSTRAP). Now dedupes upstream events\n  whose content hash already matches the current head, with an explicit\n  test in versioning_test.go.\n- writeVersioningResp mapped every bizerror to HTTP 200/UnknownError;\n  bizerror.InvalidArgument (eg. empty rollback reason) now returns\n  HTTP 400 with its original code so the frontend can act on it.\n  Covered by a new handler/rule_version_test.go.\n- The 409 VERSION_CONFLICT toast auto-dismissed after the default\n  duration; users could miss the Reload button entirely. Pinned with\n  duration: 0 so the notification stays until acknowledged.\n\n* fix(traffic): preserve priority/force/configVersion on rule edit forms\n\nThe §9.4 smoke drill expectation \"after rollback, the rule should look\nthe same on UI refresh\" exposed a pre-existing edit-form regression:\nrollback was correct at the ledger and ZK levels, but the edit form\nsilently dropped `priority`, `force`, and (for condition routes)\n`configVersion` because they were neither rendered in the GET response\nnor re-sent on save.\n\nThis is not caused by versioning, but a true round-trip is the first\nflow that forces every field through the loop. Adds the missing fields\nto ConditionRuleResp / TagRuleResp on the backend, and reads/writes\nthem in updateByFormView.vue on the frontend so a \"save → rollback →\nreload\" cycle is now lossless.\n\n* chore: ignore local planning artifacts\n\nAdd /task_plan.md /findings.md /progress.md to .gitignore so the\nplanning-with-files workflow does not leak per-developer working\nmemory into the repo.\n\n* fix(versioning): close owner review correctness gaps\n\n* refactor(versioning): drop unused helpers and aliases\n\n* fix(ui): plug rule diff editor leaks\n\n* Remove local working memory files from .gitignore\n\n* fix(versioning): add intent repair and abandon flows\n\n* Revert \"feat: support traffic rule version history and rollback\"\n\n* fix(lock): use acquisition-scoped leases\n\n* refactor(versioning): split resource store responsibilities\n\n* refactor(versioning): normalize events and reduce repair APIs\n\n* fix(lock): stop writes after lease loss\n\n* refactor(ui): remove unreachable state and simplify mocks\n\n* test(versioning): add multi-instance and lease failure coverage\n\n* docs(versioning): update default-enabled guarantees\n\n* fix: address rule versioning review blockers\n\n- require lease contexts for rule versioning mutations\n\n- propagate contexts through resource manager and governor writes\n\n- move repair/bootstrap reads inside rule locks\n\n- use ledger snapshots for current and deleted state\n\n- remove unused subscriber intent token path\n\n- simplify rollback commit handling and add UI coverage\n\n* fix: harden rule versioning correctness\n\n* fix: address rule versioning review issues\n\n* Fix rule version commit terminal semantics\n\n* fix(versioning): harden rule intent recovery\n\n* fix(versioning): close intent recovery race windows\n\n* Fix rule intent storage CAS and subscriber fallback\n\n* Fix rule version committing recovery ordering\n\n* Fix Go CI cache restore\n\n* Clean up PR-only test files\n\n* docs(versioning): clarify invariants and recovery comments\n\n* 20 maxVersion is suitable\n\n* chore: limit rule version retention to 20\n\n* refactor: simplify rule version history\n\n* refactor: restore core mutation and lock interfaces\n\n* refactor: enforce lightweight rule history semantics\n\n* refactor: clean rule history frontend semantics\n\n* docs: describe lightweight rule history config\n\n* test: add frontend npm test script\n\n* fix: address copilot review comments\n\n* fix: make rule versioning fail closed\n\n* refactor: collapse versioning store abstraction\n\n* refactor: reuse resource helpers in rule versioning\n\n- move resource key parsing next to BuildResourceKey\n- centralize live rule lookup in console version service\n- deduplicate RuleVersion resource conversion/sorting helpers\n- no behavior/API/storage semantic changes\n\n* fix: address traffic rule history review blockers\n\n* fix: clear traffic view type errors\n\n* fix: address remaining rule version review comments\n\n* fix: add license header to js-yaml declaration\n\n* style: refine version record tag and layout in traffic rule views"
    },
    {
      "commit": "b4c6cbfcc546d19fd19acda72c52a830941e2c6d",
      "tree": "5f5fda5f20b075a0cf0309416b44d99ffe5675e0",
      "parents": [
        "45211acdc98545eb50dbae81656cc655d6dd57c9"
      ],
      "author": {
        "name": "Comrade Yi",
        "email": "119987662+ambiguous-pointer@users.noreply.github.com",
        "time": "Sun May 10 16:06:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 16:06:50 2026 +0800"
      },
      "message": "Service/Application Dependency Graph Implement (#1460)\n\n* feat(ui): Added application and service topology mapping feature\n\n* style(ui-vue3): Add a minimum width to the login form and remove unnecessary blank lines\n\n* Feat: Add service and application topology graph APIs based on discussion #1398\n\n* feat(api): add GraphServices endpoint for service-level topology\n\nBased on discussion #1398, use ServiceProviderMetadata and ServiceConsumerMetadata\nto return provider/consumer application relations as graph nodes and edges for AntV G6.\n\n* feat(api): add GraphApplications endpoint for application-level topology\n\nTraverse provider/consumer service relations to build application-level graph.\nAlso add idx_service_consumer_service_key index to support efficient serviceKey queries.\n\n* feat(api): add graph models (GraphNode, GraphEdge, GraphData) in pkg/console/model/graph.go\n\n* feat(api): add ApplicationGraphReq, ServiceGraphReq and GetApplicationGraph, GetServiceGraph handlers\n\n* feat(router): register /application/graph and /service/graph routes\n\n* feat(api): fix error handling to use direct err pass-through instead of MeshNotFoundError\n\n* Feat: Enhance service metadata derivation and detail retrieval ([#1430](https://github.com/apache/dubbo-admin/issues/1430))\n\n* feat(api): replace Service.{providers,consumers,features} with {methods} field\n\nSimplify Service proto by removing providers, consumers, and features map,\nkeeping only the aggregated methods list derived from provider metadata.\n\n* feat(api): derive Service resource from ServiceProviderMetadata on add/update/delete\n\nServiceProviderMetadataEventSubscriber now maintains Service resources by\naggregating methods from all provider instances sharing the same serviceKey.\nHandles add, update, and delete events to keep Service spec in sync.\n\n* feat(api): add language detection from provider metadata parameters\n\nDetect provider language (golang/java) from metadata parameters and method\ntype signatures when explicit language field is absent.\n\n* feat(api): add GetServiceDetail endpoint returning language and methods\n\nAdd GET /service/detail returning ServiceDetailResp with language and\naggregated method names from the derived Service resource.\n\n* feat(api): add BuildServiceIdentityKey helper for {service}:{version}:{group}\n\n* feat(api): add ByServiceName index for ServiceKind\n\n* feat(api): refactor SearchServices to query ServiceResource directly\n\nSearchServices and SearchServicesByKeywords now use ServiceResource instead\nof ServiceProviderMetadataResource for service listing.\n\n* feat(api): remove providerAppName from ServiceSearchResp and ServiceTabDistributionReq\n\n* feat(api): add ServiceDetailReq and ServiceDetailResp models\n\n* feat(router): register /service/detail and /service/interfaces routes\n\n* feat(ui-vue3): remove providerAppName from grafana types and tab components\n\n* chore: Add G6 chart library and its dependencies to the project\n\n* chore(assets): Add Apache license and format code for iconfont file\n\n* fix: Correct the naming errors in the application topology graph API parameters and improve the code comments\n\n* chore: minor cleanup - fix comment language and import order\n\n* chore: translate Chinese comment to English in GraphApplications error handling\n* chore: reorder imports in service_provider_metadata.go\n\n* fix:Fix parameter passing error when obtaining application details\n\n* fix: fix type mismatch and index issues in service search and metadata sync\n\n  1. pkg/console/service/service.go:132\n     - fix generic type mismatch with resourceKind\n     - generic ServiceResource should use ServiceKind, was incorrectly passing ServiceProviderMetadataKind\n     - index changed from ByServiceProviderServiceName to ByServiceName (aligned with ServiceKind)\n\n  2. pkg/core/discovery/subscriber/service_provider_metadata.go\n     - processUpdate: remove redundant oldRes key check (oldKey always equals newKey in same resource update,\n       else branch is unreachable dead code)\n     - syncService: use ByServiceProviderServiceKey index instead of ByServiceProviderServiceName\n       + manual version/group filtering, reduces data returned from DB and improves performance\n       Ref: [1460](https://github.com/apache/dubbo-admin/pull/1460#discussion_r3106255166)\n\n* Feat: Add coding agent domain skills ([#1457](https://github.com/apache/dubbo-admin/issues/1457))\n\n* feat(skills): add backend domain skills for runtime, discovery, engine, events, store, and Console API\n\nDocument component lifecycle, ListAndWatch discovery, resource engine behavior, EventBus dispatching, storage indexes, and Web MVC flow for coding agents.\n\n* feat(skills): add frontend domain skill for routing, components, and traffic rule forms\n\nDocument Vue frontend structure, API clients, Pinia state, route metadata, layout tabs, and traffic rule form design.\n\n* feat(skills): add OpenAI skill metadata\n\nAdd agents/openai.yaml metadata for each dubbo-admin domain skill.\n\n* fix(console): use ServiceKind for service list search\n\nQuery ServiceResource from ServiceKind instead of ServiceProviderMetadataKind so the non-keyword service list path uses the matching resource store and index set.\n\n---------\n\nCo-authored-by: sohandsomejie \u003c3080955413@qq.com\u003e\nCo-authored-by: MoChengqian \u003c2972013548@qq.com\u003e"
    },
    {
      "commit": "45211acdc98545eb50dbae81656cc655d6dd57c9",
      "tree": "0d24fdba626f636325d6686565c8f659f4948009",
      "parents": [
        "d9ebf33aedf967205f22c453882a612ab71cf46d"
      ],
      "author": {
        "name": "WyRainBow",
        "email": "weiyu9484@gmail.com",
        "time": "Thu May 07 14:55:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 14:55:18 2026 +0800"
      },
      "message": "feat(eventbus): support per-subscriber async dispatch with graceful drain (#1455)\n\n* feat(eventbus): support per-subscriber async dispatch with graceful drain\n\n* refactor(config): unify AdminConfig method receivers as pointers\n\n* refactor(eventbus): move AsyncEnabled into Subscriber with docs\n\n* fix(config): keep read-only helpers on value receiver\n\n* refactor(config): unify AdminConfig receiver style"
    },
    {
      "commit": "d9ebf33aedf967205f22c453882a612ab71cf46d",
      "tree": "8c33e85b967db51496cc26e139a67cdc47142384",
      "parents": [
        "b809b14cea8c163c5ec83bb387b132f7b561e522"
      ],
      "author": {
        "name": "LunaRain_079",
        "email": "2074730050@qq.com",
        "time": "Sun Apr 12 19:22:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 19:22:42 2026 +0800"
      },
      "message": "feat: unify and enhance the lifecycle of an instance (#1440)\n\n* feat: add lifecycle state management and color coding for instance statuses\n\n* feat: enhance instance lifecycle management with state derivation and UI updates\n\n* feat: improve resource handling in informer with enhanced error reporting\n\n* feat: enhance instance lifecycle logging with detailed merge and delete events\n\n* feat: implement ResourceKeyProvider interface for consistent key generation in informers\n\n* refactor: refactor instance resource handling and key function resolution in informers\n\n* refactor: remove unused deployState and registerState columns from instance table\n\n* feat: enhance runtime instance retrieval with improved matching logic and fallback handling\n\n* feat: improve runtime instance identification with enhanced error logging and filtering\n\n* feat: add pod watch selector and RPC port identifiers for improved service configuration\n\n* feat: add refresh button and localization support for improved user interaction\n\n* fix: fix lint\n\n* feat: enhance runtime instance retrieval with improved fallback handling and logging for ambiguous matches\n\n* fix: enhance instance lifecycle and deployment state management with new types and improved data handling"
    },
    {
      "commit": "b809b14cea8c163c5ec83bb387b132f7b561e522",
      "tree": "bf7576af78b4472b51dec93ce17b7bf414cf3fc3",
      "parents": [
        "5c94d183c6ef1718b653454621879629e98882da"
      ],
      "author": {
        "name": "ThunGuo",
        "email": "tew@apache.org",
        "time": "Sun Mar 29 19:27:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 19:27:19 2026 +0800"
      },
      "message": "feat: extend indexer with prefix matching and db persistence (#1422)\n\n* feat: extend indexer with prefix matching and db persistence\n\n* refactor: remove in-memory index from GormStore and add operator field\n\n* fix: copilot review suggestion and service panic\n\n* update"
    },
    {
      "commit": "5c94d183c6ef1718b653454621879629e98882da",
      "tree": "06b24852d99f450b80472dcd9fabd37b92b54b2f",
      "parents": [
        "9de1ee0e916b84be0165adb3789fa273d20a914a"
      ],
      "author": {
        "name": "Zerui Yang",
        "email": "zeruiyoung@gmail.com",
        "time": "Sun Mar 29 14:27:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 14:27:02 2026 +0800"
      },
      "message": "Feat: Enhance service method retrieval and invocation features (#1429)\n\n* feat: add endpoint to retrieve service method names and corresponding request model\n\n* feat: add endpoint and logic to retrieve service method details\n\n* feat: trim whitespace from service name, mesh, group, version, and provider app name in ServiceMethodsReq\n\n* feat: enhance service method handling with overload support and signature retrieval\n\n* feat: add generic service invocation support\n\n* feat: refactor triple RPC instance selection to use a dedicated target struct\n\n* feat: remove obsolete service methods test file\n\n* feat: improve error handling in generic service invocation and add parameter count validation\n\n* feat: remove unnecessary variable and directly call service.InvokeServiceGeneric in ServiceGenericInvoke\n\n* feat: improve query validation by using strutil for blank checks and enhance service provider metadata indexing\n\n* feat: add endpoint to retrieve service provider instances and enhance request validation\n\n* feat: update service provider instance handling and improve request validation\n\n* feat: enhance generic service invocation with protocol and serialization support\n\n* feat: add normalization functions for JSON values in generic service invocation\n\n* feat: add normalization functions for JSON values in generic service invocation\n\n* feat: refine retry logic for service invocation failures\n\n* feat(ui-vue3): 添加 mock 数据支持，优化请求配置\n\n- 添加环境变量 `VITE_MOCK_ENABLED` 用于启用 mock 数据模式\n- 更新 `package.json` 脚本以添加 `dev:mock` 用于 mock 数据开发环境\n- 新增 `mockLogin.ts` 文件，提供 mock 登录和登出接口\n- 修改 `request.ts`，根据环境变量切换请求的 `baseURL`\n- 优化 `main.ts`，根据 mock 模式自动导入 mock API 并更新认证状态\n\n* feat(ui-vue3): 新增 Axios 依赖和 mock 数据接口\n\n- 新增 axios 作为 HTTP 客户端依赖\n- 优化 mock 数据接口，包括应用指标、流量权重、灰度配置等\n- 更新 package.json 文件以添加 axios 依赖\n- 修改多个 mock 接口以适应新的架构和数据结构\n\n* feat(api): 新增 mock 服务方法列表、详情及泛化调用接口\n\n* feat(api): add front func\n\n* feat(ui-vue3): improve func empty description\n\n* feat(ui-vue3): code format\n\n* feat(api): update mock interface\n\n* feat(ui-vue3): add elapsed time display for service debug invoke\n\n* refactor: replace mockjs with MSW for API mocking\n\nMigrate from mockjs to Mock Service Worker (MSW) for a more realistic\nmock setup that intercepts at the network level. This eliminates the\nneed for a separate mock baseURL and simplifies the mock architecture.\n\n- Remove mockjs dependency and all src/api/mock/* files\n- Add msw with browser worker and handler-based mock definitions\n- Move mock data to src/mocks/ with per-domain handler organization\n- Add shared API type definitions in src/types/api.ts\n- Simplify request.ts baseURL (always /api/v1, MSW handles interception)\n- Update main.ts mock initialization to use MSW worker\n\n* feat(api): refactor service request handling to use BaseServiceReq\n\n* feat(api): simplify service provider metadata lookup logic\n\n* feat(api): streamline service method resolution and metadata handling\n\n* feat(api): enhance ServiceGenericInvokeReq structure and streamline metadata handling\n\n* style(debug): format icon imports for improved readability\n\n* refactor(api): simplify splitGenericArrayType function by removing redundant checks\n\n* chore(deps): downgrade msw and related dependencies to version 2.11.6\n\n* style(debug): improve debug tab UI with typography components and refined styles\n\n* style(debug): refine button and typography styles for improved consistency\n\n---------\n\nCo-authored-by: 劳资蜀道山 \u003c1493170339@qq.com\u003e"
    },
    {
      "commit": "9de1ee0e916b84be0165adb3789fa273d20a914a",
      "tree": "dccde0d17ac08308a123084c915bbec14f319906",
      "parents": [
        "5d2946d05cdaa8a662e683f68daf55d598de82de"
      ],
      "author": {
        "name": "ThunGuo",
        "email": "tew@apache.org",
        "time": "Sun Mar 29 09:26:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 09:26:05 2026 +0800"
      },
      "message": "feat: add leader election for Discovery, Engine, Counter.(#1423)\n\n* feat: add leader election for Discovery and Engine components\n\n* fix: separate renew/acquire SQL and stop informers on demotion\n\n* feat: add leader election for Counter component\n\n* fix: resolve copilot review suggestion\n\n* fix: GormStore.Pool return value"
    },
    {
      "commit": "5d2946d05cdaa8a662e683f68daf55d598de82de",
      "tree": "cc0309803677c47baf2ce6467d5c8266ce64561b",
      "parents": [
        "82e2512e0eb9439df485f1c9cf0223860beac6b3"
      ],
      "author": {
        "name": "EVERFID",
        "email": "3085640487@qq.com",
        "time": "Sun Mar 15 15:19:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 15 15:19:41 2026 +0800"
      },
      "message": "feat: implement distributed lock by gorm (#1432)"
    },
    {
      "commit": "82e2512e0eb9439df485f1c9cf0223860beac6b3",
      "tree": "1cdf232bbafb1c80f581c4e0c2260e0d8f5d8fbe",
      "parents": [
        "35cbd342b75467cc87f0f6763f72e8752d09fe47"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Mar 01 20:16:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 01 20:16:31 2026 +0800"
      },
      "message": "rm: remove useless files (#1416)\n\n"
    },
    {
      "commit": "35cbd342b75467cc87f0f6763f72e8752d09fe47",
      "tree": "a0e7a8354da752ddaa4129df80e7f7febbcb2fa6",
      "parents": [
        "dc5eb0d0a8275898eb2f67580779c92bb4e7b055"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Feb 08 19:31:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 08 19:31:19 2026 +0800"
      },
      "message": "feat: kubernetes deployment manifests and docker file (#1410)\n\n* refactor: refactor dockerfile and implement dubbo-admin deployment\n\n* fix: deploy manifests"
    },
    {
      "commit": "dc5eb0d0a8275898eb2f67580779c92bb4e7b055",
      "tree": "97cc20cbb5ce660bdd8244ee55f4ec7ff1a2c36a",
      "parents": [
        "3d33ecdbcc1a67e3061a856171364d2d880e61ad"
      ],
      "author": {
        "name": "WyRainBow",
        "email": "weiyu9484@gmail.com",
        "time": "Sun Feb 01 16:45:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 01 16:45:32 2026 +0800"
      },
      "message": "implement counter by key (#1390)\n\n* implement counter by key\n\n* chore: trigger CI\n\n* Fix counter initialization errors and mesh change detection logic\n\n---------\n\nCo-authored-by: WyRainBow \u003cyour-email@example.com\u003e"
    },
    {
      "commit": "3d33ecdbcc1a67e3061a856171364d2d880e61ad",
      "tree": "cacff908e54603ec3bd2605baa0ca15f19b36b4b",
      "parents": [
        "d4d7a8f58ca67d3731d59b130afbf0044ccac50e"
      ],
      "author": {
        "name": "Akshit Vig",
        "email": "akshitvig48@gmail.com",
        "time": "Sun Jan 18 07:31:43 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 18 10:01:43 2026 +0800"
      },
      "message": "fix(ui): update footer copyright year to 2026 (#1396)\n\n"
    },
    {
      "commit": "d4d7a8f58ca67d3731d59b130afbf0044ccac50e",
      "tree": "014298a12a7d086cc34077ec9408bd0e620d8e80",
      "parents": [
        "7af9308d64989609e54e65c3bac44705ea2cfc5a"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Jan 18 09:58:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 18 09:58:09 2026 +0800"
      },
      "message": "Fix/console (#1397)\n\n* fix: create tag rule bug\n\n* refactor: config refactor; fix: fix console bugs\n\n* fix: instance disable traffic\n\n* fix: CI promblems\n\n* fix: typo"
    },
    {
      "commit": "7af9308d64989609e54e65c3bac44705ea2cfc5a",
      "tree": "cc1cf8a6a92fe20ff6cc2707798e5d005ecfc409",
      "parents": [
        "b5da1d061da72949242bf5c27c7e76164c49c396"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Sat Jan 17 22:19:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 17 22:19:35 2026 +0800"
      },
      "message": "feat: enhance UI components, improve error handling, and add routing rule management (#1394)\n\n* build: Optimize the styles of some tables, adapt to backend changes, format the code, and package it\n\n* chore: remove PR_DESCRIPTION.md file as it is no longer needed\n\n* fix: update routing rule handling\n\nupdated routing rule handling to use constants for HTTP status codes in various components.\n\n* build: build \u0026 format\n\n* feat: enhance error handling and data loading in various components\n\n- Added a silent error handling mechanism for specific URLs in the HTTP request module to suppress error messages.\n- Refactored data loading logic in sceneConfig.vue to load configuration data based on the selected tab, improving user experience.\n- Updated YAMLView.vue and other components to remove unused button code and optimize imports, enhancing code clarity and maintainability.\n- Improved error handling in routingRule and dynamicConfig components to ensure better user feedback and debugging.\n\n* feat: add new components and enhance YAML and XML editing capabilities\n\n- Introduced new JavaScript files for YAML and XML syntax highlighting and editing.\n- Added components for updating YAML configurations with structured editor interfaces.\n- Updated index.html to reference new JavaScript bundles for improved functionality.\n- Enhanced error handling and logging in various components for better debugging.\n- Removed unused code and optimized imports in YAMLView and related components.\n\n* feat: enhance UI components and improve error handling\n\n- Added global styles for clickable links in tables to improve user interaction.\n- Updated routing logic to utilize a dynamic header parameter key for better flexibility.\n- Enhanced error handling in HTTP requests to suppress messages for specific URLs.\n- Improved internationalization by adding new translation keys for \u0027Ready Time\u0027 in both English and Chinese.\n- Refactored various components to optimize code structure and maintainability, including updates to YAML and form views.\n- Adjusted table and form layouts for better responsiveness and user experience.\n\n* refactor: streamline component code and enhance condition handling\n\n- Simplified iframe rendering in GrafanaPage.vue for improved readability.\n- Added checks in ConfigModel.ts to skip undefined keys in matches and parameters.\n- Optimized YAMLView.vue by condensing MonacoEditor properties for better clarity.\n- Cleared default request and address matching arrays in formView.vue for cleaner initialization.\n- Enhanced condition parsing and merging logic in updateByFormView.vue to improve maintainability and readability.\n\n* build: build admin\n\n* fix: improve error handling and UI updates in GrafanaPage and sceneConfig components\n\n- Added conditional checks in GrafanaPage.vue to ensure valid baseURL before constructing the Grafana URL.\n- Enhanced iframe loading logic to prevent errors when accessing undefined elements.\n- Updated service.vue to handle potential undefined values in versionGroups, ensuring robust data handling.\n- Refactored sceneConfig.vue to improve the user experience by adding a conditional rendering for parameter routes, including a message for empty configurations and a button for adding new routes.\n\n* refactor: Request to update the Grafana URL\n\n* build: build\n\n* ♻️ refactor: update route parameters to include name and make pathId/appName optional\n\nUpdate routing structure across instance and traffic management views to:\n- Add :name parameter to routes for better identification\n- Make :pathId and :appName optional parameters (with ?)\n- Affects instance detail, monitor, link tracking, and configuration tabs\n- Updates dynamic config, routing rule, and tag rule views accordingly\n\nThis change provides more flexible routing and better resource identification.\n\nCo-Authored-By: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e\n\n* ✨ feat(routing): add routing rule list component and composable\n\nAdd new RoutingRuleList component and useRoutingRule composable to manage routing rule configurations. Updates addByFormView and updateByFormView to integrate with the new components.\n\nCo-Authored-By: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e\n\n* build: format \u0026 build\n\n* ✨ feat(routing): enhance routing rule form with comprehensive i18n support\n\nEnhance routing rule form functionality with improved internationalization,\nuser interface refinements, and better form handling.\n\n- Add comprehensive i18n translations for routing rule fields\n- Improve form layout and field descriptions\n- Enhance routing rule list component with better UX\n- Refactor routing rule composable for better maintainability\n- Update tab header slots for improved navigation\n\nCo-Authored-By: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e\n\n* build: format \u0026 build\n\n---------\n\nCo-authored-by: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "b5da1d061da72949242bf5c27c7e76164c49c396",
      "tree": "77e307b462e555a07adf0f7764cffa8ee6281b0b",
      "parents": [
        "0402b2b2bba07461fed949b72f86fa79464c0b38"
      ],
      "author": {
        "name": "WyRainBow",
        "email": "weiyu9484@gmail.com",
        "time": "Thu Jan 15 14:02:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 15 14:02:01 2026 +0800"
      },
      "message": "fix: add Apache License headers to YAML files in release/kubernetes (#1393)\n\n"
    },
    {
      "commit": "0402b2b2bba07461fed949b72f86fa79464c0b38",
      "tree": "9d02770703a411df2d837facb48b7b71af628836",
      "parents": [
        "2eb4409b03420f687416763770c9b4e88ed2d0da"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Mon Jan 12 15:17:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 15:17:46 2026 +0800"
      },
      "message": "Fix: Address the admin issues before the release (#1391)\n\n* build: Optimize the styles of some tables, adapt to backend changes, format the code, and package it\n\n* chore: remove PR_DESCRIPTION.md file as it is no longer needed\n\n* fix: update routing rule handling\n\nupdated routing rule handling to use constants for HTTP status codes in various components.\n\n* build: build \u0026 format\n\n* feat: enhance error handling and data loading in various components\n\n- Added a silent error handling mechanism for specific URLs in the HTTP request module to suppress error messages.\n- Refactored data loading logic in sceneConfig.vue to load configuration data based on the selected tab, improving user experience.\n- Updated YAMLView.vue and other components to remove unused button code and optimize imports, enhancing code clarity and maintainability.\n- Improved error handling in routingRule and dynamicConfig components to ensure better user feedback and debugging.\n\n* feat: add new components and enhance YAML and XML editing capabilities\n\n- Introduced new JavaScript files for YAML and XML syntax highlighting and editing.\n- Added components for updating YAML configurations with structured editor interfaces.\n- Updated index.html to reference new JavaScript bundles for improved functionality.\n- Enhanced error handling and logging in various components for better debugging.\n- Removed unused code and optimized imports in YAMLView and related components.\n\n* feat: enhance UI components and improve error handling\n\n- Added global styles for clickable links in tables to improve user interaction.\n- Updated routing logic to utilize a dynamic header parameter key for better flexibility.\n- Enhanced error handling in HTTP requests to suppress messages for specific URLs.\n- Improved internationalization by adding new translation keys for \u0027Ready Time\u0027 in both English and Chinese.\n- Refactored various components to optimize code structure and maintainability, including updates to YAML and form views.\n- Adjusted table and form layouts for better responsiveness and user experience.\n\n* refactor: streamline component code and enhance condition handling\n\n- Simplified iframe rendering in GrafanaPage.vue for improved readability.\n- Added checks in ConfigModel.ts to skip undefined keys in matches and parameters.\n- Optimized YAMLView.vue by condensing MonacoEditor properties for better clarity.\n- Cleared default request and address matching arrays in formView.vue for cleaner initialization.\n- Enhanced condition parsing and merging logic in updateByFormView.vue to improve maintainability and readability.\n\n* build: build admin"
    },
    {
      "commit": "2eb4409b03420f687416763770c9b4e88ed2d0da",
      "tree": "125eb89a5437d9e757180fea6c71a9b629afab41",
      "parents": [
        "f61071e8e146cc68b55f023542650db545e4cac0"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Jan 11 19:01:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 11 19:01:03 2026 +0800"
      },
      "message": "feat: add deploy manifests and fix metric and trace dashboard bugs (#1387)\n\n* feat: add monitoring/dubbo-samples-shop/dubbo-system resources\n\n* fix: metric, trace dashboard bug"
    },
    {
      "commit": "f61071e8e146cc68b55f023542650db545e4cac0",
      "tree": "45b5f055e83905bb81042feda846cef167124f5a",
      "parents": [
        "ff429c0c6e53d9df02f2ee3a9ad23d9cf7facb57"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sat Jan 10 15:04:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 10 15:04:12 2026 +0800"
      },
      "message": "feat: fix console bugs and makes console functions effective (#1378)\n\n* fix: console interfaces;feat: implements governor using zk and nacos\n\n* fix: instance subscriber\n\n* fix: unit-test\n\n* fix: rules search\n\n* resolve conflicts\n\n* fix: backend bugs\n\n* fix: rule handler and service refactor\n\n* fix: config error andd field mapping\n\n* fix: rename msg to message\n\n* fix: wrap prometheus error\n\n* fix ci"
    },
    {
      "commit": "ff429c0c6e53d9df02f2ee3a9ad23d9cf7facb57",
      "tree": "6e9ee17690c3a0d1622b8e4c98d9835037b63c73",
      "parents": [
        "0ef902f3a69bcfd075fce34fc34b3a9fbc50a376"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Fri Jan 09 22:16:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 22:16:52 2026 +0800"
      },
      "message": "feat: enhance error handling and data loading in various components (#1385)\n\n* build: Optimize the styles of some tables, adapt to backend changes, format the code, and package it\n\n* chore: remove PR_DESCRIPTION.md file as it is no longer needed\n\n* fix: update routing rule handling\n\nupdated routing rule handling to use constants for HTTP status codes in various components.\n\n* build: build \u0026 format\n\n* feat: enhance error handling and data loading in various components\n\n- Added a silent error handling mechanism for specific URLs in the HTTP request module to suppress error messages.\n- Refactored data loading logic in sceneConfig.vue to load configuration data based on the selected tab, improving user experience.\n- Updated YAMLView.vue and other components to remove unused button code and optimize imports, enhancing code clarity and maintainability.\n- Improved error handling in routingRule and dynamicConfig components to ensure better user feedback and debugging.\n\n* feat: add new components and enhance YAML and XML editing capabilities\n\n- Introduced new JavaScript files for YAML and XML syntax highlighting and editing.\n- Added components for updating YAML configurations with structured editor interfaces.\n- Updated index.html to reference new JavaScript bundles for improved functionality.\n- Enhanced error handling and logging in various components for better debugging.\n- Removed unused code and optimized imports in YAMLView and related components."
    },
    {
      "commit": "0ef902f3a69bcfd075fce34fc34b3a9fbc50a376",
      "tree": "5972afaa803bfebeb3f010df30ce93441926b974",
      "parents": [
        "0ed6d1c4496ed3105e4826c819011439082f4adb"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Sun Jan 04 17:24:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 17:24:02 2026 +0800"
      },
      "message": "feat(ui): Enhance service metrics display and optimize table UI styles (#1383)\n\n* build: Optimize the styles of some tables, adapt to backend changes, format the code, and package it\n\n* chore: remove PR_DESCRIPTION.md file as it is no longer needed\n\n* fix: update routing rule handling\n\nupdated routing rule handling to use constants for HTTP status codes in various components.\n\n* build: build \u0026 format"
    },
    {
      "commit": "0ed6d1c4496ed3105e4826c819011439082f4adb",
      "tree": "35c91766eedb1cf5ee4186fb5ea199ed87ce19d8",
      "parents": [
        "4330280ccc043266b363ec9cca8e7013c13927e8"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Sun Dec 28 22:23:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 28 22:23:53 2025 +0800"
      },
      "message": "refactor: :art: Optimize UI styles and search functionality (#1379)\n\n* feat: enhance error handling for unauthorized access and improve toast messages\n\n* feat: enhance error handling for unauthorized access and improve toast messages\n\n* fix: correct syntax error in response interceptor for redirect handling\n\n* Update ui-vue3/src/base/http/request.ts\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* feat: add YAML and XML editor components, update index references, and enhance error logging\n\n- Introduced new JavaScript files for YAML and XML syntax highlighting and editing capabilities.\n- Added a new component for updating YAML configurations with a structured editor interface.\n- Updated the index.html to reference the new JavaScript bundle for improved functionality.\n- Enhanced the HTTP request module to log errors during redirection on 401 responses for better debugging.\n\n* docs: Only supports exact matching; remove the \"prefix search\" function from the placeholder (background word)\n\n* docs: All sorting indicators for lists are initially hidden, including but not limited to the list pages for applications, instances, services, and traffic management\n\n* refactor: :art: Optimize the styles of some tables and adapt to backend changes\n\n* docs: api baseurl\n\n---------\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "4330280ccc043266b363ec9cca8e7013c13927e8",
      "tree": "8dbcea7a70bf8ecd408c3989f4ff219148fdde05",
      "parents": [
        "8eea7ed59365f4b5d28c9f8e39f9a7574a414876"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Fri Dec 26 11:14:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 11:14:14 2025 +0800"
      },
      "message": "release changelog (#1376)\n\n* changelog\n\n* chore: rename refactor to enhancements"
    },
    {
      "commit": "8eea7ed59365f4b5d28c9f8e39f9a7574a414876",
      "tree": "da51419a6919226d40ed8ce6832027906ff113aa",
      "parents": [
        "f00b8918c14353644d4dd9dced2958db4e0d0637"
      ],
      "author": {
        "name": "EVERFID",
        "email": "166227111+everfid-ever@users.noreply.github.com",
        "time": "Tue Dec 23 19:06:18 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 23 19:06:18 2025 +0800"
      },
      "message": "feat: support components to start in dependency order (#1370)\n\n* feat: support components to start in dependency order\n\n* imporve\n\n* fix\n\n* fix error import"
    },
    {
      "commit": "f00b8918c14353644d4dd9dced2958db4e0d0637",
      "tree": "b6d00ad551e39e6a18795c3925500495cc85bc37",
      "parents": [
        "c8d6100c299bccfd7bd36c6206b139f02c40c82b"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Mon Dec 22 07:37:47 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 22 07:37:47 2025 +0800"
      },
      "message": "feat: implement discovery backend by zk (#1371)\n\n* feat: implements discovery backend by zk\n"
    },
    {
      "commit": "c8d6100c299bccfd7bd36c6206b139f02c40c82b",
      "tree": "e937396cbd60b455ae2e6901008a074fdf42f7fc",
      "parents": [
        "cc7b273adf86fcf741d012c41e7d75d8c84d2a4f"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Sun Dec 21 10:52:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 21 10:52:51 2025 +0800"
      },
      "message": "Fix: Redirect to login page when receiving 401 unauthorized response from API (#1373)\n\n* feat: enhance error handling for unauthorized access and improve toast messages\n\n* feat: enhance error handling for unauthorized access and improve toast messages\n\n* fix: correct syntax error in response interceptor for redirect handling\n\n* Update ui-vue3/src/base/http/request.ts\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* feat: add YAML and XML editor components, update index references, and enhance error logging\n\n- Introduced new JavaScript files for YAML and XML syntax highlighting and editing capabilities.\n- Added a new component for updating YAML configurations with a structured editor interface.\n- Updated the index.html to reference the new JavaScript bundle for improved functionality.\n- Enhanced the HTTP request module to log errors during redirection on 401 responses for better debugging.\n\n---------\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "cc7b273adf86fcf741d012c41e7d75d8c84d2a4f",
      "tree": "24b80fde5ee544d195f8a47c0816fc99677780df",
      "parents": [
        "ecd2bdbfb2a38875063b7e416e5b79ff4260ab82"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sat Dec 20 16:08:16 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 20 16:08:16 2025 +0800"
      },
      "message": "fix: add indexer before init cause npe (#1372)\n\n* fix: add indexer before init cause npe\n\n* fix: unit test"
    },
    {
      "commit": "ecd2bdbfb2a38875063b7e416e5b79ff4260ab82",
      "tree": "fe65327c5808dcc01abd34449f4a6cf7040180e2",
      "parents": [
        "1ade640e2b0c42d8224ab996171322736aef8f1e"
      ],
      "author": {
        "name": "WyRainBow",
        "email": "weiyu9484@gmail.com",
        "time": "Sat Dec 20 12:32:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 20 12:32:42 2025 +0800"
      },
      "message": "fix counter bug (#1369)\n\n"
    },
    {
      "commit": "1ade640e2b0c42d8224ab996171322736aef8f1e",
      "tree": "fd8529ac262e69029335d514ba1e3c1090ddf2e0",
      "parents": [
        "1905190315bf94ade5be050d25a87a4d369b96e7"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sat Dec 13 21:44:18 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 13 21:44:18 2025 +0800"
      },
      "message": "feat: implements discovery backend by nacos (#1367)\n\n* feat: support nacos2 to do discovery\n\n* refractor: abstract nacos and nacos service\n\n* fix: unit test and license header\n\n* fix: copilot review problem\n\n* chore: remove redundant code"
    },
    {
      "commit": "1905190315bf94ade5be050d25a87a4d369b96e7",
      "tree": "97960cd9ccaf8c9fb4c933d6c595659c1cbcd7da",
      "parents": [
        "42d456127e042f4006e922455bc55054ff3dc6dc"
      ],
      "author": {
        "name": "Tew",
        "email": "finntew@outlook.com",
        "time": "Sun Nov 30 23:46:44 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 30 23:46:44 2025 +0800"
      },
      "message": "feat: implement mysql and postgresql store for resources (#1360)\n\n* feat: implement mysql and postgresql store for resources\n\n* fix some issues\n\n* ut: add some test cases\n\n* fix: dynamic table name"
    },
    {
      "commit": "42d456127e042f4006e922455bc55054ff3dc6dc",
      "tree": "b28d39626bdbbcffaee255fdda4032c77d5eceaf",
      "parents": [
        "0b8fa1ffd966ab1b10db22a38e0e2596194df8c4"
      ],
      "author": {
        "name": "Helltab",
        "email": "939255879@qq.com",
        "time": "Sun Nov 16 20:19:01 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 16 20:19:01 2025 +0800"
      },
      "message": "feat(UI): Support multiple registries (#1356)\n\n* feat(#1352): Support multiple registries: add registry select box and refresh main area on change\n\n* doc(build): build ui\n\n* fix(#1352): Set first available mesh after login when no mesh is set\n\n* doc(build): build ui\n\n* fix(conflict)\n\n* doc(build): build ui"
    },
    {
      "commit": "0b8fa1ffd966ab1b10db22a38e0e2596194df8c4",
      "tree": "55e31fe12bd035b83bd3df4656e11fbb7d2fd3f3",
      "parents": [
        "1e55d30635381f76d9e94478082a74b351887283"
      ],
      "author": {
        "name": "LGgbond",
        "email": "1493170339@qq.com",
        "time": "Sat Nov 15 15:26:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 15 15:26:06 2025 +0800"
      },
      "message": "fix: update response interceptor to handle success and error messages more accurately (#1355)\n\n"
    },
    {
      "commit": "1e55d30635381f76d9e94478082a74b351887283",
      "tree": "cc17624e0a526d832874312a654c41d443c0d716",
      "parents": [
        "4aae2061efc9cd7a4ca406c729c481e18c3d6fe0"
      ],
      "author": {
        "name": "WyRainBow",
        "email": "weiyu9484@gmail.com",
        "time": "Mon Nov 10 20:57:05 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 10 20:57:05 2025 +0800"
      },
      "message": "Implment Counter in local cache (#1345)\n\n"
    },
    {
      "commit": "4aae2061efc9cd7a4ca406c729c481e18c3d6fe0",
      "tree": "d06445e3831c1aae41b851c3fa35eb53e96e8a15",
      "parents": [
        "ca9fb03b8badb75577397bc9df8b916379eedadc"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Nov 09 20:08:49 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 09 20:08:49 2025 +0800"
      },
      "message": "feat: Defined a unified error (#1353)\n\n* feat: unified error code; separate application handler and service into parts\n\n* fix: license header lack\n\n* fix: copilot review err fix\n\n* fix: simplify the if-else condition\n\n* chore: rename Error() to String()\n\n* chore: add extra String() in Error\n\n* feat: 新增listMeshes接口\n\n* fix: copilot review"
    },
    {
      "commit": "ca9fb03b8badb75577397bc9df8b916379eedadc",
      "tree": "e576defae366d78b668ef821efc150b888346e95",
      "parents": [
        "90fdfc2b25602379cf7c17314a1edc1a355da682"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Nov 02 16:59:49 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 02 16:59:49 2025 +0800"
      },
      "message": "feat: support kubernetes as a backend engine (#1340)\n\n* feat: implement runtime engine using kubernetes"
    },
    {
      "commit": "90fdfc2b25602379cf7c17314a1edc1a355da682",
      "tree": "8bbb34f10a47ea73b635a092409ee8fbdee90212",
      "parents": [
        "9729ec775598eaea8be60c9abd24b958f3d1c67c"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Oct 12 11:28:15 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 12 11:28:15 2025 +0800"
      },
      "message": "feat: support memory type of store (#1332)\n\n* feat: support memory type of store\n\n* fix: muilti indexes should use intersecection\n\n* simplify code\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* refractor: GetByKeys return a list instead of map\n\n---------\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "9729ec775598eaea8be60c9abd24b958f3d1c67c",
      "tree": "f9578aaef80725beea666e3b2d535462f4353bc2",
      "parents": [
        "55e683ad78a90cfee4f4ceb376dfe035bd1196f2"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Sep 21 17:54:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 21 17:54:39 2025 +0800"
      },
      "message": "fix: refractor web handler and service to fix compile error; (#1325)\n\n* fix: refractor web handler and service to fix compile error;\n"
    },
    {
      "commit": "55e683ad78a90cfee4f4ceb376dfe035bd1196f2",
      "tree": "69014f52f8776ab9922d5e2fd38dcc2d43e1ad6e",
      "parents": [
        "5e5230df6b29486997bd6be0413e05677fccfa31"
      ],
      "author": {
        "name": "marsevilspirit",
        "email": "marsevilspirit@gmail.com",
        "time": "Sun Sep 21 09:55:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 21 09:55:51 2025 +0800"
      },
      "message": "delete unused ci (#1326)\n\n"
    },
    {
      "commit": "5e5230df6b29486997bd6be0413e05677fccfa31",
      "tree": "215ad5ec1e432d6b84da4a4d97d14e67d3a59849",
      "parents": [
        "0b13d901e59307c9c5f5034dc5e62e4eda37a691"
      ],
      "author": {
        "name": "marsevilspirit",
        "email": "marsevilspirit@gmail.com",
        "time": "Sun Sep 14 19:52:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 14 19:52:21 2025 +0800"
      },
      "message": "ci(makefile): add makefile for ci (#1322)\n\n* ci(makefile): add makefile for ci\n\n* style(ci): rename dubbo-admin ci"
    },
    {
      "commit": "0b13d901e59307c9c5f5034dc5e62e4eda37a691",
      "tree": "be4ee6665db47c68679977de5bd6fb1191677364",
      "parents": [
        "166a6923ec1ae83ab5fe8ceafda191e8949adf84"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sat Sep 06 16:07:03 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 06 16:07:03 2025 +0800"
      },
      "message": "fix: ci problem; directory and dependency tidy (#1320)\n\n* fix: ci probelm; diretory and dependency tidy\n\n* fix: lack license header\n\n* rm: remove redundant file"
    },
    {
      "commit": "166a6923ec1ae83ab5fe8ceafda191e8949adf84",
      "tree": "150cab1589a44b0c2e9e4b1ca437ec465e4d64f0",
      "parents": [
        "5961eb257d4384c7f50266075ba23c7b9e71a696"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Wed Sep 03 14:30:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 03 14:30:30 2025 +0800"
      },
      "message": "feat: informer general framework and engine/discovery interface definition (#1314)\n\n* feat: informer general framework and engine/discovery interface definition\n"
    },
    {
      "commit": "5961eb257d4384c7f50266075ba23c7b9e71a696",
      "tree": "48d3a261c9d1981b71e7d5df059cb31068682154",
      "parents": [
        "3ff3bbd8b4197e3c551de6d218f79224b02570b1"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Aug 10 18:01:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 10 18:01:40 2025 +0800"
      },
      "message": "chore: add index example and rename files (#1311)\n\n"
    },
    {
      "commit": "3ff3bbd8b4197e3c551de6d218f79224b02570b1",
      "tree": "df82cb0e63a1cf7cf86b1e08fcf0ebfd5561dff5",
      "parents": [
        "fbf1f31f57e457752978ce23961bb4b64e2bc266"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Aug 10 17:25:59 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 10 17:25:59 2025 +0800"
      },
      "message": "feat: support multi types of ResourceStore (#1310)\n\nDevelopment stage, mergo first"
    },
    {
      "commit": "fbf1f31f57e457752978ce23961bb4b64e2bc266",
      "tree": "86e3062679371a31b775a8e9efeb776d6fcda4d8",
      "parents": [
        "4085134a32c7820c0cd1bedd6e4b01e476d0e590"
      ],
      "author": {
        "name": "Jian Zhong",
        "email": "11638005@qq.com",
        "time": "Thu Jul 31 14:09:22 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 31 14:09:22 2025 +0800"
      },
      "message": "[chore] Tidy up the project code migration legacy (#1307)\n\n"
    },
    {
      "commit": "4085134a32c7820c0cd1bedd6e4b01e476d0e590",
      "tree": "f429b1594a502b012c7d4270d010897bc5b58764",
      "parents": [
        "37db89e909017ca8642c091c8546bfd966587346"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Jul 20 21:04:27 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 21:04:27 2025 +0800"
      },
      "message": "refractor: refractor resource name (#1304)\n\n"
    },
    {
      "commit": "37db89e909017ca8642c091c8546bfd966587346",
      "tree": "474e95ff69ff4c11e4627b3c9250af1ef749e0b1",
      "parents": [
        "4d9407f07e1b7c6d4fe700a7c34db5382cb3cc15"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Jul 20 17:54:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 17:54:43 2025 +0800"
      },
      "message": "[Break Change]: Transfer the source code from dubbo-kubernetes/refractor to here (#1302)\n\ntransfer source code from dubbo-kubernetes/refractor to this repository"
    },
    {
      "commit": "4d9407f07e1b7c6d4fe700a7c34db5382cb3cc15",
      "tree": "acfc255d23222d5ad33ed7df1f7964d7b2535804",
      "parents": [
        "7debb14333730b0019c5061101e0b2f81a071f34"
      ],
      "author": {
        "name": "robb",
        "email": "robocanic@gmail.com",
        "time": "Sun Jul 13 16:56:35 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 13 16:56:35 2025 +0800"
      },
      "message": "refractor: update .asf.yaml to open discussion (#1297)\n\n"
    },
    {
      "commit": "7debb14333730b0019c5061101e0b2f81a071f34",
      "tree": "e44ad9bca34f860928db0dc7bb01d6aa605a443d",
      "parents": [
        "a691c1f1264f0e5e14e85cfb288aba099ccf77d2"
      ],
      "author": {
        "name": "Ankit Shokeen",
        "email": "ankitshokeen2001@gmail.com",
        "time": "Wed May 07 07:10:19 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 07 09:40:19 2025 +0800"
      },
      "message": "Fix: Adjust Surefire and Jacoco plugin versions to address JVM crash in dubbo-admin-server (#1294)\n\n"
    },
    {
      "commit": "a691c1f1264f0e5e14e85cfb288aba099ccf77d2",
      "tree": "97e75b5d6fef1b33c8b3118a0dd03bda9fb1c995",
      "parents": [
        "7bca862a7d13d7f20ce415b15bfa71d4ead88d16"
      ],
      "author": {
        "name": "zyue110026",
        "email": "98426905+zyue110026@users.noreply.github.com",
        "time": "Fri Aug 16 17:34:05 2024 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 17 06:34:05 2024 +0800"
      },
      "message": "fix: image.registry not being respect (#1283)\n\nSigned-off-by: zyue110026 \u003c98426905+zyue110026@users.noreply.github.com\u003e"
    },
    {
      "commit": "7bca862a7d13d7f20ce415b15bfa71d4ead88d16",
      "tree": "d8795558ce735b40bd5e664e3fe94e3fa751cc69",
      "parents": [
        "92cc13414e27dd45bd8ab2db1d61b6bf07a69079"
      ],
      "author": {
        "name": "Jian Zhong",
        "email": "11638005@qq.com",
        "time": "Tue May 14 17:14:00 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 14 17:14:00 2024 +0800"
      },
      "message": "chore[docs]: Rename doc and add README (#1276)\n\n"
    },
    {
      "commit": "92cc13414e27dd45bd8ab2db1d61b6bf07a69079",
      "tree": "69dde4c1c073e1729ef9f39e7782a26df5d95685",
      "parents": [
        "42fa95fb41fa2678a27beab8eb06ca1eec26634f"
      ],
      "author": {
        "name": "Jian Zhong",
        "email": "11638005@qq.com",
        "time": "Sat Apr 06 22:01:21 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 06 22:01:21 2024 +0800"
      },
      "message": "refactor: second edition (#1271)\n\n"
    },
    {
      "commit": "42fa95fb41fa2678a27beab8eb06ca1eec26634f",
      "tree": "1142614c43d4ed902c6b7de1967c32a6325be60e",
      "parents": [
        "46335b14d97d2a2f75680bb122b977cd15f3c24c"
      ],
      "author": {
        "name": "Jian Zhong",
        "email": "11638005@qq.com",
        "time": "Mon Apr 01 02:16:16 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 01 02:16:16 2024 +0800"
      },
      "message": "Update the specification checklist and deployment directory (#1270)\n\nUpdate directory"
    },
    {
      "commit": "46335b14d97d2a2f75680bb122b977cd15f3c24c",
      "tree": "464976e67416270a2c8965d36eb28a11e64c185e",
      "parents": [
        "fbc23f4370105660bb9558d688fb18fe18a44af4"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Mon Apr 01 01:19:49 2024 +0800"
      },
      "committer": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Mon Apr 01 01:19:49 2024 +0800"
      },
      "message": "Refactor the first version\n"
    },
    {
      "commit": "fbc23f4370105660bb9558d688fb18fe18a44af4",
      "tree": "4a5cabc0e8b176b9e2a882da0fc94fabfcc691c7",
      "parents": [
        "c00fcf898eb7bac86724aeaacdb8da0e57b9b689"
      ],
      "author": {
        "name": "ran",
        "email": "7564221+ran222@users.noreply.github.com",
        "time": "Tue Feb 20 14:13:28 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 20 14:13:28 2024 +0800"
      },
      "message": "fix: fix jdk21 lombok compile error (#1267)\n\nfix lombok error:\r\njava.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field \u0027com.sun.tools.javac.tree.JCTree qualid\u0027"
    },
    {
      "commit": "c00fcf898eb7bac86724aeaacdb8da0e57b9b689",
      "tree": "70060c669eea2050fd9e6b7d9d81f2f132a037cc",
      "parents": [
        "db43f7eaca08141fa690490118936d43b5a64233"
      ],
      "author": {
        "name": "Albumen Kevin",
        "email": "jhq0812@gmail.com",
        "time": "Tue Jan 30 17:34:46 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 30 17:34:46 2024 +0800"
      },
      "message": "Update README.md"
    },
    {
      "commit": "db43f7eaca08141fa690490118936d43b5a64233",
      "tree": "b3fe9630c4b3c535ddbd42b457071bd36730f346",
      "parents": [
        "89d9a015502094decd066862b03001fa157b6323"
      ],
      "author": {
        "name": "Albumen Kevin",
        "email": "jhq0812@gmail.com",
        "time": "Tue Jan 30 17:34:20 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 30 17:34:20 2024 +0800"
      },
      "message": "Update README.md"
    },
    {
      "commit": "89d9a015502094decd066862b03001fa157b6323",
      "tree": "af83a79329d5f16a38727d45761cc13bb561d971",
      "parents": [
        "cbc5a530663db12fb19526cdcaa6831a511d9ca2"
      ],
      "author": {
        "name": "Albumen Kevin",
        "email": "jhq0812@gmail.com",
        "time": "Tue Jan 30 17:11:31 2024 +0800"
      },
      "committer": {
        "name": "Albumen Kevin",
        "email": "jhq0812@gmail.com",
        "time": "Tue Jan 30 17:11:31 2024 +0800"
      },
      "message": "Add notice\n"
    },
    {
      "commit": "cbc5a530663db12fb19526cdcaa6831a511d9ca2",
      "tree": "8657cb08d4e45facaf3ff3d4a11c1568a1982e2c",
      "parents": [
        "ffc2b9ae144359ca11576bd85bb0e2820f8edf53"
      ],
      "author": {
        "name": "Albumen Kevin",
        "email": "jhq0812@gmail.com",
        "time": "Tue Jan 02 18:51:52 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 02 18:51:52 2024 +0800"
      },
      "message": "Update NOTICE to 2024"
    },
    {
      "commit": "ffc2b9ae144359ca11576bd85bb0e2820f8edf53",
      "tree": "3a686209d8500dff4b22abde856f88c2de993e53",
      "parents": [
        "95657df6ebd8c870eb5777ec30dc90ea743e5f32"
      ],
      "author": {
        "name": "Jian Zhong",
        "email": "11638005@qq.com",
        "time": "Thu Nov 30 18:12:14 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 30 18:12:14 2023 +0800"
      },
      "message": "Fix missing apiserver module (#1229)\n\nrelease 0.6.0"
    },
    {
      "commit": "95657df6ebd8c870eb5777ec30dc90ea743e5f32",
      "tree": "1c6bf857cf884bb9d13b524c63fc21c25132e5a5",
      "parents": [
        "fdd3a6e4d907aff65693fee132585404fcfe7724"
      ],
      "author": {
        "name": "XS",
        "email": "tonycody@qq.com",
        "time": "Thu Nov 30 18:11:03 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 30 18:11:03 2023 +0800"
      },
      "message": "Support for selecting a specific service provider during debugging #1230 (#1231)\n\nfixes #1230"
    },
    {
      "commit": "fdd3a6e4d907aff65693fee132585404fcfe7724",
      "tree": "234dee2787ea8c7f1347e07dc2e7c524cb8a071c",
      "parents": [
        "d2e10d1a8e025b95821fc47d6097a251b05049fe"
      ],
      "author": {
        "name": "YuLuo",
        "email": "1481556636@qq.com",
        "time": "Wed Sep 20 10:54:04 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 20 10:54:04 2023 +0800"
      },
      "message": "fix the bug of docker deployment admin in readme (#1234)\n\nfixes #1233"
    },
    {
      "commit": "d2e10d1a8e025b95821fc47d6097a251b05049fe",
      "tree": "093b74c58b531f86fc4f4b29aaca2467f10a5560",
      "parents": [
        "99bbd8120b57486ff43184e9c1a9103306292fd8"
      ],
      "author": {
        "name": "realize096",
        "email": "102856702+realize096@users.noreply.github.com",
        "time": "Fri Sep 08 11:55:23 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 08 11:55:23 2023 +0800"
      },
      "message": "update ch.qos.logback:logback-core 1.2.3 to 1.2.8 (#1232)\n\n"
    },
    {
      "commit": "99bbd8120b57486ff43184e9c1a9103306292fd8",
      "tree": "45c9b0a7c66d1577c4d9b45ad479928d910861dd",
      "parents": [
        "fe3af5a4e995359f1c80cb125676a63f38a56d0d"
      ],
      "author": {
        "name": "Ken Liu",
        "email": "ken.lj.hz@gmail.com",
        "time": "Sat Sep 02 14:58:25 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 02 14:58:25 2023 +0800"
      },
      "message": "Update README.md"
    },
    {
      "commit": "fe3af5a4e995359f1c80cb125676a63f38a56d0d",
      "tree": "d17bcbe3a3453b5225fc3c927d6a907465665396",
      "parents": [
        "0bec3c0efc4622650e8488756fed420bc52efcc8"
      ],
      "author": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:07:20 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:07:20 2023 +0800"
      },
      "message": "update README.md\n"
    },
    {
      "commit": "0bec3c0efc4622650e8488756fed420bc52efcc8",
      "tree": "d25e9eae1d6ab942d270b0f028a0ee58f0dbc49a",
      "parents": [
        "d7e6a7034fb8a5a971367569844e24b75dfc3cd2"
      ],
      "author": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:04:22 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:04:22 2023 +0800"
      },
      "message": "prepare for the next iteration 0.7.0-SNAPSHOT\n"
    },
    {
      "commit": "d7e6a7034fb8a5a971367569844e24b75dfc3cd2",
      "tree": "95095b6949e5e175235bfaf1852d5e8b4f099e87",
      "parents": [
        "8e0b36f9f0914e2be199bd664baa813b34bbd931",
        "014da6246ef7f224597e4df8c128d38844b312d2"
      ],
      "author": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:01:42 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:01:42 2023 +0800"
      },
      "message": "Merge branch \u00270.6.0-release\u0027 into develop\n"
    },
    {
      "commit": "8e0b36f9f0914e2be199bd664baa813b34bbd931",
      "tree": "a0b4936e1b74322d58d3c52dd7ecac6043328a09",
      "parents": [
        "0c8b0b75b5a4d8927537d700fd309429fb036b97"
      ],
      "author": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:00:58 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 14:00:58 2023 +0800"
      },
      "message": "update README.md\n"
    },
    {
      "commit": "014da6246ef7f224597e4df8c128d38844b312d2",
      "tree": "9381f6e8a72283621bfc68712c01dd9361c9fb12",
      "parents": [
        "c9bf378e8b34b98cd8e39e6efcc205d76c5f07b9"
      ],
      "author": {
        "name": "Ken Liu",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 10:46:45 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 11:20:30 2023 +0800"
      },
      "message": "enhance nacos openapi logic (#1227)\n\n"
    },
    {
      "commit": "0c8b0b75b5a4d8927537d700fd309429fb036b97",
      "tree": "29febc392c938d6247a17d197d75d132ae52fa63",
      "parents": [
        "ad5a9cb30900e87eebbb0f3fcdbec5976acc3887"
      ],
      "author": {
        "name": "Ken Liu",
        "email": "ken.lj.hz@gmail.com",
        "time": "Fri Sep 01 10:46:45 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 01 10:46:45 2023 +0800"
      },
      "message": "enhance nacos openapi logic (#1227)\n\n"
    },
    {
      "commit": "c9bf378e8b34b98cd8e39e6efcc205d76c5f07b9",
      "tree": "12ccc4a7ff2fb00a131f0dfffeb100c2aeb6a9f3",
      "parents": [
        "778e00c70edd0e378c2cdf0bbc12bda817019c7a"
      ],
      "author": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Thu Aug 31 21:29:31 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Thu Aug 31 21:29:31 2023 +0800"
      },
      "message": "prepare for release\n"
    },
    {
      "commit": "778e00c70edd0e378c2cdf0bbc12bda817019c7a",
      "tree": "5a6d190fa1ec7b7465ea634a2e1861a5c8ae6ded",
      "parents": [
        "ad5a9cb30900e87eebbb0f3fcdbec5976acc3887"
      ],
      "author": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Thu Aug 31 20:43:50 2023 +0800"
      },
      "committer": {
        "name": "chickenlj",
        "email": "ken.lj.hz@gmail.com",
        "time": "Thu Aug 31 20:43:50 2023 +0800"
      },
      "message": "update version\n"
    },
    {
      "commit": "ad5a9cb30900e87eebbb0f3fcdbec5976acc3887",
      "tree": "c4f0ae16b5884557e8a4874b8818d56cb758c5c2",
      "parents": [
        "ab2e5848b70c603f727ec01a5f447f4baa55bba5"
      ],
      "author": {
        "name": "Ken Liu",
        "email": "ken.lj.hz@gmail.com",
        "time": "Thu Aug 31 19:38:14 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 31 19:38:14 2023 +0800"
      },
      "message": "fix nacos related issues (#1226)\n\n"
    },
    {
      "commit": "ab2e5848b70c603f727ec01a5f447f4baa55bba5",
      "tree": "e39207171a6ac4a83a0550af157129384a0d87a9",
      "parents": [
        "7654400c8adfdf6154d306fb09e2e574177959c9"
      ],
      "author": {
        "name": "Ken Liu",
        "email": "ken.lj.hz@gmail.com",
        "time": "Thu Aug 31 15:57:42 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 31 15:57:42 2023 +0800"
      },
      "message": "Revert \"Use `MetadataReport` to get metadata. (#1154)\" (#1225)\n\nThis reverts commit 63284158a67cd9bd655c4ed7df2e3e755608daf6."
    },
    {
      "commit": "7654400c8adfdf6154d306fb09e2e574177959c9",
      "tree": "c66dfd4451398d3a9e27d2dd85db5be735102a63",
      "parents": [
        "addf2fb3c5afe1d123431f261fc82986ce84cd7e"
      ],
      "author": {
        "name": "chenjjl",
        "email": "50745778+chenjjl@users.noreply.github.com",
        "time": "Fri Aug 25 14:23:56 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 14:23:56 2023 +0800"
      },
      "message": "Fix metrics collector NPE (#890)\n\nFixes #734, #585"
    },
    {
      "commit": "addf2fb3c5afe1d123431f261fc82986ce84cd7e",
      "tree": "ca1f03b7d785a15ef58971fdd84a2929ad7a1018",
      "parents": [
        "88eae5d5e16792b316ecbfb64d930b770a3a794e"
      ],
      "author": {
        "name": "vvsd",
        "email": "40269480+vvsd@users.noreply.github.com",
        "time": "Fri Aug 25 14:13:31 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 14:13:31 2023 +0800"
      },
      "message": "update io.springfox:springfox-swagger-ui 2.9.2 to 2.10.0 (#933)\n\n"
    },
    {
      "commit": "88eae5d5e16792b316ecbfb64d930b770a3a794e",
      "tree": "62d0dcd570f93b95023194eaecd99daff17fd472",
      "parents": [
        "9be25ab9a271f98efaabbe2cfe344a2593259033"
      ],
      "author": {
        "name": "wuwen",
        "email": "wuwen.55@aliyun.com",
        "time": "Fri Aug 25 14:11:06 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 14:11:06 2023 +0800"
      },
      "message": "Fix consumer refresh issue in instance registration cache. (#1081)\n\n"
    },
    {
      "commit": "9be25ab9a271f98efaabbe2cfe344a2593259033",
      "tree": "13aa684a430f70c5a085271f8853ec3d52bfabbf",
      "parents": [
        "77683ba76fb5573b30be0a6e61d809951da7e815"
      ],
      "author": {
        "name": "wuwen",
        "email": "wuwen.55@aliyun.com",
        "time": "Fri Aug 25 14:06:11 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 14:06:11 2023 +0800"
      },
      "message": "Fixed failure to read provider metadata in dubbo-3.1.x (#1086)\n\n"
    },
    {
      "commit": "77683ba76fb5573b30be0a6e61d809951da7e815",
      "tree": "a7b940278116e6f60c2c37a3c00b4b807f5baeef",
      "parents": [
        "63284158a67cd9bd655c4ed7df2e3e755608daf6"
      ],
      "author": {
        "name": "wuwen",
        "email": "wuwen.55@aliyun.com",
        "time": "Fri Aug 25 13:53:12 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 13:53:12 2023 +0800"
      },
      "message": "fix:Fix init of `ServiceMapping` when metadata center uses nacos. (#1148)\n\n"
    },
    {
      "commit": "63284158a67cd9bd655c4ed7df2e3e755608daf6",
      "tree": "c086254fbf52a3d3a7a861aff647c8c46a069d4d",
      "parents": [
        "2b8907720df06b388afec3297963f5a1bb9908ac"
      ],
      "author": {
        "name": "wuwen",
        "email": "wuwen.55@aliyun.com",
        "time": "Mon Jun 12 11:40:44 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 11:40:44 2023 +0800"
      },
      "message": "Use `MetadataReport` to get metadata. (#1154)\n\n"
    },
    {
      "commit": "2b8907720df06b388afec3297963f5a1bb9908ac",
      "tree": "6d454e73d5e9a5a6d97fe49e430538725ae69e87",
      "parents": [
        "e29bf459f261f71b1b78fe7f5ef7beae29806b5e"
      ],
      "author": {
        "name": "wuwen",
        "email": "wuwen.55@aliyun.com",
        "time": "Tue Mar 21 13:12:11 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 21 13:12:11 2023 +0800"
      },
      "message": "Fix the problem of slow service startup. (#1036)\n\n"
    },
    {
      "commit": "e29bf459f261f71b1b78fe7f5ef7beae29806b5e",
      "tree": "330481dcdde5e565137666fe31065f9096a4589e",
      "parents": [
        "6c873ba85bf599446b2c9bdd2910dd300f133fbf"
      ],
      "author": {
        "name": "conghuhu",
        "email": "56248584+conghuhu@users.noreply.github.com",
        "time": "Fri Feb 24 23:36:27 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 24 23:36:27 2023 +0800"
      },
      "message": "fix: enchace dubbo version to 3.1.6 to fix error in start up (#991)\n\nfixes #11635"
    },
    {
      "commit": "6c873ba85bf599446b2c9bdd2910dd300f133fbf",
      "tree": "d14e9285b303c96b06005fd3c3ea9a9215eb9022",
      "parents": [
        "f436f67c76a0b4cc758d2ab3c1f8f8eb5c3c3f60"
      ],
      "author": {
        "name": "songxiaosheng",
        "email": "81170548+songxiaosheng@users.noreply.github.com",
        "time": "Fri Feb 24 23:35:46 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 24 23:35:46 2023 +0800"
      },
      "message": "🔧 grafana dashboards v2 (#994)\n\n"
    },
    {
      "commit": "f436f67c76a0b4cc758d2ab3c1f8f8eb5c3c3f60",
      "tree": "97902e1b8e16f2934e60094e43c29df576fadd2e",
      "parents": [
        "3a9fcb33a2ecfa00352687f6286633a8897dd940"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Fri Feb 24 09:50:04 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 24 09:50:04 2023 +0800"
      },
      "message": "add nacos (#992)\n\n"
    },
    {
      "commit": "3a9fcb33a2ecfa00352687f6286633a8897dd940",
      "tree": "a3e33acd0590ed7514e54ed78f6c4932ebbfedf6",
      "parents": [
        "88df08fcd354528a341936aa0e3bc2e453bd5b62"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Tue Feb 21 21:40:02 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 21 21:40:02 2023 +0800"
      },
      "message": "add grafana (#987)\n\n"
    },
    {
      "commit": "88df08fcd354528a341936aa0e3bc2e453bd5b62",
      "tree": "2863f648b5b5f212a4e8dca6baeca7d33eba4137",
      "parents": [
        "a554199d561ae2250951f93c1c1ecbc11ea7aa77"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Mon Feb 20 19:42:46 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 19:42:46 2023 +0800"
      },
      "message": "add zookeeper (#982)\n\n"
    },
    {
      "commit": "a554199d561ae2250951f93c1c1ecbc11ea7aa77",
      "tree": "9eab1830459be0f1ebcd3b195855a3cce22d1243",
      "parents": [
        "814ccb5b6cd3ee632fa5b9f4ef4ab492373f5351"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Fri Feb 17 22:59:30 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 22:59:30 2023 +0800"
      },
      "message": "add values (#980)\n\n"
    },
    {
      "commit": "814ccb5b6cd3ee632fa5b9f4ef4ab492373f5351",
      "tree": "ef6efe9d84c2c8b6a1b8c0abf348920e19b206ef",
      "parents": [
        "447a330a4015710965c28632cc9d4c0f26b3e5a4"
      ],
      "author": {
        "name": "songxiaosheng",
        "email": "81170548+songxiaosheng@users.noreply.github.com",
        "time": "Fri Feb 17 22:43:43 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 22:43:43 2023 +0800"
      },
      "message": "grafana dashboards v1 (#979)\n\n"
    },
    {
      "commit": "447a330a4015710965c28632cc9d4c0f26b3e5a4",
      "tree": "aa5c1fbe0e44fc5171c3617bc5812d89bb5f7b8d",
      "parents": [
        "1b47a0d19cac0bbd481bd2dd3f22d17b303dea01"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Fri Feb 17 15:33:23 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 15:33:23 2023 +0800"
      },
      "message": "initial admin-stack (#977)\n\n"
    },
    {
      "commit": "1b47a0d19cac0bbd481bd2dd3f22d17b303dea01",
      "tree": "cbe2c4d105141ff54dbe0a4d23ed82571a1ee64d",
      "parents": [
        "a25eccfc7e7fe263456d9c190902c9f8d59f685e"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Fri Feb 17 14:39:08 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 14:39:08 2023 +0800"
      },
      "message": "initial deploy (#976)\n\n"
    },
    {
      "commit": "a25eccfc7e7fe263456d9c190902c9f8d59f685e",
      "tree": "2a16c509c45a2209d2a610a30a6227544ca37fb4",
      "parents": [
        "085635dbcc3dc91187d3df93b5816327dc64d105"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Wed Feb 15 15:02:43 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 15 15:02:43 2023 +0800"
      },
      "message": "add dubbo-admin nacos (#972)\n\n"
    },
    {
      "commit": "085635dbcc3dc91187d3df93b5816327dc64d105",
      "tree": "074a38bd6b7709af493219733a7eba9fa1a01e38",
      "parents": [
        "105f12a2120d5e5ec9c81c80f57c3a063a482b57"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Tue Feb 14 19:38:05 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 14 19:38:05 2023 +0800"
      },
      "message": "add dubbo-admin-zookeeper (#971)\n\n"
    },
    {
      "commit": "105f12a2120d5e5ec9c81c80f57c3a063a482b57",
      "tree": "0888eebce533a833f89efdc74ea5cf360f8a1c76",
      "parents": [
        "4836ee0c0fc3fdb74449fdaf749d5b04a699dba8"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Fri Feb 10 10:53:36 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 10 10:53:36 2023 +0800"
      },
      "message": "change readme (#967)\n\n"
    },
    {
      "commit": "4836ee0c0fc3fdb74449fdaf749d5b04a699dba8",
      "tree": "547fe01acce6374cc6237c4481ea3c420283e216",
      "parents": [
        "f179042d142cbb7153ecdf5f0aa8cabe822a9796"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Thu Feb 09 10:04:09 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 09 10:04:09 2023 +0800"
      },
      "message": "initial docker (#964)\n\n"
    },
    {
      "commit": "f179042d142cbb7153ecdf5f0aa8cabe822a9796",
      "tree": "3d246839637adc28edac8996774e23e76f8239e8",
      "parents": [
        "83e293b239b3be3d3541fb9ae4aa369c2b22e895"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Sun Feb 05 00:33:11 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 05 00:33:11 2023 +0800"
      },
      "message": "add storage (#963)\n\n"
    },
    {
      "commit": "83e293b239b3be3d3541fb9ae4aa369c2b22e895",
      "tree": "02417a5740b709d890403461783e2a97f0917454",
      "parents": [
        "b0bf24a427185847e5713b025559e80fe9a0448a"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Fri Feb 03 23:46:13 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 03 23:46:13 2023 +0800"
      },
      "message": "helm initial  (#961)\n\n"
    },
    {
      "commit": "b0bf24a427185847e5713b025559e80fe9a0448a",
      "tree": "200f9138e3059fdcc7a317c04d2ff9f153e45006",
      "parents": [
        "e279afd7f8c95da9c468b552cd13f5eb7c11f81c"
      ],
      "author": {
        "name": "mfordjody",
        "email": "11638005@qq.com",
        "time": "Thu Feb 02 16:54:10 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 02 16:54:10 2023 +0800"
      },
      "message": "Update deployment (#960)\n\n"
    },
    {
      "commit": "e279afd7f8c95da9c468b552cd13f5eb7c11f81c",
      "tree": "631475f66a9adc70ffe5d9f9830e6bbeb4a13a4d",
      "parents": [
        "bd36d09261da21b261a3e3c9e37c9fa85f0fc181"
      ],
      "author": {
        "name": "Albumen Kevin",
        "email": "jhq0812@gmail.com",
        "time": "Fri Jan 06 15:10:20 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 06 15:10:20 2023 +0800"
      },
      "message": "Update NOTICE"
    },
    {
      "commit": "bd36d09261da21b261a3e3c9e37c9fa85f0fc181",
      "tree": "f4ebc9a4bf42e65976d133866152251912759157",
      "parents": [
        "3ae9dfa82c844ee3b76c234fa85203164b983ecc"
      ],
      "author": {
        "name": "wxbty",
        "email": "38374721+wxbty@users.noreply.github.com",
        "time": "Sun Dec 25 21:14:52 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 25 21:14:52 2022 +0800"
      },
      "message": "Update README_ZH.md (#951)\n\n* Update README_ZH.md\r\n\r\n* Update README.md"
    },
    {
      "commit": "3ae9dfa82c844ee3b76c234fa85203164b983ecc",
      "tree": "12c4868181c040112953bf0e1ccab43479a08159",
      "parents": [
        "290126c9952348234b08ba7a814be286470c323a"
      ],
      "author": {
        "name": "Robert LU",
        "email": "robert.lyb@alibaba-inc.com",
        "time": "Tue Dec 13 15:38:19 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 13 15:38:19 2022 +0800"
      },
      "message": "adjust port (#948)\n\n"
    }
  ],
  "next": "290126c9952348234b08ba7a814be286470c323a"
}
