Skip to content

Releases: spring-projects/spring-kafka

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

v3.1.0

20 Nov 18:43
Compare
Choose a tag to compare

⭐ 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

🔨 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

20 Nov 18:33
Compare
Choose a tag to compare

⭐ 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

  • Upgrade Dependency Versions #2910
  • Upgrade Spring Retry Version #2848

🔨 Tasks

  • Add kafka-server-common Transitive Test Dependency #2849

❤️ Contributors

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

@Wzy19930507

External Links

v3.1.0-RC1

20 Oct 13:33
Compare
Choose a tag to compare
v3.1.0-RC1 Pre-release
Pre-release

⭐ New Features

  • Remove proxy in DefaultKafkaConsumerFactory #2822
  • Support KRaft mode for EmbeddedKafkaBroker #2391

🐞 Bug Fixes

  • KafkaAdmin NPE With Typo in Config Name #2832
  • CommonDelegatingErrorHandler: Missing updateClassifier() in addDelegate() #2826
  • KafkaTemplate is reporting 2 errors to observation on immediate errors (one in callback and one in catched exception from the same callback) #2817

📔 Documentation

  • Fix Invalid exposeGroupId in Docs #2828

🔨 Dependency Upgrades

  • Upgrade to Apache Kafka 3.6.0 #2827

🔨 Tasks

  • Fix Compiler Warnings #2816
  • Prepare for 3.6.0 Client #2815

External Links

v3.0.12

16 Oct 16:38
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Remove Arrays.toString() from JsonDeserializer #2839
  • KafkaAdmin NPE With Typo in Config Name #2834
  • CommonDelegatingErrorHandler: Missing updateClassifier() in addDelegate() #2830
  • KafkaTemplate is reporting 2 errors to observation #2824

🔨 Dependency Upgrades

  • Upgrade Spring Framework, Data, Micrometer, Reactor Versions #2846

🔨 Tasks

  • Deprecate DestinationTopicPropertiesFactory CTORs #2793
  • Remove outdated comments in ListenerContainerFactoryConfigurer #2776

❤️ Contributors

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

@WhiteDG

External Links

v2.9.13

16 Oct 16:37
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Remove Arrays.toString() from JsonDeserializer #2840
  • KafkaAdmin NPE With Typo in Config Name #2835
  • CommonDelegatingErrorHandler: Missing updateClassifier() in addDelegate() #2831

📔 Documentation

  • Document Using Kafka 3.6.0 With This Version #2844

🔨 Dependency Upgrades

  • Upgrade Micrometer, Reactor, Spring Data Versions #2845

🔨 Tasks

  • Remove outdated comments in ListenerContainerFactoryConfigurer #2788

External Links

v3.1.0-M1

18 Sep 18:23
Compare
Choose a tag to compare
v3.1.0-M1 Pre-release
Pre-release

📔 Documentation

🔨 Tasks

  • Initial docs-deploy #2802
  • Remove deprecated interfaces, classes, and methods #2797
  • Output of asciidoctorPdf can be pulled from cache when run on machines with different checkout directories #2794
  • Move main to 3.1; Upgrade Dependency Versions #2790
  • Examine synchronized Blocks #2730
  • Remove ThreadLocal Usage #2729

❤️ Contributors

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

@erichaagdev, @esperar, and @rwinch

External Links