Reactor-Core 3.3.15.RELEASE is part of Dysprosium-SR18 Release Train.
This service release mainly contains bugfixes.
⚠️ Notable Known Issues
- Fusion of Mono.single() over most fuseable sources causes ClassCastException => tracked in #2663
✨ New features and improvements
- Work in progress for a future public abstraction:
MonoInnerProducerBase
🪲 Bug fixes
- 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
- Extend RaceTestUtils to support N runnables (#2601)
- Add a RaceTestUtils.race variant with timeout parameter (#2627)
- Improve misleading javadoc of concatMapXxx prefetch parameter (#2614)
- Introduce jcstress in 3.3.x