Releases: spring-projects/spring-kafka
Releases · spring-projects/spring-kafka
v4.1.0-M2
⭐ New Features
- Add
RENEWacknowledgment type toShareAcknowledgment#4322 - Add error handling strategy (poll-level and listener-level) to Share consumer container #4321
- Align default behavior of
@RetryableTopicandRetryTopicConfigurationBuilderwith documentation #3706 - DefaultErrorHandler doesn't work with suspend methods #3618
🐞 Bug Fixes
- Listener with async acks pauses indefinitely #4332
- Observations for filtered messages are leaked, filling memory #4306
- assertTopic validation breaks meta-annotated
@KafkaListenerwith programmatic topic resolution #4303 - With a
@KafkaListenerthat returns a Mono, the error handler does not retry #4198
🔨 Dependency Upgrades
- Bump kotlinVersion from 2.3.10 to 2.3.20 #4354
- Bump io.projectreactor:reactor-bom from 2025.0.3 to 2025.0.4 #4350
- Bump org.springframework:spring-framework-bom from 7.0.5 to 7.0.6 #4347
- Bump org.springframework:spring-framework-bom from 7.0.4 to 7.0.5 #4308
- Upgrade to Apache Kafka 4.2.0 #4302
❤️ Contributors
Thank you to all the contributors who worked on this release:
v4.0.4
🐞 Bug Fixes
- Listener with async acks pauses indefinitely #4344
- Observations for filtered messages are leaked, filling memory #4336
- assertTopic validation breaks meta-annotated
@KafkaListenerwith programmatic topic resolution #4311
🔨 Dependency Upgrades
- Bump io.projectreactor:reactor-bom from 2025.0.3 to 2025.0.4 #4353
- Bump org.springframework.data:spring-data-bom from 2025.1.3 to 2025.1.4 #4352
- Bump org.springframework:spring-framework-bom from 7.0.5 to 7.0.6 #4349
- Bump io.micrometer:micrometer-tracing-bom from 1.6.3 to 1.6.4 #4348
- Bump io.micrometer:micrometer-bom from 1.16.3 to 1.16.4 #4346
v3.3.14
v4.1.0-M1
⭐ New Features
- Add ackMode attribute to
@KafkaListenerfor per-listener acknowledgment configuration #4174
🐞 Bug Fixes
- KafkaMessageListenerContainer.getAssignedPartitions can throw ConcurrentModificationException #4273
- GlobalEmbeddedKafkaTestExecutionListener generates log statement even when not enabled #4267
📔 Documentation
- GH-4278: Update Quick Tour and Testing Applications for Spring Boot starter dependencies #4279
- Spring Kafka documentation does not mention
spring-boot-starter-kafkarequirement for Spring Boot 4 #4278 - Fix formatting in
transactions.adoc#4271 - Extend AcknowledgingMessageListener to inherit from MessageListener #4257
🔨 Dependency Upgrades
- Bump org.junit:junit-bom from 6.0.2 to 6.0.3 #4296
- Bump io.micrometer:micrometer-bom from 1.16.2 to 1.16.3 #4288
- Bump org.springframework.data:spring-data-bom from 2025.1.2 to 2025.1.3 #4287
- Bump org.springframework:spring-framework-bom from 7.0.3 to 7.0.4 #4284
- Bump io.projectreactor:reactor-bom from 2025.0.2 to 2025.0.3 #4283
- Bump io.micrometer:micrometer-tracing-bom from 1.6.2 to 1.6.3 #4282
- Bump org.assertj:assertj-core from 3.27.6 to 3.27.7 #4270
- Bump gradle-wrapper from 8.14.1 to 8.14.4 #4263
- Bump tools.jackson:jackson-bom from 3.0.3 to 3.0.4 #4261
❤️ Contributors
Thank you to all the contributors who worked on this release:
v4.0.3
🐞 Bug Fixes
- KafkaMessageListenerContainer.getAssignedPartitions can throw ConcurrentModificationException #4276
- GlobalEmbeddedKafkaTestExecutionListener generates log statement even when not enabled #4268
🔨 Dependency Upgrades
- Bump org.springframework:spring-framework-bom from 7.0.3 to 7.0.4 #4301
- Bump io.micrometer:micrometer-bom from 1.16.2 to 1.16.3 #4300
- Bump org.assertj:assertj-core from 3.27.6 to 3.27.7 #4299
- Bump tools.jackson:jackson-bom from 3.0.3 to 3.0.4 #4298
- Bump io.micrometer:micrometer-tracing-bom from 1.6.2 to 1.6.3 #4297
- Bump org.springframework.data:spring-data-bom from 2025.1.2 to 2025.1.3 #4295
- Bump io.projectreactor:reactor-bom from 2025.0.2 to 2025.0.3 #4294
- Bump org.junit:junit-bom from 6.0.2 to 6.0.3 #4293
- Bump gradle-wrapper from 8.14.1 to 8.14.4 #4292
v3.3.13
v4.0.2
⭐ New Features
- Remove TODO comment and unnecessary null checks for getBeanName() #4253
- Standardize usage of
@Serialannotation for serialVersionUID #4236 @BackOffdoes not recognize the __listener placeholder #4232
🐞 Bug Fixes
- Duplicated metric "spring.kafka.listener" increment when RetryableTopic enabled #4230
📔 Documentation
- Fix reference of deprecated serde APIs in docs #4244
- Update example Javadoc for
EnableKafkaannotations #4239 - Correct method javadoc #4229
- Fix plural words rendering in docs #4201
🔨 Dependency Upgrades
- Bump com.fasterxml.jackson:jackson-bom from 2.20.1 to 2.20.2 #4256
- Bump org.springframework:spring-framework-bom from 7.0.2 to 7.0.3 #4252
- Bump io.micrometer:micrometer-tracing-bom from 1.6.1 to 1.6.2 #4251
- Bump io.projectreactor:reactor-bom from 2025.0.1 to 2025.0.2 #4249
- Bump org.springframework.data:spring-data-bom from 2025.1.1 to 2025.1.2 #4248
- Bump io.micrometer:micrometer-bom from 1.16.1 to 1.16.2 #4247
- Bump org.junit:junit-bom from 6.0.1 to 6.0.2 #4237
- Bump log4jVersion from 2.25.2 to 2.25.3 #4226
❤️ Contributors
Thank you to all the contributors who worked on this release:
v3.3.12
🐞 Bug Fixes
- Duplicated metric "spring.kafka.listener" increment when RetryableTopic enabled #4242
📔 Documentation
- refactor test example #4168
🔨 Dependency Upgrades
- Bump io.projectreactor:reactor-bom from 2024.0.13 to 2024.0.14 #4250
- Bump org.springframework:spring-framework-bom from 6.2.14 to 6.2.15 #4222
- Bump io.micrometer:micrometer-bom from 1.14.13 to 1.14.14 #4220
- Bump org.springframework:spring-framework-bom from 6.2.13 to 6.2.14 #4179
❤️ Contributors
Thank you to all the contributors who worked on this release:
v4.0.1
⭐ New Features
- Allow telling Spring to ignore an argument when identifying the type #4210
- Polish unchecked warning suppression in KafkaEvent #4183
- Remove unnecessary stream method #4181
🐞 Bug Fixes
- Unable to properly serialize/deserialize null values with JackJsonSerializer/Deserializer in Kotlin #4205
- [GraalVM Native] DefaultJwtValidator ClassNotFoundException is thrown with kafka-clients 4.1.1 #4190
@KafkaListenerwith Both topics and topicPartitions Breaks@RetryableTopic#4170
📔 Documentation
- Fix Typo #4208
- GH-4189 : Modify Topic Assignment Docs of
@KafkaListener#4204 group.share.delivery.attempt.limitis not a valid configuration param in Kafka Admin API #4194
🔨 Dependency Upgrades
- Bump org.springframework.data:spring-data-bom from 2025.1.0 to 2025.1.1 #4217
- Bump io.micrometer:micrometer-bom from 1.16.0 to 1.16.1 #4216
- Bump io.micrometer:micrometer-tracing-bom from 1.6.0 to 1.6.1 #4215
- Bump io.projectreactor:reactor-bom from 2025.0.0 to 2025.0.1 #4213
- Bump org.springframework:spring-framework-bom from 7.0.1 to 7.0.2 #4212
- Bump tools.jackson:jackson-bom from 3.0.2 to 3.0.3 #4187
- Bump org.springframework:spring-framework-bom from 7.0.0 to 7.0.1 #4177
❤️ Contributors
Thank you to all the contributors who worked on this release:
@LEEJaeHyeok97, @kyriakos-kyriakou, @moonyoungCHAE, @ngocnhan-tran1996, and @quaff
v4.0.0
⭐ New Features
- Add deleteTopics() method to KafkaAdmin #4155
- Optimize ArrayList allocations in BatchMessagingMessageConverter #4152
- Start building against Spring Framework 7.0.0 snapshots #4150
🐞 Bug Fixes
- Class loading issues with (custom) jaas module packaged as a dependency (jar in fat-jar) #4109
- Conversion using a SmartMessageConverter does not work with batch listener #4097
📔 Documentation
- refactor test example #4159
- Update the JavaDoc to reference the correct variable name #4129
- Fix typos in streams documentation #4119
- Documentation on DLT strategies with batch mode listeners #3554
🔨 Dependency Upgrades
- Bump org.springframework.data:spring-data-bom from 2025.1.0-SNAPSHOT to 2025.1.0 #4164
- Bump kafkaVersion from 4.1.0 to 4.1.1 #4162
- Bump tools.jackson:jackson-bom from 3.0.1 to 3.0.2 #4145
- Bump org.junit:junit-bom from 6.0.0 to 6.0.1 #4133
- Bump com.fasterxml.jackson:jackson-bom from 2.20.0 to 2.20.1 #4130
- Bump tools.jackson:jackson-bom from 3.0.0 to 3.0.1 #4125
- Bump kotlinVersion from 2.2.20 to 2.2.21 #4124
❤️ Contributors
Thank you to all the contributors who worked on this release:
@cmabdullah, @moonyoungCHAE, @ngocnhan-tran1996, and @snicoll