chore(release): prepare v1.2.0
This commit is contained in:
1 parent
5483ec3b25
commit
fecb99d94a
12 files changed
+214
-147
No files matched your search
+62
-6
@@ -8,25 +8,81 @@ Every release entry is provided in English and Simplified Chinese.
|
||||
|
||||
### English
|
||||
|
||||
No unreleased changes yet.
|
||||
|
||||
### 简体中文
|
||||
|
||||
暂无未发布改动。
|
||||
|
||||
## 1.2.0 - 2026-08-21
|
||||
|
||||
### English
|
||||
|
||||
#### Added
|
||||
- **`nebula ctl orchestrate`** — a strongly typed single-request workflow: a model submits its intent once and the Runtime performs the deterministic control steps locally, bounded by a step count, a byte ceiling and a readiness timeout, with per-workflow `stop`/`continue` error handling.
|
||||
- **Deterministic Runtime orchestration** — `nebula ctl orchestrate` accepts one typed request and executes bounded local control steps with workflow-specific `stop`/`continue` failure handling.
|
||||
- **Expanded Runtime control APIs** — named-agent operations, process and control-key commands, real command exit status, pane lifecycle events, and a stabilized transport/discovery path are available to automation clients.
|
||||
- **Transactional managed-agent worktrees** — agent forks create isolated branches and worktrees, retain stable agent identity, and roll back resources only when failure is confirmed.
|
||||
- **Packaged Runtime contract** — the versioned schema, control API documentation, and `nebula-runtime` Skill ship in both the ZIP and installer.
|
||||
- **Horizontal title-bar tabs** — top-mode tabs support selection, drag reordering, docking and splitting, plus horizontal auto-scroll while selecting or dragging. Settings now lives in the three-dot menu, and the first tab aligns with the terminal/powerline edge.
|
||||
- **SVN integration** — the GPUI repository workflow and status panel now support SVN working copies alongside Git.
|
||||
- **SSH failure retry** — both shells show Retry immediately to the left of Close only after a connection failure and replace that failed pane in place.
|
||||
|
||||
#### Fixed
|
||||
- **The checked-in shell completions match the CLI again** — `ctl orchestrate`, `--gpui` and `--legacy-shell` were missing from the generated bash/fish/zsh scripts.
|
||||
- **Second launches reach the resident window** — opening Nebula again hands the request to the running instance and creates the requested tab/window instead of exiting silently. Addresses [#39](https://github.com/Kuddev/nebula/issues/39).
|
||||
- **Sogou and other IMEs keep ownership of unmodified text input** — ordinary letters and Space remain on the text-input path so IME composition can be confirmed. Addresses [#43](https://github.com/Kuddev/nebula/issues/43).
|
||||
- **WSL keeps the guest's configured default shell** — Nebula no longer forces Bash when launching `wsl.exe`. Addresses [#44](https://github.com/Kuddev/nebula/issues/44).
|
||||
- **Ctrl+C is conditional copy again** — with no selection it reaches the PTY; after an explicit copy, the selection is cleared before the next key event. Addresses [#48](https://github.com/Kuddev/nebula/issues/48).
|
||||
- **Legacy `user@host:port` SSH targets no longer fail the Windows configuration probe with `11001`** — only the `ssh -G` probe target is normalized to `ssh://user@host:port`; the actual connection destination is preserved.
|
||||
- **Codex Shift+Enter is encoded as a Win32 input record** — ConPTY Win32 input mode and DECSET 9001 tracking preserve the modified Enter key.
|
||||
- **Background blur can be toggled at runtime** and hidden windows recover correctly when tray support is disabled.
|
||||
- **Opacity sliders no longer rebuild fonts, themes, wallpaper textures, or DWM state on every drag event.**
|
||||
- **WSL file trees no longer report cold or timed-out reads as empty folders** and the Files panel follows the active local/WSL/SSH pane after switches and manual navigation.
|
||||
- **PowerShell startup injection is present before the first prompt** for three-dot launches, powerline-disabled sessions, and alternate profile paths.
|
||||
- **Checked-in bash, fish, and zsh completions match the CLI** for `ctl orchestrate`, `--gpui`, and `--legacy-shell`.
|
||||
- **Installer fallback and numeric version metadata now follow the application release version.**
|
||||
|
||||
#### Improved
|
||||
- **The WSL file tree builds from one `find` call** — multiple starting points are batched into a single guest round trip instead of one subprocess per root.
|
||||
- **Completion is routed through each pane's filesystem** — local, WSL, and SSH panes fetch candidates from their own environment instead of the host filesystem.
|
||||
- **WSL tree enumeration batches starting points into one `find` call** and uses a realistic cold-start timeout; refreshes are event-driven instead of running every four seconds.
|
||||
- **Shell injection is selected by shell family** so PowerShell, cmd, Nushell, and fallback shells keep their compatible startup/completion behavior.
|
||||
- **Mixed-DPI window dragging coalesces intermediate work** and separates the native move transaction from the final DPI/size commit.
|
||||
- **GPUI split-pane chrome and title-bar integration were aligned**, while the sidebar mode and its settings control remain unchanged.
|
||||
- **The shell-injected `fmt` command was removed** and the expanded sidebar toggle now uses the legacy shell's softer selected surface.
|
||||
- **README Star History rendering was restored** by [@FaintFlower](https://github.com/FaintFlower) in [#49](https://github.com/Kuddev/nebula/pull/49).
|
||||
|
||||
### 简体中文
|
||||
|
||||
#### 新增
|
||||
- **`nebula ctl orchestrate`** — 强类型单请求编排:模型只提交一次意图,Runtime 在本地完成确定性控制步骤,受步数、字节上限与就绪超时三重约束,并支持按工作流选择 `stop`/`continue` 的错误处理。
|
||||
- **确定性的 Runtime 编排** — `nebula ctl orchestrate` 接收一次强类型请求,在本地执行受步数、字节上限和就绪超时约束的控制步骤,并支持按工作流选择 `stop`/`continue` 错误处理。
|
||||
- **扩展 Runtime 控制 API** — 新增命名 agent 操作、进程与控制键命令、真实命令退出码、pane 生命周期事件,并稳定了传输与发现路径。
|
||||
- **事务式托管 agent worktree** — agent fork 会创建隔离分支与 worktree,保存稳定 agent 身份,并且只在确认失败时回滚本次创建的资源。
|
||||
- **随包提供 Runtime 契约** — ZIP 与安装器都包含带版本的 schema、控制 API 文档和 `nebula-runtime` Skill。
|
||||
- **水平标题栏标签页** — 顶部模式支持选择、拖拽排序、停靠与分屏,选择或拖拽时可水平自动滚动;设置入口已收进三个点菜单,首个标签与终端/powerline 左边缘严格对齐。
|
||||
- **SVN 集成** — GPUI 仓库工作流与状态面板现在除 Git 外也支持 SVN 工作副本。
|
||||
- **SSH 失败重试** — 两套界面都只在连接失败后显示“重试”,位置紧邻“关闭”左侧,并在原位替换失败的 pane。
|
||||
|
||||
#### 修复
|
||||
- **签入的 shell 补全脚本与 CLI 重新同步** — 生成的 bash/fish/zsh 脚本里缺了 `ctl orchestrate`、`--gpui` 与 `--legacy-shell`。
|
||||
- **第二次启动会交给驻留窗口处理** — 再次打开 Nebula 会由现有实例创建所需标签/窗口,不再静默退出。对应 [#39](https://github.com/Kuddev/nebula/issues/39)。
|
||||
- **搜狗等输入法继续接管未修饰文本输入** — 普通字母与空格保留在 text-input 路径,输入法组合文本可以正常确认。对应 [#43](https://github.com/Kuddev/nebula/issues/43)。
|
||||
- **WSL 保留来宾系统配置的默认 shell** — 启动 `wsl.exe` 时不再强制使用 Bash。对应 [#44](https://github.com/Kuddev/nebula/issues/44)。
|
||||
- **Ctrl+C 恢复条件复制语义** — 没有选区时按键传给 PTY;明确复制后,在下一个按键事件前清除选区。对应 [#48](https://github.com/Kuddev/nebula/issues/48)。
|
||||
- **旧格式 `user@host:port` 不再让 Windows SSH 配置探测报 `11001`** — 只把 `ssh -G` 探测目标规范化为 `ssh://user@host:port`,实际连接目标保持不变。
|
||||
- **Codex 的 Shift+Enter 会编码为 Win32 输入记录** — ConPTY Win32 输入模式与 DECSET 9001 跟踪会保留带修饰键的 Enter。
|
||||
- **背景模糊开关可在运行时生效**,关闭托盘时也能正确找回之前隐藏的窗口。
|
||||
- **拖动不透明度滑块不再逐事件重建字体、主题、壁纸纹理或 DWM 状态。**
|
||||
- **WSL 文件树不再把冷启动或超时误报为空目录**;切换 pane 或手动导航后,Files 面板会继续跟随当前本地/WSL/SSH pane。
|
||||
- **PowerShell 在第一条提示符前完成启动注入**,覆盖三个点启动、关闭 powerline 和备用 profile 路径。
|
||||
- **签入的 bash、fish、zsh 补全脚本与 CLI 重新同步**,补齐 `ctl orchestrate`、`--gpui` 与 `--legacy-shell`。
|
||||
- **安装器兜底版本与数字文件版本会跟随应用发布版本。**
|
||||
|
||||
#### 改进
|
||||
- **WSL 文件树只发一次 `find`** — 多个起点合并成一次来宾往返,不再每个根目录起一个子进程。
|
||||
- **补全按 pane 使用各自的文件系统** — 本地、WSL 与 SSH pane 都从自己的环境获取候选,不再错误读取宿主文件系统。
|
||||
- **WSL 文件树把多个起点合并成一次 `find`**,采用符合冷启动实际的超时,并改为事件驱动刷新,不再每四秒全量扫描。
|
||||
- **按 shell 家族选择注入逻辑**,让 PowerShell、cmd、Nushell 和通用 fallback 保持各自兼容的启动/补全行为。
|
||||
- **混合 DPI 窗口拖动会合并中间更新**,原生移动事务与最终 DPI/尺寸提交彼此分离。
|
||||
- **GPUI 分屏边框与标题栏整合已对齐**,侧边栏模式及其设置按钮保持不变。
|
||||
- **移除 shell 注入的 `fmt` 命令**,展开的侧栏切换按钮改用旧界面更柔和的选中色。
|
||||
- **README Star History 图表已恢复**,由 [@FaintFlower](https://github.com/FaintFlower) 在 [#49](https://github.com/Kuddev/nebula/pull/49) 中贡献。
|
||||
|
||||
## 1.1.0 - 2026-08-18
|
||||
|
||||
|
||||
Generated
+7
-7
@@ -4629,7 +4629,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nebula"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
dependencies = [
|
||||
"ab_glyph_rasterizer",
|
||||
"aes-gcm",
|
||||
@@ -4706,7 +4706,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nebula-completions"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
dependencies = [
|
||||
"lscolors",
|
||||
"nu-ansi-term",
|
||||
@@ -4726,15 +4726,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nebula-settings"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
[[package]]
|
||||
name = "nebula-split"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
[[package]]
|
||||
name = "nebula_config"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
dependencies = [
|
||||
"log",
|
||||
"nebula_config_derive",
|
||||
@@ -4744,7 +4744,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nebula_config_derive"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
dependencies = [
|
||||
"log",
|
||||
"nebula_config",
|
||||
@@ -4761,7 +4761,7 @@ version = "0.6.0"
|
||||
|
||||
[[package]]
|
||||
name = "nebula_terminal"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"bitflags 2.13.0",
|
||||
|
||||
@@ -4,125 +4,8 @@ This file contains changes that are not part of a numbered release yet.
|
||||
|
||||
## English
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed Codex treating Shift+Enter as ordinary Enter in Nebula on Windows. The
|
||||
terminal now enables ConPTY Win32 input mode, tracks DECSET 9001, and encodes
|
||||
the corresponding Win32 key records.
|
||||
- Fixed the installer's fallback and numeric version metadata still identifying
|
||||
old 0.6.0 builds instead of the current 0.9.0 application version.
|
||||
- Fixed PowerShell sessions created from the three-dot shell menu, and sessions
|
||||
with Powerline disabled, losing Nebula's OSC prompt/command state until the
|
||||
first interactive conversation. The OSC bridge is now installed before the
|
||||
first prompt so Codex/CLI detection and the right-side activity state are
|
||||
available immediately.
|
||||
- Fixed PowerShell profiles created through the alternate profile path missing
|
||||
the Nebula command-completion integration.
|
||||
- Disabled the `fmt` command from Nebula's shell-injected command surface.
|
||||
- Fixed the GPUI Windows background-blur switch doing nothing at runtime. The
|
||||
window effects were applied inside `handle.update` while that same window was
|
||||
already borrowed by the enclosing update, so the call always failed with
|
||||
`window not found` and the error was discarded — blur only ever took effect at
|
||||
startup, and once on it could not be turned off. Effects are now applied on a
|
||||
deferred pass and update failures are logged.
|
||||
- Fixed dragging the opacity sliders stuttering badly. Dragging no longer
|
||||
reloads settings from disk, rebuilds every terminal's fonts and palette,
|
||||
rebuilds the whole theme, re-bakes the wallpaper texture, or round-trips to
|
||||
DWM on every event; it updates the shell alpha directly and persists once
|
||||
after the drag settles. The blocking `DwmFlush` was removed and window-level
|
||||
blur is only touched when the blur state actually changes.
|
||||
- Fixed the WSL file tree showing "此目录为空" for guest directories. A fresh
|
||||
`wsl.exe -d <distro> -- find` call takes about 7.5s on its cold path even when
|
||||
the same distribution already has an interactive terminal running, so the 6s
|
||||
budget always expired on the first snapshot, the worker was killed, and the
|
||||
empty result was rendered as an empty directory. The budget is now 20s.
|
||||
- The Files panel no longer re-scans the tree on a timer. It previously rebuilt
|
||||
the whole snapshot (a WSL subprocess plus three git subprocesses) every 4
|
||||
seconds, which on WSL left the panel flipping between "正在读取目录…" and an
|
||||
empty list. Refreshes are now driven by directory changes, the refresh button,
|
||||
and finished git operations only.
|
||||
- Fixed windows staying hidden when the tray was disabled while they were
|
||||
minimized to it. The reveal path applied its effect inside `handle.update` on
|
||||
an already-borrowed window, so it always failed silently while
|
||||
`window_hidden` had already been cleared — leaving an app with no window and
|
||||
no tray icon that could not restore itself.
|
||||
- Fixed the shared Files panel losing the active pane after tab/pane switches
|
||||
or manual tree navigation. WSL `/mnt/<drive>` paths map to the host drive,
|
||||
while `/`, `/home`, `/etc`, and other guest paths are enumerated inside the
|
||||
selected distribution. Directory rows are published before the slower WSL
|
||||
VCS probe, refresh resumes following the active pane, and timed-out workers
|
||||
can no longer disable later refreshes.
|
||||
|
||||
### Improved
|
||||
|
||||
- Added a default-selected installer task that adds Nebula to the current
|
||||
user's PATH. The installer also registers `nebula.exe` with Windows App Paths
|
||||
for Win+R, preserves the Explorer directory context menus, and removes only
|
||||
its own PATH entry during uninstall.
|
||||
- Shell injection is now selected by shell family. PowerShell uses its own
|
||||
startup/status path; `cmd.exe` uses only the compatible minimal status path;
|
||||
Nushell keeps its native completion behavior and is not replaced by Nebula's
|
||||
completion script; other shells use the fallback OSC path where supported.
|
||||
- Improved Windows mixed-DPI dragging between monitors by separating the
|
||||
native move transaction from the final DPI/size commit. The Windows 11
|
||||
backend must use the native `WM_DPICHANGED` target rectangle, while the
|
||||
Windows 10 compatibility reposition path remains gated to older builds.
|
||||
- Improved cross-monitor drag performance by coalescing intermediate DPI,
|
||||
physical-size, font, and UI updates until the native drag settles. Ordinary
|
||||
native messages remain on the fast path.
|
||||
- Matched the expanded sidebar toggle's selected background to the softer
|
||||
surface color used by the legacy shell without changing other selected
|
||||
buttons globally.
|
||||
No unreleased changes yet.
|
||||
|
||||
## 中文
|
||||
|
||||
### 修复
|
||||
|
||||
- 修复 Windows 下 Codex 把 Shift+Enter 当作普通 Enter 的问题。终端现在启用
|
||||
ConPTY Win32 输入模式、跟踪 DECSET 9001,并编码对应的 Win32 按键记录。
|
||||
- 修复安装器兜底版本与数字文件版本仍显示旧 0.6.0、没有跟随当前 0.9.0
|
||||
应用版本的问题。
|
||||
- 修复通过三个点创建的 PowerShell,或关闭 Powerline 后的 PowerShell,在
|
||||
第一次实际对话前丢失 Nebula OSC 提示符/命令状态的问题。现在启动阶段就
|
||||
安装 OSC 桥接,因此 Codex/CLI 识别和右侧活动状态会在第一条提示符出现
|
||||
时可用,不需要先发送一轮对话。
|
||||
- 修复通过备用 profile 路径创建的 PowerShell 没有命令补齐的问题。
|
||||
- 禁用 shell 注入命令面板中的 `fmt` 命令。
|
||||
- 修复 GPUI Windows 壳的背景模糊开关在运行中点了没反应的问题。窗口视效原先在
|
||||
`handle.update` 里应用,而那一刻这个窗口已经被外层 update 借出,调用必然返回
|
||||
`window not found`,错误又被丢弃——于是模糊只在启动时生效,一旦开着就再也
|
||||
关不掉。现在改为延迟一帧统一应用,且 update 失败会留日志。
|
||||
- 修复拖动不透明度滑块严重卡顿的问题。拖拽过程不再每个事件都重新读设置文件、
|
||||
重建每个终端的字体与调色板、重建整套主题、重烘焙壁纸纹理、以及和 DWM 往返;
|
||||
改为直接更新壳色 alpha,停手之后落盘一次。阻塞式 `DwmFlush` 已移除,窗口级
|
||||
模糊只在模糊态真的改变时才动。
|
||||
- 修复共享 Files 面板在切换 tab/pane 或手动浏览目录后不再跟随当前 pane 的
|
||||
问题。WSL `/mnt/<盘>` 映射到宿主盘,`/`、`/home`、`/etc` 等来宾路径则在
|
||||
对应发行版内枚举;目录行会先于较慢的 WSL VCS 探测发布,刷新按钮会恢复
|
||||
跟随当前 pane,WSL 工人超时也不会再让后续刷新永久失效。
|
||||
|
||||
### 改进
|
||||
|
||||
- 安装器新增默认勾选的当前用户 PATH 任务,并通过 Windows App Paths 注册
|
||||
`nebula.exe` 供 Win+R 直接启动;资源管理器目录右键菜单继续随包提供,卸载
|
||||
时只移除安装器自己加入的 PATH 条目。
|
||||
- 按 shell 家族选择注入逻辑:PowerShell 使用专用启动/状态路径;`cmd.exe`
|
||||
只使用兼容的最小状态路径;Nushell 保留自身原生命令补齐,不被 Nebula
|
||||
的补齐脚本替换;其他 shell 在支持时使用通用 OSC 回退路径。
|
||||
- 改进 Windows 混合 DPI 多显示器拖动:把原生拖动阶段与最终 DPI/尺寸提交
|
||||
分离;Windows 11 使用原生 `WM_DPICHANGED` 目标矩形,Windows 10 的兼容
|
||||
重定位逻辑只对旧版本生效。
|
||||
- 改进跨显示器拖动性能:中间产生的 DPI、物理尺寸、字体和 UI 更新合并到
|
||||
原生拖动结束后执行,普通系统消息仍走快速路径。
|
||||
- 左上角侧栏折叠按钮展开时改用与旧壳一致的柔和 surface 选中色,不全局
|
||||
改动其他 selected 按钮的主题状态。
|
||||
|
||||
## Verification
|
||||
|
||||
The PowerShell/OSC changes need first-prompt checks for all profile creation
|
||||
routes. The mixed-DPI change still requires a real Windows two-monitor matrix,
|
||||
including Windows 11 150% -> 125% and the reverse direction. A compile check
|
||||
alone is not sufficient to claim that the physical monitor seam is fixed. The
|
||||
WSL changes still require guest-path checks for both `/mnt/<drive>` and native
|
||||
Linux repositories, and the blur change requires a live Windows DWM toggle
|
||||
check in both directions.
|
||||
暂无未发布改动。
|
||||
@@ -0,0 +1,128 @@
|
||||
# Nebula Terminal 1.2.0
|
||||
|
||||
Nebula Terminal 1.2.0 expands the Runtime control surface, adds horizontal title-bar tabs and SVN support, and concentrates this cycle's Windows, WSL, SSH, IME, and GPUI reliability work into one release.
|
||||
|
||||
Nebula Terminal 1.2.0 扩展了 Runtime 控制能力,加入水平标题栏标签页与 SVN 支持,并集中交付本周期的 Windows、WSL、SSH、输入法与 GPUI 稳定性改进。
|
||||
|
||||
## English
|
||||
|
||||
### Highlights
|
||||
|
||||
- Horizontal title-bar tabs support selection, drag reordering, docking, split creation, and horizontal auto-scroll. In top mode, Settings now lives in the three-dot menu and the first tab starts exactly at the terminal/powerline left edge; sidebar mode is unchanged.
|
||||
- The Runtime can orchestrate typed workflows, control named agents and processes, report real exit status and pane lifecycle events, and create transactional managed-agent worktrees.
|
||||
- Completion and file-tree work now follow each pane's real local, WSL, or SSH filesystem context.
|
||||
- This release addresses the resident second-launch, Sogou IME, WSL default-shell, and conditional Ctrl+C Copy reports tracked in Issues #39, #43, #44, and #48. The mapping below keeps those fixes traceable while the Issues remain open for user verification.
|
||||
|
||||
### Added
|
||||
|
||||
- Added `nebula ctl orchestrate`, a typed single-request workflow whose deterministic local steps are bounded by step count, byte ceiling, and readiness timeout, with per-workflow `stop`/`continue` failure behavior.
|
||||
- Added named-agent control, process and control-key APIs, real command exit status, and pane lifecycle events to the Runtime contract.
|
||||
- Added isolated, transactional worktree creation for managed agents, including stable branch/path identity and failure-aware rollback.
|
||||
- Added the versioned Runtime schema, control API documentation, and `nebula-runtime` Skill to the ZIP and installer payloads.
|
||||
- Added the horizontal title-bar tab layout with drag reorder, dock/split targets, and drag/selection auto-scroll.
|
||||
- Added SVN working-copy detection and repository status/workflow support to the GPUI shell.
|
||||
- Added a failure-only SSH Retry action immediately to the left of Close in both the legacy and GPUI shells. Retry atomically replaces only the failed pane with the same destination.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed a second Nebula launch silently disappearing while a resident instance was running. The launch request is now handed to that instance, which creates and focuses the requested tab/window. Addresses [#39](https://github.com/Kuddev/nebula/issues/39).
|
||||
- Fixed unmodified letters and Space bypassing the Windows text-input path, allowing Sogou and other IMEs to confirm composition normally. Addresses [#43](https://github.com/Kuddev/nebula/issues/43).
|
||||
- Fixed WSL launches forcing Bash instead of honoring the guest account's `/etc/passwd` default shell. Addresses [#44](https://github.com/Kuddev/nebula/issues/44).
|
||||
- Fixed Ctrl+C Copy consuming the key when there is no selection and repeatedly copying a stale selection. No selection now propagates Ctrl+C to the PTY; an explicit copy clears selection before the next key event. Addresses [#48](https://github.com/Kuddev/nebula/issues/48).
|
||||
- Fixed legacy `user@host:port` SSH destinations failing the Windows `ssh -G` configuration probe with resolver error `11001`. Only the probe target is normalized to `ssh://user@host:port`; the real connection destination is unchanged.
|
||||
- Fixed Codex treating Shift+Enter as ordinary Enter by enabling ConPTY Win32 input, tracking DECSET 9001, and encoding the corresponding Win32 key record.
|
||||
- Fixed runtime background-blur toggling and the related path that could leave a window hidden after tray support was disabled.
|
||||
- Fixed opacity sliders rebuilding fonts, terminal palettes, themes, wallpaper textures, and DWM state on every drag event.
|
||||
- Fixed WSL cold-start/timeout failures being rendered as empty directories. The Files panel now keeps following the active local/WSL/SSH pane after tab changes, pane changes, and manual navigation.
|
||||
- Fixed PowerShell sessions opened from the three-dot menu or with Powerline disabled missing OSC command state before their first interaction.
|
||||
- Fixed alternate PowerShell profile launches missing Nebula command completion.
|
||||
- Fixed checked-in bash, fish, and zsh completion scripts omitting `ctl orchestrate`, `--gpui`, and `--legacy-shell`.
|
||||
- Fixed the installer's fallback and numeric file-version metadata lagging behind the application version.
|
||||
|
||||
### Improved
|
||||
|
||||
- Routed completion requests through each pane's own local, WSL, or SSH filesystem provider.
|
||||
- Batched WSL file-tree starting points into one guest `find` call, increased the cold-start budget, and replaced the four-second polling scan with event-driven refreshes.
|
||||
- Selected shell injection by shell family: PowerShell keeps its full integration, cmd uses its compatible minimal status path, Nushell keeps native completion, and other shells use the supported OSC fallback.
|
||||
- Stabilized Runtime transport/discovery and kept pane/window ownership explicit across the agent-control path.
|
||||
- Improved mixed-DPI dragging by separating native move handling from the final DPI/size commit and coalescing intermediate work.
|
||||
- Matched split-pane chrome and title-bar integration in GPUI, moved only top-mode Settings into the three-dot menu, and preserved the sidebar-mode Settings button.
|
||||
- Removed the shell-injected `fmt` action and aligned the expanded sidebar toggle with the legacy shell's softer selected surface.
|
||||
- Restored the README Star History chart through [#49](https://github.com/Kuddev/nebula/pull/49).
|
||||
|
||||
## 中文
|
||||
|
||||
### 重点更新
|
||||
|
||||
- 水平标题栏标签页支持选择、拖拽排序、停靠、创建分屏与水平自动滚动。顶部模式的设置入口已收进三个点菜单,首个标签与终端/powerline 左边缘严格对齐;侧边栏模式不变。
|
||||
- Runtime 新增强类型工作流编排、命名 agent/进程控制、真实退出码、pane 生命周期事件与事务式托管 agent worktree。
|
||||
- 补全与文件树会跟随每个 pane 的真实本地、WSL 或 SSH 文件系统上下文。
|
||||
- 本版处理了 Issue #39、#43、#44、#48 对应的驻留进程二次启动、搜狗输入法、WSL 默认 shell 与条件式 Ctrl+C 复制问题。下方保留明确定位,Issue 暂不自动关闭,等待用户实机验证。
|
||||
|
||||
### 新增
|
||||
|
||||
- 新增 `nebula ctl orchestrate` 强类型单请求工作流:本地确定性步骤受步数、字节上限与就绪超时约束,并支持按工作流配置 `stop`/`continue` 失败行为。
|
||||
- Runtime 契约新增命名 agent 控制、进程/控制键 API、真实命令退出码与 pane 生命周期事件。
|
||||
- 新增隔离、事务式的托管 agent worktree 创建,保留稳定的分支/路径身份,并按可确认的失败边界回滚。
|
||||
- ZIP 与安装器新增带版本的 Runtime schema、控制 API 文档和 `nebula-runtime` Skill。
|
||||
- 新增水平标题栏标签布局,以及拖拽排序、停靠/分屏目标和拖拽/选择自动滚动。
|
||||
- GPUI 界面新增 SVN 工作副本识别、仓库状态与操作工作流。
|
||||
- 旧界面和 GPUI 界面都新增仅在 SSH 连接失败后出现的“重试”按钮,位置紧邻“关闭”左侧;重试只会在原位原子替换失败的 pane。
|
||||
|
||||
### 修复
|
||||
|
||||
- 修复已有驻留实例时第二次启动 Nebula 会静默消失的问题。启动请求现在会交给驻留实例,由它创建并聚焦所需标签/窗口。对应 [#39](https://github.com/Kuddev/nebula/issues/39)。
|
||||
- 修复普通字母与空格绕过 Windows text-input 路径的问题,搜狗等输入法现在可以正常确认组合文本。对应 [#43](https://github.com/Kuddev/nebula/issues/43)。
|
||||
- 修复 WSL 启动时强制使用 Bash、忽略来宾账号 `/etc/passwd` 默认 shell 的问题。对应 [#44](https://github.com/Kuddev/nebula/issues/44)。
|
||||
- 修复没有选区时 Ctrl+C 被复制动作吞掉,以及旧选区导致反复复制的问题。无选区时 Ctrl+C 会传给 PTY;明确复制后会在下一个按键事件前清除选区。对应 [#48](https://github.com/Kuddev/nebula/issues/48)。
|
||||
- 修复旧格式 `user@host:port` 让 Windows `ssh -G` 配置探测报解析错误 `11001`。只有探测目标会规范化为 `ssh://user@host:port`,实际连接目标保持不变。
|
||||
- 修复 Codex 把 Shift+Enter 当作普通 Enter:启用 ConPTY Win32 输入、跟踪 DECSET 9001,并编码相应的 Win32 按键记录。
|
||||
- 修复运行时背景模糊开关无效,以及关闭托盘后窗口可能继续隐藏的同源问题。
|
||||
- 修复不透明度滑块每次拖动事件都重建字体、终端色表、主题、壁纸纹理与 DWM 状态的问题。
|
||||
- 修复 WSL 冷启动/超时被渲染成空目录的问题;切换标签、pane 或手动导航后,Files 面板会继续跟随当前本地/WSL/SSH pane。
|
||||
- 修复从三个点菜单启动或关闭 Powerline 的 PowerShell 在第一次交互前缺少 OSC 命令状态的问题。
|
||||
- 修复备用 PowerShell profile 启动路径缺少 Nebula 命令补全的问题。
|
||||
- 修复签入的 bash、fish、zsh 补全脚本缺少 `ctl orchestrate`、`--gpui` 与 `--legacy-shell` 的问题。
|
||||
- 修复安装器兜底版本与数字文件版本没有跟随应用版本的问题。
|
||||
|
||||
### 改进
|
||||
|
||||
- 补全请求现在通过每个 pane 自己的本地、WSL 或 SSH 文件系统提供器执行。
|
||||
- WSL 文件树会把多个起点合并成一次来宾 `find`,延长冷启动预算,并以事件驱动刷新代替每四秒轮询扫描。
|
||||
- 按 shell 家族选择注入:PowerShell 保留完整集成,cmd 使用兼容的最小状态路径,Nushell 保留原生补全,其他 shell 使用受支持的 OSC fallback。
|
||||
- 稳定 Runtime 传输与发现逻辑,并在 agent 控制路径中明确维护 pane/window 所属关系。
|
||||
- 改进混合 DPI 拖动:原生移动处理与最终 DPI/尺寸提交分离,中间更新合并执行。
|
||||
- 对齐 GPUI 分屏边框与标题栏整合;只移动顶部模式的设置入口,侧边栏模式设置按钮保持不变。
|
||||
- 移除 shell 注入的 `fmt` 动作,展开的侧栏切换按钮改用旧界面更柔和的选中色。
|
||||
- 通过 [#49](https://github.com/Kuddev/nebula/pull/49) 恢复 README Star History 图表。
|
||||
|
||||
## Issue status / Issue 状态
|
||||
|
||||
| Issue | Status in 1.2.0 / 1.2.0 状态 | Code location / 代码定位 |
|
||||
| --- | --- | --- |
|
||||
| [#39](https://github.com/Kuddev/nebula/issues/39) | Addressed; awaiting user verification / 已处理,等待用户验证 | Resident second-launch handoff / 驻留实例二次启动交接: `nebula_app/src/main.rs` |
|
||||
| [#43](https://github.com/Kuddev/nebula/issues/43) | Addressed; awaiting user verification / 已处理,等待用户验证 | GPUI IME/text-input routing / GPUI 输入法与文本输入路由: `nebula_app/src/gpui_shell/terminal/keymap.rs` |
|
||||
| [#44](https://github.com/Kuddev/nebula/issues/44) | Addressed; awaiting user verification / 已处理,等待用户验证 | WSL guest default-shell launch / WSL 来宾默认 shell 启动: `nebula_app/src/shell_detect.rs` |
|
||||
| [#48](https://github.com/Kuddev/nebula/issues/48) | Addressed; awaiting user verification / 已处理,等待用户验证 | Conditional Copy and selection clearing / 条件复制与选区清理: `nebula_app/src/gpui_shell/workspace.rs`, `nebula_app/src/gpui_shell/terminal/view.rs` |
|
||||
| [#45](https://github.com/Kuddev/nebula/issues/45), [#50](https://github.com/Kuddev/nebula/issues/50) | Known open / 已知未解决 | SSH TUI rendering and disconnects after an established session / SSH TUI 渲染与已连接会话自动断开 |
|
||||
| [#46](https://github.com/Kuddev/nebula/issues/46) | Known open / 已知未解决 | Completion popup Enter behavior / 补全弹窗 Enter 行为 |
|
||||
|
||||
The new `11001` probe normalization and failure Retry button do not claim to resolve the established-session disconnect or SSH TUI rendering reports in #45/#50. Issues not listed above retain their current GitHub state.
|
||||
|
||||
本版的 `11001` 探测规范化和失败重试按钮不代表已经解决 #45/#50 中已建立会话后的自动断连或 SSH TUI 渲染问题。上表未列出的 Issue 保持其当前 GitHub 状态。
|
||||
|
||||
## Contributors / 贡献者
|
||||
|
||||
- [@FaintFlower](https://github.com/FaintFlower) restored the README Star History chart in [#49](https://github.com/Kuddev/nebula/pull/49).
|
||||
- [@FaintFlower](https://github.com/FaintFlower) 在 [#49](https://github.com/Kuddev/nebula/pull/49) 中恢复了 README Star History 图表。
|
||||
|
||||
## Reporting issues / 反馈问题
|
||||
|
||||
[Issues → New issue](https://github.com/Kuddev/nebula/issues/new/choose) — include the Nebula version, shell type (local/WSL/SSH), reproduction steps, and relevant logs. For the four addressed Issues above, please report whether the original reproduction now passes before the Issue is closed.
|
||||
|
||||
欢迎通过 [Issues → New issue](https://github.com/Kuddev/nebula/issues/new/choose) 反馈,并附上 Nebula 版本、shell 类型(本地/WSL/SSH)、复现步骤与相关日志。对于上面四个已处理 Issue,请先反馈原复现步骤是否通过,再决定是否关闭。
|
||||
|
||||
## Downloads and SHA256 / 下载与 SHA256
|
||||
|
||||
- `NebulaTerminal-v1.2.0-windows-x64.zip`: `SHA256_PENDING`
|
||||
- `NebulaTerminal-1.2.0-windows-x64-setup.exe`: `SHA256_PENDING`
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula-completions"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
edition.workspace = true
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
license = "GPL-3.0-or-later"
|
||||
description = "Nebula Terminal — a premium GPU-accelerated terminal emulator"
|
||||
readme = "README.md"
|
||||
@@ -15,15 +15,15 @@ path = "src/main.rs"
|
||||
|
||||
[dependencies.nebula_terminal]
|
||||
path = "../nebula_terminal"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
[dependencies.nebula_config_derive]
|
||||
path = "../nebula_config_derive"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
[dependencies.nebula_config]
|
||||
path = "../nebula_config"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
# 可选:GPUI UI 层(feature = "gpui-shell",模块 src/gpui_shell/)。
|
||||
# gpui 与 gpui-component 成对锁定:0.5.1 编译在 gpui 0.2.2 上;两者由根
|
||||
@@ -59,7 +59,7 @@ optional = true
|
||||
|
||||
[dependencies.nebula-completions]
|
||||
path = "../nebula-completions"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
[dependencies]
|
||||
ahash = { version = "0.8.6", features = ["no-rng"] }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula_config"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
license = "GPL-3.0-or-later"
|
||||
description = "Nebula configuration abstractions"
|
||||
homepage = "https://github.com/Kuddev/nebula"
|
||||
@@ -14,5 +14,5 @@ serde = "1.0.163"
|
||||
toml.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
nebula_config_derive = { version = "1.1.0", path = "../nebula_config_derive" }
|
||||
nebula_config_derive = { version = "1.2.0", path = "../nebula_config_derive" }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula_config_derive"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
license = "GPL-3.0-or-later"
|
||||
description = "Failure resistant deserialization derive"
|
||||
homepage = "https://github.com/Kuddev/nebula"
|
||||
@@ -18,7 +18,7 @@ syn = { version = "2.0.16", features = ["derive", "parsing", "proc-macro", "prin
|
||||
|
||||
[dev-dependencies.nebula_config]
|
||||
path = "../nebula_config"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
|
||||
[dev-dependencies]
|
||||
log = "0.4.11"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula-settings"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
license = "GPL-3.0-or-later"
|
||||
description = "Shared reader for Nebula runtime user settings (nebula_settings.txt) and theme terminal-color tables"
|
||||
publish = false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula-split"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
license = "GPL-3.0-or-later"
|
||||
description = "Shared split-pane rules: layout tree, geometry, divider drag and directional focus"
|
||||
publish = false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nebula_terminal"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
license = "GPL-3.0-or-later"
|
||||
description = "Nebula terminal emulation core"
|
||||
readme = "../README.md"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#ifndef AppVersion
|
||||
#define AppVersion "1.1.0"
|
||||
#define AppVersion "1.2.0"
|
||||
#endif
|
||||
|
||||
#ifndef NumericVersion
|
||||
#define NumericVersion "1.1.0.0"
|
||||
#define NumericVersion "1.2.0.0"
|
||||
#endif
|
||||
|
||||
#ifndef Configuration
|
||||
|
||||
Reference in new issue
Block a user