Spring Integration 7.1.0-M3: Cloud Events and Duration API
Spring Integration 7.1.0-M3 ships as part of the wave of third milestone releases from the Spring portfolio. The headline addition is CloudEventHeadersBuilder, a new class that makes it straightforward to configure cloud event headers on outbound messages without manually setting each header key. Cloud Events is the CNCF specification for describing event data in a common format, so this addition makes Spring Integration a first-class participant in event-driven systems that span multiple platforms.
The release also replaces the Java TimeUnit enum with the standard Duration class across RedisQueue* message channel classes. This aligns with modern Java idioms and makes timeout configuration more expressive — Duration.ofSeconds(30) is clearer at the call site than TimeUnit.SECONDS, 30. Existing code using TimeUnit will need to be updated when upgrading, but the migration is mechanical.
Spring Integration 7.1.0-M3 rounds out its changes with the usual set of bug fixes and dependency upgrades in preparation for a final 7.1.0 release later in 2026.
Read more — InfoQ
Spring AI 2.0.0-M3: McpClientCustomizer and Builder Improvements
Spring AI 2.0.0-M3 introduces McpClientCustomizer, an interface that gives developers fine-grained control over how named MCP client components are assembled. Previously, MCP client configuration in Spring AI was handled through auto-configuration properties alone; McpClientCustomizer opens a programmatic hook to modify individual client instances after they are built by the auto-configuration, following the same pattern as Spring Boot's WebClientCustomizer or RestTemplateCustomizer.
The milestone also improves builder patterns across AI provider integrations. ZhiPuAiChatOptions receives an improved builder, and OllamaChatOptions gains a proper builder that was previously missing. Consistent builders across provider options reduce friction when composing complex chat configurations programmatically.
This milestone is part of the road to Spring AI 2.0 GA, which targets compatibility with Spring Boot 4.1. The Spring AI 2.0.0-M4 release published earlier this week patched four security CVEs and replaced the RestClient-based Anthropic integration with the official Anthropic Java SDK; M3 establishes the structural foundation that M4 built upon.
Read more — InfoQ
Spring for Apache Kafka 4.1.0-M2: RENEW Acknowledgment and Share Consumer Error Handling
Spring for Apache Kafka 4.1.0-M2 targets applications using Apache Kafka's share consumer protocol, the new consumption model introduced in Kafka 4.0. The milestone adds a RENEW acknowledgment type, which extends the acquisition lock duration on a consumed record without immediately committing or releasing it. This is useful in processing pipelines where work takes longer than the default lock timeout but the consumer wants to hold the record rather than returning it to the share group.
The release also enhances ShareKafkaMessageListenerContainer with both poll-level and listener-level error handling hooks. This gives developers the same level of error-handling control they have in traditional consumer group containers: errors during polling (connection issues, deserialization failures) and errors during listener execution can each be handled with separate strategies.
Spring for Apache Kafka 4.1 is on track to align with the Spring Boot 4.1 release train, bringing full support for Kafka 4.x share consumers as a stable supported feature.
Read more — InfoQ
Spring Vault 4.1.0-M1: Certificate Bundle Management and Simplified Secret Lifecycle
Spring Vault 4.1.0-M1 is the first milestone toward the 4.1 release train and introduces two new abstractions for working with HashiCorp Vault secrets. CertificateContainer provides a unified type for holding a certificate bundle — the certificate, chain, and private key — making it easier to pass PKI secrets through the application without unpacking raw Vault API responses. Applications that rotate TLS certificates from Vault can now consume them through a typed container rather than raw maps.
The milestone also introduces ManagedSecret and the SecretsRegistry interface, which together simplify the lifecycle management of secrets that must be renewed or rotated on a schedule. SecretsRegistry acts as a central registry where secrets register themselves for renewal, replacing ad-hoc scheduled tasks that developers would previously write themselves. The container manages TTL-based renewal transparently.
These additions position Spring Vault 4.1 as a more complete secrets management solution for Spring applications that rely heavily on dynamic Vault-issued credentials such as database passwords, PKI certificates, and cloud provider tokens.
Read more — InfoQ
Spring AMQP 4.1.0-M3: AMQP 1.0 Listener Annotation
Spring AMQP 4.1.0-M3 delivers the @AmqpListener annotation with support for the AMQP 1.0 specification. The earlier AMQP 0-9-1 annotation-based model required separate configuration for AMQP 1.0 connections; @AmqpListener unifies the listener programming model across both protocol versions. This is the companion change on the messaging side to the AmqpConnectionFactory and AmqpClient auto-configuration added in Spring Boot 4.1.0-M3 earlier this month.
The release also adds a classic() method to QueueBuilder, which creates queues using the classic queue type in RabbitMQ. With RabbitMQ 4.x deprecating mirrored classic queues in favour of quorum queues, having an explicit classic() builder method makes intent unambiguous when defining queues that are intentionally non-replicated.
Read more — InfoQ
Spring Tools 5.1.0: Eclipse 2026-03 Alignment and JEP 483 Startup
Spring Tools 5.1.0 aligns with the Eclipse IDE 2026-03 simultaneous release, bringing the full tooling suite up to date with the latest Eclipse platform. For developers using Spring Tools Suite built on Eclipse, this means a new base platform with its own improvements in workspace management, memory handling, and Java tooling.
The more technically interesting addition is support for JEP 483, the Ahead-of-Time Class Loading and Linking feature introduced in JDK 24. Spring Tools uses its language server for analysis and code intelligence, and JEP 483 allows the JVM to cache loaded and linked class state across restarts. The result is noticeably faster language server startup in projects that take advantage of JEP 483, reducing the time from IDE launch to having full code intelligence active. Spring Tools 5.1.0 also adds JDBC query conversion tooling for transforming legacy JDBC code patterns.
Read more — InfoQ