Skip to content

Releases: spring-projects/spring-kafka

v3.2.0-RC1

15 Apr 20:47
Compare
Choose a tag to compare
v3.2.0-RC1 Pre-release
Pre-release

⭐ New Features

  • @PartitionOffset supprt TopicPartitionOffset.SeekPosition #3178
  • Add an option to leave consumer group when closing Streams #3168
  • Add checkstyle rule on empty-line-separater #3162
  • Remove org.apache.kafka native runtime hints #3147
  • Adding new KafkaListenerEndpointRegistry.getListenerContainersMatchingId(predicate: Predicate<String>) #3135
  • Allows to initialize/inject the Topology object without starting the Kafka streams. #3020
  • More and proper tags for observation spans #2609

🐞 Bug Fixes

  • Duplicate record consumption due to offset decrease in last offset commit #3186
  • Setting the Kafka Streams property default.dsl.store has no effect #3176
  • BatchInterceptor is not working properly with retries #3166
  • MDCs are missing in logs produced by DefaultErrorHandler. #3151
  • In kafka events, the traceId and spanId are not written in the logs #3146

📔 Documentation

  • fix typo in JsonDeSerializer.TYPE_MAPPINGS #3144
  • Spring Kafka not working properly with Java 21 Virtual Threads, listeners are tied to a platform thread forever #3074

🔨 Dependency Upgrades

  • Bump org.springframework:spring-framework-bom from 6.1.5 to 6.1.6 #3194
  • Bump io.projectreactor:reactor-bom from 2023.0.4 to 2023.0.5 #3193
  • Bump log4jVersion from 2.23.0 to 2.23.1 #3157

❤️ Contributors

Thank you to all the contributors who worked on this release:

@JooHyukKim, @juwit, @sobychacko, and @system205

v3.1.4

15 Apr 18:31
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Duplicate record consumption due to offset decrease in last offset commit #3190
  • Setting the Kafka Streams property default.dsl.store has no effect #3181
  • BatchInterceptor is not working properly with retries #3170
  • MDCs are missing in logs produced by DefaultErrorHandler. #3154
  • In kafka events, the traceId and spanId are not written in the logs #3149

🔨 Dependency Upgrades

  • Bump org.springframework.data:spring-data-bom from 2023.1.4 to 2023.1.5 #3201
  • Bump org.springframework:spring-framework-bom from 6.1.5 to 6.1.6 #3200
  • Bump io.micrometer:micrometer-bom from 1.12.4 to 1.12.5 #3199
  • Bump io.micrometer:micrometer-tracing-bom from 1.2.4 to 1.2.5 #3198
  • Bump io.projectreactor:reactor-bom from 2023.0.4 to 2023.0.5 #3197

v3.0.16

15 Apr 18:10
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Duplicate record consumption due to offset decrease in last offset commit #3191
  • Setting the Kafka Streams property default.dsl.store has no effect #3182
  • BatchInterceptor is not working properly with retries #3171
  • MDCs are missing in logs produced by DefaultErrorHandler. #3153
  • In kafka events, the traceId and spanId are not written in the logs #3150

🔨 Dependency Upgrades

  • Bump org.springframework:spring-framework-bom from 6.0.18 to 6.0.19 #3196
  • Bump io.projectreactor:reactor-bom from 2022.0.17 to 2022.0.18 #3195

v3.2.0-M2

18 Mar 19:11
Compare
Choose a tag to compare
v3.2.0-M2 Pre-release
Pre-release

⭐ New Features

  • Upgrade Apache Kafka client version to 3.7.0 #3116
  • @RetryableTopic support KL annotated on class part 2 #3112
  • @RetryableTopic support @KafkaListener annotated on class part 1 #3107
  • Correct class naming convention for 'hat' in serializer/deserializer Doc #3106
  • polish retryable topic. #3104
  • fix bug at KafkaMessageListenerContainerTests.testInvokeRecordInterceptorAllSkipped() #3091
  • Polish KafkaMessageListenerContainer #3090
  • Fix race condition at TransactionalContainerTests.testBatchListenerRecoverAfterRollbackProcessorCrash #3081
  • Polish KafkaMessageListenerContainer #3079
  • Compute New Seek Position From Current Offset #3078
  • GH-2775: Deprecate ContainerProperties properties transactionManager #3066
  • Polish KafkaTemplate #3065
  • ConcurrentMessageListenerContainer#isInExpectedState consistency problem #3063
  • Fix TestOOMError#testOOMCMLC throw ConcurrentModificationException #3059
  • ReactiveKafkaConsumerTemplate missing receiveBatch method #3057
  • Change @RetryableTopic properties SameIntervalTopicReuseStrategy behavior to SINGLE_TOPIC #3052
  • Add properties to ContainerProperties.toString #3046
  • polish adoc for kafka chapter #3045
  • Cleanup ConcurrentMessageListenerContainerMockTests #3044
  • Provide API methods of accessing HostInfo in KafkaStreamsInteractiveQueryService #3034
  • Non-blocking retry using KafkaListener on class level #3012
  • Use application name as default clientId #3001

🐞 Bug Fixes

  • Failing to handle deserialization exceptions in batch listener #3114
  • Unsafe access to Kafka consumer in seek operation #3108
  • KafkaMessageListenerContainer doesn't properly clear threadState of AfterRollbackProcessor #3076
  • CommonDelegatingErrorHandler does not check delegates compatibility correctly #3050
  • Listener exceptions not saved to the observation #3049
  • Enhanced monitoring when KMLC is batch listener #3047
  • fix bug about method ConsumerSeekAware.seekRelative #3043
  • DefaultErrorHandler is not able to seek in case of an exception during the commit #3019
  • Calling DefaultKafkaHeaderMapper constructor with the same ObjectMapper instance may result memory leak #2611

📔 Documentation

  • Remove retry-topic-lcf.adoc introduce useLegacyFactoryConfigurer #3084
  • Non-Blocking Retries cannot combine with container transactions. #3072

🔨 Dependency Upgrades

  • Bump org.springframework:spring-framework-bom from 6.1.4 to 6.1.5 #3130
  • Bump io.projectreactor:reactor-bom from 2023.0.3 to 2023.0.4 #3129
  • Bump org.apache.zookeeper:zookeeper from 3.8.3 to 3.8.4 #3111
  • Bump kotlinVersion from 1.9.22 to 1.9.23 #3110
  • Bump com.github.spotbugs from 6.0.7 to 6.0.8 #3096

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Wzy19930507, @qeeqez, @selllami, and @sobychacko

v3.1.3

18 Mar 18:27
Compare
Choose a tag to compare

⭐ New Features

  • fix bug at KafkaMessageListenerContainerTests.testInvokeRecordInterceptorAllSkipped() #3094
  • Align RecordInterceptor and BatchInterceptor lifecycle. #3092
  • ConcurrentMessageListenerContainer#isInExpectedState consistency problem #3068
  • Fix TestOOMError#testOOMCMLC throw ConcurrentModificationException #3061

🐞 Bug Fixes

  • Failing to handle deserialization exceptions in batch listener #3118
  • KafkaMessageListenerContainer doesn't properly clear threadState of AfterRollbackProcessor #3102
  • Listener exceptions not saved to the observation #3085
  • CommonDelegatingErrorHandler does not check delegates compatibility correctly #3062
  • DefaultErrorHandler is not able to seek in case of an exception during the commit #3060

📔 Documentation

  • Remove retry-topic-lcf.adoc introduce useLegacyFactoryConfigurer #3087

🔨 Dependency Upgrades

  • Bump org.springframework.data:spring-data-bom from 2023.1.3 to 2023.1.4 #3139
  • Bump org.springframework:spring-framework-bom from 6.1.4 to 6.1.5 #3134
  • Bump io.micrometer:micrometer-bom from 1.12.3 to 1.12.4 #3132
  • Bump kotlinVersion from 1.9.22 to 1.9.23 #3131
  • Bump io.micrometer:micrometer-tracing-bom from 1.2.3 to 1.2.4 #3127
  • Bump io.projectreactor:reactor-bom from 2023.0.3 to 2023.0.4 #3125
  • Bump org.apache.zookeeper:zookeeper from 3.8.3 to 3.8.4 #3124

v3.0.15

18 Mar 18:10
Compare
Choose a tag to compare

⭐ New Features

  • Provide a way to support Consumer#enforceRebalance #3075

🐞 Bug Fixes

  • Failing to handle deserialization exceptions in batch listener #3119
  • KafkaMessageListenerContainer doesn't properly clear threadState of AfterRollbackProcessor #3103
  • Listener exceptions not saved to the observation #3086

🔨 Dependency Upgrades

  • Bump kotlinVersion from 1.7.20 to 1.7.22 #3133
  • Bump org.springframework:spring-framework-bom from 6.0.17 to 6.0.18 #3128
  • Bump io.projectreactor:reactor-bom from 2022.0.16 to 2022.0.17 #3126

v3.2.0-M1

16 Feb 21:24
Compare
Choose a tag to compare
v3.2.0-M1 Pre-release
Pre-release

⭐ New Features

  • Provide a recovery callback for the execute method of RetryingDeserializer #3032
  • Remove AbstractMessageListenerContainer.isPaused #3016
  • Provide a way to support Consumer#enforceRebalance #3011
  • Implementation Deserializer.deserialize(String, Headers, ByteBuffer) #3009
  • Polish DestinationTopicPropertiesFactory #3004
  • Consider providing an API for Kafka Streams Interactive Queries #2942
  • Provide a way to customize a transactionIdSuffix #2852
  • Non-Blocking Retries: Consider Making it Easier to Route to Different DLTs by Exception Type #2800
  • Asynchronous server-side processing in a request/reply scenario #1189

📔 Documentation

  • Clarify retries in KSIQS docs #3033

🔨 Dependency Upgrades

  • Bump org.springframework:spring-framework-bom from 6.1.3 to 6.1.4 #3039
  • Bump com.fasterxml.jackson:jackson-bom from 2.15.3 to 2.15.4 #3038
  • Bump io.projectreactor:reactor-bom from 2023.0.2 to 2023.0.3 #3037
  • Bump org.junit:junit-bom from 5.10.1 to 5.10.2 #3029
  • Bump com.github.spotbugs from 6.0.6 to 6.0.7 #3006

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Wzy19930507 and @sobychacko

v3.1.2

16 Feb 20:08
Compare
Choose a tag to compare

⭐ New Features

  • Provide a recovery callback for the execute method of RetryingDeserializer #3036
  • Provide a way to support Consumer#enforceRebalance #3024
  • minor improvement DelegatingInvocableHandler and AKLE relate #2976
  • GH-2974 Add NonNullApi and NonNullFields to package-info.java in 'annotation' package #2974
  • minor improvement error handler related #2970
  • GH-2967: Some minor improvements in RetryableTopicAnnotationProcessor #2967
  • improvements in MessagingMessageListenerAdapter and KafkaUtils #2962

🐞 Bug Fixes

  • False warning log for not committed offsets on CooperativeStickyAssignor strategy #2991
  • Can't recognize original exception when abortTransaction() failed #2981
  • spring doc website link needs updating #2979
  • DefaultErrorHandler#handleBatchAndReturnRemaining recovered invalid #2968
  • Spring Kafka Wait For Assignment Failed After Update To SpringBoot 3.2.0 #2978

📔 Documentation

  • Closing MockProducer options in reference docs #2965

🔨 Dependency Upgrades

  • Upgrade dependecies before release #3027
  • Bump io.micrometer:micrometer-bom from 1.12.1 to 1.12.2 #2989
  • Bump io.projectreactor:reactor-bom from 2023.0.1 to 2023.0.2 #2988
  • Bump org.springframework:spring-framework-bom from 6.1.2 to 6.1.3 #2987
  • Bump io.micrometer:micrometer-tracing-bom from 1.2.1 to 1.2.2 #2986
  • Bump org.springframework.data:spring-data-bom from 2023.1.1 to 2023.1.2 #2985
  • Bump kotlinVersion from 1.9.21 to 1.9.22 #2973

❤️ Contributors

Thank you to all the contributors who worked on this release:

@NathanQingyangXu, @Wzy19930507, and @jitokim

v3.0.14

16 Feb 18:19
Compare
Choose a tag to compare

🐞 Bug Fixes

  • False warning log for not committed offsets on CooperativeStickyAssignor strategy #2995
  • Can't recognize original exception when abortTransaction() failed #2993
  • Fix KafkaTemplate.clusterId() for concurrency #2946
  • Annotation TopicPartition - partition attribute was not resolved from… #2938
  • Unable to send null payload with KafkaTemplate#send(Message) #2928

🔨 Dependency Upgrades

  • Upgrade dependecies before release #3026

v3.1.1

18 Dec 22:52
Compare
Choose a tag to compare

⭐ New Features

  • minor improvement to klabpp and knapar #2947
  • fix a default method defect in ConsumerFactory #2945
  • minor adjustment at MessagingMessageListenerAdapter #2941
  • minor improvement to DefaultKafkaHeaderMapper #2940
  • Fix typo at KafkaMessageListenerContainer and ContainerProperties #2939
  • reuse RecordHeader in AggregatingReplyingKafkaTemplate #2932
  • fix some defects of setting default Message headers in MessagingMessageListenerAdapter #2908
  • Free exceptions from ConsumerAwareRebalanceListener #2887

🐞 Bug Fixes

  • Fix KafkaTemplate.clusterId() for concurrency #2943
  • No parameter resolver for EmbeddedKafkaZKBroker #2927
  • Unable to send null payload with KafkaTemplate#send(Message) #2924
  • Annotation TopicPartition - partition attribute was not resolved from… #2246

📔 Documentation

  • Fix typo in javadoc #2935
  • RoutingKafkaTemplate configuration is throwing error after spring boot 3.1.2 #2921
  • EmbeddedKafkaKraftBroker.kafkaPorts(int... ports) is ignored #2916

🔨 Dependency Upgrades

  • Bump io.micrometer:micrometer-bom from 1.12.0 to 1.12.1 #2960
  • Bump org.springframework.data:spring-data-bom from 2023.1.0 to 2023.1.1 #2959
  • Bump org.junit:junit-bom from 5.10.0 to 5.10.1 #2958
  • Bump io.projectreactor:reactor-bom from 2023.0.0 to 2023.0.1 #2957
  • Bump log4jVersion from 2.21.0 to 2.21.1 #2956
  • Bump io.micrometer:micrometer-tracing-bom from 1.2.0 to 1.2.1 #2955
  • Bump kotlinVersion from 1.9.10 to 1.9.21 #2953
  • Bump org.springframework:spring-framework-bom from 6.1.0 to 6.1.2 #2952
  • Bump org.springframework.retry:spring-retry from 2.0.4 to 2.0.5 #2951
  • Bump kafkaVersion from 3.6.0 to 3.6.1 #2950

❤️ Contributors

Thank you to all the contributors who worked on this release:

@NathanQingyangXu, @Wzy19930507, @dependabot[bot], @dogglezz, @michaldo, and @s7474