Releases: spring-projects/spring-ai
Releases · spring-projects/spring-ai
Spring AI 1.1.0-M1
Spring AI Next Release Release Notes
🎯 Highlights
This release includes 47 new features, 106 bug fixes, 70 documentation improvements, 120 other improvements.
⏪ Breaking Changes
- Auto-configuration classes for Model Context Protocol (MCP) have been renamed with 'Mcp' prefix for consistency 21c4283
- maxTokens and maxCompletionTokens parameters are now mutually exclusive in OpenAI ChatOptions, requiring users to choose one option 13c39f1
- Changed UserMessage to use
metadata
instead ofproperties
for better API consistency #3980 - Extracted VectorStoreRetriever interface from VectorStore which may require code updates for custom implementations #3827 via #1290
⚠️ Upgrading Notes
- Update imports for MCP auto-configuration classes that have been renamed with 'Mcp' prefix 21c4283
- When configuring OpenAI ChatOptions, ensure you use either maxTokens or maxCompletionTokens, but not both simultaneously 13c39f1
- Update code to use
metadata
instead ofproperties
when working with UserMessage objects #3980 - Custom VectorStore implementations may need to be updated to implement the new VectorStoreRetriever interface #3827
📢 Noteworthy
- Removed support for the deprecated Mistral AI Codestral Mamba model as part of code cleanup #4225
- Significantly improved test coverage for MistralAiBindingsPropertiesProcessor to ensure robust MistralAI integration #4165
- Improved test coverage for EmbeddingModelObservationContext and SyncMcpToolCallback edge cases to ensure better reliability #4157
- Significantly improved test coverage for QdrantObjectFactory.toObjectMap, SimpleVectorStore filter conditions, and various other components #4095
- Removed hardcoded topK value in BedrockConverseProxyChatProperties for better configuration flexibility #3621
- Refactored MessageAggregator to properly handle and include tool calls in message aggregation df90b9c
- Cleaned up QdrantVectorStoreIT by removing unnecessary environment variable validation #3615
- Temporarily reverted a fix for OpenAI function callback integration test 3bce15a
- Temporarily reverted a parameter order fix in validateToolContextSupport method f0c128c
- Temporarily reverted changes to resolve OpenAI API key for every request due to compatibility issues 313aae0
⭐ New Features
- Tool callbacks now expose the original tool name in both synchronous and asynchronous operations, providing better visibility into tool execution 6678035
- Added support for sending labels with chat requests in Google Generative AI integration 1dd686b
- Added comprehensive annotation-based configuration support for Model Context Protocol (MCP) clients and servers 534c6af
- Added support for OpenAI service_tier parameter in OpenAiChatOptions to enable control over service quality levels ad2e1bc
- Refactored MCP (Model Control Protocol) server auto-configuration to use consolidated modules with protocol-based configuration approach e71da4e
- Added missing Spring Boot starters for Google GenAI integration, enabling easier autoconfiguration 528155a
- Improved Unicode property union handling for robust Chinese character processing 35486e9
- Use latest CI scripts when testing old commits for improved testing reliability a9f93b0
- Restructured MCP server auto-configurations and added streamable-http support for improved streaming capabilities 0b96f4c
- Added support for new GPT-5 models with verbosity parameter configuration #4086
- Added comprehensive debugging capabilities to improve maintenance branch workflow reliability and troubleshooting 3ce6d38
- Added support for fast CI builds when cherry-picking changes to maintenance branches 29ac7d9
- Added autoconfiguration for MCP client with support for async HTTP request customization 7ad7150
- Configured McpSyncServer to use immediate execution when running in a servlet context 568ca96
- Added support for GPT-5 model enum with updated documentation 1a3ed95
- Added KotlinModule support and tests for schema generation in BeanOutputConverter to improve Kotlin integration #3900
- ChatClient now supports adding metadata to both PromptUserSpec and PromptSystemSpec, enabling richer message context and processing capabilities #3989
- Added Google GenAI embedding module with unified SDK support for enhanced integration capabilities 085446c
- Added ability to use custom templates with KeywordMetadataEnricher for enhanced metadata enrichment capabilities c122fe1
- Added new spring-ai-google-genai module using Google's latest GenAI SDK for improved Google AI model integration daf1274
- Added log probabilities support for Vertex AI Gemini models e557081
- Added streamable HTTP transport support for Model Context Protocol (MCP) client 656395e
- Added BedrockChatOptions to Bedrock integration for improved configuration 99e59a2
- Introduces a standardized interface for audio transcription across different model providers 4cf2377
- Enhances ZhiPu AI integration with fluent builder pattern for easier configuration d865c9e
- ZhiPuAI embedding model now supports configurable custom dimensions #3668 via #1857
- Added configuration option for meta field prefix in Weaviate vector store properties #3585
- Improved function capabilities through @tool annotation improvements for better function calling integration 22fc730
- Enhanced MistralChatOptions with updated configuration capabilities a2a92bb
- Added selective exception rethrowing capability to DefaultToolExecutionExceptionProcessor for better error handling control beb1d05
- ChatClient#mutate now creates copies of advisors and advisorParams instead of referencing the originals f391ff2
- Made the content field configurable in Weaviate vector store properties to provide more flexibility in vector store configurat...
Spring AI 1.0.1
Spring AI 1.0.1 Release Notes
🎯 Highlights
This release includes 24 new features, 50 bug fixes, 45 documentation improvements, 32 other improvements.
📢 Noteworthy
- Official release of Spring AI version 1.0.1 with consolidated bug fixes and documentation improvements 53ec007
- Multiple commits were reverted related to tool context validation fixes and OpenAI chat client method invoking function callback integration tests 80ffb4c
- Temporarily reverted the change that resolved OpenAI ApiKey for every request, indicating potential issues that required investigation 8a2706d
⭐ New Features
- Enhanced KeywordMetadataEnricher with custom template functionality to provide more flexible metadata enrichment capabilities 2082a59
- Added validation to check documents for text/media content when adding to vector stores #3687
- Improved @tool annotation functionality to enhance function calling capabilities 62160d3
- Added support for streaming tool calls without parameters in the Anthropic chat model 2099278
- Updated and improved configuration options for Mistral chat model integration c18a241
- Added capability to selectively rethrow exceptions in the default tool execution exception processor d1baefb
- Refactored MessageAggregator to include support for tool calls functionality 1805ca0
- The ChatClient#mutate method now creates copies of advisors and advisorParams instead of sharing references, improving isolation between chat client instances ccfaaf1
- Added equals, hashCode, deep copy functionality and comprehensive tests to MiniMaxChatOptions for better object handling and comparison dc9ea17
- Added support for new Mistral AI chat models to expand the available model providers #3523
- Enhanced OllamaChatModel with retry template integration for improved reliability f89530c
- Added streaming thinking events support for Anthropic model provider to enhance real-time interaction capabilities 379901b
- Enhanced OpenAI integration with updated supported voice enumerations for text-to-speech and chat completion audio features #3411
- Added support for dynamic API key configuration for Anthropic model provider on a per-request basis ae9284c
- Neo4j vector store now automatically determines default embedding dimensions based on the configured model 96c45c7
- Added Spring Framework 7.x compatibility to RetryUtils#ResponseErrorHandler to support upcoming Spring Framework versions 5ecfcce
- Enhanced OpenAI client to resolve API key for every request, improving key rotation and configuration flexibility dd6c0a9
- Introduced support for Anthropic's latest Claude models including claude-opus-4 and claude-sonnet-4 #3351
- Extended OpenAI integration to support PDF files as media input a330458
- Provided MySQL database schema for SPRING_AI_CHAT_MEMORY table to support chat memory functionality 148bf33
- Improved handling and testing of complex metadata values in Chroma vector store integration aba837a
- Added metadata support for vector store types to enhance data management capabilities #3325
- Added support for configurable exception handling when executing tools, providing better error management and recovery options 3068c04
- Added comprehensive integration tests for Chat Memory functionality with SQL Server support a6858cf
🪲 Bug Fixes
- Resolved issue where method tool calls would throw errors when methods had the same name #2774
- Fixed typo in frequencyPenalty property name for Google model builders 2e579b1
- Corrected spelling of PromptTemplate in structured output API documentation image #3304
- Resolved null pointer exception in Anthropic API streaming functionality #3755
- Fixed issue where SystemPromptTemplate.builder() incorrectly returned PromptTemplate builder 2f91adb
- Corrected parameter sequence in JSON schema generation functionality f20eeea
- Resolved annotation packaging issues #3716
- Resolved issue where audio filenames were lost when requesting OpenAI
/transcriptions
and/translations
interfaces c0c7f3a - Enhanced schema initialization logic and updated deprecated code for Milvus vector store #3705
- Added null checks, optimized string joining, and improved JavaDocs #3663
- Corrected assertion message in SimpleApiKey implementation for better debugging #3656
- Prevented streaming tool calling responses when internal execution is enabled for Anthropic models 5d8a930
- Cleaned up unused configuration options from ZhiPu AI model implementation #3669
- Added support for custom dimensions in ZhiPu AI embedding models #3668
- Removed incorrect @nullable annotation from VectorStore similaritySearch methods #3613
- Added validation for invalid page numbers in outline items for getTextBetweenParagraphs method 50e8615
- Corrected issues with Ollama autoconfiguration that were preventing proper setup #3645
- Fixed naming inconsistencies throughout the Mistral integration package #3652
- Resolved issue where streaming tool calls without input arguments would fail in Bedrock integration d1dac6c
- Fixed hardcoded configuration parameter to allow proper customization of topK values in Bedrock Converse Proxy #3621
- Prevents incorrect ToolCall merging in DeepSeek model provider when tool calls have empty id and name strings ff5855d
- Resolves test failure in ChromaVectorStoreAutoConfigurationIT due to updated exception message handling 7200580
- Resolved exception occurring in OpenAiAudioTranscriptionResponseMetadata.toString method #3575
- Corrected infinite recursion issue in getMimeType(Path) method b6b069c
- Improved root exception handling in McpToolCallback to prevent unhandled errors fb1746b
- Corrected logging behavior when creating ChromaDB collections [e0d3703](https://github.com/spring-projects/spring-...