Skip to content

Releases: smallrye/smallrye-reactive-messaging

3.24.0

14 Mar 08:00
a06fcde
Compare
Choose a tag to compare

Changelog

  • #2114 - Use legacy maven wagon transport instead of native http 3.x
  • #2109 - Upgrade to OTel 1.23
  • #2091 - Remove Message payload null check (3.x)

4.4.0

28 Feb 21:11
c0e9754
Compare
Choose a tag to compare

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 to class io.smallrye.reactive.messaging.kafka.KafkaConnector: Added delayed-retry-topic to connector attributes

4.3.0

07 Feb 15:19
f002c16
Compare
Choose a tag to compare

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 to method 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.Flow
  • method org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.KafkaConnector::getSubscriber(org.eclipse.microprofile.config.Config) updated to method 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.Flow
  • method org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.kafka.impl.KafkaSink::getSink() updated to method 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.Flow
  • class io.smallrye.reactive.messaging.providers.connectors.InMemoryConnector has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • interface io.smallrye.reactive.messaging.providers.connectors.InMemorySink<T> has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • interface io.smallrye.reactive.messaging.providers.connectors.InMemorySource<T> has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • interface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryExceptions has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • class io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryExceptions_$bundle has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • interface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryLogging has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • class io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryLogging_$logger has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • interface io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryMessages has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • class io.smallrye.reactive.messaging.providers.connectors.i18n.InMemoryMessages_$bundle has been removed: Split package resolution: moved to package io.smallrye.reactive.messaging.memory
  • method <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 interface
  • method <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 interface
  • method <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 interface
  • method java.util.List<org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> io.smallrye.reactive.messaging.ChannelRegistry::getPublishers(java.lang.String) updated to method 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.Flow
  • method java.util.List<org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> io.smallrye.reactive.messaging.ChannelRegistry::getSubscribers(java.lang.String) updated to method 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.Flow
  • parameter 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 to parameter 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.Flow
  • method 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 to method 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.Flow
  • parameter 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 to parameter 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.Flow
  • method 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 to method 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.Flow
  • method org.reactivestreams.Publisher<org.eclipse.microprofile.reactive.messaging.Message<? extends T>> io.smallrye.reactive.messaging.MessagePublisherProvider<T>::getPublisher() updated to method 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.Flow
  • method org.reactivestreams.Publisher<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.connector.InboundConnector::getPublisher(org.eclipse.microprofile.config.Config) updated to method 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.Flow
  • method org.reactivestreams.Subscriber<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.connector.OutboundConnector::getSubscriber(org.eclipse.microprofile.config.Config) updated to method 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...
Read more

4.2.0.RC1

01 Feb 13:25
5a8cf04
Compare
Choose a tag to compare

Flow release on 4.2.0 - #1896

4.2.0

01 Feb 10:10
92bac93
Compare
Choose a tag to compare

Jakarta release on top of 3.23.0

3.23.0.RC1

01 Feb 10:14
1980f1f
Compare
Choose a tag to compare
3.23.0.RC1 Pre-release
Pre-release

Flow release on 3.23.0 - #1896

3.23.0

31 Jan 17:11
0d84c1d
Compare
Choose a tag to compare

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 to class io.smallrye.reactive.messaging.kafka.commit.KafkaCheckpointCommit.CheckpointState<T>: New checkpointing API
  • method 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 module
  • method java.util.Set<java.lang.String> io.smallrye.reactive.messaging.kafka.impl.KafkaSource<K, V>::getSubscribedTopics() has been removed: Removed unused method
  • class io.smallrye.reactive.messaging.kafka.tracing.HeaderExtractAdapter has been removed: Replaced by otel instrumentation api
  • class io.smallrye.reactive.messaging.kafka.tracing.HeaderInjectAdapter has been removed: Replaced by otel instrumentation api
  • class io.smallrye.reactive.messaging.kafka.KafkaConnector updated to class io.smallrye.reactive.messaging.kafka.KafkaConnector: Added interceptor-bean to connector attributes
  • method 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 to method 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 constructor
  • method 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 to method 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 constructor
  • method 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 to method 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 constructor
  • method void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging::interceptorCloseError(java.lang.String, java.lang.Throwable) has been introduced: Added ProducerInterceptor error logs
  • method void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging::interceptorOnAcknowledgeError(java.lang.String, java.lang.Throwable) has been introduced: Added ProducerInterceptor error logs
  • method void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging::interceptorOnSendError(java.lang.String, java.lang.Throwable) has been introduced: Added ProducerInterceptor error logs
  • method void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging_$logger::interceptorCloseError(java.lang.String, java.lang.Throwable) has been introduced: Added ProducerInterceptor error logs
  • method void io.smallrye.reactive.messaging.kafka.i18n.KafkaLogging_$logger::interceptorOnAcknowledgeError(java.lang.String, java.lang.Throwable) has been introduced: Added ProducerInterceptor error logs
  • method 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

15 Dec 18:51
f599110
Compare
Choose a tag to compare
3.22.1.RC1 Pre-release
Pre-release

Flow release on 3.22.1 - #1896

4.1.1

14 Dec 18:25
3056b9f
Compare
Choose a tag to compare

Jakarta release on top of 3.22.1

3.22.1

14 Dec 12:33
d95f5c2
Compare
Choose a tag to compare

Changelog

  • #2025 - Fix flaky Kafka tests
  • #2007 - Restore context decorator

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 API
  • method 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