Skip to content

v3.2.15.RELEASE

Compare
Choose a tag to compare
@simonbasle simonbasle released this 24 Feb 13:00

reactor-core 3.2.15.RELEASE is part of Californium-SR16 Release Train.

⚠️ Update considerations and deprecations

  • For users of fromStream and fromIterable with custom non-Collection Iterables, see #2014 and #2021
    • the iterator() method is now invoked twice per wrapping of a given Iterable (once through default spliterator() to check the iterable is finite aka. hasCharacteristic(SIZED), once for the iteration itself)

✨ 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 a Collection or its Spliterator has the SIZED characteristic.
    • the above check can result in at most 2 calls to Iterable#iterator for custom iterables
  • [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" in Flux#collectList (#2023, #2024)
  • Fix fused last(T) not delivering defaultValue (#2020)

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

@btkelly, @robotmrv