github spring-projects/spring-ai v1.1.0-M1
Spring AI 1.1.0-M1

pre-releaseone day ago

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 configuration 24de06e
  • Added integration with ElevenLabs for text-to-speech functionality 9398850
  • Expanded Mistral AI integration with support for additional chat models #3523
  • Enhanced OllamaChatModel with retry template support for improved reliability cfbefee
  • Improved MiniMaxChatOptions with proper equality methods and deep copy functionality d9e3037
  • Added support for streaming thinking events in the Anthropic model provider, enabling real-time access to model reasoning processes 12f19db
  • Enhanced OpenAI integration with updated supported voice enums for text-to-speech and chat completions #3411
  • Neo4j module now automatically determines default embedding dimensions from the model cb97d9c
  • Added support for dynamically providing API keys for Anthropic requests on a per-request basis 0a1cf81
  • Added support for the latest Claude Opus-4 and Sonnet-4 models in the Anthropic chat model integration #3351
  • Enhanced OpenAI integration to support PDF files as media input for chat models 1f2bd08
  • Added MySQL database schema support for the SPRING_AI_CHAT_MEMORY table 9f58520
  • Improved handling and testing of complex metadata values in Chroma vector store integration 7466cb9
  • Added comprehensive metadata support for various vector store types to enable richer data storage and retrieval f78b549
  • Added configurable exception handling mechanisms for tool execution to improve error management and debugging capabilities 6f61fee
  • Added comprehensive integration tests for Chat Memory functionality when using SQL Server as the backend 4cac3ff

🪲 Bug Fixes

  • Resolved issue with toolAnnotationWeatherForecast test in BedrockNovaChatClientIT 58a527d
  • Resolved code style violations to maintain code quality standards 01c4b14
  • Corrected spelling error in STATELESS constant reference deffe80
  • Cleaned up unnecessary exception handling in JDBC chat memory implementation #4288
  • Resolved issue with FunctionCallWithPromptFunctionIT test for Anthropic provider c8a75ab
  • Resolved streamFunctionCallUsageTest failure in AzureOpenAiChatModelFunctionCallIT 7840139
  • Fixed chatCompletionStreamError handling in AnthropicApiIT integration tests e1228a7
  • Removed unnecessary null checks in template variable validation logic #4104
  • Resolved reordering problems in AzureOpenAi chat model implementation that affected message processing #4156
  • Enhanced error handling in ToolCallingAutoConfiguration to only log class names on ClassNotFoundException for better debugging befaf87
  • Resolved null pointer exception that occurred when converting MCP tools to async tool specifications 36a97d3
  • Fixed issues with calling stateless MCP (Model Control Protocol) tools 1df5f5c
  • Cleaned up duplicate code in AzureOpenAiChatOptions class c9ad1c7
  • Replaced SimpleDateFormat with thread-safe DateTimeFormatter to prevent concurrency issues b4348e6
  • Resolved issues with MCP client auto-configuration tests and added comprehensive documentation 2c6e448
  • Fixed test execution to only run tests for affected modules, not their dependencies, improving build efficiency 97eb1c9
  • Correctly exclude root module from affected modules list and handle empty string cases properly 77a704f
  • Prevent root module from appearing in affected modules list during build processes b8eac35
  • Add -am flag to properly build required dependencies during the build process 8f45ca1
  • Fixed main-push-fast workflow module detection and prevented recursive triggers to ensure stable CI operations b9cc239
  • Simplified commit SHA checkout to avoid git fetch issues and added enhanced run context a8cf2c9
  • Resolved infinite recursion in MongoDbAtlasLocalContainerConnectionDetails.getSslBundle() method #4149 via #4133
  • Corrected issue where actual model version used for chat was not being returned properly #4152
  • Properly handle merge operations when 'current' parameter is null #4153
  • Resolved NullPointerException when metadata is null in MilvusVectorStore operations #4116 via #4115
  • Fixed metadata immutability issue in Azure AI Search vector store implementation #4131 via #4117
  • Improved bean naming convention for streamable HTTP WebFlux client transports #4146
  • Resolved an issue where empty string finish_reason values in OpenAI streaming responses were not handled correctly #4132 via #1358
  • Resolved flaky test issues in streaming response aggregation functionality #4135 via #4134
  • Fixed maintenance branch detection to prioritize branch detection over explicit base_ref configuration f80a71c
  • Streamlined git operations to use 'git show HEAD' approach for better maintenance branch handling 007809b
  • Fixed excessive CI triggering and git history issues on maintenance branches c5d2ccd
  • Added fail-fast fallback mechanism and single-commit git diff strategy for improved reliability cfd9095
  • Improved retry handling for ResourceAccessException when encountering network connectivity issues #4094
  • Enhanced null checking using Optional to prevent NullPointerException occurrences #4063
  • Enhanced null checking using Optional to avoid NullPointerException #4064
  • Use Map#putAll instead of individual put operations for better performance #4062
  • Added strict option to Azure ChatCompletionsJsonSchemaResponseFormat to fix JSON schema handling #3931
  • Fixed pass check behavior for evaluators and prevented null pointer exceptions #3975
  • Similarity searches with the MariaDBVectorStore now properly provide similarity scores 891ef2a
  • Eliminates one deserialization step in the majority of scenarios when parsing model responses, improving performance when handling JSON string parameters #4003
  • Properly rethrow ToolExecutionException for non-RuntimeException cases, ensuring consistent exception handling behavior #3915
  • Tool function runtime exceptions are now properly wrapped in ToolExecutionException and re-thrown for better error handling and debugging #3918 via #2857
  • Corrected documentation and code comments for the Model Context Protocol (MCP) Client and Server components #4011 via #4010
  • Improved null checking in DefaultChatClient using Optional for better safety #3976
  • Enhanced code quality with better empty checks, method references, and pattern matching usage #3977 #3978 #3979
  • Corrected example code in documentation to ensure accuracy for users #3993
  • Resolved issues with Maven Central publication process 8366fa8
  • Made embedding options builder methods consistent across Bedrock providers for improved developer experience #3906
  • Corrected spelling of frequencyPenalty property in Google builders for proper parameter handling 128c45a
  • Fixed continuous integration failures to improve build stability and reliability #3844
  • Fixed issue where method tool calls would throw errors when multiple methods had the same name #2774
  • Resolves issues in MCP server auto-configuration integration tests #3792
  • Resolves null pointer exception in Anthropic API streaming functionality #3755 via #3740
  • Corrects SystemPromptTemplate builder to return proper SystemPromptTemplate.Builder instead of generic PromptTemplate.Builder dbaa608
  • Resolves parameter ordering issues in JSON schema generation functionality #3733
  • Corrected annotation package configuration issues #3716
  • Fixed issue where audio filename was lost when requesting OpenAI /transcriptions and /translations interfaces af07517
  • Fixed issue preventing streaming tool calling responses when internal execution is enabled for Anthropic provider 879c5e2
  • Added validation for documents text/media check when adding to vector store #3687 via #3609
  • Corrected assert message in SimpleApiKey for better error reporting #3656
  • Fixed various typos throughout the codebase for improved clarity #3695
  • Removed unused configuration options from ZhiPu AI model implementation #3669
  • Removed incorrect @nullable annotation from VectorStore similaritySearch method #3613
  • Fixed incorrect changes in Ollama auto-configuration that were causing issues #3645
  • Fixed getTextBetweenParagraphs method to properly handle invalid page numbers in outline items d92a2ea
  • Corrected naming inconsistencies in the Mistral package for better consistency #3652
  • Removed unnecessary null check in OpenAiApi.Builder#apiKey(String) method #3654
  • Added required license header to FileDocumentWriterTest class #3651
  • Resolved issue with streaming tool calls that have no input parameters in Anthropic integration f575051
  • Fixed streaming tool calling functionality when no input arguments are provided in Bedrock integration 8107612
  • Corrected autoconfiguration class name and added ElevenLabs speech documentation link #3610
  • Prevents incorrect ToolCall merging caused by empty id and name strings in DeepSeek integration d61192a
  • Resolved exception in OpenAiAudioTranscriptionResponseMetadata.toString method that was causing runtime errors #3575
  • Resolved infinite recursion issue in getMimeType(Path) method that could cause stack overflow errors ab04e27
  • Resolved test failure in ChromaVectorStoreAutoConfigurationIT due to updated exception message #3581
  • Corrected logic for determining output modalities when using streaming mode d9a5337
  • Improved logging for ChromaDB collection creation to provide clearer feedback 0d8eebd
  • Enhanced error handling in McpToolCallback to properly handle root exceptions d6924b6
  • Resolved issue preventing proper generation of configuration metadata for Spring AI tools observations #3539 via #3550
  • Corrected parameter order in ClassUtils.isAssignable call within validateToolContextSupport method 76c7018
  • Resolved test configuration issues in Ollama embedding auto-configuration tests 66324a6
  • Corrected similarity option parsing in ElasticsearchVectorStore for proper functionality f8d0503
  • Corrected version alignment for ElevenLabs starter and autoconfiguration artifacts 15775f1
  • Refactored parameter naming for better code clarity in ChatGenerationMetadata #3507
  • Resolved configuration issue where embeddingFieldName was not properly set when configuring ElasticsearchVectorStore #3501 via #3500
  • Corrected issue where Bedrock Titan embeddings were not returning proper usage statistics c4e434a
  • Corrected parameter order error in validateToolContextSupport method that was causing incorrect validation results 59d2661
  • Improved logic for checking functional types in MethodToolCallbackProvider to properly identify function implementations fe4f0d1
  • Resolved SQL error in the isTableExists method of MariaDBSchemaValidator that was preventing proper table validation b925c50
  • Resolved issues in OpenAiChatClientMethodInvokingFunctionCallbackIT test to ensure proper integration testing 95b3df7
  • Fixed Qdrant vector database integration to properly handle Long type values in payload by converting them to String f0d4cbf
  • Fixed OpenAiChatOptions to properly support transfer of webSearchOptions 4621c81
  • Refactored QdrantObjectFactory to properly handle null metadata values 8b45f41
  • Fixed missing properties in the ChromaVectorStore AutoConfiguration that were preventing proper initialization #3435 via #3427
  • Added compatibility for Spring Framework 7.x to RetryUtils ResponseErrorHandler #3416 via #3415
  • Resolved issue where an extra system message was incorrectly added when the system message was not the first one in the message list 902fc09
  • Removed unreachable code branch that could cause confusion in chat memory advisor logic #3395
  • Avoided unnecessary looping through all page tree when there is no destination page in PDF document reader #3396
  • Fixed null pointer exception when accessing duration metadata from Ollama chat model responses 72fe3bf
  • Corrected the CustomerTools documentation example to reference proper existing methods #3390
  • Added protection against empty unicode strings during PDF document processing #3271 via #3054
  • Fixed issue where already valid JSON strings were being double-serialized in JsonParser.toJson method 18ae16e
  • Corrected typo in ToolCallback class to improve code clarity #3352
  • Resolved critical connection leak issue when using JdbcChatMemoryRepository that could cause resource exhaustion #3283 via #3281
  • Updated useAutoConfiguredJdbcChatMemoryRepository test to work correctly after the connection leak fix 029e8a1

📓 Documentation

  • Comprehensive documentation for the new Spring AI Google GenAI integration modules e26120a
  • Corrected git log command syntax in project documentation #4272
  • Updated tools.adoc documentation with latest information #4278
  • Improved documentation for Docker services setup and configuration #4253
  • Updated project README with latest information and improvements #4161
  • Fixed typo from 'are' to 'and' in advisors.adoc documentation #4219
  • Added more detailed explanation in observability documentation about metrics configuration and usage a0ad921
  • Various small improvements to documentation content and formatting ad93613
  • Added extensive validation and functionality tests for the Document class to improve test coverage 2bca047
  • Added new model names in Anthropic documentation #4077
  • Added reference documentation for MariaDBVectorStore similarity score functionality 9d19181
  • Added comprehensive documentation for the new metadata support feature in ChatClient c328ef6
  • Enhanced readability by formatting documentation with one sentence per line 54a2dc3
  • Updated getting-started.adoc documentation to reflect 1.0.0 release changes and improvements #3920
  • Improved chat-memory.adoc documentation with updated information and examples #3917
  • Fixed various typos in comments and improved overall documentation quality #3936
  • Updated outdated information in project documentation to reflect current state 056c261
  • Updated ChromaDB configuration details to include comprehensive support for Chroma Cloud deployment #4008
  • Enhanced documentation for the call() method in ChatClient with clearer examples and usage guidelines #3963
  • Fixed bug in example code to provide accurate documentation for users #3993
  • Applied consistent AsciiDoc styling to CONTRIBUTING.adoc for improved documentation formatting #3883
  • Optimized Bedrock documentation to keep it synchronized with current code implementation #3843 via #3842
  • Fixed typo in PropmptTemplate reference within structured-output-api.jpg documentation #3304 via #3295
  • Added example demonstrating dynamic Model Context Protocol client selection #3751
  • Updated Model Context Protocol specification documentation link #3810
  • Fixed example code in streaming responses documentation #3802
  • Improves documentation for ChatClient advisor configuration and usage 965b1d2
  • Updates Model Context Protocol documentation to reference current implementation patterns #3760
  • Updated documentation for Anthropic chat integration #2723
  • Updated contributing guidelines to use Developer Certificate of Origin instead of Contributor License Agreement #3228 via #3094
  • Corrected typographical errors in token configuration documentation #3677
  • Updated documentation with current code examples and removed deprecated references #3717 via #3713
  • Fixed property name from is-auto-id to auto-id in Milvus vector store documentation #3704 via #3702
  • Cleaned up duplicated dependency instructions in opensearch.adoc documentation #3712
  • Corrected incorrect default embedding model reference in ollama-embeddings.adoc #3686
  • Enhanced README with Elasticsearch vector store documentation and integration details #3688
  • Fixed broken link in javadoc to Message source in Content class #3672
  • Fixed various spelling errors and typos in documentation and code comments #3678
  • Fixed documentation for SimpleLoggerAdvisor to provide accurate usage information #3638
  • Updated tools documentation to provide correct usage examples and guidance 585f554
  • Updated tools.adoc with improved documentation #3624
  • Corrected toolDefinition parameter transfer error in documentation #3468
  • Corrected broken link to ChatModel in documentation #3583
  • Improved clarity and formatting in Weaviate vector store documentation 12c725d
  • Improved documentation for Spring AI advisors functionality #3552
  • Enhanced documentation for MCP Server Boot Starter selection and configuration guidance #3511
  • Updated ZhipuAI chat integration documentation #3531
  • Corrected documentation examples showing proper usage of tools and defaultTools configuration #3533
  • Repaired broken links to ChatOptions and ChatOptions#builder() in web documentation #3447
  • Corrected code examples in the openai-chat.adoc documentation to ensure accuracy and proper implementation guidance #3493
  • Updated Hugging Face integration documentation with improvements and clarifications #3445
  • Fixed documentation typos in cloud bindings configuration #3436
  • Corrected ToolDefinition.builder() usage examples in documentation #3431
  • Updated Azure OpenAI chat documentation to reflect response format changes #3434 via #3354
  • Revised and improved documentation for DeepSeek and Minimax chat model integrations #3408
  • Corrected video MIME type specifications and standardized formatting in Bedrock Converse documentation #3413
  • Cleaned up duplicate reference to NoOpTemplateRenderer in ChatClient documentation #3414
  • Enhanced Elasticsearch documentation with detailed description of the embedding-field-name configuration property #3399 via #2082
  • Corrected spelling error in the contribution guidelines documentation #3378
  • Enhanced documentation with checkstyle configuration and usage instructions #3277
  • Updated advisor documentation to reference correct dependencies a0d187d
  • Improved documentation for Mistral AI embeddings integration #3362
  • Corrected broken links in documentation pointing to Media.java class #3322
  • Updated link to point to official awesome-spring-ai repository #3328
  • Updated documentation with improved example using OpenAiChatModel.builder() for custom API key configuration #3335
  • Fixed and improved documentation for function calling and tool integration #3292
  • Improved documentation for the MCP Server Boot Starter configuration and usage #3279
  • Corrected incorrect external link formatting in the effective agents documentation #3275
  • Corrected various typos throughout the documentation to improve readability #3263
  • Added proper title to documentation that was missing title metadata 09dd973

🔨 Dependency Upgrades

  • Added spring-ai-mcp-annotations dependency to MCP auto-configurations ef71e4e
  • Updated MCP SDK to version 0.11.3 for improved functionality and compatibility 09d2a91
  • Updated io.swagger.core.v3:swagger-annotations from version 2.2.25 to 2.2.30 #4187 via #4185
  • Upgraded MCP SDK version to 0.11.1 #4048
  • Updated Tika, pdfbox and jsoup to latest versions for improved document reading capabilities #3912
  • Updated Ollama integration to use the latest API version for improved compatibility and features 3ee33c1
  • Updated PostgreSQL JDBC driver from version 42.7.5 to 42.7.7 #3934
  • Updated io.modelcontextprotocol from 0.11.0-SNAPSHOT to stable 0.11.0 release #3990
  • Updates Model Context Protocol library to latest snapshot version #3781
  • Enhanced schema initialization logic and updated deprecated code for Milvus vector database integration #3705
  • Updated JdbcChatMemoryRepositoryHsqldbAutoConfigIT from JUnit 4 to JUnit 5 #3633
  • Replaced swagger-annotations with swagger-annotations-jakarta for Jakarta EE compatibility 3e02edc
  • Updated Spring Boot dependency to version 3.5.0 for latest features and improvements 2be1e42
  • Updated org.apache.pdfbox dependency to version 3.0.4 for improved PDF processing #3271 via #3265

⚡ Performance

  • Improved performance of the from method in JdbcChatMemoryRepositoryDialect 1607eb8
  • Improved fast workflow performance with better logging and optimization for true no-op builds b339f56
  • Eliminates unnecessary deserialization step when parsing JSON string parameters in model responses #4003
  • Reuse DocumentRowMapper instance to reduce redundant object creation and improve performance af1ce67
  • Improved performance by optimizing debug logging operations in the chat memory advisor #3448

🔩 Build Updates

  • Enhanced test coverage for HTTP client transport auto-configuration with MCP support #4147
  • Updated VS Code formatting configurations for improved developer experience 80228af
  • Improved test coverage for tool execution components #4268
  • Applied code style fixes and formatting improvements to maintain code quality standards 6880753
  • Added extensive test coverage for tool calling observation components to improve code reliability #4259
  • Restored Groq API integration tests to ensure proper testing coverage for Groq provider functionality 39c5c38
  • Restored Maven settings.xml configuration file required for continuous integration builds 72f7c63
  • Improved test coverage for ChatClient response handling and builder functionality #4216
  • Code formatting improvements in test files e119eb7
  • Restructured MCP server auto-configuration modules for improved modularity and maintainability a38aad8
  • Comprehensive test coverage improvements across Spring AI modules with additional edge case testing d67a3cd
  • Enabled manual triggering for maintenance workflows and optimized builds by skipping when no new commits exist 23242ca
  • Added missing run-name configuration to maintenance-fast.yml workflow ab826e4
  • Enhanced continuous integration workflow with better concurrency control, run naming improvements, and duplicate schedule removal 349a9e5
  • Updated main-push-fast.yml to test only affected modules, improving build efficiency 77d0058
  • Optimized deployment process by skipping tests during the deploy phase to improve build performance da0f92a
  • Enhanced build visibility with progress indicators for different build phases d4d95b9
  • Exclude Python cache files from CI script copying to prevent build contamination 6998de9
  • Enable verbose output to better trace and debug root module issues during builds feb5bf3
  • Ignore all .github changes in main push fast workflow to reduce unnecessary build triggers 6c8ecd9
  • Optimized CI/CD pipeline to provide faster feedback on pull request merges and improved build performance de5cd35
  • Always exclude root pom.xml from fast workflow module detection to improve build accuracy b767954
  • Added workflow_dispatch capability to test specific commits in the fast workflow for better debugging 5204e04
  • Resolved issues with artifactory build and release automation pipeline 90f636e
  • Enhanced test coverage for chat client observation functionality #4124
  • Implemented intelligent path-based build triggering to optimize CI/CD pipeline efficiency 4df281c
  • Added clearer naming conventions for documentation deployment workflows ecc3317
  • Fixed git state problems that were triggering unnecessary full project builds 4ea7c5c
  • Synchronized build workflows with the streamlined 1.0.x branch configuration 26e0983
  • Updated .gitignore to exclude pycache directories from version control b6cda1c
  • Corrected CI workflow to use ../mvnw for assembly generation in spring-ai-docs #4072
  • Improved test coverage in Anthropic provider with comprehensive validation and edge cases dffec8d
  • Improved test coverage across various classes 8748a8d
  • Enabled manual workflow dispatch for CI/CD build processes f17dfa1
  • Improved CI/CD by using Maven wrapper and batch-mode in GitHub Actions #3841
  • Added comprehensive edge case tests for tool result conversion and Redis filter expressions #4043
  • Updated test class naming to follow Spring framework conventions 9bbde2a
  • Enhanced test coverage with comprehensive tests for AzureOpenAiChatOptions and PostgresMlEmbeddingOptions #4042
  • Added extensive test coverage for OCICohereChatOptions, AzureEmbeddingsOptions, and WeaviateVectorStoreOptions classes #4041
  • Improved test coverage for output conversion and streaming utilities #4039
  • Enhanced test coverage for OllamaChatModel and OllamaEmbeddingModel implementations #4038
  • Added extensive unit tests for Query class validation and equality behavior, Spring AI builders, runtime hints registration, and PgVector embedding dimensions #4036
  • Added extensive test coverage for Spring AI core runtime hints registration to ensure proper native compilation support #4024
  • Added comprehensive tests for ChatClientRequest mutation and context handling functionality #4022
  • Added edge case tests for VertexAI Gemini runtime hints registration to improve native image compatibility #4013
  • Added comprehensive test coverage for Ollama runtime hints registration to ensure proper GraalVM native image support #4014
  • Enhanced test coverage for VectorStore runtime hints registration to validate native compilation compatibility #4015
  • Added comprehensive test coverage for PDF Reader runtime hints to ensure proper native image support #4016
  • Added comprehensive test coverage for multiple vector database filter expression converters including PgVector, MongoDB Atlas, Milvus, Pinecone, MariaDB, Neo4j, and OpenSearch AI Search #3916, #3919, #3922, #3932, #3943, #3957, #3950
  • Enhanced test coverage for OpenAI Chat Options component #3959
  • Removed unused import statements to improve code quality #3921
  • Comprehensive test coverage improvements for MistralAi, Anthropic chat options, VectorStoreChatMemoryAdvisor, and QdrantVectorStore builders #3968 #3973 #3985 #3986
  • Added comprehensive test coverage for MistralAi, Anthropic, AzureOpenAi, OpenAi, and MCP client runtime hints configurations #3987
  • Updated MCP server auto-configuration settings for improved functionality 1256eaf
  • Refactored builder pattern in VertexAiGeminiSafetySetting for improved code structure and maintainability 49e5c63
  • Updated .gitignore file to improve version control handling and exclude unnecessary files 44816fb
  • Refactored MethodToolCallbackProviderTests and updated OpenAI audio tests due to safety settings changes a216bf1
  • Clean up unnecessary files from the codebase 8a5635d
  • Applied diamond operator usage, null checks, string joining optimizations, and added JavaDocs across the codebase #3458 and #3663 and #3013
  • Converted Qdrant vector store integration tests to use OpenAI embedding model #3671
  • Improved reactive Context propagation to AsyncMcpToolCallback for better async handling 9a52182
  • Updated AzureOpenAiAudioTranscriptionModelIT to use OkHttpClient for improved testing #3665
  • Removed redundant SOURCE_METADATA assignments and simplified conditional checks in TextReader #3627
  • Cleaned up useless properties tags in configuration files #3634
  • Updated backport-issue.yml to use main branch for reusable workflows 5aa8940
  • Added comprehensive test coverage for FileDocumentWriter default constructor and various configuration options 089c3eb
  • Improved logging consistency by replacing System.err.println calls with proper log output #3600
  • Removed unused import statements to improve code cleanliness #3599
  • Cleaned up unused messageHistory implementation #3574
  • Standardized the order of getter and setter methods in WeaviateVectorStoreProperties #3582
  • Cleaned up test dependency management by removing explicit version declaration for jackson-dataformat-xml d8c728e
  • Added comprehensive unit testing for multiple method tool callbacks functionality with tool context support b9a6834
  • Corrected @Formatter:onn to @Formatter:on to ensure proper code formatting in test files #3477
  • Added comprehensive test coverage for embeddingFieldName configuration in ElasticsearchVectorStore 6451fef
  • Made auto-configuration dependencies optional in the docker compose module for better modularity #3502
  • Made auto-configuration dependencies optional in the testcontainers module for improved flexibility #3465
  • Replaced spring-webflux with spring-web dependency in the spring-ai-retry module cecc046
  • Fixed GitHub Actions CI/CD pipeline to properly trigger for the 1.0.x branch 5f23dca
  • Enhanced CI build configuration to support non-main branches a385ed4
  • Moved speech1.mp3 test file to proper src/test/resources location ab88fea
  • Updated gitignore to exclude Qodana static analysis configuration file 5b49036
  • Enhanced test coverage for OpenAI streaming function calling helper functionality #3312
  • Added automated workflows for cherry-picking commits and handling backport issues bfaa6be
  • Improved OpenAI API key resolution to handle dynamic key retrieval per request 3a527ee
  • Applied checkstyle fixes to improve code formatting and consistency b6f29a4
  • Updated project version for next development iteration d93ab77

🔐 Security

  • Updated Protobuf Java from 3.25.2 to 3.25.8 to address security vulnerability CVE-2024-7254 #3996

🙏 Contributors

Thanks to all contributors who made this release possible:

Don't miss a new spring-ai release

NewReleases is sending notifications on new releases.