Releases: reactor/reactor-addons
Reactor Addons v3.1.0.RC2
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
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'sMonoFromFluxOperator
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
Reactor Addons v3.1.0.M3
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
.
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
Reactor Addons v3.1.0.M2
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
fromreactor-adapter
artifact toreactor-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
Reactor Addons v3.1.0.M1
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 viaVirtualTimeScheduler.create
, once injected into the core, would only influence thetimer()
Scheduler, whereas one created viacreateForAll()
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 byStepVerifier
are now replacing all Schedulers factory methods (#88, #95).
- In
🪲 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
Reactor Addons v3.0.7.RELEASE
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
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 byStepVerifier
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 acreate
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 ofcreate
in 3.1.0 though...
- Use
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
🪲 Bug fixes
StepVerifier
'sVirtualTimeScheduler
activates for all by default, now that in
core anyScheduler
can be used for time scheduling (eg. some forms ofdelay
useSchedulers.parallel()
) (#88)
📖 Documentation, Tests and Build
- Cleanup of deprecated method usage in tests
Reactor Addons v3.0.5.RELEASE
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
newgetOrSet
name.
✨ New features and improvements
- The
StepVerifier
can be configured further than the vts supplier and initial request
by using theStepVerifierOptions
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 theStepVerifierOptions
(#53, #76) - Instead of
verify
, one can now useverifyThenAssertThat
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
) duringStepVerifier
verification,
an AssertionError is thrown, now with the full exception as suppressed instead of just thetoString()
. - The
TestPublisher
has been augmented with a new possible violationCLEANUP_ON_TERMINATE
that allow several terminations in a row (cancel, complete, error, emit) (#68) TestPublisher
can now work with aConditionalSubscriber
downstream (#73)- Added a
consumeSubscriptionWith
expectation toStepVerifier
VirtualTimeScheduler
can now be enabled on the factory via eitherset
(always activate the given vts) orgetOrSet
(activate if another one that matches
the enabledForAll flag isn't already in place, or return the matching one).
Also added aisFactoryEnabled
method to check if aVirtualTimeScheduler
is
currently used by theSchedulers
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
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
andexpectNextSequence
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
- they would previously take into account elements already asserted by previous expect methods,
- in case of an unexpected onError, the error is added to the StepVerifier AssertionError as suppressed (#55)
- any
AssertionError
is thrown as is byverify()
- any
New features and improvements
- Added a
thenConsumeWhile
method toStepVerifier
which allows to skip elements
while they pass a predicate - One can now give a name to a
StepVerifier
step usingas(...)
after it - One can
log()
some internal behavior of theStepVerifier
(eg. it will dump
the steps descriptions, log which items are consumed bythenConsumeWhile
, 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
andverifyError
methods to perform the
final step expectation and theverify
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
Violation
s (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
andexpectFusion
perform the correctrequestFusion
checks rather than relying oninstanceof 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
- 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
- Safe and fluent verification of Reactive Streams sources provided by
- 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