Releases: smallrye/smallrye-mutiny
Releases · smallrye/smallrye-mutiny
0.13.0
Changelog
- #443 - Fix Uni subscription when interceptors are present
- #442 - Iteration optimisations regarding Infrastructure's interceptors
- #441 - Another RevAPI update
- #440 - Maven POM descriptors cosmetics
- #435 - Update RevAPI
- #428 - Bump revapi versions
- #423 - remove subscribeOn and configure revapi properly
- #422 - Uni repeat operators do not handle predicate exceptions properly
- #421 - Provide Uni implementation to avoid abusing from the emitter
- #419 - Kotlin module
- #418 - Handle late registration of onTermination callback
- #417 - Uni/Multi
onTermination
behaviour on late arrival - #416 - Add multi.collect().where(...) and multi.collect().when(...).
- #414 - Add helpers.{spies,test} and subscription packages in the module-info.java
- #413 - Rename collectItems() and groupItems() into collect() and group()
- #412 - Improve test utilities
- #411 - module-info missing export for io.smallrye.mutiny.subscription?
- #410 - Fix UniCreate.deferred Javadoc
- #407 - Fix typo in documentation
- #403 - Mutiny integration with Kotlin Coroutines
- #396 - Multi select / skip group
- #384 - Introduce more Uni builders
- #377 - Internal optimisations
Breaking Changes
Change | New API | Justification |
---|---|---|
method AssertSubscriber<T>::<init>(Subscriber<T>) updated |
method void AssertSubscriber<T>::<init>() |
Provide a new test API |
method AssertSubscriber<T>::<init>(Subscriber<T>, long, boolean) has been removed. |
Provide a new test API | |
method AssertSubscriber<T> AssertSubscriber<T>::create(Subscriber<T>) has been removed. |
Provide a new test API | |
method AssertSubscriber<T> AssertSubscriber<T>::create(Subscriber<T>) has been removed. |
Provide the new test API, spy support has been removed, extend the class if needed. | |
class MultiSelect<T> has been introduced. |
Addition of the new select group to Multi. If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
|
class MultiSkip<T> has been introduced. |
Addition of the new skip group to Multi. If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
|
method MultiCollect<T> Multi<T>::collect() has been introduced. |
Replace the collectItems group. If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
|
method MultiGroup<T> Multi<T>::group() has been introduced. |
Replace the groupItems group. If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
|
method MultiSelect<T> Multi<T>::select() has been introduced. |
New select group, replace multi.transform().first/test/filter . If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
|
method MultiSkip<T> Multi<T>::skip() has been introduced. |
||
New skip group, replace multi.transform().skipX(...) . If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
||
method Multi<T> Multi<T>::toHotStream() has been introduced. |
New method to create a hot stream, replace multi.transform().toHotStream() . If you are impacted by such a change, we recommend extending AbstractMulti instead of implementing Multi directly. |
|
method Multi<T> Multi<T>::subscribeOn(Executor) has been removed. |
runSubscriptionOn(...) |
Remove the deprecated subscribeOn method, use runSubscriptionOn instead. |
method Uni<T> Uni<T>::subscribeOn(Executor) has been removed. |
runSubscriptionOn(...) |
Remove the deprecated subscribeOn method, use runSubscriptionOn instead. |
0.12.5
Changelog
- #402 - Fix the website deployment
- #401 - Upgrade the website version on release
- #400 - Write a getting started guide about events, invoke and call
- #399 - Website/docs - add a guide that explains the difference between "invoke" and "call"
- #398 - Clarify and verify the semantic of the combination, merge and concatenation of none or one upstream.
- #397 - Multi.createBy() and single upstream
- #391 - Bump smallrye-parent from 23 to 25
- #390 - Mention Red Hat sponsoring and privacy policy
- #389 - Fix the site CI
- #387 - New web site
- #386 - Fix potential deadlock in the SwitchableSubscriptionSubscriber
- #385 - Specialised Uni from item builders
- #382 - Remove UniSerializedSubscriber isCancelledOrDone
- #381 - Bump smallrye-config from 1.9.3 to 1.10.0
- #379 - Refactor to UniSubscriber
- #378 - Do not trigger onCancellation() when the stream has already completed
- #376 - Fix documentation typos
- #375 - Uni.combine().all().unis(Collections.emptyList()).combinedWith(list -> null)
- #374 - Optimize MultiFilterOp on the hot path
- #373 - Allow Multi creation from publishers that are assumed to be TCK-compliant
- #372 - HalfSerializer onNext(): simplify the entry condition
- #371 - SafeSubscriber: move the upstream subscription to a regular field
- #370 - Clarify what happens when the supplier is null
- #369 - UniCreate.item(Supplier) javadoc wrong statement
- #357 - Various cleanups
- #356 - Initial configuration of revapi to detect API incompatibility.
- #145 - New documentation
Breaking Changes
method <T> io.smallrye.mutiny.helpers.Subscriptions.SingleItemSubscription<T> io.smallrye.mutiny.helpers.Subscriptions::single(org.reactivestreams.Subscriber<T>, T)
updated tomethod <T> org.reactivestreams.Subscription io.smallrye.mutiny.helpers.Subscriptions::single(org.reactivestreams.Subscriber<T>, T)
: SingleItemSubscription should not be exposed, and should be used as a regular Subscriptionparameter void io.smallrye.mutiny.helpers.spies.UniGlobalSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniGlobalSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.helpers.spies.UniOnCancellationSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniOnCancellationSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.helpers.spies.UniOnFailureSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniOnFailureSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.helpers.spies.UniOnItemOrFailureSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniOnItemOrFailureSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.helpers.spies.UniOnItemSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniOnItemSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.helpers.spies.UniOnSubscribeSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniOnSubscribeSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.helpers.spies.UniOnTerminationSpy<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.helpers.spies.UniOnTerminationSpy<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public APIparameter void io.smallrye.mutiny.operators.AbstractUni<T>::subscribing(===io.smallrye.mutiny.operators.UniSerializedSubscriber<? super T>===)
updated toparameter void io.smallrye.mutiny.operators.AbstractUni<T>::subscribing(===io.smallrye.mutiny.subscription.UniSubscriber<? super T>===)
: subscribing(subscriber) is a protected method that is not used by regular consumers of the Mutiny public API
0.12.2
Changelog
0.12.1
Changelog
0.12.0
Changelog
0.11.0
Major changes
Complete changelog
- #355 - Generator-based Multi builder
- #353 - Fix mistake in JavaDocs of ExecutorConfiguration
- #352 - Move test subscribers to the public API
- #351 - Implement batching with maximumDelay
- #349 - onOverflow invoke / call
- #348 - Fix potential invalid request (0) in the SkipOperator
- #347 - Missing invoke and call methods in the
onOverflow()
group
0.10.1
0.10.0
Major changes
Complete changelog
- #337 - Avoid requesting individual items if the first request in requesting Long.MAX
- #336 - Pluggable ThreadContext from the context propagation interceptors
- #334 - Bump mockito-core from 3.5.13 to 3.5.15
- #333 - Bump smallrye-config from 1.9.1 to 1.9.2
- #330 - Homogenise method names in the AssertSubscriber and the UniAssertSubscriber
- #329 - Fix a race condition between onSubscribe / cancel / on{Item,Failure}
- #327 - Add tests verifying the correctness of inner merge and concat when the emission are done on different threads
- #325 - Missing upstream cancellation on back pressure failure
- #324 - Uni.replaceWithNull and UniOnFailure.recoverWithNull
- #323 - Add support for onItem().failWith
- #318 - overload transform / transformToUni / transformToMulti
- #317 - recoverWithNull() and replaceWithNull()
- #313 - Memoization group
- #312 - Alternative design for UniCache
- #231 - Provide the possibility to invalidate a cached Uni
0.9.0
Major changes
Complete changelog
- #316 - Mark spies as an experimental API
- #315 - Synchronize the ConnectableProcessor onComplete and onError to avoid race condition on state
- #314 - Do not create Exception on the hot path as stack trace collection is very expensive
- #311 - New Uni.replaceWith shortcuts
- #310 - Make item collection optional in MultiOnItemSpy
- #306 - Spies
- #304 - Support for custom Uni/Multi operators
- #303 - Deprecate MultiOnEvent and UniOnEvent
- #302 - UniRetry and MultiRetry now tests the predicate from onFailure()
- #301 - UniRetry and MultiRetry with Backoff and Predicate testing.
- #290 - Uni.replace()
- #286 - Deprecate MultiOnEvent and UniOnEvent