docs: expand 1.5.0 release notes

This commit is contained in:
kuddev committed 2026-09-01 22:21:07 +08:00
1 parent 41814a32c6
commit f4314a8d68
2 files changed
+212 -24

No files matched your search

+106 -12
View File
@@ -19,36 +19,130 @@ No unreleased changes yet.
### English
#### Added
- Added an SSH remote-file workspace with navigation, uploads, downloads, remote file operations, conflict handling, progress, and cancellation.
- Added saved commands, repository-aware `.gitignore` actions, Git history with smooth semantic branch tracks, and a three-column conflict resolver that writes and stages the result.
- Added separate username and host fields for SSH connections.
- Added recent-connection and OpenSSH configuration suggestions for SSH usernames.
- Added a Remote Files workspace that opens after SSH authentication.
- Remote Files can follow the interactive remote shell's working directory.
- Remote Files provides parent navigation, refresh, and file, directory, and symlink details.
- Added multi-file SFTP uploads.
- Added recursive directory uploads.
- Added recursive file and directory downloads to a chosen local destination.
- Added remote directory creation, rename, and recursive delete.
- Added copy and paste between remote directories and SSH destinations.
- Added overwrite, skip, and keep-both choices for transfer conflicts.
- Added type-mismatch protection and symlink warnings for transfers.
- Added an option to skip unchanged remote files.
- Added byte-level SFTP progress with preparation and error states.
- Added transfer cancellation while keeping remote navigation available.
- Added a compact saved-command manager for searching, running, editing, and removing reusable commands.
- Added a repository-aware `Add to .gitignore` action that finds the correct repository root and writes the selected path.
- Added a Git history view with smooth semantic tracks for commit topology.
- Added distinct branch, tag, merge, and conflict icons with matching meanings.
- Local and remote refs are now classified correctly in Git history.
- Added a three-column conflict-resolution tab for comparing ours, the result, and theirs.
- Saving a resolved conflict writes the file and stages it in Git.
- Added indexed filename search to the Files drawer with case, whole-word, and regex controls. Addresses [#88](https://github.com/Kuddev/nebula/issues/88) for the search-box portion; the requested `Ctrl+F` shortcut remains open.
- Added a persistent option to skip risky multi-line paste confirmation. Contributed by [@Sakyvo](https://github.com/Sakyvo) in [#76](https://github.com/Kuddev/nebula/pull/76).
- Added an option to hide tab close buttons in both tab layouts while keeping middle-click close. Contributed by [@Sakyvo](https://github.com/Sakyvo) in [#77](https://github.com/Kuddev/nebula/pull/77).
#### Fixed
- Fixed GPUI text inputs sending `Ctrl+V` to the terminal behind them, and stopped tab switches from reloading or prematurely opening SFTP views.
- Fixed duplicate SSH password prompts and stopped reusing failed pooled transports; the affected channel retries once on a fresh connection without terminating unrelated panes. Addresses [#50](https://github.com/Kuddev/nebula/issues/50) for post-failure reconnect only; the intermittent disconnect and rendering reports remain open.
- Fixed WSL Agent activity tracking for direct, wrapped, and broadcast commands, and cleared stale activity when control returns to the guest shell.
- Fixed GPUI text inputs sending `Ctrl+V` to the terminal behind them.
- Fixed the saved-command manager expanding to an oversized empty area when it contains only a few rows.
- Fixed switching between SSH tabs reloading Remote Files; each pane now retains its confirmed directory contents, selection, and scroll position.
- Fixed Remote Files starting SFTP requests before SSH authentication completes.
- Stale directory results are discarded after the user changes pane or path.
- Fixed duplicate SSH password prompts.
- Failed pooled SSH transports are no longer reused; the affected channel retries once on a fresh connection. Addresses [#50](https://github.com/Kuddev/nebula/issues/50) for post-failure reconnect only; the intermittent disconnect and rendering reports remain open.
- A failed SSH channel no longer terminates unrelated panes.
- Fixed TortoiseSVN dialogs failing to open with `ERROR_INVALID_HANDLE` (`os error 6`) when Nebula has no inheritable console handles.
- Direct WSL Agent commands are now recognized from the complete committed command.
- WSL Agent launches through `npx`, `node`, and `uvx` are recognized under the Agent name.
- Broadcast Enter now reaches command tracking in every receiving WSL pane.
- WSL Agent and runtime activity is cleared when the command completes.
- Stale WSL Agent state is cleared when the original guest-shell prompt returns.
#### Improved
- Made SFTP transfers transactional and faster with bounded concurrency, pipelined writes, segmented reads, atomic downloads, and cancellation-safe cleanup.
- Improved SFTP throughput with bounded file concurrency and bounded memory use.
- Uploads now pipeline remote writes.
- Large downloads now use parallel segmented reads.
- SFTP publication now uses sibling staging files and atomic replacement.
- Interrupted replacements retain a recoverable backup.
- Transfers preserve timestamps and permissions where supported.
- Cancellation safely cleans up temporary transfer state.
- Improved remote-directory following across modern and legacy SSH servers.
- Foreground shells entered through `su` or `sudo` can report their remote directory.
- Ambiguous remote sessions fall back safely instead of guessing a path.
- WSL shell integration now reports command completion and exit status.
- WSL shell integration now reports cwd and the next prompt boundary.
- WSL integration keeps the guest's configured login shell.
- Existing `WSLENV` entries are preserved instead of overwritten.
- Added Linux GPUI platform wiring for both Wayland and X11 as groundwork for the native Linux port.
- Isolated the GPUI product shell from legacy window, input, rendering, and event adapters so Linux can use the same product architecture.
- Made GPUI the default product shell and kept the legacy shell behind an explicit feature, so ordinary release builds follow the same product path used by the packaged application.
### 简体中文
#### 新增
- 新增 SSH 远程文件工作区,支持导航、上传下载、远端文件操作、冲突处理、进度与取消。
- 新增保存命令、仓库感知的 `.gitignore` 操作、带丝滑语义轨道的 Git 历史,以及会写回并暂存结果的三栏冲突解决器。
- SSH 连接新增分离的用户名与主机字段。
- SSH 用户名新增最近连接与 OpenSSH 配置建议。
- 新增 SSH 认证完成后打开的 Remote Files 远程文件工作区。
- Remote Files 可跟随交互式远端 shell 的工作目录。
- Remote Files 提供上一级、刷新以及文件、目录和符号链接详情。
- SFTP 新增多文件上传。
- SFTP 新增递归目录上传。
- 新增把远端文件和目录递归下载到指定本地位置。
- 新增远端目录创建、重命名和递归删除。
- 新增跨远端目录和 SSH 目标的复制粘贴。
- 传输冲突新增覆盖、跳过和保留两者三种选择。
- 传输新增类型不匹配保护和符号链接警告。
- 新增跳过未变化远端文件的选项。
- 新增按字节显示的 SFTP 进度以及准备和错误状态。
- 新增传输取消;取消期间仍可继续浏览远端目录。
- 新增紧凑的保存命令管理器,支持搜索、运行、编辑和删除可复用命令。
- 新增仓库感知的“加入 `.gitignore`”操作,会定位正确的仓库根并写入所选路径。
- 新增 Git 历史视图,使用丝滑的语义轨道展示提交拓扑。
- 分支、标签、合并和冲突使用含义匹配的独立图标。
- Git 历史现在会正确分类本地与远端引用。
- 新增三栏冲突解决 Tab,可并排比较 ours、结果与 theirs。
- 保存冲突结果后会写回文件并在 Git 中暂存。
- 文件抽屉新增带索引的文件名搜索,以及区分大小写、全词和正则选项。此项对应 [#88](https://github.com/Kuddev/nebula/issues/88) 的搜索框部分;需求中的 `Ctrl+F` 快捷键仍未完成。
- 新增永久跳过高风险多行粘贴确认的选项。由 [@Sakyvo](https://github.com/Sakyvo) 在 [#76](https://github.com/Kuddev/nebula/pull/76) 中贡献。
- 新增在两种标签布局中隐藏关闭按钮的选项,同时保留中键关闭。由 [@Sakyvo](https://github.com/Sakyvo) 在 [#77](https://github.com/Kuddev/nebula/pull/77) 中贡献。
#### 修复
- 修复 GPUI 文本输入框把 `Ctrl+V` 发送到背后终端的问题,并阻止切换标签时重新加载或过早打开 SFTP 视图。
- 修复 SSH 重复密码提示,并停止复用已经失效的连接;受影响的 channel 会在全新连接上重试一次,同时不终止其他 pane。此项对应 [#50](https://github.com/Kuddev/nebula/issues/50) 的失败后重连部分;间歇断连和渲染报告仍保持开放。
- 修复 WSL Agent 对直接命令、包装器命令和广播命令的活动跟踪,并在控制权回到来宾 shell 后清除过期状态。
- 修复 GPUI 文本输入框把 `Ctrl+V` 发送到背后终端的问题。
- 修复保存命令管理器只有少量结果时仍展开出大块空白区域的问题。
- 修复切换 SSH 标签时重新加载 Remote Files;每个 pane 现在会保留已经确认的目录内容、选中项和滚动位置。
- 修复 SSH 认证完成前 Remote Files 就发起 SFTP 请求的问题。
- 用户切换 pane 或路径后返回的过期目录结果会被丢弃。
- 修复 SSH 重复密码提示。
- 不再复用已经失效的 SSH 连接;受影响的 channel 会在全新连接上重试一次。此项对应 [#50](https://github.com/Kuddev/nebula/issues/50) 的失败后重连部分;间歇断连和渲染报告仍保持开放。
- 单个 SSH channel 失败不再终止无关 pane。
- 修复 Nebula 没有可继承控制台句柄时,TortoiseSVN 对话框因 `ERROR_INVALID_HANDLE`(`os error 6`)无法打开。
- 现在会从完整的已提交命令识别直接启动的 WSL Agent。
- 通过 `npx`、`node` 和 `uvx` 启动的 WSL Agent 会显示正确的 Agent 名称。
- 广播 Enter 现在会进入每个接收方 WSL pane 的命令跟踪。
- 命令完成后会清除 WSL Agent 与 Runtime 活动态。
- 原始 guest shell 提示符恢复后会清除过期的 WSL Agent 状态。
#### 改进
- SFTP 传输改为事务式流程,并通过有界并发、流水线写入、分段读取、原子下载和取消安全清理提升速度与可靠性。
- SFTP 通过有界文件并发提升吞吐,同时限制内存占用。
- 上传现在使用流水线式远端写入。
- 大文件下载现在使用并行分段读取。
- SFTP 发布改用同目录暂存文件和原子替换。
- 替换中断时会保留可恢复备份。
- 远端支持时会保留时间戳与权限。
- 取消操作会安全清理临时传输状态。
- 改进现代与旧版 SSH 服务上的远端目录跟随。
- 可定位经 `su` 或 `sudo` 进入的前台 shell 工作目录。
- 远端会话存在歧义时会安全回退,不猜测路径。
- WSL shell 集成现在会上报命令完成和退出状态。
- WSL shell 集成现在会上报 cwd 和下一提示符边界。
- WSL 集成会保留 guest 已配置的登录 shell。
- 现有 `WSLENV` 项会被保留,不再覆盖。
- 新增 Wayland 与 X11 的 Linux GPUI 平台接线,作为原生 Linux 移植地基。
- GPUI 产品壳已与旧版窗口、输入、渲染和事件适配器隔离,让 Linux 可沿用同一套产品架构。
- 将 GPUI 设为默认产品壳,旧壳保留在显式 feature 后,普通 Release 构建与打包应用使用同一条产品路径。
## 1.4.1 - 2026-08-30
+106 -12
View File
@@ -4,41 +4,135 @@
### Added
- Added an SSH remote-file workspace with navigation, uploads, downloads, remote file operations, conflict handling, progress, and cancellation.
- Added saved commands, repository-aware `.gitignore` actions, Git history with smooth semantic branch tracks, and a three-column conflict resolver that writes and stages the result.
- Added separate username and host fields for SSH connections.
- Added recent-connection and OpenSSH configuration suggestions for SSH usernames.
- Added a Remote Files workspace that opens after SSH authentication.
- Remote Files can follow the interactive remote shell's working directory.
- Remote Files provides parent navigation, refresh, and file, directory, and symlink details.
- Added multi-file SFTP uploads.
- Added recursive directory uploads.
- Added recursive file and directory downloads to a chosen local destination.
- Added remote directory creation, rename, and recursive delete.
- Added copy and paste between remote directories and SSH destinations.
- Added overwrite, skip, and keep-both choices for transfer conflicts.
- Added type-mismatch protection and symlink warnings for transfers.
- Added an option to skip unchanged remote files.
- Added byte-level SFTP progress with preparation and error states.
- Added transfer cancellation while keeping remote navigation available.
- Added a compact saved-command manager for searching, running, editing, and removing reusable commands.
- Added a repository-aware `Add to .gitignore` action that finds the correct repository root and writes the selected path.
- Added a Git history view with smooth semantic tracks for commit topology.
- Added distinct branch, tag, merge, and conflict icons with matching meanings.
- Local and remote refs are now classified correctly in Git history.
- Added a three-column conflict-resolution tab for comparing ours, the result, and theirs.
- Saving a resolved conflict writes the file and stages it in Git.
- Added indexed filename search to the Files drawer with case, whole-word, and regex controls. Addresses [#88](https://github.com/Kuddev/nebula/issues/88) for the search-box portion; the requested `Ctrl+F` shortcut remains open.
- Added a persistent option to skip risky multi-line paste confirmation. Contributed by [@Sakyvo](https://github.com/Sakyvo) in [#76](https://github.com/Kuddev/nebula/pull/76).
- Added an option to hide tab close buttons in both tab layouts while keeping middle-click close. Contributed by [@Sakyvo](https://github.com/Sakyvo) in [#77](https://github.com/Kuddev/nebula/pull/77).
### Fixed
- Fixed GPUI text inputs sending `Ctrl+V` to the terminal behind them, and stopped tab switches from reloading or prematurely opening SFTP views.
- Fixed duplicate SSH password prompts and stopped reusing failed pooled transports; the affected channel retries once on a fresh connection without terminating unrelated panes. Addresses [#50](https://github.com/Kuddev/nebula/issues/50) for post-failure reconnect only; the intermittent disconnect and rendering reports remain open.
- Fixed WSL Agent activity tracking for direct, wrapped, and broadcast commands, and cleared stale activity when control returns to the guest shell.
- Fixed GPUI text inputs sending `Ctrl+V` to the terminal behind them.
- Fixed the saved-command manager expanding to an oversized empty area when it contains only a few rows.
- Fixed switching between SSH tabs reloading Remote Files; each pane now retains its confirmed directory contents, selection, and scroll position.
- Fixed Remote Files starting SFTP requests before SSH authentication completes.
- Stale directory results are discarded after the user changes pane or path.
- Fixed duplicate SSH password prompts.
- Failed pooled SSH transports are no longer reused; the affected channel retries once on a fresh connection. Addresses [#50](https://github.com/Kuddev/nebula/issues/50) for post-failure reconnect only; the intermittent disconnect and rendering reports remain open.
- A failed SSH channel no longer terminates unrelated panes.
- Fixed TortoiseSVN dialogs failing to open with `ERROR_INVALID_HANDLE` (`os error 6`) when Nebula has no inheritable console handles.
- Direct WSL Agent commands are now recognized from the complete committed command.
- WSL Agent launches through `npx`, `node`, and `uvx` are recognized under the Agent name.
- Broadcast Enter now reaches command tracking in every receiving WSL pane.
- WSL Agent and runtime activity is cleared when the command completes.
- Stale WSL Agent state is cleared when the original guest-shell prompt returns.
### Improved
- Made SFTP transfers transactional and faster with bounded concurrency, pipelined writes, segmented reads, atomic downloads, and cancellation-safe cleanup.
- Improved SFTP throughput with bounded file concurrency and bounded memory use.
- Uploads now pipeline remote writes.
- Large downloads now use parallel segmented reads.
- SFTP publication now uses sibling staging files and atomic replacement.
- Interrupted replacements retain a recoverable backup.
- Transfers preserve timestamps and permissions where supported.
- Cancellation safely cleans up temporary transfer state.
- Improved remote-directory following across modern and legacy SSH servers.
- Foreground shells entered through `su` or `sudo` can report their remote directory.
- Ambiguous remote sessions fall back safely instead of guessing a path.
- WSL shell integration now reports command completion and exit status.
- WSL shell integration now reports cwd and the next prompt boundary.
- WSL integration keeps the guest's configured login shell.
- Existing `WSLENV` entries are preserved instead of overwritten.
- Added Linux GPUI platform wiring for both Wayland and X11 as groundwork for the native Linux port.
- Isolated the GPUI product shell from legacy window, input, rendering, and event adapters so Linux can use the same product architecture.
- Made GPUI the default product shell and kept the legacy shell behind an explicit feature, so ordinary release builds follow the same product path used by the packaged application.
## 中文
### 新增
- 新增 SSH 远程文件工作区,支持导航、上传下载、远端文件操作、冲突处理、进度与取消。
- 新增保存命令、仓库感知的 `.gitignore` 操作、带丝滑语义轨道的 Git 历史,以及会写回并暂存结果的三栏冲突解决器。
- SSH 连接新增分离的用户名与主机字段。
- SSH 用户名新增最近连接与 OpenSSH 配置建议。
- 新增 SSH 认证完成后打开的 Remote Files 远程文件工作区。
- Remote Files 可跟随交互式远端 shell 的工作目录。
- Remote Files 提供上一级、刷新以及文件、目录和符号链接详情。
- SFTP 新增多文件上传。
- SFTP 新增递归目录上传。
- 新增把远端文件和目录递归下载到指定本地位置。
- 新增远端目录创建、重命名和递归删除。
- 新增跨远端目录和 SSH 目标的复制粘贴。
- 传输冲突新增覆盖、跳过和保留两者三种选择。
- 传输新增类型不匹配保护和符号链接警告。
- 新增跳过未变化远端文件的选项。
- 新增按字节显示的 SFTP 进度以及准备和错误状态。
- 新增传输取消;取消期间仍可继续浏览远端目录。
- 新增紧凑的保存命令管理器,支持搜索、运行、编辑和删除可复用命令。
- 新增仓库感知的“加入 `.gitignore`”操作,会定位正确的仓库根并写入所选路径。
- 新增 Git 历史视图,使用丝滑的语义轨道展示提交拓扑。
- 分支、标签、合并和冲突使用含义匹配的独立图标。
- Git 历史现在会正确分类本地与远端引用。
- 新增三栏冲突解决 Tab,可并排比较 ours、结果与 theirs。
- 保存冲突结果后会写回文件并在 Git 中暂存。
- 文件抽屉新增带索引的文件名搜索,以及区分大小写、全词和正则选项。此项对应 [#88](https://github.com/Kuddev/nebula/issues/88) 的搜索框部分;需求中的 `Ctrl+F` 快捷键仍未完成。
- 新增永久跳过高风险多行粘贴确认的选项。由 [@Sakyvo](https://github.com/Sakyvo) 在 [#76](https://github.com/Kuddev/nebula/pull/76) 中贡献。
- 新增在两种标签布局中隐藏关闭按钮的选项,同时保留中键关闭。由 [@Sakyvo](https://github.com/Sakyvo) 在 [#77](https://github.com/Kuddev/nebula/pull/77) 中贡献。
### 修复
- 修复 GPUI 文本输入框把 `Ctrl+V` 发送到背后终端的问题,并阻止切换标签时重新加载或过早打开 SFTP 视图。
- 修复 SSH 重复密码提示,并停止复用已经失效的连接;受影响的 channel 会在全新连接上重试一次,同时不终止其他 pane。此项对应 [#50](https://github.com/Kuddev/nebula/issues/50) 的失败后重连部分;间歇断连和渲染报告仍保持开放。
- 修复 WSL Agent 对直接命令、包装器命令和广播命令的活动跟踪,并在控制权回到来宾 shell 后清除过期状态。
- 修复 GPUI 文本输入框把 `Ctrl+V` 发送到背后终端的问题。
- 修复保存命令管理器只有少量结果时仍展开出大块空白区域的问题。
- 修复切换 SSH 标签时重新加载 Remote Files;每个 pane 现在会保留已经确认的目录内容、选中项和滚动位置。
- 修复 SSH 认证完成前 Remote Files 就发起 SFTP 请求的问题。
- 用户切换 pane 或路径后返回的过期目录结果会被丢弃。
- 修复 SSH 重复密码提示。
- 不再复用已经失效的 SSH 连接;受影响的 channel 会在全新连接上重试一次。此项对应 [#50](https://github.com/Kuddev/nebula/issues/50) 的失败后重连部分;间歇断连和渲染报告仍保持开放。
- 单个 SSH channel 失败不再终止无关 pane。
- 修复 Nebula 没有可继承控制台句柄时,TortoiseSVN 对话框因 `ERROR_INVALID_HANDLE`(`os error 6`)无法打开。
- 现在会从完整的已提交命令识别直接启动的 WSL Agent。
- 通过 `npx`、`node` 和 `uvx` 启动的 WSL Agent 会显示正确的 Agent 名称。
- 广播 Enter 现在会进入每个接收方 WSL pane 的命令跟踪。
- 命令完成后会清除 WSL Agent 与 Runtime 活动态。
- 原始 guest shell 提示符恢复后会清除过期的 WSL Agent 状态。
### 改进
- SFTP 传输改为事务式流程,并通过有界并发、流水线写入、分段读取、原子下载和取消安全清理提升速度与可靠性。
- SFTP 通过有界文件并发提升吞吐,同时限制内存占用。
- 上传现在使用流水线式远端写入。
- 大文件下载现在使用并行分段读取。
- SFTP 发布改用同目录暂存文件和原子替换。
- 替换中断时会保留可恢复备份。
- 远端支持时会保留时间戳与权限。
- 取消操作会安全清理临时传输状态。
- 改进现代与旧版 SSH 服务上的远端目录跟随。
- 可定位经 `su` 或 `sudo` 进入的前台 shell 工作目录。
- 远端会话存在歧义时会安全回退,不猜测路径。
- WSL shell 集成现在会上报命令完成和退出状态。
- WSL shell 集成现在会上报 cwd 和下一提示符边界。
- WSL 集成会保留 guest 已配置的登录 shell。
- 现有 `WSLENV` 项会被保留,不再覆盖。
- 新增 Wayland 与 X11 的 Linux GPUI 平台接线,作为原生 Linux 移植地基。
- GPUI 产品壳已与旧版窗口、输入、渲染和事件适配器隔离,让 Linux 可沿用同一套产品架构。
- 将 GPUI 设为默认产品壳,旧壳保留在显式 feature 后,普通 Release 构建与打包应用使用同一条产品路径。
## Contributors