v2.7.1
- Fix nondeterminsitic tests caused by JSON order issues by @yonghanlin in https://github.com/apache/shenyu/pull/6232
- Fixed non deterministic test caused by Json Ordering by @annhchen89 in https://github.com/apache/shenyu/pull/6229
- Fix mcp server real url error by @478320 in https://github.com/apache/shenyu/pull/6228
- Fix nondeterminism of the order of query parameters in HttpUtilsTest by @yonghanlin in https://github.com/apache/shenyu/pull/6230
- fix field-sqlmap.xml database reserved keywords by @2823602869 in https://github.com/apache/shenyu/pull/6233
- Release/merge 2.7.0.3 by @Aias00 in https://github.com/apache/shenyu/pull/6237
- fix get the argument position mapping error and test method by @MaMengzhen in https://github.com/apache/shenyu/pull/6236
- Fix Order Dependent Test in JsonMessageTest by @annhchen89 in https://github.com/apache/shenyu/pull/6244
- [Fix] the selector and rule pagination non-functional (#6239) by @VampireAchao in https://github.com/apache/shenyu/pull/6243
- Fix Order Dependent Test in AiPromptPluginDataHandlerTest by @annhchen89 in https://github.com/apache/shenyu/pull/6245
- Fix non deterministic test caused by HashMap by @annhchen89 in https://github.com/apache/shenyu/pull/6246
- Enhance index method to build base URL from HTTP request, supporting reverse proxy scenarios by @Aias00 in https://github.com/apache/shenyu/pull/6247
- modify loadbalancer by @yu199195 in https://github.com/apache/shenyu/pull/6251
- feat: Introduce request body size limit, enhance AI proxy plugin's ChatClient caching with config hash, and refine prompt extraction from the request body. by @Aias00 in https://github.com/apache/shenyu/pull/6248
- fix ai proxy key by @Aias00 in https://github.com/apache/shenyu/pull/6249
- Refactor EtcdClient and RedisConnectionFactory for improved readability and maintainability by @Aias00 in https://github.com/apache/shenyu/pull/6250
- feat: Enhance IpUtils with Docker support, improved IP filtering by @Aias00 in https://github.com/apache/shenyu/pull/6253
- fix mcp tool sample error by @MaMengzhen in https://github.com/apache/shenyu/pull/6259
- infra: refactor infra zk module by @yuluo-yx in https://github.com/apache/shenyu/pull/6199
- feat: Rename ai proxy enhanced module to ai proxy and update related files by @Aias00 in https://github.com/apache/shenyu/pull/6260
- fix NettyHttpClientPlugin doRequest response unique headers error by @MaMengzhen in https://github.com/apache/shenyu/pull/6258
- fix 'addCustomHeaders' header value replace bug by @MaMengzhen in https://github.com/apache/shenyu/pull/6257
- Fix order dependent test in Resilience4JPluginTest by @annhchen89 in https://github.com/apache/shenyu/pull/6261
- test(#5161): Improve test coverage for VersionUtils by @airajena in https://github.com/apache/shenyu/pull/6264
- [#6262] Fix OrderlyExecutor resource leak in shenyu-disruptor by @airajena in https://github.com/apache/shenyu/pull/6269
- Fix: Set isClosing flag in closeGracefully method as documented by @airajena in https://github.com/apache/shenyu/pull/6263
- fix add custom headers error by @MaMengzhen in https://github.com/apache/shenyu/pull/6268
- [ISSUE #6235] Set upstream check for each upstream. by @jonasHanhan in https://github.com/apache/shenyu/pull/6272
- fix mcp config shenyu context error by @MaMengzhen in https://github.com/apache/shenyu/pull/6266
- [type:fix] fix database init script by @eye-gu in https://github.com/apache/shenyu/pull/6277
- chore(deps): bump org.assertj:assertj-core from 3.22.0 to 3.27.7 in /shenyu-e2e by @dependabot[bot] in https://github.com/apache/shenyu/pull/6278
- Fix: Preserve Gateway's independent upstream health check state when receiving config updates from Admin by @guanzhenxing in https://github.com/apache/shenyu/pull/6274
- [Vulnerability Fix] Harden Docker images to run as non-root user by @RinZ27 in https://github.com/apache/shenyu/pull/6273
- feat: Add new role search criteria by @yangyx107 in https://github.com/apache/shenyu/pull/6282
- feat:sync dashboard. by @yangyx107 in https://github.com/apache/shenyu/pull/6283
- fix: handle tool not found error and update requestConfig type to JsonElement by @Aias00 in https://github.com/apache/shenyu/pull/6284
- [type:fix] set open by @eye-gu in https://github.com/apache/shenyu/pull/6280
- feat:modify instance createOrUpdate method log level by @yangyx107 in https://github.com/apache/shenyu/pull/6285
- replace stream().forEach() to forEach() by @VampireAchao in https://github.com/apache/shenyu/pull/6275
- fix: fix GsonUtils concurrent serialization exceptions (#6286) by @fanpipi in https://github.com/apache/shenyu/pull/6287
- fix: enhance logging and improve request handling in HTTP client plugins by @Aias00 in https://github.com/apache/shenyu/pull/6288
- fix mcp streamable by @Aias00 in https://github.com/apache/shenyu/pull/6289
- feat: refactor aiRequest and aiResponse models to support asynchronou… by @478320 in https://github.com/apache/shenyu/pull/6296
- feat: add CORS support with configurable allowed headers in MCP server by @Aias00 in https://github.com/apache/shenyu/pull/6295
- fix: improve upstream cache management and add recovery test for empty events by @Aias00 in https://github.com/apache/shenyu/pull/6294
- fix: improve MCP server plugin path handling and backward compatibility for argsPosition by @Aias00 in https://github.com/apache/shenyu/pull/6293
- Fix: loggion console add rule bug by @yangyx107 in https://github.com/apache/shenyu/pull/6291
- [type:fix] close java 18 ci by @moremind in https://github.com/apache/shenyu/pull/6306
- [type:refactor] remove shenyu trie cache by @moremind in https://github.com/apache/shenyu/pull/6303
- chore(deps): bump oshi from 6.7.0 to 6.10.0 by @yangpixi in https://github.com/apache/shenyu/pull/6301
- chore(deps): bump org.apache.zookeeper:zookeeper from 3.9.4 to 3.9.5 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6302
- fix: replace Collections.EMPTY_MAP with Collections.emptyMap() by @Senrian in https://github.com/apache/shenyu/pull/6299
- Fix: RuleServiceImpl#searchByPage() Selectors now populated from namespace only when condition selectors are null or empty. by @bruce121 in https://github.com/apache/shenyu/pull/6305
- [type:fix] Align PluginEnum sort values with DB schema.sql by @bwangll in https://github.com/apache/shenyu/pull/6311
- infra(ci): add CI action condition by @yuluo-yx in https://github.com/apache/shenyu/pull/6316
- feat(mcp-server): enhance SDK compatibility with reflection caching and error handling by @Aias00 in https://github.com/apache/shenyu/pull/6312
- Align SSRF URL validation with OkHttp parsing by @Aias00 in https://github.com/apache/shenyu/pull/6321
- Hide registry passwords from admin API responses by @Aias00 in https://github.com/apache/shenyu/pull/6322
- Block redirect-based SSRF bypass in Swagger imports by @Aias00 in https://github.com/apache/shenyu/pull/6320
- Fix missing RBAC on selector, rule, and data-permission endpoints by @Aias00 in https://github.com/apache/shenyu/pull/6319
- Ci update cache by @2823602869 in https://github.com/apache/shenyu/pull/6325
- chore(deps): bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6324
- Stop exposing login AES secrets to anonymous callers by @Aias00 in https://github.com/apache/shenyu/pull/6323
- chore(deps): bump org.bouncycastle:bcprov-jdk18on from 1.78 to 1.84 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6331
- test(task#5161): improve test coverage for sync. by @wy471x in https://github.com/apache/shenyu/pull/6333
- test(task#5161): improve test coverage for admin. by @wy471x in https://github.com/apache/shenyu/pull/6328
- [fix]: Fix ReactorNettyWebSocketClient builder reuse in WebSocket plugin configuration by @zhaoguhong in https://github.com/apache/shenyu/pull/6330
- chore(deps): bump com.sun.mail:jakarta.mail from 2.0.1 to 2.0.2 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6329
- Fix duplicate full-mode URI heartbeat registration after repeated refresh by @Aias00 in https://github.com/apache/shenyu/pull/6337
- [type:refactor] remove motan support by @Aias00 in https://github.com/apache/shenyu/pull/6307
- fix: correct instanceof check in addFailureUriDataRegister by @eye-gu in https://github.com/apache/shenyu/pull/6345
- fix(ai-prompt): preserve all original messages in decorateBody by @eye-gu in https://github.com/apache/shenyu/pull/6343
- fix: replace ArrayList with CopyOnWriteArrayList to avoid ConcurrentM… by @eye-gu in https://github.com/apache/shenyu/pull/6352
- fix: eliminate race condition in UpstreamCheckServiceTest.testReplace by @eye-gu in https://github.com/apache/shenyu/pull/6355
- Fix README documentation links by @SPUERSAIYAN in https://github.com/apache/shenyu/pull/6357
- Codex/fix sandbox response leak by @SPUERSAIYAN in https://github.com/apache/shenyu/pull/6359
- Stabilize k8s ingress startup healthchecks by @Aias00 in https://github.com/apache/shenyu/pull/6361
- Stabilize Sentinel integrated rate-limit assertions by @Aias00 in https://github.com/apache/shenyu/pull/6374
- Stabilize HTTP E2E compose startup readiness by @Aias00 in https://github.com/apache/shenyu/pull/6363
- Stabilize Sentinel integrated test assertions by @Aias00 in https://github.com/apache/shenyu/pull/6377
- [ISSUE 6334] : Add uri validation for regex and other operators. by @hengyuss in https://github.com/apache/shenyu/pull/6335
- [ISSUE #5856] Support configurable max-initial-line-length for HTTP request decoder by @hqbhonker in https://github.com/apache/shenyu/pull/6378
- Fix RocketMQ logging e2e bootstrap startup by @Aias00 in https://github.com/apache/shenyu/pull/6379
- fix(request): make add operations append existing values by @SouthwestAsiaFloat in https://github.com/apache/shenyu/pull/6375
- fix: skip request body for GET and HEAD requests by @zongmingzhi in https://github.com/apache/shenyu/pull/6350
- fix(ci): remove maven cache save to avoid incomplete cache pollution by @eye-gu in https://github.com/apache/shenyu/pull/6383
- [type:refactor] replace inactive wasmtime-java with chicory pure-Java WASM runtime by @eye-gu in https://github.com/apache/shenyu/pull/6356
- Prerelease/fix license by @Aias00 in https://github.com/apache/shenyu/pull/6387
- fix:fix local springmvc client cant register success by @hengyuss in https://github.com/apache/shenyu/pull/6395
- fix: DividePlugin specify-domain header to prevent cache pollution an… by @hengyuss in https://github.com/apache/shenyu/pull/6412
- fix: Enforce account enabled check on every authenticated request in … by @hengyuss in https://github.com/apache/shenyu/pull/6415
- fix(admin): limit swagger import response body size by @SouthwestAsiaFloat in https://github.com/apache/shenyu/pull/6411
- fix: Add decompression size limits to ZipUtil.unzip()[#6400] by @hengyuss in https://github.com/apache/shenyu/pull/6416
- fix: add mounts for external libraries in docker-compose to prevent startup issues (missing database connector driver) when using an external database datasource other than H2 (#6389) by @exyb in https://github.com/apache/shenyu/pull/6391
- [fix] Add missing permission annotations to /appAuth/updateSk and /sandbox/proxyGateway by @Aias00 in https://github.com/apache/shenyu/pull/6388
- Require permission for namespace plugin sync by @Aias00 in https://github.com/apache/shenyu/pull/6384
- fix: use come.google.re2j replace java.util.regex in RegexPredicateJu… by @hengyuss in https://github.com/apache/shenyu/pull/6410
- fix: Remove appSecret from sandbox-beforesign response header[#6402] by @hengyuss in https://github.com/apache/shenyu/pull/6417
- @yonghanlin made their first contribution in https://github.com/apache/shenyu/pull/6232
- @annhchen89 made their first contribution in https://github.com/apache/shenyu/pull/6229
- @2823602869 made their first contribution in https://github.com/apache/shenyu/pull/6233
- @airajena made their first contribution in https://github.com/apache/shenyu/pull/6264
- @jonasHanhan made their first contribution in https://github.com/apache/shenyu/pull/6272
- @RinZ27 made their first contribution in https://github.com/apache/shenyu/pull/6273
- @yangyx107 made their first contribution in https://github.com/apache/shenyu/pull/6282
- @fanpipi made their first contribution in https://github.com/apache/shenyu/pull/6287
- @yangpixi made their first contribution in https://github.com/apache/shenyu/pull/6301
- @Senrian made their first contribution in https://github.com/apache/shenyu/pull/6299
- @bruce121 made their first contribution in https://github.com/apache/shenyu/pull/6305
- @bwangll made their first contribution in https://github.com/apache/shenyu/pull/6311
- @wy471x made their first contribution in https://github.com/apache/shenyu/pull/6333
- @SPUERSAIYAN made their first contribution in https://github.com/apache/shenyu/pull/6357
- @hengyuss made their first contribution in https://github.com/apache/shenyu/pull/6335
- @hqbhonker made their first contribution in https://github.com/apache/shenyu/pull/6378
- @SouthwestAsiaFloat made their first contribution in https://github.com/apache/shenyu/pull/6375
- @exyb made their first contribution in https://github.com/apache/shenyu/pull/6391
Full Changelog: https://github.com/apache/shenyu/compare/v2.7.0.3...v2.7.1
v2.7.1
- Fix nondeterminsitic tests caused by JSON order issues by @yonghanlin in https://github.com/apache/shenyu/pull/6232
- Fixed non deterministic test caused by Json Ordering by @annhchen89 in https://github.com/apache/shenyu/pull/6229
- Fix mcp server real url error by @478320 in https://github.com/apache/shenyu/pull/6228
- Fix nondeterminism of the order of query parameters in HttpUtilsTest by @yonghanlin in https://github.com/apache/shenyu/pull/6230
- fix field-sqlmap.xml database reserved keywords by @2823602869 in https://github.com/apache/shenyu/pull/6233
- Release/merge 2.7.0.3 by @Aias00 in https://github.com/apache/shenyu/pull/6237
- fix get the argument position mapping error and test method by @MaMengzhen in https://github.com/apache/shenyu/pull/6236
- Fix Order Dependent Test in JsonMessageTest by @annhchen89 in https://github.com/apache/shenyu/pull/6244
- [Fix] the selector and rule pagination non-functional (#6239) by @VampireAchao in https://github.com/apache/shenyu/pull/6243
- Fix Order Dependent Test in AiPromptPluginDataHandlerTest by @annhchen89 in https://github.com/apache/shenyu/pull/6245
- Fix non deterministic test caused by HashMap by @annhchen89 in https://github.com/apache/shenyu/pull/6246
- Enhance index method to build base URL from HTTP request, supporting reverse proxy scenarios by @Aias00 in https://github.com/apache/shenyu/pull/6247
- modify loadbalancer by @yu199195 in https://github.com/apache/shenyu/pull/6251
- feat: Introduce request body size limit, enhance AI proxy plugin's ChatClient caching with config hash, and refine prompt extraction from the request body. by @Aias00 in https://github.com/apache/shenyu/pull/6248
- fix ai proxy key by @Aias00 in https://github.com/apache/shenyu/pull/6249
- Refactor EtcdClient and RedisConnectionFactory for improved readability and maintainability by @Aias00 in https://github.com/apache/shenyu/pull/6250
- feat: Enhance IpUtils with Docker support, improved IP filtering by @Aias00 in https://github.com/apache/shenyu/pull/6253
- fix mcp tool sample error by @MaMengzhen in https://github.com/apache/shenyu/pull/6259
- infra: refactor infra zk module by @yuluo-yx in https://github.com/apache/shenyu/pull/6199
- feat: Rename ai proxy enhanced module to ai proxy and update related files by @Aias00 in https://github.com/apache/shenyu/pull/6260
- fix NettyHttpClientPlugin doRequest response unique headers error by @MaMengzhen in https://github.com/apache/shenyu/pull/6258
- fix 'addCustomHeaders' header value replace bug by @MaMengzhen in https://github.com/apache/shenyu/pull/6257
- Fix order dependent test in Resilience4JPluginTest by @annhchen89 in https://github.com/apache/shenyu/pull/6261
- test(#5161): Improve test coverage for VersionUtils by @airajena in https://github.com/apache/shenyu/pull/6264
- [#6262] Fix OrderlyExecutor resource leak in shenyu-disruptor by @airajena in https://github.com/apache/shenyu/pull/6269
- Fix: Set isClosing flag in closeGracefully method as documented by @airajena in https://github.com/apache/shenyu/pull/6263
- fix add custom headers error by @MaMengzhen in https://github.com/apache/shenyu/pull/6268
- [ISSUE #6235] Set upstream check for each upstream. by @jonasHanhan in https://github.com/apache/shenyu/pull/6272
- fix mcp config shenyu context error by @MaMengzhen in https://github.com/apache/shenyu/pull/6266
- [type:fix] fix database init script by @eye-gu in https://github.com/apache/shenyu/pull/6277
- chore(deps): bump org.assertj:assertj-core from 3.22.0 to 3.27.7 in /shenyu-e2e by @dependabot[bot] in https://github.com/apache/shenyu/pull/6278
- Fix: Preserve Gateway's independent upstream health check state when receiving config updates from Admin by @guanzhenxing in https://github.com/apache/shenyu/pull/6274
- [Vulnerability Fix] Harden Docker images to run as non-root user by @RinZ27 in https://github.com/apache/shenyu/pull/6273
- feat: Add new role search criteria by @yangyx107 in https://github.com/apache/shenyu/pull/6282
- feat:sync dashboard. by @yangyx107 in https://github.com/apache/shenyu/pull/6283
- fix: handle tool not found error and update requestConfig type to JsonElement by @Aias00 in https://github.com/apache/shenyu/pull/6284
- [type:fix] set open by @eye-gu in https://github.com/apache/shenyu/pull/6280
- feat:modify instance createOrUpdate method log level by @yangyx107 in https://github.com/apache/shenyu/pull/6285
- replace stream().forEach() to forEach() by @VampireAchao in https://github.com/apache/shenyu/pull/6275
- fix: fix GsonUtils concurrent serialization exceptions (#6286) by @fanpipi in https://github.com/apache/shenyu/pull/6287
- fix: enhance logging and improve request handling in HTTP client plugins by @Aias00 in https://github.com/apache/shenyu/pull/6288
- fix mcp streamable by @Aias00 in https://github.com/apache/shenyu/pull/6289
- feat: refactor aiRequest and aiResponse models to support asynchronou… by @478320 in https://github.com/apache/shenyu/pull/6296
- feat: add CORS support with configurable allowed headers in MCP server by @Aias00 in https://github.com/apache/shenyu/pull/6295
- fix: improve upstream cache management and add recovery test for empty events by @Aias00 in https://github.com/apache/shenyu/pull/6294
- fix: improve MCP server plugin path handling and backward compatibility for argsPosition by @Aias00 in https://github.com/apache/shenyu/pull/6293
- Fix: loggion console add rule bug by @yangyx107 in https://github.com/apache/shenyu/pull/6291
- [type:fix] close java 18 ci by @moremind in https://github.com/apache/shenyu/pull/6306
- [type:refactor] remove shenyu trie cache by @moremind in https://github.com/apache/shenyu/pull/6303
- chore(deps): bump oshi from 6.7.0 to 6.10.0 by @yangpixi in https://github.com/apache/shenyu/pull/6301
- chore(deps): bump org.apache.zookeeper:zookeeper from 3.9.4 to 3.9.5 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6302
- fix: replace Collections.EMPTY_MAP with Collections.emptyMap() by @Senrian in https://github.com/apache/shenyu/pull/6299
- Fix: RuleServiceImpl#searchByPage() Selectors now populated from namespace only when condition selectors are null or empty. by @bruce121 in https://github.com/apache/shenyu/pull/6305
- [type:fix] Align PluginEnum sort values with DB schema.sql by @bwangll in https://github.com/apache/shenyu/pull/6311
- infra(ci): add CI action condition by @yuluo-yx in https://github.com/apache/shenyu/pull/6316
- feat(mcp-server): enhance SDK compatibility with reflection caching and error handling by @Aias00 in https://github.com/apache/shenyu/pull/6312
- Align SSRF URL validation with OkHttp parsing by @Aias00 in https://github.com/apache/shenyu/pull/6321
- Hide registry passwords from admin API responses by @Aias00 in https://github.com/apache/shenyu/pull/6322
- Block redirect-based SSRF bypass in Swagger imports by @Aias00 in https://github.com/apache/shenyu/pull/6320
- Fix missing RBAC on selector, rule, and data-permission endpoints by @Aias00 in https://github.com/apache/shenyu/pull/6319
- Ci update cache by @2823602869 in https://github.com/apache/shenyu/pull/6325
- chore(deps): bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6324
- Stop exposing login AES secrets to anonymous callers by @Aias00 in https://github.com/apache/shenyu/pull/6323
- chore(deps): bump org.bouncycastle:bcprov-jdk18on from 1.78 to 1.84 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6331
- test(task#5161): improve test coverage for sync. by @wy471x in https://github.com/apache/shenyu/pull/6333
- test(task#5161): improve test coverage for admin. by @wy471x in https://github.com/apache/shenyu/pull/6328
- [fix]: Fix ReactorNettyWebSocketClient builder reuse in WebSocket plugin configuration by @zhaoguhong in https://github.com/apache/shenyu/pull/6330
- chore(deps): bump com.sun.mail:jakarta.mail from 2.0.1 to 2.0.2 by @dependabot[bot] in https://github.com/apache/shenyu/pull/6329
- Fix duplicate full-mode URI heartbeat registration after repeated refresh by @Aias00 in https://github.com/apache/shenyu/pull/6337
- [type:refactor] remove motan support by @Aias00 in https://github.com/apache/shenyu/pull/6307
- fix: correct instanceof check in addFailureUriDataRegister by @eye-gu in https://github.com/apache/shenyu/pull/6345
- fix(ai-prompt): preserve all original messages in decorateBody by @eye-gu in https://github.com/apache/shenyu/pull/6343
- fix: replace ArrayList with CopyOnWriteArrayList to avoid ConcurrentM… by @eye-gu in https://github.com/apache/shenyu/pull/6352
- fix: eliminate race condition in UpstreamCheckServiceTest.testReplace by @eye-gu in https://github.com/apache/shenyu/pull/6355
- Fix README documentation links by @SPUERSAIYAN in https://github.com/apache/shenyu/pull/6357
- Codex/fix sandbox response leak by @SPUERSAIYAN in https://github.com/apache/shenyu/pull/6359
- Stabilize k8s ingress startup healthchecks by @Aias00 in https://github.com/apache/shenyu/pull/6361
- Stabilize Sentinel integrated rate-limit assertions by @Aias00 in https://github.com/apache/shenyu/pull/6374
- Stabilize HTTP E2E compose startup readiness by @Aias00 in https://github.com/apache/shenyu/pull/6363
- Stabilize Sentinel integrated test assertions by @Aias00 in https://github.com/apache/shenyu/pull/6377
- [ISSUE 6334] : Add uri validation for regex and other operators. by @hengyuss in https://github.com/apache/shenyu/pull/6335
- [ISSUE #5856] Support configurable max-initial-line-length for HTTP request decoder by @hqbhonker in https://github.com/apache/shenyu/pull/6378
- Fix RocketMQ logging e2e bootstrap startup by @Aias00 in https://github.com/apache/shenyu/pull/6379
- fix(request): make add operations append existing values by @SouthwestAsiaFloat in https://github.com/apache/shenyu/pull/6375
- fix: skip request body for GET and HEAD requests by @zongmingzhi in https://github.com/apache/shenyu/pull/6350
- fix(ci): remove maven cache save to avoid incomplete cache pollution by @eye-gu in https://github.com/apache/shenyu/pull/6383
- [type:refactor] replace inactive wasmtime-java with chicory pure-Java WASM runtime by @eye-gu in https://github.com/apache/shenyu/pull/6356
- Prerelease/fix license by @Aias00 in https://github.com/apache/shenyu/pull/6387
- fix:fix local springmvc client cant register success by @hengyuss in https://github.com/apache/shenyu/pull/6395
- fix: DividePlugin specify-domain header to prevent cache pollution an… by @hengyuss in https://github.com/apache/shenyu/pull/6412
- fix: Enforce account enabled check on every authenticated request in … by @hengyuss in https://github.com/apache/shenyu/pull/6415
- fix(admin): limit swagger import response body size by @SouthwestAsiaFloat in https://github.com/apache/shenyu/pull/6411
- fix: Add decompression size limits to ZipUtil.unzip()[#6400] by @hengyuss in https://github.com/apache/shenyu/pull/6416
- fix: add mounts for external libraries in docker-compose to prevent startup issues (missing database connector driver) when using an external database datasource other than H2 (#6389) by @exyb in https://github.com/apache/shenyu/pull/6391
- [fix] Add missing permission annotations to /appAuth/updateSk and /sandbox/proxyGateway by @Aias00 in https://github.com/apache/shenyu/pull/6388
- Require permission for namespace plugin sync by @Aias00 in https://github.com/apache/shenyu/pull/6384
- fix: use come.google.re2j replace java.util.regex in RegexPredicateJu… by @hengyuss in https://github.com/apache/shenyu/pull/6410
- fix: Remove appSecret from sandbox-beforesign response header[#6402] by @hengyuss in https://github.com/apache/shenyu/pull/6417
- @yonghanlin made their first contribution in https://github.com/apache/shenyu/pull/6232
- @annhchen89 made their first contribution in https://github.com/apache/shenyu/pull/6229
- @2823602869 made their first contribution in https://github.com/apache/shenyu/pull/6233
- @airajena made their first contribution in https://github.com/apache/shenyu/pull/6264
- @jonasHanhan made their first contribution in https://github.com/apache/shenyu/pull/6272
- @RinZ27 made their first contribution in https://github.com/apache/shenyu/pull/6273
- @yangyx107 made their first contribution in https://github.com/apache/shenyu/pull/6282
- @fanpipi made their first contribution in https://github.com/apache/shenyu/pull/6287
- @yangpixi made their first contribution in https://github.com/apache/shenyu/pull/6301
- @Senrian made their first contribution in https://github.com/apache/shenyu/pull/6299
- @bruce121 made their first contribution in https://github.com/apache/shenyu/pull/6305
- @bwangll made their first contribution in https://github.com/apache/shenyu/pull/6311
- @wy471x made their first contribution in https://github.com/apache/shenyu/pull/6333
- @SPUERSAIYAN made their first contribution in https://github.com/apache/shenyu/pull/6357
- @hengyuss made their first contribution in https://github.com/apache/shenyu/pull/6335
- @hqbhonker made their first contribution in https://github.com/apache/shenyu/pull/6378
- @SouthwestAsiaFloat made their first contribution in https://github.com/apache/shenyu/pull/6375
- @exyb made their first contribution in https://github.com/apache/shenyu/pull/6391
Full Changelog: https://github.com/apache/shenyu/compare/v2.7.0.3...v2.7.1
v4.0.0
Zuul 4.0.0 replaces the RxJava Observable based async filter execution with CompletableFuture. RxJava 1.x is long past end-of-life, and moving to CompletableFuture lets the filter runner drop its custom RxJava Scheduler and Observer for plain JDK primitives.
ZuulFilter.applyAsyncnow returnsCompletableFuture<O>instead ofObservable<O>. The Observable-based method is renamed toapplyAsyncObservableand deprecated. Both have default bridge implementations on the interface, so a filter can override either one (#2075)- The
debugRouting/debugRequestinfrastructure is removed (#2078) - Connection draining is now event-based rather than channel-attribute based (#2161). Zuul-core fires a
ConnectionCloseEventdown the pipeline instead of setting a channel attribute that every write has to check, so a graceful shutdown starts immediately on the event instead of waiting for the next response (an idle HTTP/1.1 connection can be closed right away), and OOS closes get random jitter to spread them out. The close handlers were reworked andCLOSE_AFTER_RESPONSEwas removed - see Connection draining below SessionContextno longer extendsHashMap<String, Object>; it now wraps one via composition (#2171) and is@NullMarked(#2174). The commonMapmethods are re-exposed directly, but code that relied on it being aMapneeds updating, and nullmarking turns the accessors@Nullablewhich can surface new NullAway warnings in consumers. ThegetRouteHost/setRouteHost/removeRouteHostaccessors are removed - use the genericget/setwith your ownKey<T>.
A filter overriding applyAsync to return an Observable will not compile against 4.0.0. The minimal fix is a one-line rename:
Before:
@Override
public Observable<HttpResponseMessage> applyAsync(HttpRequestMessage request) {
return service.call(request).map(this::toResponse);
}
After:
@Override
public Observable<HttpResponseMessage> applyAsyncObservable(HttpRequestMessage request) {
return service.call(request).map(this::toResponse);
}
The default applyAsync bridges applyAsyncObservable back to a CompletableFuture, so the rest of the filter keeps working unchanged. The filter should be rewritten to return a CompletableFuture directly and delete applyAsyncObservable. applyAsyncObservable will be removed entirely in a later 4.x release.
Consumers that build their own channel pipelines need small updates:
- The close and expiry handlers moved to the
com.netflix.netty.common.closepackage - HTTP/2 connection close now lives on the connection pipeline, not the stream - drop any stream-level close-handler wiring
CLOSE_AFTER_RESPONSE/ theallow_then_closerejection type is gone; throttled connections just close
Also in this release: lazy hashCode caching (#2085), Objects.requireNonNull / @NonNull over preconditions (#2090), removal of unused classes (#2153), and a switch to typed SessionContext.Key<T> keys instead of stringly-typed context keys, both in the filter runner (#2167) and across SessionContext's own internal state (#2174).
Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.21...v4.0.0
v3.6.21
- build(deps): bump com.uber.nullaway:nullaway from 0.13.1 to 0.13.7 by @dependabot[bot] in https://github.com/Netflix/zuul/pull/2166
- build(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/Netflix/zuul/pull/2150
- Upgrade Netty to v4.2.16.Final by @gavinbunney in https://github.com/Netflix/zuul/pull/2175
Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.20...v3.6.21
4.38
Erasure Coding & Scrub
The largest theme — Rust volume-server scrub parity plus EC correctness.
EC scrub
- #10130 Fix scrubbing of deleted needles on EC volumes
- #10144 EC LOCAL needle walk (split from FULL)
- #10147 suppress deleted-needle size mismatch in EC LOCAL scrub
- #10149 EC FULL scrub — distributed local+remote needle walk
- #10152 correct EC FULL scrub for deleted needles, shard-location cache, parity coverage
- #10154 EC bitrot CHECKSUM scrub on the Rust volume server
- #10172 reject oversized bitrot payload before narrowing to u32
- #10176 expose force_deleted_needles_check in ScrubEcVolume RPC and shell
Volume scrub (Rust parity)
- #10141 correct backwards FULL/LOCAL mode comments in Rust
- #10142 align Rust INDEX scrub to Go's idx.CheckIndexFile
- #10143 walk the on-disk .idx in Volume::scrub
- #10148 don't flag offset-0 logical tombstones
EC storage / read paths
- #10140 honor wide EC ratios in Rust read_ec_shard_config
- #10145 search sibling disk locations when rebuilding missing EC shards + .ecx
- #10187 read chunk-manifest chunks stored on EC volumes (Rust)
- #10217 detect truncated .ecx instead of treating it as clean EOF
Rust volume server (non-scrub)
- #10128 parse master lookup when publicUrl is omitted
- #10139 test coverage for type=replicate fan-out writes
- #10189 compare live compaction_revision instead of stale last_compact_revision
- #10233 pin rustls to aws-lc-rs so TLS gRPC startup doesn't panic
Topology, balancing & placement
- #10161 keep physical disk 0 distinct in SplitByPhysicalDisk
- #10166 report empty disks (per-disk type + capacity in heartbeat)
- #10162 volume.balance: gate on real physical disk usage
- #10167 skip physically near-full disks when placing EC shards
- #10169 share replica-placement logic between shell and worker
- #10171 worker: project the moved volume when gating on disk fullness
- #10174 extract the bytes-aware density metric to a shared package
Master
- #10202 let the growth initiator wait instead of shedding itself
- #10226 repair the lookup index after a vacuum that raced a disconnect
Volume server (Go)
- #10185 drop stale volume-location cache on under-replication
- #10229 bound intra-cluster HTTP so an unresponsive peer can't hang reads/writes
S3 API
- #10156 invalidate stale reader-cache locations on chunk read failure
- #10186 return IncompleteBody instead of 500 for truncated PUT bodies
- #10192 embedded IAM inline policy honors prefix-scoped resources
- #10207 surface transient store errors during multipart resume/copy
- #10213 lazy, bounded, entry-free per-bucket caches
- #10214 paginate ListBuckets and serve from a bucket owner index
- #10224 enforce bucket quota on logical size + read-only state in Admin UI
- #10225 answer directory-path probes like AWS (Flink savepoint restore)
- #10236 FULL_OBJECT checksumming for CRC
Filer
- #10158 use DROP TABLE IF EXISTS in SQL stores
- #10190 avoid ReaderCache WaitGroup reuse race between reads and destroy
- #10196 applyStorageDefaultsToEntry before CreateEntry
- #10203 stream offloaded metadata-log entries to fix concurrent-write OOM
- #10232 default filemeta CREATE TABLE for postgres2/mysql2 when unset
- #10234 default cassandra2 timeout and ydb prefix for env-var configs
Admin UI
- #10150 remove non-functional EC repair button
- #10155 restore cluster volume page CSV export
- #10170 respect filerGroup for cluster discovery
- #10175 fix 'send on closed channel' panic in worker gRPC server
- #10227 browse Iceberg table data
Shell commands
- #10126 avoid duplicate volume.list parent headers
- #10129 collection pattern to delete empty volumes
- #10159 honor explicit fs.mergeVolumes from/to direction
- #10204 add ec.shard.unmount command
- #10219 pass collection in ec.shard.unmount --delete request
Remote storage & sync
- #10151 remote/gcs: tolerate already-deleted object in DeleteFile
- #10184 remote.meta.sync: sync directories and remove remote-deleted files
- #10228 add -delete option to remote.copy.local
- #10177 filer.sync.verify: reclassify chunk-slice-order ETag diffs as CHUNK_REORDER
Kubernetes / Helm
- #10198 add certificates.dnsNames for custom SANs in cert-manager certs
- #10205 filer HTTP + gRPC ingress for the Helm chart
- #10223 Traefik IngressRouteTCP for gRPC with TLS passthrough
KMS
- #10173 cache decrypted data keys so cache_enabled/cache_ttl take effect
Core / networking / util
- #10164 centralize genUploadUrl in UploadOption
- #10212 don't let the activity timeout clobber externally-set conn deadlines
Tests & CI
- #10208 fuse-tests: don't declare mount ready before it is mounted
- #10215 fuse-tests: pass glog flags before the mount subcommand
- #10209 keep mini-allocated ports below the ephemeral floor
- @doma17 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10155
- @ycjlin made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10228
- @cole-h made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10236
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.37...4.38
3.2.54
Small patch release with fixes in query engine and hardening in the binary protocol
- fix: correctly handled null position when execute order by using indexes, issue #10807
- Hardening of binary protocol, directly close connection in case of first request miss authentication
orientdb-community-3.2.54.tar.gz orientdb-community-3.2.54.zip
v3.6.20
- Add
Headers.collapseMultiValuedHeaders()by @gavinbunney in https://github.com/Netflix/zuul/pull/2172
Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.19...v3.6.20