Skip to content

Releases: alibaba/Sentinel

v1.8.8

05 Jun 01:46
Compare
Choose a tag to compare

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

29 Dec 02:10
Compare
Choose a tag to compare

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

28 Feb 06:32
Compare
Choose a tag to compare
v2.0.0-alpha Pre-release
Pre-release

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

26 Oct 08:43
Compare
Choose a tag to compare

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

09 Aug 01:50
Compare
Choose a tag to compare

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

12 Apr 11:09
Compare
Choose a tag to compare

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

31 Dec 07:11
Compare
Choose a tag to compare

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

06 Jul 01:40
Compare
Choose a tag to compare

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

04 Feb 08:12
Compare
Choose a tag to compare

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

21 Aug 01:49
Compare
Choose a tag to compare

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