Releases: reactor/reactor-core
v3.2.5.RELEASE
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
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
andsize
methods toContext
(#1442)
-don't use- v3.2.4.RELEASE
-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
-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
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
- This replaces the
- 🐞
Mono.fromFuture
/Mono.fromCompletionStage
now correctly detects when the future is completed AFTER theMono
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 adoOnCancel
- Any value is ignored by this point. Exceptions are still propagated except
✨ New features and improvements
- StepVerifier now provides more details on unexpected termination during no-event (#1440)
- Reactor-provided
Scheduler
backed by anExecutorService
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 newSchedulers.decorateExecutorService
method - Make
expectAccessibleContext
work withinitialContext
fromStepVerifier
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
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 withinitialContext
fromStepVerifier
(#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 theContext
provided in the options.
🪲 Bug fixes
- Fix request accounting in onBackpressureLatest (#1430)
👍 Thanks to the following contributors that also participated to this release
v3.2.2.RELEASE
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 inscan
(#1394) - (internal) have
MonoReduce
rely onsuper.value
, null it out in complete (#1410)
🪲 Bug fixes
- Using
metrics()
without Micrometer triggersNoClassDefFoundError
, 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 anull
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 introducingPhantomReference
-based tracker in newMemoryUtils
(#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
v3.1.11.RELEASE
This is the 12th release of Reactor 3.1, part of Bismuth-SR13
Release Train.
This maintenance release contains a few bugfixes.
🪲 Bug fixes
v3.2.1.RELEASE
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
v3.1.10.RELEASE
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)