Releases: alibaba/Sentinel
v1.8.9
Features / Enhancements
- Ensure that exceptions are visible to Sentinel when an ExceptionHandler is configured(#3409)
- Add sentinel servlet adapter demo (#3422)
- Add new SpringCloudGateway v6 adapter for supporting the SpringCloud 2025 version (#3542)
Bug Fixe
- Fix the issue that causes an OutOfMemoryError (OOM) when using an async servlet request(#3440).
- Fix MD059 issue (#3539).
- Fix time format assertion failing due to daylight saving time.(#3459)
Dependencies
- Bump slf4j-api version to 2.0.16(#3536)
Thanks for all contributors: @marmot-z,@24kpure,@Linzyoo,@LearningGp,@DepUpdater,@mawen12,@uuuyuqi,@hermya,@manojks1999,@XenoAmess
v1.8.8
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
v1.8.7
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
v2.0.0-alpha
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#entrywhen 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)
v1.8.6
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
idfield 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#closeResourcesmay 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
v1.8.5
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
v1.8.4
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#connectionSetto 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
v1.8.3
Features / Enhancements
- Add support for Envoy RLS v3 API in
sentinel-cluster-server-envoy-rlstoken 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
v1.8.2
Features / Enhancements
- Improve performance of
TimeUtiladaptively in different load conditions (#1746) - Support private-level blockHandler/fallback method for
@SentinelResourceannotation (#2163) - Add
sentinel-transport-spring-mvcmodule (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
v1.8.1
NOTE: Since 1.8.1, Sentinel requires JDK 1.8 or higher version.
Features / Enhancements
- Refactor SpiLoader and enhance SPI mechanism (#1383)
- Add basic cluster concurrency limiting implementation in token server module (#1631)
- Add Motan RPC adapter implementation (#1825)
- Improve default block fallback logic in Dubbo 2.6.x adapter to avoid serialization problem (#1794)
- Support setting flush interval of the metric log via SentinelConfig property (#1919)
- Support both HTTP and HTTPS protocol in transport heartbeat module (#1896)
- Make token client
NettyTransportClient.getCurrentId()thread safe (#1707)
Bug fixes
- Fix NPE bug when updating gateway flow rules and param flow rules before the route/API has been requested once (#1729, #1901)
- Fix the bug that getServletPath() may return empty when matching URL in Zuul 1.x adapter (#1605)
- Fix the problem that requests will never be blocked when slowRatioThreshold = 100% (#1779)
Dashboard
- Add statIntervalMs field in DegradeRule dialog (#1781)
- Add support for matching path pattern like
/xx/**in authFilterExcludeUrls (#1971) - Fix issue of memory leak in real-time monitoring page (#1905)
- Improve MetricFetcher under concurrent conditions (#1918)
Dependencies
- Upgrade fastjson to 1.2.75
- Upgrade snakeyaml to 1.26 in sentinel-cluster-server-envoy-rls module
Thanks for all contributors: @brothelul, @cdfive, @dani3lWong, @evasnowind, @HelloCoCooo, @jasonjoo2010, @JiangZian, @JieGz, @John-Chan, @liuming-dev, @mikawudi, @nickChenyx, @odidev, @polarbear567, @PeineLiang, @samuelxw, @sczyh30, @vipweihua, @wzg923, @xierunzi, @xierunzi, @xuande, @yunfeiyanggzq, @zcai2, @zhangkai253, @zhangxn8, @zhouyongshen