@@ -4,111 +4,127 @@ search:
44---
55# 发布流程/变更日志
66
7- 该项目遵循稍作修改的语义化版本控制,格式为 ` 0.Y.Z ` 。前导的 ` 0 ` 表示 SDK 仍在快速演进中。各部分的递增规则如下 :
7+ 本项目遵循略作修改的语义化版本控制,采用 ` 0.Y.Z ` 形式。开头的 ` 0 ` 表示该 SDK 仍在快速演进。各组成部分按如下方式递增 :
88
9- ## 次版本 (` Y ` )
9+ ## Minor (` Y ` )版本
1010
11- 对于任何未标记为 beta 的公开接口上的 ** 破坏性变更** ,我们会提升次版本 ` Y ` 。例如,从 ` 0.0.x ` 到 ` 0.1.x ` 可能包含破坏性变更。
11+ 对于任何未标记为 beta 的公共接口中的 ** 破坏性变更** ,我们会递增 minor 版本 ` Y ` 。例如,从 ` 0.0.x ` 升级到 ` 0.1.x ` 可能包含破坏性变更。
1212
13- 如果你不希望出现破坏性变更,我们建议你在项目中锁定到 ` 0.0.x ` 版本。
13+ 如果你不希望遇到破坏性变更,建议在项目中固定使用 ` 0.0.x ` 版本。
1414
15- ## 补丁版本 (` Z ` )
15+ ## Patch (` Z ` )版本
1616
1717对于非破坏性变更,我们会递增 ` Z ` :
1818
19- - Bug 修复
20- - 新功能
21- - 私有接口的变更
22- - beta 功能的更新
19+ - Bug 修复
20+ - 新功能
21+ - 私有接口变更
22+ - beta 功能更新
2323
2424## 破坏性变更日志
2525
26+ ### 0.15.0
27+
28+ 在此版本中,模型拒绝现在会明确呈现为 ` ModelRefusalError ` ,而不是被视为空文本输出;对于 structured outputs,也不再导致运行循环持续重试直到 ` MaxTurnsExceeded ` 。
29+
30+ 这会影响此前预期仅包含拒绝的模型响应会以 ` final_output == "" ` 完成的代码。若要在不抛出异常的情况下处理拒绝,请提供 ` model_refusal ` 运行错误处理器:
31+
32+ ``` python
33+ result = Runner.run_sync(
34+ agent,
35+ input ,
36+ error_handlers = {" model_refusal" : lambda data : data.error.refusal},
37+ )
38+ ```
39+
40+ 对于 structured outputs 智能体,该处理器可以返回一个与智能体输出 schema 匹配的值,SDK 会像验证其他运行错误处理器最终输出一样对其进行验证。
41+
2642### 0.14.0
2743
28- 这个次版本 ** 不会** 引入破坏性变更,但新增了一个重要的 beta 功能领域:Sandbox Agents,以及在本地、容器化和托管环境中使用它们所需的运行时、后端和文档支持。
44+ 此 minor 版本 ** 不会** 引入破坏性变更,但新增了一个重要的 beta 功能领域:Sandbox Agents,以及在本地、容器化和托管环境中使用它们所需的运行时、后端和文档支持。
2945
3046亮点:
3147
32- - 新增了以 ` SandboxAgent ` 、` Manifest ` 和 ` SandboxRunConfig ` 为核心的 beta 沙箱运行时接口,使智能体能够在持久化的隔离工作区中运行,并支持文件 、目录、Git 仓库、挂载、快照和恢复功能 。
33- - 新增了适用于本地和容器化开发的沙箱执行后端, 通过 ` UnixLocalSandboxClient ` 和 ` DockerSandboxClient ` 提供;同时还通过可选扩展提供了对 Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop 和 Vercel 托管提供方的集成 。
34- - 新增了沙箱记忆支持,使未来运行可以复用之前运行中的经验,支持渐进式披露 、多轮分组、可配置的隔离边界,以及包括基于 S3 工作流在内的持久化记忆示例 。
35- - 新增了更广泛的工作区与恢复模型,包括本地和合成工作区条目、适用于 S3/R2/GCS/Azure Blob Storage/S3 Files 的远程存储挂载、可移植快照,以及通过 ` RunState ` 、` SandboxSessionState ` 或保存的快照进行恢复的流程 。
36- - 在 ` examples/sandbox/ ` 下新增了大量沙箱示例和教程,涵盖带技能的编码任务 、任务转移、记忆、特定提供方配置 ,以及代码审查、数据室问答和网站克隆等端到端工作流 。
37- - 扩展了核心运行时和追踪栈,加入了具备沙箱感知能力的会话准备 、能力绑定、状态序列化、统一追踪、提示缓存键默认值,以及对敏感 MCP 输出更安全的脱敏处理 。
48+ - 新增了以 ` SandboxAgent ` 、` Manifest ` 和 ` SandboxRunConfig ` 为中心的 beta 沙箱运行时界面,使智能体能够在持久化的隔离工作区中处理文件 、目录、Git 仓库、挂载、快照和恢复支持 。
49+ - 通过 ` UnixLocalSandboxClient ` 和 ` DockerSandboxClient ` 为本地和容器化开发新增了沙箱执行后端,并通过可选 extras 集成了 Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop 和 Vercel 等托管提供方 。
50+ - 新增沙箱记忆支持,使未来运行可以复用先前运行中的经验,并支持渐进式披露 、多轮分组、可配置的隔离边界,以及包括基于 S3 的工作流在内的持久化记忆示例 。
51+ - 新增更广泛的工作区和恢复模型,包括本地与合成工作区条目、用于 S3/R2/GCS/Azure Blob Storage/S3 Files 的远程存储挂载、可移植快照,以及通过 ` RunState ` 、` SandboxSessionState ` 或已保存快照实现的恢复流程 。
52+ - 在 ` examples/sandbox/ ` 下新增了大量沙箱示例和教程,涵盖使用技能 、任务转移、记忆、特定提供方设置的编码任务 ,以及代码审查、dataroom QA 和网站克隆等端到端工作流 。
53+ - 扩展了核心运行时和追踪栈,新增了感知沙箱的会话准备 、能力绑定、状态序列化、统一追踪、提示缓存键默认值,以及更安全的敏感 MCP 输出脱敏 。
3854
3955### 0.13.0
4056
41- 这个次版本 ** 不会** 引入破坏性变更,但包含了一项值得注意的 Realtime 默认更新 ,以及新的 MCP 能力和运行时稳定性修复。
57+ 此 minor 版本 ** 不会** 引入破坏性变更,但包含一个值得注意的 Realtime 默认值更新 ,以及新的 MCP 能力和运行时稳定性修复。
4258
4359亮点:
4460
45- - 默认的 websocket Realtime 模型现为 ` gpt-realtime-1.5 ` ,因此新的 Realtime 智能体配置无需额外设置即可使用更新的模型 。
46- - ` MCPServer ` 现在公开 ` list_resources() ` 、` list_resource_templates() ` 和 ` read_resource() ` ,而 ` MCPServerStreamableHttp ` 现在公开 ` session_id ` ,因此可流式 HTTP 会话可以在重新连接或无状态工作进程之间恢复 。
47- - Chat Completions 集成现在可以通过 ` should_replay_reasoning_content ` 选择启用推理内容重放 ,从而改善 LiteLLM/DeepSeek 等适配器中针对特定提供方的推理 /工具调用连续性。
48- - 修复了多个运行时和会话边界情况 ,包括 ` SQLAlchemySession ` 中并发首次写入、推理内容剥离后带有孤立 assistant message ID 的压缩请求、` remove_all_tools() ` 遗留 MCP/推理项,以及工具调用批量执行器中的竞争问题 。
61+ - 默认的 websocket Realtime 模型现在是 ` gpt-realtime-1.5 ` ,因此新的 Realtime 智能体设置无需额外配置即可使用较新的模型 。
62+ - ` MCPServer ` 现在公开 ` list_resources() ` 、` list_resource_templates() ` 和 ` read_resource() ` ,并且 ` MCPServerStreamableHttp ` 现在公开 ` session_id ` ,因此 streamable HTTP 会话可以在重新连接或无状态 worker 之间恢复 。
63+ - Chat Completions 集成现在可以通过 ` should_replay_reasoning_content ` 选择启用 reasoning-content 回放 ,从而改善 LiteLLM/DeepSeek 等适配器的特定提供方推理 /工具调用连续性。
64+ - 修复了若干运行时和会话边界情况 ,包括 ` SQLAlchemySession ` 中的并发首次写入、推理剥离后带有孤立 assistant 消息 ID 的压缩请求、` remove_all_tools() ` 遗留 MCP/推理项,以及工具调用批量执行器中的竞态问题 。
4965
5066### 0.12.0
5167
52- 这个次版本 ** 不会** 引入破坏性变更。有关主要功能新增内容,请参阅 [ 发布说明] ( https://github.com/openai/openai-agents-python/releases/tag/v0.12.0 ) 。
68+ 此 minor 版本 ** 不会** 引入破坏性变更。有关主要功能新增内容,请查看 [ 发布说明] ( https://github.com/openai/openai-agents-python/releases/tag/v0.12.0 ) 。
5369
5470### 0.11.0
5571
56- 这个次版本 ** 不会** 引入破坏性变更。有关主要功能新增内容,请参阅 [ 发布说明] ( https://github.com/openai/openai-agents-python/releases/tag/v0.11.0 ) 。
72+ 此 minor 版本 ** 不会** 引入破坏性变更。有关主要功能新增内容,请查看 [ 发布说明] ( https://github.com/openai/openai-agents-python/releases/tag/v0.11.0 ) 。
5773
5874### 0.10.0
5975
60- 这个次版本 ** 不会** 引入破坏性变更,但为 OpenAI Responses 用户带来了一个重要的新功能领域 :Responses API 的 websocket 传输支持。
76+ 此 minor 版本 ** 不会** 引入破坏性变更,但为 OpenAI Responses 用户包含了一个重要的新功能领域 :Responses API 的 websocket 传输支持。
6177
6278亮点:
6379
64- - 为 OpenAI Responses 模型新增了 websocket 传输支持(选择启用 ;HTTP 仍然是默认传输方式 )。
65- - 新增了 ` responses_websocket_session() ` 辅助函数 / ` ResponsesWebSocketSession ` ,用于在多轮运行中复用共享的支持 websocket 的提供方和 ` RunConfig ` 。
66- - 新增了一个 websocket 流式传输示例(` examples/basic/stream_ws.py ` ),涵盖流式传输、tools、审批和后续轮次。
80+ - 为 OpenAI Responses 模型新增 websocket 传输支持(可选启用 ;HTTP 仍为默认传输 )。
81+ - 新增 ` responses_websocket_session() ` 辅助函数 / ` ResponsesWebSocketSession ` ,用于在多轮运行中复用共享的支持 websocket 的提供方和 ` RunConfig ` 。
82+ - 新增 websocket 流式传输示例(` examples/basic/stream_ws.py ` ),涵盖流式传输、tools、审批和后续轮次。
6783
6884### 0.9.0
6985
70- 在此版本中,Python 3.9 不再受支持,因为这个主版本已在三个月前达到 EOL。请升级到更新的运行时版本。
86+ 在此版本中,Python 3.9 不再受支持,因为该主版本已在三个月前达到 EOL。请升级到更新的运行时版本。
7187
72- 此外,` Agent#as_tool() ` 方法返回值的类型提示已从 ` Tool ` 收窄为 ` FunctionTool ` 。此变更通常不会导致破坏性问题,但如果你的代码依赖更宽泛的联合类型,你可能需要在代码侧进行一些调整 。
88+ 此外,` Agent#as_tool() ` 方法返回值的类型提示已从 ` Tool ` 收窄为 ` FunctionTool ` 。此变更通常不会导致破坏性问题,但如果你的代码依赖更宽泛的联合类型,可能需要在你这边做一些调整 。
7389
7490### 0.8.0
7591
76- 在此版本中,两项运行时行为变更可能需要进行迁移工作 :
92+ 在此版本中,两项运行时行为变更可能需要迁移工作 :
7793
78- - 包装** 同步** Python 可调用对象的工具调用,现在会通过 ` asyncio.to_thread(...) ` 在工作线程上执行,而不再运行在事件循环线程上。如果你的工具逻辑依赖线程局部状态或线程绑定资源 ,请迁移到异步工具实现,或在工具代码中显式处理线程绑定 。
79- - 本地 MCP 工具失败处理现在可配置,且默认行为可能会返回模型可见的错误输出 ,而不是让整个运行失败。如果你依赖快速失败语义,请设置 ` mcp_config={"failure_error_function": None} ` 。服务级别的 ` failure_error_function ` 值会覆盖智能体级别设置,因此请在每个具有显式处理器的本地 MCP 服务上设置 ` failure_error_function=None ` 。
94+ - 包装** 同步** Python 可调用对象的工具调用现在会通过 ` asyncio.to_thread(...) ` 在 worker 线程上执行,而不是在事件循环线程上运行。如果你的工具逻辑依赖线程本地状态或线程亲和资源 ,请迁移到异步工具实现,或在工具代码中显式处理线程亲和性 。
95+ - 本地 MCP 工具失败处理现在可配置,默认行为可以返回模型可见的错误输出 ,而不是让整个运行失败。如果你依赖快速失败语义,请设置 ` mcp_config={"failure_error_function": None} ` 。服务级别的 ` failure_error_function ` 值会覆盖智能体级别设置,因此请在每个具有显式处理器的本地 MCP 服务上设置 ` failure_error_function=None ` 。
8096
8197### 0.7.0
8298
83- 在此版本中,有一些行为变更可能会影响现有应用 :
99+ 在此版本中,有几项行为变更可能影响现有应用 :
84100
85- - 嵌套任务转移历史现在为** 选择启用 ** (默认禁用)。如果你依赖 v0.6.x 默认的嵌套行为,请显式设置 ` RunConfig(nest_handoff_history=True) ` 。
86- - ` gpt-5.1 ` / ` gpt-5.2 ` 的默认 ` reasoning.effort ` 已改为 ` "none" ` (此前由 SDK 默认值配置为 ` "low" ` )。如果你的提示词或质量 /成本配置依赖 ` "low" ` ,请在 ` model_settings ` 中显式设置。
101+ - 嵌套任务转移历史现在为** 可选启用 ** (默认禁用)。如果你依赖 v0.6.x 默认的嵌套行为,请显式设置 ` RunConfig(nest_handoff_history=True) ` 。
102+ - ` gpt-5.1 ` / ` gpt-5.2 ` 的默认 ` reasoning.effort ` 已从 SDK 默认配置的先前默认值 ` "low" ` 更改为 ` "none" ` 。如果你的提示或质量 /成本配置依赖 ` "low" ` ,请在 ` model_settings ` 中显式设置。
87103
88104### 0.6.0
89105
90- 在此版本中,默认的任务转移历史现在会被打包为单条 assistant 消息 ,而不是暴露原始的用户/assistant 轮次,从而为下游智能体提供简洁、可预测的回顾
91- - 现有的单条消息任务转移记录现在默认会在 ` <CONVERSATION HISTORY> ` 块之前以 " For context, here is the conversation so far between the user and the previous agent:" 开头,从而让下游智能体获得带有清晰标签的回顾
106+ 在此版本中,默认任务转移历史现在会被打包到一条 assistant 消息中 ,而不是暴露原始的用户/assistant 轮次,从而为下游智能体提供简洁、可预测的回顾
107+ - 现有的单消息任务转移转录现在默认会在 ` <CONVERSATION HISTORY> ` 块之前以 “ For context, here is the conversation so far between the user and the previous agent:” 开头,因此下游智能体会获得带有清晰标签的回顾
92108
93109### 0.5.0
94110
95- 此版本不会引入任何可见的破坏性变更,但包含了新功能和一些底层的重要更新 :
111+ 此版本没有引入任何可见的破坏性变更,但包含了新功能以及若干重要的底层更新 :
96112
97- - 新增对 ` RealtimeRunner ` 处理[ SIP 协议连接] ( https://platform.openai.com/docs/guides/realtime-sip ) 的支持
98- - 为兼容 Python 3.14,大幅修改了 ` Runner#run_sync ` 的内部逻辑
113+ - 新增对 ` RealtimeRunner ` 处理 [ SIP 协议连接] ( https://platform.openai.com/docs/guides/realtime-sip ) 的支持
114+ - 为兼容 Python 3.14,显著修订了 ` Runner#run_sync ` 的内部逻辑
99115
100116### 0.4.0
101117
102- 在此版本中,[ openai] ( https://pypi.org/project/openai/ ) 包的 v1.x 版本不再受支持 。请将 openai v2.x 与此 SDK 一起使用。
118+ 在此版本中,不再支持 [ openai] ( https://pypi.org/project/openai/ ) 包 v1.x 版本 。请将 openai v2.x 与此 SDK 一起使用。
103119
104120### 0.3.0
105121
106122在此版本中,Realtime API 支持迁移到 gpt-realtime 模型及其 API 接口(GA 版本)。
107123
108124### 0.2.0
109125
110- 在此版本中,一些原本接收 ` Agent ` 作为参数的位置,现在改为接收 ` AgentBase ` 作为参数。例如,MCP 服务中的 ` list_tools() ` 调用。这纯粹是类型层面的变更,你仍然会收到 ` Agent ` 对象。要完成更新,只需将 ` Agent ` 替换为 ` AgentBase ` 以修复类型错误 。
126+ 在此版本中,过去使用 ` Agent ` 作为参数的一些地方,现在改为使用 ` AgentBase ` 作为参数。例如,MCP 服务中的 ` list_tools() ` 调用。这是纯类型层面的变更,你仍会收到 ` Agent ` 对象。要更新,只需通过将 ` Agent ` 替换为 ` AgentBase ` 来修复类型错误 。
111127
112128### 0.1.0
113129
114- 在此版本中,[ ` MCPServer.list_tools() ` ] [ agents.mcp.server.MCPServer ] 新增了两个参数 :` run_context ` 和 ` agent ` 。你需要将这两个参数添加到任何继承 ` MCPServer ` 的类中。
130+ 在此版本中,[ ` MCPServer.list_tools() ` ] [ agents.mcp.server.MCPServer ] 有两个新参数 :` run_context ` 和 ` agent ` 。你需要将这些参数添加到任何继承 ` MCPServer ` 的类中。
0 commit comments