Reactor-Core 3.2.6.RELEASE is part of Californium-SR5} Release Train.
This is a recommended update for all Reactor 3 users.
⚠️ Update considerations and deprecations
ConsoleLoggerdoesn't log TRACE/DEBUG levels by default now (#1484)- (note it is the default logging implementation when SLF4J isn't found)
- DEBUG/TRACE levels had potential for being a very verbose default, especially when using reactor-netty
- DEBUG/TRACE on console can be programmatically opted-in via
Loggers.useVerboseConsoleLoggers() - Use of JDK loggers instead of console can be activated at start up via setting
reactor.logging.fallbacksystem property toJDK
✨ New features and improvements
Flux.collectand friends (collectList,collectMap,collectMultiMap) now supportdoOnDiscard(#1510)Scheduler#schedulePeriodicallynow accepts 0 delay and 0 duration periodic tasks (#1498)
🪲 Bug fixes
- Proactively avoid logging
onNext(QueueSubscription)(#1515)- We would previously rely on
UnsupportedOperationExceptionto detect cases of attempting to "deep-logging" an internal object as aCollection - Log4J2 recently started swallowing all exceptions.
- We now eagerly convert the usual suspect (
QueueSubscription) to aStringbefore passing to logging implementation.
- We would previously rely on
switchOnFirsthas been improvedMono#fromRunnablecan now be cancelled immediately and withholds invoking theRunnable(#1503)- Fixed
windowWhile/windowUntilcancellation when the resultingFluxis cancelled before the last in flightwindow(#1452) mergeSequential's first inner sequence would not be cancelled with the rest when outputFluxwas cancelled (#1500)usingWhenterminal callbacks are now mutually exclusive with the cancel one (#1487)
📖 Documentation, Tests and Build
- [doc] new marble diagrams have been introduced in this release (#1463, #1448)
index,limitRequest,onBackpressureBuffervariant,sort,sequenceEquals,doFinally,doOnEach,switchOnFirst
- [doc] Wording of
switchOnFirsthas been clarified, regarding the inclusion of first signal in theFluxpassed to theBiFunction(#1514) - [doc] Fixed
reactive-streamGradle coordinates in reference documentation (#1505) - [build] Changed the way JApiCmp gets its baseline (don't rely on Gradle) (6ca1ae9)
- [build] Adapt JDK javadoc links when building under JDK9-10 and JDK11+ (0788a2b)