github reactor/reactor-core v3.2.3.RELEASE

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

This is the 4th release of Reactor 3.2, part of Californium-SR3 Release Train.

This is a recommended update for all Reactor 3.2 users.

⚠️ Update considerations and deprecations

  • ✨ Add ability to multi-decorate backing ExecutorServices (#1408, #1409)
    • This replaces the Factory method that is now deprecated (but applied as the last decorator)
    • Decorators are keyed by a String, allowing for easy identification and removal of specific decorators and good behavior when multiple libraries need to install a decorator
  • 🐞 Mono.fromFuture/Mono.fromCompletionStage now correctly detects when the future is completed AFTER the Mono has been cancelled (#1414)
    • Any value is ignored by this point. Exceptions are still propagated except CancellationException
    • The later means that one can also safely cancel the source Future itself in a doOnCancel

✨ New features and improvements

  • StepVerifier now provides more details on unexpected termination during no-event (#1440)
  • Reactor-provided Scheduler backed by an ExecutorService can now be instrumented with Micrometer (#1201)
  • The Schedulers.enableMetrics() method enables this
  • Only state of the executor (number of tasks in the queue for instance) is instrumented for now, not duration of the tasks.
  • Custom-made Scheduler implementations can apply the same decorator (and any registered decorator) via the new Schedulers.decorateExecutorService method
  • Make expectAccessibleContext work with initialContext from StepVerifier when just asserting a scalar source without operators (#1417)

🪲 Bug fixes

  • Disposed worker also rejects scheduling a 0-period task (#1411)
  • Ensure METER_FLOW_DURATION always have exception tag (would otherwise break assumptions of a few instrumentation providers) (#1425)
  • Fixed request accounting in onBackpressureLatest (#1430)

📖 Documentation, Tests and Build

  • Various documentation typos have been fixed (#1420, #1419, #1424, #1427,
  • The wording about guarantees enforced by the Scheduler#createWorker interface has been clarified not to always include ordering (#1421)
  • [test] Attempt to fix flaky test distinctUntilChanged*DoesntRetainObjects (#1428)
  • [test] Better evaluation of bufferWhen cancel/drain race (c5a93be)

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

@nurkiewicz @lerencao @pranavek @quaff @OlegDokuka

Don't miss a new reactor-core release

NewReleases is sending notifications on new releases.