github reactor/reactor-core v3.4.4

latest releases: v3.8.5, v3.7.18, v3.8.4...
5 years ago

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:
    • Work in progress for a future public abstraction: MonoInnerProducerBase (#2632, #2645)

🪲 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 an onError(NoSuchElementException) (#2635)
      • instead it completed empty
      • in fact, any source Mono that was implementing Callable (which includes fromSupplier, fromCallable, fromRunnable to 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:
    • Extend RaceTestUtils to support N runnables (#2601)
    • Add a RaceTestUtils.race variant with timeout parameter (#2627)
    • Improve misleading javadoc of concatMapXxx prefetch parameter (#2614)

👍 Thanks to the following contributors that also participated to this release

@kevinten10, @mickeelm, @SimonBerry555, @v-terret

Don't miss a new reactor-core release

NewReleases is sending notifications on new releases.