reactor-core v3.3.5.RELEASE Release Notes
Release Date: 2020-04-27 // almost 4 years ago-
๐ reactor-core
3.3.5.RELEASE
is part ofDysprosium-SR7
Release Train.๐ It also contains all fixes from 3.2.17.RELEASE.
โก๏ธ โ ๏ธ Update considerations and deprecations
- A corner case of throwing from the
subscribe
method can lead to twoonSubscribe
signal if said exception is thrown after having sent theSubscription
(#2107, #2111, #2072) - Most well-formed subscribers will ignore this, but
StepVerifier
cannot, which can "hide" the true error - This potentially extra
Subscription
can be identified withOperators.canAppearAfterOnSubscribe(Subscription)
, which is used byStepVerifier
to ignore that particular extra subscription
๐ฑ โจ New features and improvements
- Unify error-handling in
subscribe
/subscribeOrReturn
mutualized implementation, preventStepVerifier
getting confused by a doubleonSubscribe
in that very specific case ((#2072, #2107, #2111) - ๐ [tools] Support build-time debug instrumentation (#2105)
- ๐ [tools] Support running reactor-tools as a "normal" Java Agent (#2104, #2098)
- From 3.2.17:
- Cover several cases of
onNext
vscancel
races that would bypass resource discarding (#2134, #2126, #2102, #2124, #2125, #2122, #2077, #2102) - Including backport and complement of fixes to UnicastProcessor (#2124, #2125, #980, #2126)
- Flux#from and Mono#flux consistently apply onAssembly hooks (#2055, #2067)
- Flux#from/wrap does not call Flux#onAssembly
- Flux#from and Mono#flux apply onAssembly hooks
- Cover several cases of
๐ฑ ๐ Bug fixes
- ๐ Fix DefaultStepVerifierBuilder#onSubscribe error format (#2106)
- From 3.2.17:
- Propagate rejection error from
MonoDelayElement#onNext
downstream
- Propagate rejection error from
๐ ๐ Documentation, Tests and Build
- โ
[test] Don't reuse same exception in
errorOnSubscribe
steps (#2112) - ๐ [doc] Polish doc of Iterable operators, clarify iterator() calls (#2135, #2014, #2127)
- โ
[test] Split
errorOnSubscribe
scenarios into separate tests (#2099) - ๐ [build] Follow-up to #2088 bump to Gradle 6.3 : 3.3 specifics (#2088, #2089)
- ๐ Polish docs, code compilation warnings, flakkt tests, etc... (#2087, #2084, #2084)
- โ
[test] Use JUnit Jupiter's
@TestFactory
inBaseOperatorTest
(#2085) - โ [test] Use JUnit Platform + Vintage engine (#2073)
- โ [test] Add a post-test listener that resets hooks consistently (#2082)
- from 3.2.17
- [test] Extract Tracked to MemoryUtils, add OffHeapDetector (#2125)
- [test] Provides tests suite to expose onDiscard leaks and fixes (#2125)
- Create CODEOWNERS (#2097)
- [build] Test with JDK 14, bump to Gradle 6.3 (#2088)
- [test] Remove testStaticInit task, verify in main test task (#2093)
- [Polish] Split bndoptions elements in array for clarity (#2091)
- [build] Simplify stubbing for Java 9+ (#2091)
- [build] Backport gradle/releaser.gradle to 3.2 (e4fe960)
๐ ๐ Thanks to the following contributors that also participated to this release
- A corner case of throwing from the