Skip to content

Releases: smallrye/smallrye-reactive-messaging

4.15.0

09 Jan 10:53
e246df1

Choose a tag to compare

Changelog

  • #2446 - Improve backwards compatibility of new Message composition
  • #2438 - RabbitMQ consumer arguments
  • #2437 - Add support for the willMessageBytes method
  • #2436 - RabbitMQ publisher confirms
  • #2435 - Bump io.smallrye.config:smallrye-config from 3.5.0 to 3.5.1
  • #2434 - Fix flaky Kafka concurrent tests
  • #2433 - Bump pulsar.version from 3.1.1 to 3.1.2
  • #2432 - Bump org.slf4j:slf4j-reload4j from 2.0.9 to 2.0.10
  • #2431 - Bump io.smallrye.config:smallrye-config from 3.4.4 to 3.5.0
  • #2430 - Bump jackson.version from 2.16.0 to 2.16.1
  • #2429 - Bump org.jboss.logmanager:jboss-logmanager from 3.0.3.Final to 3.0.4.Final
  • #2428 - Bump kotlin.version from 1.9.21 to 1.9.22

4.14.0

02 Jan 14:53
819304d

Choose a tag to compare

Changelog

  • #2427 - Bump to Vert.x 4.5.1

4.13.0

15 Dec 19:14
839f9bc

Choose a tag to compare

Changelog

  • #2413 - Minor fixes for Kafka request reply
  • #2412 - In-memory connector docs update
  • #2411 - Bump to Mutiny 2.5.3
  • #2409 - Kafka Request Reply emitter and manual partition assignment
  • #2408 - Bump io.micrometer:micrometer-core from 1.12.0 to 1.12.1
  • #2406 - Kafka config override
  • #2400 - Bump org.eclipse.microprofile.config:microprofile-config-api from 3.0.3 to 3.1
  • #2399 - Bump kafka.version from 3.6.0 to 3.6.1
  • #2398 - Bump org.mockito:mockito-core from 4.8.1 to 5.8.0
  • #2397 - Remove deprecated Kafka metadata
  • #2394 - Bump commons-io:commons-io from 2.15.0 to 2.15.1
  • #2393 - Bump io.sundr:sundr-maven-plugin from 0.103.0 to 0.103.1
  • #2391 - Bump io.smallrye:jandex-maven-plugin from 3.1.5 to 3.1.6
  • #2390 - Bump io.sundr:sundr-maven-plugin from 0.101.3 to 0.103.0
  • #2389 - Bump org.codehaus.mojo:build-helper-maven-plugin from 3.4.0 to 3.5.0

Breaking Changes

  • method java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.mqtt.ReceivingMqttMessage::getNack() has been removed: Added Message metadata propagation
  • method java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::ack() updated to method java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::ack(org.eclipse.microprofile.reactive.messaging.Metadata): Added Message metadata propagation
  • method java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::getAck() has been removed: Added Message metadata propagation
  • method java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::getNack() has been removed: Added Message metadata propagation
  • method java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::ack() updated to method java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::ack(org.eclipse.microprofile.reactive.messaging.Metadata): Added Message metadata propagation
  • method java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::getAck() has been removed: Added Message metadata propagation
  • method java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::getNack() has been removed: Added Message metadata propagation
  • method io.smallrye.mutiny.Uni<java.util.Map<java.lang.String, java.util.List<org.apache.kafka.common.PartitionInfo>>> io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>::lisTopics() has been introduced: Added Message metadata propagation
  • method io.smallrye.mutiny.Uni<java.util.Map<java.lang.String, java.util.List<org.apache.kafka.common.PartitionInfo>>> io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>::lisTopics(java.time.Duration) has been introduced: Added Message metadata propagation
  • method io.smallrye.mutiny.Uni<java.util.List<org.apache.kafka.common.PartitionInfo>> io.smallrye.reactive.messaging.kafka.KafkaConsumer<K, V>::partitionsFor(java.lang.String) has been introduced: Added Message metadata propagation
  • parameter void io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::<init>(java.lang.String, K, T, java.time.Instant, int, org.apache.kafka.common.header.Headers, ===java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>>===, java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>>, org.eclipse.microprofile.reactive.messaging.Metadata) updated to parameter void io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::<init>(java.lang.String, K, T, java.time.Instant, int, org.apache.kafka.common.header.Headers, ===java.util.function.Function<org.eclipse.microprofile.reactive.messaging.Metadata, java.util.concurrent.CompletionStage<java.lang.Void>>===, java.util.function.BiFunction<java.lang.Throwable, org.eclipse.microprofile.reactive.messaging.Metadata, java.util.concurrent.CompletionStage<java.lang.Void>>, org.eclipse.microprofile.reactive.messaging.Metadata): Added Message metadata propagation
  • parameter void io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::<init>(java.lang.String, K, T, java.time.Instant, int, org.apache.kafka.common.header.Headers, java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>>, ===java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>>===, org.eclipse.microprofile.reactive.messaging.Metadata) updated to parameter void io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::<init>(java.lang.String, K, T, java.time.Instant, int, org.apache.kafka.common.header.Headers, java.util.function.Function<org.eclipse.microprofile.reactive.messaging.Metadata, java.util.concurrent.CompletionStage<java.lang.Void>>, ===java.util.function.BiFunction<java.lang.Throwable, org.eclipse.microprofile.reactive.messaging.Metadata, java.util.concurrent.CompletionStage<java.lang.Void>>===, org.eclipse.microprofile.reactive.messaging.Metadata): Added Message metadata propagation
  • method java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::ack() updated to method java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::ack(org.eclipse.microprofile.reactive.messaging.Metadata): Added Message metadata propagation
  • method java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::getAck() has been removed: Added Message metadata propagation
  • method java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::getNack() has been removed: Added Message metadata propagation
  • class io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordMetadata<K, T> has been removed: Removed deprecated IncomingKafkaRecordMetadata
  • interface io.smallrye.reactive.messaging.kafka.KafkaMessageMetadata<K> has been removed: Removed deprecated KafkaMessageMetadata
  • class io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecordMetadata<K> has been removed: Removed deprecated OutgoingKafkaRecordMetadata
  • class io.smallrye.reactive.messaging.kafka.KafkaConnector updated to class io.smallrye.reactive.messaging.kafka.KafkaConnector: Added 'assign-seek' attribute for incoming channels
  • method java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> org.eclipse.microprofile.reactive.messaging.Message<T>::getNack() updated to method java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> org.eclipse.microprofile.reactive.messaging.Message<T>::getNack(): Added Message metadata propagation, nack support no longer a SmallRye-only feature
  • method java.util.concurrent.CompletionStage<java.lang.Void> org.eclipse.microprofile.reactive.messaging.Message<T>::nack(java.lang.Throwable) updated to method java.util.concurrent.CompletionStage<java.lang.Void> org.eclipse.microprofile.reactive.messaging.Message<T>::nack(java.lang.Throwable): Added Message metadata propagation, nack support no longer a SmallRye-only feature
  • method <T> org.eclipse.microprofile.reactive.messaging.Message<T> org.eclipse.microprofile.reactive.messaging.Message<T>::of(T, org.eclipse.microprofile.reactive.messaging.Metadata, java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>>, java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>>) updated to method <T> org.eclipse.microprofile.reactive.messaging.Message<T> org.eclipse.microprofile.reactive.messaging.Message<T>::of(T, org.eclipse.microprofile.reactive.messaging.Metadata, java.util.function.Supplier<java.util.concurrent.CompletionStage<java.lang.Void>>, java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>>): Added Message metadata propagation, nack support no longer a SmallRye-only feature
  • `method org.eclipse.microprofile.reactive.messaging.Message org.eclipse.microprofile.reactive.messaging.Message::withNack(java.util.function.Function<java.lang.Throwable,...
Read more

4.12.0

24 Nov 10:05
8b8c513

Choose a tag to compare

Changelog

  • #2388 - Bump kotlin.version from 1.9.20 to 1.9.21
  • #2386 - Bump com.opencsv:opencsv from 5.8 to 5.9
  • #2385 - Definition exception for multiple different emitter configurations for a channel
  • #2384 - Bump testcontainers.version from 1.19.2 to 1.19.3
  • #2382 - Incoming channel concurrency
  • #2381 - Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.1.1
  • #2380 - Bump jackson.version from 2.15.3 to 2.16.0
  • #2379 - Bump org.junit-pioneer:junit-pioneer from 2.1.0 to 2.2.0
  • #2378 - Bump testcontainers.version from 1.19.1 to 1.19.2
  • #2377 - Bump camel.version from 4.1.0 to 4.2.0
  • #2376 - Bump io.micrometer:micrometer-core from 1.11.5 to 1.12.0
  • #2375 - Update SmallRye Config to 3.4.4
  • #2374 - Context-aware message dispatch on in-memory connector

Breaking Changes

  • method org.eclipse.microprofile.reactive.streams.operators.PublisherBuilder<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> io.smallrye.reactive.messaging.memory.InMemoryConnector::getPublisherBuilder(org.eclipse.microprofile.config.Config) has been removed: Migrated InMemoryConnector to InboundConnector
  • method org.eclipse.microprofile.reactive.streams.operators.SubscriberBuilder<? extends org.eclipse.microprofile.reactive.messaging.Message<?>, java.lang.Void> io.smallrye.reactive.messaging.memory.InMemoryConnector::getSubscriberBuilder(org.eclipse.microprofile.config.Config) has been removed: Migrated InMemoryConnector to OutboundConnector
  • class io.smallrye.reactive.messaging.memory.InMemoryConnector updated to class io.smallrye.reactive.messaging.memory.InMemoryConnector: Added connector attribute for dispatching messages on Vert.x context
  • method io.smallrye.reactive.messaging.memory.InMemorySource<T> io.smallrye.reactive.messaging.memory.InMemorySource<T>::runOnVertxContext(boolean) has been introduced: Added method to InMemorySource for dispatching messages on Vert.x context

4.11.0

08 Nov 14:26
2e1e6cc

Choose a tag to compare

Changelog

  • #2370 - Run emitter publisher decorators after registering the emitter to channel registry
  • #2368 - Test flakiness : getMaxNumberOfEventLoop falls back to 1 if number of cores is 4.
  • #2367 - Add 3.13.x to GitHub Actions
  • #2363 - Removed java 20 branch and moved from 21-ea to 21
  • #2362 - Connector contributor guide
  • #2359 - Bump io.sundr:sundr-maven-plugin from 0.101.2 to 0.101.3
  • #2357 - Seperate afterDeploymentValidation into two submethods
  • #2355 - Bump kotlin.version from 1.9.10 to 1.9.20
  • #2352 - Bump artemis.version from 2.31.1 to 2.31.2
  • #2350 - Bump artemis.version from 2.31.0 to 2.31.1
  • #2349 - Bump commons-io:commons-io from 2.14.0 to 2.15.0
  • #2348 - Bump io.sundr:sundr-maven-plugin from 0.101.1 to 0.101.2
  • #2345 - Bump pulsar.version from 3.1.0 to 3.1.1
  • #2344 - Bump io.sundr:sundr-maven-plugin from 0.101.0 to 0.101.1
  • #2343 - Bump org.apache.maven.plugins:maven-dependency-plugin from 3.6.0 to 3.6.1
  • #2342 - Decorate emitters with PublisherDecorators
  • #2341 - OTel upgrade to 1.31.0
  • #2340 - Support metadata injection for interfaces
  • #2336 - Let emitters report message metrics
  • #2330 - Bump urllib3 from 2.0.6 to 2.0.7 in /documentation
  • #2329 - Bump io.smallrye:smallrye-metrics from 4.0.0 to 5.1.0
  • #2328 - Bump jackson.version from 2.15.2 to 2.15.3
  • #2327 - Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 1.28.0-alpha to 1.31.0-alpha
  • #2325 - Bump io.strimzi:strimzi-test-container from 0.104.0 to 0.105.0
  • #2324 - Bump camel.version from 4.0.1 to 4.1.0
  • #2323 - Fix PauseResumeTest that became flaky because starting from Kafka 3.6.0
  • #2321 - Bump io.micrometer:micrometer-core from 1.11.4 to 1.11.5
  • #2320 - Documentation Typo
  • #2319 - Bump io.smallrye:smallrye-parent from 41 to 42
  • #2318 - Make queue.name default to channel name in RabbitMQ
  • #2316 - Bump weld.version from 5.1.0.Final to 5.1.2.Final
  • #2315 - Bump kafka.version from 3.5.1 to 3.6.0
  • #2314 - Bump urllib3 from 2.0.4 to 2.0.6 in /documentation
  • #2313 - Bump smallrye-common.version from 2.1.2 to 2.2.0
  • #2312 - Bump io.smallrye.config:smallrye-config from 3.3.4 to 3.4.1
  • #2311 - Bump testcontainers.version from 1.19.0 to 1.19.1
  • #2310 - [trivial] Fixed typo in JavaDoc of PulsarMessages.java
  • #2309 - Rabbitmq addresses config for cluster-mode
  • #2308 - Bump commons-io:commons-io from 2.13.0 to 2.14.0
  • #2307 - Update to Vert.x 4.4.5 and mutiny bindings 3.6.0
  • #2306 - Added missing beans.xml and jandex plugin executions
  • #2305 - Require 2 builds for codecov test coverage report

3.13.1

07 Nov 13:06
bc28774

Choose a tag to compare

Changelog

  • #2366 - Fix the synchronization protocol of the InternalChannelRegistry

4.10.2

06 Nov 17:08
b71fa82

Choose a tag to compare

Changelog

  • #2339 - Include correct metadata object in IncomingRabbitMQMessage injectMetadata

4.6.1

06 Nov 18:07
f20916e

Choose a tag to compare

Changelog

Breaking Changes

  • field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGE updated to field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGE: New consumption value to describe KeyedMulti injection
  • field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONE updated to field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONE: New consumption value to describe KeyedMulti injection
  • field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOAD updated to field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOAD: New consumption value to describe KeyedMulti injection
  • method java.lang.reflect.Type io.smallrye.reactive.messaging.MediatorConfiguration::getKeyType() has been introduced: New method to extract the type of the key when using the KeyedMulti
  • method java.lang.Class<? extends io.smallrye.reactive.messaging.keyed.KeyValueExtractor> io.smallrye.reactive.messaging.MediatorConfiguration::getKeyed() has been introduced: New method to extract the extractor class name (@Keyed) when using the KeyedMulti
  • method java.lang.reflect.Type io.smallrye.reactive.messaging.MediatorConfiguration::getValueType() has been introduced: New method to extract the type of the value when using the KeyedMulti
  • method io.smallrye.reactive.messaging.MethodParameterDescriptor io.smallrye.reactive.messaging.MediatorConfiguration::getParameterDescriptor() has been introduced: Change how to retrieve parameter types to avoid using reflection
  • method java.lang.Class<?>[] io.smallrye.reactive.messaging.MediatorConfiguration::getParameterTypes() has been removed: Switched to a descriptor class

4.10.1

28 Sep 12:50
9fcf516

Choose a tag to compare

Changelog

  • #2302 - Follow the jandex relocation in build plugins

4.10.0

28 Sep 09:55
725cf62

Choose a tag to compare

Changelog

  • #2299 - Bump Mutiny version from 2.4.0 to 2.5.1
  • #2298 - Moved rewriteQueue method inside RecordQueue to use the correct lock
  • #2297 - Bump io.sundr:sundr-maven-plugin from 0.100.3 to 0.101.0
  • #2293 - Bump camel.version from 4.0.0 to 4.0.1
  • #2292 - Bump io.smallrye:smallrye-parent from 40 to 41
  • #2291 - Bump io.smallrye:jandex-maven-plugin from 3.1.3 to 3.1.5
  • #2289 - Replace some synchronized blocks
  • #2288 - Bump artemis.version from 2.30.0 to 2.31.0
  • #2284 - Add java 20 and 21-ea to CI build
  • #2282 - Bump io.micrometer:micrometer-core from 1.11.3 to 1.11.4
  • #2281 - Update from org.jboss jandex 1.2.3 to io.smallrye jandex 3.1.3
  • #2280 - Bump Smallrye Mutiny from 2.1.0 to 2.4.0
  • #2279 - Bump org.junit-pioneer:junit-pioneer from 2.0.1 to 2.1.0
  • #2278 - Bump smallrye-common.version from 2.1.1 to 2.1.2
  • #2277 - Bump io.smallrye.config:smallrye-config from 3.3.3 to 3.3.4
  • #2276 - Bump smallrye-common.version from 2.1.0 to 2.1.1
  • #2273 - Bump kotlin.version from 1.9.0 to 1.9.10
  • #2272 - Fix the split package between the smallrye-reactive-messaging-jackson and smallrye-reactive-messaging-jsonb modules
  • #2271 - Bump testcontainers.version from 1.18.3 to 1.19.0
  • #2268 - Bump org.eclipse.microprofile.config:microprofile-config-api from 3.0.1 to 3.0.3
  • #2267 - Bump org.jboss.logmanager:jboss-logmanager from 2.1.19.Final to 3.0.2.Final
  • #2266 - Bump io.micrometer:micrometer-core from 1.11.2 to 1.11.3
  • #2265 - Bump pulsar.version from 3.0.1 to 3.1.0
  • #2264 - Bump camel.version from 4.0.0-RC2 to 4.0.0
  • #2263 - Transform JMS Connector thread pool to fix sized ThreadPool without rejection
  • #2260 - Bump io.smallrye:smallrye-health from 4.0.3 to 4.0.4
  • #2256 - Apply DLQ strategy on deserialization failure
  • #2255 - Bump io.smallrye:smallrye-health from 4.0.2 to 4.0.3
  • #2252 - Bump pulsar.version from 3.0.0 to 3.0.1
  • #2251 - Bump io.smallrye.config:smallrye-config from 3.3.2 to 3.3.3
  • #2242 - Generate smallrye-reactive-messaging-bom
  • #2239 - RabbitMQ requeue with additional nack metadata
  • #2238 - Multiple outgoings support

Breaking Changes

  • class io.smallrye.reactive.messaging.Messages updated to interface io.smallrye.reactive.messaging.Messages: Messages moved to interface with factory method
  • class io.smallrye.reactive.messaging.Messages updated to interface io.smallrye.reactive.messaging.Messages: Messages moved to interface with factory method
  • field io.smallrye.reactive.messaging.MediatorConfiguration.Production.NONE updated to field io.smallrye.reactive.messaging.MediatorConfiguration.Production.NONE: Repeatable @Outgoing annotation
  • method java.util.List<java.lang.String> io.smallrye.reactive.messaging.MediatorConfiguration::getOutgoings() has been introduced: Repeatable @Outgoing annotation
  • @interface org.eclipse.microprofile.reactive.messaging.Outgoing updated to @interface org.eclipse.microprofile.reactive.messaging.Outgoing: Repeatable @Outgoing annotation
  • @interface org.eclipse.microprofile.reactive.messaging.Outgoing updated to @interface org.eclipse.microprofile.reactive.messaging.Outgoing: Repeatable @Outgoing annotation
  • method boolean io.smallrye.reactive.messaging.MediatorConfiguration::hasTargetedOutput() has been introduced: Repeatable @Outgoing annotation