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-...