2.6.1
New Features
- Add dubbo annotation analysis for shenyu ingress controller
- Support plugin lifecycle
- Support shenyu-sdk-client by openFeign
- Adding a Motan plugin and Spring Cloud to shenyu ingress-controller
- Support alert notice
- Shenyu client add discovery register center
- Add shenyu context-path plugin ingress controller
- Add shenyu grpc plugin ingress controller
- Add shenyu sofa ingress controller
- Add nacos, etcd, eureka as discovery service
- Add new plugin: basic-auth
- Add shenyu logging-rabbitmq plugin
- Binding selector by shenyu-discovery
API Changes
-
Refactor shenyu sync data data structure
plugin.list ["plugin.sign", "plugin.dubbo", "plugin.pluginName"] -> plugin.sign -> plugin.dubbo -> plugin.pluginName examples data: selector.key1.list ["selector.key1.value1", "selector.key1.value2", "selector.key1.value3"] -> selector.key1.value1 -> selector.key1.value2 -> selector.key1.value3 selector.key2.list ["selector.key2.value1", "selector.key2.value2", "selector.key2.value3"] -> selector.key2.value4 -> selector.key2.value5 -> selector.key2.value6
-
Support NettyClient as default httpclient
-
Refactor admin-listener to support admin data sync
-
Remove brpc supports including brpc plugin, brpc example, brpc integrated test
-
Remove Apollo dependency to support Java 17(add jar by yourself)
-
Remove shenyu middleware register client
Enhancement
- Add test cases for shenyu model event
- Add selector event test cases
- Add motan e2e test cases
- Support the motan protocol
- Add Grpc e2e test cases
- Bump apache-rat-plugin to 0.15
- Support String isBlank in match condition
- Clickhouse support ttl field
- Support HttpUtils log level
- Add unit test for Ingress Reconciler
- Support checksum when packing distribution
- Implement zero-copy in TCP plugin
- shenyu-client-springmvc supports default appName and contextPath
- Add sdk-feign example and integrated test case
- ElasticSearch logging support for custom index
- Enhance grpc plugin to support shenyu loadbalancer
- Support http2 upstream server
- Enhance Dubbo plugin support shenyu loadbalancer
- Add ingress-controller integration springCloud test case
- Add WebSocket plugin proxy ping configuration
- Add ingress-controller integration websocket test
- RewritePlugin supports percentage
- Admin use discovery config init discovery-service
- Divide plugin adapt shenyu discovery
- Alert report support config admin cluster multi servers
- WebSocket plugin adapt shenyu discovery
- Register service instance into discovery
- Admin adapter discovery local mode
- Add test case for ShenYu sdk core
- Add unit test for shenyu-discovery
- Add opengauss e2e test case
- Add upload plugin jar size limit
- Add unit test for shenyu-client-spring-websocket
- Upgrade Shiro version to a secure version(1.18.0)
- Update license and upgrade springboot(2.7.17)
- Send alarm message when gateway global error happen
- Add EurekaDiscoveryService unit test
Refactor
- Refactor 2.6.1 version(pom.xml)
- Simplify Map operations by computeIfAbsent
- Refactor polaris test cases
- Migrate Maven Wrapper from io.takari to official release
- Use compiled Pattern in WebClientMessageWriter
- Refactor HttpUtils request method
- Update github action version
- Refactor Sync data center abstract template method
- Update MenuProject, MenuModule, MenuDocItem to VO
- Unified dubbo version
- Refactor Httpclient's package
- Refactor github ci action cache
- Refactor motan pojo as rpc method parameter
- Upgrade Kafka client version to 3.4.0
- Migrate Admin swagger from springfox to springdoc
- Upgrade Dubbo version to 3.2.5 and refactor some methods
- Refactor AbstractShenyuSdkClient getOrDefault method
- Refactor http client properties
- Refactor webcliet plugin implement
- Upgrade com.google.guava:guava to 32.0.0-jre
- support k8s as e2e test case enviroment
- Refactor Restapi as rest api request mapping
- String concatenation recommended using StringBuilder
- Set the netty allocator to unpooled
- Refactor startup banner
- Removing duplicate code and extracting the same code for common use
- Standardized null detection coding
- Refactor log plugin selector handler
- Refactor plugin classloader
- Refactor Logging plugin to support sampleRate at plugin level
- Refactor context-path register to avoid repeat context-path(use select for update)
Bug Fix
- Avoid the permanent overhead of creating TimeoutException
- Fix example module main class path
- Fix plugin page sorting bug
- Update Makefile SNAPSHOT version
- Fix typo in RELEASE-NOTES.md
- Fix the error package name of shenyu-example
- Fix password rules, add special characters '#' and '.'
- Fix health check for zookeeper:3.8.0 in e2e
- Fix unstable ci check
- Add e2e WaitForHelper exception log
- Fix springcloud plugin can't get scheme
- Fix javadoc build errors
- Fix the wrong request type in HttpUtils
- Fix userId can not update success when update auth
- Fix thread leak in TCP plugin
- Format "Quick start" part in shenyu-integrated-test/README
- Fix SQL script error
- Fix uri plugin path error and change path to rawpath
- Fix WebSocket plugin to support rewrite plugin
- Fix indexName not working for es-logging
- Fix the error of context-path plugin
- Fix shenyu-admin cpu surge
- Fix alert localDateTime format problem
- shenyu-client persist ApiDoc error retry
- Fix applicationContextAware initialization too late
- Fix duplicate response header
- Set the maximum time to wait for the k8s cluster to start up
- Fix type for status field for clickhouse log plugin
- Fix response plugin memory leak
- Fix dataType contrast error
- Fix http data sync error
- Fix spelling error
- Fix shenyu-dubbo register status
- Fix buildDiscoveryUpstreamPath causing multiple
/
- Fix bug when registering with Eureka through EurekaInstanceRegisterRepository#persistInstance
- Fix AbstractLogPluginDataHandler hashcode error
- Fix Ratelimit plugin key error in redis cluster mode
- Fix multi shenyu client register repeat context path
- Fix shenyu can't load ext plugin after close the plugin
- Fix upload plugin jar bug in shenyu admin
- Fix plugin can not load resource path file
- Fix Admin script to show dictionary code
- Fix authorization conflict in sign plugin
- Fix sign plugin context path match error