This is the 7th release of Reactor 3.1, part of BISMUTH-SR8 Release Train.
This maintenance update is mainly backporting QoL enhancements and fixes from the ongoing 3.2.0 development effort.
⚠️ Update considerations and deprecations
Operators.onErrorDroppedstill bubbles the exception up, but it also logs the error (#1118, 97d110f)- see the associated
Mono.fromFuturechange below
- see the associated
- Most operators that go back to the blocking paradigm now throw an exception when used from
parallel()andsingle()Schedulers(#1102 , 5291239)Mono#block,Flux#blockFirst,Flux#blockLast,toIterator,toStream
✨ New features and improvements
StepVerifier.withVirtualTimeis now mutually exclusive to better protect from its side effects onSchedulerswhen running multiple tests in parallel (#648, 65e7d62)
🪲 Bug fixes
Mono.fromFuturewould sometimes swallow errors.- Although fatal errors like
StackOverflowErrorare bubbled up and are not expected to be part of the sequence anymore, here such error would totally disappear. NowMonoCompletionStagedrops such errors, which results in the SOE being logged thanks to the associated change toOperators.onErrorDropped(97d110f, #1118)
- Although fatal errors like
- Avoid interrupting
WorkerTaskFuturein case of cancel race (#1107, e8f7867)