v3.2.15.RELEASE
reactor-core 3.2.15.RELEASE
is part of Californium-SR16
Release Train.
⚠️ Update considerations and deprecations
- For users of
fromStream
andfromIterable
with custom non-Collection
Iterables
, see #2014 and #2021- the
iterator()
method is now invoked twice per wrapping of a givenIterable
(once through defaultspliterator()
to check the iterable is finite aka.hasCharacteristic(SIZED)
, once for the iteration itself)
- the
✨ New features and improvements
- Discard concatMapIterable/fromIterable's remainder on Cancel (#2014)
- the remainder of the internal
Iterator
is discarded when cancelled mid-iteration - we avoid the risk of iterating an infinite iterator by first checking if the
Iterable
is aCollection
or itsSpliterator
has theSIZED
characteristic. - the above check can result in at most 2 calls to
Iterable#iterator
for custom iterables
- the remainder of the internal
- [polish] Improve onDiscardMultiple/QueueWithClear resiliency (#2021)
🪲 Bug fixes
- Account for requests made to upstream in FluxBufferPredicate (#1937, #2029)
- collect() discards on consumer error when fused (#2042)
- Unconditionally dispose worker in MonoSubscribeOn#cancel (#2037)
- Pass on cancelSupport when lifting ConnectableLiftFuseable (#1860)
- FluxReplay source was not canceled with Hooks.onEachOperator() and a fuseable source
- Correctly count continued errors on flatmapped callable (#2011)
- Handle "empty
Callable
" inFlux#collectList
(#2023, #2024) - Fix fused last(T) not delivering defaultValue (#2020)