Releases: smallrye/smallrye-reactive-messaging
Releases · smallrye/smallrye-reactive-messaging
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.KafkaConnector
updated 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.ContextDecorator
updated 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<?...
3.18.0
3.17.0
Changelog
- #1757 - Add the selector attribute to the AMQP connector (incoming)
- #1751 - Setting pre fetch count specifically for one RMQ channel
- #1748 - Add QOS support to RabbitMQ incoming connector
- #1747 - Fix RabbitMQ connector issues
- #1725 - Add some SSL configuration descriptions
- #1723 - Support mqtt special characters in topic
3.16.0
Changelog
- #1717 - Bump mockito-core from 4.5.0 to 4.5.1
- #1716 - Bump nexus-staging-maven-plugin from 1.6.12 to 1.6.13
- #1715 - Bump mockito-core from 4.4.0 to 4.5.0
- #1714 - Bump kotlin.version from 1.6.20 to 1.6.21
- #1713 - added new configuration attribute dead-letter-queue.producer-client-i…
- #1712 - DeadLetterQueue KafkaFailureHander - Set a custom client.id
- #1710 - Bump micrometer-core from 1.8.4 to 1.8.5
- #1709 - Bump vertx-stack-depchain from 4.2.6 to 4.2.7
- #1708 - Bump testcontainers.version from 1.17.0 to 1.17.1
- #1707 - Bump testcontainers.version from 1.16.3 to 1.17.0
- #1706 - Make number of RabbitMQ connections configurable per queue
- #1705 - Bump junit-pioneer from 1.6.2 to 1.7.0
- #1703 - Bump opentelemetry-semconv from 1.12.0-alpha to 1.13.0-alpha
- #1702 - Bump opentelemetry.version from 1.12.0 to 1.13.0
- #1698 - Bump smallrye-config from 2.9.2 to 2.10.0
- #1693 - Bump kotlin.version from 1.6.10 to 1.6.20
- #1692 - Bump smallrye-fault-tolerance from 5.3.2 to 5.4.0
- #1684 - Bump smallrye-common.version from 1.10.0 to 1.11.0
- #1682 - Bump smallrye-health from 3.2.0 to 3.2.1
- #1680 - Kafka Transactional emitter and exactly-once procesing
- #1677 - Add the 'merge' attribute to the producer configuration cleaner config
- #1676 - Fix DLQ producer client id
- #1675 - Bump micrometer-core from 1.8.3 to 1.8.4
- #1674 - Bump smallrye-config from 2.9.1 to 2.9.2
- #1672 - Bump vertx-stack-depchain from 4.2.5 to 4.2.6
- #1671 - Kafka error when consuming from multiple partitions with DLQ strategy
- #1670 - Fix typo in the kafka receiving-kafka-records doc
- #1668 - If on startup we do not get credits, make sure we enqueue a credit retrieval task.
- #1667 - Make incoming message content_type overridable
- #1666 - Bump maven-dependency-plugin from 3.2.0 to 3.3.0
- #1665 - Bump junit-pioneer from 1.6.1 to 1.6.2
- #1663 - Bump maven-compiler-plugin from 3.10.0 to 3.10.1
- #1656 - Fix duration unit mismatch with RabbitMQ reconnect interval
- #1642 - smallrye-rabbitmq: Unclear error message on IncomingRabbitMQMessage.getPayload()
- #1570 - Syncs RabbitMQ incoming/outgoing metadata & message