Incompatibility between Seata 2.6.0 and Nacos Server 3.2.0 due to outdated nacos-client 1.4.6
### Check Ahead
- [x] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
- [x] I am willing to try to implement this feature myself.
### Why you need it?
# 中文
- seata 2.6.0 使用的 nacos-client 是 1.4.6
- seata 2.6.0 连接 nacos-server 3.1.2 正常:
1. 源码:https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/tree/5371e5084896beb658e0d8ae2026d04c6dd2b43d
2. github actions:https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/actions/runs/25452262821
- seata 2.6.0 连接 nacos-server 3.2.0 异常:
```
Caused by: com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Sat May 09 14:49:36 CST 2026</div><div>There was an unexpected error (type=Not Implemented, status=501).</div><div>no such api:POST:/nacos/v1/ns/instance</div></body></html>
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:565) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:507) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:502) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:255) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:218) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:202) ~[nacos-client-1.4.6.jar:na]
at org.apache.seata.discovery.registry.nacos.NacosRegistryServiceImpl.register(NacosRegistryServiceImpl.java:118) ~[seata-discovery-nacos-2.6.0.jar:2.6.0]
at org.apache.seata.discovery.registry.RegistryService.register(RegistryService.java:77) ~[seata-discovery-core-2.6.0.jar:2.6.0]
at org.apache.seata.core.rpc.netty.NettyServerBootstrap.start(NettyServerBootstrap.java:203) ~[seata-core-2.6.0.jar:2.6.0]
... 19 common frames omitted
```
- seata 2.6.0 使用 nacos-client 2.0.0 连接 nacos-server 3.2.0 正常:
1. 源码:https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/tree/4029aaa368a64022993b12cae0d668475fafe2be
2. github actions:https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/actions/runs/25594086059
- 计划在 seata 2.7.0 发布后,开启 seata 2.8.0 对 spring boot 4.x 的合并窗口,建议在 2.8.0 对 nacos-client 进行升级,最低要求 nacos-client 2.0.0+
- https://github.com/apache/incubator-seata/issues/8053
# English
- seata 2.6.0 uses nacos-client 1.4.6
- seata 2.6.0 connects to nacos-server 3.1.2 normally:
1. Source code: https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/tree/5371e5084896beb658e0d8ae2026d04c6dd2b43d
2. GitHub Actions: https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/actions/runs/25452262821
- seata 2.6.0 fails to connect to nacos-server 3.2.0:
```
Caused by: com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Sat May 09 14:49:36 CST 2026</div><div>There was an unexpected error (type=Not Implemented, status=501).</div><div>no such api:POST:/nacos/v1/ns/instance</div></body></html>
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:565) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:507) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:502) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:255) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:218) ~[nacos-client-1.4.6.jar:na]
at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:202) ~[nacos-client-1.4.6.jar:na]
at org.apache.seata.discovery.registry.nacos.NacosRegistryServiceImpl.register(NacosRegistryServiceImpl.java:118) ~[seata-discovery-nacos-2.6.0.jar:2.6.0]
at org.apache.seata.discovery.registry.RegistryService.register(RegistryService.java:77) ~[seata-discovery-core-2.6.0.jar:2.6.0]
at org.apache.seata.core.rpc.netty.NettyServerBootstrap.start(NettyServerBootstrap.java:203) ~[seata-core-2.6.0.jar:2.6.0]
... 19 common frames omitted
```
- seata 2.6.0 with nacos-client 2.0.0 connects to nacos-server 3.2.0 normally:
1. Source code: https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/tree/4029aaa368a64022993b12cae0d668475fafe2be
2. GitHub Actions: https://github.com/xuxiaowei-com-cn/spring-cloud-alibaba-example/actions/runs/25594086059
- After seata 2.7.0 is released, we plan to open the merge window for seata 2.8.0 to support Spring Boot 4.x. It is recommended to upgrade nacos-client in 2.8.0, with a minimum requirement of nacos-client 2.0.0+
- https://github.com/apache/incubator-seata/issues/8053
### How it could be?
_No response_
### Other related information
- Nacos 客户端 `com.alibaba.nacos:nacos-client` 版本 <= 2.0.3 存在 [CVE-2021-43116](https://github.com/advisories/GHSA-2g86-r6w2-wqqr) 漏洞,其 CVSS 评分为 8.8/10。
- The Nacos client `com.alibaba.nacos:nacos-client` versions <= 2.0.3 have [CVE-2021-43116](https://github.com/advisories/GHSA-2g86-r6w2-wqqr), with a CVSS score of 8.8/10.
2 条评论