1.0.1
Spring AI 1.0.1 正式发布,作为 1.0.0 后的首个维护版本,累计合并 160 个提交,涉及 401 个文件(+6,182 / -1,297 行),包含模型适配增强、核心抽象改进及大量缺陷修复。
核心变更
ChatClient
ChatClient#mutate()现在会深拷贝advisors和advisorParams,避免可变共享导致的副作用
Prompt / Message
- SystemPromptTemplate —— 修复
builder()返回类型错误(GH-3526),现正确返回SystemPromptTemplate.Builder而非PromptTemplate.Builder - MessageAggregator —— 重构以支持流式响应中的
ToolCall聚合,确保工具调用在 streaming 模式下正常工作 - Prompt.augmentSystemMessage() —— 修复重复添加 SystemMessage 的缺陷,现正确扫描完整消息列表后仅在缺失时追加
Tool Calling
- 可配置异常处理 ——
DefaultToolExecutionExceptionProcessor支持选择性异常重抛,可通过ToolCallingProperties配置 - 增强 @Tool 注解发现 ——
MethodToolCallbackProvider改用AnnotationUtils.findAnnotation(),支持组合注解与 Spring 元注解 - 同名方法修复 —— 修复多 ToolCallback 下同名方法调用抛出异常的问题(GH-2774)
Structured Output
- KeywordMetadataEnricher —— 新增自定义模板支持,
Builder现可接收自定义PromptTemplate,不再局限于仅配置关键词数量
MCP
AsyncMcpToolCallback/SyncMcpToolCallback异常处理改进,现使用ToolExecutionException替代原始异常类型- 动态 MCP 客户端选择示例补充
模型厂商
OpenAI
- Web Search ——
OpenAiChatOptions新增webSearchOptions()支持,允许模型进行联网搜索 - 语音合成 —— 新增
ASH、BALLAD、CORAL、SAGE四种语音 - PDF 输入 ——
MediaContent新增InputFile类型,支持上传 PDF 作为多模态输入 - 动态 API Key —— 每次请求动态解析
ApiKey,支持运行时密钥切换 - 修复音频文件名在转录/翻译请求中丢失的问题(GH-3557)
- 修复
webSearchOptions在copy()中未传递的问题
Anthropic
- 新模型支持 —— 适配
claude-opus-4和claude-sonnet-4(GH-3351) - Streaming Thinking —— 支持流式思维事件输出
- 动态 API Key —— 每次请求动态解析
ApiKey - 修复流式模式下无参数工具调用的处理逻辑
- 修复
StreamHelper中的 NPE(GH-3755)
Ollama
- 重试集成 ——
OllamaChatModel集成重试模板,增强瞬时故障容错 - 多模态能力增强
- 修复自动配置变更导致的回归问题
Mistral AI
- 新增聊天模型支持
MistralChatOptions功能更新
Bedrock / Bedrock Converse
- 修复
BedrockTitanEmbeddingModel未返回usage的问题 - 修复流式工具调用中无输入参数的处理
- 移除
BedrockConverseProxyChatProperties中硬编码的topK
DeepSeek
- 修复空
id/name导致的ToolCall错误合并
ZhiPu AI
- 移除
ZhiPuAiChatModel中未使用的选项,精简 API ZhiPuAiEmbeddingOptions支持自定义维度
MiniMax
MiniMaxChatOptions完善equals()、hashCode()和深拷贝支持
Vertex AI Gemini
- 修正
frequencyPenalty拼写(原为frequencyPenalty) - 重构
VertexAiGeminiSafetySettingBuilder 模式
向量数据库
Chroma
- 复杂元数据值的处理与测试强化
- 修复
ChromaVectorStore自动配置中缺失的属性(GH-3435)
Elasticsearch
- 修复配置
embeddingFieldName后未生效的问题(GH-3501) - 修复相似度选项解析逻辑
Milvus
- Schema 初始化逻辑改进,更新废弃 API 调用
Qdrant
Long类型在 payload 中转String存储- 允许
null元数据值
Neo4j
- 自动从模型推断默认嵌入维度
PgVector
- 多项稳定性改进
OpenSearch
- 补充
embeddingFieldName属性说明
聊天记忆
- MySQL / MariaDB 支持 —— 新增 MySQL Schema 和 MariaDB 集成测试
- SQL Server 集成测试 —— 补充
JdbcChatMemoryRepositorySqlServerIT - JDBC 连接泄漏修复 ——
DataSource.getConnection()改用 try-with-resources
Bug Fix 汇总
除上述模块级修复外,1.0.1 还包含以下重要修复:
- JsonParser —— 修复已合法 JSON 字符串被二次序列化的问题
- MimeTypeDetector —— 修复
getMimeType(Path)中的无限递归 - OpenSearch —— 移除文档中重复的依赖声明
- MariaDB Schema Validator —— 修复
isTableExists方法的 SQL 错误(GH-3492) - ChromaDB —— 修复集合创建日志记录错误
- Cloud Bindings —— 修正拼写错误
- Qdrant ObjectFactory —— 允许 null 元数据值
基础设施
- Spring Boot 升级至 3.5.0 —— 基于最新的 Spring Boot 版本构建
- Maven Central 发布 —— 正式发布至 Maven Central 仓库
- CI/CD —— 新增 auto-cherry-pick 和 backport-issue 工作流
Spring AI 1.0.1 聚焦于稳定性与模型适配的持续完善,为生产级部署提供了更可靠的基础。文档站将随框架演进持续更新。