On behalf of the Spring AI team, I'm pleased to announce the general availability of Spring AI 1.1.0!
Spring AI 1.1 brings Model Context Protocol integration, advanced AI capabilities, and expanded model provider support to the Spring ecosystem. The 1.1 development cycle includes over 850 improvements, bug fixes, and documentation updates.
We extend our sincere thanks to the community contributors, partner organizations, and the broader Spring AI ecosystem for their invaluable contributions throughout this release cycle.
Release Summary
Spring AI 1.1.0 includes substantial improvements across all areas:
- Over 850 total improvements across M1, M2, M3, M4, and RC1 (GitHub Release)
- 354 enhancements including major new features and integrations
- 241 bug fixes for improved stability and reliability
- 100 documentation improvements with new guides and examples
- 23 security updates and dependency upgrades
- Contributions from the community spanning multiple organizations and open source projects
Model Context Protocol
The Model Context Protocol (MCP) represents the most significant feature set improvement to Spring AI 1.1. Spring AI provides Spring Boot auto-configuration and a comprehensive annotation-based programming model for MCP integration.
Spring AI MCP Features
Annotation-Based Programming Model:
@McpTool
public String getCurrentWeather(String location) {
// Tool implementation
}
@McpResource
public String getDatabaseSchema() {
// Resource implementation
}
@McpPrompt
public String generateSqlQuery(String userIntent) {
// Prompt template implementation
}
Multiple Transport Options:
- STDIO transport for local process communication
- HTTP SSE (Server-Sent Events) for web-based integrations
- Streamable HTTP for stateful session management with resumability
Spring Boot Auto-Configuration: Multiple specialized starters support both client and server implementations across WebFlux, WebMVC, and Servlet environments. Docker Compose and Testcontainers integration enables containerized MCP gateway deployments.
Security Integration: Security documentation covers OAuth2 integration patterns for securing MCP servers. Read more in Daniel Garnier-Moiroux's blog post: Securing MCP Servers with Spring AI.
Getting Started: Christian Tzolov's blog post: Connect Your AI to Everything: Spring AI's MCP Boot Starters.
For a deep technical dive, watch the Beyond local tools: Deep dive into MCP presentation by James Ward and Maximilian Schellhorn.
Prompt Caching
Spring AI 1.1 adds prompt caching support for Anthropic Claude and AWS Bedrock, reducing costs by up to 90% while improving response times.
Anthropic Claude Prompt Caching
Anthropic Claude Documentation
Spring AI supports five cache strategies for Anthropic Claude:
- NONE: No caching (default)
- SYSTEM_ONLY: Cache system messages
- TOOLS_ONLY: Cache tool definitions
- SYSTEM_AND_TOOLS: Cache system messages and tool definitions
- CONVERSATION_HISTORY: Incremental caching following Anthropic's best practices
Cache time-to-live (TTL) options include 5-minute and 1-hour caching, with automatic cache management and eligibility tracking.
Soby Chacko's detailed guide covers implementation patterns: Prompt Caching Support in Spring AI with Anthropic Claude.
AWS Bedrock Prompt Caching
AWS Bedrock Converse API now supports prompt caching for Claude and Nova models, providing similar cost optimization benefits for applications deployed on AWS infrastructure.
Implementation details are available in: AWS Bedrock Prompt Caching Support in Spring AI.
Advanced AI Capabilities
Reasoning and Thinking Mode Support
Spring AI 1.1 provides native support for AI models with reasoning capabilities across multiple providers:
- Ollama: Thinking mode support for reasoning models with effort parameter control via OpenAI compatibility
- ZhipuAI:
thinkingandresponse_formatparameter support for GLM models - Anthropic (docs): Streaming thinking events with access to reasoning chains
- OpenAI (docs): Access to reasoning content and custom parameters
The ReasoningContent API enables applications to inspect and utilize the model's reasoning process.
Recursive Advisors for Self-Improving AI Agents
The new recursive advisor feature enables advisors to call other advisors in chains, creating sophisticated multi-step AI workflows. Two built-in recursive advisor implementations provide pre-configured patterns for common use cases, with configurable observations for monitoring and debugging.
This feature enables building self-improving AI agents that can refine their own outputs through iterative processing. Christian Tzolov's blog post demonstrates the pattern: Create Self-Improving AI Agents Using Spring AI Recursive Advisors.
The recursive advisor pattern also enables implementing LLM-as-a-Judge evaluation systems, as detailed in: LLM Response Evaluation with Spring AI: Building LLM-as-a-Judge Using Recursive Advisors.
Expanded Model Provider Ecosystem
Spring AI 1.1 broadens model provider support with new integrations and enhanced capabilities:
New Provider Integrations
Google GenAI SDK Integration:
Google GenAI Chat Documentation | Google GenAI Embeddings Documentation
- Native support for Gemini Pro, Gemini 1.5 Pro, and Gemini 2.0 Flash models
- Dual authentication: API keys and Google Cloud credentials
- Chat and text embedding capabilities
- Cached Content API support
Thanks to Dan Dobrin (@ddobrin) from Google for contributing this integration.
ElevenLabs Text-to-Speech:
- Streaming audio generation
- Multiple voice options
- Support for various audio formats
Thanks to Alexandros Pappas (@apappascs) for contributing this integration.
Both OpenAI and ElevenLabs implement the TextToSpeechModel interface (docs), providing a consistent model-level API across providers.
Enhanced Model Support
OpenAI:
OpenAI Chat Documentation | OpenAI Audio Documentation
- GPT-5 model family support (gpt-5, gpt-5-mini, gpt-5-nano) - Thanks to Alexandros Pappas (@apappascs)
- File API (docs) for upload and management - Thanks to Sun Yuhan (@sunyuhan1998)
- Reasoning content access
- Expanded TTS and transcription models - Thanks to Alexandros Pappas (@apappascs)
Anthropic Claude:
Anthropic Claude Documentation
- Latest Claude models: Sonnet 4.5, Opus 4.1
- Citations API for source attribution and traceability
- Tool choice support for controlling function calling - Thanks to Austin Dase (@adase11)
- Enhanced prompt caching with cache management - Thanks to Austin Dase (@adase11)
Mistral AI:
- OCR API (docs) integration for document and image text extraction - Thanks to Alexandros Pappas (@apappascs)
- Codestral Embed model support - Thanks to Nicolas Krier (@nicolaskrier)
- Builder pattern consistency - Thanks to Jason Smith (@jasonparallel)
ZhipuAI:
- GLM-4.6 model support and international site integration - Thanks to YunKui Lu (@luyunkui95)
- GLM-4.5 and GLM-Z1 model support - Thanks to YuJie Wan (@eeaters)
- Thinking mode capabilities - Thanks to YunKui Lu (@luyunkui95)
Vector Stores, Chat Memory, and Observability
Vector Store Enhancements
Spring AI 1.1 includes improvements for retrieval-augmented generation (RAG) applications:
- MariaDB Vector Store (docs): Full integration with similarity scoring - Thanks to Tilman Holube (@tilman)
- OpenSearch Approximate k-NN (docs): Performance-optimized approximate search - Thanks to Jemin Huh (@JM-Lab)
- GemFire Metadata Filtering (docs): Advanced filtering for similarity searches - Thanks to Jason Huynh (@jason.huynh)
- Weaviate Configuration (docs): Enhanced field customization (meta prefix, content field, embedding field) - Thanks to Jonghoon Park (@dev-jonghoonpark)
- VectorStoreRetriever Interface (docs): Read-only abstraction following the principle of least privilege
Chat Memory Storage Options
Multiple conversation storage options:
- MongoDB Chat Memory Repository: MongoDB integration for conversation history - Thanks to Łukasz Jernaś (@deejay1)
- Oracle JDBC ChatMemoryRepository: Oracle database support with H2 and SQLite dialects - Thanks to guanxu (@guanxuc) and fanxt0218 (@fanxt0218)
- Azure Cosmos DB Chat Memory: Azure integration for globally distributed deployments - Thanks to Theo van Kraay (@TheovanKraay) from Microsoft
Observability and Monitoring
Micrometer Observability enhancements:
- Observation context enhancements for better context propagation - Thanks to Thomas Vitale (@ThomasVitale)
- Chat client completion logging for debugging - Thanks to Jonatan Ivanov (@jonatan-ivanov)
- Configurable advisor observations
- Metrics documentation with Prometheus and OpenTelemetry mapping guidance - Thanks to heechann (@heechann)
Other Improvements
- MCP Java SDK Evolution: Advanced from v0.10.0 to v0.15.0 during the 1.1 development cycle
- Document Processing (docs): MarkdownDocumentReader with batch processing, enhanced multimodal PDF support
- Developer Experience: Unified builder patterns across EmbeddingOptions and ChatOptions
- Network Reliability: Automatic retry configuration for distributed deployments
- Security Documentation: MCP security reference with OAuth2 patterns
- Example Repository: 37 total modules with 24 featuring integration tests - Spring AI Examples
Community and Ecosystem
Spring AI Community GitHub Organization
The new Spring AI Community GitHub Organization provides a home for community-driven projects that extend Spring AI.
Read the announcement: Introducing the Spring AI Community GitHub Organization.
Spring AI Agents and Bench
New projects for building and evaluating AI agents:
- Spring AI Agents (docs): Framework for building agentic coding tools and AI agents
- Spring AI Bench (docs): Benchmarking and evaluation toolkit
Learn more: Introducing Spring AI Agents and Spring AI Bench.
Conference Talks and Tutorials
The Spring AI community has been sharing knowledge through presentations and tutorials:
- Modular RAG Architectures with Java and Spring AI by Thomas Vitale at Spring I/O 2025
- Devnexus 2025 - Spring AI with Dr. Mark Pollack and Josh Long
- Spring AI Complete Tutorial by Dan Vega
MCP Java SDK Contributions
The MCP Java SDK represents a collaborative effort across the Java ecosystem. Contributors to the MCP Java SDK during the 1.1 development cycle include:
- Broadcom: Christian Tzolov (@tzolov), Daniel Garnier-Moiroux (@Kehrlann), Dariusz Jędrzejczyk (@chemicL)
- Oracle: Graeme Rocher (@graemerocher), Sergio del Amo (@sdelamo)
- Confluent: Pascal Vantrepote (@pascalconfluent)
- AWS: Anurag Pant (@pantanurag555)
- Google: Yanming Zhou (@zhouyming)
- Deutsche Bank: Dmitry Bedrin (@bedrin)
- Open Source Community: He-Pin (@He-Pin) (Apache Pekko PMC), lance leehaut (@leehaut), Liujunjie (@JunJieLiu51520), Richie Caputo (@arcaputo3), shaoyin.zj (@zhangjingcn), Zizo-Vi (@Zizo-Vi), @valuesource
Getting Started with Spring AI 1.1
The Spring AI 1.1 documentation includes:
- MCP Getting Started Guide (docs): Step-by-step introduction to Model Context Protocol integration
- Provider Documentation (docs): Complete guides for all supported AI providers
- Example Repository (Spring AI Examples): Working examples with integration tests
What's Next
We will be keeping the main branch on 1.1.1-SNAPSHOT in anticipation of bug-fixing PRs over the next few weeks. Then we will shift the main branch to 2.0.0-SNAPSHOT and begin support for Spring Framework 7 and Spring Boot 4.0.
Resources
Contributors
🙏 We thank all the contributors who made this release possible. Here is the collective list of contributors since the 1.0 GA release.
- Alexandros Pappas (apappascs)
- Andrei Sumin (andrei.sumin)
- ashakirin (ashakirin)
- asw12 (asw12)
- Austin Dase (adase11)
- Cameron Kirk (kirkster96)
- chani (csbiy)
- cho-thinkfree-com (cho)
- Christian Tzolov (tzolov)
- Christopher Miles (cmiles74)
- codeboyzhou (imzhouchen)
- Dan Dobrin (ddobrin)
- Daniel Garnier-Moiroux (Kehrlann)
- Dariusz Jędrzejczyk (chemicL)
- David Frizelle (dafriz)
- Dev Bulchandani (devbulchandani)
- Dmitrii Chechetkin (dmitrii.chechetkin)
- Eddú Meléndez (eddu.melendez)
- Eric Bottard (ericbottard)
- fanxt0218 (fanxt0218)
- Forte Scarlet (ForteScarlet)
- Gareth Evans (garethjevans)
- guanxu (guanxuc)
- heechann (HeeChanN)
- Hyeri1ee (Hyeri1ee)
- Hyoseop Song (loveysuby)
- Hyunsang Han (HyunSangHan)
- Ilayaperumal Gopinathan (ilayaperumalg)
- Issam El-atif (ielatif)
- jacquicollier2-eng (jacquicollier2-eng)
- James Ward (jamesward)
- Jared Rufer (emopti-jrufer)
- Jason Huynh (jason.huynh)
- Jason Smith (jasonparallel)
- Jemin Huh (JM-Lab)
- Jian (jiafu1115)
- Jinwoo Lee (jinlee1703)
- Jonatan Ivanov (jonatan-ivanov)
- Josh Long (joshlong)
- kuntal1461 (kuntal1461)
- lance (leehaut)
- Laura Trotta (l-trotta)
- leeyazhou (bytesgo)
- Li Huagang-简放视野 (bert825_work)
- Link (eeaters)
- little_huang (little-huang)
- liugddx (liugddx)
- Mark Pollack (markpollack)
- Martin Kamp Jensen (mkjensen)
- MartinDai (MartinDai)
- Mattia Pasetto (wilocu)
- MoGreene (Mo-Greene)
- NathanGrand (q-nathangrand)
- Nguyen Tran (Mark) (nguyen.trantrung)
- Nicolas Krier (nicolaskrier)
- Nils Breunese (nils)
- Oleksandr Klymenko (alxkm)
- Oskar Drozda (Hiosdra)
- Pawel Potaczala (centrumek)
- Philip I. Thomas (philipithomas)
- Rafael Cunha (rafaelrddc)
- robinmayerhofer (robinmayerhofer)
- Sandra Ahlgrimm (SandraAhlgrimm)
- Senrey_Song (SenreySong)
- seongm1n (seongm1n)
- Shahbaz Aamir (shahbazaamir)
- shishuiwuhen2009 (shishuiwuhen2009)
- SiBo Ai (ai-afk)
- Soby Chacko (sobychacko)
- Stuart Loxton (stuart.loxton)
- Suganthi Thomas (SuganthiThomas)
- Sun Yuhan (sunyuhan1998)
- Theo van Kraay (theo.van)
- Thomas Vitale (ThomasVitale)
- Thorben Janssen (thjanssen)
- Toshiaki Maki (makingx)
- Tran Ngoc Nhan (ngocnhan-tran1996)
- vdm24 (vdm24)
- Viacheslav Dobrynin (viacheslav-dobrynin)
- Waldemar Panas (waldemar.panas)
- Wenli Tian (jamespud)
- Willams (nnam-droid12)
- xfl12345 (xfl12345)
- Yang Li (Yornii)
- Yaner (yaner-here)
- Yanming Zhou (quaff)
- YuJie Wan (eeaters)
- YunKui Lu (YunKuiLu)
- Łukasz Jernaś (deejay1)
