Skip to content

Releases: cislunarspace/CODE

v5.0.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 02:34
0f0678e

CODE v5.0.0

5.0.0 (2026-10-03)

工程

  • 发布名改为 CODE(ADR 0033):应用显示层统一 CODE——窗口标题、快捷方式、Windows 安装包(CODE_<版本>_x64-setup.exe 与 .msi)与 Linux AppImage 文件名;Linux 系统层(deb/rpm 内部包名、/usr/bin 可执行名、数据目录、sidecar、Cargo/Python 包名)用 cislunar-code,避让 VS Code 的 code 包名;应用 ID 换 com.cislunarspace.code。主版本跳 5.0.0 标识断代。
  • 数据目录首启自动迁移:旧 %APPDATA%/transfer-orbit-design(Linux 为 XDG 配置目录下 transfer-orbit-design/)在 5.0.0 首次启动时整体改名 cislunar-code——轨道库 catalog、情景文件、助手会话一次带走;新旧并存保新不动旧(并行安装过两版的现场),迁移失败仅告警并按空新目录继续,不阻塞启动。
  • 更新通道断代:更新清单换名 latest-code.json,老 latest.json 冻结在 4.9.0——Windows 与 AppImage 的 4.9.0 及以前版本不再收到应用内自动更新。deb/rpm 的应用内更新直扫 Release 资产清单、不经 latest.json:旧版 deb/rpm 安装在 5.0.0 发布后仍会弹更新提示,且包名已换,提示内一键安装得到的是并行第二份应用而非升级,务必先卸载旧版。老用户升级指引:先卸载 transfer-orbit-design 再安装 CODE(应用 ID 已更换,不卸载则两份并存);用户数据不受卸载影响,CODE 首启自动迁移。
  • Linux 全量构建拆分:AppImage(productName=CODE 直出文件名)与 deb/rpm(叠加 overlay 压 productName=cislunar-code,desktop 显示名经模板钉回 CODE)分两次 tauri build 产出;AppImage 无 desktopTemplate 入口,是拆分的直接原因。

What's Changed

Full Changelog: v4.9.0...v5.0.0

v4.9.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 00:53
8d2d556

CODE v4.9.0

4.9.0 (2026-10-02)

功能

  • AI 会话运行时切换为 pi(ADR 0032):分发体积从 omp 时代的 230–278 MB 降到 43–45 MB。协议从 omp 私有 ACP 改为 pi 原生 RPC(pi --mode rpc,JSONL over stdio);工具审批改为桥接扩展的 tool_call 拦截(只读白名单免确认,其余经 extension_ui_request 出工具卡片,批准/拒绝);生成中再发消息走 pi 原生 steer(排队到当前轮工具批后继续,上下文保留,不再取消旧轮);配置条去掉“模式”项(omp 规划模式无 pi 对应),模型与思考档来自 pi 原生配置。模型凭据改由 pi 管理:终端跑交互式 pi 完成 provider 登录(设置分区按钮直开)。旧 omp 会话历史不迁移(omp 侧 JSONL 留在原地,应用内不可见);omp 可自行卸载。
  • 采纳 e2m2e 5.9.8:pin 升 >=5.9.8;状态枚举导入迁 e2m2e.status(旧路径 ImportError);稳定性分析桥接随上游删除 e2m2e.algorithm.stability 一并移除(Python API 亦不复存在);schema 重导新增任务级工具 low_thrust_preliminary 与 mission_architecture_search(不进 GUI 表单,留档供 AI 助手链路调用);随版获得上游 SPICE 纯 Rust 内循环提速与 design_halo / design_nrho 修复。

What's Changed

  • [AI Generated][DOC] 新增 Repository Guidelines 并保留既有协作规范 by @ouyangjiahong26 in #497
  • [AI Generated][FIX] sidecar 显式传 catalog_enabled/catalog_dir,库落用户配置目录 (#491) by @ouyangjiahong26 in #498
  • [AI Generated] [DEP] 适配 e2m2e 5.9.7:catalog 显式化后的兼容与新能力暴露 by @ouyangjiahong26 in #504
  • [AI Generated][DOC] 补齐工程技能配置并修正失效的面板引用 by @ouyangjiahong26 in #505
  • [AI Generated][DOC] 收紧 wontfix 语义载体的表述 by @ouyangjiahong26 in #506
  • [AI Generated][DOC] 建立 PR 与 Issue 正文写作约定 by @ouyangjiahong26 in #507
  • [AI Generated][FEAT] AI 会话运行时切换为 pi 并采纳 e2m2e 5.9.8,发布 4.9.0 by @ouyangjiahong26 in #508
  • [AI Generated] fix(release): Windows 作业 pi 装载路径改为 zip 根目录 pi.exe by @ouyangjiahong26 in #509

Full Changelog: v4.8.5...v4.9.0

v4.8.5

Choose a tag to compare

@github-actions github-actions released this 21 Sep 13:33

CODE v4.8.5

4.8.5 (2026-09-21)

文档

  • 项目改名 CODE(cislunar orbit designer):项目正式更名 CODE,cislunar orbit designer 为其英文全称;README、在线文档(Sphinx)、CONTRIBUTING、CONTEXT 与架构文档的当前叙述改用新名。安装包文件名、应用 ID(com.cislunarspace.transfer-orbit-design)、PyPI/Cargo 包名、sidecar 与配置目录等技术标识保留不变,应用内更新与既有安装不受影响。历史 ADR、规划文档与 CHANGELOG 历史小节保持当时原貌。

What's Changed

  • [AI Generated] [CLEANUP] 仓库迁入 cislunarspace 组织后更新 URL 与 Project 面板地址 by @ouyangjiahong26 in #496

Full Changelog: v4.8.4...v4.8.5

v4.8.4

Choose a tag to compare

@github-actions github-actions released this 08 Sep 06:55

transfer-orbit-design v4.8.4

4.8.4 (2026-09-08)

功能

  • AI 会话以 omp 为基座(ADR 0030):助手边栏的会话、模型调用、思考过程与 agent loop 改由随应用分发的 omp(ACP 协议)承载——模型服务与 API key 由 omp 原生配置管理,应用不再保存 base URL/model/key(旧 assistant.json/assistant.key 只检测存在并提示迁移);多会话历史由 omp 会话目录管理(应用侧不再维护会话 JSONL);中断为真 ACP 取消(cancelled),废除"插入普通消息续跑"假中断;思考三档固定映射 omp 原生值(off/medium/high)。
  • 工具桥接:omp 经应用二进制的 MCP 桥接模式发现并调用 e2m2e 工具与宿主情景工具(scenario_write/scenario_list 语义不变);只读白名单(catalog_query/catalog_get/scenario_list)免确认直跑,其余工具一律审批卡片(Approve/Deny);审批协议不携带改后参数,改参入口随协议事实移除(参数全文展示供审阅)。
  • 生成中输入引导:模型生成期间输入框保持可输入,发送按钮与停止按钮并存;生成中发送即引导——后端发新 prompt,omp 取消当前轮并带完整会话上下文立即续跑(含引导引起取消不发中断标记、挂起的工具审批随轮取消并收尾卡片);停止按钮行为不变(取消不引导)。
  • valid_ranges 免确认:参数合法范围查询加入只读白名单(catalog_query/catalog_get/scenario_list/valid_ranges),不再出审批卡片;eval 包装形态下同规则自动批准(仅限纯单次调用)。
  • 助手中文领域指令:每轮 session/prompt 正文前置固定中文领域指令(角色边界、工具纪律、结果与引用规范,始终简体中文回答);omp 回放的用户气泡在事件转换层剥离指令与画布选择信封,只显示原始消息。
  • 助手配置条(模型/思考/模式):输入区上方新增配置条,模型、思考档、模式(默认/规划)三项的选项与当前值全部来自 omp 会话配置面(configOptions),与原生命令行同源——omp 里新装的 provider/模型自动出现,切换经标准 set_config_option 即时生效(取代自建三档思考映射);会话切换器下拉行显示标题、消息数与相对时间。
  • 适配 omp 18.1.12 工具暴露漂移:ACP 会话里 MCP 工具经 eval 的 tool.* 包装时审批表单解析出真实工具名与参数出卡片(eval 是任意代码执行,自动批准仅限整段就是一次调用的只读白名单工具);eval 终态从 display 文本提取结果信封;领域指令引导模型直调挂载设备路径(xd://mcp__tod_<工具名>)。
  • 界面固定简体中文(ADR 0031):删除中英语言切换与英文词典(顶栏切换按钮、tod-lang 持久化一并移除),<html lang> 恒为 zh-CN;工具卡片拒绝态随协议事实收敛为失败态(Deny 走 failed 终态并显示拒绝原因)。

工程

  • 删除自建 LLM 客户端与协议适配(SSE 解析/provider 方言/系统提示组装/结果投影/会话存储,约 1200 行),新增 ACP 客户端 + MCP 桥接 + 事件转换层(acp/omp/bridge/events 四模块);工具卡片进度条降级为耗时指示(omp 更新流不带分数制进度)。
  • 发布流水线钉版分发 omp(资源 binaries/,不依赖用户预装);开发构建走 TOD_OMP_BIN/PATH。scripts/smoke_omp_acp.py 为真实链路冒烟(握手/桥接/白名单/审批/取消/回放)。
  • 评审修复:状态面(空态判定/路径展示/setup 按钮)改用启动时注册的 omp 命令(发布构建不再漏查资源目录);tool_done 终态事件回填工具名(AI 产物登记的 recordId+tool 配对恢复完整);会话缓存重放经 scratch 缓冲隔离(切走再切回不串台、不翻倍),切换失败时恢复原会话显示;omp setup 终端命令对含空格安装路径加引号;删除 wait_closed 死接口。
  • 事件模型收敛:用户气泡与回放统一走 assistant-event 流(新增 user_message/reset),前端不再解析任何历史文件格式;回放(session/load)与实时流同一折叠路径。

What's Changed

  • [AI Generated] AI 会话以 omp(ACP)为基座重构,助手注入中文领域指令并收敛界面为仅中文 by @cislunarspace in #492
  • [AI Generated] feat(assistant): 配置条动态化 omp 会话配置面,适配 omp 18.1.12 工具暴露 by @cislunarspace in #493
  • [AI Generated] feat(assistant): 生成中输入引导与 valid_ranges 免确认 by @cislunarspace in #494

Full Changelog: v4.8.3...v4.8.4

v4.8.3

Choose a tag to compare

@github-actions github-actions released this 04 Sep 11:28

transfer-orbit-design v4.8.3

4.8.3 (2026-09-04)

功能

  • 项目树分组与过滤栏回显(#468):树按产物类型分组,分组头文字 + 计数徽标(空组徽标置灰),叶子第二行挂结构化摘要(成员序号 / 平动点 / Jacobi,缺字段不渲染),虚拟滚动受控展开,过滤栏过滤条件与仅星标状态显式回显。
  • 会合视图显示感知修复(#469,ADR 0028):会合视图保留质心归一原点("地球不在原点"是 CR3BP 规范约定的显示感知问题,不做地心化平移);原点加地月质心圆环标记,天体显示尺寸按真实半径 ×3 放大。
  • deb/rpm 应用内更新(#471):deb/rpm 安装从"禁用更新、引导手动下载"改为应用内下载完整安装包并经系统包管理器安装;手动更新链路安全加固(下载 URL 白名单只认本仓 Release、版本解析与资产架构匹配校验)。
  • 画布按需渲染修帧率(#472):画布只在数据、视图与设置变化时重绘,时间轴播放与动画导出逐帧推进,修交互帧率低。
  • 轨道信息页签(#476):画布轨道清单点击联动详情,中栏设计工具 / 轨道信息并列页签;duration 提交单位改为秒(修"1 个月生成 1 点星历段");画布装配补回段角色。
  • 惯性视图理想化几何(#477):惯性视图画理想化惯性几何与理想化圆月,候选 gcrs、state_frame 与受控星历前端接线。
  • 内容切换聚焦按身份迁移(#479):切换绘制内容时聚焦行按身份(层对象 + 层内行号)决定去向,被裁段明确清除不静默丢。
  • 采纳 e2m2e 5.9.4(#486):pin 升 >=5.9.4(上游 read_raw_frame 多维帧修复随 5.9.4);catalog 五法与族生成改经 facade().catalog(e2m2e 接口类分家);一轨一记录——族成员各自成记,family_id / member_index 贯通 Python 引擎、Rust 壳与前端,catalog_promote 调用面全删。

修复

  • 栏折叠再展开把助手边栏顶出窗口(#462 回归):右栏 flex: 1 未设 min-width: 0,WebGL 画布的 px 内联宽度抬高 min-content 下限,折叠再展开后右栏窄不回去、助手边栏被永久推出窗外;现声明 minWidth: 0,宽度交回 flex 分配。
  • 库记录的星历轨道画不出来、绘制内容切换无效:get_artifact 通道的星历段 synodic_position 是 (3n,) 平铺而前端只认 (n,3) 嵌套,平铺一律静默丢弃;绘制所选装配结果层整体漏拼 roles(连带 jacobi、inertialGeometries)。现解析兼容两种形状、逐层拼齐行对齐数组。

工程

  • 贡献流程(ADR 0029):CONTRIBUTING、五类 Issue 模板、type/kind/area 标签体系、与 e2m2e 共用的七态推进面板;AGENTS.md 立 issue / PR / 评论格式规约(含 AI 生成标识与 issue 创建入板方法)。
  • 文档全面中文化:README 撤销双语只留中文主文档;Sphinx 英文翻译(docs/source/locale/en 与英文站构建)撤销;CHANGELOG 自本版起版本小节纯中文。

What's Changed

  • fix(gui): 栏折叠再展开把助手边栏顶出窗口:右栏声明 minWidth: 0(#462 回归) by @cislunarspace in #466
  • fix(gui): 库记录星历轨道画不出来、绘制内容切换无效 by @cislunarspace in #467
  • fix(updater): 修复 deb/rpm 安装的应用内更新不可用 by @cislunarspace in #471
  • fix(gui): 画布按需渲染、播放与导出逐帧推进,修界面帧率低 by @cislunarspace in #472
  • refactor(gui): 项目树分组徽标与叶子摘要、虚拟滚动受控展开,过滤栏状态回显(#468) by @cislunarspace in #474
  • feat(canvas): 会合视图保留质心原点,感知问题在显示层修复(#469) by @helingfeng-hub in #473
  • feat(gui): 轨道清单点击联动详情,中栏设计工具/轨道信息并列页签(#476) by @cislunarspace in #478
  • fix(gui): 内容切换时聚焦按行身份迁移,被裁段明确清除不静默丢(#479) by @cislunarspace in #480
  • fix(gui): 惯性视图理想化惯性几何与理想化圆月,候选 gcrs、state_frame、受控星历前端接线(#477) by @cislunarspace in #481
  • [AI Generated] [DOC] 引入贡献流程:五类模板、type/kind/area 标签与共用推进面板 by @cislunarspace in #485
  • [AI Generated] [FIX] 采纳 e2m2e 5.9.4:修复升级后立即失效的调用面 by @cislunarspace in #487
  • [AI Generated] [DOC] AGENTS.md 写明 issue 的创建与入板方法 by @cislunarspace in #488

New Contributors

Full Changelog: v4.8.2...v4.8.3

v4.8.2

Choose a tag to compare

@github-actions github-actions released this 01 Sep 07:22

transfer-orbit-design v4.8.2

4.8.2 (2026-09-01)

功能 / Features

  • 画布轨迹拾取与图例联动(#452、#460):悬停画布轨迹或图例项即预览对应轨迹(其余淡出,预览级不锁定),点击聚焦、再点解除;聚焦态图例色样描边标记,画布与图例双向同步;拾取阈值随轨道包围盒自适应,数据替换时预览与聚焦清除。高亮用透明度而非线宽(WebGL 忽略 linewidth),不引 fat lines。
    Canvas trajectory picking linked with the legend (#452, #460): hovering a trajectory or a legend item previews it (the rest dim, preview-only), clicking focuses, clicking again releases; the focused legend swatch carries a 1px outline and canvas/legend stay in sync; the pick threshold scales with the orbit bounding box; wholesale data replacement clears preview and focus. Highlighting works through opacity, not line width (WebGL ignores linewidth) — no fat-lines dependency.
  • AI 会话中断与续跑(#453、#461):回复生成中发送按钮变停止按钮,后端在最近安全点停下(流事件间、轮次边界、工具排队、确认等待)——已流出正文保留入历史、排队工具补占位结果保持 OpenAI tool_calls 成对契约、挂起确认卡按拒绝落定;中断界限落盘,重启后可回放;最后一个中断标记旁出「继续」按钮,以固定引导文本作为普通用户消息一键续跑(后端零改动,从旧断点续跑的歧义不提供)。
    AI assistant interrupt and continue (#453, #461): while generating, the send button becomes a stop button and the backend stops at the nearest safe point (between stream events, at round boundaries, queued tools, or pending confirmations) — received text is kept in history, queued tools get placeholder results preserving the OpenAI tool_calls pairing, and a pending confirmation settles as rejected; the interrupt boundary is persisted and replayed after restart; a "continue" button beside the last interrupt marker sends a fixed guided text as an ordinary user message (zero backend change; continuing from older breakpoints is intentionally not offered).
  • 栏宽拖拽与折叠(#454、#462):左栏(220–420px)与中栏(240–440px)右缘可拖拽调宽,实时跟手、松手持久化;两栏可各自折叠成全画布模式,原位置窄条一键还原,折叠态持久化、展开还原折叠前宽度;助手边栏拖宽逻辑收编为共享手柄,三处手感一致。折叠/展开均无过渡动画。
    Pane resizing and collapse (#454, #462): the left (220–420px) and middle (240–440px) panes resize from their right edge with live tracking and persist on release; each pane can collapse into a full-canvas mode with a slim restore strip at its original spot; the collapsed state persists and expanding restores the pre-collapse width; the assistant sidebar's resize logic is folded into a shared handle for one consistent feel. No transition animations on either toggle.
  • 动画导出增强(#455):导出前弹设置框选模式(视角自转/时间轴播放)与时长(2–30 秒,默认 8);时间轴播放把时刻从量程起点匀速扫到终点,时刻标记与机动事件红点随时刻演进,录制中忽略用户时刻输入,结束恢复录制前时刻;量程不可用时时间轴模式禁用并注明原因。
    Animation export enhancements (#455): exporting now opens a settings dialog for the mode (view spin / timeline playback) and duration (2–30 s, default 8); timeline playback sweeps the moment evenly from the range start to its end — time markers and maneuver-event pips evolve with the moment — ignoring user moment input while recording and restoring the pre-recording moment afterwards; the timeline mode is disabled with a reason when no range exists.
  • 画布 PNG 静态图导出(#450):工具栏新增导出图片按钮,当前画布所见即所得存为 PNG 文件,直接贴进报告。
    PNG still-image export (#450): the toolbar gains an export-image button that saves the current canvas as a PNG, ready for reports.

修复 / Fixes

  • 深色模式助手边栏样式(#450):边栏、会话视图与工具卡片引用的 --tod-* 主题变量全仓库只有引用没有定义,深色模式下永远落到浅色 fallback;现由 App 根容器随主题注入整套变量(边框/面板/气泡/卡片底/代码底),浅色值即既有 fallback,浅色零回归。
    Assistant sidebar styling in dark mode (#450): the --tod-* theme variables referenced by the sidebar, chat view and tool cards had no definition anywhere, so dark mode always rendered the light fallbacks; the app root now injects the full set per theme (border/panel/bubbles/card/code backgrounds) with light values equal to the old fallbacks — zero light-mode regression.
  • 语言切换覆盖不全(#450):左栏页签、工具面板标题、执行按钮、画布工具栏、时间轴与图表设置弹窗的硬编码中文全部收进词典(中文文案逐字不变),并补词典 zh/en 键对齐守卫测试。
    Incomplete language coverage (#450): hard-coded Chinese in the pane tabs, tool-panel title, run button, canvas toolbar, timeline and the chart-settings dialog now all live in the dictionary (Chinese strings unchanged verbatim), with a zh/en key-parity guard test added.
  • AI 会话交互修正(#450):发送命令异常时草稿回填输入框(不覆盖等待期的新输入);流式回复仅贴底时自动跟随,上翻看历史不再被拽回底部;清空会话需确认;中文输入法选词回车不误发送的行为补回归测试钉住。
    Chat interaction fixes (#450): a failed send restores the draft (never overwriting newer input); streaming no longer yanks scrolling users to the bottom — auto-follow only when stuck to the bottom; clearing a session asks for confirmation; the IME composition Enter behavior is pinned by a regression test.
  • 计算错误提示可读(#450):工具执行失败的 toast 优先取错误的 message 字段,不再把整个错误对象 JSON 序列化甩给用户。
    Readable computation errors (#450): failure toasts now prefer the error's message field instead of dumping the whole JSON-serialized object.

What's Changed

  • fix(gui): 可用性硬伤修复:主题变量落地、i18n 收编、会话交互与 PNG 导出(#450) by @cislunarspace in #451
  • feat(gui): 画布轨迹拾取与聚焦:悬停显示名称提示,点击聚焦淡出其余(#452) by @cislunarspace in #456
  • feat(assistant): 会话中断:停止按钮与后端安全点取消(#453) by @cislunarspace in #457
  • feat(gui): 左栏与中栏拖拽调宽,抽共享拖宽手柄(#454) by @cislunarspace in #458
  • feat(gui): 动画导出增强:模式可选(自转/时间轴播放)与时长可配(#455) by @cislunarspace in #459
  • feat(gui): 图例联动拾取:悬停预览、点击聚焦、聚焦标记(#460) by @cislunarspace in #463
  • feat(assistant): 中断续跑:中断标记旁的继续按钮(#461) by @cislunarspace in #464
  • feat(gui): 栏折叠:左栏与中栏可收起与画布全屏模式(#462) by @cislunarspace in #465

Full Changelog: v4.8.1...v4.8.2

v4.8.1

Choose a tag to compare

@github-actions github-actions released this 01 Sep 00:52

transfer-orbit-design v4.8.1

4.8.1 (2026-09-01)

功能 / Features

  • 任务轨道设计参数面板补预置参数:orbit_type 原为手填文本框,15 种轨道类型需手工准确输入大写英文(如 NRHO)才能联动分支参数,现改为预置下拉(中文标签,如「NRHO 近直线晕轨道」);轨道族生成同步补上文档承诺的八族下拉。面板打开时除轨道类型分支默认值外,同时填入 schema 模型默认值——历元、输出步长、引力场阶数、修正方法、修正圈数等此前空白的公共字段直接显示内置默认,面板打开即可运行;转移设计(停泊轨道高度等)、轨道保持(蒙特卡洛样本数等)的带默认值字段一并显示。只补空位不覆盖已填值;duration 等由上游按轨道类型填充的空默认仍留白;分支键不注入没有 orbit_type 的工具,避免被 additionalProperties: false 拒收。
    Preset parameters in the task-orbit-design panel: orbit_type used to be a hand-typed text box — all 15 orbit types had to be typed exactly (e.g. NRHO) to trigger the per-type parameter branches; it is now a preset dropdown with Chinese labels. Family generation gains its documented eight-family dropdown as well. On open, the panel fills schema model defaults on top of the orbit-type branch defaults: epoch, output step, gravity-field degrees, correction method and revolutions — common fields that used to be blank now show their built-in values, so the tool runs out of the box; transfer design (parking altitude etc.) and station keeping (Monte-Carlo count etc.) benefit alike. Only empty slots are filled, entered values are never overwritten; null defaults such as duration stay blank for upstream per-type filling; the branch key is not injected into tools without orbit_type, which additionalProperties: false would reject.
  • 星历轨道惯性几何上画布:星历段 GCRS position_km 经 get_artifact 透传(行齐才携带,旧记录缺位降级灰显),÷DU_KM 归一沿 #428 inertialGeometries 通道随行——惯性视图下星历轨道以真实地心惯性几何绘制(豁免灰显、图例与标注切地心惯性、时刻标记沿惯性几何走查),会合视图行为不变。画布工具栏新增绘制内容切换(全部/CR3BP/星历):双段并存的产物按段角色过滤,转移弧/预报/族成员等无段语义产物不受影响;图例「星历段(会合系)」改「星历段」,系归属由数据系标注表达;时刻标记缩小(0.015→0.006 DU,原为月球 3 倍余偏大);图表设置弹窗双列栅格紧凑化(450→430px,高度约减半)。
    Ephemeris orbits drawn with true inertial geometry: the ephemeris segment's GCRS position_km now flows through get_artifact (carried only when rows align; legacy records degrade to grey), normalized by DU_KM along the #428 inertialGeometries channel — in the inertial view, ephemeris orbits are drawn in true Earth-centered inertial geometry (grey-out exemption, legend and annotations switch to GCRS, the time marker walks the inertial geometry); the synodic view is unchanged. The canvas toolbar gains a draw-content switch (all / CR3BP / ephemeris) that filters dual-segment records by segment role, leaving products without segment semantics (transfer arcs, propagation, family members) untouched; the legend item "星历段(会合系)" becomes "星历段" — frame attribution is expressed by the data-frame annotation; the time marker shrinks (0.015→0.006 DU, it used to be 3× the Moon); the chart-settings dialog grid is compacted (450→430px, roughly half the height).

工程 / Engineering

  • 发布流水线提速 39→18.5 分钟,并新增演练入口:RPM 载荷压缩 gzip-6 改 zstd-3(tauri 的 rpm 打包走单线程 gzip,~400MB 星历+sidecar 在 arm 上占 26 分钟、x64 上约 12 分钟,为全流水线关键路径;zstd 需 rpm ≥ 4.14,RHEL8+/Fedora 29+/openSUSE 15+ 均支持);lint 与 test 并行(构建仍同时以两者为闸);clone 深度收窄到 1;apt 加重试与超时。workflow_dispatch 演练入口让任意分支即可全链路构建验证,发布步骤仅在 tag 触发时执行。
    Release pipeline 39 → 18.5 minutes, plus a rehearsal entry point: RPM payload compression switches from gzip-6 to zstd-3 (tauri's rpm bundling used single-threaded gzip — ~400 MB of kernels plus sidecar took 26 minutes on arm and ~12 on x64, the critical path of the whole pipeline; zstd requires rpm ≥ 4.14, available on RHEL8+/Fedora 29+/openSUSE 15+); lint and test run in parallel (builds still gate on both); clone depth narrowed to 1; apt gains retries and timeouts. A workflow_dispatch entry lets any branch rehearse the full build chain; publishing steps run only on tag pushes.

Full Changelog: v4.8.0...v4.8.1

v4.8.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 12:51

transfer-orbit-design v4.8.0

4.8.0 (2026-08-31)

功能

  • 发布多平台安装包:Linux 增加 arm64(原生 arm runner 现场构建 sidecar 与 AppImage/deb/rpm,PyInstaller 不支持交叉编译)与 rpm 格式;Windows 增加 MSI 安装包(更新通道仍走 NSIS 瘦身包)。发布流水线对齐 altgo/freetex 的闸口设计:打 tag 先校验四处版本(pyproject/Cargo/tauri.conf/frontend)与 CHANGELOG 小节一致;Release 正文改由 CHANGELOG 对应小节生成;收尾作业核对各平台产物数量、生成 checksums.txt、合成含 windows-x86_64 与 linux-x86_64/linux-aarch64 三平台的 latest.json。Windows 不发 arm64:sidecar 的原生依赖(e2m2e/spiceypy/calcephpy)均无 win_arm64 轮子。

与 v4.7.0 以来的提交对比: v4.7.0...v4.8.0

Full Changelog: v4.7.0...v4.8.0

v4.7.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 11:57

Changes

  • chore(release): 发布 4.7.0 (e663b83)
  • feat(release): 增量更新——瘦身更新通道 + 更新弹窗大小/速度显示 (09e0418)

Full Changelog: v4.6.1...v4.7.0

v4.6.1

Choose a tag to compare

@github-actions github-actions released this 31 Aug 07:29

Changes

  • fix(build): 修正 updater 公钥为单层 base64——altgo.key.pub 内容原样即值 (90232f6)
  • fix(build): updater 公钥轮换至 altgo 密钥对 (0aa88c8)
  • fix(build): 开 bundle.createUpdaterArtifacts——修 updater 签名从未生成 (fc37600)
  • ci(release): 签名闸——.sig 缺失/签名为空时拒绝出包与发布清单 (4815dcc)
  • chore(release): 发布 4.6.1 (a1d8a66)
  • fix(packaging): sidecar 补收 R2S2 包数据——修安装版星历链路 "No ephemeris files are opened" (7fcc56e)
  • docs: README 主语言反转为英文,对齐 e2m2e 惯例(#446) (#449) (89762d3)
  • fix(i18n): 语言切换全应用共享——根部挂 I18nProvider(#447) (#448) (5bcbfae)

What's Changed

Full Changelog: v4.6.0...v4.6.1