Releases: smallrye/smallrye-reactive-messaging
Releases · smallrye/smallrye-reactive-messaging
4.9.0
Changelog
- #2236 - Bump artemis.version from 2.29.0 to 2.30.0
- #2233 - Bump io.smallrye:smallrye-fault-tolerance from 6.2.4 to 6.2.6
- #2231 - Provide a utility method to coordinate (negative) acknowledgement when multiple messages are created from one
- #2230 - Bump com.opencsv:opencsv from 5.7.1 to 5.8
- #2229 - Bump kafka.version from 3.5.0 to 3.5.1
- #2227 - Bump to OTel 1.28
- #2226 - Bump smallrye-config from 3.3.1 to 3.3.2
- #2225 - Support blocking methods returning Uni and CompletionStage
- #2223 - Add beans.xml to the inmemory connector
- #2087 - Refactor RabbitMQ failure handler
4.8.0
Changelog
- #2219 - Blocking improvements max-concurrency
- #2217 - Pulsar continue failure strategy
- #2215 - Bump smallrye-config from 3.3.0 to 3.3.1
- #2214 - Bump kotlin.version from 1.8.22 to 1.9.0
- #2212 - Fix the synchronization protocol of the InternalChannelRegistry
- #2210 - Bump camel.version from 4.0.0-M3 to 4.0.0-RC1
- #2208 - Bump strimzi-test-container from 0.103.0 to 0.104.0
- #2204 - Bump smallrye-fault-tolerance from 6.2.3 to 6.2.4
3.25.0
4.7.0
Changelog
- #2203 - Implement post-processing acknowledgment support for methods receiving a single payload and producing streams stream of payloads (Multi, RS publisher, and publisher builder)
- #2201 - Bump artemis.version from 2.28.0 to 2.29.0
- #2199 - Force fetch SchemaInfo on Pulsar thread for AutoConsumeSchema
- #2195 - Pulsar transactions fix
- #2194 - Bump kafka.version from 3.4.1 to 3.5.0
- #2193 - Bump reactive-streams-tck from 1.0.3 to 1.0.4
- #2192 - Bump pulsar.version from 2.11.0 to 3.0.0
- #2189 - Messages utility and KeyMulti<K, Message> support
- #2188 - Bump weld.version from 5.1.0.Final to 5.1.1.Final
- #2187 - Bump auto-service from 1.1.0 to 1.1.1
- #2186 - Bump micrometer-core from 1.11.0 to 1.11.1
- #2185 - Bump smallrye-config from 3.2.1 to 3.3.0
- #2184 - RabbitMQ - Fix RabbitMQ consumer leak
- #2182 - [RabbitMQ] Add the possibility to configure DLQ DLX and TTL
- #2180 - Bump smallrye-health from 4.0.0 to 4.0.2
- #2179 - Bump commons-io from 2.12.0 to 2.13.0
- #2178 - Bump kotlin.version from 1.8.21 to 1.8.22
- #2177 - Refactor KeyedMultiInjectionTest
- #2176 - Bump kafka.version from 3.4.0 to 3.4.1
- #2173 - Doc - Update Python dependencies
- #2172 - Bump testcontainers.version from 1.18.2 to 1.18.3
- #2171 - Bump jackson.version from 2.15.1 to 2.15.2
- #2170 - Bump testcontainers.version from 1.18.1 to 1.18.2
- #2169 - Add a test reproducing quarkusio/quarkus#32462
- #2168 - Bump smallrye-fault-tolerance from 6.2.2 to 6.2.3
Breaking Changes
field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGE: New value for KeyedMulti with Messagesfield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONE: New value for KeyedMulti with Messagesfield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOADupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOAD: New value for KeyedMulti with Messages
4.6.0
Changelog
- #2161 - Implement KeyedMulti support
- #2148 - Remove jakarta migration files
- #2147 - Implement incoming metadata injection
- #2144 - RabbitMQ - Inject tracing in metadata
- #2142 - Mqtt Message Converters
- #2141 - Make Kafka Companion KafkaFuture/Uni wrapper repeatable
- #2137 - RabbitMQ - Add binding exchange and queue with arguments
Breaking Changes
field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGE: New consumption value to describe KeyedMulti injectionfield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONE: New consumption value to describe KeyedMulti injectionfield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOADupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOAD: New consumption value to describe KeyedMulti injectionmethod java.lang.reflect.Type io.smallrye.reactive.messaging.MediatorConfiguration::getKeyType()has been introduced: New method to extract the type of the key when using the KeyedMultimethod java.lang.Class<? extends io.smallrye.reactive.messaging.keyed.KeyValueExtractor> io.smallrye.reactive.messaging.MediatorConfiguration::getKeyed()has been introduced: New method to extract the extractor class name (@Keyed) when using the KeyedMultimethod java.lang.reflect.Type io.smallrye.reactive.messaging.MediatorConfiguration::getValueType()has been introduced: New method to extract the type of the value when using the KeyedMultimethod io.smallrye.reactive.messaging.MethodParameterDescriptor io.smallrye.reactive.messaging.MediatorConfiguration::getParameterDescriptor()has been introduced: Change how to retrieve parameter types to avoid using reflectionmethod java.lang.Class<?>[] io.smallrye.reactive.messaging.MediatorConfiguration::getParameterTypes()has been removed: Switched to a descriptor class
4.5.0
Changelog
- #2134 - Bump opentelemetry-instrumentation-bom-alpha from 1.24.0-alpha to 1.25.0-alpha
- #2119 - Support stream processors on kafka message converters
- #2118 - Bump opentelemetry-instrumentation-bom-alpha from 1.23.0-alpha to 1.24.0-alpha
- #2113 - Upgrade Camel to 4.0.0-M2
- #2106 - Decouple OpenTelemetry instrumenter
Breaking Changes
class io.smallrye.reactive.messaging.kafka.KafkaConnectorupdated toclass io.smallrye.reactive.messaging.kafka.KafkaConnector: Added delayed-retry-topic to connector attributesmethod io.smallrye.mutiny.Uni<java.util.Collection<org.apache.kafka.common.Node>> io.smallrye.reactive.messaging.kafka.KafkaAdmin::describeCluster()has been introduced: Options added to admin client methodsmethod io.smallrye.mutiny.Uni<java.util.Collection<org.apache.kafka.common.Node>> io.smallrye.reactive.messaging.kafka.KafkaAdmin::describeCluster(org.apache.kafka.clients.admin.DescribeClusterOptions)has been introduced: Options added to admin client methodsmethod io.smallrye.mutiny.Uni<java.util.Map<java.lang.String, org.apache.kafka.clients.admin.TopicDescription>> io.smallrye.reactive.messaging.kafka.KafkaAdmin::describeTopics(java.util.Collection<java.lang.String>)has been introduced: Options added to admin client methodsmethod io.smallrye.mutiny.Uni<java.util.Map<java.lang.String, org.apache.kafka.clients.admin.TopicDescription>> io.smallrye.reactive.messaging.kafka.KafkaAdmin::describeTopics(java.util.Collection<java.lang.String>, org.apache.kafka.clients.admin.DescribeTopicsOptions)has been introduced: Options added to admin client methodsmethod io.smallrye.mutiny.Uni<java.util.Set<java.lang.String>> io.smallrye.reactive.messaging.kafka.KafkaAdmin::listTopics(org.apache.kafka.clients.admin.ListTopicsOptions)has been introduced: Options added to admin client methodsmethod void io.smallrye.reactive.messaging.kafka.health.KafkaSourceHealth::<init>(io.smallrye.reactive.messaging.kafka.impl.KafkaSource<?, ?>, io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration, io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaConsumer<?, ?>)updated tomethod void io.smallrye.reactive.messaging.kafka.health.KafkaSourceHealth::<init>(io.smallrye.reactive.messaging.kafka.impl.KafkaSource<?, ?>, io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration, io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaConsumer<?, ?>, java.util.Set<java.lang.String>, java.util.regex.Pattern): Kafka Source Health checks for topic existence on startupclass io.smallrye.reactive.messaging.kafka.KafkaConnectorupdated toclass io.smallrye.reactive.messaging.kafka.KafkaConnector: Added health-topic-verification-startup-disabled and health-topic-verification-readiness-disabled flagsfield io.smallrye.reactive.messaging.kafka.companion.test.KafkaBrokerExtension.KAFKA_VERSIONupdated tofield io.smallrye.reactive.messaging.kafka.companion.test.KafkaBrokerExtension.KAFKA_VERSION: Kafka broker version used for tests from 3.1.0 to 3.3.2
3.24.0
4.4.0
Changelog
- #2099 - Bump smallrye-parent to 39
- #2095 - Kafka delayed retry topic failure strategy
- #2094 - Upgrade to OTel 1.23
- #2093 - Fix format for noSuchElementForAttribute error
- #2086 - RabbitMQ - Prefetch configuration not respected after connection restart #2084
- #2080 - Re-enable camel connector with jakarta namespace
- #2079 - Remove Message payload null check
Breaking Changes
class io.smallrye.reactive.messaging.kafka.KafkaConnectorupdated toclass io.smallrye.reactive.messaging.kafka.KafkaConnector: Added delayed-retry-topic to connector attributes
4.3.0
Changelog
- #2078 - Bump kafka.version from 3.3.2 to 3.4.0
- #2077 - Bump artemis.version from 2.20.0 to 2.28.0
- #2075 - Split package resolution for io.smallrye.reactive.messaging.providers.connectors
- #2073 - Merge Jakarta namespace migration to the main branch
- #1896 - Mutiny 2.0 with Flow support
Breaking Changes
method org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.KafkaConnector::getPublisher(org.eclipse.microprofile.config.Config)updated tomethod java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.KafkaConnector::getPublisher(org.eclipse.microprofile.config.Config): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.KafkaConnector::getSubscriber(org.eclipse.microprofile.config.Config)updated tomethod java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.KafkaConnector::getSubscriber(org.eclipse.microprofile.config.Config): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.impl.KafkaSink::getSink()updated tomethod java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.impl.KafkaSink::getSink(): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowclass io.smallrye.reactive.messaging.providers.connectors.InMemoryConnectorhas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.InMemorySink<T>has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.InMemorySource<T>has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryExceptionshas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryclass io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryExceptions_$bundlehas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryLogginghas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryclass io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryLogging_$loggerhas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryMessageshas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryclass io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryMessages_$bundlehas been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memorymethod <M extends org.eclipse.microprofile.reactive.messaging.Message<? extends T>> io.smallrye.mutiny.Uni<java.lang.Void> io.smallrye.reactive.messaging.MutinyEmitter<T>::sendMessage(M)has been introduced: Added to the MutinyEmitter interfacemethod <M extends org.eclipse.microprofile.reactive.messaging.Message<? extends T>> void io.smallrye.reactive.messaging.MutinyEmitter<T>::sendMessageAndAwait(M)has been introduced: Added to the MutinyEmitter interfacemethod <M extends org.eclipse.microprofile.reactive.messaging.Message<? extends T>> io.smallrye.mutiny.subscription.Cancellable io.smallrye.reactive.messaging.MutinyEmitter<T>::sendMessageAndForget(M)has been introduced: Added to the MutinyEmitter interfacemethod java.util.List<org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> io.smallrye.reactive.messaging.ChannelRegistry::getPublishers(java.lang.String)updated tomethod java.util.List<java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> io.smallrye.reactive.messaging.ChannelRegistry::getPublishers(java.lang.String): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod java.util.List<org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> io.smallrye.reactive.messaging.ChannelRegistry::getSubscribers(java.lang.String)updated tomethod java.util.List<java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> io.smallrye.reactive.messaging.ChannelRegistry::getSubscribers(java.lang.String): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowparameter org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, ===org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>===, boolean)updated toparameter java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, ===java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>===, boolean): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>, boolean)updated tomethod java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>, boolean): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowparameter org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, ===org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>===, boolean)updated toparameter java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, ===java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>===, boolean): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>, boolean)updated tomethod java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.ChannelRegistry::register(java.lang.String, java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>, boolean): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Publisher<org.eclipse.microprofile.reactive.messaging.Message<? extends T>> io.smallrye.reactive.messaging.MessagePublisherProvider<T>::getPublisher()updated tomethod java.util.concurrent.Flow.Publisher<org.eclipse.microprofile.reactive.messaging.Message<? extends T>> io.smallrye.reactive.messaging.MessagePublisherProvider<T>::getPublisher(): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.connector.InboundConnector::getPublisher(org.eclipse.microprofile.config.Config)updated tomethod java.util.concurrent.Flow.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.connector.InboundConnector::getPublisher(org.eclipse.microprofile.config.Config): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flowmethod org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.connector.OutboundConnector::getSubscriber(org.eclipse.microprofile.config.Config)updated tomethod java.util.concurrent.Flow.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.connector.OutboundConnector::getSubscriber(org.eclipse.microprofile.config.Config): Switch from the legacy Reactive Streams APIs to java.util.concurrent.Flow- `method boolean io.smallrye.reactive.messaging.MediatorConfiguration::usesReactiveStreams...