Skip to content
Apr 17, 2019
Sentinel 1.5.2 release

@sczyh30 sczyh30 released this Mar 27, 2019 · 35 commits to master since this release

This version provides some bug fixes and enhancements.

Features / Enhancements

  • Add exceptionsToTrace configuration support in @SentinelResource annotation (#543)
  • Enhancements for handling Error in InitExecutor and LogBase (#613)
  • Improve ZookeeperDataSource to deal with bad connection when initializing (#597)
  • Add compatible adapter module sentinel-apache-dubbo-adapter for Apache Dubbo 2.7.x and above (#619)
  • Apply Alibaba p3c pmd plugin/rules and fix/ignore all violations of priority 1 (#574)
  • Improve field naming in ApolloDataSource (#593)

Bug fixes

  • Fix deadlock bug in Env static initialization (#610)
  • Fix bug of exiting entry with parameters in SentinelResourceAspect

Thanks for the contributors: @blindpirate, @beston123, @cdfive, @lawrencewu, @zhousiliang163

Assets 3

@sczyh30 sczyh30 released this Mar 14, 2019 · 56 commits to master since this release

Breaking Changes

Since 1.5.0, the minimum JDK version has been updated to 1.7. JDK 1.6 is no longer supported.

There are some changes in Node interface: the return type of xxxQps methods (e.g. passQps, blockQps) has been changed from long to double to be more accurate.

In 1.5.0 we added common occupy mechanism in LeapArray so that Sentinel can occupy future buckets of the sliding window to support "final pass for prioritized requests when QPS exceeds the threshold". The Sph.entryWithPriority(xxx) method will take effect now in local flow control mode.

Features / Enhancements

  • Update minimum JDK version to 1.7 (for all modules)
  • Refactor Node interface: change return type of QPS get method to double (#564)
  • Add occupy mechanism for future buckets of sliding window to support "prioritized requests" (#568)
  • Add occupiable LeapArray support and code refactor/rearrangement
  • Add Sentinel Reactor module to support reactive integration (#545)
  • Add adapter module and implementation for Spring WebFlux (#556)
  • Add try-with-resources support for Entry class (#550)
  • Add an ApiCommandHandler to list all available commands and description (#491)
  • Add CPU usage checking support in system protection rule (#484)
  • Add a CommandCenterProvider to resolve and cache the CommandCenter instance (#409)
  • Automatically de-duplicate rules when loading rules (#571)
  • Support recording total inbound traffic data in metric file (#555)
  • Support passing args in Sph.entryWithPriority(xxx)
  • Allow negative paramIndex as reversed-order index in ParamFlowRule (#549)
  • Add AuthInfo parameter in the constructor of ZooKeeperDataSource to support ACL (#508)
  • Carry appName in FetchClusterServerInfo command
  • Optimize circuit breaking state transformation using CAS in DegradeRule (#538)
  • Improve sleeping-based tests to be more stable and optimize slow tests (#546)
  • Change default value of avgUsedTokens to zero to be more meaningful in DefaultController (#460)
  • Update fastjson dependency version to 1.2.56 (for sentinel-datasource-extension)
  • Update apollo-client version to 1.3.0 and add support for removing listener in sentinel-datasource-apollo (#562)

Bug fixes

  • Fix SimpleDateFormat concurrent issue in CspFormatter of sentinel-core (#548)
  • Fix Dubbo-related dependencies in sentinel-dubbo-demo (#534)


  • Support automatic/manual removal of unhealthy machines and disconnected applications in dashboard (#168)
  • Add basic interface for authentication and authorization in Sentinel dashboard (#503)
  • Improve management for foreign-app stand-alone token server in cluster page
  • Remove G2 lib tracking in frontend of Sentinel dashboard (#527)
  • Fix concurrent error in InMemoryMetricsRepository of the dashboard (#488)
  • Add Apollo flow rule publisher sample in Sentinel dashboard (#535)

Thanks for the contributors: @all4you, @ATAXGT, @cdfive, @HaojunRen, @hantianwei, @jasonjoo2010, @MickMo, @mjaow, @nick-tan, @xburning, @yikangfeng, @yklove

Assets 3

@sczyh30 sczyh30 released this Feb 20, 2019 · 105 commits to master since this release

Features / Enhancements

  • Add Zuul 1.x adapter module for Sentinel (#188, @tigerMoon)
  • Add catch throwable logic in ClusterStateManager to detect fatal error when loading SPI
  • Add back thread count metric type support for parameter flow control
  • Carry the triggered rule in subclasses of BlockException (#469)
  • Support tracing exception count for specific entry or context in Tracer
  • Add volatile in double-checked locking field in ClusterBuilderSlot (@mjaow)
  • Improve ClusterServerConfigManager in sentinel-cluster-server-default and add basic test cases
  • Remove slf4j dependency in sentinel-annotation-aspectj module
  • Improve and fix bugs for ConnectionManager and add test cases
  • Update Nacos SDK version to 0.8 in Nacos data-source extension module and update Nacos namespace demo (#474, @yanlinly)
  • HashMap init optimize when adding new ClusterNode to cluster node map (#465, @luoxn28)
  • Make build faster by reducing fixed waiting time in tests (#449, @aalmiray)
  • Add some unit test for StatisticNode, ClusterNode and DefaultNodeBuilder class (#423, @cdfive)
  • Update dependency version of fastjson and jacoco-maven-plugin

Bug fixes

  • Fix negative waitTime bug in RateLimiterController (fixes #420)
  • Fix zero-count divide overflow bug in RateLimiterController (#461, @mjaow)
  • Fix error value type and rename variable in EntranceNode class (#457, @mjaow)
  • Fix NPE bug when creating connection group in ConnectionManager of token server (#467)
  • Fix NPE bug when adding event count concurrently for different parameter values in ParamMapBucket (#494)
  • Fix bug of calculating param size and amount in ParamFlowRequestDataWriter of Sentinel cluster (#495)


  • Rename dashboard package name from* to* (#435)
  • Make fallbackToLocalWhenFail of cluster rule configurable in Sentinel dashboard (#370, @cdfive)
  • Fix data model problem in edit dialog of Sentinel dashboard (#370, @cdfive)
  • Add healthyMachineCount and totalCount information in sidebar of Sentinel dashboard (#376, @jz0630)
  • Change text of p_qps and b_qps to be more intuitive in monitoring page (#398, @Arlmls)
  • When clicking the first-level menu of sidebar, don't jump to the home page (#422, @cdfive)

Thanks for the contributors: @aalmiray, @all4you, @Arlmls, @cdfive, @jz0630, @kangyl, @kexianjun, @Leishunyu, @luoxn28, @mjaow, @pig4cloud, @tigerMoon, @wangjunwei87, @yanlinly

Assets 3

@sczyh30 sczyh30 released this Jan 4, 2019 · 147 commits to master since this release

This is a milestone version that provides enhancements for cluster flow control.

Features / Enhancements

  • Improve Sentinel dashboard for cluster flow control management (#384)
  • Support multiple tokens per request entry (#380)
  • Improve retry and stop control logic in cluster token client
  • Improve cluster state manager to modify cluster mode more flexible
  • Enhance config and log for cluster token client
  • Improve namespace register logic for embedded cluster token server mode
  • Add cluster embedded mode handling logic for parameter flow checker
  • Add basic monitoring command API for cluster token server
  • Upgrade nacos-client version and construct NacosDataSource by Properties (#348, @fangjian0423)
  • Make the default statistic max RT value TIME_DROP_VALVE configurable (#292, @cdfive)
  • Rearrange the constructor of LeapArray to match with interval and sampleCount property
  • Refinement for heartbeat logic in sentinel-transport related module
  • Polish cluster flow control demo to be more instructive
  • Add some unit test for sentinel-transport-netty-http module (#321, @cdfive)

Bug fixes

  • Fix bug in search logic of metric files (#331)
  • Fix wrong empty check in FlowRuleApiPublisher of Sentinel dashboard (#353, @foreveryang321)

Thanks for the contributors: @allencloud, @canglang1973, @cdfive, @fangjian0423, @foreveryang321, @jz0630, @YoungHu

Assets 3
Dec 29, 2018
Sentinel 1.3.1 release

@sczyh30 sczyh30 released this Dec 14, 2018 · 189 commits to master since this release

This is a significant milestone version that provides cluster flow control feature.

Note: The cluster flow control module requires JDK 1.7 or later versions.

Features / Enhancements

  • Add cluster flow control interface and default implementation (#257, #294)
    • Add basic token client and server interface in Sentinel Core
    • Add cluster common module for common interface, entity and registry
    • Add cluster client module for default token client implementation (using Netty as transport library)
    • Add cluster server module for default token server implementation
    • Add basic cluster config and rule management mechanism
    • Support flexible transformation of cluster mode (between client and embedded server)
    • Add basic support for cluster mode in Sentinel dashboard (#302)
  • Add prioritized entry support in ProcessorSlot and SphU (#255)
  • Add "warmup with rate limiting" implementation for traffic shaping (#220)
  • Add HTTP-method level flow control support in Sentinel Web Servlet Filter (#282, @ro9er)
  • Add client ip property in transport common module to resolve ip problem in Docker env (#261, @nick-tan)
  • Optimize the click sensitivity of dashboard's sidebar menu (#268, @cdfive)
  • Extract annotation support base class for customized AOP extensions (#223, #214, @bitonly)
  • Extract flow rule checker from FlowRule (#234)
  • Improve log info and condition about fetching metrics in Sentinel dashboard (#219, @xcaspar)

Bug fixes

  • Fix padding issue of charts in monitoring page of Sentinel dashboard (fixes #251, @cdfive)
  • Support parameters in entry of Sentinel annotation support to enable parameter flow control
  • Support automatic exception tracing in Sentinel annotation support

Thanks for the contributors: @bitonly, @canglang1973, @cdfive, @nick-tan, @ro9er, @xcaspar

Assets 3

@sczyh30 sczyh30 released this Oct 30, 2018 · 258 commits to master since this release

This is a production-ready GA version including enhancements for Sentinel dashboard and some other enhancements / bug fixes.

Features / Enhancements

  • Add support for configuring authority rules and parameter rules in Sentinel Dashboard (#176, #189)
  • Add support for degrading by exception count per minute (#174)
  • @SentinelResource annotation supports method name as default resource name (#187)
  • Enhance rule checking in rule managers and Sentinel Dashboard (#202)
  • Support config the log base directory via system property
  • Support config whether the log name contains pid
  • Support to retry when port specified has been used in sentinel-transport-netty-http (#161, @jasonjoo2010)
  • LogBase support variable arguments (#161, @jasonjoo2010)

Bug fixes

  • Fix bug for wrong coordinate scaling of QPS chart (passed/blocked) in monitoring page of Sentinel Dashboard (fixes #22, @jasonjoo2010)
  • Fix bug for wrong log file name checking and performance problem (fixes #181)
  • Fix bug for body reading in HttpServerHandler of sentinel-transport-netty-http (fixes #184, @jasonjoo2010)
  • Fix bug for ConcurrentModificationException when getting machine map in AppInfo of Sentinel Dashboard (fixes #201)

Thanks for the contributors: @jasonjoo2010, @shannon312, @waveng

Assets 4

@sczyh30 sczyh30 released this Sep 27, 2018 · 289 commits to master since this release

This is a milestone version providing new cool features like asynchronous invocation support and flow control by frequent (hot spot) parameters.

Note: this is the last milestone version that supports JDK 1.6. Since next milestone version, the minimum JDK version will be 1.7.


  • Add support for asynchronous invocation entry (#146)
  • Flow control by frequent (hot spot) parameters (#156)
  • Support extensible slot chain builder using SPI mechanism (#145)
  • Add callback registry for statistic slot for extensions
  • Add Redis data source extension (#102, @tigerMoon)
  • Add MetricsRepository interface and reuse original in-memory implementation for Sentinel Dashboard (#126)
  • Access control for white-list / black-list (AuthorityRule)
  • Add RequestOriginParser for Sentinel Web Servlet Integration to support extracting request origin


  • Refactor data source hierarchy: spilt into readable and writable data source (#124)
  • Support JDK-based proxy in Sentinel annotation support (#111)
  • Enhance exception tracing in Sentinel Dubbo Adapter
  • Enhance FileRefreshableDataSource (check file modified) and support FileWritableDataSource (#125, @yfh0918)
  • Refactor LeapArray to reuse code for current bucket
  • Enhance log and null check for rule managers
  • Add benchmark for Sentinel
  • Extract MetricsReader from MetricSearcher (#103, @refactormachine)

Bug fixes

  • Fix bugs for Sentinel internal error when context count exceeds MAX_CONTEXT_NAME_SIZE (#152)
  • Fix bugs for degrade rule checking (fixes #109 and #128)
  • Fix bug for error file separator regex in Windows environment (fixes #52)
  • Fix bug for missing maxQueueingTimeMs in equals and hashCode method of FlowRule (fixes #99)
  • Fix bug for system rule page in Sentinel Dashboard (fixes #51)
  • Fix bug for automatic exit of default context when exiting the entry
  • Fix bug for probability of metric lose when collecting metrics
  • Fix bug for update logic of minRt in metric bucket

Thanks for the contributors: @kimmking, @refactormachine, @talshalti, @tigerMoon, @yfh0918

Assets 3
Sep 27, 2018
Sentinel 0.1.2 release
You can’t perform that action at this time.