-
MemorySafeLRUMapis deprecated since 2.7.2. The class, public constructors, serialization identifier and existing behavior are retained for downstream source and binary compatibility. No removal release is scheduled; a future removal requires a public API compatibility review and advance release notice. For caches accessed through theMapAPI, consider the existingWindowTinyLFUMapwith an explicit maximum entry count, for examplenew WindowTinyLFUMap<>(maximumEntries). Choose that count for the application's working set: the oldmaxFreeMemoryargument is a free-memory threshold in bytes, not an entry count. Review the different eviction policy, non-null key/value requirements and absence ofLRUMap-specific operations. Code that relies on memory-pressure eviction should retainMemorySafeLRUMapuntil an equivalent policy is chosen;WindowTinyLFUMapdoes not implement that threshold. (#7444) -
DiscoveryUpstreamDataSubscriber#unSubscribe(DiscoverySyncData)has been replaced byunSubscribe(DiscoveryUpstreamKey). Downstream implementations must update their method signature; this is a source- and binary-incompatible change. (#7289)
-
HTTP client registration now treats non-success Admin responses as failures, using the same bounded failback policy as transport errors (18 retry attempts per pending task). The text response contract does not reliably distinguish transient failures from permanent validation errors, so both consume that budget. Heartbeat failures are reported to the caller. Unregistration retains its existing policy: any successful Admin response is sufficient, and failure at every Admin is reported without adding a registration retry. (#7440)
-
Agent Gateway supports opt-in per-tool
mcp.structuredContentRemovalsfield deletion with strict result-copy handling. Complete JSON text copies are rebuilt from filtered structuredContent. Opaque text/media, nonempty metadata and unknown extensions are refused when a plan is active; disabled plans retain prior behavior. This is declared-field filtering, not arbitrary sensitive-value detection or global log redaction. Advertised outputSchema remains unchanged and filtered results must satisfy the supported bounded Draft 2020-12 contract. Filtering/schema failures return HTTP 502 / JSON-RPC-32024without an unfiltered fallback; external schema resource loading is denied. -
Agent Gateway remote tools aggregation is opt-in. Its plugin configuration now accepts only the
aggregationfield; blank config and{}remain valid. Previously stored arbitrary fields must be removed or migrated before the next save/import, even when only toggling another plugin property. Other plugins are unaffected. An unavailable enabled remote catalog fails the whole MCP entry, including local tools, with HTTP 503 / JSON-RPC-32023; no local-only fallback is implicit. Outbound calls use fixed service credentials without Agent identity headers; request context and identity remain inside the gateway. -
Agent Gateway adds opt-in tools-only MCP rules with
trafficType: "mcp". Enabling the plugin does not grant MCP access: deployments must supply a trustedAgentMcpSecurityResolverand explicitly register and authorize tools. Without a trusted identity adapter, MCP requests are denied with HTTP 401. Existing LLM forwarding and independently configured legacy MCP endpoints remain unchanged. -
Custom registration retry tasks should call
FailbackRegistryRepository.retry(key). The legacyaccept(key)followed byremove(key)remains available for compatibility, but can discard a newer registration failure arriving between those calls. -
HTTP retry strategies budget the entire sequence separately from each attempt:
(retryTimes + 1) * attemptTimeout + retryTimes * maximumBackoff. With a 3-second attempt timeout and 3 retries, thecurrentstrategy has a conservative 72-second ceiling (20-second maximum backoff), fixed delay has an 18-second ceiling (2-second delay), and exponential backoff has a 27-second ceiling (5-second maximum backoff). Actual retry delays may be shorter. Include this envelope when configuring caller and ingress deadlines. -
For the
currentstrategy, exceeding the aggregate budget returns HTTP 504 withRetry sequence took longer than timeout: .... Exhausting the retry count returns HTTP 408. The aggregate ceiling now also bounds a source that never completes; it does not replace the per-attempt response timeout. -
The HTTP client now defaults to a fixed connection pool. Connection acquisition waits up to 3 seconds, and Reactor Netty bounds pending acquisitions to twice the configured maximum connection count. Set
shenyu.httpclient.pool.type=ELASTICto retain the previous unbounded behavior. -
shenyu.httpclient.responseTimeoutnow configures Reactor Netty's response-read deadline (default 3000 ms). It limits gaps between reads throughout the response body, not just the wait for headers. Slow SSE, long-polling and token streams can therefore time out after headers have arrived. -
A non-positive responseTimeout disables that deadline only. Independently configured read-timeout handlers still apply; use
shenyu.httpclient.readTimeout=0to disable their deadline as well, and review route, retry and caller deadlines. The client factory now retains its connection-handler configuration, so configured read, write and idle handlers are installed on new connections. -
Remove the unused
MemorySafeWindowTinyLFUMapcache implementation.
- Upgrade dockerfile java runtime version 8 to 17
- Upgrade SpringBoot to 3.x
- Support ShenYu Admin Cluster
- Upgrade checkstyle plugin to 3.4.0
- Datasource support OceanBase
- Supports batch modification of selector/rule status
- Supports batch modification of PathAuth status
- Upgrade apache dubbo version
- Support
Contribute with Gitpod - Support Configs Export And Import
- Add shenyu client heartbeat
- Support Namespace
- Support k8s dynamically scale
- Invalidate Previous Tokens on New Login by Implementing Client ID Validation
- Support for gray release in divide-plugin
- Support Kubernetes registry
- Add shenyu-plugin-wasm
- Add rocketmq logging e2e test
- Enhance metrics-ratelimiter collect
- Enhance metrics collection for Sentinel, Resilience4j, and Hystrix
- Arrange sofa common tools dependencies
- Remove expired comments
- Add missing license
- Set up callback for send message on Kafka
- Use the loadbalance configuration from metadata for Dubbo
- Add non null validation for upstream which obtained from select
- Set timeout which from rule handle to dubbo rpc context
- Publish event when enable selector and rule
- Remove closed session from the NAMESPACE_SESSION_MAP
- Add test case for ShenyuClientURIExecutorSubscriber
- Add test case for
ShenyuClientIllegalArgumentException - Add test case for
ShenyuClientRegisterEventPublisher - Add test case for
ShenyuClientMetadataExecutorSubscriber - Add test case for
AbstractWasmPluginDataHandler - Add test case for
ShenyuClientRegisterRepositoryFactoryTest - Add test case for
AbstractWasmDiscoveryHandler - Upgrade sofa rpc version support
- Add header key of Sign plugin to CrossFilter config
- Encrypt the password
- Add AbstractShenyuWasmPluginTest
- RewritePlugin/ContextPathPlugin supports across application and plugin
- Remove duplicate path check
- Remove Alibaba Dubbo Support
- Support docker env set http path
- Add some code refactor improve
- Support get token from cookie\header\param
- Make the default value of ShenyuDubboService annotation equal to that of DubboService annotation
- Add db script into admin package
- Get rid of the dead code and add some improvements
- MotanServiceEventListenerTest case optimization
- Delete duplicate maven in shenyu-registry-eureka.xml
- Jwt dependency updated
- Print plugin execute time
- Discovery Local support upstream health check in Admin
- Close rule cache
- Less concurrency
- Optimize logic to avoid "orElse" execution,Update VersionTwoExtractor.java
- Admin distributed lock by spring-integration-jdbc
- Refactor beanUtils
- Remove macos ci
- Update logging plugin DataBuffer deprecated method
- Modify e2e k8s to docker compose
- Migrate Admin swagger from springfox to springdoc
- Refactor springcloud plugin
- Refactor some code
- Delete SO_SNDBUF & SO_RCVBUF
- Refactor shenyu-sync-data-http : replace log %s -> {}.
- Optimizing the node type listener
- Refactor plugin lifecycle
- Adjust code order and remove invalid input parameters
- Fix duplicate header for request plugin
- Fix proxy.selector and discovery not delete when delete divide selector
- Fix LoggingPlugin error log catch
- Fix logging plugin sample bug
- Fix memory overflow
- Fix rewrite integrated test
- Fix AbstractWasmPluginDataHandlerTest
- Fix missing PRIMARY KEY in sql-script/h2/schema.sql
- Fix Data dictionary page data sorting exception
- FIx doc error
- Resolve dashboard routing mismatch post context-path update
- Fix etcd sync config problem
- Fix consul sync problem
- Fix the bug of being unable to query without registration
- Fix Plugin Edit Page Issue by Correcting Plugin ID Query and Updating Data Type
- Fix class AdminConstants has word spelling error
- Fix shenyu-examples-springmvc start failed
- Fix dashboard menu children sort not working problem
- Fix ShenyuApacheDubboXmlProviderApplication config
- Fix data sync dataId for proxy selector and discovery is not unique
- Filter disable dict option
- Fix SpringCloudParser MetaData null data
- Fix client register validation
- Config dubbo serialize-check-status=DISABLE
- Fix example TestApacheDubboXmlApplication start failed
- Fix the nacos data sync model missing the contextPath configuration
- Fix SPI create non singleton objects in multi-threaded scenarios
- Fix BadSqlGrammarException
- Fix some word typo error
- Fix ListUtil->merge exception
- Fix metaData disable not filtered
- Fix divide logging request method
- Fix e2e chunk header error
- Fix cookie error and sql check
- Fixed NPE issue
- Fix Invalid path error
- Fix hot load issue
- Fix e2e test case can not run wget command
- Fix fallback issue
- Fix some ci bugs
- Resolve the sql error in rule-sqlmap.xml
- Fix readYmlBuildRepository NPE
- Fix nacos cannot be registered in the Shenyu-examples-SpringCloud project
- Fix springCloud ruleData path setting didn't used
- Fix shenyu-plugin-logging-elasticsearch : modify setIndexName of ElasticSearchLogConfig
- Fix Not first offline from the gateway when stopping service
- Fix k8s liveness probe can not run wget command error
- Fix AbstractNodeDataSyncService load discoverUpstream on startup
- 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
-
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
- 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 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 webclient plugin implement
- Upgrade com.google.guava:guava to 32.0.0-jre
- support k8s as e2e test case environment
- 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)
- 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
- 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 logging plugin
- Support openGauss database for shenyu admin
- Support polaris config sync and register center
- 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
- 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 plugin
- 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
- 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
- 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
- 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 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
- 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
- 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 register instance to consul
- Add admin Support oracle database
- Enhancement cache plugin
- Enhancement divide plugin
- 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
- Fix null pointer exception in divide plugin
- 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 hidden 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
- 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.
- 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
- 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.
- 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.
- 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
1.Add configuration properties for HTTP synchronization data 2.Remove'/shenyu-client/','/configs/','/plugin'interface from the whitelist interface of Shenyu admin
- 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
- Remove SpEL and Groovy plugins
- Optimization prompt of ExtensionLoader
- Add http client strategy property
- Refactor shenyu client
- 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
- Support PostgreSQL for admin
- Support dynamic loading plugin
- Support local modification data mode
- Add Websocket plugin
- Add CryptorRequest plugin
- Add CryptorResponse 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
- Refactor shenyu config in yaml
- Optimize 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
- Remove lombok dependency
- Remove mapstruct dependency
- Support JDK8 ~ JDK15
- Add missing plugin_handle sql for plugin motan
- 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
- 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
- Change the project name from Soul to ShenYu
- Change the group id from org.dromara to org.apache.shenyu
- H2 support insert ignore into in Mysql model
- Improvements For the Apache Dubbo plugin
- Optimization of GRPC plugin
- 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
- 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
- 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 store for soul-admin #918
- 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