Releases: astercloud/aster-rust
Releases · astercloud/aster-rust
Release list
v0.27.2
Release v0.27.2
Fixes
Agent session type hint reuse
This patch release includes a focused runtime fix in crates/aster/src/agents/agent.rs:
- remember the current
SessionTypeafter loading or initializing the runtime session - reuse that hint when preparing tools and prompts
- avoid redundant session-store reloads during reply and runtime preparation paths
- add regression tests covering runtime initialization and reply flows
Release notes
- workspace version metadata is updated to
0.27.2 - local crate dependency versions are aligned to
0.27.2 - desktop package metadata and generated OpenAPI version are aligned to
0.27.2 - lockfiles are refreshed together with the release validation flow
Full Changelog: v0.27.1...v0.27.2
v0.27.1
Release v0.27.1
🔧 改进
版本元数据同步
这次补丁版本主要用于同步发布元数据,确保各端显示版本和包版本保持一致:
- 工作区版本升级到
0.27.1:更新 Rust workspace 的统一版本号 - crate 间显式依赖同步到
0.27.1:保证本地 path 依赖的版本元数据一致 - 桌面端版本信息同步:更新
ui/desktop/package.json与 OpenAPI 文档中的版本字段 Cargo.lock随版本一起收敛:工作区包版本元数据全部刷新到0.27.1
📦 发布说明
- 这是一个补丁版本发布,主要包含版本号和发布元数据同步
- 本次未引入额外运行时功能改动
完整变更: v0.27.0...v0.27.1
v0.27.0
v0.26.0
v0.25.0
v0.24.0
v0.23.0
Release v0.23.0
🎉 主要功能
Codex reasoning 摘要与原始内容双通道接入
本次更新补齐了 Codex App Server 新版 reasoning 事件模型,turn runtime 现在既能保留完整 reasoning 文本,也能按段落输出可读摘要,方便 CLI、Server 与 UI 做更稳定的展示与调试:
- reasoning 摘要分段持久化:runtime item 新增
summary字段,保留按空行拆分的可读摘要片段 - 兼容新旧事件协议:同时支持
summaryPartAdded、summaryTextDelta、textDelta与 legacyitem/reasoning/delta - 原始内容仍可追踪:reasoning item 可以同时承载
summary与content,既利于展示,也保留原始推理流
Codex turn 启动策略跟随运行时上下文
Codex provider 在新建与恢复 thread 时,会读取当前 turn context 中的审批与 sandbox 策略,不再把启动参数固定写死为默认值:
- 审批策略按 turn 透传:
approvalPolicy会跟随当前 turn context,而不是始终固定为never - sandbox 模式标准化映射:
read-only、workspace-write、danger-full-access会映射成 App Server 约定的协议值 - 恢复会话行为更一致:恢复旧会话失败后重新建会话,也会继续沿用当前运行时策略
🔧 改进
Runtime payload 与测试覆盖更完整
围绕 reasoning 与 turn start 策略,本次还补齐了运行时数据结构与回归测试:
- payload 表达更完整:
ItemRuntimePayload::Reasoning在有摘要时会显式携带summary - 事件解析更稳定:
parse_event覆盖新旧 reasoning 增量事件,减少协议升级带来的展示偏差 - 单测覆盖补齐:新增 reasoning summary 分段、turn start policy 透传与新事件解析的测试
🐛 Bug 修复
- 修复 Codex 新版 reasoning 事件无法被完整消费,导致摘要展示丢失的问题
- 修复恢复 thread 或创建新 thread 时审批 / sandbox 策略被错误固定的问题
- 修复 reasoning runtime item 只能保存拼接文本、无法稳定保留摘要段落的问题
完整变更: v0.22.0...v0.23.0
v0.22.0
v0.21.0
Release v0.21.0
🎉 主要功能
上下文压缩支持显式事件与手动触发
本次更新把上下文压缩从“内部静默恢复”提升为“可观察、可操作”的能力,方便 CLI、UI 与上层集成统一感知压缩生命周期:
- 新增压缩事件:自动压缩、溢出恢复压缩、手动压缩都会发出开始、完成与警告事件
- 手动压缩入口统一:会话手动 compact 现在复用统一压缩流程,行为与自动压缩保持一致
- 历史替换更清晰:压缩完成后会明确广播
HistoryReplaced,上层更容易同步会话状态
🔧 改进
压缩摘要持久化能力补齐
compact_messages_with_summary现在会返回摘要文本,避免压缩后摘要只存在内存中- 自动压缩、溢出恢复、手动 compact 都会尝试缓存 summary,便于后续诊断与恢复
- 摘要缓存会记录估算 turn 数,降低后续会话状态判断的分散实现
溢出恢复逻辑职责更清晰
OverflowHandler拆出独立的 compaction attempt 计数逻辑,减少“记录尝试”和“执行压缩”耦合- Agent 主流程统一负责触发压缩事件、替换历史、告警提示,避免分支间行为漂移
🐛 Bug 修复
- 修复上下文溢出恢复路径与普通压缩路径行为不一致的问题
- 修复手动 compact 后未持久化摘要缓存,导致后续状态恢复信息不完整的问题
- 修复子 agent 聚合事件时未显式忽略新的上下文压缩事件,可能污染消息收集流的问题
完整变更: v0.20.1...v0.21.0
v0.20.1
Release v0.20.1
🎉 主要功能
OpenAI Responses continuation 支持 previous_response_id
本次更新为 OpenAI Responses API 增加基于 previous_response_id 的增量续写能力,减少需要整段历史重放的场景:
- 请求选项抽象:新增
ResponsesRequestOptions,统一承载previous_response_id与store之类的请求附加参数 - 续写边界裁剪:命中历史响应 id 时,只发送边界之后的增量消息,避免重复回放整段上下文
- 安全降级:如果历史边界缺失或 continuation 元数据不完整,会自动退回完整历史重放
Turn context 透传到 provider 执行期
本次同时把 turn 级上下文继续往 provider 执行链路透传,使 provider 可以在运行时读取 continuation 元数据:
- 流式场景补齐:
scope_stream现在会携带turn_context,避免流式 provider 分支拿不到当前 turn 元数据 - Provider 侧读取统一:OpenAI provider 直接从
session_context读取provider_continuation,不再依赖外部手动拼接 - 兼容现有模型路由:仅在 Responses API / continuation 条件满足时启用,不影响其他 provider 路径
🔧 改进
Responses API 请求构造更清晰
create_responses_request现在显式接收请求选项对象,减少后续再加 provider 特定参数时的函数签名震荡- 为
previous_response_id增加针对性单测,覆盖store = true与请求载荷断言
🐛 Bug 修复
- 修复 OpenAI Responses continuation 在 provider 执行期拿不到
turn_context,导致无法命中历史 response id 的问题 - 修复 continuation 历史边界命中失败时缺少明确降级路径的问题
- 修复相关请求构造测试仍假定当前版本即可产生升级提示的基线漂移问题
完整变更: v0.20.0...v0.20.1