Skip to content

tdev v0.7.0

Choose a tag to compare

@github-actions github-actions released this 13 Nov 09:53
· 5 commits to main since this release

v0.7.0

增加项目向导目录创建确认,统一由客户端维护终端标题与未读提醒。

项目目录创建

  • create、edit、setup 和 open 缺失项目时,目录不存在会询问是否创建,默认选择否。确认后在项目所在机器递归创建目录,支持 ~/、中文、空格和引号。
  • 创建目录立即生效,随后取消向导仍保留目录;项目配置在最终保存确认后写入。非交互 --directory 要求目录已存在。

终端标题与提醒

  • 本机和 SSH 交互附着显示 tdev: server/project,有待查看提醒时加 [!];切换托管 session 后更新项目或 scratch 名称。同一远端的不同客户端保留各自的连接名称。
  • 客户端过滤程序及远端的 OSC 0/1/2 标题写入,支持 tmux/screen DCS 透传包裹;OSC 8 超链接、OSC 52 剪贴板和独立 BEL 保持透传。
  • 本机附着使用独立 PTY,中继输入和窗口大小,退出时恢复终端。远端继续使用系统 OpenSSH;API 附着提供原始终端流。
  • tmux 原生及失焦提醒按窗口合并,逐个查看后清除,重新附着读取未读状态。振铃遵循用户的 visual-bell 设置与终端配置。

升级与回滚

先升级本机客户端,再升级远端:

tdev upgrade -y
tdev upgrade --remote dev -y

install、upgrade 和相同内容重装自动执行 post-install。其他配置根分别处理;从 v0.5.0 或更早版本首次升级后,用新二进制补跑 tdev post-install,远端使用 tdev post-install --remote dev。按 reattach_required 报告结束旧附着,再用新版客户端重新 open。

tmux runtime schema 从 1 升至 2,迁移保留 pane、进程、generation、用户 hook 和未读标记。机器协议与项目配置 schema 保持为 1,沿用现有签名公钥。新版客户端连接旧服务端时保留本地标题,动态提醒需升级服务端;直接用原生 tmux 附着会显示状态协议标记。

已迁移的 schema 2 会话由支持该 schema 的版本管理。回滚到 v0.6.0 后,post-install 返回部分成功,旧程序重新附着返回兼容错误;原会话和进程保留。需要继续原会话时,重新安装 v0.7.0 或支持 schema 2 的兼容版本,再执行 post-install 和 open。自动逆迁移尚未实现。

验证范围

Linux 的真实隔离 SSH/tmux、PTY 生命周期、标题过滤、目录向导、安装与转发回归通过,Linux/macOS 的 amd64/arm64 完成交叉构建。macOS 原生终端、完整嵌套 tmux 的最终交互及真实历史签名包的完整回滚链仍待验证。详细结果见验收记录。