Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/scripts/check-registry-dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
import sys
from pathlib import Path

PROVIDERS = ("zookeeper", "etcd", "nacos", "apollo", "eureka", "kubernetes")
COMPATIBILITY_PROVIDERS = set(PROVIDERS) - {"apollo"}
PROVIDERS = ("zookeeper", "etcd", "nacos", "eureka", "kubernetes")
COMPATIBILITY_PROVIDERS = set(PROVIDERS)
LEAN_MODULES = (
"shenyu-registry/shenyu-registry-api",
"shenyu-registry/shenyu-registry-core",
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Apache ShenYu is a Java-based gateway for service proxying, protocol conversion,
| Registration and discovery | Client SDKs register service addresses and API metadata with Admin. Registry integrations support discovery; an optional Kubernetes controller reconciles Ingress and Endpoints resources. |
| Security and traffic control | WAF, signing, authentication plugins, load balancing, rate limiting, and fault tolerance through Resilience4j and Sentinel; deprecated Hystrix remains available as an external plugin (see [plugin-store-hystrix](docs/plugin-store-hystrix.md)). |
| Caching and transformation | In-memory or Redis-backed response caching, URL rewriting, redirection, and request/response transformation. |
| Dynamic configuration | Admin persists plugins, selectors, rules, metadata, and authentication data. WebSocket sync is the default; HTTP long polling, ZooKeeper, Nacos, and etcd are available. Apollo remains available during its deprecation release and is planned to move to an external extension (see [Apollo migration](docs/plugin-store-apollo.md)). Consul sync is available as an external extension (see [plugin-store-consul](docs/plugin-store-consul.md)). Gateway replicas apply updates to their local caches. |
| Dynamic configuration | Admin persists plugins, selectors, rules, metadata, and authentication data. WebSocket sync is the default; HTTP long polling, ZooKeeper, Nacos, and etcd are available. Apollo sync and registry are available as an external extension (see [Apollo migration](docs/plugin-store-apollo.md)). Consul sync is available as an external extension (see [plugin-store-consul](docs/plugin-store-consul.md)). Gateway replicas apply updates to their local caches. |
| Observability | Metrics and logging plugins, including Kafka and Elasticsearch destinations; email and DingTalk alerts from Admin. |
| AI and MCP | AI proxy, prompt processing, token limits, sensitive-word filtering, AI request/response transformation, and an MCP server plugin with SSE and Streamable HTTP. |

Expand Down
18 changes: 11 additions & 7 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

### API Changes

- Apollo's in-tree registry, sync adapter, Admin listener and sync starter are
deprecated for transfer to plugin-store (#7599). All four remain available in
the release carrying this notice. Removal requires dev-list consensus, a full
released deprecation cycle, compatible external artifact publication and an
announced rollback window; no removal release is scheduled. See the
[migration guide](docs/plugin-store-apollo.md). Existing `apollo` type names,
keys and `ApolloPathConstants` remain compatibility contracts.
- The external Apollo stack retains the `apollo` SPI/configuration type and
existing stored keys (#7599). `ApolloPathConstants` remains in core as a small
compatibility shim without an Apollo SDK dependency. The separate deprecation
notice must have shipped in a preceding core release before this cutover can
merge; see the [migration guide](docs/plugin-store-apollo.md).

- `MemorySafeLRUMap` is deprecated since 2.7.2. The class, public constructors,
serialization identifier and existing behavior are retained for downstream
Expand All @@ -28,6 +26,12 @@

### Behavior Changes

- Apollo's runtime modules and sync starter are transferred to plugin-store in
this later cutover change (#7599). Merge and release only after the separate
deprecation notice has shipped in a preceding core release, dev-list agreement,
passing receiving CI and external publication. Existing configurations and
`ApolloPathConstants` remain compatible; see the [migration guide](docs/plugin-store-apollo.md).

- Agent Gateway accepts opt-in `mcp.httpTools` plans for fixed existing gateway
HTTP routes. GET/query and POST/query or flat scalar JSON-body mappings use
request-local plugin cursors, attributes and captured responses; upstream
Expand Down
7 changes: 4 additions & 3 deletions docs/plugin-store-apollo.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ limitations under the License.

## Status and deprecation cycle

Apollo is currently an optional, supported in-tree integration. Issue [#7599](https://github.com/apache/shenyu/issues/7599)
This source branch prepares the later removal of Apollo from the core reactor.
The published deprecation release must retain its in-tree integration. Issue [#7599](https://github.com/apache/shenyu/issues/7599)
proposes transferring its registry, data-sync, Admin listener and gateway starter to
[plugin-store](https://github.com/apache/shenyu-plugin-store), extending [#7306](https://github.com/apache/shenyu/issues/7306).
This guide is the advance deprecation notice: the in-tree modules remain available
for the release carrying this notice. No removal release has been selected.
The separate deprecation PR publishes the advance notice and this guide while
retaining all four modules for that release. No removal release has been selected.
The separate removal PR is a draft and must not be merged in that deprecation release.

| Stage | Required action |
Expand Down
13 changes: 0 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@
<caffeine.version>2.9.3</caffeine.version>
<httpasyncclient.version>4.1.5</httpasyncclient.version>
<asm.version>9.2</asm.version>
<apollo.version>2.1.0</apollo.version>
<resilience.version>1.7.1</resilience.version>
<sentinel.version>1.8.3</sentinel.version>
<lettuce.version>6.1.2.RELEASE</lettuce.version>
Expand Down Expand Up @@ -377,18 +376,6 @@
<version>${zookeeper.version}</version>
</dependency>

<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>${apollo.version}</version>
</dependency>

<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-openapi</artifactId>
<version>${apollo.version}</version>
</dependency>

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
Expand Down
1 change: 0 additions & 1 deletion shenyu-admin-listener/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

<modules>
<module>shenyu-admin-listener-api</module>
<module>shenyu-admin-listener-apollo</module>
<module>shenyu-admin-listener-etcd</module>
<module>shenyu-admin-listener-nacos</module>
<module>shenyu-admin-listener-zookeeper</module>
Expand Down
73 changes: 0 additions & 73 deletions shenyu-admin-listener/shenyu-admin-listener-apollo/pom.xml

This file was deleted.

This file was deleted.

Loading
Loading