Aias00 opened a new issue, #7585:
URL: https://github.com/apache/shenyu/issues/7585
## Context
PR #7578 ("[ISSUE #7311] Decouple registry core from implementations",
merged as `a7d80b7`) removed the five registry implementation dependencies
(`zookeeper`, `etcd`, `nacos`, `eureka`, `kubernetes`) from
`shenyu-registry-core`. That module now depends only on `shenyu-registry-api`
and `shenyu-spi`.
## Problem
This is a **behavior change for downstream users**, but it is not recorded
in `RELEASE-NOTES.md` under `## Unreleased` → `### Behavior Changes`.
Downstream consumers currently have no advance signal in the release notes.
The points that need documenting:
1. **`shenyu-registry-core` no longer transitively provides registry
implementations.** Applications that depended on `shenyu-registry-core` — or on
`shenyu-sdk-core` / `shenyu-sdk-feign`, which now depend on
`shenyu-registry-api` instead of `shenyu-registry-core` — and relied on
transitive providers must declare their configured provider explicitly before
upgrading, e.g.:
```xml
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-registry-zookeeper</artifactId>
<version>${shenyu.version}</version>
<scope>runtime</scope>
</dependency>
```
2. **`ShenyuInstanceRegisterRepositoryFactory.loadRepository(String)` is new
public API**, and the factory now throws a descriptive
`IllegalArgumentException` (naming the missing `shenyu-registry-<type>`
artifact and listing the available SPI keys) when a `registerType` has no SPI
provider on the classpath. Previously `ExtensionLoader.getJoin(type)` failed
with a much less actionable error.
3. **`AbstractDiscoveryProcessor#createDiscovery`** now resolves
repositories through
`ShenyuInstanceRegisterRepositoryFactory.loadRepository(type)` instead of
calling the SPI loader directly.
4. **`shenyu-admin` and `shenyu-spring-boot-starter-registry` explicitly
re-declare the five providers**, which is why existing users of the
compatibility starter are unaffected. Apollo was never part of the previous
aggregate and remains an explicit choice.
## Suggested fix
Add an entry to `## Unreleased` → `### Behavior Changes` in
`RELEASE-NOTES.md` covering the four points above, referencing #7578 and
pointing to `shenyu-registry/README.md` (added by the same PR) for the
migration and rollback guidance.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]