Releases: spring-projects/spring-kafka
Releases · spring-projects/spring-kafka
v3.0.16
🐞 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
v3.2.0-M2
⭐ 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
inKafkaStreamsInteractiveQueryService
#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 ofAfterRollbackProcessor
#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
⭐ 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 ofAfterRollbackProcessor
#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
⭐ 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 ofAfterRollbackProcessor
#3103- Listener exceptions not saved to the observation #3086
🔨 Dependency Upgrades
v3.2.0-M1
⭐ 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:
v3.1.2
⭐ 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
andKafkaUtils
#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:
v3.0.14
🐞 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
⭐ 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
v3.1.0
⭐ New Features
- remove unnecessary property setting statement in EmbeddedKafkaKraftBroker #2893
- GH-2654: Incorrect retry topic suffix #2876
- The TRUSTED_PACKAGES field in the DefaultJackson2JavaTypeMapper has also been improved to have an ImmutableList type. #2875
- No early bean initialization from
EmbeddedKafkaContextCustomizer
#2870 - GH-2862: Add Option to Log Recovery to DLPR #2869
- Support Validator in ErrorHandlingDeserializer #2861
- GH-2731: fix count and time ack mode #2858
- If cluster id is null and observation is enabled, KafkaTemplate tries to retrieve it on each produce #2853
- Provide a way to define a ContainerCustomizer per KafkaListener #2825
🐞 Bug Fixes
- Fix TX Check in RoutingKafkaTemplate #2899
- Fix Issues in DefaultKafkaProducerFactory#updateConfigs() #2897
- Under-documented "Manually Assigning All Partitions" #2891
- add a missing left quote in AbstractKafkaListenerEndpoint#getEndpointDescription() #2882
- fix CONSUMER_RECORDS_CLASS_NAME constant error in KafkaAvroBeanRegistrationAotProcessor.java #2881
- ProducerInterceptor in KafkaTempalte unvaild #2874
- Admin is boot up by turning on observability #2859
📔 Documentation
- Improve Documentation about Acknowledgment.nack() #2906
- Improve Documentation: State on OOO-Commits page that AsyncAcks cannot be combined with nack() #2905
- remove 'dead links' in javadocs #2896
- Update testing.adoc > "
@EmbeddedKafka
Annotation with JUnit5" section #2894 - fix some typos #2885
- update reference documentation gradle task in README.md #2880
- cosmetic doc improvements part 4 #2879
- cosmetic doc improvements part 3 #2877
- some cosmetic improvements of the reference - part 2 #2873
- Streams Doc Polishing #2871
- Reference Doc Improvements #2867
🔨 Dependency Upgrades
- Upgrade Dependency Versions #2911
- CVE-2023-44981 for zookeeper version #2898
🔨 Tasks
- Eliminate the Use of StringBuffer #2909
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Alchemik, @NathanQingyangXu, @Wzy19930507, @ch4570, @pat-goins, and @powibol
External Links
v3.0.13
⭐ New Features
- If cluster id is null and observation is enabled, KafkaTemplate tries to retrieve it on each produce #2856
🐞 Bug Fixes
- Under-documented "Manually Assigning All Partitions" #2901
- The result of
ProducerInterceptor.onSend()
is out of use #2884 - Fix CONSUMER_RECORDS_CLASS_NAME constant error in KafkaAvroBeanRegistrationAotProcessor #2883
🔨 Dependency Upgrades
🔨 Tasks
- Add kafka-server-common Transitive Test Dependency #2849
❤️ Contributors
Thank you to all the contributors who worked on this release: