From 8de58a373c48068ab7af23d100538bcdb38c6810 Mon Sep 17 00:00:00 2001 From: kuddev Date: Tue, 25 Aug 2026 19:51:33 +0800 Subject: [PATCH] release: prepare Nebula Terminal 1.3.1 --- CHANGELOG.md | 40 +++++++++++++++++++++++ Cargo.lock | 14 ++++----- docs/release-notes/v1.3.1.md | 56 +++++++++++++++++++++++++++++++++ nebula-completions/Cargo.toml | 2 +- nebula_app/Cargo.toml | 10 +++--- nebula_app/windows/nebula.rc | 8 ++--- nebula_config/Cargo.toml | 4 +-- nebula_config_derive/Cargo.toml | 4 +-- nebula_settings/Cargo.toml | 2 +- nebula_split/Cargo.toml | 2 +- nebula_terminal/Cargo.toml | 2 +- scripts/installer.iss | 4 +-- 12 files changed, 122 insertions(+), 26 deletions(-) create mode 100644 docs/release-notes/v1.3.1.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 3474002..242c62d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,46 @@ No unreleased changes yet. 暂无未发布改动。 +## 1.3.1 - 2026-08-25 + +### English + +#### Added +- **Verified in-app Windows updates** — Nebula can download the exact official Windows x64 installer in the background, show progress, validate its size, PE header, and SHA-256, then wait for explicit confirmation before launching setup. + +#### Fixed +- **Automatic update checks use the real GitHub latest release** and compare it with the running package version before showing a reminder; skipped versions and three-day reminders remain respected. +- **Update notifications remain visible in the bottom-right corner** until handled, and download completion or failure replaces the original reminder with the appropriate next action. +- **Update and confirmation dialogs match the established width, vertical position, and typography**, while overlay clicks, Escape, and cancel buttons consistently run the cancel action. +- **Setting terminal opacity to 100% no longer returns to 82%** when legacy blur settings are normalized and reloaded. +- **The keymap page no longer leaves a large empty gap** above its shortcut rows. +- **The font group popup stays anchored to its selector**, and hovering a truncated font family reveals its complete name. +- **The sidebar resize cursor and width calculation align with the visible divider**, so dragging starts directly on the baseline instead of several pixels to its left. +- **PowerShell reports an absolute current directory to Files and Git integrations** while retaining `~` as the compact prompt display, restoring repository detection beneath the Windows home directory. + +#### Improved +- **The update flow exposes download, retry, verified, install, and failure states** and revalidates a downloaded installer immediately before it is launched. +- **Modal cancellation is consistent across workspace, pane, tab, file-tree, and settings confirmations** without removing the new component's click-outside behavior. + +### 简体中文 + +#### 新增 +- **新增经过校验的应用内 Windows 更新** — Nebula 可在后台下载名称精确匹配的官方 Windows x64 安装包,显示进度,校验大小、PE 文件头与 SHA-256,并在明确确认后才启动安装。 + +#### 修复 +- **自动更新改为读取真实的 GitHub 最新 Release**,与当前运行版本比较后才显示提醒,同时继续遵守跳过版本与三天后提醒设置。 +- **更新通知会持续显示在右下角**,直到用户处理;下载完成或失败后,原通知会被带有下一步操作的新状态替换。 +- **更新与确认弹窗恢复既有的宽度、垂直位置和字体大小**,同时让遮罩点击、Esc 与取消按钮一致执行取消逻辑。 +- **终端不透明度拉到 100% 后不再回到 82%**,旧版模糊设置在规范化和重载时不会再次覆盖用户选择。 +- **按键映射页不再在快捷键列表上方留下大块空白。** +- **字体组弹层会持续贴住下拉框**,鼠标悬停在被截断的字体名称上时可查看完整名称。 +- **侧边栏拖拽光标和宽度计算与可见分隔线严格对齐**,无需把鼠标偏到基线左侧才能开始拖动。 +- **PowerShell 向文件与 Git 集成上报绝对当前目录**,提示符仍可用 `~` 紧凑显示,从而恢复 Windows 用户主目录下的仓库识别。 + +#### 改进 +- **更新流程提供下载、重试、已校验、安装和失败状态**,并在启动安装包前立即执行二次校验。 +- **工作区、分栏、标签、文件树与设置确认框采用一致的取消行为**,同时保留新组件点击外部区域取消的特性。 + ## 1.3.0 - 2026-08-24 ### English diff --git a/Cargo.lock b/Cargo.lock index ed48d7f..e89e3c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4923,7 +4923,7 @@ dependencies = [ [[package]] name = "nebula" -version = "1.3.0" +version = "1.3.1" dependencies = [ "ab_glyph_rasterizer", "aes-gcm", @@ -5001,7 +5001,7 @@ dependencies = [ [[package]] name = "nebula-completions" -version = "1.3.0" +version = "1.3.1" dependencies = [ "lscolors", "nu-ansi-term", @@ -5022,15 +5022,15 @@ dependencies = [ [[package]] name = "nebula-settings" -version = "1.3.0" +version = "1.3.1" [[package]] name = "nebula-split" -version = "1.3.0" +version = "1.3.1" [[package]] name = "nebula_config" -version = "1.3.0" +version = "1.3.1" dependencies = [ "log", "nebula_config_derive", @@ -5040,7 +5040,7 @@ dependencies = [ [[package]] name = "nebula_config_derive" -version = "1.3.0" +version = "1.3.1" dependencies = [ "log", "nebula_config", @@ -5057,7 +5057,7 @@ version = "0.6.0" [[package]] name = "nebula_terminal" -version = "1.3.0" +version = "1.3.1" dependencies = [ "base64", "bitflags 2.13.0", diff --git a/docs/release-notes/v1.3.1.md b/docs/release-notes/v1.3.1.md new file mode 100644 index 0000000..8e921ac --- /dev/null +++ b/docs/release-notes/v1.3.1.md @@ -0,0 +1,56 @@ +# Nebula Terminal 1.3.1 + +## English + +### Added + +- Added verified in-app Windows updates — Nebula can download the exact official Windows x64 installer in the background, show progress, validate its size, PE header, and SHA-256, then wait for explicit confirmation before launching setup. + +### Fixed + +- Fixed automatic update checks to use the real GitHub latest release and compare it with the running package version before showing a reminder; skipped versions and three-day reminders remain respected. +- Fixed update notifications disappearing before users could act; reminders now remain visible in the bottom-right corner, and completion or failure replaces the original notification with the appropriate next action. +- Fixed update and confirmation dialog geometry and typography to match the established width, vertical position, and font sizing, while overlay clicks, Escape, and cancel buttons consistently run the cancel action. +- Fixed terminal opacity returning to 82% after being set to 100% when legacy blur settings were normalized and reloaded. +- Fixed the keymap page leaving a large empty gap above its shortcut rows. +- Fixed the font group popup drifting away from its selector; hovering a truncated font family now reveals its complete name. +- Fixed the sidebar resize cursor and width calculation missing the visible divider, so dragging begins directly on the baseline instead of several pixels to its left. +- Fixed PowerShell current-directory reporting under the Windows home directory. The prompt may still display `~`, but Files and Git integrations now receive the absolute path and correctly detect repositories below the home directory. + +### Improved + +- Improved the update flow with download progress, retry, verified, install, and failure states, plus a second installer verification immediately before launch. +- Improved modal consistency across workspace, pane, tab, file-tree, and settings confirmations without removing the new component's click-outside cancellation behavior. + +## 中文 + +### 新增 + +- 新增经过校验的应用内 Windows 更新 — Nebula 可在后台下载名称精确匹配的官方 Windows x64 安装包,显示进度,校验大小、PE 文件头与 SHA-256,并在明确确认后才启动安装。 + +### 修复 + +- 修复自动更新版本检测;现在会读取真实的 GitHub 最新 Release,与当前运行版本比较后才显示提醒,同时继续遵守跳过版本与三天后提醒设置。 +- 修复更新通知在用户操作前消失;提醒会持续显示在右下角,下载完成或失败后,原通知会被带有下一步操作的新状态替换。 +- 修复更新与确认弹窗的几何位置和字体大小,使其与既有宽度、垂直位置及排版对齐,同时让遮罩点击、Esc 与取消按钮一致执行取消逻辑。 +- 修复终端不透明度拉到 100% 后,在旧版模糊设置规范化并重载时又回到 82%。 +- 修复按键映射页在快捷键列表上方留下大块空白。 +- 修复字体组弹层与下拉框分离;鼠标悬停在被截断的字体名称上时,现在会显示完整名称。 +- 修复侧边栏拖拽光标和宽度计算未对准可见分隔线;鼠标现在可直接在基线上开始拖动,无需偏向左侧。 +- 修复 Windows 用户主目录下的 PowerShell 当前目录上报。提示符仍可显示 `~`,但文件与 Git 集成会收到绝对路径,并正确识别主目录下的仓库。 + +### 改进 + +- 改进更新流程,提供下载进度、重试、已校验、安装和失败状态,并在启动安装包前执行二次校验。 +- 改进工作区、分栏、标签、文件树与设置确认框的一致性,同时保留新组件点击外部区域取消的特性。 + +## Contributors + +- No external contributions were recorded for this release. + +--- + +**SHA256** + +- `NebulaTerminal-v1.3.1-windows-x64.zip`: `211A657F2B772AA44A69ED3E7DF20448C79D734217EFDDBB094CF8459FF46216` +- `NebulaTerminal-1.3.1-windows-x64-setup.exe`: `41FCC6B3E09B5E7D0EBF4B7316FC75379EAD4CC5FB74FD7EDA092AE355E27F58` diff --git a/nebula-completions/Cargo.toml b/nebula-completions/Cargo.toml index 5a50bf7..21028b1 100644 --- a/nebula-completions/Cargo.toml +++ b/nebula-completions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula-completions" -version = "1.3.0" +version = "1.3.1" edition.workspace = true [features] diff --git a/nebula_app/Cargo.toml b/nebula_app/Cargo.toml index 3d13eae..2de1db8 100644 --- a/nebula_app/Cargo.toml +++ b/nebula_app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula" -version = "1.3.0" +version = "1.3.1" 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.3.0" +version = "1.3.1" [dependencies.nebula_config_derive] path = "../nebula_config_derive" -version = "1.3.0" +version = "1.3.1" [dependencies.nebula_config] path = "../nebula_config" -version = "1.3.0" +version = "1.3.1" # 可选:GPUI UI 层(feature = "gpui-shell",模块 src/gpui_shell/)。 # GPUI/component 的版本和 Git 来源由根 Cargo.toml 统一精确固定。 @@ -62,7 +62,7 @@ optional = true [dependencies.nebula-completions] path = "../nebula-completions" -version = "1.3.0" +version = "1.3.1" [dependencies] ahash = { version = "0.8.6", features = ["no-rng"] } diff --git a/nebula_app/windows/nebula.rc b/nebula_app/windows/nebula.rc index a6cb4cf..7ef14b6 100644 --- a/nebula_app/windows/nebula.rc +++ b/nebula_app/windows/nebula.rc @@ -8,8 +8,8 @@ IDI_ICON ICON "nebula.ico" APP_MANIFEST RT_MANIFEST nebula.manifest 1 VERSIONINFO -FILEVERSION 1,3,0,0 -PRODUCTVERSION 1,3,0,0 +FILEVERSION 1,3,1,0 +PRODUCTVERSION 1,3,1,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x0L FILEOS 0x40004L @@ -22,11 +22,11 @@ BEGIN BEGIN VALUE "CompanyName", "Kuddev" VALUE "FileDescription", "Nebula Terminal" - VALUE "FileVersion", "1.3.0" + VALUE "FileVersion", "1.3.1" VALUE "InternalName", "nebula" VALUE "OriginalFilename", "nebula.exe" VALUE "ProductName", "Nebula Terminal" - VALUE "ProductVersion", "1.3.0" + VALUE "ProductVersion", "1.3.1" END END BLOCK "VarFileInfo" diff --git a/nebula_config/Cargo.toml b/nebula_config/Cargo.toml index 6daf84e..3d8a662 100644 --- a/nebula_config/Cargo.toml +++ b/nebula_config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula_config" -version = "1.3.0" +version = "1.3.1" 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.3.0", path = "../nebula_config_derive" } +nebula_config_derive = { version = "1.3.1", 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 c39b810..bcc82dc 100644 --- a/nebula_config_derive/Cargo.toml +++ b/nebula_config_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula_config_derive" -version = "1.3.0" +version = "1.3.1" 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.3.0" +version = "1.3.1" [dev-dependencies] log = "0.4.11" diff --git a/nebula_settings/Cargo.toml b/nebula_settings/Cargo.toml index 3c78c37..878413a 100644 --- a/nebula_settings/Cargo.toml +++ b/nebula_settings/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula-settings" -version = "1.3.0" +version = "1.3.1" 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 d0f0a65..23048c8 100644 --- a/nebula_split/Cargo.toml +++ b/nebula_split/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula-split" -version = "1.3.0" +version = "1.3.1" 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 9c6fd09..c795589 100644 --- a/nebula_terminal/Cargo.toml +++ b/nebula_terminal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nebula_terminal" -version = "1.3.0" +version = "1.3.1" 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 ac4b72c..706dbf1 100644 --- a/scripts/installer.iss +++ b/scripts/installer.iss @@ -1,9 +1,9 @@ #ifndef AppVersion - #define AppVersion "1.3.0" + #define AppVersion "1.3.1" #endif #ifndef NumericVersion - #define NumericVersion "1.3.0.0" + #define NumericVersion "1.3.1.0" #endif #ifndef Configuration