English
OxideTerm 2.0.27 expands terminal semantic highlighting, adds merging existing terminal tabs into split panes and more flexible session logs, and improves serial output, connection prompts, AI streaming, and desktop compatibility.
🎨 Terminal Highlighting and Display
- Expanded command-aware highlighting for compiler diagnostics, Git status and diffs, systemd services and journals, test results, and Docker/Kubernetes resource states. Classification follows the command context rather than treating every matching word as a status.
- Added structured highlighting for
ls,stat,getfacl,df,free,ip,ss, andping, including file metadata, capacity, interface and socket states, and packet loss. File-listing parsing accounts for omitted owner/group columns and common GNU/BSD output differences. - Added distinct colors for Unix read, write, execute, and special permission bits. Weekday and month names also use separate colors, including in ordinary output.
- Added nested bracket colors and subtle background bands for explicit error and warning lines. Semantic coloring continues to respect explicit terminal colors and manual foreground highlights; detected URLs no longer overwrite colors supplied by the shell.
- Added horizontal scrolling to reveal terminal columns obscured when timestamps are enabled, without changing the terminal's column count.
- Improved custom font-stack parsing so quoted family names and fallback fonts are handled correctly.
🪟 Terminal Tabs and Session Logs
- Added horizontal and vertical merge actions to terminal tab context menus. Existing sessions of the same terminal type can be moved into the active tab as split panes without opening replacement connections.
- Added a configurable session-log root directory and relative subdirectory templates, such as
{session}/{date}, for organizing logs by session and date. - Added an unlimited log-file size option by setting the maximum size to
0. Positive limits remain available; unlimited logging can consume additional disk space.
🔌 Serial and Connection Reliability
- Added independent transmit and receive line-ending controls for serial sessions. Receive normalization handles CRLF split across input chunks; saved line-ending choices are retained in connection profiles and included in cloud sync.
- Fixed ordinary terminal output being held indefinitely when its trailing bytes resemble the beginning of a modem-transfer handshake. Incomplete ambiguous prefixes are released when their wait expires or the stream ends.
- Made connection and reconnection progress cards non-blocking. Dismissed cards remain dismissed across retries, and progress cards yield to keyboard-interactive authentication dialogs instead of covering the prompt.
- Preserved explicitly configured legacy SSH algorithm preferences when creating sessions from saved connections.
🖥️ Desktop Compatibility and Credentials
- Fixed tab clicks near the top edge of macOS fullscreen windows and adjusted traffic-light controls to native sizing.
- Fixed macOS Keychain reads that could alter saved password text, including values that resemble hexadecimal data. Existing affected entries are read through the native Keychain path and migrated; macOS may request access during that migration.
- Normalized Windows ConPTY environment blocks to avoid conflicting case variants of environment-variable names.
- Removed duplicate entries from Linux local-shell discovery and improved checkbox visibility across the interface.
💬 AI Chat
- Reduced repeated connection setup for AI chat and tool rounds by reusing the application's HTTP connection pool while keeping authentication request-scoped.
- Fixed streamed chat events being lost during window updates, improving continuity of incremental responses and tool activity.
⚡ Terminal Performance and Contributor Documentation
- Fixed command marks retaining obsolete coordinates after scrollback eviction. New output is no longer mistaken for an old command, and retained output remains associated with its running command. A macOS Apple M5 synthetic renderer workload with 2,000 previous commands improved from approximately 4.5–4.8 ms/frame to 0.58–0.66 ms/frame; this is a workload-specific result, not a cross-platform throughput claim.
- Reused the current frame's logical-line index for semantic classification, avoiding repeated scans of wrapped lines without adding a persistent cache.
- Added development documentation covering crate responsibilities, platform setup, verification, runtime ownership, GPUI CE maintenance, debugging, sensitive data, settings, localization, benchmarking, and releases.
中文
OxideTerm 2.0.27 扩展终端语义着色,新增将已有终端标签合并为分屏的操作和更灵活的会话日志配置,并改进串口输出、连接提示、AI 流式响应及桌面平台兼容性。
🎨 终端着色与显示
- 扩展编译器诊断、Git 状态与差异、systemd 服务与日志、测试结果以及 Docker/Kubernetes 资源状态的命令感知着色。分类依据命令上下文,不会把所有同名词语都当成状态。
- 为
ls、stat、getfacl、df、free、ip、ss和ping增加结构化着色,覆盖文件元数据、容量、网卡与套接字状态及丢包率。文件列表解析兼顾省略所有者或组列的情况,以及常见 GNU/BSD 输出差异。 - 为 Unix 读取、写入、执行和特殊权限位增加不同颜色。星期与月份名称也使用独立颜色,并支持普通输出中的识别。
- 新增嵌套括号配色,以及明确错误、警告行的浅色背景带。语义着色继续尊重终端显式颜色与手动前景高亮;自动识别的 URL 不再覆盖 Shell 提供的颜色。
- 在启用时间戳时增加横向滚动,可查看被遮挡的终端列,而不改变终端列数。
- 改进自定义字体列表解析,正确处理带引号的字体名称与后备字体。
🪟 终端标签与会话日志
- 在终端标签右键菜单中新增横向、纵向合并操作。相同终端类型的已有会话可移入当前标签形成分屏,无需重新建立连接。
- 支持自定义会话日志根目录和相对子目录模板,例如
{session}/{date},便于按会话、日期整理日志。 - 支持将日志最大文件大小设为
0,表示不限制大小;仍可设置正数限制。无限制记录可能持续占用磁盘空间。
🔌 串口与连接可靠性
- 为串口会话增加独立的发送、接收换行控制。接收转换正确处理跨数据块的 CRLF;换行选择会保存到连接配置,并随云同步传递。
- 修复普通终端输出的末尾字节类似文件传输握手开头时,内容可能一直不显示的问题。不完整的待判定前缀会在等待到期或数据流结束时释放。
- 将连接与重连进度卡片改为非阻塞显示。关闭后的卡片不会因重试重新弹出;键盘交互认证对话框出现时,进度卡片会让出位置,不再遮挡认证提示。
- 从已保存连接创建会话时,保留用户明确配置的旧版 SSH 算法偏好。
🖥️ 桌面兼容性与凭据
- 修复 macOS 全屏窗口顶部附近的标签点击,并将红绿灯控件调整为原生尺寸。
- 修复 macOS 钥匙串读取可能改变已保存密码原文的问题,包括看起来像十六进制数据的密码。受影响的旧条目会通过原生钥匙串读取并迁移,迁移时 macOS 可能请求访问授权。
- 规范 Windows ConPTY 环境变量块,避免同名变量的大小写变体互相冲突。
- 去除 Linux 本地 Shell 列表中的重复条目,并提升界面复选框的辨识度。
💬 AI 对话
- 复用应用的 HTTP 连接池,减少 AI 对话及工具调用轮次中的重复连接准备,同时将认证信息保持在单次请求范围内。
- 修复窗口更新期间流式对话事件可能丢失的问题,改善增量回复与工具活动的连续性。
⚡ 终端性能与贡献者文档
- 修复回滚历史裁剪后命令标记仍保留过期坐标的问题。新输出不再被误认为旧命令,仍保留的输出也会继续关联正在运行的命令。在 macOS Apple M5 上,包含 2000 条历史命令的合成渲染场景从约 4.5–4.8 ms/帧降至 0.58–0.66 ms/帧;该结果仅针对这一场景,不代表跨平台吞吐量提升。
- 语义分类复用当前帧的逻辑行索引,避免反复扫描自动换行的长行,不增加持久缓存。
- 新增开发文档,覆盖 crate 职责、平台环境、验证流程、运行时所有权、GPUI CE 维护、调试、敏感数据、设置、国际化、性能基准及发布流程。
📥 Download for your system
| Operating system | x64 | ARM64 |
|---|---|---|
| Windows | Setup (.exe) | Setup (.exe) |
| macOS | DMG (Intel) | DMG (Apple Silicon) |
| Linux | AppImage · DEB · RPM | AppImage · DEB · RPM |
Portable archives, signatures, and sha256sums.txt remain available in the release assets below.
📌 Installation Tips / 安装提示
macOS
Downloaded .dmg files may be quarantined by Gatekeeper. Run in Terminal:
xattr -cr ~/Downloads/OxideTerm_*.dmg
# or after install / 或安装后
xattr -cr /Applications/OxideTerm.appWindows
If SmartScreen warns, click More info -> Run anyway.
若 SmartScreen 弹出警告,点击 更多信息 -> 仍要运行。
Linux
# AppImage
chmod +x OxideTerm_*_linux_*.AppImage && ./OxideTerm_*_linux_*.AppImage
# Debian/Ubuntu
sudo dpkg -i OxideTerm_*_linux_*.deb && sudo apt-get install -f
# Fedora/RHEL-compatible systems
sudo dnf install ./OxideTerm_*_linux_*.rpm🔗 Links
- Documentation: https://oxideterm.app
- GitHub Issues: https://github.com/AnalyseDeCircuit/oxideterm/issues
- Changelog: https://github.com/AnalyseDeCircuit/oxideterm/blob/main/.github/release-notes/stable-changelog.md