v2.6.1
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
v2.6.0
2.6.0
New Features
- Support shenyu-admin expose prometheus metrics
- Add shenyu Level-1 cache and Level-2 cache
- Save extend plugin jar to shenyu admin
- Support shenyu upload plugin hot load in gateway
- Support apollo sync data and register data
- Initializes client information collection
- Support spring-boot-client auto config in shenyu client
- Add TCP plugin
- Super admin forces password change
- Spring-mvc(boot) client support collect api-meta
- Add zookeeper discovery sync
- Initializes Shenyu ingress controller
- Add discovery upstream and proxy selector proxy
- Expose shenyu actuator endpoint
- Add naocs discovery sync
- Add apollo discovery sync
- Add HttpLongPolling discovery sync
- Add consul discovery sync
- Add huawei cloud lts loging plugin
- Support openGauss database for shenyu admin
- Support polaris config sync and register center
API Changes
Enhancement
- Add tags for shenyu api doc client
- Add brpc integrated test
- Brpc support shared thread pool
- Add mapType to cryptor request and response plugin
- Crypto plugin supports multi field names
- Add p2c loadbalancer
- Modify plugin jar to Base64-string in plugin data
- Add shortest response load balancer
- Add hash load balancer test case
- Add DetailSerivice test case
- Tolerant path slash for shenyu
- Add shenyu-common enums test case
- Add shenyu-common dto test case
- Add shenyu-admin model test case
- Add shenyu match cache test case
- Support k8s probes
- Add shenyu-admin service test case
- Add document json data in api doc
- The SPEL in the mock plugin is secure by default
- Add test cases for ShenyuClientApiDocExecutorSubscriber
- Add test case for shenyu-client-sofa module
- Add tag relation for shenyu api doc
- Support shenyu admin, bootstrap service stop script bat in windows
- Add test case for ShenyuSdkClientFactory
- Add websocket synchronization method for e2e-springcloud
- Support divide plugin active offline
- Add springcloud service instance cache
- Change password support i18n
- Add websocket sync for shenyu discovery
- Update springboot to 2.7.13
- Add other syn method e2e-spring-cloud
- Add api doc client generated annotation attribute
- Update zookeeper client register repository active offline
- Update apollo client register repository active offline
- Storage adjustment for swagger type API documents, change from local cache to database
- Support nacos client offline
- Add e2e alibaba dubbo test case
- Add e2e apache dubbo test case
- Add shenyu-spring-sdk test cases
- Add e2e sofa test cases
- Add apollo config sync test case
- Add database connection pool
- Add idea icon for shenyu project
Refactor
- Optimize shenyu-admin
- Refactor least active balance algorithm
- Optimized version-one for sign-plugin
- Optimize upstream check service
- Resolve shenyu project global version
- Refactor ShenyuConsulConfigWatch code
- Refactor shenyu trie codes
- Check uri condition of rule when saving
- Optimize shenyu-client code for shenyu-client-websocket
- Add license for admin dependency micrometer
- Update maven-assembly-plugin to 3.5.0
- Optimize global plugin sorting
- Use BearerToken replace StatelessToken in shenyu-admin
- Refactor shenyu-logging module
- Add validation for api doc
- Optimize Trie code and improve wildcard * supporting
- Refactor the custom plugin support hot load
- Refactor ShenyuWebHandler putPlugin methods
- Refactor Shenyu webfilter
- Reactor oauth2 plguin
- Refactor shenyu selector data continued field
- Refactor shenyu selector and rule cache
- Removed unused generics in shenyu client
- Refactor shenyu-plugin-sentinel plugin
- Refactor cache and add endpoint to expose cache
- Refactor checkUserPassword, not print known error log when startup
- Add some parameters for log
- Refactor shenyu global exception handler
- Add shenyu upload plugin integrated test case
- Optimize some syntactic sugar
- Change discovery_upstream discovery_handler_id
- Refactor shenyu global exception handlers
- Refactor shenyu plugin module
- Refactor AlibabaDubboConfigCache
- Remove hutool from dependency
- Refactor ShenyuClientShutdownHook
- Extractor add BaseAnnotationApiBeansExtractor
- Support multi-client registration
- Refactor shenyu-e2e support shenyu check style
- Refactor shenyu client register base
- Add domain test for shenyu divide plugin
- Update other rpc_ext for the same service
- Optimize consul connect operation
- Refactor shenyu e2e springcloud yaml change
- Add integrated test for k8s ingress controller
- Split the document field of the apidoc detail interface,and add fields such as requestHeaders and responseParameters
- Add swagger sample project to test the relevant functionality of the API documentation
- Optimize the display of form fields in json format
- Refactor shenyu log observability
- Add bootstrap start log
- Refactor api document for swagger
- Upgrade grpc version to 1.53.0
- Refactor api meta data process function
- polish master code and pom
Bug Fix
- Smart h2 path
- Fix crypto-response plugin
- Fix jdk8 Map computeIfAbsent performance bug
- Fix zombieRemovalTimes code
- Fix the upgraded sql file
- Remove detectOfflineLinks tag
- Ignore flattened-pom
- Fix LOG invoke method
- Fix NPE for shenyu-example-springcloud with nacos
- Fix shenyu-admin names for arguement of type
- Fix loadbalance spi resource
- Fix sql script error
- Fix to 24-hour format and timeZone for jackson
- Fix JwtUtils error
- Fix dubbo invoker cache bug
- Fix missing HOST delete operation
- Fix SpringMvcClientEventListener test case
- Fix pass update PENDING_SYNC for zombie
- Fix Memory leak
- Fix rule query failed because there are too many rules
- Fix missing actuator dependency and port error in examples http
- Fix UpstreamCheckUtils http and https
- Fix FileFilter make memory leak
- Fix zookeeper sync error
- Fix MemorySafeWindowTinyLFUMap memory leak error
- Fix lack separator of path of ApiDoc
- Fix NPE for shenyu trie
- Fix plugin skip error
- Fix oracle sql error
- Fix shenyu icon can't load in shenyu admin
- Fix hystrix fallback bug
- Fix warm up time for divide and springcloud
- Fix springcloud service chooser
- Fix shenyu-spring-boot-starter-plugin-mock add spring.factories
- Fix shenyu-client-mvc and shenyu-client-springcloud lose ip
- Fix empty rule data and selector data in cache
- Fix api document module update api detail error
- Fix get topic from config in KafkaLogCollectClient
- Fix logging console thread safety
- Fix brpc integration testing response size
- Fix selector update gray remove cache for plugn-dubbo-common
- Fix shenyu admin menu name bug
- Fix shenyu admin cannot configure consul port
- Fix shenyu client metadata and uri cannot sync to admin with apollo
- Fix PathVariable annotation url cannot match
- Fix could not update uri in PathPattern mode
- Fix client shutdown method call twice
- Fix shenyu mishandle consul configuration
- Remove unused configuration from Request, modifyResponse plugin
- Fix http registration metadata
- Fix websocket lost the user-defined clost status
- Fix consul register lose the prop of meta-path when special symbol
- Fix etcd sync error
- Fix admin sync error
- Fix shenyu motan plugin execute error
2.5.1
New Features
- Add brpc example
- Add spring boot starter plugin brpc&admin
- Add brpc-plugin
- Add shenyu-client-api-doc
- Add sdk duplicate class check
- Support diff nacos namespace
- Add array method of expression in mock plugin
- Support generation of mock data on request
- Support user specify http request domain
- Add MockRequestRecord
- Development shenyu-register-instance-eureka
- Support API document Api doc detail mapper
- Add api doc ddl
- Add TagMapper and TagRelationMapper
- Add api and api_rule_relation mapper
- Not config rule
- Refactor message readers
- Add sentinel rule handle parameter
- Add shenyu-e2e test engine
- Make an Apache Shenyu SSO authentication plugin based on casdoor
- Add logging-tencent-cls plugin
- Support clickhouse-logging-pugin
- Add logging-pulsar plugin
- Add new plugin: key-auth
- Fix sign plugin DataBufferLimitException error
- Fix context-path error
API Changes
Enhancement
- Add simpler client annotations for motan
- Add simpler client annotations for websocket
- Add configuration in starter for motan plugin
- Add convenience annotation for shenyu-client-springcloud and shenyu-client-springmvc
Refactor
- Refactor some code for mock request of api doc
- Refactor logging-clickhouse
- Polish maven dependencies of dubbo
- Refactor sign plugin
- Update ShenyuExtConfiguration
- Remove unnecessary singleton
- Fix generating mock data in multithreading
- Refactor sdk test and processArgument
- Refactor DefaultSignService
- Fix shenyu-admin rule
- Optimized ShaUtil
- Fix cache too large
- Fix ConcurrentModificationException
- Fix sync data in etcd
- Refactor shenyu sdk client
- Optimize request timeout response
- Refactor log module
- Refactor shenyu-client-springcloud
- Refactor MotanServiceEventListener
- Refactor shenyu-admin sync data listener
- Refactor shenyu-client-tars
- Refactor client sdks alibaba dubbo
- Refactor springmvc client
- Refactor admin mapper config
- Refactor shenyu-plugin-logging
- Optimize random algorithm
- Refactor random loadbalancer
- Refactor logging-kafka
Bug Fix
- Remove redundant cookie setting
- Fix appAuth delete
- fix Cryptor-Request Plugin
- To avoid load the same ext plugins repeatedly
- Fix the TagRelationQuery
- Fix upgrade sql
- Fix Nacos register NPE
- Fix sandbox json parsing
- Prevent the first time from failing to load
- Fix plugin update bug by modifying config field setter
- Fix postgresql sql
- Fix the postgresql error during ShenYu-Admin startup
- Fix sentinel can't fuse
- Fix TencentClsLogCollectClient
- Fix change password error
- Fix selector page
- Fix request plugin can't replaceCookie
- Fix RateLimiterPlugin concurrent handler error
v2.5.1
2.5.1
New Features
- Add brpc example
- Add spring boot starter plugin brpc&admin
- Add brpc-plugin
- Add shenyu-client-api-doc
- Add sdk duplicate class check
- Support diff nacos namespace
- Add array method of expression in mock plugin
- Support generation of mock data on request
- Support user specify http request domain
- Add MockRequestRecord
- Development shenyu-register-instance-eureka
- Support API document Api doc detail mapper
- Add api doc ddl
- Add TagMapper and TagRelationMapper
- Add api and api_rule_relation mapper
- Not config rule
- Refactor message readers
- Add sentinel rule handle parameter
- Add shenyu-e2e test engine
- Make an Apache Shenyu SSO authentication plugin based on casdoor
- Add logging-tencent-cls plugin
- Support clickhouse-logging-pugin
- Add logging-pulsar plugin
- Add new plugin: key-auth
- Fix sign plugin DataBufferLimitException error
- Fix context-path error
API Changes
Enhancement
- Add simpler client annotations for motan
- Add simpler client annotations for websocket
- Add configuration in starter for motan plugin
- Add convenience annotation for shenyu-client-springcloud and shenyu-client-springmvc
Refactor
- Refactor some code for mock request of api doc
- Refactor logging-clickhouse
- Polish maven dependencies of dubbo
- Refactor sign plugin
- Update ShenyuExtConfiguration
- Remove unnecessary singleton
- Fix generating mock data in multithreading
- Refactor sdk test and processArgument
- Refactor DefaultSignService
- Fix shenyu-admin rule
- Optimized ShaUtil
- Fix cache too large
- Fix ConcurrentModificationException
- Fix sync data in etcd
- Refactor shenyu sdk client
- Optimize request timeout response
- Refactor log module
- Refactor shenyu-client-springcloud
- Refactor MotanServiceEventListener
- Refactor shenyu-admin sync data listener
- Refactor shenyu-client-tars
- Refactor client sdks alibaba dubbo
- Refactor springmvc client
- Refactor admin mapper config
- Refactor shenyu-plugin-logging
- Optimize random algorithm
- Refactor random loadbalancer
- Refactor logging-kafka
Bug Fix
- Remove redundant cookie setting
- Fix appAuth delete
- fix Cryptor-Request Plugin
- To avoid load the same ext plugins repeatedly
- Fix the TagRelationQuery
- Fix upgrade sql
- Fix Nacos register NPE
- Fix sandbox json parsing
- Prevent the first time from failing to load
- Fix plugin update bug by modifying config field setter
- Fix postgresql sql
- Fix the postgresql error during ShenYu-Admin startup
- Fix sentinel can't fuse
- Fix TencentClsLogCollectClient
- Fix change password error
- Fix selector page
- Fix request plugin can't replaceCookie
- Fix RateLimiterPlugin concurrent handler error
v2.5.0
2.5.0
New Features
- Add logging-aliyun-sls plugin
- Add mock plugin
- Add logging-es plugin
- Add logging-rocketmq plugin
- Add logging-kafka plugin
- Add custom message writer in response plugin
- Add record log in admin
- Add apache dubbo http
- Add nacos register
- add the logic of annotation on the splicing class for sofa client
- Add the logic of annotation on the splicing class for motan client
- Add netty http server parameters
- Add the logic of annotation on the splicing class for apache dubbo client
- Add alert module
- Add support configurable timeout for MotanPlugin
- Add api document
- Add user permissions Exclude admin
- Add springBoot upgrade to 2.6.8
- Add support regsiter instance to consul
- Add admin Support oracle database
API Changes
Enhancement
- Enhancement cache pluign
- Enhancement divide plugin
Refactor
- Refactor spring cloud loadbalancer
- Refactor thread pool
- Refactor max memory config logic
- Refactor cors logic
- Refactor selector match
- Refactor fixed and elastic connection provider pool
- Refactor uri register
- Refactor zk client delete logic
- Refactor IpUtils
- Refactor result wrap
- Refactor app auth
- Refactor http client
- Refactor proxy and webclient remove host
- Refactor shared thread pool
Bug Fix
- Fix divide has nullpointerexception
- Fix body maxInMemorySize
- Fix admin delay update handle in selector
- Fix register-client loop error
- Fix the error of combination plugin
- Fix sofa and websocket client lossless registration
- Fix grpc client lossless registration
- Fix springcloud client lossless registration
- Fix spring cloud dubbo example
- Fix NPE repair of admin module caused by spring MVC example synchronization
- Fix curator version incompatible in bootstrap
- Fix hiden logic bug
- Fix failure to load local plugins
- Fix pg script error
- Fix hystrix-plugin tests failure
- Fix client registration by consul only register 1 metadata
- Fix websocket datasync can chose allow origin to avoid CSRF
v2.4.3
2.4.3
New Features
- Add http register client retry.
- Support octet-stream context-type.
- Support redirecting to URIs outside of bootstrap and refactoring code.
- Add local API authorization.
- Support config dubbo consumer pool.
- Support DividePlugin failover retry.
- Support websocket client configuration.
- Support config netty thread pool in HttpClient.
- Support MemoryLimitedLinkedBlockingQueue.
- Support alibaba dubbo plugin shared thread pool.
- Support grpc plugin shared thread pool.
- Add Metrics Plugin.
- Add Cache Plugin.
- Add logging rocketmq plugin.
API Changes
Enhancement
- Test combination of Param mapping, Rewrite plugin,
- Test combination of Param mapping and Redirect plugin.
- Test combination of RateLimiter and Rewrite plugin.
- Test combination of RateLimiter and Redirect plugin.
- Test combination of Request and Redirect plugin.
- Test combination of Request and Rewrite plugin.
- Test combination of JWT and RateLimiter plugin.
- Test combination of JWT and Redirect plugin.
- Test combination of JWT and Rewrite plugin.
- Add integrated test of Resilience4j plugin.
- Add integrated test of Hystrix plugin.
- Update junit4 to junit5.
- Add shenyu-examples-springmvc-tomcat.
- Optimize the password encryption.
- Optimize and verify shenyu-admin module interface parameters.
- Optimize the configurable Shenyu agent log collection.
- Optimize code about data init when sync data.
- Add unit test for LoggingRocketMQPlugin
Refactor
- Used Wheel-Timer instead of ScheduledExecutorService class.
- Remove DisruptorProvider#onData(final Consumer function)
- Synchronized instance rather than class in MetadataExecutorSubscriber.
- Refactor admin buildHandle about register uri.
- Spring cloud client auto set port.
- Refactor jwt support multi-level tokens.
- Remove monitor plugin.
- Change logback theme.
- remove shenyu-agent.
Bug Fix
- Fix init CommonUpstreamUtils NPE.
- Make a judgment on the failure of Nacos registration.
- Fix NPE when login with non-existent user.
- Fix double log.
- Fix misspelled token.
- Fix retryCount not work bug.
- Fix token parse error.
- Fix the trouble of big data in Websocket.
- Fix NettyHttpClientPlugin did not retry when failed.
- Fix CVE-2021-41303.
- Fix judgment of the contains condition of all plugins does not work.
- Fix http headers lose bug.
- Fix Bug The Rewrite Plugin should support {PathVariable} request.
- Fix Bug about data sync with Nacos.
- Fix Nacos namespace config.
- Fix NPE or websocket proxy fails when the context-path plug-in is opened.
- Fix http registers the client plug-in port occupancy detection.
v2.4.2
New Features
- Add Mqtt plugin
- Add Shenyu-Agent module support observability
- Add opentelemetry plugin on Shenyu-Agent module
- Add jaeger plugin on Shenyu-Agent module
- Add zipkin plugin on Shenyu-Agent module
- Support Shenyu instance register by zookeeper
- Support Shenyu response data custom format
- Support https for upstream check
- Add RpcContextPlugin to transmit header to rpc context
- Support cluster model for dubbo plugin
- Support Shenyu instance register by ETCD
API Changes
1.Add configuration properties for HTTP synchronization data 2.Remove'/shenyu-client/','/configs/','/plugin'interface from the whitelist interface of Shenyu admin
Enhancement
- Optimize global error handler for flexible processing
- Optimized the database access in the loop
- Optimize result media type and reset response header
- Enhancement crossfilter filter the same headers
- Optimize shenyu context module data
- Optimize dubbo plugin
- Optimize admin db operation
- Refactor Response and Cryptor plugin
- Optimize Admin Resource Permission loader
- Add authentication on shenyu admin when register by http
- Optimize netty config.
- Optimize SQL files for resource,permission
- Add ExcludeOperatorJudge for selector and rule
- Add docker-compose on Shenyu-dist
- Enhance the ability of jwt plugin
Refactor
- Remove SpEL and Groovy plugins
- Optimization prompt of ExtensionLoader
- Add http client strategy property
- Refactor shenyu client
Bug Fix
- Fix sentinel Plugin-exception number is not effective
- Fix HttpClientProperties.javaresponseTimeout can not config in yaml
- Fix Connection reset by peer Exception on webclient
- Fix register metadata and uri order
- Fix Admin when press the Add button
- Fix Spi config
- Support Dubbo Plugin Single Parameter Primitive Type
- Fix using etcd cluster to sync data init failed
- Fix Shiro get white list is null bug
- Fix zookeeper sync error handling event bug
- Fix modify-response-plugin and cryptor-response-plugin are used in combination, and no information is returned
- Fix the bug of missing some field in cryptor rule handler using h2
2.4.1
New Features
- Support PostgreSQL for admin
- Support dynamic loading plugin
- Support local modification data mode
- Add Websocket plugin
- Add CryptorRequest plugin
- Add CryptorResponsePlugin plugin
- Support Grayscale Release for SpringCloud
- Support Grayscale Release for Apache Dubbo
- Implement the async dubbo invoking for alibaba-dubbo
- Support external cross filter config
- Support sign plugin custom dynamic sign provider
API Changes
- Refactor shenyu config in yaml
Enhancement
- Optimze code about dubbo async call
- Add loadbalancer common module
- Optimize sql init
- Refactor Admin PageHelper to query list
- Optimize GlobalErrorHandler
- Optimize the return value of the'skip' method interface of'ShenyuPlugin' to boolean
- Optimize register rules
- Modify dubbo and sofa param resolve service
- Refactor sign plugin api
- Remove websocket filter
Refactor
- Remove lombok dependency
- Remove mapstruct dependency
- Support JDK8 ~ JDK15
- Add missing plugin_handle sql for plugin motan
Bug Fix
- Fix JsonSyntaxException in jwt plugin
- Fix sql miss for resilience4j plugin handler
- Fix disruptor problem of hold event data in consume event
- Fix deadlock bug of HealthCheckTask
- Fix client retry the connection add log and increase sleep time
- Fix the default_group of nacos
- Fix maven ignore and docker entrypoint
- Fix admin Return password question
- Fix LDAP query built from user-controlled source
- Fix the IP address retrieval error
- Fix Gson toJson is null
- Fix the index out of range bug for context path.
- Fix monitor init metrics label bug
- Fix GlobalErrorHandler error object to map bug by JacksonUtils.toMap
- Fix modify response plugin order bug
- Fix the bug of register
- Fix sofa plugin register metadata and parameters resolve
- Fix motan ,dubbo, sofa plugin metadata init bug
2.4.0
New Features
- Support reading init_script file which is not under resource/directory
- Display the plugin menus in categories
- Admin add execute Multi-path sql script
- IpUtils add a parameter to select the network ip
- Add parameter-mapping plugin
- Support Consul as shenyu-register-center
- Support Etcd as shenyu-sync-data-center
- Add sentinel customized fallbackhandler
- Add response plugin
- Add JWT plugin
- Add Request plugin
- Add Motan plugin
- Add Logging plugin
- Add Modify-response plugin
- Add Oauth2 plugin
- Add Menu Resource Permissions
- Add Data Permissions
API Changes
- Change the project name from Soul to ShenYu
- Change the group id from org.dromara to org.apache.shenyu
Enhancement
- H2 support insert ingore into in Mysql model
- Improvements For the Apache Dubbo plugin
- Optimization of GRPC plugin
Refactor
- Refactor code about "async invoke" is not supported in Dubbo lower than 2.7.3
- Replace the term Operator by Predicate
- Refine judge conditions operator
- Refactor PredicateJudge module using SPI
- Refactor code about client register
Bug Fix
- Fix the JwtUtil.getUserId method bug
- Fix the shenyu-spring-boot-starter bug
- The encoded urlPath will be re-encoded in WebClientPlugin
- Replace The Risky Cryptographic Algorithm "AES/ECB/NoPadding"
- ReadTimeoutHandler on a channel which in a PooledConnectionProvider would cause an unexpected ReadTimeoutException
- Got ClassNotFoundException while start my Gateway in 2.4.8 spring boot
2.3.0
soul-admin
- Add 'open' field to allow app path authentication or not in sign plugin. #1168
- Optimize divide plugin to use common plugin template in soul-dashboard. #1163
- Add default values and rule checks in plugin handler. #1112
- Add resource management to allow user to add plugin, adjust menu and button resource and so on in soul-dashboard and soul-admin. #1034
- Add menu and data permission in soul-admin. #917
- Add H2 stroe for soul-admin #918
soul-bootstrap
- Add tars plugin #863
- Add sentinel plugin #331
- Add sofa plugin #384
- Add Resilience4j plugin for soul-plugin. #434
- Add Context path mapping plugin for soul-plugin. #894
- Add Grpc plugin supports grpc protocol. #1081
- support form submission for dubbo plugin.#339
- feat(plugin handle): #307
- Add dist package module #320
- Add test cases for soul-admin #500
- Add register center for consul #1148
- Add register center for etcd #1161
- Add register center for nacos #1182
- Add register center for zookeeper #1141 #1139