Reactor-Core 3.4.4 is part of 2020.0.5 Release Train (Codename Europium).
This service release contains a few improvements and new features. It also contains bugfixes from the 3.3.x line.
All changes from 3.3.15.RELEASE are also included and these are listed below with an additional level of indentation.
⚠️ Notable Known Issues
- Fusion of Mono.single() over most fuseable sources causes ClassCastException => tracked in #2663
✨ New features and improvements
- Add Mono.cache(ttl, ttl, ttl) overload with Scheduler (#2619)
- Introduce mapNotNull operator (#2638)
- from 3.3.x:
🪲 Bug fixes
- from 3.3.x:
- Fix Mono.publish(Function) not propagating onError (#2625)
- Fix flatMap race favoring onComplete over onError (#2628)
- Prevent ordered merge hanging due to badly sized queue (#2631)
- Fix a leak in Mono.singleOrEmpty thanks to MonoInnerProducerBase (#2632)
- ⚠️
Mono.fromSupplier(() -> null).single()previously failed to produce anonError(NoSuchElementException)(#2635)- instead it completed empty
- in fact, any source
Monothat was implementingCallable(which includesfromSupplier,fromCallable,fromRunnableto some extent...) would exhibit the wrong behavior - This is now fixed via #2648.
- 🐛 known issue: the same bug is still manifesting in
Flux#single, which is going to be fixed by #2657 in the next release
📖 Documentation, Tests and Build
- Fix wrong param name in Sinks.Many#limit(Duration) javadoc (#2617)
- Fix Sinks.unsafe() snippet in advancedFeatures.adoc (#2622)
- from 3.3.x: