github reactor/reactor-core v3.4.1

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

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 Timed wrapper object, allowing richer output of Duration compared to elapsed() and timestamp() (which use Tuple2 and Long)
  • [reactor-test] fix #2269 Add test util to capture logs in early-established loggers (see also #2512)
    • LoggerUtils allows the early installation of a Logger factory that will forward to a classic factory AND let the user activate a logging indirection later on during tests
    • this allows a TestLogger to 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 createColdNonCompliant variant
  • [reactor-test] When asserting Context in StepVerifier, 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

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

@dowgiallom, @seants

Don't miss a new reactor-core release

NewReleases is sending notifications on new releases.