Skip to content

v4.0.8

Choose a tag to compare

@spring-builds spring-builds released this 22 Oct 19:55

馃悶 Bug Fixes

  • KafkaTemplate.receive() returns a record at a different offset when the requested offset is missing #4831
  • GH-4823: Keep partition pause across child containers #4829
  • KafkaAdmin reports topic config alteration failures as 'Failed to obtain topic descriptions' #4827
  • ContainerGroupSequencer does not disable autoStartup of containers with an idleEventInterval #4825
  • Flaky BatchListenerConversionTests.conversionError() #4822
  • DefaultErrorHandler ignores backOffFunction when the default BackOff has no retries #4819
  • Share container isInExpectedState() ignores a consumer thread that exited on an error #4813
  • ReplyingKafkaTemplate reply future times out instead of failing when the send fails #4812
  • AbstractConsumerSeekAware.onPartitionsRevoked() removes other consumers' callbacks #4807
  • RoutingKafkaTemplate.partitionsFor() throws UnsupportedOperationException #4806
  • Lambda or method-reference Converter beans break @KafkaListener startup #4803
  • CommonMixedErrorHandler does not delegate onPartitionsAssigned(), losing records during batch retry #4798
  • Support the two-arg deserialize in DelegatingByTopicDeserializer #4793
  • Deserialization exception headers mapped outbound with Kafka 4.4 clients #4776
  • Cooperative rebalance can leave the partitions a consumer retains permanently unconsumed (async listener) #4771
  • Retry topics use BackOff.STOP (-1) as a delay when the BackOff has its own limit #4769
  • AbstractConsumerSeekAware retains callback mappings after unregister #4768
  • Mixed and delegating error handlers discard remaining batch records when seekAfterError is false #4766
  • ExponentialBackOffWithMaxRetries(0) still retries once #4759
  • Make ExceptionMatcher cache thread-safe #4758
  • acknowledge() after a partial batch ack commits only the next record #4733
  • ConcurrentMessageListenerContainer does not report partition pause requests from child containers #4731
  • Apply the bootstrap servers supplier in DefaultShareConsumerFactory #4700
  • Suspend @KafkaListener: consumer permanently stops fetching partitions it retains across a rebalance #4697
  • Async listener reply success path never reports failures to the receiver Observation #4685
  • Pending consumer wakeup aborts the next offset commit, which is then skipped #4684
  • Copy the type resolver in copyWithType #4667
  • ShareKafkaMessageListenerContainer NPEs at start() when built from a topic pattern or partition list #4665
  • Do not validate a null deserialized value #4657
  • Multi-value header mapping loses values on inbound when a JSON type header is present #4645
  • ReplyingKafkaOperations sendAndReceive overloads expose incorrect nullability for replyTimeout and returnType #4641
  • DelegatingByTypeSerializer assignable mode can select a more general delegate due to a non-transitive comparator #4632
  • Share containers ignore ContainerProperties.clientId #4628
  • ShareKafkaListenerContainerFactory.createContainer(String...) does not apply factory configuration #4618
  • Assert messages in setTopicPartitions and setDefaultReplyTimeout name the wrong property #4610
  • Kafka listener with autoStartup=false is unconditionally started on ApplicationContext.restart() (alwaysStartAfterRefresh=true ignores autoStartup after first refresh) #4607
  • Close the default delegate in DelegatingByTopicSerialization #4590
  • DelegatingByTypeSerializer does not close its delegates #4580

馃摂 Documentation

  • Fix stale API names in the reference docs #4749
  • Misleading autoStartDltHandler property/documentation for @RetryableTopic in tests #4702
  • Improve trusted-packages error message guidance #4631
  • Fix DeadLetterPublishingRecoverer API names in error-handling docs #4613

馃敤 Dependency Upgrades

  • Upgrade micrometer-tracing to 1.6.8 #4854
  • Upgrade micrometer to 1.16.8 #4851
  • Upgrade reactor to 2025.0.8 #4849
  • Upgrade spring-data-bom to 2025.1.8 #4846
  • Upgrade spring-framework to 7.0.10 #4844
  • Bump org.slf4j:slf4j-api from 2.0.19 to 2.0.20 #4721
  • Bump org.slf4j:slf4j-api from 2.0.18 to 2.0.19 #4670