diff --git a/CHANGELOG.md b/CHANGELOG.md index 247e724..b9b7316 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,88 @@ Every release entry is provided in English and Simplified Chinese. 每个版本条目均同时提供英文和简体中文说明。 +## 1.9.0 - 2026-09-21 + +### English + +#### Added + +- Added live Markdown editing: focus a paragraph or inline expression to edit its source while retaining the document view, selection and undo history. +- Added Kimi Code recognition, session commands and managed notification hooks. +- Added cloud backup controls with saved preferences, connection feedback and access to configuration backups. +- Added a persistent font-ligature setting that applies to open terminal sessions. + +#### Fixed + +- Fixed Codex cold restoration using a Hook group identifier instead of the native conversation identity. Saved sessions with an older or unrecognized transcript filename retain their existing valid conversation ID. +- Fixed file-editor selections and search matches blending into light and dark backgrounds. Ordinary text/code files now reveal the configured workspace background image, and the caret row follows the active theme. +- Fixed copying the terminal working directory: menu and command-palette actions copy the directory reported by the shell, including guest paths, while normal selection copying retains the original text. +- Fixed AI failure and cancellation events being presented as successful completion; Pi retry-aware outcomes and Claude failure events use the shared notification result handling. +- Fixed WSL hook installation and event delivery using the distribution's own user configuration. Updated command completions include the distribution and user options. +- Fixed inherited Ctrl+C suppression preventing interruption of CMD child commands, while keeping selection copying available. +- Fixed native CMD command activity and multiline/pending-wrap input tracking. +- Fixed application 256-color blocks being overwritten by terminal prompt colors. Explicit custom color overrides remain supported. +- Fixed SSH automatic authentication ignoring the available system agent. +- Fixed long Markdown outline headings overlapping neighboring rows. + +#### Improved + +- Added direct responses for supported AI confirmation notifications, with stale-request checks before sending a response; Windows notification activation restores the corresponding application window. +- Made notification duration configurable and preserved the selected duration when replacing a pane's result. +- Reduced repeated Git/SVN drawer work by reusing repository snapshots and rendering visible rows. +- Improved settings search, SSH connection cards and terminal file-link opening. + +Windows packages include an installer and portable ZIP. Linux and macOS packages retain their Preview designation. This candidate is intended for installation testing; visual acceptance and live cold restoration with every external CLI remain separate from automated checks. + +### 中文 + +#### 新增 + +- 新增 Markdown 即时编辑:聚焦段落或行内表达式即可编辑对应源码,同时保留文档视图、选区和撤销历史。 +- 新增 Kimi Code 识别、会话命令和受管理的通知 Hook。 +- 新增云端备份入口,支持保存偏好、连接反馈和访问配置备份。 +- 新增可持久保存的字体连字设置,并可应用于已打开的终端会话。 + +#### 修复 + +- 修复 Codex 冷恢复误用 Hook 分组标识而非原生对话身份的问题。旧快照中的会话文件名无法识别时,保留原有有效对话 ID。 +- 修复文件编辑器选区与查找命中融入浅色、深色背景的问题;普通文本和代码文件可透出已配置的工作区背景图,光标所在行跟随当前主题。 +- 修复终端工作目录复制:菜单和命令面板复制 Shell 上报的目录,包括访客环境路径;普通选区复制保留原始文字。 +- 修复 AI 失败和取消事件被显示为成功完成的问题;Pi 重试后的结果及 Claude 失败事件统一进入通知结果处理。 +- 修复 WSL Hook 安装与事件传递,使用发行版自身的用户配置;命令补全同步包含发行版和用户选项。 +- 修复继承的 Ctrl+C 忽略状态导致 CMD 子命令无法中断的问题,同时保留选区复制。 +- 修复原生 CMD 命令活动、多行输入和等待折行边界的输入跟踪。 +- 修复应用的 256 色块被终端提示符颜色覆盖的问题,保留明确配置的自定义颜色覆盖。 +- 修复 SSH 自动认证忽略可用系统代理的问题。 +- 修复 Markdown 目录长标题与相邻行重叠的问题。 + +#### 改进 + +- 支持从部分 AI 确认通知直接回答,发送前检查请求是否过期;Windows 通知激活时恢复对应的应用窗口。 +- 支持配置通知停留时长,并在替换窗格结果时保留选定时长。 +- 复用仓库快照、仅渲染可见行,减少 Git/SVN 抽屉的重复工作。 +- 改进设置搜索、SSH 连接卡片和终端文件链接打开。 + +Windows 提供安装器和 ZIP 便携包,Linux 和 macOS 包继续标记为 Preview。本候选用于安装测试;视觉验收和所有外部 CLI 的实际关窗恢复仍需单独验证。 + +### Contributors + +@Traveritas avatar@galact-byte avatar@Kuddev avatar + +- **[@Traveritas](https://github.com/Traveritas)** — Kimi Code integration. / Kimi Code 集成。([#197](https://github.com/Kuddev/pebrel/pull/197)) +- **[@galact-byte](https://github.com/galact-byte)** — CMD interrupts and activity, application colors and Pi notification outcomes. / CMD 中断与活动、应用配色及 Pi 通知结果。([#206](https://github.com/Kuddev/pebrel/pull/206), [#207](https://github.com/Kuddev/pebrel/pull/207), [#208](https://github.com/Kuddev/pebrel/pull/208), [#215](https://github.com/Kuddev/pebrel/pull/215), [#216](https://github.com/Kuddev/pebrel/pull/216)) +- **[@Kuddev](https://github.com/Kuddev)** — Desktop integration, notifications, restoration and editor fixes. / 桌面集成、通知、恢复及编辑器修复。([#221](https://github.com/Kuddev/pebrel/pull/221), [#225](https://github.com/Kuddev/pebrel/pull/225), [#227](https://github.com/Kuddev/pebrel/pull/227), [#231](https://github.com/Kuddev/pebrel/pull/231)) + +### SHA256 + +- `Pebrel-v1.9.0-linux-x64-preview.AppImage`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-linux-x64-preview.deb`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-linux-x64-preview.tar.gz`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-macos-arm64-preview.dmg`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-macos-x64-preview.dmg`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-windows-x64.zip`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-windows-x64-setup.exe`: `PENDING FINAL BUILD` + ## 1.8.2 - 2026-09-17 ### English diff --git a/Cargo.lock b/Cargo.lock index 5082a43..1353492 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4984,7 +4984,7 @@ dependencies = [ [[package]] name = "nebula" -version = "1.8.2" +version = "1.9.0" dependencies = [ "ab_glyph_rasterizer", "aes-gcm", @@ -5069,7 +5069,7 @@ dependencies = [ [[package]] name = "nebula-completions" -version = "1.8.2" +version = "1.9.0" dependencies = [ "lscolors", "nu-ansi-term", @@ -5090,15 +5090,15 @@ dependencies = [ [[package]] name = "nebula-settings" -version = "1.8.2" +version = "1.9.0" [[package]] name = "nebula-split" -version = "1.8.2" +version = "1.9.0" [[package]] name = "nebula_config" -version = "1.8.2" +version = "1.9.0" dependencies = [ "log", "nebula_config_derive", @@ -5108,7 +5108,7 @@ dependencies = [ [[package]] name = "nebula_config_derive" -version = "1.8.2" +version = "1.9.0" dependencies = [ "log", "nebula_config", @@ -5125,7 +5125,7 @@ version = "0.6.0" [[package]] name = "nebula_terminal" -version = "1.8.2" +version = "1.9.0" dependencies = [ "base64", "bitflags 2.13.0", diff --git a/docs/release-notes/v1.9.0.md b/docs/release-notes/v1.9.0.md new file mode 100644 index 0000000..7cf8f66 --- /dev/null +++ b/docs/release-notes/v1.9.0.md @@ -0,0 +1,81 @@ +# Pebrel 1.9.0 + +## English + +### Added + +- Added live Markdown editing: focus a paragraph or inline expression to edit its source while retaining the document view, selection and undo history. +- Added Kimi Code recognition, session commands and managed notification hooks. +- Added cloud backup controls with saved preferences, connection feedback and access to configuration backups. +- Added a persistent font-ligature setting that applies to open terminal sessions. + +### Fixed + +- Fixed Codex cold restoration using a Hook group identifier instead of the native conversation identity. Saved sessions with an older or unrecognized transcript filename retain their existing valid conversation ID. +- Fixed file-editor selections and search matches blending into light and dark backgrounds. Ordinary text/code files now reveal the configured workspace background image, and the caret row follows the active theme. +- Fixed copying the terminal working directory: menu and command-palette actions copy the directory reported by the shell, including guest paths, while normal selection copying retains the original text. +- Fixed AI failure and cancellation events being presented as successful completion; Pi retry-aware outcomes and Claude failure events use the shared notification result handling. +- Fixed WSL hook installation and event delivery using the distribution's own user configuration. Updated command completions include the distribution and user options. +- Fixed inherited Ctrl+C suppression preventing interruption of CMD child commands, while keeping selection copying available. +- Fixed native CMD command activity and multiline/pending-wrap input tracking. +- Fixed application 256-color blocks being overwritten by terminal prompt colors. Explicit custom color overrides remain supported. +- Fixed SSH automatic authentication ignoring the available system agent. +- Fixed long Markdown outline headings overlapping neighboring rows. + +### Improved + +- Added direct responses for supported AI confirmation notifications, with stale-request checks before sending a response; Windows notification activation restores the corresponding application window. +- Made notification duration configurable and preserved the selected duration when replacing a pane's result. +- Reduced repeated Git/SVN drawer work by reusing repository snapshots and rendering visible rows. +- Improved settings search, SSH connection cards and terminal file-link opening. + +Windows packages include an installer and portable ZIP. Linux and macOS packages retain their Preview designation. This candidate is intended for installation testing; visual acceptance and live cold restoration with every external CLI remain separate from automated checks. + +## 中文 + +### 新增 + +- 新增 Markdown 即时编辑:聚焦段落或行内表达式即可编辑对应源码,同时保留文档视图、选区和撤销历史。 +- 新增 Kimi Code 识别、会话命令和受管理的通知 Hook。 +- 新增云端备份入口,支持保存偏好、连接反馈和访问配置备份。 +- 新增可持久保存的字体连字设置,并可应用于已打开的终端会话。 + +### 修复 + +- 修复 Codex 冷恢复误用 Hook 分组标识而非原生对话身份的问题。旧快照中的会话文件名无法识别时,保留原有有效对话 ID。 +- 修复文件编辑器选区与查找命中融入浅色、深色背景的问题;普通文本和代码文件可透出已配置的工作区背景图,光标所在行跟随当前主题。 +- 修复终端工作目录复制:菜单和命令面板复制 Shell 上报的目录,包括访客环境路径;普通选区复制保留原始文字。 +- 修复 AI 失败和取消事件被显示为成功完成的问题;Pi 重试后的结果及 Claude 失败事件统一进入通知结果处理。 +- 修复 WSL Hook 安装与事件传递,使用发行版自身的用户配置;命令补全同步包含发行版和用户选项。 +- 修复继承的 Ctrl+C 忽略状态导致 CMD 子命令无法中断的问题,同时保留选区复制。 +- 修复原生 CMD 命令活动、多行输入和等待折行边界的输入跟踪。 +- 修复应用的 256 色块被终端提示符颜色覆盖的问题,保留明确配置的自定义颜色覆盖。 +- 修复 SSH 自动认证忽略可用系统代理的问题。 +- 修复 Markdown 目录长标题与相邻行重叠的问题。 + +### 改进 + +- 支持从部分 AI 确认通知直接回答,发送前检查请求是否过期;Windows 通知激活时恢复对应的应用窗口。 +- 支持配置通知停留时长,并在替换窗格结果时保留选定时长。 +- 复用仓库快照、仅渲染可见行,减少 Git/SVN 抽屉的重复工作。 +- 改进设置搜索、SSH 连接卡片和终端文件链接打开。 + +Windows 提供安装器和 ZIP 便携包,Linux 和 macOS 包继续标记为 Preview。本候选用于安装测试;视觉验收和所有外部 CLI 的实际关窗恢复仍需单独验证。 + +## Contributors + +@Traveritas avatar@galact-byte avatar@Kuddev avatar + +- **[@Traveritas](https://github.com/Traveritas)** — Kimi Code integration. / Kimi Code 集成。([#197](https://github.com/Kuddev/pebrel/pull/197)) +- **[@galact-byte](https://github.com/galact-byte)** — CMD interrupts and activity, application colors and Pi notification outcomes. / CMD 中断与活动、应用配色及 Pi 通知结果。([#206](https://github.com/Kuddev/pebrel/pull/206), [#207](https://github.com/Kuddev/pebrel/pull/207), [#208](https://github.com/Kuddev/pebrel/pull/208), [#215](https://github.com/Kuddev/pebrel/pull/215), [#216](https://github.com/Kuddev/pebrel/pull/216)) +- **[@Kuddev](https://github.com/Kuddev)** — Desktop integration, notifications, restoration and editor fixes. / 桌面集成、通知、恢复及编辑器修复。([#221](https://github.com/Kuddev/pebrel/pull/221), [#225](https://github.com/Kuddev/pebrel/pull/225), [#227](https://github.com/Kuddev/pebrel/pull/227), [#231](https://github.com/Kuddev/pebrel/pull/231)) + +## SHA256 + +- `Pebrel-v1.9.0-linux-x64-preview.AppImage`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-linux-x64-preview.deb`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-linux-x64-preview.tar.gz`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-macos-arm64-preview.dmg`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-macos-x64-preview.dmg`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-windows-x64.zip`: `PENDING FINAL BUILD` +- `Pebrel-v1.9.0-windows-x64-setup.exe`: `PENDING FINAL BUILD` diff --git a/nebula-completions/Cargo.toml b/nebula-completions/Cargo.toml index dc8b24d..3674ea3 100644 --- a/nebula-completions/Cargo.toml +++ b/nebula-completions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula-completions" -version = "1.8.2" +version = "1.9.0" edition.workspace = true [features] diff --git a/nebula_app/Cargo.toml b/nebula_app/Cargo.toml index 32a886a..c5ca3db 100644 --- a/nebula_app/Cargo.toml +++ b/nebula_app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula" -version = "1.8.2" +version = "1.9.0" license = "GPL-3.0-or-later" description = "Pebrel — a GPU-accelerated terminal emulator" readme = "README.md" @@ -15,15 +15,15 @@ path = "src/main.rs" [dependencies.nebula_terminal] path = "../nebula_terminal" -version = "1.8.2" +version = "1.9.0" [dependencies.nebula_config_derive] path = "../nebula_config_derive" -version = "1.8.2" +version = "1.9.0" [dependencies.nebula_config] path = "../nebula_config" -version = "1.8.2" +version = "1.9.0" # 可选:GPUI UI 层(feature = "gpui-shell",模块 src/gpui_shell/)。 # GPUI/component 的版本和 Git 来源由根 Cargo.toml 统一精确固定。 @@ -67,7 +67,7 @@ optional = true [dependencies.nebula-completions] path = "../nebula-completions" -version = "1.8.2" +version = "1.9.0" [dependencies] ahash = { version = "0.8.6", features = ["no-rng"] } @@ -143,7 +143,7 @@ rusqlite = { version = "0.40.2", features = ["bundled"] } sha1 = "0.11.0" [build-dependencies] -nebula-settings = { path = "../nebula_settings", version = "1.8.2" } +nebula-settings = { path = "../nebula_settings", version = "1.9.0" } gl_generator = { version = "0.14.0", optional = true } serde = "1" serde_json = "1" diff --git a/nebula_app/windows/nebula.rc b/nebula_app/windows/nebula.rc index 89f847e..b735a80 100644 --- a/nebula_app/windows/nebula.rc +++ b/nebula_app/windows/nebula.rc @@ -10,8 +10,8 @@ APP_MANIFEST RT_MANIFEST nebula.manifest #endif 1 VERSIONINFO -FILEVERSION 1,8,2,0 -PRODUCTVERSION 1,8,2,0 +FILEVERSION 1,9,0,0 +PRODUCTVERSION 1,9,0,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x0L FILEOS 0x40004L @@ -24,11 +24,11 @@ BEGIN BEGIN VALUE "CompanyName", "Kuddev" VALUE "FileDescription", "Pebrel" - VALUE "FileVersion", "1.8.2" + VALUE "FileVersion", "1.9.0" VALUE "InternalName", "nebula" VALUE "OriginalFilename", "pebrel.exe" VALUE "ProductName", "Pebrel" - VALUE "ProductVersion", "1.8.2" + VALUE "ProductVersion", "1.9.0" END END BLOCK "VarFileInfo" diff --git a/nebula_config/Cargo.toml b/nebula_config/Cargo.toml index fabbcbd..951d1bb 100644 --- a/nebula_config/Cargo.toml +++ b/nebula_config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula_config" -version = "1.8.2" +version = "1.9.0" license = "GPL-3.0-or-later" description = "Nebula configuration abstractions" homepage = "https://github.com/Kuddev/pebrel" @@ -14,5 +14,5 @@ serde = "1.0.163" toml.workspace = true [dev-dependencies] -nebula_config_derive = { version = "1.8.2", path = "../nebula_config_derive" } +nebula_config_derive = { version = "1.9.0", path = "../nebula_config_derive" } serde = { version = "1.0.163", features = ["derive"] } diff --git a/nebula_config_derive/Cargo.toml b/nebula_config_derive/Cargo.toml index 211e52a..f9c57df 100644 --- a/nebula_config_derive/Cargo.toml +++ b/nebula_config_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula_config_derive" -version = "1.8.2" +version = "1.9.0" license = "GPL-3.0-or-later" description = "Failure resistant deserialization derive" homepage = "https://github.com/Kuddev/pebrel" @@ -18,7 +18,7 @@ syn = { version = "2.0.16", features = ["derive", "parsing", "proc-macro", "prin [dev-dependencies.nebula_config] path = "../nebula_config" -version = "1.8.2" +version = "1.9.0" [dev-dependencies] log = "0.4.11" diff --git a/nebula_settings/Cargo.toml b/nebula_settings/Cargo.toml index 82de5c2..62a29a7 100644 --- a/nebula_settings/Cargo.toml +++ b/nebula_settings/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula-settings" -version = "1.8.2" +version = "1.9.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 diff --git a/nebula_split/Cargo.toml b/nebula_split/Cargo.toml index 1642326..39ae5a9 100644 --- a/nebula_split/Cargo.toml +++ b/nebula_split/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula-split" -version = "1.8.2" +version = "1.9.0" license = "GPL-3.0-or-later" description = "Shared split-pane rules: layout tree, geometry, divider drag and directional focus" publish = false diff --git a/nebula_terminal/Cargo.toml b/nebula_terminal/Cargo.toml index 7ea01a3..52262c7 100644 --- a/nebula_terminal/Cargo.toml +++ b/nebula_terminal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula_terminal" -version = "1.8.2" +version = "1.9.0" license = "GPL-3.0-or-later" description = "Nebula terminal emulation core" readme = "../README.md" diff --git a/scripts/installer.iss b/scripts/installer.iss index 31e0ed3..517365a 100644 --- a/scripts/installer.iss +++ b/scripts/installer.iss @@ -1,9 +1,9 @@ #ifndef AppVersion - #define AppVersion "1.8.2" + #define AppVersion "1.9.0" #endif #ifndef NumericVersion - #define NumericVersion "1.8.2.0" + #define NumericVersion "1.9.0.0" #endif #ifndef Configuration diff --git a/tools/i18n-contract/Cargo.lock b/tools/i18n-contract/Cargo.lock index 7501d92..325a4c0 100644 --- a/tools/i18n-contract/Cargo.lock +++ b/tools/i18n-contract/Cargo.lock @@ -16,7 +16,7 @@ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "nebula-settings" -version = "1.8.2" +version = "1.9.0" [[package]] name = "pebrel-i18n-contract"