Skip to content

Releases: reactor/reactor-addons

Reactor Addons v3.1.0.RC2

23 Oct 10:28
Compare
Choose a tag to compare
Pre-release

This is the second RELEASE CANDIDATE of Reactor-Addons 3.1.0.

Compared to the previous pre-release, RC1, this release is just a version bump.

Reactor Addons v3.1.0.RC1

23 Oct 10:27
Compare
Choose a tag to compare
Pre-release

This is the first RELEASE CANDIDATE of Reactor-Addons 3.1.0.

Compared to the previous pre-release, M3, this version contains only minor improvements as well as one new feature:

✨ New features and improvements

  • Tuple Decomposition Utilities (#115)
  • Removed toString of MathFlux's MonoFromFluxOperator in favor of new core's default (cec07e0)
  • Align SwingScheduler with rejection handling internal changes in core (98d45b9, 30efe6f)
  • Update to Reactive Streams 1.0.1 (875c862)

📖 Documentation, Tests and Build

  • A short first draft for a reference documentation of reactor-extra (#117)

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

@nebhale

Reactor Addons v3.1.0.M3

24 Jul 12:42
Compare
Choose a tag to compare
Pre-release

This is the MILESTONE 3 release of upcoming Reactor-Addons 3.1.0, which will be part of Bismuth Release Train.

It only contains adaptation to API changes in reactor-core M3 and a new Scheduler.

⚠️ Note that reactor-test artifact has moved from this repository to the reactor-core repository, and its groupId is now io.projectreactor.

✨ New features

  • Added a scheduler based on fork join pool (#113)

👍 Thanks to the following contributors that participated to this release

@osi

Reactor Addons v3.1.0.M2

24 Jul 12:45
Compare
Choose a tag to compare
Pre-release

This is the MILESTONE 2 release of upcoming Reactor-Addons 3.1.0, which will be part of Bismuth Release Train.

It mainly contains adaptation to API changes in reactor-core M2 and a few new features and improvements.

⚠️ Update considerations

  • Moved SwingScheduler from reactor-adapter artifact to reactor-extra (#109)

✨ New features

  • Upgrade to RxJava 2.1, fix flowable conversions (#111)
  • Added a scheduler based on fork join pool (#113)
  • Overload Step#expectNext for up to 6 parameters
  • Added retry utils for commonly used retry/repeat patterns (#107)

👍 Thanks to the following contributors that participated to this release

@akarnokd, @jakekdodd, @osi, @rajinisivaram

Reactor Addons v3.1.0.M1

28 Apr 15:47
Compare
Choose a tag to compare
Pre-release

This is the MILESTONE 1 release of upcoming Reactor-Addons 3.1.0, which will be part of Bismuth Release Train.

Building up on preparation made in latest 3.0.x releases, this milestone includes a few breaking API changes and behavior changes.

⚠️ Update considerations and deprecations

  • The concept of "enabling a VirtualTimeScheduler for all types of schedulers" is now gone.
    • In 3.0.x, a VTS created via VirtualTimeScheduler.create, once injected into the core, would only influence the timer() Scheduler, whereas one created via createForAll() would replace all of core's default Schedulers.
    • Now there is only a single create() method. The produced VTS, once injected into core, will replace all of core's default Schedulers (#95)
    • As a consequence, VirtualTimeScheduler created by StepVerifier are now replacing all Schedulers factory methods (#88, #95).

🪲 Bug fixes

  • StepVerifier.expectNextSequence(xxx) now correctly fails when the iterable is valued but the tested flux is empty (#98)

📖 Documentation, Tests and Build

  • Javadoc is now generated in UTF-8 html
  • StepVerifier javadoc has been rewritten and improved (#97)

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

@rajinisivaram, @lebannen

Reactor Addons v3.0.7.RELEASE

27 Apr 08:10
Compare
Choose a tag to compare

This is the 6th release of Reactor-Addons 3.0, part of Aluminium-SR3 Release Train.

This release doesn't contain anything new for addons, but is performed to keep the artifacts version in sync with the latest core.

Reactor Addons v3.0.6.RELEASE

04 Apr 10:50
Compare
Choose a tag to compare

This is the 6th release of Reactor-Addons 3.0, part of Aluminium-SR2 Release Train.

This is a recommended update for all Reactor 3 users.

⚠️ Update considerations and deprecations

  • VirtualTimeScheduler created by StepVerifier are now activated for all Schedulers
    factory methods (#88).
  • The concept of "enabling a VirtualTimeScheduler for all types of schedulers" is
    now deprecated. In 3.1.0 there will only be a create method, but its behavior
    will change to making the VTS used by all factories (#95)
    • Use createForAll if you want to get up to date with the future behavior
      and make adjustments. This method will disappear in favor of create in 3.1.0 though...

We try to keep track of deprecated APIs marked for deletion in 3.1.0 in issue #79. Removing
usage of these deprecated APIs now by following the guidelines provided in javadoc will
significantly reduce the burden of upgrading to 3.1.

✨ New features and improvements

  • New reactor-extra addon, starting out with support for math operations (#83, #93)

🪲 Bug fixes

  • StepVerifier's VirtualTimeScheduler activates for all by default, now that in
    core any Scheduler can be used for time scheduling (eg. some forms of delay
    use Schedulers.parallel()) (#88)

📖 Documentation, Tests and Build

  • Cleanup of deprecated method usage in tests

Reactor Addons v3.0.5.RELEASE

10 Feb 16:06
Compare
Choose a tag to compare

This is the 5th release of Reactor-Addons 3.0, part of Aluminium-SR1 Release Train.

This is a recommended update for all Reactor 3 users.

⚠️ Update considerations and deprecations

  • VirtualTimeScheduler#enable methods will be removed in 3.1.0 in favor of the
    new getOrSet name.

✨ New features and improvements

  • The StepVerifier can be configured further than the vts supplier and initial request
    by using the StepVerifierOptions builder instead as parameter (#76)
  • StepVerifier now estimates the expected amount for each expectation step and checks
    it against the requested amount so far in the scenario. This verification can be relaxed
    through the StepVerifierOptions (#53, #76)
  • Instead of verify, one can now use verifyThenAssertThat and get methods to
    assert the state post-completion. Notably, it captures data sent to hooks (#74)
  • If there is an exception (not an AssertionError) during StepVerifier verification,
    an AssertionError is thrown, now with the full exception as suppressed instead of just the toString().
  • The TestPublisher has been augmented with a new possible violation CLEANUP_ON_TERMINATE
    that allow several terminations in a row (cancel, complete, error, emit) (#68)
  • TestPublisher can now work with a ConditionalSubscriber downstream (#73)
  • Added a consumeSubscriptionWith expectation to StepVerifier
  • VirtualTimeScheduler can now be enabled on the factory via either set
    (always activate the given vts) or getOrSet (activate if another one that matches
    the enabledForAll flag isn't already in place, or return the matching one).
    Also added a isFactoryEnabled method to check if a VirtualTimeScheduler is
    currently used by the Schedulers factory (#70)

🪲 Bug fixes

  • When using virtual time, StepVerifier now always uses the provided VTS and then disable it (#70)
    • Previously VTS from other tests could be picked up and never disabled
  • Improved support for async fusion in StepVerifier (#71)
  • Some exceptions would be recursively suppressed.

📖 Documentation, Tests and Build

  • Fixed missing deprecated annotations and javadoc links.
  • Exclude snapshot and mavenLocal on release builds.

Reactor Addons v3.0.4.RELEASE

04 Jan 10:58
Compare
Choose a tag to compare

This is the 4th release of Reactor-Addons 3.0. This is a recommended update for all Reactor 3 users.

Update considerations and deprecations

  • The argument order for StepVerifier's create method has been harmonized (prefetch at the end) (#38)
    • old overloads are deprecated and will be removed in 3.1.0
  • expectNextCount and expectNextSequence now behave like independent steps (#52)
    • they would previously take into account elements already asserted by previous expect methods,
      but now only deal with the remaining elements
  • in case of an unexpected onError, the error is added to the StepVerifier AssertionError as suppressed (#55)
    • any AssertionError is thrown as is by verify()

New features and improvements

  • Added a thenConsumeWhile method to StepVerifier which allows to skip elements
    while they pass a predicate
  • One can now give a name to a StepVerifier step using as(...) after it
  • One can log() some internal behavior of the StepVerifier (eg. it will dump
    the steps descriptions, log which items are consumed by thenConsumeWhile, etc...)
  • in StepVerifier, the requested amount is checked against the produced amount
    in order to verify that no request overflow happens (#37, #59)
  • Added convenience verifyComplete and verifyError methods to perform the
    final step expectation and the verify in one swoop (#43)
  • Added an alias for consumeNextWith, assertNext, for better API
    discoverability when seeking to use an assertion library (#28)
  • Made the stacktrace more relevant in case of an unexpected onError by putting
    the incriminating error as a suppressed exception of the assertion (#55)
  • Introduce TestPublisher, a publisher that you can manipulate to manually
    perform onNext/onComplete/onError, emit several items and complete, etc...
    It is also capable of bypassing some reactive stream rules by activating
    Violations (like allowing null onNext, allowing request overflow) (#46)

Bug fixes

  • Fix missing format argument for one of StepVerifier's failure message
  • Avoid StepVerifier cancel if signal is complete/error (#39)
  • expectNoFusion and expectFusion perform the correct requestFusion
    checks rather than relying on instanceof Fuseable, and the internal mode
    comparison has also been fixed (#57, #58)

Various changes

  • unit test improvements: use AssertJ, make more detailed assertions (esp on exceptions) (#28)

Reactor Addons v3.0.3.RELEASE

04 Nov 17:12
Compare
Choose a tag to compare
  • Supported Reactor Core version : 3.0.3.RELEASE
  • New: Reactor Test
    • Safe and fluent verification of Reactive Streams sources provided by StepVerifier
    • Virtual Time support and auto-binding into Reactor Core Schedulers
  • New: Reactor Adapter
    • new RxJava2 (2.0.0) API interoperability
    • new RxJava2 Scheduler adapter
    • new Akka Actor Scheduler adapter
    • new Swing, SWT Scheduler adapter
  • Updated: Reactor Logback