Skip to content

Releases: smallrye/smallrye-reactive-messaging

4.0.0.RC4

30 Sep 13:52
e26e2d8
Compare
Choose a tag to compare
4.0.0.RC4 Pre-release
Pre-release

Jakarta release on top of 3.20.0

3.21.0.RC1

30 Sep 15:40
504f9b8
Compare
Choose a tag to compare
3.21.0.RC1 Pre-release
Pre-release
[RELEASE] - Bump version to 3.21.0.RC1

3.20.0

26 Sep 11:44
c4b4788
Compare
Choose a tag to compare

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 to class io.smallrye.reactive.messaging.kafka.KafkaConnector: Added client-id-prefix to connector attributes

4.0.0.RC3

20 Sep 10:25
9b394c7
Compare
Choose a tag to compare
4.0.0.RC3 Pre-release
Pre-release
[RELEASE] - Bump version to 4.0.0.RC3

4.0.0.RC2

19 Sep 09:13
feb8477
Compare
Choose a tag to compare
4.0.0.RC2 Pre-release
Pre-release
[RELEASE] - Bump version to 4.0.0.RC2

3.19.1

19 Sep 09:32
6732f4e
Compare
Choose a tag to compare

Changelog

  • #1895 - Fix for possible request starvation for multiple partitions consumer
  • #1894 - Cancel the subscriber subscription when the application terminates
  • #1893 - Bump jackson-databind from 2.8.8 to 2.12.6.1 in /examples/rabbitmq-quickstart
  • #1889 - Add method as string to message processing exception

3.19.0

12 Sep 20:54
ae460a0
Compare
Choose a tag to compare

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 to parameter 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 module
  • method 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 to method 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 isConnector
  • class io.smallrye.reactive.messaging.providers.locals.ContextDecorator updated to class io.smallrye.reactive.messaging.providers.locals.ContextDecorator: PublisherDecorator moved to api module
  • method 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 to method 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 constructor
  • method 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 to method 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 constructor
  • method <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 channel
  • method 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 interface
  • method java.util.Map<java.lang.String, ?> io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>::configuration() has been introduced: Added to KafkaConsumer interface
  • method void io.smallrye.reactive.messaging.kafka.KafkaProducer<K, V>::close() has been introduced: Added to KafkaProducer interface
  • method java.util.Map<java.lang.String, ?> io.smallrye.reactive.messaging.kafka.KafkaProducer<K, V>::configuration() has been introduced: Added to KafkaProducer interface
  • method void io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::injectTracingMetadata(io.smallrye.reactive.messaging.TracingMetadata) has been removed: Method replaced by injectMetadata on IncomingKafkaRecord
  • 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.Map<org.apache.kafka.common.TopicPartition, java.lang.Long> io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder<K, V>::position() updated to method 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 offset
  • parameter 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 to parameter 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 name
  • parameter 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 to parameter 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 name
  • parameter 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 to parameter 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<?...
Read more

3.18.0

28 Jun 07:39
d1133f3
Compare
Choose a tag to compare

Changelog

  • #1780 - Update to Vert.x 4.3.1 and adapt MQTT connector
  • #1774 - Only allow a single ack or nack to be sent to RabbitMQ per message
  • #1773 - Fix #1777 & Revert #1763
  • #1763 - Revert portion of #1747 that is causing early stream cancellation

3.17.0

28 May 16:09
b9e92d6
Compare
Choose a tag to compare

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

23 Apr 22:16
Compare
Choose a tag to compare

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