Skip to content
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, @good…

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 …
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 v…
Compare
Choose a tag to compare

In this version, we've brought breaking changes about the slot SPI mechanism. The slot chain builder SPI has been deprecated (legacy classes were reserved for compatibility). Now Sentinel will take ProcessorSlot itself as SPI. Note that the slot might be stateful, so Sentinel will still build different new slot chains for each resource.

Furthermore, a new Logger SPI mechanism is introduced for flexible logging extension. The default RecordLog implementation is still based on java.util.logging, and developers could introduce dependencies of logging integration module to adapt to existing logging libraries (e.g. slf4j). See here for more details.

Features / Enhancements

  • Add SOFARPC adapter module (#1307)
  • Add Zuul 2.x gateway adapter module (
Compare
Choose a tag to compare

Features / Enhancements

  • Add Sentinel Spring Web MVC adapter module (#1104)
  • Improve async invocation support for Dubbo 2.7.2+ in sentinel-apache-dubbo-adapter (#1124)
  • Support configuration for the heartbeat API path in transport module (#515)
  • Refactor: Get the max allowed RT directly from SentinelConfig.statisticMaxRt() to avoid implicit dependency chain (#1173)
  • Support setting config file path via system environment and improve error handling in SentinelConfigLoader

Bug fixes

  • Fix the incorrect logic of handling the end separator of the log directory in LogBase (#1172)
  • Fix Content-Type matching bug in sentinel-transport-simple-http module (#1207)
  • Fix the incorrect logic of getting maxSuccessQps in StatisticNode (#1196)

Dashboard

  • Impr…
Compare
Choose a tag to compare

In this version, Sentinel provides an Envoy Global RLS implementation using Sentinel token server, so that Envoy service mesh could leverage the distributed flow control capability of Sentinel. See here for details.

Since 1.7.0, Sentinel supports configuration via arbitrary properties files. We could set the path of the properties file with the -Dcsp.sentinel.config.file property item. See here for more details.

Features / Enhancements

  • Add Sentinel Envoy RLS token server implementation (#1139)
  • Support arbitrary configuration properties file path for Sentinel (#804)
  • Improve the SPI ClassLoader mechanism to handle more complex scenarios (#1088)
  • Add support for resource classification and polish adapters (#1142)
  • Support customized block pa…
Compare
Choose a tag to compare

This version provides entire support for managing API gateway flow rules and customized API groups in Sentinel dashboard.

Features / Enhancements

  • Add support for managing gateway flow rules and customized API group in Sentinel dashboard (#869)
  • Add support for excluding some URLs in Web Servlet CommonFilter (#914)
  • Add Ordered interface support for Spring Cloud Gateway filter (#937)
  • Support displaying SystemRule of CPU usage strategy in the dashboard (#927)
  • Use the unified context name in Web Servlet filter (#944)

Bug fixes

  • Fix the empty value matching problem in GatewayParamParser (#937)

Thanks for the contributors: @cdfive, @Crazy10552, @jasonjoo2010, @linlinisme, @lym-ifae

Compare
Choose a tag to compare

Features / Enhancements

  • Add support for request item pattern matching in API gateway flow control (#842)
  • Support parsing cookie as request items in API gateway flow control (#814)
  • Add support for logging into console for common logs (#836)

Bug fixes

  • Fix the parsing bug for command name that contains multiple slash in sentinel-transport-netty-http module (#817)
  • Fix the bug that numeric overflow might occur when refilling tokens in ParamFlowChecker (#838)

Dashboard

  • Improve the edit dialog for FlowRule and ParamFlowRule (#845)
  • Update frontend dependencies in package.json to fix vulnerabilities
Compare
Choose a tag to compare

Features / Enhancements

  • Refactor API gateway common module to separate converted rules from other rule managers (#758)
  • Separate parameter metric storage from ParamFlowSlot and improve ParamFlowRuleUtil
  • Refactor FlowRuleChecker to improve code reuse
  • Add SPI extension for Sentinel internal statistics (#730)
  • Add exceptionsToTrace and exceptionsToIgnore support in Tracer (#766)
  • Make SentinelConfig.loadProps() thread-safe using CopyOnWriteArraySet (#706)
  • Add CPU usage and system load to metric collecting command API (#749)
  • Add getCpuUsageThreshold() method in SystemRuleManager (#770)

Bug fixes

  • Fix the bug that parameters are not carried when exiting entries in SentinelReactorSubscriber
  • Fix the bug that Chinese characters are malformed in r…
Compare
Choose a tag to compare

Breaking Changes

In 1.6.0, we refactored the statistic and flow control algorithm of parameter flow control. The old mechanism (LRU map + sliding window for the parameter) has been replaced by an algorithm like token bucket. Now parameter flow rule supports setting statistic interval (intervalSec), burst count (burst), traffic shaping mode (controlBehavior, currently supports default mode and throttling mode).

We've refactored and improved fallback support for @SentinelResource annotation to make it more understandable and common. See the document for more information.

Since 1.6.0, all API gateway adapter will be based on the sentinel-api-gateway-adapter-common module. There are some changes for Sentinel Zuul Adapter. In previous version…