Releases: smallrye/smallrye-reactive-messaging
Releases · smallrye/smallrye-reactive-messaging
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.KafkaConnector
updated 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.InMemoryConnector
has 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.InMemoryExceptions
has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryclass io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryExceptions_$bundle
has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryLogging
has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryclass io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryLogging_$logger
has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryinterface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryMessages
has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memoryclass io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryMessages_$bundle
has 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...
4.2.0.RC1
4.2.0
Jakarta release on top of 3.23.0
3.23.0.RC1
Flow release on 3.23.0 - #1896
3.23.0
Changelog
- #2060 - Configure missing tracing attributes for kafka, amqp rabbitmq.
- #2059 - Kafka ProducerInterceptor Bean
- #2057 - RabbitMQ graceful shutdown of clients on application termination
- #2052 - HealtCheck on MQTT Connector
- #2040 - Update OpenTelemetry dependencies
- #2034 - Set metrics name for Vertx based clients on mqtt rabbitmq and amqp
- #2012 - Bump artemis.version from 2.27.0 to 2.27.1
- #1678 - Use OpenTelemetry Instrumenter
Breaking Changes
class io.smallrye.reactive.messaging.kafka.commit.KafkaCheckpointCommit.CheckpointState<T>
updated toclass io.smallrye.reactive.messaging.kafka.commit.KafkaCheckpointCommit.CheckpointState<T>
: New checkpointing APImethod void io.smallrye.reactive.messaging.kafka.impl.KafkaRecordHelper::createOutgoingTrace(org.eclipse.microprofile.reactive.messaging.Message<?>, java.lang.String, java.lang.Integer, org.apache.kafka.common.header.Headers)
has been removed: Tracing methods moved to separate otel modulemethod java.util.Set<java.lang.String> io.smallrye.reactive.messaging.kafka.impl.KafkaSource<K, V>::getSubscribedTopics()
has been removed: Removed unused methodclass io.smallrye.reactive.messaging.kafka.tracing.HeaderExtractAdapter
has been removed: Replaced by otel instrumentation apiclass io.smallrye.reactive.messaging.kafka.tracing.HeaderInjectAdapter
has been removed: Replaced by otel instrumentation apiclass io.smallrye.reactive.messaging.kafka.KafkaConnector
updated toclass io.smallrye.reactive.messaging.kafka.KafkaConnector
: Added interceptor-bean to connector attributesmethod void io.smallrye.reactive.messaging.kafka.impl.KafkaSink::<init>(io.smallrye.reactive.messaging.kafka.KafkaConnectorOutgoingConfiguration, io.smallrye.reactive.messaging.kafka.KafkaCDIEvents, javax.enterprise.inject.Instance<io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<?>>)
updated tomethod void io.smallrye.reactive.messaging.kafka.impl.KafkaSink::<init>(io.smallrye.reactive.messaging.kafka.KafkaConnectorOutgoingConfiguration, io.smallrye.reactive.messaging.kafka.KafkaCDIEvents, javax.enterprise.inject.Instance<io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<?>>, javax.enterprise.inject.Instance<org.apache.kafka.clients.producer.ProducerInterceptor<?, ?>>)
: Added ProducerInterceptor instances to constructormethod void io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaProducer<K, V>::<init>(io.smallrye.reactive.messaging.kafka.KafkaConnectorOutgoingConfiguration, javax.enterprise.inject.Instance<io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<?>>, java.util.function.Consumer<java.lang.Throwable>, java.util.function.BiConsumer<org.apache.kafka.clients.producer.Producer<?, ?>, java.util.Map<java.lang.String, java.lang.Object>>)
updated tomethod void io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaProducer<K, V>::<init>(io.smallrye.reactive.messaging.kafka.KafkaConnectorOutgoingConfiguration, javax.enterprise.inject.Instance<io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<?>>, javax.enterprise.inject.Instance<org.apache.kafka.clients.producer.ProducerInterceptor<?, ?>>, java.util.function.Consumer<java.lang.Throwable>, java.util.function.BiConsumer<org.apache.kafka.clients.producer.Producer<?, ?>, java.util.Map<java.lang.String, java.lang.Object>>)
: Added ProducerInterceptor instances to constructormethod void io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaProducer<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.lang.String, int, boolean, io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<K>, io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<V>, java.util.function.BiConsumer<org.apache.kafka.clients.producer.Producer<?, ?>, java.util.Map<java.lang.String, java.lang.Object>>)
updated tomethod void io.smallrye.reactive.messaging.kafka.impl.ReactiveKafkaProducer<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.lang.String, int, boolean, org.apache.kafka.clients.producer.ProducerInterceptor<K, V>, io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<K>, io.smallrye.reactive.messaging.kafka.SerializationFailureHandler<V>, java.util.function.BiConsumer<org.apache.kafka.clients.producer.Producer<?, ?>, java.util.Map<java.lang.String, java.lang.Object>>)
: Added ProducerInterceptor instances to constructormethod void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging::interceptorCloseError(java.lang.String, java.lang.Throwable)
has been introduced: Added ProducerInterceptor error logsmethod void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging::interceptorOnAcknowledgeError(java.lang.String, java.lang.Throwable)
has been introduced: Added ProducerInterceptor error logsmethod void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging::interceptorOnSendError(java.lang.String, java.lang.Throwable)
has been introduced: Added ProducerInterceptor error logsmethod void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging_$logger::interceptorCloseError(java.lang.String, java.lang.Throwable)
has been introduced: Added ProducerInterceptor error logsmethod void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging_$logger::interceptorOnAcknowledgeError(java.lang.String, java.lang.Throwable)
has been introduced: Added ProducerInterceptor error logsmethod void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging_$logger::interceptorOnSendError(java.lang.String, java.lang.Throwable)
has been introduced: Added ProducerInterceptor error logs
3.22.1.RC1
Flow release on 3.22.1 - #1896
4.1.1
Jakarta release on top of 3.22.1
3.22.1
Changelog
Breaking Changes
method org.eclipse.microprofile.reactive.streams.operators.PublisherBuilder<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.KafkaConnector::getPublisherBuilder(org.eclipse.microprofile.config.Config)
has been removed: KafkaConnector moved to InboundConnector APImethod org.eclipse.microprofile.reactive.streams.operators.SubscriberBuilder<? extends org.eclipse.microprofile.reactive.messaging.Message<?>, java.lang.Void> io.smallrye.reactive.messaging.kafka.KafkaConnector::getSubscriberBuilder(org.eclipse.microprofile.config.Config)
has been removed: KafkaConnector moved to OutboundConnector API