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.

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.

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 versions, the adapter will mark all serviceId and API path as resources. Since 1.6.0, the adapter will regard all route ID (aka. proxy) and customized API groups (defined in API gateway common module) as resources.

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.