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

dmsolr pushed a change to branch perf/upstream-snapshot-publish
in repository https://gitbox.apache.org/repos/asf/shenyu.git


    from 54d43f31eb perf(loadbalancer): publish read-only healthy upstream 
snapshots to avoid per-request list copies
     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 fa3c20ffed build(deps): align SLF4J API and bridges with OSHI (#7890)
     add c75ce827ed Merge remote-tracking branch 'origin/master' into 
perf/upstream-snapshot-publish

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                                            |   44 +-
 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       |   14 +-
 .../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     |  190 ++
 .../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, 52790 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