
Apache ShenYu 2.7.0 Released!
About Apache ShenYu
Apache ShenYu is a reactive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic management, hot-pluggable, and easy deployment features, it provides users with a full lifecycle API gateway out-of-the-box, including API registration, service proxy, protocol conversion, API documentation, and API governance.
Official Website: https://shenyu.apache.org
GitHub: https://github.com/apache/shenyu
Version Preview
After a year, Apache ShenYu has released version 2.7.0. This version includes a total of 254+ Pull Requests, approximately 17+ new features, several enhancements, numerous refactorings, and several bug fixes. A total of 61 contributors participated, with cumulative contributors reaching 350+.
Version Record: https://github.com/apache/shenyu/compare/v2.6.0...v2.7.0
New Features
Upgrade Dockerfile Java version from JDK8 to JDK17 pr: https://github.com/apache/shenyu/pull/5374
Upgrade SpringBoot version to 3.x pr: https://github.com/apache/shenyu/pull/5583
Support ShenYu Admin cluster mode pr: https://github.com/apache/shenyu/pull/5544 https://github.com/apache/shenyu/pull/5592
Upgrade checkstyle plugin version to 3.4.0 pr: https://github.com/apache/shenyu/pull/5614
Data source support for OceanBase pr: https://github.com/apache/shenyu/pull/5617
Support batch modification of selector/rule status pr: https://github.com/apache/shenyu/pull/5499
Support batch modification of AppAuth status pr: https://github.com/apache/shenyu/pull/5488
Upgrade Apache Dubbo version pr: https://github.com/apache/shenyu/pull/5527
Support Gitpod development pr: https://github.com/apache/shenyu/pull/5610
Support configuration import and export pr: https://github.com/apache/shenyu/pull/5474
Add Shenyu client heartbeat reporting function pr: https://github.com/apache/shenyu/pull/5659
Add Namespace functionality pr: https://github.com/apache/shenyu/pull/5584 https://github.com/apache/shenyu/pull/5715 https://github.com/apache/shenyu/pull/5716 https://github.com/apache/shenyu/pull/5719 https://github.com/apache/shenyu/pull/5729 https://github.com/apache/shenyu/pull/5734 https://github.com/apache/shenyu/pull/5735 https://github.com/apache/shenyu/pull/5740 https://github.com/apache/shenyu/pull/5746 https://github.com/apache/shenyu/pull/5757 https://github.com/apache/shenyu/pull/5760 https://github.com/apache/shenyu/pull/5765 https://github.com/apache/shenyu/pull/5769 https://github.com/apache/shenyu/pull/5771 https://github.com/apache/shenyu/pull/5779 https://github.com/apache/shenyu/pull/5786 https://github.com/apache/shenyu/pull/5787 https://github.com/apache/shenyu/pull/5790 https://github.com/apache/shenyu/pull/5798 https://github.com/apache/shenyu/pull/5799 https://github.com/apache/shenyu/pull/5823 https://github.com/apache/shenyu/pull/5847 https://github.com/apache/shenyu/pull/5857
Support k8s dynamic scaling pr: https://github.com/apache/shenyu/pull/5686
Invalidate previous token after re-login pr: https://github.com/apache/shenyu/pull/5600
Divide plugin supports canary release functionality pr: https://github.com/apache/shenyu/pull/5763
Support Kubernetes registry pr: https://github.com/apache/shenyu/pull/5679
Enhancements
Add RocketMQ log e2e test pr: https://github.com/apache/shenyu/pull/5439
Enhance rate limiter metric collection pr: https://github.com/apache/shenyu/pull/5461
Enhance Sentinel, Resilience4j, and Hystrix metric collection pr: https://github.com/apache/shenyu/pull/5468
Organize sofa-common-tools dependency pr: https://github.com/apache/shenyu/pull/5609
Add missing licenses pr: https://github.com/apache/shenyu/pull/5503
Set callback for Kafka message sending pr: https://github.com/apache/shenyu/pull/5748
Use load balancing configuration from Dubbo metadata pr: https://github.com/apache/shenyu/pull/5806
Add non-null validation for Upstream obtained from selector pr: https://github.com/apache/shenyu/pull/5804
Set timeout from rule processing into Dubbo RPC context pr: https://github.com/apache/shenyu/pull/5778
Publish events when enabling selectors and rules pr: https://github.com/apache/shenyu/pull/5762
Remove closed sessions from namespace session map pr: https://github.com/apache/shenyu/pull/5734
Add test cases for ShenyuClientURIExecutorSubscriber pr: https://github.com/apache/shenyu/pull/5413
Add test cases for ShenyuClientIllegalArgumentException pr: https://github.com/apache/shenyu/pull/5408
Add test cases for ShenyuClientRegisterEventPublisher pr: https://github.com/apache/shenyu/pull/5417
Add test cases for ShenyuClientMetadataExecutorSubscriber pr: https://github.com/apache/shenyu/pull/5404
Add test cases for AbstractWasmPluginDataHandler pr: https://github.com/apache/shenyu/pull/5451
Add test cases for ShenyuClientRegisterRepositoryFactoryTest pr: https://github.com/apache/shenyu/pull/5443
Add test cases for AbstractWasmDiscoveryHandler pr: https://github.com/apache/shenyu/pull/5453
Upgrade SOFA RPC version support pr: https://github.com/apache/shenyu/pull/5526
Add signature plugin request header keys to CORS filter configuration pr: https://github.com/apache/shenyu/pull/5627
Encrypt passwords pr: https://github.com/apache/shenyu/pull/5436
Add AbstractShenyuWasmPlugin test cases pr: https://github.com/apache/shenyu/pull/5450
Rewrite plugin/context path plugin supports cross-application and plugins pr: https://github.com/apache/shenyu/pull/5438
Remove duplicate path check pr: https://github.com/apache/shenyu/pull/5514
Remove Alibaba Dubbo related dependencies pr: https://github.com/apache/shenyu/pull/5500
Support setting HTTP path via Docker environment variables pr: https://github.com/apache/shenyu/pull/5833
Add code refactoring improvements pr: https://github.com/apache/shenyu/pull/5613
Support obtaining tokens from cookies, headers, and parameters pr: https://github.com/apache/shenyu/pull/5547
Adjust ShenyuDubboService annotation default values to align with DubboService annotation pr: https://github.com/apache/shenyu/pull/5816
Add database scripts to admin package pr: https://github.com/apache/shenyu/pull/5724
Clean up unused code and make improvements pr: https://github.com/apache/shenyu/pull/5849 https://github.com/apache/shenyu/pull/5803 https://github.com/apache/shenyu/pull/5789
Optimize MotanServiceEventListener test cases pr: https://github.com/apache/shenyu/pull/5745
Remove duplicate Maven configuration in shenyu-registry-eureka.xml pr: https://github.com/apache/shenyu/pull/5836
Update JWT dependency pr: https://github.com/apache/shenyu/pull/5480
Print plugin execution time pr: https://github.com/apache/shenyu/pull/5437
Admin local discovery supports upstream health checks pr: https://github.com/apache/shenyu/pull/5596
Disable rule cache pr: https://github.com/apache/shenyu/pull/5589
Reduce concurrency pr: https://github.com/apache/shenyu/pull/5587
Optimize logic to avoid "orElse" execution, update VersionTwoExtractor pr: https://github.com/apache/shenyu/pull/5415
Refactoring
Use spring-integration-jdbc to implement Admin distributed lock pr: https://github.com/apache/shenyu/pull/5457
Refactor beanUtils pr: https://github.com/apache/shenyu/pull/5497
Remove macOS CI pr: https://github.com/apache/shenyu/pull/5559
Update deprecated DataBuffer methods in log plugin pr: https://github.com/apache/shenyu/pull/5620
Modify e2e k8s test to docker compose pr: https://github.com/apache/shenyu/pull/5710
Migrate Admin swagger from springfox to springdoc pr: https://github.com/apache/shenyu/pull/5630
Refactor springcloud plugin pr: https://github.com/apache/shenyu/pull/5695
Refactor partial code pr: https://github.com/apache/shenyu/pull/5568
Delete SO_SNDBUF and SO_RCVBUF pr: https://github.com/apache/shenyu/pull/5502
Replace log %s with {} pr: https://github.com/apache/shenyu/pull/5465
Optimize node type listener pr: https://github.com/apache/shenyu/pull/5435
Refactor plugin lifecycle pr: https://github.com/apache/shenyu/pull/5432
Adjust code order and remove invalid input parameters pr: https://github.com/apache/shenyu/pull/5397
Fixes
Fix duplicate request header issue in request plugin pr: https://github.com/apache/shenyu/pull/5846
Fix issue where proxy selector and discovery are not deleted when deleting divide selector pr: https://github.com/apache/shenyu/pull/5845
Fix log plugin error log capture issue pr: https://github.com/apache/shenyu/pull/5842
Fix log plugin sample bug pr: https://github.com/apache/shenyu/pull/5429
Fix memory overflow issue pr: https://github.com/apache/shenyu/pull/5407
Fix rewrite integration test pr: https://github.com/apache/shenyu/pull/5445
Fix AbstractWasmPluginDataHandlerTest pr: https://github.com/apache/shenyu/pull/5464
Fix missing primary key in sql-script/h2/schema.sql pr: https://github.com/apache/shenyu/pull/5481
Fix abnormal data sorting on data dictionary page pr: https://github.com/apache/shenyu/pull/5483
Fix documentation errors pr: https://github.com/apache/shenyu/pull/5505
Resolve dashboard route and context path update mismatch issue pr: https://github.com/apache/shenyu/pull/5510
Fix etcd synchronization configuration issue pr: https://github.com/apache/shenyu/pull/5535
Fix consul synchronization issue pr: https://github.com/apache/shenyu/pull/5546
Fix error where unregistered cannot be queried pr: https://github.com/apache/shenyu/pull/5578
Correct plugin ID query and update data type pr: https://github.com/apache/shenyu/pull/5622
Fix spelling error in AdminConstants class pr: https://github.com/apache/shenyu/pull/5637
Fix shenyu-examples-springmvc startup failure issue pr: https://github.com/apache/shenyu/pull/5664
Fix dashboard menu sub-item sorting not taking effect issue pr: https://github.com/apache/shenyu/pull/5691
ShenyuApacheDubboXmlProviderApplication configuration fix pr: https://github.com/apache/shenyu/pull/5811
Fix non-unique data synchronization ID issue for proxy_selector and discovery pr: https://github.com/apache/shenyu/pull/5783
Filter disabled dictionary options pr: https://github.com/apache/shenyu/pull/5776
Fix SpringCloudParser metadata empty data issue pr: https://github.com/apache/shenyu/pull/5737
Fix client registration validation pr: https://github.com/apache/shenyu/pull/5764
Configure dubbo serialization check status as disabled pr: https://github.com/apache/shenyu/pull/5756
Fix sample TestApacheDubboXmlApplication startup failure issue pr: https://github.com/apache/shenyu/pull/5754
Fix nacos data synchronization model missing context path configuration pr: https://github.com/apache/shenyu/pull/5722
Fix SPI creating non-singleton objects in multi-threaded scenarios pr: https://github.com/apache/shenyu/pull/5713
Fix incorrect SQL syntax exception pr: https://github.com/apache/shenyu/pull/5707
Fix ListUtil->merge exception pr: https://github.com/apache/shenyu/pull/5642
Fix metadata disable not filtered issue pr: https://github.com/apache/shenyu/pull/5638
Fix divide log request method pr: https://github.com/apache/shenyu/pull/5607
Fix e2e chunk header error pr: https://github.com/apache/shenyu/pull/5593
Fix cookie error and SQL check pr: https://github.com/apache/shenyu/pull/5567
Fix null pointer exception issue pr: https://github.com/apache/shenyu/pull/5539 https://github.com/apache/shenyu/pull/5530
Fix invalid path error pr: https://github.com/apache/shenyu/pull/5533
Fix hot reload issue pr: https://github.com/apache/shenyu/pull/5509
Fix e2e test case unable to run wget command pr: https://github.com/apache/shenyu/pull/5519
Fix downgrade issue pr: https://github.com/apache/shenyu/pull/5496
Resolve SQL error in rule-sqlmap.xml pr: https://github.com/apache/shenyu/pull/5644
Fix readYmlBuildRepository null pointer exception pr: https://github.com/apache/shenyu/pull/5819
Fix nacos unable to register in Shenyu-examples-SpringCloud project issue pr: https://github.com/apache/shenyu/pull/5825
Fix springCloud rule data path setting not used issue pr: https://github.com/apache/shenyu/pull/5841 https://github.com/apache/shenyu/pull/5843
Fix shenyu-plugin-logging-elasticsearch: modify ElasticSearchLogConfig setIndexName pr: https://github.com/apache/shenyu/pull/5830
Fix issue where service is not taken offline from gateway first when stopping service pr: https://github.com/apache/shenyu/pull/5507
Fix k8s liveness probe unable to run wget command error pr: https://github.com/apache/shenyu/pull/5513
Fix AbstractNodeDataSyncService loading discoveryUpstream on startup issue pr: https://github.com/apache/shenyu/pull/5473
Contributors
Special thanks to the following contributors for their support and participation in the 2.7.0 version (in no particular order).
0xmkzt, Divyansh200102, IceFoxs, JJellyfish, Misaya295, KerwinBryant, M.G.Ting, NanMu, QiXu, RayayChung, RiccoChen, Sinsy, VampireAchao, WindSearcher, Wweiei, YuSiheng, aias00, caaaaaat, crazyStar, crudboy, dragon-zhang, dyjxg4xygary, dyp314417995, eye-gu, frank, hdgaadd, hql0312, j@ckzh0u, jerbo99, loongs-zhang, mmengLong, moremind, po-168, tomsun28, ttfont, wlngo, wyfvsfy, xcsnx, xiangqianZ, xiaoyu, yunlongn, ywwana, zhengke zhou, zhengpeng, ywj1352
Become a Contributor
We welcome every contributor to join ShenYu and encourage contributors to participate in ShenYu in the spirit of the Apache Way!
Contributor Guide: https://shenyu.apache.org/zh/community/contributor-guide