Releases: smallrye/smallrye-reactive-messaging
Releases · smallrye/smallrye-reactive-messaging
4.0.0
First Jakarta release. Main development is still on 3.x.
4.0.0.RC5
Jakarta release on top of 3.21.0
3.21.0
4.0.0.RC4
Jakarta release on top of 3.20.0
3.21.0.RC1
[RELEASE] - Bump version to 3.21.0.RC1
3.20.0
Changelog
- #1912 - Restore PublisherDecorator to the providers package.
- #1909 - Kafka client.id prefix attribute
- #1890 - Drop Java 8 support
Breaking Changes
class io.smallrye.reactive.messaging.kafka.KafkaConnectorupdated toclass io.smallrye.reactive.messaging.kafka.KafkaConnector: Added client-id-prefix to connector attributes
4.0.0.RC3
[RELEASE] - Bump version to 4.0.0.RC3
4.0.0.RC2
[RELEASE] - Bump version to 4.0.0.RC2
3.19.1
Changelog
3.19.0
Changelog
- #1880 - Emit message (n)acks on message context
- #1876 - Fix for context propagation issue
- #1875 - Minor improvements kafka tests
- #1874 - Improve the handling of AMQP Client Options customizers
- #1869 - MQTT support shared subscription feature
- #1868 - MQTT should support shared subscription feature
- #1859 - Fix #1858 - NPE from incoming null header
- #1858 - NPE when incoming (kafka) Header.value() is null
- #1856 - Decorator API for Publisher & Subscribers, Outgoing Message Interceptors
- #1853 - Update the Vert.x Mutiny bindings to version 2.26.0
- #1849 - Ignore null-values in headers
- #1844 - Kafka Companion: always pass the failure to the AssertionError
- #1838 - Kafka commit and failure SPI
- #1837 - Mutiny 1.7.0 with no prefetch concatmap
- #1822 - Kafka companion Improvements
- #1808 - Kafka consumer client per partition
- #1807 - MutinyEmitter Message methods
- #1806 - Convert IncomingRabbitMQMessage payload eagerly
- #1783 - Remove the dependency on the Vert.x Kafka Client
Breaking Changes
parameter void io.smallrye.reactive.messaging.providers.wiring.Wiring::prepare(boolean, io.smallrye.reactive.messaging.ChannelRegistry, ===java.util.List<io.smallrye.reactive.messaging.providers.extension.EmitterConfiguration>===, java.util.List<io.smallrye.reactive.messaging.providers.extension.ChannelConfiguration>, java.util.List<io.smallrye.reactive.messaging.MediatorConfiguration>)updated toparameter void io.smallrye.reactive.messaging.providers.wiring.Wiring::prepare(boolean, io.smallrye.reactive.messaging.ChannelRegistry, ===java.util.List<io.smallrye.reactive.messaging.EmitterConfiguration>===, java.util.List<io.smallrye.reactive.messaging.providers.extension.ChannelConfiguration>, java.util.List<io.smallrye.reactive.messaging.MediatorConfiguration>): EmitterConfiguration moved to api modulemethod io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.providers.locals.ContextDecorator::decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>, java.lang.String)updated tomethod io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.providers.locals.ContextDecorator::decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>, java.lang.String, boolean): PublisherDecorator adds 3rd parameter boolean isConnectorclass io.smallrye.reactive.messaging.providers.locals.ContextDecoratorupdated toclass io.smallrye.reactive.messaging.providers.locals.ContextDecorator: PublisherDecorator moved to api modulemethod void io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::<init>(org.apache.kafka.clients.consumer.ConsumerRecord<K, T>, java.lang.String, io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler, io.smallrye.reactive.messaging.kafka.fault.KafkaFailureHandler, boolean, boolean)updated tomethod void io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::<init>(org.apache.kafka.clients.consumer.ConsumerRecord<K, T>, java.lang.String, int, io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler, io.smallrye.reactive.messaging.kafka.fault.KafkaFailureHandler, boolean, boolean): Consumer index added to IncomingKafkaRecord constructormethod void io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::<init>(org.apache.kafka.clients.consumer.ConsumerRecords<K, T>, java.lang.String, io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler, io.smallrye.reactive.messaging.kafka.fault.KafkaFailureHandler, boolean, boolean)updated tomethod void io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::<init>(org.apache.kafka.clients.consumer.ConsumerRecords<K, T>, java.lang.String, int, io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler, io.smallrye.reactive.messaging.kafka.fault.KafkaFailureHandler, boolean, boolean): Consumer index added to IncomingKafkaRecordBatch constructormethod <K, V> java.util.List<io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>> io.smallrye.reactive.messaging.kafka.KafkaClientService::getConsumers(java.lang.String)has been introduced: Added getConsumers method which returns the list of consumers for a given channelmethod io.smallrye.mutiny.Uni<java.lang.Void> io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>::commitAsync(java.util.Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata>)has been introduced: Added to KafkaConsumer interfacemethod java.util.Map<java.lang.String, ?> io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>::configuration()has been introduced: Added to KafkaConsumer interfacemethod void io.smallrye.reactive.messaging.kafka.KafkaProducer<K, V>::close()has been introduced: Added to KafkaProducer interfacemethod java.util.Map<java.lang.String, ?> io.smallrye.reactive.messaging.kafka.KafkaProducer<K, V>::configuration()has been introduced: Added to KafkaProducer interfacemethod void io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::injectTracingMetadata(io.smallrye.reactive.messaging.TracingMetadata)has been removed: Method replaced by injectMetadata on IncomingKafkaRecordmethod <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.Map<org.apache.kafka.common.TopicPartition, java.lang.Long> io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder<K, V>::position()updated tomethod java.util.Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder<K, V>::position(): Returns OffsetMetadata instead of offsetparameter void io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, ===java.lang.Class<? extends org.apache.kafka.common.serialization.Serializer<?>>===, java.lang.Class<? extends org.apache.kafka.common.serialization.Serializer<?>>)updated toparameter void io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, ===java.lang.String===, java.lang.String): Serializer Class based constructor replaced with class nameparameter void io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, java.lang.Class<? extends org.apache.kafka.common.serialization.Serializer<?>>, ===java.lang.Class<? extends org.apache.kafka.common.serialization.Serializer<?>>===)updated toparameter void io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, java.lang.String, ===java.lang.String===): Serializer Class based constructor replaced with class nameparameter void io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, ===java.lang.Class<? extends org.apache.kafka.common.serialization.Deserializer<?>>===, java.lang.Class<? extends org.apache.kafka.common.serialization.Deserializer<?>>)updated toparameter void io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder<K, V>::<init>(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, ===java.lang.String===, java.lang.String): Deserializer Class based constructor replaced with class name- `parameter void io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder<K, V>::(java.util.Map<java.lang.String, java.lang.Object>, java.time.Duration, java.lang.Class<?...