Reactor-Core 3.4.1 is part of 2020.0.2 Release Train (Europium SR2).
This service release contains bugfixes and new features.
This note focuses on changes specific to this version, but all changes from 3.2.22.RELEASE and 3.3.12.RELEASE are also included.
⚠️ Update considerations and deprecations
- fix #2459 Add a composite of all source as cause to firstWithValue error
- this was overlooked when merging the new operator in 3.4.0, so we decided it was fresh enough that the slight behavior change would be acceptable
✨ New features and improvements
- fix #2195 Add timed() operator
- this new operator exposes various timing information on a
Timedwrapper object, allowing richer output ofDurationcompared toelapsed()andtimestamp()(which useTuple2andLong)
- this new operator exposes various timing information on a
- [reactor-test] fix #2269 Add test util to capture logs in early-established loggers (see also #2512)
LoggerUtilsallows the early installation of aLoggerfactory that will forward to a classic factory AND let the user activate a logging indirection later on during tests- this allows a
TestLoggerto capture internal logs from operators that were classloaded earlier than the unit test
- [reactor-test] fix #1518 Add cold variants of
TestPublisher- cold variants better behave wrt backpressure and can replay to multiple subscribers at various stages
- the old behavior (of ignoring requested amount) is still available through a
createColdNonCompliantvariant
- [reactor-test] When asserting
ContextinStepVerifier, say from which operator the asserted Context was taken (#2518)
🪲 Bug fixes
- Make
RetryWhenMainSubscriber#onError's calls serial (#2499, Fixes #2488) - fix #2513 ReplayProcessor now correctly pass nanos to buffer, not ms
- from 3.3.12.RELEASE:
- fix #2519 Cancel propagation on empty collectXxx
- from 3.2..22.RELEASE:
- fix #2498 Exception thrown in Flux.handle causes hanging in fused case
📖 Documentation, Tests and Build
- Various documentation improvements (#2463, #2457, #2469)
- fix #2468 Review and polish deprecation suppressions
- fix #2502 Generate OSGI Bundle-Version from Europium+ scheme