Skip to content

Releases: reactor/reactor-core

v3.2.5.RELEASE

09 Jan 09:55
Compare
Choose a tag to compare

This is the 6th release of Reactor 3.2, part of Californium-SR4 Release Train.

This is a recommended update for all Reactor 3 users, containing a few improvements, a new operator (switchOnFirst) and documentation improvements (the biggest being a switch from PNG marbles to SVG marbles).

⚠️ Update considerations and deprecations

  • ⭐ The marble diagrams are now in SVG format instead of PNG. They are also embedded in the sources/javadoc jars.
    • This should allow anybody wanting to contribute to diagrams to do so more easily
    • Embedding the diagrams (doc-files) means we don't rely on being online to fetch and display them.
    • It also greatly facilitates the releasing process of a change to a diagram / new diagram.
    • Be aware that some IDEs might have a bit of trouble with size of SVG when displaying "documentation popups" (eg. IntelliJ IDEA prior to 2018.3.1)

✨ New features and improvements

  • Add subscribeCount() to PublisherProbe (#1447)
  • Converted eager toString call from index operator to lazy (#1453)
  • Add Kotlin extension switchIfEmpty with deferred execution (#1460)
  • Add onErrorContinue to Mono API (#1458)
  • Add putNonNull and size methods to Context (#1442)
  • ⭐ Add new switchOnFirst operator to Flux (#1423)
  • Optimize assembly tracing (#1466, #1483)
  • Polish Mono Kotlin extensions and functions fixes (#1475)

📖 Documentation, Tests and Build

  • [doc] Various fixes to the javadoc/reference guide (bad method names, indentation...) (#1471, #1473)
  • [build] Add Micrometer to OSGI optional bundles (#1470)
  • [build] Improve build compatibility with JDK11 (JRuby, asciidoctor, etc...) (#1477, #1479, #1480)
  • [doc] Big rework of the integration of marbles into the javadoc (#1390):
    • Rework marble diagrams into SVG
    • Marble SVGs now directly in doc-files folder
    • Added a graphical convention document in docs/svg
    • Verified, reworked and optimized all marbles

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

@davinkevin, @fletchgqc, @mlevvy, @npathai, @OlegDokuka, @pavelhoral, @sdeleuze, @thekalinga

v3.1.14.RELEASE

09 Jan 09:37
Compare
Choose a tag to compare

This is the 15th release of Reactor 3.1, part of BISMUTH-SR15 Release Train.

This release contains minor new API in the Context class.

✨ New features and improvements

  • Added putNonNull and size methods to Context (#1442)

-don't use- v3.2.4.RELEASE

08 Jan 08:50
Compare
Choose a tag to compare

-This release is superseded by v3.2.5.RELEASE-

It has been built using JDK11 and the javadoc jars are non-functional, especially when served from the reactor website.

See release notes at https://github.com/reactor/reactor-core/releases/tag/v3.2.5.RELEASE

-don't use- v3.1.13.RELEASE

08 Jan 11:25
Compare
Choose a tag to compare

-This release is superseded by v3.1.14.RELEASE-

It has been built using JDK11 and the javadoc jars are non-functional, especially when served from the reactor website.

See release notes at https://github.com/reactor/reactor-core/releases/tag/v3.1.14.RELEASE

v3.2.3.RELEASE

23 Nov 09:43
Compare
Choose a tag to compare

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

v3.1.12.RELEASE

22 Nov 16:12
Compare
Choose a tag to compare

This is the 13th release of Reactor 3.1, part of Bismuth-SR14 Release Train.

This is a recommended update for all Reactor 3.1 users.

✨ New features and improvements

  • Make expectAccessibleContext work with initialContext from StepVerifier (#1417)
  • Even though this method aims at checking was is readable in the context, if there is no chain of operators and the Publisher is just a source one, then StepVerifier now ties back to the Context provided in the options.

🪲 Bug fixes

  • Fix request accounting in onBackpressureLatest (#1430)

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

@OlegDokuka

v3.2.2.RELEASE

31 Oct 16:44
Compare
Choose a tag to compare

This is the 3rd release of Reactor 3.2, part of Californium-SR2 Release Train.

This maintenance release contains a few bugfixes, as well as minor improvements.

✨ New features and improvements

  • TestPublisher now actually supports Violation.DEFER_CANCELLATION (#1406)
  • Add onDiscard support to reduce, prevent value retention in scan (#1394)
  • (internal) have MonoReduce rely on super.value, null it out in complete (#1410)

🪲 Bug fixes

  • Using metrics() without Micrometer triggers NoClassDefFoundError, now fixed (#1383)
  • the following fixes have been forwarded from the 3.1.11.RELEASE branch:
  • Fixed share() and .publish().refCount() (including one with grace period) missing repeat/retry re-subscribes (#1385, #1386)
  • Fixed reduce() lambda sometimes being passed a null value, potentially causing NPE (#1393)
  • Fixed a NullPointerException in loggers' format other than SLF4J (#1403)

📖 Documentation, Tests and Build

  • Fixed various javadoc and comment typos (#1402)
  • Avoid finalize in test by introducing PhantomReference-based tracker in new MemoryUtils (#1407)
  • Travis CI alternative build is now on JDK11 (implying various build dependency bumps, #1407)
  • *Staticinit tests won't prevent re-running failed test in IDE anymore

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

@philleonard, @zhouzhou19950825

v3.1.11.RELEASE

31 Oct 16:35
Compare
Choose a tag to compare

This is the 12th release of Reactor 3.1, part of Bismuth-SR13 Release Train.

This maintenance release contains a few bugfixes.

🪲 Bug fixes

  • Fixed share() and .publish().refCount() (including one with grace period) missing repeat/retry re-subscribes (#1385, #1386)
  • Fixed reduce() lambda sometimes being passed a null value, potentially causing NPE (#1393)
  • Fixed a NullPointerException in loggers' format other than SLF4J (#1403)

v3.2.1.RELEASE

10 Oct 16:03
Compare
Choose a tag to compare

This is the second release of Reactor 3.2, part of Californium-SR1 Release Train.

This release contains a couple of small bugfixes, recommended for all 3.2 users, as well as several minor improvements to the javadoc/reference documentation.

⚠️ Update considerations and deprecations

  • The repository folder hierarchy has changed so that the root for all things documentation are at /docs/, not /src (#1360, f0fd559)

🪲 Bug fixes

  • EmitterProcessor SYNC fusion completing too early, not producing an element when fused (#1364)
  • Fixed a CombineLatest ClassCastException with single source(#1356)

📖 Documentation, Tests and Build

  • The reference documentation now embeds HighlightJS, which allows for snippets to be highlighted in the HTML5 version (#1360, 4136dd5)
  • Running retry-elapsed snippet from reference doc had results inconsistent with output that was shown in doc (#1374)
  • The imperative example of "catch-and-rethrow" pattern in the error handling section didn't actually show a re-throw behavior (#1373)
  • Several snippets from the reference documentation contained minor mistakes or inconsistencies with their description (#1366, #1361, #1359, #1378, #1358)

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

@nurkiewicz, @pgilad, @romangr

v3.1.10.RELEASE

10 Oct 15:46
Compare
Choose a tag to compare

This is the 13th release of Reactor 3.1, part of Bismuth-SR12 Release Train.

This release is a small bugfix release, recommended for all 3.1.x users.

🪲 Bug fixes

  • EmitterProcessor SYNC fusion completing too early, not producing an element when fused (#1364)
  • Fixed a CombineLatest ClassCastException with single source(#1356)

📖 Documentation, Tests and Build

  • Running retry-elapsed snippet from reference doc had results inconsistent with output that was shown in doc (#1374)