All Versions
33
Latest Version
Avg Release Cycle
37 days
Latest Release
1284 days ago

Changelog History
Page 3

  • v3.3.0.M2 Changes

    June 28, 2019

    🚀 Reactor-Core 3.3.0.M2 is part of Dysprosium-M2 Release Train.

    🛠 This second milestone of the 3.3.x cycle, containing bugfixes and improvements (including changes from the GA 3.2.10.RELEASE).

    ⚡️ ⚠️ Update considerations and deprecations

    • Exceptions are now unwrapped (Exceptions#unwrap) in most sources that immediately produce an error, acting like a Callable (b6f4d29)
    • 🚚 Moved reactor-tools sources into the core repository (#1731)

    🍱 ✨ New features and improvements

    • Avoid triggering Context lookups in error sources (4f2bc7a)
    • Extended blockHound whitelist
      • all ScheduledExecutor offer (95c0884)
      • DelayedWorkQueue#take (#1726)
    • ✂ Remove unnecessary volatile with UnicastProcessor fusion (c86db5a)
    • 👌 Improved cache eviction in ElasticScheduler (#1700)
    • (from 3.2:)
    • 👍 Allow to choose a Scheduler for retryBackoff (#1707)
    • ➕ Added Mono#onErrorStop() convenience API to align with Flux (#1728)
    • 🆕 New TestPublisher assertion method assertMaxRequested (#1732)
    • 👍 The new doFirst operator provides a clearer dual to doFinally, as a better alternative to common usage of doOnSubscribe (#1716)

    🍱 🐞 Bug fixes

    • Avoid unbounded Flux.replay request with bounded subscribers (#1185)
    • ✂ Removed "checkpoint" prefix in backtraces from return-only callsites (#1740)
    • (from 3.2:)
    • 🛠 Fixed checking of inner subscribers in FluxPublish#remove() (2ce7b75)
    • Flux.publish().autoConnect(0) now correctly drops early items (#1712)
    • 🛠 Fixed a memory barrier regression introduced in MonoSubscriber (#1719)

    📚 📖 Documentation, Tests and Build

    • 🛠 [doc] Fixed typo in refguide (advancedFeatures.adoc, 11bc552)
    • 🏗 [build] JMH benchmarks are now in a separate sub-project, forked scrabble benchmark there (8895e94)
    • 🏗 [build] Log console output in Gradle ONLY for failed tests on CI (fc74beb)
    • [doc] Added code fences in reference guide (#1737)
    • (from 3.2:)
    • 💅 Polished license spelling to "Apache License, Version 2.0" (d88eeda)
    • 🏗 [build] Dokka bumped to 0.9.18 (#1718)
    • [doc] Added marble diagram for Mono#doOnSuccessOrError (#1725)
    • 💅 [doc] Polish 'Suggest Edit' links and asciidoctor config (6bdbf8b)

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

    @akarnokd, @Buzzardo, @dittos, @don-vip, @zhouzhou19950825

  • v3.3.0.M1 Changes

    May 10, 2019

    🚀 Reactor-Core 3.3.0.M1 is part of Dysprosium-M1 Release Train.

    🛠 This first milestone of the 3.3.x cycle, containing bugfixes and improvements (including changes from the GA 3.2.9.RELEASE). It also contains two API deprecations (Kotlin extensions and WorkQueueProcessor/TopicProcessor).

    ⚡️ ⚠️ Update considerations and deprecations

    • 🗄 Kotlin extensions have been deprecated and copied to a new artifact (#1697)
      • This release train contains the new reactor-kotlin-extensions artifact, which will regroup all Kotlin extensions and future Kotlin-related work
    • 👀 WorkQueueProcessor and TopicProcessor have been deprecated, due to underlying use of Unsafe (see #1051, #1052)
      • Recommended core alternative is to combine EmitterProcessor and publishOn
      • The processors have however been copied over to reactor-extra for people that want to continue using them as-is

    🍱 ✨ New features and improvements

    • ✅ Compatibility with projects using the Java Module System (JPMS) has been improved by declaring an official Automatic-Module-Name (reactor.core and reactor.test, #1641, #1692)
    • The CorePublisher interface has been introduced to distinguish Publisher from reactor (#1527)
    • ➕ Add a simplified API for wrapping scheduled tasks (#1546)
    • ➕ Add an API-preserving hide() method to ConnectableFlux (#1577)
    • ✅ [reactor-test] Added hasDiscardedMatching method in StepVerifier (#1509)
    • ✅ [reactor-test] Add ToStringConverter and Extractor to StepVerifierOptions (#1558)
      • This allows to override the natural toString representation of classes that are known to have an obscure representation, as well as extracting such objects that would be nested in containers like a Collection, Tuple2, Signal, ...
    • Reworked the format of "backtraces" (#1672, #1702)
      • Backtraces are the additional callsite information captured by debug mode and checkpoint and appended to onError Throwable as a suppressed exception
    • Reactor now integrates into Blockhound 1.0.0.M3 using the SPI on reactor side instead of programmatic explicit registration on blockhound side (#1682, #1690)
    • (from 3.2:)
    • Multiple improvements around resource cleanup and discarding:
      • Buffering FluxSinks now discard on cancel vs next race (#1634)
      • Null out lastKey to avoid retaining in distinctUntilChanged (#1647)
      • Atomically update the state of MonoSubscriber to CANCELLED (f02d8b9)
      • Deal with onNext or onComplete vs cancel races in collectList (#1660)
      • Operators.onDiscardMultiple now avoids stream and potential NPE (cce04e7)
    • 🛠 Fix displaying of light checkpoints in backtraces (#1646)
    • ✂ Removed redundant volatiles in switchOnFirst (#1496)
    • ⏱ Set parallel and elastic Schedulers removeOnCancelPolicy to avoid task memory leak (#1674)

    🍱 🐞 Bug fixes

    • 🚦 [reactor-test] Prevent StepVerifier collect hang when consuming all signals (#1529)
    • Unwrap CompletionException in Mono#fromFuture (#1652)
    • 🛠 Fix MonoProcessor#block duration.zero change (c995c01)
    • (from 3.2:)
    • 🛠 Fixed a missing exit condition in Flux.publish drain loop with SYNC fusion (#1528)
    • 👀 ParallelFlux#doOnEach now sees the Context (#1656, #1657)
    • 🔧 onBackpressureBuffer could use a greater-than-configured maxSize (#1666)
    • 👻 Flux.generate would fail to propagates an exception in some fused scenarios (#1685)

    📚 📖 Documentation, Tests and Build

    • [doc] Document that BaseSubscriber instances can't be reused (#1490)
    • [doc] Small improvements in reference guide (#1594)
    • 🏗 [CI] Sanity check build on JDK12 on Travis (446ca1b)
    • [doc] Use the correct marble diagram for Mono#onErrorResume (#1679)
    • 💅 [build] Polish .gitignore to avoid too broad regex (92ae4e5)
    • (from 3.2:)
    • ✅ [test] Made small adjustments to a few flakky tests (#1643, 957060e, cd94cb9)
    • 🏗 [build] Make downloadBaseline faster by using compression + onlyIfNewer (c436cf0)
    • 🏗 [build] Skip downloadBaseline/japicmp in --offline mode (22691ef)

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

    @aftersss, @Buzzardo, @flambard, @mumukiller, @OlegDokuka, @pmackowski, @szpak

  • v3.2.22.RELEASE Changes

    December 08, 2020

    🚀 Reactor-Core 3.2.22.RELEASE is part of Californium-SR23 Release Train.

    🚀 This is the last release of Californium 👋

    🚀 This service release contains a bug fix, as well as some polishing changes.

    🍱 🐞 Bug fixes

    • 🛠 fix #2498 Exception thrown in Flux.handle causes hanging in fused case

    📚 📖 Documentation, Tests and Build

    • 🛠 fix #2482 Fix alignment of 1st onNext in flatMapSequential diagrams
    • 🛠 fix #2506/#2527 Switch to GitHub Actions for CI
    • 💅 Polish to the build wrt repositories order

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

    @koldat

  • v3.2.21.RELEASE Changes

    October 23, 2020

    🚀 Reactor-Core 3.2.21.RELEASE is part of Californium-SR22 Release Train.

    📚 This is a minor maintenance release polishing the build and documentation.

    📚 📖 Documentation, Tests and Build

    • 🛠 fix #2346 fix windowWithBoundary marble diagram
    • 🛠 fix #2344, #2436 migrate tests to junit 5
    • 🛠 fix #2439 correctly use testNG platform for testNG task
    • [doc] Fix List ref name in hybrid push/pull code

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

    @yosfik

  • v3.2.20.RELEASE Changes

    September 15, 2020

    🚀 Reactor-Core 3.2.20.RELEASE is part of Californium-SR21 Release Train.

    🛠 This is a maintenance release with a couple bugfixes, as well as build polish.

    🍱 🐞 Bug fixes

    • 🔀 #2318 Prevent FlatMapInner to request if fused in SYNC mode
    • #2362 Prevent ConcurrentModificationEx on bufferPredicate discard

    📚 📖 Documentation, Tests and Build

    • 💅 [build] Various polish of Gradle build (deprecation warnings #2274, wrapper validation #2348)
    • ✅ [test] #2343 migrate tests to JUnit 5
    • 🏗 [build] #2332 remove optional-dependency plugin from Gradle build
    • ✅ [reactor-test] Allow add/addAll in AssertQueueSubscription test util (46324db)

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

    @seants, @sullis

  • v3.2.19.RELEASE Changes

    July 20, 2020

    🚀 Reactor-Core 3.2.19.RELEASE is part of Californium-SR20 Release Train.

    🛠 This is a maintenance release with a couple bugfixes, as well as build polish.

    🍱 🐞 Bug fixes

    • 🛠 fix #2196: don't hang on repeatWhenEmpty + discard handler
    • 🛠 fix #2186 Align MonoCollect and MonoCollectList to avoid race condition leading to NullPointerException

    📚 📖 Documentation, Tests and Build

    • 💅 [polish] In README Gradle snippet, put maven central repo first (#2248)
    • [doc] fix #2212 Improve bufferTimeout() marble
    • 🔨 [build] fix #2251 refactor how micrometer integration is tested
    • 🏗 [build] Rework linking between check, japicmp and downloadBaseline tasks (#2226)
    • 🏗 [build] Bump Kotlin to 1.3.72 (#2247)
    • 💅 [build] Polish travis CI build to use external script for JDK downloads (#2255)
    • 🏗 [build] fix #2241 Get rid of overcomplicated travis-build.sh but show progress
    • 🏗 [build] fix #2262 Make the fact that optional are not in pom anymore explicit
    • 📇 [build] Fix input package rule for OSGi metadata generator (#2185)

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

    @arturdryomov, @gurkerl83, @rstoyanchev

  • v3.2.18.RELEASE Changes

    June 25, 2020

    🚀 Reactor-Core 3.2.18.RELEASE is part of Californium-SR19 Release Train.

    🍱 ✨ New features and improvements

    • EnsureDeferredSubscription makes requests serially if there is racing between set / requestN (according to RS spec Rule 2.7)(#2164)
    • Ensures next element is dropped if UnicastProcessor disposed to avoid racing between onNext and dispose (#2180)

    📚 📖 Documentation, Tests and Build

    • 📇 [publication] Publish Gradle metadata, without optional dependencies (#2151)
    • 🏗 [build] Consistently use tabs for gradle file indentation (#2157)
    • 🏗 [build] Backport last relevant build changes from 3.3 (#2156)

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

    @OlegDokuka

  • v3.2.15.RELEASE Changes

    February 24, 2020

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

    🍱 ✨ 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

  • v3.2.14.RELEASE

    January 13, 2020
  • v3.2.13.RELEASE Changes

    December 02, 2019

    🚀 Reactor-Core 3.2.13.RELEASE is part of Californium-SR14 Release Train.

    🍱 ✨ New features and improvements

    • #1916 Interpret MAX_VALUEms as indefinite caching in Mono#cache(Function, Function, Supplier) (backported)
    • #1746 Add VirtualTimeScheduler#getScheduledTaskCount() (backported)
    • #1968 Make Flux#publish() propagate 1st subscriber Context
    • #1953 Add Exceptions.isTraceback, and a mean to unwrap a composite without the tacebacks (Exceptions.unwrapMultipleExcludingTracebacks)

    🍱 🐞 Bug fixes

    • #1945 Avoid unnecessary wrapping of exceptions in scalar flatMap
    • #1959 GroupedFlux fused with parallel() not replenishing properly

    📚 📖 Documentation, Tests and Build

    • 🏗 [build] Switched to Gradle 5.6 (8e97f91)
    • 🏗 [build] Switched publication plugin to maven-publish and artifactory (#1943)
    • 🏗 [build] Fixed generation of refguide pdf when custom version is used (2c621b6)
    • 💅 [polish] Exceptions.multiple(Iterable) now produces a CompositeException, more test coverage of Exceptions util (#1954)

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

    @andreisilviudragnea, @akarnokd, @ttddyy