149 lines
10 KiB
Markdown
149 lines
10 KiB
Markdown
# Nebula Terminal 1.5.0
|
||
|
||
## English
|
||
|
||
### Added
|
||
|
||
- 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.
|
||
- 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
|
||
|
||
- 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 连接新增分离的用户名与主机字段。
|
||
- 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` 发送到背后终端的问题。
|
||
- 修复保存命令管理器只有少量结果时仍展开出大块空白区域的问题。
|
||
- 修复切换 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 发布改用同目录暂存文件和原子替换。
|
||
- 替换中断时会保留可恢复备份。
|
||
- 远端支持时会保留时间戳与权限。
|
||
- 取消操作会安全清理临时传输状态。
|
||
- 改进现代与旧版 SSH 服务上的远端目录跟随。
|
||
- 可定位经 `su` 或 `sudo` 进入的前台 shell 工作目录。
|
||
- 远端会话存在歧义时会安全回退,不猜测路径。
|
||
- WSL shell 集成现在会上报命令完成和退出状态。
|
||
- WSL shell 集成现在会上报 cwd 和下一提示符边界。
|
||
- WSL 集成会保留 guest 已配置的登录 shell。
|
||
- 现有 `WSLENV` 项会被保留,不再覆盖。
|
||
- 新增 Wayland 与 X11 的 Linux GPUI 平台接线,作为原生 Linux 移植地基。
|
||
- GPUI 产品壳已与旧版窗口、输入、渲染和事件适配器隔离,让 Linux 可沿用同一套产品架构。
|
||
- 将 GPUI 设为默认产品壳,旧壳保留在显式 feature 后,普通 Release 构建与打包应用使用同一条产品路径。
|
||
|
||
## Contributors
|
||
|
||
<a href="https://github.com/Sakyvo"><img src="https://github.com/Sakyvo.png?size=96" width="64" height="64" alt="@Sakyvo avatar"></a>
|
||
|
||
**[@Sakyvo](https://github.com/Sakyvo)** — Added persistent controls for multi-line paste confirmation and tab close-button visibility ([#76](https://github.com/Kuddev/nebula/pull/76), [#77](https://github.com/Kuddev/nebula/pull/77)).
|
||
|
||
---
|
||
|
||
**SHA256**
|
||
|
||
- `NebulaTerminal-v1.5.0-windows-x64.zip`: `9B2413144C0434E29749CCBD5C2B0F93E930DAFD22634DD70D34B763037E0DA4`
|
||
- `NebulaTerminal-1.5.0-windows-x64-setup.exe`: `416A1E127045CE81C78CC2D0990D469D8ADDE935931963148FB81A9D5CEF2BD2`
|