Features / Enhancements
- Add Apache HttpClient 5.x adapter for Sentinel (#3614)
- Support Spring RestClient (#3602)
- Add optional switch to skip regex resource matching when exact match exists, default disabled for backward compatibility (#3565)
Bug Fixes
- Ensure requests are blocked when errRatioThreshold reaches 100% (#1857)
- Fix Endpoint#toString host formatting (#3578)
- Fix the bug in spring-webmvc-v6x adapter where HTTP method prefix was not concatenated when http-method-specify is enabled (#3569)
Dashboard
- Fix incorrect time unit in the tooltip when adding a new circuit breaker rule with statistical window duration (#3569)
Thanks for all contributors: @uuuyuqi, @gaoyf, @xierunzi, @Layau-code, @ylnxwlp
详细ChangeLog
Features / Enhancements
- Support running test with JDK 21 or JDK17 (#3344) (#3339)
- Add webmvc-6x-adapter module to support spring boot 3.x (#3351)
- Replace ThreadLocal with DateTimeFormatter (#3353)
Bug Fixes
- Fix flaky tests and fix passDefaultLocalCheck (#3367)
- Fix when duplication spi class found using SpiLoader (#3387)
- Fix reflection exceptions caused by having identically named fallback/blockHandler with different parameter types (#3395)
Dependencies
- Bump com.fasterxml.jackson.core:jackson-databind (#3342)
- Bump org.springframework:spring-expression (#3375)
- Bump org.springframework:spring-context (#3404)
Thanks for all contributors: @cdfive, @robberphex, @shichaoyuan, @LearningGp, @ruansheng8, @dowenliu-xyz
详细ChangeLog
Features / Enhancements
- Add default circuit breaker rule support (#2232)
- Update metrics name for better monitor selection in JMX MetricBeanWriter extension (#2976)
- Refine throttling control behavior of FlowRule: improve accuracy and support maxQps > 1000 (#2951)
- Add SSL support for sentinel-datasource-redis (#3045)
- Add basic implementation of token bucket for flow-control (#3106)
- Remove the requirement of carrying batchCount and args in entry.exit() (#3114)
- Make default JUL-based logging asynchronous (#3136)
- Make all ThreadPool static final (#3243)
- Add Prometheus exporter module for Sentinel metrics (#3173)
- Resource rules (flow/degrade/param/authority) support regex matching (#3251)
Bug Fixes
- Fix NPE bug in LogSlot#entry when recording rule ID (#2980)
- Fix the bug that error occurs in JMX metrics exporter when resource name contains '*' (#2992)
- Fix thread-blocked problem of EtcdDataSource (#2991)
- Fix potential connection leak bug when closing NacosDataSource (#2962)
- Fix order dependent tests in SofaRpcFallbackRegistryTest (#3282)
Dashboard
- Add simple Dockerfile for Sentinel dashboard (#2970)
Dependencies
- Update snakeyaml to 1.32 in sentinel-cluster/sentinel-cluster-server-envoy-rls module (#2921)
- Update dubbo to 2.7.18 in sentinel-demo/sentinel-demo-apache-dubbo (#2923)
- Update protobuf & gRPC version of adapter modules to fix macOS aarch64 compile error (#2993)
- Upgrade curator-recipes to 5.1.0 to fix API change for ZooKeeper data-source (#2963)
Thanks for all contributors: @sczyh30, @wuwen5, @xiaozzzi, @EzrealOf, @wilsonwu, @kirklin, @garroshh, @JosephZhang3, @LiYangSir, @Yan1025, @wenshao, @pandaapo, @frank-zsy, @z521598, @LearningGp, @robberphex, @clara0, @karl-sy, @SaaiVenkat
详细ChangeLog
This is the first preview version of nouveau Sentinel 2.0, bringing the building blocks and basic implementation of traffic routing and load balancing.
Features / Enhancements
- Add building blocks and basic implementation of traffic routing and load balancing (#3024)
- Add data-source extension for OpenSergo fault-tolerance spec (#2842)
- Add default circuit breaker rule support (#2232)
- Refine throttling control behavior of FlowRule: improve accuracy and support maxQps > 1000 (#2951)
- Update metrics name for better monitor selection in JMX MetricBeanWriter extension (#2976)
Bug Fixes
- Fix NPE bug in
LogSlot#entry when recording rule ID (#2980)
- Fix the bug that error occurs in JMX metrics exporter when resource name contains '*' (#2992)
- Fix thread-blocked problem of EtcdDataSource (#2991)
- Fix potential connection leak bug when closing NacosDataSource (#2962)
Dashboard
- Add simple Dockerfile for Sentinel dashboard (#2970)
Dependencies
- Upgrade curator-recipes to 5.1.0 to fix API change for ZooKeeper data-source (#2963)
详细ChangeLog
This release ships with a few enhancements and bug fixes.
Furthermore, Sentinel OpenSergo data-source has been beta-available (com.alibaba.csp:sentinel-datasource-opensergo:0.1.0-beta), which enables developers to configure Sentinel rules with OpenSergo fault-tolerance CRD in a unified way (under Kubernetes, with OpenSergo control plane).
Features / Enhancements
- Add
id field in Rule entity and record rule ID in block log (#2853)
Bug Fixes
- Fix Dubbo SPI path bug in Dubbo 3.x adapter (#2822)
- Fix the bug that
SpiLoader#closeResources may not record the exception when error occurs (#2890)
Dashboard
- Improve IP validation in SentinelApiClient and rule controllers
Thanks for all contributors: @AlbumenJ, @hongpy, @icodening, @PepoRobert, @sczyh30, @ZhongJinHacker
详细ChangeLog
Features / Enhancements
- Add adapter for Apache Dubbo 3.x (#2789)
- Auto-extract value from ParamFlowArgument when blocked in ParamFlowSlot (#2776)
Dashboard
- Refactor IP verify logic in MachineRegistryController to support JDK 17 (#2694)
- Fix deprecated Spring config key in application.properties (#2713)
Dependencies
- Upgrade fastjson to
1.2.83_noneautotype
Thanks for all contributors: @AlbumenJ, @benyamin2014, @icodening, @jgzl, @sczyh30, @zuohl
详细ChangeLog
Features / Enhancements
- Add interceptor SPI for transport command handler (#2587)
- Add log level configuration support for common logs (#2514)
- Improve AuthorityRuleManager: replace the rule map instead of clear-then-insert when updating rules (#2655)
Bug Fixes
- Fix param args missing bug in fireExit of StatisticSlot (#2523)
- Fix maxQueueingTimeoutMs checking logic in
GatewayRuleManager#isValidRule (#2609)
- Fix DynamicSentinelProperty synchronized listener set iterator race-condition problem (#2519)
- Use CopyOnWriteArraySet for cluster
ConnectionGroup#connectionSet to avoid iterator fast-fail (#2559)
Integrations
- Add support for customizing ConfigurableRequestItemParser for Spring Cloud Gateway and Zuul adapter (#2542)
- Use unified entrance context name by default in Spring WebFlux adapter (#2610)
Dashboard
- Fix incorrect alert message for intervalMs validation in circuit breaker rule dialog (#2483)
- Fix the bug that removing token servers may fail when there are multiple servers with the same IP (#2591)
Dependencies
- Update Spring Boot starter to 2.5.12 for Sentinel dashboard
- Upgrade nacos-client to 1.4.2 for
sentinel-datasource-nacos
Thanks for all contributors: @brotherlu-xcq, @code-ferry, @DollarB, @howiekang, @icodening, @Reagan1947, @Roger3581321, @sczyh30, @tain198127, @zhaoxinhu, @zhuyou1234
详细ChangeLog
Features / Enhancements
- Add support for Envoy RLS v3 API in
sentinel-cluster-server-envoy-rls token server module (#2336)
- Add metric exporter extension for exporting Sentinel metrics via JMX (#2275)
Bug Fixes
- Fix inbound QPS mode of system rule: use passQps instead of completeQps and support batchCount (#2455)
- Fix the bug that legacy API matchers in ScGatewayApiMatcherManager were not removed after the API group has been removed (#2436)
Integrations
- Add ACL token support for Consul data-source (#2307)
Dashboard
- Fix dashboard logo problem when customizing the context-path of the backend (#2253)
- Add IP validation in API of MachineRegistryController
Thanks for all contributors: @brotherlu-xcq, @chenzhiguo, @sczyh30, @shaohsiung, @su787910081, @winjaychan, @wucheng1997, @xiaojun207, @xianwdong
详细ChangeLog
Features / Enhancements
- Improve performance of
TimeUtil adaptively in different load conditions (#1746)
- Support private-level blockHandler/fallback method for
@SentinelResource annotation (#2163)
- Add
sentinel-transport-spring-mvc module (Spring Web as command center) (#1957)
- Support Redis cluster mode in Redis data-source extension (#1751)
- Support config from system env in SentinelConfig and polish TransportConfig in transport-common module (#2154)
- Make all backend thread pools daemon (#2181)
Dashboard
- Improve support for customizing auth-related implementations (#2059)
Dependencies
- Upgrade Netty to 4.1.48.Final in sentinel-cluster modules
Thanks for all contributors: @Amitbhave, @Anilople, @brotherlu-xcq, @cdfive, @drgnchan, @goodjava, @gvma, @huakai-zhang, @jasonjoo2010, @jiajiangnan, @JJFly-JOJO, @JerryChin, @liqiangz, @quaff, @Roger3581321, @ShubhamPalriwala, @Slideee, @SparkLee, @sczyh30, @shenbaoyong, @ss-superman, @VegetaPn, @wutingjia, @wuwen5, @zhangyunan1994
详细ChangeLog