Spring Shell 4.0.0 GA released!
On behalf of the team and all contributors, I am pleased to announce that Spring Shell 4.0.0 GA is now available from Maven Central!
What's new?
This major release marks a significant milestone in the evolution of Spring Shell and comes with several new features, improvements, and bug fixes. Some of the highlights include:
- Alignment with Spring projects: Compatibility with the latest versions of Spring Framework and Spring Boot, ensuring seamless integration and improved performance.
- Enhanced Command Model: A revamped command model that simplifies the creation and management of commands, making it easier for developers to build interactive CLI applications.
- Improved APIs Null Safety: Use of jSpecify null-safety features to reduce the likelihood of
NullPointerExceptions. - Improved Modularity: A more modular architecture that allows for better customization and extension of the shell's capabilities.
- Updated Documentation…
This Year in Spring – December 30th, 2025
Hi, Spring fans! Can you believe it? It's already the 30th of December! I celebrated Christmas with my family in Los Angeles, then we jumped on a flight headed for Southeast Asia to ring in the New Year with more friends and family. I'm sitting at a café in the sweltering city of Kuala Lumpur, Malaysia as I write this - looking back fondly at the last week of, and the entire year of, 2025.
That's right! It's time for my yearly tradition of retroactive year-end navel‑gazing and analysis; it's time for This Year in Spring, where we review the good, the great, and the amazing: the top five best…
Evolving Spring Vault: Introducing VaultClient
Back in September 2016, nearly a decade ago now, we introduced Spring Vault as a integration layer for HashiCorp Vault within Spring applications, complemented by Spring Cloud Vault for Spring Boot arrangements. The core idea has always been straightforward: Externalizing secrets to encrypted Vault storage to reduce application-side complexity considerably, especially by leveraging Vault's secure primitives for communication and authentication.
VaultTemplate and its reactive counterpart ReactiveVaultTemplate have served us well, providing a familiar Java-based programming interface for…
A Bootiful Podcast: Nate Schutta the fundamentals of software engineering
Hi Spring fans, and happy holidays! I'm delighted to be joined again on this episode by my friend and fellow harbinger of doom (in the best possible way), Nate Schutta — co-author of the wonderful book Foundations of Software Engineering!
This Week in Spring – December 23rd, 2025
Happy holidays, everyone! The year may be winding down, but the Spring ecosystem continues unabated. We’re now a few weeks past the generational Spring Boot 4.0 release in November, and there have been tons of releases (and patches) since then. There’s also equal excitement reflected in posts from the community, so we’ve got a lot to dig into this week. So, without further ado…
- In last week’s installment of A Bootiful Podcast, I talked to the legendary Spring cofounder Juergen Hoeller
https://spring.io/blog/2025/12/18/a-bootiful-podcast-juergen-hoeller - Next-level Kotlin support in Spring Boot 4
https://spring.io/blog/2025/12/18/next-level-kotlin-support-in-spring-boot-4 - Spring Shell 4.0.0-RC1 available now
https://spring.io/blog/2025/12/19/spring-shell-4-0-0-rc1-released - Spring Modulith 2.0.1, 1.4.6, and 1.3.12 released
https://spring.io/blog/2025/12/20/spring-modulith-2-0-1-1-4-6-and-1-3-12-released - Spring Tools 5 released
…
Explainable AI Agents: Capture LLM Tool Call Reasoning with Spring AI
When building AI agents with tool calling capabilities, developers often need insights into why an LLM chose a particular tool—not just which tool it selected. Understanding the model's reasoning process is important for debugging, observability, and building trustworthy AI systems.
Spring AI now (2.0.0-SNAPSHOT/1.1.3-SNAPSHOT) includes the Tool Argument Augmenter feature that enables dynamic augmentation of tool input schemas with additional arguments before sending tool definitions to the LLM. This allows AI applications to capture extra information from the model—such as reasoning, inner…
Spring Tools 5.0.1 released
On behalf of the team, it is my pleasure to announce the release of the Spring Tools 5.0.1.
This release includes fixes for:
- log messages from language server appear in Error Log view in Eclipse #1747
- ai-related code lenses around Copilot do not show up in VSCode #1746
- TM Terminal superseded by Terminal Feature in Eclipse 2025-12 #1748
Detailed changes can be found in the release notes: https://github.com/spring-projects/spring-tools/releases/tag/5.0.1.RELEASE
To download the distribution for Eclipse and find links to the marketplace entries for Visual Studio Code, Cursor, and Theia, please…
Spring Modulith 2.0.1, 1.4.6, and 1.3.12 released
Spring Modulith Christmas came early this year and I am happy to announce the release of Spring Modulith 2.0.1, 1.4.6, and 1.3.12. The releases contain the usual platform upgrades around Spring Boot and Framework. On top of that, we ship the following improvements and bug fixes:
- Allow resetting the shift in
TimeMachine(2.0.1 – #1491) @ApplicationModuleTestdoes not bootstrap beans from test configuration (2.0.1 – #1495, 1.4.6 – #1494),- CGLib proxy created for
JdbcEventPublicationRepositoryV2causing issues in native image (2.0.1 – #1493) ClassNotFoundExceptionforpackage-infofromJavaPackageduring runtime bootstrap (2.0.1 – #1487) …
Spring Shell 4.0.0-RC1 available now
On behalf of the team and all contributors, I am pleased to announce that Spring Shell 4.0.0-RC1 is now available from Maven Central!
What's new?
This first release candidate comes with feature alignment with the previous generation as well as several improvements and bug fixes.
Major changes include:
- Support for debug mode
- Support for command completion and custom completion providers
- Support for hidden commands
- Support for command option validation with the Bean Validation API
- Support for exception mapping
For the complete list of changes, please check the release notes.
What's next?
Our plan for now is to make this release candidate as stable as possible in preparation for Spring Shell 4.0…