Releases: alibaba/Sentinel
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#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)
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
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
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#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
v1.8.3
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
v1.8.2
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
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
v1.8.0
This nouveau release ships with countless features and improvements, specifically for circuit breaking. We've made progress on refactoring and improving circuit breaking feature, including arbitrary statistic duration support, half-open recovery, enhanced slow request ratio strategy, state change observer and more. We've also brought various versatile integrations including Java EE (JAX-RS and CDI), Quarkus and HTTP client (Apache HttpClient and OkHttp), which could cover more developers.
Features / Enhancements
- Refactor degrade hierarchy with new circuit breaker mechanism and improve strategy (support arbitrary statistic duration, support half-open recovery, add slow request ratio strategy) (#1490, #1645)
- Support setting
project.name
via the properties file and deprecate legacy config path (#1412, #1437) - Refactor the mechanism of recording exception (on completed) and polish Tracer (#1420)
- Support setting class-level defaultFallback for annotation extension (#1493)
- Add JAX-RS integration module (#1396)
- Add annotation extension for Java EE CDI (#1541)
- Add Sentinel annotation and JAX-RS plugins for Quarkus (#1542)
- Add Apache HttpClient integration module (#1455)
- Add OkHttp integration module (#1456)
- Add Eureka data-source extension (#1502)
- Add exceptionPredicate in Tracer for customized exception filtering logic (#1496)
- Improve purge mechanism for deprecated ParameterMetric (#1372)
- Support customized origin parser in Dubbo 2.6.x/2.7.x adapter and polish config mechanism (#1555, #1572, #1617)
- Add support for extracting parameter value from complex object (#1491)
- Add extended interface for metric extension hook to support distinguishing traffic type (#1665)
- Improve default fallback for Apache Dubbo 2.7.x adapter (#1680)
- Add per-Entry exit handler (
whenTerminate
) support (#1645) - Optimize the order of slots in ProcessorSlot SPI config (#1649)
Bug fixes
- Fix sentinel-apache-dubbo-adapter full GC bug (#1431)
- Fix the bug that may cause ErrorEntryFreeException when forwarding requests in sentinel-spring-webmvc-adapter (#1533, #1681)
- Fix the bug of extracting request cookie in Spring Cloud Gateway adapter (#1400)
- Fix the bug of misplaced locks in ContextUtil and ClusterNode (#1429)
Dashboard
- Refactor degrade frontend/controller and adapt to new circuit breaking features
- Fix the bug that cookie may have conflict with web applications under the same domain (#1443)
- Fix historical version compatibility problem for auth checking via localStorage (#1473)
Dependencies
- Upgrade fastjson to 1.2.71, nacos-client to 1.3.0 (in
sentinel-datasource-nacos
module)
Thanks for all contributors: @Billzaifei, @cdfive, @chenzhiguo, @CodingSinger, @dogbaobao, @jasonjoo2010, @J-Cod3r, @JiangZian, @John-Chan, @joooohnli, @linlinisme, @liqiangz, @pleasecheckhere2016, @PeineLiang, @RGaius, @sczyh30, @seasidesky, @wavesZh, @xiby, @Yanghf123, @yunfeiyanggzq, @zhaoyuguang, @zhenxianyimeng