reactor-core v3.3.0.RC1 Release Notes
Release Date: 2019-09-04 // over 4 years ago-
๐ Reactor-Core
3.3.0.RC1
is part ofDysprosium-RC1
Pre-Release Train.๐ This first release candidate of the 3.3.x cycle contains bugfixes and improvements from the GA 3.2.12.RELEASE as well as a few new features. It also involves a few behavior impacting changes and deprecations.
โก๏ธ โ ๏ธ Update considerations and deprecations
- A few Mono operators have slightly changed their behavior in regards to how when they propagate
onNext
: they could triggeronError
afteronNext
, which is not permitted in Mono.Mono#usingWhen
now waits for the async complete handler termination before propagatingonNext
(#1832)Mono#using
similarly avoids triggering onNext+onError if cleanup fails (#1853)Mono#doOnTerminate
now acts similarly todoOnSuccess
, executing the side effect before theonNext
is propagated downstream (#1752)
- ๐
Mono#do[On|After]SuccessOrError
has been deprecated and marked for removal in 3.4 (#1854) - ๐
usingWhen
API has been polished, and some variants deprecated for removal in 3.4 (#1687)- A new overload has been introduced that uses
BiFunction
for error handler (exposing the failure that causes "rollback") - A single-handler version has been added to
Mono
for alignment withFlux
. This is the simplest case: same handler for complete, error and cancel terminations. - All other overloads have been deprecated. Goal is to favor either the simple 1-handler-covers-all case OR force users to be explicit about ALL possible terminations.
- A new overload has been introduced that uses
๐ฑ โจ New features and improvements
- Due to a few Throwable constants, class references could leak in multi-classloader environments. This is now avoided by skipping the filling of the stacktrace (#1872)
- โ Add BufferUntilChanged operator (#1706, bb5b2bb)
- โ Added new StepVerifier API to subscribe to source and verify it later (#1848, b2ce5fe)
๐ฑ ๐ Bug fixes
- (from 3.2:)
- ๐
Flux#flatMap
with scalar source now supports onErrorContinue (#1684) Flux#doAfterTerminate
now executed whenonError
in fused mode (#1836, #1835)- Explicitly catch
LinkageError
in Traces. This helps with some static analyzers (#1830) - ๐ Pass on
cancelSupport
when liftingConnectableFlux
(#1860)
๐ ๐ Documentation, Tests and Build
- [doc] Add limitRate marble diagrams (#1449)
- ๐ [build] Polish benchmarks build, remove jmh plugin (#1844, 1ba4944)
- โ๏ธ [doc] Fix several typos in javadocs (#1845)
- ๐ [build] Make it possible to run two JMH tasks - baseline and current (#1862)
- ๐ [polish] Fix MaterializeSubscriber toString, AbstractQueue's won't work (df34ad9)
- โก๏ธ [chores] Update BlockHound to RC1 (#1877)
- (from 3.2:)
- ๐ [github] Removed
CONTRIBUTING.md
and issue_template in favor of centralized ones (740c048) - ๐ [build] Use JCenter, not MavenCentral for doDownloadBaseline (aa08709, d4f5332)
- ๐ [doc] Remove double mention of subscribe in Flux README (#1861)
- 0๏ธโฃ [doc] Document that default initial delay for interval is the period (#1866)
๐ ๐ Thanks to the following contributors that also participated to this release
- A few Mono operators have slightly changed their behavior in regards to how when they propagate