Update dependency io.projectreactor:reactor-test to v3.5.0 #634
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.4.23
->3.5.0
Release Notes
reactor/reactor-core
v3.5.0
Reactor-Core 3.5.0 is part of 2022.0.0 Release Train.
This is the first GA release of 2022.0.0 🎉
This note focuses on 3.5.0 proper, curating changes from across all milestones and also includes changes already released as part of 3.4.x line up to 3.4.25.
While there are plenty of improvements and bug fixes, it's worth to highlight the bigger themes first:
Mono
stack is now more lazy and complies to the Reactive Streams specification by only evaluating the sourcePublisher
after receiving appropriate demand. Previously this usually happened during subscription time.ThreadLocal
contextual metadata. Reactor supports this bridging as soon as context-propagation library is present at runtime. Read more in the reference documentation.Please pay special attention to the following update considerations. More detailed listing of features, bug fixes, and improvements follow.
Mono.doOn
/AfterSuccessOrError
by @simonbasle in #2954doOn*
recommended alternatives includedoOnNext(Consumer)
,doOnError(Consumer)
,doOnTerminate(Runnable)
, anddoOnSuccess(Consumer)
,doAfter*
recommended alternatives aredoAfterTerminate(Runnable)
anddoFinally(Consumer)
.deferWithContext(Function)
-> usedeferContextual(Function)
instead,subscriberContext(Context)
andsubscriberContext(Function)
-> usewriteContext(ContextView)
andwriteContext(Function)
instead,Signal::getContext()
-> useSignal::getContextView()
instead,Context::putAll(Context)
-> useContext::putAll(ContextView)
instead.ElasticScheduler
by @simonbasle in #2955BoundedElasticScheduler
(Schedulers.boundedElastic()
) instead.reactor-core-micrometer
by @simonbasle in #3015reactor-core-micrometer
, and added operators and features supporting the newObservation
API of Micrometer 1.10.0, read more about it the release notes.reactor.util.Metrics
,Flux::metrics()
andMono::metrics()
operators have been deprecated.[Flux|Mono|Synchronous]Sink currentContext
by @simonbasle in #2974, #3021contextView()
should be used instead.Scheduler#init()
method should be used instead. Restart capability is discouraged and the new method is allowed to throw in case of initializing a disposed instance. Please create a newScheduler
instance when necessary.Scheduler
should also implement theinit()
method, which currently delegates tostart()
in the default implementation.Mono
sources and aggregators lazier by @OlegDokuka in #3081switchOnNext
/switchMap
default 0 prefetch by @simonbasle in #2956concatMap
default to 0 prefetch behavior by @simonbasle in #2967take(n)
now behaves astake(n,true)
/limitRequest
by @simonbasle in #2969SourceException
wrapper for main stream errors delivered to windows by @chemicL in #3167Scheduler.isDisposed()
only true for disposed instances by @chemicL in #3243Scannable.tags()
rework, addtagsDeduplicated()
by @simonbasle in #3037MonoSubscriber
by @UgiR in #3245✨ New features and improvements
Context propagation and bridging to
ThreadLocal
scontext-propagation-api
dependency +ReactorContextAccessor
by @simonbasle in #3098, #3107, #3256ContextPropagation
runtime util +captureContext
operator by @simonbasle in #3145handle
/tap
implicitThreadLocal
restoration ifContextCapture
by @simonbasle in #3180forEach
method toContextView
and subclasses by @chemicL in #3092Context::forEach
by @chemicL in #3101Context::putAllMap
by @chemicL in #3102Observability and logging
reactor-core-micrometer
by @simonbasle in #3015StateLogger
for structured logging of state machines by @OlegDokuka in #3077Observation
names and tag keys by @simonbasle in #3110Micrometer#observation()
: avoids scopes, set parentObservation by @simonbasle in #3119Exceptions.throwIf[Jvm]Fatal
, addisFatal
methods by @simonbasle in #3122TimedScheduler
toreactor-core-micrometer
module by @simonbasle in #3109Operators and relevant machinery
Flux.mergePriority
, does not wait for all sources to emit by @osi in #3267windowTimeout
withfairBackpressure
by @OlegDokuka in #3054Flux.replay(int)
andFlux.cache(int)
by @chemicL in #3200disposeGracefully
method toScheduler
by @chemicL in #3089Scheduler
initialization by @chemicL in #3248Scheduler#disposeGracefully
threads by @simonbasle in #3259Schedulers.onHandleError
by @simonbasle in #3039whenComplete
by @He-Pin in #3221FluxZip
/MonoZip
by @OlegDokuka in #3209map
function in NPE msg by @ismailalammar in #2984reactor-test module
StepVerifier
option to useConditionalSubscriber
by @simonbasle in #3035VirtualTimeScheduler
by @mdindoffer in #3097StepVerifier
evaluates signal that exitsthenConsumeWhile
by @simonbasle in #3203LoggerUtils
support and addTestLoggerExtension
by @simonbasle in #3123🐞 Bug fixes
FluxReplay
buffer retaining/leaking with tiny TTL by @simonbasle in #2998SinkOneMulticast
by @simonbasle in #3002Many
sink /EmitterProcessor
subscriber disposal leak by @simonbasle in #3029doOnEach
ASYNC fusion triggeringonNext
signal twice by @simonbasle in #3045MonoCollect[List]
by @simonbasle in #3053onLastAssembly
does not break fusion chain by @OlegDokuka in #3156Loggers.useConsoleLoggers()
thread safety by @alexismanin in #3174BoundedElasticScheduler
rejects task by @Fearsin in #3183WorkerTask#dispose
by @nathankooij in #3213tryEmitXXX
call by @OlegDokuka in #3260FluxTakeUntilOther
by @simonbasle in #3270FluxTakeUntilOther
by @haraldpusch in #3219fromFuture
source cancellation by @OlegDokuka in #3252📖 Documentation, Tests and Build
windowTimeout
stress test to use sinks by @OlegDokuka in #3074BoundedElasticTest
with better controlled tasks by @simonbasle in #2968Schedulers
javadoc for common/cached instances by @dedeibel in #2995BoundedElasticScheduler
toString
test by @simonbasle in #3010context-propagation-api
dependency optional + documentation by @simonbasle in #3100ContextN.putAll(Map)
intended internal use in javadoc by @chemicL in #3103Exceptions#bubble(Throwable)
by @chemicL in #3160EmitFailureHandle#busyLooping
by @He-Pin in #3224FluxPublishOnTest
by @simonbasle in #3241MonoSubscriber
comments by @UgiR in #3261EmitFailureHandler.busyLooping
in refguide by @ivyazmitinov in #3271Mono
fromFuture
/fromCompletionStage
javadocs by @simonbasle in #3272reactor-core-micrometer
module compilation errors by @simonbasle in #3132BoundedElasticScheduler
test by @simonbasle in #3142🆙 Dependency Upgrades
New Contributors
Full Changelog: reactor/reactor-core@v3.4.16...v3.5.0
v3.4.24
What's Changed
✨ New features and improvements
Flux.replay(int)
andFlux.cache(int)
by @chemicL in #3200StepVerifier
evaluates signal that exitsthenConsumeWhile
by @simonbasle in #3203FluxTakeUntilOther
by @haraldpusch in #3219CompletionStage#handle
instead ofwhenComplete
by @He-Pin in #3221🐞 Bug fixes
BoundedElasticScheduler
rejects task by @Fearsin in #3183WorkerTask#dispose
by @nathankooij in #3213📖 Documentation, Tests and Build
EmitFailureHandle#busyLooping
by @He-Pin in #3224🆙 Dependency Upgrades
New Contributors
Full Changelog: reactor/reactor-core@v3.4.23...v3.4.24
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.