Skip to content

Releases: spring-projects/spring-kafka

v4.1.0-M2

16 Mar 20:58

Choose a tag to compare

v4.1.0-M2 Pre-release
Pre-release

⭐ New Features

  • Add RENEW acknowledgment type to ShareAcknowledgment #4322
  • Add error handling strategy (poll-level and listener-level) to Share consumer container #4321
  • Align default behavior of @RetryableTopic and RetryTopicConfigurationBuilder with 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 @KafkaListener with programmatic topic resolution #4303
  • With a @KafkaListener that 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:

@sobychacko

v4.0.4

16 Mar 21:06

Choose a tag to compare

🐞 Bug Fixes

  • Listener with async acks pauses indefinitely #4344
  • Observations for filtered messages are leaked, filling memory #4336
  • assertTopic validation breaks meta-annotated @KafkaListener with 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

16 Mar 20:24

Choose a tag to compare

🐞 Bug Fixes

  • Listener with async acks pauses indefinitely #4343
  • Observations for filtered messages are leaked, filling memory #4335
  • assertTopic validation breaks meta-annotated @KafkaListener with programmatic topic resolution #4312

🔨 Dependency Upgrades

  • Bump org.springframework:spring-framework-bom from 6.2.16 to 6.2.17 #4351
  • Bump io.projectreactor:reactor-bom from 2024.0.15 to 2024.0.16 #4345
  • Bump com.fasterxml.jackson:jackson-bom from 2.18.5 to 2.18.6 #4318

v4.1.0-M1

16 Feb 22:09

Choose a tag to compare

v4.1.0-M1 Pre-release
Pre-release

⭐ New Features

  • Add ackMode attribute to @KafkaListener for 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-kafka requirement 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:

@Lokrip, @RaidThabet, @manhnt27, and @ngocnhan-tran1996

v4.0.3

16 Feb 21:36

Choose a tag to compare

🐞 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

16 Feb 21:09

Choose a tag to compare

🐞 Bug Fixes

  • KafkaMessageListenerContainer.getAssignedPartitions can throw ConcurrentModificationException #4275
  • Consumer was paused infinitely since difference in async ack offsets is larger than 1 #4269

🔨 Dependency Upgrades

  • Bump gradle-wrapper from 8.14.1 to 8.14.4 #4262

v4.0.2

20 Jan 17:58

Choose a tag to compare

⭐ New Features

  • Remove TODO comment and unnecessary null checks for getBeanName() #4253
  • Standardize usage of @Serial annotation for serialVersionUID #4236
  • @BackOff does 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 EnableKafka annotations #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:

@david-parkk, @jjank, @ngocnhan-tran1996, and @quaff

v3.3.12

20 Jan 17:29

Choose a tag to compare

🐞 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:

@moonyoungCHAE

v4.0.1

15 Dec 23:27

Choose a tag to compare

⭐ 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
  • @KafkaListener with Both topics and topicPartitions Breaks @RetryableTopic #4170

📔 Documentation

  • Fix Typo #4208
  • GH-4189 : Modify Topic Assignment Docs of @KafkaListener #4204
  • group.share.delivery.attempt.limit is 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

17 Nov 19:53

Choose a tag to compare

⭐ 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