Releases: smallrye/smallrye-reactive-messaging
Releases · smallrye/smallrye-reactive-messaging
4.15.0
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
4.13.0
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 propagationmethod java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord<K, T>::ack()updated tomethod 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 propagationmethod 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 propagationmethod 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 propagationmethod java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordBatch<K, T>::ack()updated tomethod 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 propagationmethod 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 propagationmethod 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 propagationmethod 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 propagationmethod 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 propagationmethod 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 propagationparameter 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 toparameter 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 propagationparameter 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 toparameter 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 propagationmethod java.util.concurrent.CompletionStage<java.lang.Void> io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecord<K, T>::ack()updated tomethod 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 propagationmethod 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 propagationmethod 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 propagationclass io.smallrye.reactive.messaging.kafka.IncomingKafkaRecordMetadata<K, T>has been removed: Removed deprecated IncomingKafkaRecordMetadatainterface io.smallrye.reactive.messaging.kafka.KafkaMessageMetadata<K>has been removed: Removed deprecated KafkaMessageMetadataclass io.smallrye.reactive.messaging.kafka.OutgoingKafkaRecordMetadata<K>has been removed: Removed deprecated OutgoingKafkaRecordMetadataclass io.smallrye.reactive.messaging.kafka.KafkaConnectorupdated toclass io.smallrye.reactive.messaging.kafka.KafkaConnector: Added 'assign-seek' attribute for incoming channelsmethod java.util.function.Function<java.lang.Throwable, java.util.concurrent.CompletionStage<java.lang.Void>> org.eclipse.microprofile.reactive.messaging.Message<T>::getNack()updated tomethod 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 featuremethod java.util.concurrent.CompletionStage<java.lang.Void> org.eclipse.microprofile.reactive.messaging.Message<T>::nack(java.lang.Throwable)updated tomethod 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 featuremethod <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 tomethod <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,...
4.12.0
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 InboundConnectormethod 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 OutboundConnectorclass io.smallrye.reactive.messaging.memory.InMemoryConnectorupdated toclass io.smallrye.reactive.messaging.memory.InMemoryConnector: Added connector attribute for dispatching messages on Vert.x contextmethod 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
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
4.10.2
4.6.1
Changelog
Breaking Changes
field io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.MESSAGE: New consumption value to describe KeyedMulti injectionfield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.NONE: New consumption value to describe KeyedMulti injectionfield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOADupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Consumption.PAYLOAD: New consumption value to describe KeyedMulti injectionmethod 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 KeyedMultimethod 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 KeyedMultimethod 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 KeyedMultimethod io.smallrye.reactive.messaging.MethodParameterDescriptor io.smallrye.reactive.messaging.MediatorConfiguration::getParameterDescriptor()has been introduced: Change how to retrieve parameter types to avoid using reflectionmethod java.lang.Class<?>[] io.smallrye.reactive.messaging.MediatorConfiguration::getParameterTypes()has been removed: Switched to a descriptor class
4.10.1
4.10.0
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.Messagesupdated tointerface io.smallrye.reactive.messaging.Messages: Messages moved to interface with factory methodclass io.smallrye.reactive.messaging.Messagesupdated tointerface io.smallrye.reactive.messaging.Messages: Messages moved to interface with factory methodfield io.smallrye.reactive.messaging.MediatorConfiguration.Production.NONEupdated tofield io.smallrye.reactive.messaging.MediatorConfiguration.Production.NONE: Repeatable @Outgoing annotationmethod java.util.List<java.lang.String> io.smallrye.reactive.messaging.MediatorConfiguration::getOutgoings()has been introduced: Repeatable @Outgoing annotation@interface org.eclipse.microprofile.reactive.messaging.Outgoingupdated to@interface org.eclipse.microprofile.reactive.messaging.Outgoing: Repeatable @Outgoing annotation@interface org.eclipse.microprofile.reactive.messaging.Outgoingupdated to@interface org.eclipse.microprofile.reactive.messaging.Outgoing: Repeatable @Outgoing annotationmethod boolean io.smallrye.reactive.messaging.MediatorConfiguration::hasTargetedOutput()has been introduced: Repeatable @Outgoing annotation