Releases: smallrye/smallrye-mutiny
Releases · smallrye/smallrye-mutiny
1.8.0
Changelog
- #1111 - Bump reactor-core from 3.4.24 to 3.5.0
- #1104 - #1103 Refactor Multi.toFlow() to avoid blocking - Mutiny1
- #1102 - Bump smallrye-build-parent from 36 to 37
- #1097 - Update the Reactive Streams Operators 3.x implementation (jakarta)
- #1095 - Bump smallrye-build-parent from 36 to 37
- #1090 - Bump mockito-core from 4.8.0 to 4.8.1
- #1081 - Hidden Subscription checkcast scalability issue (Fixes #1080)
- #1063 - Bump kotlin.version from 1.7.10 to 1.7.20
- #1043 - Bump mockito-core from 4.7.0 to 4.8.0
- #1033 - Bump smallrye-build-parent from 35 to 36
- #1030 - Implementation of MicroProfile Reactive Streams Operators 3.x
- #1028 - Various 1.x branch upgrades
2.0.0-milestone2
Changelog
- #1048 - Bump logback-classic from 1.4.0 to 1.4.1
- #1047 - Bump reactor-core from 3.4.22 to 3.4.23
- #1042 - Bump mockito-core from 4.7.0 to 4.8.0
- #1037 - Bump versions-maven-plugin from 2.11.0 to 2.12.0
- #1032 - Bump smallrye-build-parent from 35 to 36
- #1031 - Run the Reactive Streams Operators TCK again
- #1024 - Bump logback-classic from 1.2.11 to 1.4.0
- #999 - Bump junit.version from 5.8.2 to 5.9.0
- #997 - ConcatMap operator without prefetch
Breaking Changes
Change | New API | Justification |
---|---|---|
.+org\.reactivestreams\..+ updated to .+java\.util\.concurrent\.Flow\..+ |
.+java.util.concurrent.Flow..+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
1.7.0
2.0.0-milestone1
Changelog
- #993 - Allow for pre-releases deployment
- #992 - Bump kotlinx-coroutines-core from 1.6.3 to 1.6.4
- #990 - Migrate to Java Flow APIs to replace the legacy Reactive Streams API
- #989 - Bump dokka-maven-plugin from 1.7.0 to 1.7.10
- #988 - Bump reactor-core from 3.4.19 to 3.4.21
- #987 - Migrate to Java Flow APIs to replace the legacy Reactive Streams API
- #985 - Should we keep mutiny-reactive-streams-operators in this repo?
- #984 - Misc cleanups
- #983 - Bump kotlin.version from 1.7.0 to 1.7.10
- #982 - Enable parallel tests for the math module
- #981 - Removal of the reactive-streams-junit5-tck module
- #980 - Migration of the documentation and website to MkDocs
- #979 - Drop Sonar
- #978 - Drop Sonar integration
- #976 - Combined upgrades of RevAPI 0.27.0
- #975 - Remove unused outer queue in flatmap subscriber
- #970 - Bump testng from 7.6.0 to 7.6.1
- #968 - Bump smallrye-common-annotation from 1.12.0 to 1.13.0
- #967 - Bump jandex-maven-plugin from 1.2.2 to 1.2.3
- #965 - Bump testng-engine from 1.0.2 to 1.0.4
- #960 - Bump kotlinx-coroutines-core from 1.6.2 to 1.6.3
- #958 - Bump dokka-maven-plugin from 1.6.21 to 1.7.0
- #956 - Add missing decoration of Callable
- #955 - Avoid wrapping scheduled executors
- #953 - Bump reactor-core from 3.4.18 to 3.4.19
- #951 - Bump kotlin.version from 1.6.21 to 1.7.0
- #950 - Bump version.surefire.plugin from 3.0.0-M6 to 3.0.0-M7
- #948 - Bump mockito-core from 4.6.0 to 4.6.1
- #946 - Remove unused dependencies / plugins
- #944 - Remove RxJava 2 support
- #942 - Reconsider and possibly remove reactive-streams-junit5-tck
- #941 - Bump rxjava from 3.1.4 to 3.1.5
- #940 - Bump assertj-core from 3.23.0 to 3.23.1
- #939 - Bump assertj-core from 3.22.0 to 3.23.0
- #937 - Bump mockito-core from 4.5.1 to 4.6.0
- #932 - Disable website deployment on 0.x / 1.x tags
- #931 - Upgrade to a Java 11 baseline
- #930 - CI configuration for 2.0 / 1.x branches
- #929 - Drop RxJava 2 support in 2.0
- #928 - Bump versions-maven-plugin from 2.10.0 to 2.11.0
- #923 - Bump testng from 7.5 to 7.6.0
- #868 - Move the website to MkDocs and adopt the Diátaxis Framework
- #848 - Remove Java 8 from GitHub Actions workflows
- #847 - Integrate module-info.java to the main source tree and remove moditect
- #846 - Upgrade compilers to Java 11
- #839 - Use Java 11 as a baseline
Breaking Changes
Change | New API | Justification |
---|---|---|
.+org\.reactivestreams\..+ updated to .+java\.util\.concurrent\.Flow\..+ |
.+java.util.concurrent.Flow..+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
.+ updated to .+ |
.+ | Migration from the legacy Reactive Streams APIs to the Java Flow APIs |
1.6.0
1.5.0
Changelog
- #924 - Upgrade to smallrye-common-annotation 1.12.0 with correct module info
- #920 - Remove some lambda expressions
- #912 - Bump reactor-core from 3.4.17 to 3.4.18
- #910 - Bump testng-engine from 1.0.1 to 1.0.2
- #908 - Allow to set timeout in UniCreate.future
- #907 - Add a link to the public API / Javadocs
- #906 - Update shortcuts.adoc to show the parenthesis of the uni.eventually shortcut
- #905 - Context passing guide- Context.of not existing
- #904 - Bump dokka-maven-plugin from 1.6.20 to 1.6.21
- #903 - Bump mockito-core from 4.4.0 to 4.5.1
- #902 - Bump nexus-staging-maven-plugin from 1.6.12 to 1.6.13
- #895 - Upgrade to Smallrye Commons Annotations with JPMS module descriptor
- #894 - Bump kotlinx-coroutines-core from 1.6.0 to 1.6.1
- #893 - Bump version.surefire.plugin from 3.0.0-M5 to 3.0.0-M6
- #892 - Bump kotlin.version from 1.6.10 to 1.6.20
- #890 - Use Maven 3.8.5
- #887 - Fix the capping operators outstanding demand management
- #886 - New demand capping operator shall accumulate demand and not just cap it
- #884 - Promote spies to a stable API
- #883 - Move io.smallrye.mutiny.operators.multi.processors to the public API
- #882 - Document the Git commit requirements
- #881 - BroadcastProcessor package is not exported
- #880 - Conflict resolution when collecting into a Map
- #879 - Misc fixes to .build/BlameAPI.java
- #878 - Promote spies as a stable API
- #877 - New experimental demand capping operators
- #876 - Add the missing CheckReturnValue annotations to the Multi replay operator API
- #875 - New Multi demand pacing operator
- #874 - MultiReplay misses
@CheckReturnValue
annotations - #873 - Demand caping operator
- #872 - Demand pacing operator
- #871 - Bump reactor-core from 3.4.15 to 3.4.16
- #870 - Bump versions-maven-plugin from 2.9.0 to 2.10.0
- #869 - Bump maven-dependency-plugin from 3.2.0 to 3.3.0
- #867 - Document creating Multis from a generator
- #866 - Mention Multi.createFrom().generator() in creating-multis doc
Breaking Changes
Change | New API | Justification |
---|---|---|
method <T> Multi<T> MultiReplay::ofMulti(Multi<T>) updated to method <T> Multi<T> MultiReplay::ofMulti(Multi<T>) |
method Multi MultiReplay::ofMulti(Multi) | Not breaking. The annotation was missing and has now be added. |
method <T> Multi<T> MultiReplay::ofSeedAndMulti(Iterable<T>, Multi<T>) updated to method <T> Multi<T> MultiReplay::ofSeedAndMulti(Iterable<T>, Multi<T>) |
method Multi MultiReplay::ofSeedAndMulti(Iterable, Multi) | Not breaking. The annotation was missing and has now be added. |
method MultiReplay MultiReplay::upTo(long) updated to method MultiReplay MultiReplay::upTo(long) |
method MultiReplay MultiReplay::upTo(long) | Not breaking. The annotation was missing and has now be added. |
method MultiDemandPacing<T> Multi<T>::paceDemand() has been introduced |
method MultiDemandPacing Multi::paceDemand() | New Multi paceDemand experimental operator |
method Multi<T> Multi<T>::capDemandsUsing(LongFunction<Long>) has been introduced |
method Multi Multi::capDemandsUsing(LongFunction) | New Multi capDemandsUsing experimental operator |
interface Spy updated to interface Spy |
interface Spy | Not breaking. Experimental promotion. |
1.4.0
Changelog
- #863 - Avoid overflow when using ChronoUnit.FOREVER with the memoize operator
- #862 - Long overflow when using memoize() with ChronoUnit.FOREVER.getDuration()
- #861 - Add the ability not to clear certain versions
- #859 - Multi replay operator (experimental API)
- #856 - Bump logback-classic from 1.2.10 to 1.2.11
- #855 - Bump awaitility from 4.1.1 to 4.2.0
- #854 - Run tests in random order
- #851 - Bump nexus-staging-maven-plugin from 1.6.11 to 1.6.12
- #849 - Bump smallrye-build-parent from 34 to 35
- #844 - Bump nexus-staging-maven-plugin from 1.6.10 to 1.6.11
- #842 - Bump nexus-staging-maven-plugin from 1.6.8 to 1.6.10
- #841 - Limit the javadocs to the public API
- #840 - Limit javadocs to the public API
- #837 - Bump smallrye-common-annotation from 1.8.0 to 1.9.0
- #836 - JPMS open modules do not export packages
- #835 - Issue with the new mutiny module-info.java (1.3.1)
- #831 - Avoid
Uni.join().first(unis).toTerminate()
with a concurrency limit - #830 - Uni.join().first(unis).toTerminate() must not support concurrency limit
- #829 - Limit concurrency in Uni.combine().all()
- #825 - Limit Uni.join().{all,first}() concurrency
- #824 - Fix a Kotlin test timing issue due to slow starting coroutines
- #822 - Bump versions-maven-plugin from 2.8.1 to 2.9.0
- #819 - Reduce MutinySchedulerTest flakiness in CI
- #816 - MultiAsFlowTest flaky test in CI
- #767 - Clearing RevAPI justifications and non-main release branches
- #699 - Uni.{join,combine} shall limit concurrency
- #536 - Add ability to replay last N items of a Multi on subscription, or emit something predefined if nothing has been emitted yet
- #158 - Improve combination/merging/concatenation API
1.3.1
Changelog
- #817 - MultiOnRetry is ignoring the onFailure predicate
- #815 - Fix RevAPI filtering new syntax
- #810 - Bump maven-jar-plugin from 3.2.1 to 3.2.2
- #809 - Limit workflow concurrency (main CI/CD + PR check workflows)
- #808 - Improve breaking changes presentation
- #806 - Bump maven-jar-plugin from 3.2.0 to 3.2.1
- #804 - Magic sauce to nicely format RevAPI changes in GitHub releases
Breaking Changes
Change | New API | Justification |
---|---|---|
method void MultiRetry<T>::<init>(Multi<T>, Predicate<? super Throwable>) updated to method void MultiRetry<T>::<init>(Multi<T>, Predicate<? super Throwable>, Predicate<? super Throwable>) |
method void MultiRetry::(Multi, Predicate<? super Throwable>, Predicate<? super Throwable>) | MultiRetry is an operator class (not user facing). The change adds support for the onFailure predicate |
1.3.0
Changelog
- #803 - Bring back the JUnit5 RS TCK shim
- #802 - Remove deprecated RevAPI configuration for filtering and reporting
- #799 - Bump testng from 7.4.0 to 7.5
- #798 - Uni memoization is not experimental anymore
- #797 - GitBlameDeprecated: refactor to a blame deprecated / experimental API tool
- #796 - Round of deprecation removals and misc cleanups ahead of 1.3.0
- #795 - 1.3.0 round of deprecation removals
- #794 - Profile to run the RS TCK TestNG tests in parallel
- #793 - Remove reactive-streams-junit5-tck and switch back to plain RS TestNG TCK
- #792 - Bump assertj-core from 3.21.0 to 3.22.0
- #791 - Bump dokka-maven-plugin from 1.6.0 to 1.6.10
- #790 - Update Coroutines to 1.6.0, Kotlin API to 1.5 and refactored tests
- #786 - Multi from repeating with delay causes Zombie Thread
- #782 - Extract TCK tests to a separate Maven module and remove reactive-streams-junit5-tck using a TestNG JUnit5 runner
- #781 - Properly propagate
Multi
cancellation toFlow
when usingFlow.asMulti
- #776 - Context support
- #774 - Reactivate dokka for all JDK versions
- #773 - Rework the module-info declarations to be fully open modules
- #772 - Update Kotlin and Dokka to 1.6.0
- #770 - Parallel tests execution
- #769 - Reduce tests flakiness, especially in CI / constrained environments
- #757 - Context support
- #755 - test(kotlin): create test to cancel deferred
- #739 - Export less packages in module-info or open them all
Breaking Changes
Change | New API | Justification |
---|---|---|
method void UniAwait<T>::<init>(Uni<T>) updated to method void UniAwait<T>::<init>(Uni<T>, Context) |
method void UniAwait::(Uni, Context) | Private API impacted by the new Mutiny context support |
method void UniAwaitOptional<T>::<init>(Uni<T>) updated to method void UniAwaitOptional<T>::<init>(Uni<T>, Context) |
method void UniAwaitOptional::(Uni, Context) | Private API impacted by the new Mutiny context support |
method void BlockingIterable<T>::<init>(org.reactivestreams.Publisher<? extends T>, int, Supplier<Queue<T>>) updated to method void BlockingIterable<T>::<init>(Multi<? extends T>, int, Supplier<Queue<T>>, Supplier<Context>) |
method void BlockingIterable::(Multi<? extends T>, int, Supplier<Queue>, Supplier) | Private API impacted by the new Mutiny context support |
method void UniCallbackSubscriber<T>::<init>(Consumer<? super T>, Consumer<? super Throwable>) updated to method void UniCallbackSubscriber<T>::<init>(Consumer<? super T>, Consumer<? super Throwable>, Context) |
method void UniCallbackSubscriber::(Consumer<? super T>, Consumer<? super Throwable>, Context) | Private API impacted by the new Mutiny context support |
method void subscription.Subscribers.CallbackBasedSubscriber<T>::<init>(Consumer<? super T>, Consumer<? super Throwable>, Runnable, Consumer<? super org.reactivestreams.Subscription>) updated to method void subscription.Subscribers.CallbackBasedSubscriber<T>::<init>(Context, Consumer<? super T>, Consumer<? super Throwable>, Runnable, Consumer<? super org.reactivestreams.Subscription>) |
method void subscription.Subscribers.CallbackBasedSubscriber::(Context, Consumer<? super T>, Consumer<? super Throwable>, Runnable, Consumer<? super org.reactivestreams.Subscription>) | Private API impacted by the new Mutiny context support |
method <T> subscription.CancellableSubscriber<T> subscription.Subscribers::from(Consumer<? super T>, Consumer<? super Throwable>, Runnable, Consumer<? super org.reactivestreams.Subscription>) updated to method <T> subscription.CancellableSubscriber<T> subscription.Subscribers::from(Context, Consumer<? super T>, Consumer<? super Throwable>, Runnable, Consumer<? super org.reactivestreams.Subscription>) |
method subscription.CancellableSubscriber subscription.Subscribers::from(Context, Consumer<? super T>, Consumer<? super Throwable>, Runnable, Consumer<? super org.reactivestreams.Subscription>) | Private API impacted by the new Mutiny context support |
method MultiCollect<T> Multi<T>::collectItems() has been removed |
Deprecated API removal (~1 year old) | |
method MultiGroup<T> Multi<T>::groupItems() has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> Multi<T>::transform() has been removed |
Deprecated API removal (~1 year old) | |
method Uni<T> Uni<T>::cache() has been removed |
Deprecated API removal (~1 year old) | |
method Multi<T> MultiOverflow<T>::drop(Consumer<T>) has been removed |
Deprecated API removal (~1 year old) | |
class MultiTransform<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiGlobalSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnCancellationSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnCompletionSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnFailureSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnItemSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnOverflowSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnRequestSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnSubscribeSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method MultiTransform<T> AbstractMulti<T>::transform() @ MultiOnTerminationSpy<T> has been removed |
Deprecated API removal (~1 year old) | |
method UniMemoize<T> Uni<T>::memoize() updated to method UniMemoize<T> Uni<T>::memoize() |
method UniMemoize Uni::memoize() | Experimental API has been promoted |
class UniMemoize<T> updated to class UniMemoize<T> |
class UniMemoize | Experimental API has been promoted |
1.2.0
Changelog
- #768 - Use a Maven wrapper
- #766 - Maven profile to skip running the Reactive Streams TCK tests
- #764 - Bump rxjava from 3.1.2 to 3.1.3
- #763 - Bump bnd-maven-plugin from 6.0.0 to 6.1.0
- #761 - Bump mockito-core from 4.0.0 to 4.1.0
- #759 - Fix and simplify Uni.join() parametric types
- #754 - Grouped dependencies updates
- #750 - Update documentation example
- #744 - Bump reactor-core from 3.4.11 to 3.4.12
- #741 - Random type fixes
- #740 - Check for emptiness when joining an empty set of Unis and extend Javadoc
- #738 - Uni join all empty list
- #737 - Add item timeouts to Multi
- #736 - Fix Issue #733: Not attaching to calling coroutine context anymore
- #734 - Kotlin-Module: Cancel Multi subscription in case of cancelled coroutine context
- #733 - Quarkus + Mutiny Kotlin - io.vertx.core.VertxException: Thread blocked
- #732 - Bump smallrye-build-parent from 31 to 32
- #731 - Fix javadoc of the deprecated MultiOverflow.drop(Consumer)
- #729 - CheckReturnValue annotation for static analysis tools
- #704 - Annotation CheckReturnValue for subscribe() and other builder-like methods
Breaking Changes
Change | New API | Justification |
---|---|---|
Addition of the CheckReturnValue annotation |
This annotation is used by static code analyzers to inform the user of a potential misusage of the API. | |
New ifNoItem group on Multi |
This group allows handling timeouts on Multi |
|
Change of parameter in UniJoin.Builder<T> |
UniJoin.Builder<T>::add(Uni<T>) |
Fix issues with parametric types in Uni.join() experimental APIs. The usage of UniJoin.Builder<T>::add(Uni<? extends T>) was erroneous |