This is an automated email from the ASF dual-hosted git repository.

dmsolr pushed a change to branch issue-7720-instance-observability-links
in repository https://gitbox.apache.org/repos/asf/shenyu.git


 discard 48fc1b6b1a feat: link admin instance diagnostics to observability 
backends
     add 5aa9517a8f refactor(registry): remove the orphaned 
shenyu-registry-consul module (#7583) (#7611)
     add 971354fef1 admin(dashboard): sync dashboard build from 
apache/shenyu-dashboard@649bd45bd0a1609b09d4b32c9c90b85544515a72 (#7620)
     add a5f412e6f7 fix: stream AI and MCP response chunks instead of buffering 
via collectList (#6795) (#7484)
     add 34f5180c18 feat(ai-proxy): harden reactive transport (#7629)
     add 55fcd1c6fc fix(sign): reject malformed authorization parameters 
(#6475) (#7633)
     add b4e115367f feat(agent-gateway): trace logical MCP tool calls with 
application telemetry (#7622)
     add 0363808cba fix(context-path): preserve paths when prefix does not 
match (#6508) (#7632)
     add 6e4cb4cd98 docs(apollo): announce staged plugin-store migration (#7627)
     add e9c6ef580c feat(k8s): configure ingress controller tuning (#7621)
     add bfc34dd6cf feat: add inbound distributed tracing span for gateway 
requests (#7615) (#7619)
     add 36d388815d fix(admin): enforce unique data permission grants (#7610)
     add 087cec130b fix(infra): include common module in infra reactor (#7588) 
(#7606)
     add 1b3f0f7898 fix: validate namespace before config import (#7634)
     add 8262f498d5 fix(request): support partial mutation configurations 
(#6507) (#7631)
     add 4025c308f0 fix: block namespace deletion when discovery records exist 
(#7630)
     add fd2a1efac9 refactor(register): establish main-owned v1 protocol 
boundary (#7605)
     add 115ea34a6e fix(admin): bound ai proxy key resolution and retry 
caching. (#7598)
     add ad89a887ad fix(wasm): isolate concurrent executions with instance pool 
(#7582)
     add 1d599d90e8 [ISSUE #7383] Harden provider profiles and capability 
validation. (#7580)
     add 799dbfe93a refactor: extract shared discovery upstream data handler 
base (#6605) (#7487)
     add 7c541d78eb fix(admin): scope namespace plugin deletion to the request 
namespace (#7571)
     add 029f30f1a2 fix(admin): defer standalone config dispatch until 
transaction commit (#7640)
     add 508cccea3c docs: record registry core/implementation decoupling in 
release notes (#7585) (#7642)
     add e151c93e2f fix(httpclient): apply configured event loop resources 
(#7654)
     add 919ca775f0 feat: record the gateway span outcome and normalized 
attributes (#7613) (#7655)
     add 50c6481e02 fix(http-sync): recover login attempts after malformed 
responses (#7656)
     add 2fcf523868 fix(admin): clear failed upstream health-check futures 
(#7657)
     add 1eabdf7d1a fix(plugin): preserve explicit response content types 
(#7658)
     add efea8e0233 fix(admin): watch discovery services while backends are 
offline (#7659)
     add b4399fea9e fix(sync): resolve proxy selector deletions by id (#7660)
     add 58b7d79e27 [ISSUE #6505][ISSUE #6506] Preserve HTTP response cache 
semantics (#7662)
     add 297ac6f849 fix(plugin): bound match cache entries with configurable 
TTL (#7651) (#7664)
     add 3af7bfc6a2 test: add controller tests for discovery and proxy selector 
(#7511)
     add 66d7d954ca [ISSUE #7590] Make supportSwaggerPluginSet a volatile 
instance field. (#7604)
     add 8f3ee32eab infra: add /retest action (#7683)
     add 3648d53517 feat: add bounded parallel MCP remote-directory refresh 
capability (#7648) (#7675)
     add b534088619 feat: propagate the gateway trace context to the upstream 
service (#7616) (#7682)
     add c958888290 feat: export the gateway spans over OTLP and make the 
tracing configurable (#7612) (#7705)
     add d867e8d0d3 fix(admin): initialise V1Scale spec before setting replicas 
(#7698) (#7710)
     add 7c99d60908 [ISSUE #6602] Enforce Maven and Java build requirements 
(#7680)
     add 50a25f53f1 fix(plugin): bound MCP tool-response capture memory (#7646) 
(#7671)
     add a186c1cd6d fix(log): reduce routine matching and configuration-sync 
log volume (#7643) (#7663)
     add 903363f9bf Isolate pending requests in MCP Streamable HTTP sessions 
(#7638)
     add d971ca5434 fix(loadbalancer): preserve Dubbo upstream group and 
version identity (#7625)
     add 5f35cb0343 refactor(admin): remove obsolete API document viewer 
backend (#7592) (#7603)
     add e50646a23b fix(wasm): harden fixture verification and document 
cleanup. (#7581)
     add 9aa6bee969 OSPP2:Preserve MCP timeout responses and metrics (#7574)
     add e61fb99904 fix: skip discovery upstream import entries without a 
handler id (#6695) (#7517)
     add cd00ac4cbb perf(admin): index operation log queries (#6675) (#7404)
     add e22a6d9be4 perf(web): reuse compiled CORS origin patterns (#7263)
     add 864c44ddcb fix(httpclient): retry network failures with backoff (#7201)
     add 447206b995 perf(admin): coalesce selector import events (#7181)
     add b7e940c612 fix(web): isolate beans by plugin identity (#7093)
     add b2bc43376a infra: add PR comment commands for assign, close, and lgtm 
(#7770)
     add e9e15a3589 fix(httpclient): preserve failover with fixed retry backoff 
(#7777)
     add 67ef2b4f54 fix(admin): use ROWNUM for the Oracle instance identity 
lookup (#7724) (#7754)
     add f00c157123 fix(admin): restore empty namespace refreshes in cluster 
mode (#7769)
     add 04f7c2e8b7 test: cover the tracing of the gateway with an integrated 
test (#7617) (#7784)
     add 7cc1818ace admin(dashboard): sync dashboard build from 
apache/shenyu-dashboard@b2586eac8ef16e5ceb2e0995554eaa49c5c40828 (#7787)
     add 533096bd43 feat(logging): expose queue admission and capacity metrics 
(#7833)
     add 0c495e609f fix(ci): retry Maven Central downloads and restore E2E 
cache (#7781)
     add f5755bf870 [improve] Improve logging sample rate validation (#7834)
     add a9043c7b77 fix(cache): initialize selector cache backends atomically 
(#7795)
     add 0423556a3a fix(plugin): evict cached rule handles when explicitly 
cleared. (#7794)
     add b173d9cb1c fix(request): preserve encoded paths when rebuilding the 
request uri (#7685) (#7779)
     add 32a1141d97 fix(admin): expose the instance record id in the instance 
API (#7731) (#7742)
     add 6dc19834f2 fix(plugin): prevent expired memory cache entries from 
accumulating (#7745)
     add 8bfdc9d413 fix(rewrite): look up rewrite metadata with an empty prefix 
when context-path is absent (#7796) (#7798)
     add f4bc4afa92 fix(admin): forward instance heartbeats to the master admin 
(#7778) (#7797)
     add 467e6d2750 fix(admin): ignore the management server in the startup 
listener (#7789)
     add 03d0141781 fix(admin): map DiscoveryVO name accessors to the 
discoveryName field (#7788)
     add 5ebaa340d9 fix(sdk): give each invocation independently owned header 
values (#7771) (#7786)
     add 7086afaffd [ISSUE #7716] Normalize instance information across 
reporting paths. (#7785)
     add bb076aedc0 fix(admin): stop the master selector scheduler on cluster 
shutdown (#7774) (#7782)
     add ef6f32b429 fix(plugin): prevent corruption of URL-encoded RPC query 
and form parameters (#7757)
     add f271f6c74d fix(sdk): accept all 2xx responses and validate failures on 
void methods (#7711) (#7740)
     add 059748ce25 fix(ai): prevent token usage loss across streaming flush 
boundaries (#7730)
     add dc46e1087e fix(sdk): quote path-variable replacement values in the 
Spring SDK (#7712) (#7729)
     add 00c2e56093 fix(bootstrap): own and dispose the gateway's custom Netty 
event loops (#7715) (#7726)
     add 315bcbc3d1 fix(admin): refresh instance metadata on repeated 
heartbeats (#7692) (#7721)
     add 8b3b0d330f [ISSUE #6461] Follow advertised WebSocket master addresses 
(#7661)
     add 7b57fa4070 fix(plugin-param-mapping): apply additions to empty form 
requests. (#7755)
     add fff85f433b fix(logging): shutdown hook cleanup reaches close0 when 
hook removal throws (#7686) (#7699)
     add 12502edda3 fix(register): key URI retry fallbacks by namespace (#7639)
     add 26645fb445 build: remove misspelled log4j-1.2-api property and 
obsolete zookeeper log4j exclusion (#7609) (#7618)
     add de93952d9f fix(alert): guard against null alert/dateCreated in email 
alert template (#6457)
     add 3630671e20 fix(plugin-dubbo): reconcile gray selector caches on full 
handle update (#7814)
     add 81a85f3a4a feat(client-springmvc): register all Spring MVC path 
aliases (#7813)
     add eb0c32ff79 test(admin): use json payloads in the heartbeat metadata 
tests (#7692) (#7846)
     add e1f9ea87be perf(ai): parse the rule words only on a dictionary cache 
miss (#7829) (#7850)
     add 71baadfcca perf(cache): keep memory cache lookups on the subscribing 
thread (#7849)
     add 0e388ff338 fix(admin): notify gateways when discovery upstreams are 
deleted (#7819)
     add 1e9b2e2996 fix(loadbalancer): normalize bare protocol values in the 
upstream domain (#7804) (#7806)
     add 9bd13166e5 fix(agent-gateway): validate initialized notification 
acknowledgements (#7805)
     add 2dfe0d240a fix(admin): stop dynamic monitoring when no scaling policy 
is active (#7783)
     add 21e3c65ee3 fix(plugin-grpc): preserve upstreams on unchanged resolver 
notifications. (#7747)
     add 502f107157 fix(admin): use two-argument CONCAT for Oracle 
operation-log searches (#7738) (#7756)
     add 8af03fc9bb fix (admin) : shut down scaling monitor scheduler on 
context close. (#7799)
     add 65730ff88c fix(concurrent): count the -Xmx headroom as available 
memory in MemoryLimitCalculator (#7809)
     add fe6ab5b22a fix(httpclient): support non-enum status codes on decorated 
responses (#7801) (#7810)
     add 581bee9f15 [type:fix] Immediate websocket master rediscovery and 
configurable check interval (#7808) (#7812)
     add 0c0dfb5b47 fix(admin): order Oracle operation logs before applying the 
row limit (#7739) (#7758)
     add 3b1b7eae8a fix(register): report the bootstrap instance type from the 
independent heartbeat (#7696) (#7722)
     add 4d33568dda perf(grpc): reuse parsed rpcExt metadata across requests 
(#7831) (#7841)
     add 4af8e213f6 admin(dashboard): sync dashboard build from 
apache/shenyu-dashboard@370cc40095ef4aa820449b7a9b736c7c98b6e9ab (#7866)
     add dce6c01d95 feat(agent-gateway): authorize tools from trusted 
identities (#7827)
     add 0de96a9dcb fix(admin): keep persisted instance state when local 
heartbeat is missing (#7697) (#7863)
     add e562313ed1 perf(sync): avoid a full-payload byte allocation for the 
websocket size log (#7836) (#7851)
     add 261db07cae fix(logging): apply plugin body size limits to 
request/response logging (#7852)
     add 0f61285cde fix(admin): strip hop-by-hop headers in cluster forward 
filter (#7807) (#7822)
     add e09eb35b68 fix(register): report the bound server port for gateway 
instance identity (#7732) (#7861)
     add 81f086b40b fix(base): resolve partial identities when removing 
metadata (#7790) (#7858)
     add 46b5d157f1 perf(admin): avoid full-payload redaction in the websocket 
send log (#7837) (#7856)
     add 10da866ef4 fix(rewrite): fail safe on an unusable rewrite rule handle 
(#7853) (#7854)
     add 3ae637febe perf(admin): coalesce burst HTTP cache rebuilds by 
namespace and group (#7843)
     add 14018c416f perf(admin): reuse canonical websocket reconciliation 
snapshots. (#7842)
     add 0e6216d6ed fix: enforce single half-open circuit breaker probe (#7802)
     add a02acfa53d fix(admin): publish recovered upstream status in discovery 
snapshots (#7792)
     add 85cbda4d65 fix(admin): exclusion search drops plugins matching any 
searchable field (#7690) (#7691)
     add ab5eeb9fae [ISSUE #6470] Apply AI Proxy plugin-level defaults at 
runtime (#7676)
     add 8785360b01 feat(loadbalancer): expose health-check round observability 
metrics (#7647) (#7674)
     add 61c9632f39 perf(plugin-base): batch namespace snapshot cache updates 
and invalidation (#7645) (#7672)
     add 4bec5dff5e test(admin): guard the operation-log audit indexes per 
dialect (#6675) (#7544)
     add 2777620105 feat: implement MQTT Last Will and Testament (LWT) (#6902)
     add 17e68d7f4a feat(ai-proxy): harden configurable retry and fallback 
policy (#7668)
     add 3f6733db2c [ISSUE #7652] Support standalone Bootstrap configuration 
from a local file (#7673)
     add 3d9678ffef perf(admin): batch discovery synchronization queries (#7268)
     add 4b81a9c1ef [ISSUE #7826][ISSUE #7760] Reuse Divide keys and enforce 
one recovery probe (#7857)
     add a241426e0c fix(sign): forward configured app parameter (#7199)
     add 598b2ab148 fix(httpclient): enable keep-alive by default (#7179)
     add ee52a6f948 fix(admin): persist the instance last heartbeat time (#7859)
     add af9d695e87 fix(admin): pull API docs once per upstream event and skip 
the lock when already refreshed (#7872)
     add dd8b31240d fix(admin): preserve discovered upstreams across stale 
health checks (#7882)
     add 0facf7b7e9 fix(admin): enforce unique instance identity across 
concurrent writers (#7885)
     add 143070de07 refactor(ai-proxy): separate response adapter from upstream 
request (#7876)
     add 381f75a447 Expose configured HTTP routes as Agent Gateway tools (#7572)
     add cf39582215 OSPP: feat(divide): propagate discovery upstream labels 
(#7847)
     add 9f57e93016 refactor(admin): rename misspelled loged column/field to 
logged in selector and rule (#7589) (#7677)
     add 69ed0a2560 Adapt authenticated JWT identities for Agent Gateway tools 
(#7811)
     add cc9a69a29a refactor(admin): drop commons-io by replacing two 
IOUtils.copy call sites (#7607) (#7887)
     add 8c21742a45 fix(admin): activate future time-window scaling policies 
(#7706) (#7886)
     add 49720801a9 fix(admin): prevent scaling rules with the same metric from 
overwriting each other (#7875)
     add fda742c48e perf(httpclient): add lightweight execution path for 
retry=0 (#7824) (#7835)
     add 0c8ebc8b31 fix(rewrite): reject unusable rule handles at the admin 
write boundary (#7873) (#7874)
     add 5c23780aad feat: link admin instance diagnostics to observability 
backends
     add 6cb1be5093 test(admin): pass InstanceDiagnosticsService to 
InstanceController in RegistrationProtocolCompatibilityTest

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (48fc1b6b1a)
            \
             N -- N -- N   refs/heads/issue-7720-instance-observability-links 
(6cb1be5093)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/client-migration-inventory.json            |   40 +
 .github/scripts/check-client-boundary.py           |  127 ++
 .github/scripts/maven-with-retry-test.sh           |  181 ++
 .github/scripts/maven-with-retry.sh                |  103 +
 .github/scripts/native-sql-matrix.py               |  128 +-
 .github/scripts/resolve-test-case-matrix.sh        |   11 +
 .github/scripts/test-client-boundary.py            |  110 +
 .github/scripts/test-native-sql-matrix.py          |   66 +
 .github/scripts/test-wasm-fixtures.py              |  197 ++
 .github/scripts/verify-wasm-fixtures.py            |   33 +-
 .github/workflows/assign.yml                       |   79 +
 .github/workflows/ci.yml                           |   34 +-
 .github/workflows/close.yml                        |   71 +
 .github/workflows/e2e-k8s.yml                      |   24 +-
 .github/workflows/integrated-test.yml              |   13 +-
 .github/workflows/lgtm.yml                         |   66 +
 .github/workflows/native-sql-matrix.yml            |    4 +-
 .github/workflows/retest.yml                       |  124 ++
 .github/workflows/wasm-fixtures.yml                |    4 +
 README.md                                          |    2 +-
 RELEASE-NOTES.md                                   |   69 +
 actions/scripts/issue-manager.sh                   |    8 +
 db/init/mysql/schema.sql                           |   12 +-
 db/init/oracle/schema.sql                          |   18 +-
 db/init/pg/create-table.sql                        |   16 +-
 db/upgrade/2.7.1-upgrade-2.7.2-mysql.sql           |   12 +-
 db/upgrade/2.7.1-upgrade-2.7.2-ob.sql              |   14 +
 db/upgrade/2.7.1-upgrade-2.7.2-og.sql              |   15 +
 db/upgrade/2.7.1-upgrade-2.7.2-oracle.sql          |   18 +
 db/upgrade/2.7.1-upgrade-2.7.2-pg.sql              |   15 +
 db/upgrade/2.7.2-upgrade-2.7.3-h2.sql              |   42 +
 db/upgrade/2.7.2-upgrade-2.7.3-mysql.sql           |   40 +
 db/upgrade/2.7.2-upgrade-2.7.3-ob.sql              |   40 +
 db/upgrade/2.7.2-upgrade-2.7.3-og.sql              |   42 +
 db/upgrade/2.7.2-upgrade-2.7.3-oracle.sql          |   42 +
 db/upgrade/2.7.2-upgrade-2.7.3-pg.sql              |   42 +
 db/upgrade/native-sql-matrix.md                    |   11 +
 db/upgrade/upgrade-guide.md                        |   75 +
 docs/agent-gateway-key-auth.md                     |  102 +
 docs/agent-gateway-principal-authorization.md      |  129 ++
 .../divide-circuit-breaker/environment.txt         |    7 +
 .../divide-circuit-breaker/profile-summary.csv     |   52 +
 docs/benchmarks/divide-circuit-breaker/results.csv |   55 +
 .../divide-gateway/DivideGatewayBenchmark.java     |  420 ++++
 docs/benchmarks/divide-gateway/README.md           |  192 ++
 .../divide-gateway/baseline-execution-samples.txt  | 2192 ++++++++++++++++++++
 docs/benchmarks/divide-gateway/correctness.json    |    1 +
 docs/benchmarks/divide-gateway/environment.txt     |    6 +
 .../divide-gateway/optimized-execution-samples.txt | 1853 +++++++++++++++++
 docs/benchmarks/divide-gateway/profile-summary.csv |  488 +++++
 .../divide-gateway/request-local-only.csv          |   55 +
 docs/benchmarks/divide-gateway/results.csv         |   55 +
 docs/benchmarks/divide-gateway/run.ps1             |  142 ++
 docs/benchmarks/http-cache-rebuild-256.csv         |   73 +
 docs/benchmarks/http-cache-rebuild-4096.csv        |   73 +
 docs/benchmarks/websocket-reconciliation/run-1.csv |  145 ++
 docs/benchmarks/websocket-reconciliation/run-2.csv |  145 ++
 docs/cache-request-eligibility.md                  |   59 +
 docs/divide-circuit-breaker-benchmark.md           |  199 ++
 docs/http-cache-rebuild-coalescing.md              |  222 ++
 docs/plugin-store-apollo.md                        |  210 ++
 docs/websocket-reconciliation-benchmark.md         |  226 ++
 pom.xml                                            |   34 +-
 shenyu-admin/pom.xml                               |   15 +-
 .../src/http/http-debug-rule-controller-api.http   |    4 +-
 .../http/http-debug-selector-controller-api.http   |    4 +-
 .../config/RegistrationProtocolInterceptor.java    |   55 +
 .../shenyu/admin/config/WebConfiguration.java      |   10 +
 .../config/properties/HttpSyncProperties.java      |   82 +
 .../admin/controller/AlertReportController.java    |   14 +-
 .../shenyu/admin/controller/ApiDocController.java  |  110 -
 .../ClusterDataChangedEventController.java         |    2 +-
 .../controller/ConfigsExportImportController.java  |   10 +-
 .../admin/controller/InstanceController.java       |   12 +-
 .../controller/NamespacePluginController.java      |    2 +-
 .../ShenyuClientHttpRegistryController.java        |   28 +-
 .../admin/discovery/DefaultDiscoveryProcessor.java |    4 +-
 .../DiscoveryDataChangedEventSyncListener.java     |   24 +
 .../listener/AbstractDataChangedListener.java      |   26 +-
 .../admin/listener/ApplicationStartListener.java   |    8 +
 .../listener/ClusterDataChangedEventForwarder.java |    1 +
 .../admin/listener/DataChangedEventDispatcher.java |  117 +-
 .../listener/http/HttpCacheRebuildCoordinator.java |  173 ++
 .../http/HttpLongPollingDataChangedListener.java   |   90 +-
 .../listener/websocket/WebsocketCollector.java     |   60 +-
 .../websocket/WebsocketDataReconciler.java         |   54 +-
 .../shenyu/admin/mapper/DiscoveryRelMapper.java    |    8 +
 .../mode/cluster/filter/ClusterForwardFilter.java  |  113 +-
 .../mode/cluster/service/ShenyuClusterService.java |   16 +-
 .../shenyu/admin/model/dto/AlertReportRequest.java |  101 +
 .../model/dto/ClusterDataChangedEventPayload.java  |   23 +
 .../org/apache/shenyu/admin/model/dto/RuleDTO.java |   42 +-
 .../apache/shenyu/admin/model/dto/SelectorDTO.java |   42 +-
 .../shenyu/admin/model/entity/InstanceInfoDO.java  |   25 +-
 .../apache/shenyu/admin/model/entity/RuleDO.java   |   44 +-
 .../shenyu/admin/model/entity/SelectorDO.java      |   44 +-
 .../admin/model/event/rule/RuleChangedEvent.java   |    4 +-
 .../model/event/selector/SelectorChangedEvent.java |    4 +-
 .../apache/shenyu/admin/model/vo/DiscoveryVO.java  |    4 +-
 .../org/apache/shenyu/admin/model/vo/DocVO.java    |  186 --
 .../shenyu/admin/model/vo/InstanceInfoVO.java      |   23 +
 .../org/apache/shenyu/admin/model/vo/RuleVO.java   |   26 +-
 .../apache/shenyu/admin/model/vo/SelectorVO.java   |   26 +-
 .../monitor/subject/cache/ScaleRuleCache.java      |   29 +-
 .../admin/scale/scaler/KubernetesScaler.java       |    8 +-
 .../shenyu/admin/scale/scaler/ScaleService.java    |  138 +-
 .../scale/scaler/dynamic/TaskSchedulerManager.java |   37 +-
 .../admin/service/DiscoveryUpstreamService.java    |    8 +
 .../admin/service/NamespacePluginService.java      |    3 +-
 .../service/impl/DiscoveryUpstreamServiceImpl.java |  128 +-
 .../admin/service/impl/InstanceCheckService.java   |    7 +-
 .../service/impl/InstanceInfoServiceImpl.java      |   20 +-
 .../service/impl/NamespacePluginServiceImpl.java   |    8 +-
 .../admin/service/impl/NamespaceServiceImpl.java   |    5 +
 .../service/impl/ProxySelectorServiceImpl.java     |   10 +
 .../shenyu/admin/service/impl/RuleServiceImpl.java |    3 +
 .../admin/service/impl/SandboxServiceImpl.java     |    4 +-
 .../admin/service/impl/ScaleRuleServiceImpl.java   |    9 +-
 .../admin/service/impl/SelectorServiceImpl.java    |   48 +-
 .../service/impl/SwaggerImportServiceImpl.java     |    6 +-
 .../admin/service/impl/UpstreamCheckService.java   |  164 +-
 .../shenyu/admin/service/manager/DocManager.java   |    8 -
 .../admin/service/manager/impl/DocManagerImpl.java |   17 -
 .../manager/impl/LoadServiceDocEntryImpl.java      |    9 +-
 .../manager/impl/PullSwaggerDocServiceImpl.java    |   27 +-
 .../AbstractShenyuClientRegisterServiceImpl.java   |    2 +-
 .../FallbackShenyuClientRegisterService.java       |    6 +-
 .../ShenyuClientRegisterMcpServiceImpl.java        |    2 +-
 .../service/support/AiProxyRealKeyResolver.java    |  146 +-
 .../shenyu/admin/transfer/DiscoveryTransfer.java   |   16 +-
 .../utils/DiscoveryUpstreamPropsValidator.java     |   62 +
 .../shenyu/admin/utils/InstanceInfoUtils.java      |   64 +
 .../apache/shenyu/admin/utils/SelectorUtil.java    |    2 +-
 .../validator/RewriteRuleHandleValidator.java      |   62 +
 shenyu-admin/src/main/resources/application.yml    |    4 +
 .../resources/mappers/discovery-rel-sqlmap.xml     |   15 +
 .../resources/mappers/instance-info-sqlmap.xml     |   35 +-
 .../mappers/namespace-plugin-rel-sqlmap.xml        |    2 +-
 .../mappers/operation-record-log-sqlmap.xml        |   15 +-
 .../src/main/resources/mappers/plugin-sqlmap.xml   |    2 +-
 .../src/main/resources/mappers/rule-sqlmap.xml     |   22 +-
 .../src/main/resources/mappers/selector-sqlmap.xml |   24 +-
 .../src/main/resources/sql-script/h2/schema.sql    |   10 +-
 .../src/main/resources/static/index.16dee401.js    |    1 +
 .../src/main/resources/static/index.c7270c38.js    |    1 -
 shenyu-admin/src/main/resources/static/index.html  |    2 +-
 .../config/properties/HttpSyncPropertiesTest.java  |   20 +
 .../controller/AlertReportControllerTest.java      |  120 ++
 .../admin/controller/ApiDocControllerTest.java     |   73 -
 .../ClusterDataChangedEventControllerTest.java     |    2 +
 .../ConfigsExportImportControllerTest.java         |   23 +
 .../admin/controller/DiscoveryControllerTest.java  |  171 ++
 .../admin/controller/InstanceControllerTest.java   |   52 +-
 .../controller/ProxySelectorControllerTest.java    |  201 ++
 .../RegistrationProtocolCompatibilityTest.java     |  194 ++
 .../admin/controller/RuleControllerTest.java       |    6 +-
 .../admin/controller/SelectorControllerTest.java   |    6 +-
 .../discovery/DefaultDiscoveryProcessorTest.java   |    6 +-
 .../DiscoveryDataChangedEventSyncListenerTest.java |  166 ++
 .../discovery/NacosDiscoveryRecoveryTest.java      |  233 +++
 .../ZookeeperClientDiscoveryIntegrationTest.java   |  137 +-
 .../listener/ApplicationStartListenerTest.java     |   23 +
 .../ClusterDataChangedEventForwarderTest.java      |   29 +-
 .../listener/DataChangedEventDispatcherTest.java   |  148 +-
 .../listener/http/HttpCacheRebuildBenchmark.java   |  425 ++++
 .../http/HttpCacheRebuildCoordinatorTest.java      |  296 +++
 .../admin/listener/http/HttpCacheRebuildTest.java  |  357 ++++
 .../HttpLongPollingDataChangedListenerTest.java    |   57 +-
 .../listener/websocket/WebsocketCollectorTest.java |  112 +-
 .../WebsocketDataChangedListenerTest.java          |    2 +-
 .../WebsocketDataReconcilerBenchmark.java          |  323 +++
 .../websocket/WebsocketDataReconcilerTest.java     |  165 ++
 .../shenyu/admin/mapper/AdminQueryIndexTest.java   |    4 +
 .../admin/mapper/DataPermissionMapperTest.java     |   76 +
 .../admin/mapper/DiscoveryBatchQueryTest.java      |   78 +
 .../admin/mapper/DiscoveryNamespaceQueryTest.java  |    2 +-
 .../mapper/InstanceInfoMapperOracleSqlTest.java    |   62 +
 .../admin/mapper/InstanceInfoMapperTest.java       |   62 +-
 .../admin/mapper/InstanceInfoUpsertTest.java       |  247 +++
 .../admin/mapper/NamespacePluginRelMapperTest.java |   19 +
 .../mapper/OperationLogIndexContractTest.java      |  132 ++
 .../mapper/OperationRecordLogConcatSqlTest.java    |   61 +
 .../OperationRecordLogSelectLimitSqlTest.java      |   58 +
 .../shenyu/admin/mapper/PluginMapperTest.java      |   19 +
 .../apache/shenyu/admin/mapper/RuleMapperTest.java |    2 +-
 .../shenyu/admin/mapper/SelectorMapperTest.java    |    2 +-
 .../cluster/filter/ClusterForwardFilterTest.java   |  385 ++++
 .../cluster/service/ShenyuClusterServiceTest.java  |  127 ++
 .../event/selector/SelectorChangedEventTest.java   |    6 +-
 .../monitor/subject/cache/ScaleRuleCacheTest.java  |  146 ++
 .../admin/scale/scaler/KubernetesScalerTest.java   |  109 +
 .../admin/scale/scaler/ScaleServiceTest.java       |  259 +++
 .../scaler/dynamic/TaskSchedulerManagerTest.java   |   97 +
 .../shenyu/admin/service/ConfigsServiceTest.java   |    4 +-
 .../service/DiscoveryUpstreamServiceTest.java      |  357 +++-
 .../admin/service/InstanceInfoServiceTest.java     |   19 +
 .../admin/service/NamespacePluginServiceTest.java  |   19 +
 .../admin/service/NamespaceServiceImplTest.java    |  128 ++
 .../admin/service/ProxySelectorServiceTest.java    |   69 +-
 .../shenyu/admin/service/RuleServiceTest.java      |   54 +
 .../shenyu/admin/service/ScaleRuleServiceTest.java |   58 +-
 .../shenyu/admin/service/SelectorServiceTest.java  |   48 +-
 .../shenyu/admin/service/SyncDataServiceTest.java  |    2 +-
 .../service/UpstreamCheckServiceRecoveryTest.java  |  170 ++
 .../service/UpstreamCheckServiceSyncTest.java      |  391 ++++
 .../service/impl/InstanceCheckServiceTest.java     |   75 +
 .../service/impl/InstanceInfoServiceImplTest.java  |  144 ++
 .../service/impl/SwaggerImportServiceImplTest.java |    9 +-
 .../service/manager/impl/DocManagerImplTest.java   |   44 +
 .../manager/impl/LoadServiceDocEntryImplTest.java  |   27 +
 .../manager/impl/SwaggerDocManagerImplTest.java    |  112 +
 .../service/publish/RuleEventPublisherTest.java    |    2 +-
 .../publish/SelectorEventPublisherTest.java        |    2 +-
 ...bstractShenyuClientRegisterServiceImplTest.java |    2 +-
 .../FallbackShenyuClientRegisterServiceTest.java   |   56 +
 .../ShenyuClientRegisterMcpServiceImplTest.java    |    2 +-
 .../support/AiProxyRealKeyResolverTest.java        |  278 ++-
 .../admin/transfer/DiscoveryTransferTest.java      |   73 +-
 .../utils/DiscoveryUpstreamPropsValidatorTest.java |   48 +
 .../shenyu/admin/utils/InstanceInfoUtilsTest.java  |   75 +
 .../shenyu/admin/utils/SelectorUtilTest.java       |    8 +-
 .../AgentGatewayRuleHandleValidatorTest.java       |   16 +
 .../validator/RewriteRuleHandleValidatorTest.java  |   71 +
 .../alert/strategy/EmailAlertNotifyStrategy.java   |    5 +-
 .../strategy/EmailAlertNotifyStrategyTest.java     |   65 +-
 shenyu-bootstrap/pom.xml                           |   15 +
 .../src/main/resources/application.yml             |   49 +
 .../init/SpringMvcClientEventListener.java         |  112 +-
 .../register/SpringMvcApiMetaRegister.java         |  158 +-
 .../init/SpringMvcClientEventListenerTest.java     |   56 +-
 .../register/SpringMvcApiMetaRegisterTest.java     |  101 +
 .../shenyu-client-mcp-common/pom.xml               |    6 +
 .../mcp/common/constants/OpenApiConstants.java     |  104 +-
 .../common/constants/RequestTemplateConstants.java |   35 +-
 .../constants/ShenyuToolConfigConstants.java       |   27 +-
 .../mcp/common/dto/ShenyuMcpRequestConfig.java     |   50 +-
 .../client/mcp/common/dto/ShenyuMcpTool.java       |  123 +-
 .../mcp/generator/McpRequestConfigGenerator.java   |   68 +-
 .../generator/McpToolsRegisterDTOGenerator.java    |   47 +-
 .../mcp/generator/McpCompatibilityAdapterTest.java |   72 +
 .../tars/TarsServiceBeanPostProcessorTest.java     |    2 +-
 shenyu-common/pom.xml                              |    6 +
 .../common/concurrent/MemoryLimitCalculator.java   |   15 +-
 .../apache/shenyu/common/config/ShenyuConfig.java  |  271 +++
 .../apache/shenyu/common/constant/Constants.java   |   23 +-
 .../common/dto/AgentGatewayHttpToolConfig.java     |  281 +++
 .../shenyu/common/dto/AgentGatewayMcpConfig.java   |    9 +-
 .../org/apache/shenyu/common/dto/RuleData.java     |   41 +-
 .../common/dto/convert/rule/RateLimiterHandle.java |   33 +-
 .../common/dto/convert/rule/RequestHandle.java     |    4 +-
 .../common/dto/convert/rule/RewriteHandle.java     |    3 +-
 .../org/apache/shenyu/common/enums/PluginEnum.java |    5 +
 .../shenyu/common/metrics/LoggingQueueMetrics.java |  163 ++
 .../shenyu/common/utils/BoundServerPort.java       |   49 +
 .../shenyu/common/utils/RewriteHandleUtils.java    |   73 +
 .../shenyu/common/utils/UpstreamLabelsUtils.java   |   66 +
 .../concurrent/MemoryLimitCalculatorTest.java      |    9 +
 .../MemorySafeLinkedBlockingQueueTest.java         |   35 +-
 .../shenyu/common/config/ShenyuConfigTest.java     |   11 +
 .../common/dto/AgentGatewayHttpToolConfigTest.java |  136 ++
 .../apache/shenyu/common/dto/AlarmContentTest.java |   49 +
 .../org/apache/shenyu/common/dto/RuleDataTest.java |   24 +-
 .../dto/convert/rule/RateLimiterHandleTest.java    |    4 +-
 .../common/dto/convert/rule/RequestHandleTest.java |   37 +
 .../common/dto/convert/rule/RewriteHandleTest.java |   14 +
 .../common/metrics/LoggingQueueMetricsTest.java    |   47 +
 .../BoundServerPortTest.java}                      |   38 +-
 .../common/utils/RewriteHandleUtilsTest.java       |   67 +
 .../common/utils/UpstreamLabelsUtilsTest.java      |   62 +
 .../src/main/release-docs/LICENSE                  |   11 +
 .../shenyu-e2e-case/compose/fixtures/httpbin.py    |   57 +
 .../shenyu-e2e-case/compose/fixtures/httpbin.yml   |   31 +
 .../compose/fixtures/test_httpbin.py               |   97 +
 .../compose/storage/shenyu-storage-h2.yml          |    6 +
 .../compose/storage/shenyu-storage-mysql.yml       |    6 +
 .../compose/storage/shenyu-storage-opengauss.yml   |    6 +
 .../compose/storage/shenyu-storage-postgres.yml    |    6 +
 .../sync/shenyu-sync-websocket-cluster-jdbc.yml    |    6 +
 .../shenyu-sync-websocket-cluster-zookeeper.yml    |    6 +
 .../logging/rocketmq/DividePluginCases.java        |   75 +-
 .../rocketmq/RocketMQLogConsumptionTest.java       |   94 +
 .../compose/script/e2e-springcloud-sync-compose.sh |    2 +-
 .../shenyu-e2e-case-spring-cloud/pom.xml           |    9 +
 .../springcloud/SpringCloudPluginTest.java         |   28 +-
 .../springcloud/SpringCloudRouteReadinessTest.java |   57 +
 .../compose/script/compose-script-test.sh          |    2 +
 .../compose/script/e2e-mysql-compose.sh            |    2 +-
 .../compose/script/e2e-websocket-sync-compose.sh   |    2 +-
 .../shenyu/e2e/model/data/RuleCacheData.java       |   38 +-
 .../org/apache/shenyu/e2e/model/data/RuleData.java |    4 +-
 .../apache/shenyu/e2e/model/data/SelectorData.java |    4 +-
 .../apache/shenyu/e2e/model/response/RuleDTO.java  |    4 +-
 .../shenyu/e2e/model/response/SelectorDTO.java     |    4 +-
 .../e2e/engine/function/WaitForHelperTest.java     |   69 +-
 shenyu-examples/pom.xml                            |   15 +-
 shenyu-infra/pom.xml                               |    1 +
 shenyu-integrated-test/pom.xml                     |    1 +
 .../shenyu-integrated-test-tracing/Dockerfile      |   37 +
 .../config/otel-collector.yml                      |   34 +
 .../docker-compose.yml                             |   87 +-
 .../shenyu-integrated-test-tracing/pom.xml         |  119 ++
 .../script/healthcheck.sh                          |    0
 .../script/services.list                           |   19 +
 .../test/tracing/TracingIntegratedBootstrap.java   |   20 +-
 .../src/main/resources/application-local.yml       |   67 +
 .../src/main/resources/application.yml             |   19 +
 .../shenyu/integrated/test/tracing/Deployment.java |  209 ++
 .../tracing/TracingGatewayIntegrationTest.java     |  468 +++++
 .../shenyu/k8s/parser/ContextPathParser.java       |    2 +-
 .../shenyu/k8s/parser/DivideIngressParser.java     |    4 +-
 .../shenyu/k8s/parser/DubboIngressParser.java      |    4 +-
 .../org/apache/shenyu/k8s/parser/GrpcParser.java   |    4 +-
 .../apache/shenyu/k8s/parser/HttpRouteParser.java  |    2 +-
 .../org/apache/shenyu/k8s/parser/SofaParser.java   |    4 +-
 .../apache/shenyu/k8s/parser/WebSocketParser.java  |    4 +-
 .../loadbalancer/cache/UpstreamCacheManager.java   |   44 +-
 .../loadbalancer/cache/UpstreamCheckTask.java      |  213 +-
 .../shenyu/loadbalancer/entity/Upstream.java       |  128 +-
 .../loadbalancer/entity/UpstreamIdentity.java      |   86 +
 .../shenyu/loadbalancer/spi/HashLoadBalancer.java  |    2 +-
 .../loadbalancer/spi/LeastActiveLoadBalance.java   |    2 +-
 .../loadbalancer/spi/RoundRobinLoadBalancer.java   |   10 +-
 .../cache/UpstreamCacheManagerTest.java            |   89 +
 .../loadbalancer/cache/UpstreamCheckTaskTest.java  |  152 ++
 .../shenyu/loadbalancer/entity/UpstreamTest.java   |  173 +-
 .../loadbalancer/spi/HashLoadBalancerTest.java     |   28 +
 .../spi/LeastActiveLoadBalanceTest.java            |   16 +
 shenyu-plugin/pom.xml                              |    1 +
 .../shenyu-plugin-agent-gateway/README.md          |  187 ++
 shenyu-plugin/shenyu-plugin-agent-gateway/pom.xml  |    6 +
 .../agent/gateway/AgentGatewayConstants.java       |    5 +
 .../plugin/agent/gateway/AgentGatewayPlugin.java   |   10 +-
 .../gateway/protocol/AgentMcpCallObservation.java  |   77 +-
 .../agent/gateway/protocol/AgentMcpCallTracer.java |   55 +
 .../agent/gateway/protocol/AgentMcpDispatcher.java |   23 +
 .../gateway/protocol/AgentMcpExecutionContext.java |   46 +
 .../gateway/protocol/AgentMcpHttpHandler.java      |   34 +-
 .../gateway/remote/RemoteCatalogLifecycle.java     |   25 +-
 .../agent/gateway/remote/RemoteToolDirectory.java  |   19 +-
 .../gateway/remote/RequestScopedMcpClient.java     |    6 +-
 .../agent/gateway/security/AgentMcpIdentity.java   |   52 +-
 .../agent/gateway/tool/AgentHttpToolExecutor.java  |  338 +++
 .../agent/gateway/tool/AgentHttpToolInvoker.java}  |   20 +-
 .../agent/gateway/tool/AgentHttpToolProvider.java  |   82 +
 .../agent/gateway/tool/AgentToolRegistry.java      |   22 +
 .../agent/gateway/AgentHttpToolRoutingTest.java    |  335 +++
 .../gateway/protocol/AgentMcpAggregationTest.java  |   23 +
 .../protocol/AgentMcpCallObservationTest.java      |   30 +
 .../gateway/protocol/AgentMcpCallTracerTest.java   |  185 ++
 .../gateway/remote/RemoteCatalogLifecycleTest.java |   45 +
 .../gateway/remote/RemoteToolDirectoryTest.java    |  148 ++
 .../gateway/remote/RequestScopedMcpClientTest.java |  183 +-
 .../gateway/security/AgentMcpIdentityTest.java     |   58 +
 .../gateway/tool/AgentHttpToolExecutorTest.java    |  276 +++
 .../gateway/tool/AgentHttpToolNamespaceTest.java   |   94 +
 .../shenyu-plugin-ai-proxy/README.md               |  116 +-
 .../plugin/ai/proxy/enhanced/AiProxyPlugin.java    |    3 +
 .../enhanced/conversion/AiResponseAdapter.java     |   29 +-
 .../enhanced/handler/AiProxyPluginHandler.java     |   37 +-
 .../ai/proxy/enhanced/model/AiUpstreamRequest.java |   22 -
 .../ai/proxy/enhanced/model/PreparedAiRequest.java |   36 +-
 .../ai/proxy/enhanced/model/ShenyuAiRequest.java   |   27 +
 .../ai/proxy/enhanced/protocol/OpenAiChat.java     |    1 +
 .../proxy/enhanced/protocol/OpenAiResponses.java   |    1 +
 .../enhanced/provider/AiProviderCapabilities.java  |  140 ++
 .../proxy/enhanced/provider/AiProxyProvider.java   |   28 +-
 .../plugin/ai/proxy/enhanced/provider/OpenAi.java  |  225 +-
 .../proxy/enhanced/provider/OpenAiCompatible.java  |   30 +-
 .../enhanced/provider/OpenAiProviderOptions.java   |  179 ++
 .../enhanced/service/AiProxyConfigService.java     |   15 +-
 .../ai/proxy/enhanced/service/AiProxyEngine.java   |  127 +-
 .../proxy/enhanced/service/AiProxyRetryPolicy.java |   97 +
 .../enhanced/service/AiProxyRetryProperties.java   |  134 ++
 .../transport/AiProxyTransportProperties.java      |  157 ++
 .../enhanced/transport/AiTransportException.java   |   68 +
 .../transport/WebClientAiProxyTransport.java       |  191 +-
 .../enhanced/AiProxyHttpCompatibilityTest.java     |   41 +-
 .../ai/proxy/enhanced/AiProxyPluginTest.java       |   22 +-
 .../enhanced/handler/AiProxyPluginHandlerTest.java |   84 +-
 .../provider/AiProxyProviderFactoryTest.java       |   28 +
 .../enhanced/provider/AiProxyProviderHttpTest.java |  144 ++
 .../provider/OpenAiProviderOptionsTest.java        |  340 +++
 .../enhanced/service/AiProxyConfigServiceTest.java |   47 +-
 .../service/AiProxyEngineOrchestrationTest.java    |  315 ++-
 .../proxy/enhanced/service/AiProxyEngineTest.java  |  139 +-
 .../enhanced/service/AiProxyRetryPolicyTest.java   |  107 +
 .../service/AiProxyRetryPropertiesTest.java        |   89 +
 .../transport/WebClientAiProxyTransportTest.java   |  285 +++
 .../request/AiRequestTransformerPlugin.java        |    7 +-
 .../response/AiResponseTransformerPlugin.java      |    7 +-
 .../ai/sensitive/word/SensitiveWordPlugin.java     |   49 +-
 .../ai/sensitive/word/SensitiveWordPluginTest.java |   82 +
 .../ai/token/limiter/AiTokenLimiterPlugin.java     |   52 +-
 .../ai/token/limiter/AiTokenLimiterPluginTest.java |   86 +
 shenyu-plugin/shenyu-plugin-api/pom.xml            |    7 +
 .../org/apache/shenyu/plugin/api/ShenyuPlugin.java |    3 +-
 .../shenyu/plugin/api/ShenyuPluginChain.java       |    9 +
 .../plugin/api/tracing/TraceContextCarrier.java    |   51 +-
 .../plugin/api/tracing/TraceContextPropagator.java |   53 +
 .../shenyu/plugin/api/utils/BodyParamUtils.java    |    6 +-
 .../shenyu/plugin/api/utils/SpringBeanUtils.java   |   60 +-
 .../TraceIdUtils.java}                             |   29 +-
 .../plugin/api/utils/WebFluxResultUtils.java       |   13 +-
 .../shenyu/plugin/api/utils/TraceIdUtilsTest.java  |   53 +
 .../plugin/api/utils/WebFluxResultUtilsTest.java   |  169 ++
 shenyu-plugin/shenyu-plugin-base/pom.xml           |    5 +
 .../shenyu/plugin/base/AbstractShenyuPlugin.java   |   15 +-
 .../shenyu/plugin/base/cache/BaseDataCache.java    |   64 +
 .../base/cache/CommonPluginDataSubscriber.java     |  203 +-
 .../cache/CommonProxySelectorDataSubscriber.java   |   32 +-
 .../shenyu/plugin/base/cache/MatchDataCache.java   |   31 +-
 .../shenyu/plugin/base/cache/MetaDataCache.java    |   31 +-
 .../circuitbreaker/UpstreamCircuitBreaker.java     |  163 +-
 .../AbstractDiscoveryUpstreamDataHandler.java      |   72 +
 .../shenyu/plugin/base/utils/UpstreamProps.java    |  125 ++
 .../plugin/base/AbstractShenyuPluginTest.java      |  122 +-
 .../org/apache/shenyu/plugin/base/LogCapture.java  |   78 +
 .../base/cache/CommonPluginDataSubscriberTest.java |  197 ++
 .../CommonProxySelectorDataSubscriberTest.java     |  103 +
 .../plugin/base/cache/MatchDataCacheTest.java      |   32 +
 .../plugin/base/cache/MetaDataCacheTest.java       |   50 +
 .../circuitbreaker/UpstreamCircuitBreakerTest.java |  199 +-
 .../AbstractDiscoveryUpstreamDataHandlerTest.java  |  135 ++
 .../plugin/base/utils/UpstreamPropsTest.java       |  103 +
 .../apache/shenyu/plugin/cache/CachePlugin.java    |  127 +-
 .../apache/shenyu/plugin/cache/CachedResponse.java |  164 ++
 .../plugin/cache/cache/ApplicationConfigCache.java |   75 +-
 .../shenyu/plugin/cache/utils/CacheUtils.java      |   22 +-
 .../ApplicationConfigCacheConcurrencyTest.java     |  261 +++
 .../shenyu/plugin/cache/CachePluginTest.java       |   18 +-
 .../plugin/cache/CacheRequestEligibilityTest.java  |  272 +++
 .../plugin/cache/CacheResponseReplayTest.java      |  346 +++
 .../shenyu/plugin/cache/CachedResponseTest.java    |   84 +
 .../shenyu/plugin/cache/utils/CacheUtilsTest.java  |   67 +
 .../shenyu-plugin-cache-memory/pom.xml             |    4 +
 .../shenyu/plugin/cache/memory/MemoryCache.java    |   60 +-
 .../plugin/cache/memory/MemoryCacheTest.java       |  105 +-
 .../plugin/context/path/ContextPathPlugin.java     |    3 +
 .../plugin/context/path/ContextPathPluginTest.java |   24 +
 .../plugin/ratelimiter/RateLimiterPluginTest.java  |    2 +-
 .../httpclient/AbstractHttpClientPlugin.java       |   98 +-
 .../plugin/httpclient/DefaultRetryStrategy.java    |  114 +-
 .../ExponentialRetryBackoffStrategy.java           |   37 +-
 .../plugin/httpclient/FixedRetryStrategy.java      |   20 +-
 .../httpclient/HttpHeadersTraceContextCarrier.java |   51 +-
 .../plugin/httpclient/NettyHttpClientPlugin.java   |   17 +-
 .../NettyHttpHeadersTraceContextCarrier.java       |   53 +-
 .../shenyu/plugin/httpclient/WebClientPlugin.java  |    3 +
 .../httpclient/config/HttpClientProperties.java    |    4 +-
 .../httpclient/AbstractHttpClientPluginTest.java   |  230 ++
 ...ractHttpClientPluginTraceContextLoaderTest.java |   56 +
 .../httpclient/HttpClientPropertiesTest.java       |    1 +
 .../httpclient/NettyHttpClientPluginTest.java      |   65 +
 .../NettyHttpClientPluginTraceContextTest.java     |  124 ++
 .../plugin/httpclient/RetryStrategyTest.java       |  149 +-
 .../httpclient/TestTraceContextPropagator.java     |   64 +
 .../WebClientPluginTraceContextTest.java           |  151 ++
 ...henyu.plugin.api.tracing.TraceContextPropagator |   18 +
 .../shenyu-plugin-logging-common/README.md         |   62 +
 .../logging/common/AbstractLoggingPlugin.java      |    6 +-
 .../plugin/logging/common/body/BodyWriter.java     |  124 +-
 .../common/body/LoggingServerHttpRequest.java      |   23 +-
 .../common/body/LoggingServerHttpResponse.java     |   32 +-
 .../common/client/AbstractLogConsumeClient.java    |   36 +-
 .../common/collector/AbstractLogCollector.java     |   33 +-
 .../logging/common/config/GenericGlobalConfig.java |   14 +-
 .../common/constant/GenericLoggingConstant.java    |    6 +-
 .../logging/common/sampler/CountSampler.java       |   10 +-
 .../common/utils/LogCollectConfigUtils.java        |   35 +-
 .../common/AbstractLoggingPluginBodyLimitTest.java |  467 +++++
 .../plugin/logging/common/body/BodyWriterTest.java |  172 ++
 .../common/body/LoggingBodySaturatedSizeTest.java  |   94 +
 .../client/AbstractLogConsumeClientTest.java       |   71 +
 .../common/collector/LogCollectorMetricsTest.java  |  341 +++
 .../logging/common/sampler/CountSamplerTest.java   |   44 +
 .../common/utils/LogCollectConfigUtilsTest.java    |   46 +
 .../NonCommittingMcpResponseDecorator.java         |  123 +-
 ...henyuStreamableHttpServerTransportProvider.java |  151 +-
 .../NonCommittingMcpResponseDecoratorTest.java     |  137 +-
 ...uStreamableHttpServerTransportProviderTest.java |  331 ++-
 .../shenyu/plugin/metrics/constant/LabelNames.java |   12 +
 .../prometheus/LoggingQueueMetricsCollector.java   |   66 +
 .../prometheus/PrometheusMetricsService.java       |    1 +
 .../LoggingQueueMetricsCollectorTest.java          |   97 +
 .../prometheus/PrometheusMetricsServiceTest.java   |   24 +
 .../handler/ModifyResponsePluginDataHandler.java   |    5 +
 .../modify/response/ModifyResponsePluginTest.java  |   38 +-
 .../ModifyResponsePluginDataHandlerTest.java       |   45 +
 .../handler/ParamMappingPluginDataHandler.java     |    5 +
 .../param/mapping/strategy/FormDataOperator.java   |    3 +-
 .../handler/ParamMappingPluginDataTest.java        |   41 +
 .../mapping/strategy/FormDataOperatorTest.java     |   86 +-
 .../shenyu-plugin-divide/pom.xml                   |   38 +
 .../plugin/divide/CircuitBreakerCandidates.java    |  173 ++
 .../apache/shenyu/plugin/divide/DividePlugin.java  |   71 +-
 .../divide/handler/DivideUpstreamDataHandler.java  |   73 +-
 .../divide/CircuitBreakerCandidatesTest.java       |  298 +++
 .../divide/DivideCircuitBreakerBenchmark.java      |  225 ++
 .../divide/DividePluginCircuitBreakerTest.java     |  266 ++-
 .../shenyu/plugin/divide/DividePluginTest.java     |   20 +-
 .../handler/DivideUpstreamDataHandlerTest.java     |  138 ++
 .../handler/ApacheDubboPluginDataHandlerTest.java  |   57 +
 .../proxy/ApacheDubboGrayLoadBalanceTest.java      |   11 +-
 .../handler/AbstractDubboPluginDataHandler.java    |   28 +-
 .../AbstractDubboPluginDataHandlerTest.java        |   48 +
 .../org/apache/shenyu/plugin/grpc/GrpcPlugin.java  |   39 +-
 .../plugin/grpc/cache/ApplicationConfigCache.java  |  127 +-
 .../shenyu/plugin/grpc/cache/GrpcExtInfo.java      |  102 +
 .../handler/GrpcDiscoveryUpstreamDataHandler.java  |   58 +-
 .../plugin/grpc/handler/GrpcMetaDataHandler.java   |   55 +-
 .../plugin/grpc/resolver/ShenyuNameResolver.java   |    2 +-
 .../apache/shenyu/plugin/grpc/GrpcPluginTest.java  |   24 +
 .../grpc/cache/ApplicationConfigCacheTest.java     |   77 +
 .../GrpcDiscoveryUpstreamDataHandlerTest.java      |   33 +-
 .../grpc/handler/GrpcMetaDataHandlerTest.java      |   76 +
 .../grpc/resolver/ShenyuNameResolverTest.java      |  143 ++
 .../plugin/transform/RpcParamTransformPlugin.java  |    5 +-
 .../transform/RpcParamTransformPluginTest.java     |   30 +-
 .../handler/ProxySelectorIdentityDeletionTest.java |  122 ++
 .../handler/WebSocketUpstreamDataHandler.java      |   61 +-
 .../handler/WebSocketUpstreamDataHandlerTest.java} |   71 +-
 .../shenyu/plugin/request/RequestPlugin.java       |   41 +-
 .../request/handler/RequestPluginHandler.java      |    5 +
 .../shenyu/plugin/request/RequestPluginTest.java   |  123 ++
 .../request/handler/RequestPluginHandlerTest.java  |   43 +
 .../shenyu/plugin/rewrite/RewritePlugin.java       |   20 +-
 .../rewrite/handler/RewritePluginDataHandler.java  |   37 +-
 .../shenyu/plugin/rewrite/RewritePluginTest.java   |   67 +
 .../handler/RewritePluginDataHandlerTest.java      |   98 +
 .../plugin/key/auth/KeyAuthAuthentication.java     |  114 +
 .../shenyu/plugin/key/auth/KeyAuthPlugin.java      |    7 +-
 .../key/auth/KeyAuthAuthenticationHttpTest.java    |  187 ++
 .../plugin/key/auth/KeyAuthAuthenticationTest.java |  331 +++
 .../org/apache/shenyu/plugin/sign/SignPlugin.java  |   13 +-
 .../plugin/sign/extractor/VersionTwoExtractor.java |   36 +-
 .../plugin/sign/service/ComposableSignService.java |   10 +-
 .../apache/shenyu/plugin/sign/SignPluginTest.java  |   60 +-
 .../sign/extractor/VersionTwoExtractorTest.java    |   19 +
 .../sign/service/SignServiceVersionTwoTest.java    |    2 +
 .../pom.xml                                        |   36 +-
 .../plugin/tracing/SpanAttributesBuilder.java      |  319 +++
 .../shenyu/plugin/tracing/TracingConstants.java    |  143 ++
 .../shenyu/plugin/tracing/TracingPlugin.java       |  188 ++
 .../tracing/context/ReactorTracingContext.java     |   81 +
 .../tracing/extract/TraceContextExtractor.java     |  110 +
 .../tracing/spi/W3cTraceContextPropagator.java     |   65 +
 ...henyu.plugin.api.tracing.TraceContextPropagator |   18 +
 .../shenyu/plugin/tracing/TraceContinuityTest.java |  210 ++
 .../shenyu/plugin/tracing/TracingPluginTest.java   |  347 ++++
 .../plugin/tracing/TracingSpanAttributesTest.java  |  245 +++
 .../plugin/tracing/TracingSpanLifecycleTest.java   |  334 +++
 .../tracing/extract/TraceContextExtractorTest.java |  153 ++
 .../tracing/spi/W3cTraceContextPropagatorTest.java |  192 ++
 .../shenyu/plugin/wasm/api/loader/WasmLoader.java  |  278 ++-
 .../plugin/wasm/api/WasmLoaderConcurrentTest.java  |  341 +++
 ...sm.api.WasmLoaderConcurrentTest$EchoPlugin.wasm |  Bin 0 -> 124 bytes
 .../src/test/wasm-concurrent/Makefile              |   23 +
 .../src/test/wasm-concurrent/echo.wat              |   27 +
 shenyu-plugin/shenyu-plugin-wasm-base/README.md    |   17 +-
 .../wasm/base/AbstractShenyuWasmPluginTest.java    |    6 +-
 .../plugin/wasm/base/gateway/WasmGatewayTest.java  |    2 +-
 shenyu-protocol/shenyu-protocol-mqtt/pom.xml       |   12 +
 .../org/apache/shenyu/protocol/mqtt/Connect.java   |   11 +
 .../apache/shenyu/protocol/mqtt/Disconnect.java    |    4 +-
 .../shenyu/protocol/mqtt/MqttTransportHandler.java |   16 +
 .../org/apache/shenyu/protocol/mqtt/Publish.java   |   40 +
 .../apache/shenyu/protocol/mqtt/TopicMatcher.java  |  103 +
 .../mqtt/repositories/SubscribeRepository.java     |   32 +
 .../protocol/mqtt/repositories/WillRepository.java |   85 +
 .../apache/shenyu/protocol/mqtt/ConnectTest.java   |  216 +-
 .../protocol/mqtt/DisconnectDispatchTest.java      |    2 +
 .../shenyu/protocol/mqtt/DisconnectTest.java       |   96 +
 .../shenyu/protocol/mqtt/MqttFactoryTest.java      |   21 +-
 .../protocol/mqtt/MqttTransportHandlerTest.java    |  145 +-
 .../shenyu/protocol/mqtt/PublishWillTest.java      |  194 ++
 .../shenyu/protocol/mqtt/TopicMatcherTest.java     |  100 +
 .../mqtt/repositories/SubscribeRepositoryTest.java |  100 +-
 .../mqtt/repositories/WillRepositoryTest.java      |  112 +
 shenyu-register-center/CLIENT_MIGRATION.md         |  139 ++
 shenyu-register-center/pom.xml                     |    2 +
 .../shenyu-register-client-beat/pom.xml            |    2 +-
 .../register/client/beat/HeartbeatListener.java    |   70 +-
 .../client/beat/HeartbeatBoundPortTest.java        |  130 ++
 .../client/beat/HeartbeatListenerTest.java         |  144 +-
 .../client/http/HttpClientRegisterRepository.java  |    2 +-
 .../http/HttpClientRegisterRepositoryTest.java     |    4 +-
 .../shenyu-register-common/pom.xml                 |   16 +
 .../shenyu/register/common}/utils/OkHttpTools.java |    2 +-
 .../register/common}/utils/RegisterUtils.java      |   19 +-
 .../register/common}/utils/OkHttpToolsTest.java    |    2 +-
 .../register/common}/utils/RegisterUtilsTest.java  |   25 +-
 .../pom.xml                                        |   15 +-
 .../mcp/common/constants/OpenApiConstants.java     |    2 +-
 .../common/constants/RequestTemplateConstants.java |    2 +-
 .../constants/ShenyuToolConfigConstants.java       |    2 +-
 .../mcp/common/dto/ShenyuMcpRequestConfig.java     |   64 +-
 .../register}/mcp/common/dto/ShenyuMcpTool.java    |   10 +-
 .../mcp/generator/McpRequestConfigGenerator.java   |    8 +-
 .../generator/McpToolsRegisterDTOGenerator.java    |    8 +-
 .../shenyu-register-protocol/README.md             |  170 ++
 .../shenyu-register-protocol}/pom.xml              |   19 +-
 .../register/common/dto/ApiDocRegisterDTO.java     |    0
 .../common/dto/DiscoveryConfigRegisterDTO.java     |    0
 .../register/common/dto/InstanceBeatInfoDTO.java   |    0
 .../register/common/dto/McpToolsRegisterDTO.java   |    0
 .../register/common/dto/MetaDataRegisterDTO.java   |    0
 .../shenyu/register/common/dto/URIRegisterDTO.java |    0
 .../shenyu/register/common/enums/EventType.java    |    0
 .../common/path/RegisterPathConstants.java         |    0
 .../common/protocol/RegistrationProtocol.java      |  123 ++
 .../shenyu/register/common/type/DataType.java      |    0
 .../register/common/type/DataTypeParent.java       |    0
 .../main/resources/registration/v1/api-doc.json    |   19 +
 .../registration/v1/discovery-config.json          |   12 +
 .../main/resources/registration/v1/heartbeat.json  |    7 +
 .../src/main/resources/registration/v1/mcp.json    |   25 +
 .../main/resources/registration/v1/metadata.json   |   21 +
 .../main/resources/registration/v1/offline.json    |    9 +
 .../resources/registration/v1/uri-heartbeat.json   |   10 +
 .../src/main/resources/registration/v1/uri.json    |    8 +
 shenyu-registry/README.md                          |    2 +-
 .../shenyu/registry/consul/TtlSchedulerTest.java   |   48 -
 .../shenyu/sdk/core/common/RequestTemplate.java    |    9 +-
 .../sdk/core/common/RequestTemplateTest.java       |    9 +
 .../annotation/CookieValueParameterProcessor.java  |   17 +-
 .../annotation/PathVariableParameterProcessor.java |    5 +-
 .../RequestHeaderParameterProcessor.java           |   12 +-
 .../spring/proxy/ShenyuClientMethodHandler.java    |   20 +-
 .../CookieValueParameterProcessorTest.java         |   25 +
 .../PathVariableParameterProcessorTest.java        |   31 +
 .../RequestHeaderParameterProcessorTest.java       |   22 +
 .../proxy/ShenyuClientMethodHandlerTest.java       |   51 +
 .../ShenyuApacheDubboClientConfigurationTest.java  |    2 +-
 .../shenyu-spring-boot-starter-client-beat/pom.xml |    5 -
 .../beat/HeartbeatListenerConfiguration.java       |    7 +-
 .../beat/HeartbeatListenerConfigurationTest.java   |   63 +
 .../ShenyuClientCommonBeanConfigurationTest.java   |    2 +-
 .../grpc/ShenyuGrpcClientConfigurationTest.java    |    2 +-
 .../sofa/ShenyuSofaClientConfigurationTest.java    |    2 +-
 ...enyuSpringWebSocketClientConfigurationTest.java |    2 +-
 .../ShenyuSpringMvcClientConfigurationTest.java    |    2 +-
 .../tars/ShenyuTarsClientConfigurationTest.java    |    2 +-
 .../netty/ShenyuNettyWebServerConfiguration.java   |   30 +-
 .../ShenyuNettyWebServerConfigurationTest.java     |   18 +
 .../k8s/IngressControllerConfiguration.java        |   57 +-
 .../k8s/ShenyuKubernetesControllerProperties.java  |   76 +
 .../k8s/IngressControllerConfigurationTest.java    |  135 ++
 .../shenyu-spring-boot-starter-plugin/pom.xml      |    1 +
 .../pom.xml                                        |   41 +
 .../gateway/AgentGatewayPluginConfiguration.java   |  184 +-
 .../agent/gateway/JwtAgentMcpSecurityResolver.java |  131 ++
 .../gateway/KeyAuthMcpSecurityProperties.java      |  128 ++
 .../agent/gateway/KeyAuthMcpSecurityResolver.java  |   93 +
 .../gateway/OpenTelemetryAgentMcpCallTracer.java   |   77 +
 .../gateway/PrincipalMcpSecurityProperties.java    |  136 ++
 .../gateway/PrincipalMcpSecurityResolver.java      |  161 ++
 .../AgentGatewayPluginConfigurationTest.java       |  131 ++
 .../plugin/agent/gateway/JwtAgentMcpHttpTest.java  |  262 +++
 .../gateway/JwtAgentMcpSecurityResolverTest.java   |  178 ++
 .../plugin/agent/gateway/KeyAuthMcpHttpTest.java   |  208 ++
 .../KeyAuthMcpSecurityConfigurationTest.java       |  230 ++
 .../agent/gateway/KeyAuthMcpTestFixture.java       |  327 +++
 .../agent/gateway/OAuthLoginMcpHttpTest.java       |  188 ++
 .../OpenTelemetryAgentMcpCallTracerTest.java       |  244 +++
 .../gateway/OpenTelemetryAgentMcpOtlpTest.java     |   86 +
 .../plugin/agent/gateway/PrincipalMcpHttpTest.java |  281 +++
 .../gateway/PrincipalMcpSecurityResolverTest.java  |  235 +++
 .../ai/proxy/AiProxyPluginConfiguration.java       |   75 +-
 .../ai/proxy/AiProxyPluginConfigurationTest.java   |  156 +-
 .../plugin/grpc/GrpcPluginConfiguration.java       |   12 +
 .../plugin/grpc/GrpcPluginConfigurationTest.java   |   10 +
 .../plugin/httpclient/HttpClientFactory.java       |    6 +-
 .../httpclient/HttpClientLoopResourcesTest.java    |  134 ++
 .../pom.xml                                        |   19 +-
 .../plugin/tracing/TracingExporterHolder.java      |   61 +
 .../plugin/tracing/TracingPluginConfiguration.java |  353 ++++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   18 +
 .../tracing/TracingPluginConfigurationTest.java    |  316 +++
 .../pom.xml                                        |    1 +
 .../README.md                                      |   97 +
 .../example/gateway.yaml                           |   65 +
 .../pom.xml                                        |   68 +-
 .../sync/data/file/FileConfigurationLoader.java    |  159 ++
 .../sync/data/file/FileConfigurationParser.java    |  374 ++++
 .../file/FileModeEnvironmentPostProcessor.java     |   71 +
 .../sync/data/file/FileSyncDataConfiguration.java  |   91 +
 .../src/main/resources/META-INF/spring.factories   |   19 +
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   18 +
 .../data/file/FileConfigurationLoaderTest.java     |  198 ++
 .../data/file/FileConfigurationParserTest.java     |  174 ++
 .../sync/data/file/FileModeEnvironmentTest.java    |   89 +
 .../sync/data/file/FileModeIntegrationTest.java    |  172 ++
 .../websocket/WebsocketSyncDataConfiguration.java  |    8 +-
 .../sync/data/api/ProxySelectorDataSubscriber.java |    1 +
 .../data/core/AbstractNodeDataSyncService.java     |    2 +-
 .../data/core/AbstractPathDataSyncService.java     |    6 +-
 .../data/core/AbstractNodeDataSyncServiceTest.java |    4 +-
 .../data/core/AbstractPathDataSyncServiceTest.java |   21 +
 .../sync/data/apollo/ApolloDataServiceTest.java    |    4 +-
 .../shenyu-sync-data-http/pom.xml                  |    5 +
 .../shenyu/sync/data/http/AccessTokenManager.java  |    2 +-
 .../shenyu/sync/data/http/HttpSyncDataService.java |   46 +-
 .../data/http/AccessTokenManagerRecoveryTest.java  |  170 ++
 .../sync/data/http/HttpSyncBoundPortTest.java      |  148 ++
 .../data/websocket/WebsocketSyncDataService.java   |  150 +-
 .../websocket/client/ShenyuWebsocketClient.java    |  109 +-
 .../data/websocket/config/WebsocketConfig.java     |   30 +-
 .../data/websocket/WebsocketBoundPortTest.java     |  117 ++
 .../websocket/WebsocketMasterRedirectTest.java     |  315 +++
 .../websocket/WebsocketSyncDataServiceTest.java    |   90 +-
 .../client/ShenyuWebsocketClientTest.java          |  112 +
 .../data/websocket/config/WebsocketConfigTest.java |   12 +-
 .../web/controller/LocalPluginController.java      |    4 +-
 .../org/apache/shenyu/web/filter/CrossFilter.java  |   16 +-
 .../shenyu/web/handler/ShenyuWebHandler.java       |   41 +-
 .../shenyu/web/loader/ShenyuPluginClassLoader.java |   33 +-
 .../web/controller/LocalPluginControllerTest.java  |    2 +-
 .../apache/shenyu/web/filter/CrossFilterTest.java  |   36 +
 .../shenyu/web/handler/ShenyuWebHandlerTest.java   |  109 +
 .../ShenyuPluginClassLoaderBeanIsolationTest.java  |  133 ++
 .../loader/ShenyuPluginClassLoaderHolderTest.java  |   31 +-
 721 files changed, 52782 insertions(+), 3695 deletions(-)
 create mode 100644 .github/client-migration-inventory.json
 create mode 100644 .github/scripts/check-client-boundary.py
 create mode 100644 .github/scripts/maven-with-retry-test.sh
 create mode 100644 .github/scripts/maven-with-retry.sh
 create mode 100644 .github/scripts/test-client-boundary.py
 create mode 100644 .github/scripts/test-wasm-fixtures.py
 create mode 100644 .github/workflows/assign.yml
 create mode 100644 .github/workflows/close.yml
 create mode 100644 .github/workflows/lgtm.yml
 create mode 100644 .github/workflows/retest.yml
 create mode 100644 db/upgrade/2.7.2-upgrade-2.7.3-h2.sql
 create mode 100644 db/upgrade/2.7.2-upgrade-2.7.3-mysql.sql
 create mode 100644 db/upgrade/2.7.2-upgrade-2.7.3-ob.sql
 create mode 100644 db/upgrade/2.7.2-upgrade-2.7.3-og.sql
 create mode 100644 db/upgrade/2.7.2-upgrade-2.7.3-oracle.sql
 create mode 100644 db/upgrade/2.7.2-upgrade-2.7.3-pg.sql
 create mode 100644 docs/agent-gateway-key-auth.md
 create mode 100644 docs/agent-gateway-principal-authorization.md
 create mode 100644 docs/benchmarks/divide-circuit-breaker/environment.txt
 create mode 100644 docs/benchmarks/divide-circuit-breaker/profile-summary.csv
 create mode 100644 docs/benchmarks/divide-circuit-breaker/results.csv
 create mode 100644 docs/benchmarks/divide-gateway/DivideGatewayBenchmark.java
 create mode 100644 docs/benchmarks/divide-gateway/README.md
 create mode 100644 
docs/benchmarks/divide-gateway/baseline-execution-samples.txt
 create mode 100644 docs/benchmarks/divide-gateway/correctness.json
 create mode 100644 docs/benchmarks/divide-gateway/environment.txt
 create mode 100644 
docs/benchmarks/divide-gateway/optimized-execution-samples.txt
 create mode 100644 docs/benchmarks/divide-gateway/profile-summary.csv
 create mode 100644 docs/benchmarks/divide-gateway/request-local-only.csv
 create mode 100644 docs/benchmarks/divide-gateway/results.csv
 create mode 100644 docs/benchmarks/divide-gateway/run.ps1
 create mode 100644 docs/benchmarks/http-cache-rebuild-256.csv
 create mode 100644 docs/benchmarks/http-cache-rebuild-4096.csv
 create mode 100644 docs/benchmarks/websocket-reconciliation/run-1.csv
 create mode 100644 docs/benchmarks/websocket-reconciliation/run-2.csv
 create mode 100644 docs/cache-request-eligibility.md
 create mode 100644 docs/divide-circuit-breaker-benchmark.md
 create mode 100644 docs/http-cache-rebuild-coalescing.md
 create mode 100644 docs/plugin-store-apollo.md
 create mode 100644 docs/websocket-reconciliation-benchmark.md
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/config/RegistrationProtocolInterceptor.java
 delete mode 100755 
shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ApiDocController.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/http/HttpCacheRebuildCoordinator.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/AlertReportRequest.java
 delete mode 100755 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/DocVO.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/DiscoveryUpstreamPropsValidator.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/InstanceInfoUtils.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/validation/validator/RewriteRuleHandleValidator.java
 create mode 100644 shenyu-admin/src/main/resources/static/index.16dee401.js
 delete mode 100644 shenyu-admin/src/main/resources/static/index.c7270c38.js
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/AlertReportControllerTest.java
 delete mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/ApiDocControllerTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/DiscoveryControllerTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/ProxySelectorControllerTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/RegistrationProtocolCompatibilityTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/discovery/NacosDiscoveryRecoveryTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/http/HttpCacheRebuildBenchmark.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/http/HttpCacheRebuildCoordinatorTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/http/HttpCacheRebuildTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketDataReconcilerBenchmark.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/DiscoveryBatchQueryTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/InstanceInfoMapperOracleSqlTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/InstanceInfoUpsertTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/OperationLogIndexContractTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/OperationRecordLogConcatSqlTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/OperationRecordLogSelectLimitSqlTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mode/cluster/filter/ClusterForwardFilterTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mode/cluster/service/ShenyuClusterServiceTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/scale/monitor/subject/cache/ScaleRuleCacheTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/scale/scaler/KubernetesScalerTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/scale/scaler/ScaleServiceTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/scale/scaler/dynamic/TaskSchedulerManagerTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/NamespaceServiceImplTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceRecoveryTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceSyncTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/impl/InstanceInfoServiceImplTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/utils/DiscoveryUpstreamPropsValidatorTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/utils/InstanceInfoUtilsTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/validation/validator/RewriteRuleHandleValidatorTest.java
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/test/java/org/apache/shenyu/client/mcp/generator/McpCompatibilityAdapterTest.java
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/AgentGatewayHttpToolConfig.java
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/metrics/LoggingQueueMetrics.java
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/utils/BoundServerPort.java
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/utils/RewriteHandleUtils.java
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/utils/UpstreamLabelsUtils.java
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/dto/AgentGatewayHttpToolConfigTest.java
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/dto/AlarmContentTest.java
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/metrics/LoggingQueueMetricsTest.java
 copy 
shenyu-common/src/test/java/org/apache/shenyu/common/{dto/convert/rule/RewriteHandleTest.java
 => utils/BoundServerPortTest.java} (51%)
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/RewriteHandleUtilsTest.java
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/UpstreamLabelsUtilsTest.java
 create mode 100644 shenyu-e2e/shenyu-e2e-case/compose/fixtures/httpbin.py
 create mode 100644 shenyu-e2e/shenyu-e2e-case/compose/fixtures/httpbin.yml
 create mode 100644 shenyu-e2e/shenyu-e2e-case/compose/fixtures/test_httpbin.py
 create mode 100644 
shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-logging-rocketmq/src/test/java/org/apache/shenyu/e2e/testcase/logging/rocketmq/RocketMQLogConsumptionTest.java
 create mode 100644 
shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-spring-cloud/src/test/java/org/apache/shenyu/e2e/testcase/springcloud/SpringCloudRouteReadinessTest.java
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/Dockerfile
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/config/otel-collector.yml
 copy shenyu-e2e/shenyu-e2e-case/compose/storage/shenyu-storage-h2.yml => 
shenyu-integrated-test/shenyu-integrated-test-tracing/docker-compose.yml (50%)
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/pom.xml
 copy shenyu-integrated-test/{shenyu-integrated-test-apache-dubbo => 
shenyu-integrated-test-tracing}/script/healthcheck.sh (100%)
 mode change 100644 => 100755
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/script/services.list
 copy 
shenyu-plugin/shenyu-plugin-api/src/main/java/org/apache/shenyu/plugin/api/ShenyuPluginChain.java
 => 
shenyu-integrated-test/shenyu-integrated-test-tracing/src/main/java/org/apache/shenyu/integrated/test/tracing/TracingIntegratedBootstrap.java
 (63%)
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/src/main/resources/application-local.yml
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/src/main/resources/application.yml
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/src/test/java/org/apache/shenyu/integrated/test/tracing/Deployment.java
 create mode 100644 
shenyu-integrated-test/shenyu-integrated-test-tracing/src/test/java/org/apache/shenyu/integrated/test/tracing/TracingGatewayIntegrationTest.java
 create mode 100644 
shenyu-loadbalancer/src/main/java/org/apache/shenyu/loadbalancer/entity/UpstreamIdentity.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/main/java/org/apache/shenyu/plugin/agent/gateway/protocol/AgentMcpCallTracer.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/main/java/org/apache/shenyu/plugin/agent/gateway/tool/AgentHttpToolExecutor.java
 copy 
shenyu-plugin/{shenyu-plugin-api/src/main/java/org/apache/shenyu/plugin/api/ShenyuPluginChain.java
 => 
shenyu-plugin-agent-gateway/src/main/java/org/apache/shenyu/plugin/agent/gateway/tool/AgentHttpToolInvoker.java}
 (58%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/main/java/org/apache/shenyu/plugin/agent/gateway/tool/AgentHttpToolProvider.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/test/java/org/apache/shenyu/plugin/agent/gateway/AgentHttpToolRoutingTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/test/java/org/apache/shenyu/plugin/agent/gateway/protocol/AgentMcpCallTracerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/test/java/org/apache/shenyu/plugin/agent/gateway/remote/RemoteToolDirectoryTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/test/java/org/apache/shenyu/plugin/agent/gateway/security/AgentMcpIdentityTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/test/java/org/apache/shenyu/plugin/agent/gateway/tool/AgentHttpToolExecutorTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-agent-gateway/src/test/java/org/apache/shenyu/plugin/agent/gateway/tool/AgentHttpToolNamespaceTest.java
 copy 
shenyu-sync-data-center/shenyu-sync-data-api/src/main/java/org/apache/shenyu/sync/data/api/ProxySelectorDataSubscriber.java
 => 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/conversion/AiResponseAdapter.java
 (58%)
 copy 
shenyu-sync-data-center/shenyu-sync-data-api/src/main/java/org/apache/shenyu/sync/data/api/ProxySelectorDataSubscriber.java
 => 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/model/PreparedAiRequest.java
 (55%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/provider/AiProviderCapabilities.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/provider/OpenAiProviderOptions.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyRetryPolicy.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyRetryProperties.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/transport/AiProxyTransportProperties.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/transport/AiTransportException.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/provider/AiProxyProviderHttpTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/provider/OpenAiProviderOptionsTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyRetryPolicyTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyRetryPropertiesTest.java
 rename 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/MenuProjectVO.java 
=> 
shenyu-plugin/shenyu-plugin-api/src/main/java/org/apache/shenyu/plugin/api/tracing/TraceContextCarrier.java
 (54%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-api/src/main/java/org/apache/shenyu/plugin/api/tracing/TraceContextPropagator.java
 copy 
shenyu-plugin/shenyu-plugin-api/src/main/java/org/apache/shenyu/plugin/api/{ShenyuPluginChain.java
 => utils/TraceIdUtils.java} (50%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-api/src/test/java/org/apache/shenyu/plugin/api/utils/TraceIdUtilsTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-api/src/test/java/org/apache/shenyu/plugin/api/utils/WebFluxResultUtilsTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/handler/AbstractDiscoveryUpstreamDataHandler.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/utils/UpstreamProps.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/LogCapture.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/handler/AbstractDiscoveryUpstreamDataHandlerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-base/src/test/java/org/apache/shenyu/plugin/base/utils/UpstreamPropsTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/main/java/org/apache/shenyu/plugin/cache/CachedResponse.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/test/java/org/apache/shenyu/plugin/cache/ApplicationConfigCacheConcurrencyTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/test/java/org/apache/shenyu/plugin/cache/CacheRequestEligibilityTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/test/java/org/apache/shenyu/plugin/cache/CacheResponseReplayTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/test/java/org/apache/shenyu/plugin/cache/CachedResponseTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/test/java/org/apache/shenyu/plugin/cache/utils/CacheUtilsTest.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/MenuModuleVO.java 
=> 
shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/HttpHeadersTraceContextCarrier.java
 (51%)
 copy 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/dto/ShenyuMcpRequestConfig.java
 => 
shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/NettyHttpHeadersTraceContextCarrier.java
 (50%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-httpclient/src/test/java/org/apache/shenyu/plugin/httpclient/AbstractHttpClientPluginTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-httpclient/src/test/java/org/apache/shenyu/plugin/httpclient/AbstractHttpClientPluginTraceContextLoaderTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-httpclient/src/test/java/org/apache/shenyu/plugin/httpclient/NettyHttpClientPluginTraceContextTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-httpclient/src/test/java/org/apache/shenyu/plugin/httpclient/TestTraceContextPropagator.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-httpclient/src/test/java/org/apache/shenyu/plugin/httpclient/WebClientPluginTraceContextTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-httpclient/src/test/resources/META-INF/shenyu/org.apache.shenyu.plugin.api.tracing.TraceContextPropagator
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-common/README.md
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-common/src/test/java/org/apache/shenyu/plugin/logging/common/AbstractLoggingPluginBodyLimitTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-common/src/test/java/org/apache/shenyu/plugin/logging/common/body/LoggingBodySaturatedSizeTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-common/src/test/java/org/apache/shenyu/plugin/logging/common/collector/LogCollectorMetricsTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-metrics/src/main/java/org/apache/shenyu/plugin/metrics/prometheus/LoggingQueueMetricsCollector.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-metrics/src/test/java/org/apache/shenyu/plugin/metrics/prometheus/LoggingQueueMetricsCollectorTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-divide/src/main/java/org/apache/shenyu/plugin/divide/CircuitBreakerCandidates.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/CircuitBreakerCandidatesTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/DivideCircuitBreakerBenchmark.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/main/java/org/apache/shenyu/plugin/grpc/cache/GrpcExtInfo.java
 rename 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/MenuModuleVO.java 
=> 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/main/java/org/apache/shenyu/plugin/grpc/handler/GrpcMetaDataHandler.java
 (50%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/handler/GrpcMetaDataHandlerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/resolver/ShenyuNameResolverTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-tcp/src/test/java/org/apache/shenyu/plugin/tcp/handler/ProxySelectorIdentityDeletionTest.java
 copy 
shenyu-plugin/shenyu-plugin-proxy/{shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/handler/DivideUpstreamDataHandlerTest.java
 => 
shenyu-plugin-websocket/src/test/java/org/apache/shenyu/plugin/websocket/handler/WebSocketUpstreamDataHandlerTest.java}
 (74%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-security/shenyu-plugin-key-auth/src/main/java/org/apache/shenyu/plugin/key/auth/KeyAuthAuthentication.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-security/shenyu-plugin-key-auth/src/test/java/org/apache/shenyu/plugin/key/auth/KeyAuthAuthenticationHttpTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-security/shenyu-plugin-key-auth/src/test/java/org/apache/shenyu/plugin/key/auth/KeyAuthAuthenticationTest.java
 copy shenyu-plugin/{shenyu-plugin-base => shenyu-plugin-tracing}/pom.xml (69%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/SpanAttributesBuilder.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/TracingConstants.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/TracingPlugin.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/context/ReactorTracingContext.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/extract/TraceContextExtractor.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/spi/W3cTraceContextPropagator.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/main/resources/META-INF/shenyu/org.apache.shenyu.plugin.api.tracing.TraceContextPropagator
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/test/java/org/apache/shenyu/plugin/tracing/TraceContinuityTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/test/java/org/apache/shenyu/plugin/tracing/TracingPluginTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/test/java/org/apache/shenyu/plugin/tracing/TracingSpanAttributesTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/test/java/org/apache/shenyu/plugin/tracing/TracingSpanLifecycleTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/test/java/org/apache/shenyu/plugin/tracing/extract/TraceContextExtractorTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-tracing/src/test/java/org/apache/shenyu/plugin/tracing/spi/W3cTraceContextPropagatorTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-wasm-api/src/test/java/org/apache/shenyu/plugin/wasm/api/WasmLoaderConcurrentTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-wasm-api/src/test/resources/org.apache.shenyu.plugin.wasm.api.WasmLoaderConcurrentTest$EchoPlugin.wasm
 create mode 100644 
shenyu-plugin/shenyu-plugin-wasm-api/src/test/wasm-concurrent/Makefile
 create mode 100644 
shenyu-plugin/shenyu-plugin-wasm-api/src/test/wasm-concurrent/echo.wat
 create mode 100644 
shenyu-protocol/shenyu-protocol-mqtt/src/main/java/org/apache/shenyu/protocol/mqtt/TopicMatcher.java
 create mode 100644 
shenyu-protocol/shenyu-protocol-mqtt/src/main/java/org/apache/shenyu/protocol/mqtt/repositories/WillRepository.java
 create mode 100644 
shenyu-protocol/shenyu-protocol-mqtt/src/test/java/org/apache/shenyu/protocol/mqtt/DisconnectTest.java
 create mode 100644 
shenyu-protocol/shenyu-protocol-mqtt/src/test/java/org/apache/shenyu/protocol/mqtt/PublishWillTest.java
 create mode 100644 
shenyu-protocol/shenyu-protocol-mqtt/src/test/java/org/apache/shenyu/protocol/mqtt/TopicMatcherTest.java
 create mode 100644 
shenyu-protocol/shenyu-protocol-mqtt/src/test/java/org/apache/shenyu/protocol/mqtt/repositories/WillRepositoryTest.java
 create mode 100644 shenyu-register-center/CLIENT_MIGRATION.md
 create mode 100644 
shenyu-register-center/shenyu-register-client-beat/src/test/java/org/apache/shenyu/register/client/beat/HeartbeatBoundPortTest.java
 rename 
shenyu-register-center/{shenyu-register-client/shenyu-register-client-http/src/main/java/org/apache/shenyu/register/client/http
 => 
shenyu-register-common/src/main/java/org/apache/shenyu/register/common}/utils/OkHttpTools.java
 (98%)
 rename 
shenyu-register-center/{shenyu-register-client/shenyu-register-client-http/src/main/java/org/apache/shenyu/register/client/http
 => 
shenyu-register-common/src/main/java/org/apache/shenyu/register/common}/utils/RegisterUtils.java
 (90%)
 rename 
shenyu-register-center/{shenyu-register-client/shenyu-register-client-http/src/test/java/org/apache/shenyu/register/client/http
 => 
shenyu-register-common/src/test/java/org/apache/shenyu/register/common}/utils/OkHttpToolsTest.java
 (98%)
 rename 
shenyu-register-center/{shenyu-register-client/shenyu-register-client-http/src/test/java/org/apache/shenyu/register/client/http
 => 
shenyu-register-common/src/test/java/org/apache/shenyu/register/common}/utils/RegisterUtilsTest.java
 (82%)
 copy shenyu-register-center/{shenyu-register-common => 
shenyu-register-mcp}/pom.xml (78%)
 copy 
{shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client
 => 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register}/mcp/common/constants/OpenApiConstants.java
 (98%)
 copy 
{shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client
 => 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register}/mcp/common/constants/RequestTemplateConstants.java
 (96%)
 copy 
{shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client
 => 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register}/mcp/common/constants/ShenyuToolConfigConstants.java
 (95%)
 rename 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/MenuDocItemVO.java 
=> 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register/mcp/common/dto/ShenyuMcpRequestConfig.java
 (53%)
 copy 
{shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client
 => 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register}/mcp/common/dto/ShenyuMcpTool.java
 (84%)
 copy 
{shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client
 => 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register}/mcp/generator/McpRequestConfigGenerator.java
 (93%)
 copy 
{shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client
 => 
shenyu-register-center/shenyu-register-mcp/src/main/java/org/apache/shenyu/register}/mcp/generator/McpToolsRegisterDTOGenerator.java
 (93%)
 create mode 100644 shenyu-register-center/shenyu-register-protocol/README.md
 copy 
{shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway
 => shenyu-register-center/shenyu-register-protocol}/pom.xml (73%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/dto/ApiDocRegisterDTO.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/dto/DiscoveryConfigRegisterDTO.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/dto/InstanceBeatInfoDTO.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/dto/McpToolsRegisterDTO.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/dto/MetaDataRegisterDTO.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/dto/URIRegisterDTO.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/enums/EventType.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/path/RegisterPathConstants.java
 (100%)
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/java/org/apache/shenyu/register/common/protocol/RegistrationProtocol.java
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/type/DataType.java
 (100%)
 rename shenyu-register-center/{shenyu-register-common => 
shenyu-register-protocol}/src/main/java/org/apache/shenyu/register/common/type/DataTypeParent.java
 (100%)
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/api-doc.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/discovery-config.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/heartbeat.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/mcp.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/metadata.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/offline.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/uri-heartbeat.json
 create mode 100644 
shenyu-register-center/shenyu-register-protocol/src/main/resources/registration/v1/uri.json
 delete mode 100644 
shenyu-registry/shenyu-registry-consul/src/test/java/org/apache/shenyu/registry/consul/TtlSchedulerTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-beat/src/test/java/org/apache/shenyu/register/client/beat/HeartbeatListenerConfigurationTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-k8s/src/main/java/org/apache/shenyu/springboot/starter/k8s/ShenyuKubernetesControllerProperties.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-k8s/src/test/java/org/apache/shenyu/springboot/starter/k8s/IngressControllerConfigurationTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/main/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/JwtAgentMcpSecurityResolver.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/main/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/KeyAuthMcpSecurityProperties.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/main/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/KeyAuthMcpSecurityResolver.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/main/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/OpenTelemetryAgentMcpCallTracer.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/main/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/PrincipalMcpSecurityProperties.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/main/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/PrincipalMcpSecurityResolver.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/JwtAgentMcpHttpTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/JwtAgentMcpSecurityResolverTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/KeyAuthMcpHttpTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/KeyAuthMcpSecurityConfigurationTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/KeyAuthMcpTestFixture.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/OAuthLoginMcpHttpTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/OpenTelemetryAgentMcpCallTracerTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/OpenTelemetryAgentMcpOtlpTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/PrincipalMcpHttpTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-agent-gateway/src/test/java/org/apache/shenyu/springboot/starter/plugin/agent/gateway/PrincipalMcpSecurityResolverTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-httpclient/src/test/java/org/apache/shenyu/springboot/starter/plugin/httpclient/HttpClientLoopResourcesTest.java
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-agent-gateway
 => shenyu-spring-boot-starter-plugin-tracing}/pom.xml (67%)
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tracing/src/main/java/org/apache/shenyu/springboot/starter/plugin/tracing/TracingExporterHolder.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tracing/src/main/java/org/apache/shenyu/springboot/starter/plugin/tracing/TracingPluginConfiguration.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tracing/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tracing/src/test/java/org/apache/shenyu/springboot/starter/plugin/tracing/TracingPluginConfigurationTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/README.md
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/example/gateway.yaml
 copy {shenyu-plugin/shenyu-plugin-agent-gateway => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file}/pom.xml
 (64%)
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/main/java/org/apache/shenyu/springboot/starter/sync/data/file/FileConfigurationLoader.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/main/java/org/apache/shenyu/springboot/starter/sync/data/file/FileConfigurationParser.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/main/java/org/apache/shenyu/springboot/starter/sync/data/file/FileModeEnvironmentPostProcessor.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/main/java/org/apache/shenyu/springboot/starter/sync/data/file/FileSyncDataConfiguration.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/main/resources/META-INF/spring.factories
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/test/java/org/apache/shenyu/springboot/starter/sync/data/file/FileConfigurationLoaderTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/test/java/org/apache/shenyu/springboot/starter/sync/data/file/FileConfigurationParserTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/test/java/org/apache/shenyu/springboot/starter/sync/data/file/FileModeEnvironmentTest.java
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-file/src/test/java/org/apache/shenyu/springboot/starter/sync/data/file/FileModeIntegrationTest.java
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-http/src/test/java/org/apache/shenyu/sync/data/http/AccessTokenManagerRecoveryTest.java
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-http/src/test/java/org/apache/shenyu/sync/data/http/HttpSyncBoundPortTest.java
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-websocket/src/test/java/org/apache/shenyu/plugin/sync/data/websocket/WebsocketBoundPortTest.java
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-websocket/src/test/java/org/apache/shenyu/plugin/sync/data/websocket/WebsocketMasterRedirectTest.java
 create mode 100644 
shenyu-web/src/test/java/org/apache/shenyu/web/loader/ShenyuPluginClassLoaderBeanIsolationTest.java

Reply via email to