Skip to content

Releases: spring-projects/spring-ai

Spring AI 1.1.0-M1

09 Sep 00:03
Compare
Choose a tag to compare
Spring AI 1.1.0-M1 Pre-release
Pre-release

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 of properties 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 of properties 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...
Read more

Spring AI 1.0.1

08 Aug 19:32
Compare
Choose a tag to compare

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