Releases: smallrye/smallrye-mutiny
Releases · smallrye/smallrye-mutiny
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 |
1.1.2
Changelog
- #728 - Bump reactor-core from 3.4.10 to 3.4.11
- #727 - Bump rxjava from 3.1.1 to 3.1.2
- #726 - Make UniRetry & MultiRetry propagate the original Exception (#724)
- #725 - Use the SR-CP call that uses the context settings or MP-config settings
- #724 - JavaDoc for UniRetry#atMost and MultiRetry#atMost is wrong
- #723 - RevAPI upgrades
- #719 - Bump smallrye-common-annotation from 1.6.0 to 1.7.1
- #717 - Bump jandex-maven-plugin from 1.2.0 to 1.2.1
- #716 - Bump mockito-core from 3.12.4 to 4.0.0
1.1.1
1.1.0
Changelog
- #702 - Bump bnd-maven-plugin from 5.3.0 to 6.0.0
- #701 - Bump moditect-maven-plugin from 1.0.0.RC1 to 1.0.0.RC2
- #700 - Bump dokka-maven-plugin from 1.5.30 to 1.5.31
- #698 - Use the setup-java caching
- #695 - Use Eclipse Temurin + 8/11/17 matrix
- #694 - Bump junit.version from 5.8.0 to 5.8.1
- #691 - Fix UniToMultiPublisher race condition
- #690 - Reduce Multi allocations
- #689 - Multi.createBy().repeating() doesn't like flatMap
- #688 - Bump assertj-core from 3.20.2 to 3.21.0
- #687 - Bump kotlin.version from 1.5.30 to 1.5.31
- #684 - Bump dokka-maven-plugin from 1.5.0 to 1.5.30
- #683 - Bump reactor-core from 3.4.9 to 3.4.10
- #682 - Bump junit.version from 5.7.2 to 5.8.0
- #678 - Fix off-by-one retry count when using exponential backoff
- #677 - Combined Unis does not get canceled if one of them emits a failure
- #676 - Fix UniRepeat#until javadoc
- #675 - Wrong bootstrapping when retrying
- #674 - Bump smallrye-context-propagation from 1.2.1 to 1.2.2
- #673 - Use GH action caching
- #672 - Bump kotlinx-coroutines-core from 1.5.1 to 1.5.2
- #671 - Bump jandex-maven-plugin from 1.1.1 to 1.2.0
- #670 - Allow disabling all Callback decorators via environment properties
- #669 - Use atomic field updaters in selected Uni places
- #668 - Bump rxjava from 3.1.0 to 3.1.1
- #666 - Reduce AtomicReference allocations
- #665 - Bump smallrye-build-parent from 30 to 31
- #664 - Bump mockito-core from 3.12.3 to 3.12.4
- #654 - Implement converters for RX Java 3
- #653 - Support for RXJava3 Types
- #651 - Configure CI to test with Java 8, 11, 16, and 17-EA
- #645 - Bump smallrye-build-parent from 29 to 30
1.0.0
Changelog
- #643 - Harmonize POM name / description sections
- #642 - Bump logback-classic from 1.2.4-groovyless to 1.2.5
- #639 - Remove Java 15 from CI
- #638 - Bump smallrye-context-propagation from 1.2.0 to 1.2.1
- #637 - Bump logback-classic from 1.2.4 to 1.2.4-groovyless
- #636 - Documentation for Uni.map incorrect
- #635 - Use the thread-local ThreadContext in order to be able to define which contexts get propagated
- #634 - Fix documentation for Multi.map method
- #633 - Move dokka plugin to its own profile to be able to skip it
- #632 - Simplify Uni to Multi bridge (again)
- #631 - Simplify Uni to Multi bridge
- #628 - Bump logback-classic from 1.2.3 to 1.2.4
- #627 - Add failWith methods to UniOnNotNull
- #626 - Support contextual context propagation
- #625 - Bump revapi-java from 0.24.3 to 0.24.4
- #624 - New Feature: Fail when item is present
- #623 - Bump reactor-core from 3.4.7 to 3.4.8
- #622 - Bump kotlin.version from 1.5.20 to 1.5.21
- #621 - Bump addressable from 2.7.0 to 2.8.0 in /documentation/src/main/jekyll
- #618 - Bump kotlinx-coroutines-core from 1.5.0 to 1.5.1
- #613 - Bump testng from 6.14.3 to 7.4.0
- #569 - UniAndGroupIterable loses input types
- #567 - Update Kotlin and Coroutines to 1.5
Breaking Changes
class io.smallrye.mutiny.converters.uni.UniToMultiPublisher<T>
updated toclass io.smallrye.mutiny.converters.uni.UniToMultiPublisher<T>
: Internal API optimization