release: v1.0.21
CI / typecheck + test + build (windows) (push) Canceled after 0s

This commit is contained in:
Bill committed 2026-10-08 00:17:05 +08:00
1 parent 2653ab1820
commit ac43844f8a
6 files changed
+143 -3

No files matched your search

+35
View File
@@ -1,5 +1,40 @@
# OpenTerminal Changelog # OpenTerminal Changelog
## v1.0.21 - 2026-10-07
### Background image experience
- **No more wash-out on light themes**: with a background image set, lowering the opacity now dims the image on every theme (on light themes it used to fade the image to white, making text unreadable).
- **Automatic text brightening**: in image mode the terminal enforces WCAG AA-level contrast, so dark foreground text from light themes stays readable over wallpapers.
- **New "Background dim" slider** (Settings → Theme): overlays an independent dim layer on the image, darkening it while preserving saturation. 30–50% works well for bright images.
- Default background image opacity changed from 60% to 30%.
### Performance
- Settings writes no longer make every terminal pane rewrite its options and refit (field-level subscriptions — only affected panes react).
- SFTP file list virtualization: directories with tens of thousands of entries (e.g. node_modules) no longer freeze the window.
- A crashing pane no longer takes down the whole workspace: per-panel error boundary with a retry button.
- Smoother SSH bottom-panel dragging; noticeably cheaper rendering for the transfer panel and monitor charts.
### Installer size
- Installer slimmed by about **90MB** (bundled dependencies 98MB → 8.1MB): UI-only packages are no longer shipped twice.
### Security hardening
- Local paths for SFTP upload/download and ZMODEM transfers are only accepted when picked through a native dialog, blocking crafted read/write paths.
- SSH private key files are validated (must be a regular file ≤ 1MB).
- Window security options pinned explicitly (contextIsolation / nodeIntegration / webSecurity) instead of relying on defaults.
### Stability fixes
- ZMODEM: write errors now terminate the transfer correctly, progress events are throttled, terminal events are emitted on session detach.
- Corrupted connections/commands config files are backed up before rebuilding instead of silently losing settings.
- Failed layout-template applies restore the previous layout; portals mounted while locked are properly inerted.
- The release channel refuses downgrades and verifies assets by sha512.
- SFTP operations have per-op timeouts with one automatic retry on half-dead channels.
- Multiple hardening fixes in the startup chain and host-key verification.
### Misc
- Auto-numbered terminal tab titles ("Terminal 3") now follow the UI language.
- The lock shortcut Ctrl+L uses physical key codes, so Dvorak and other non-QWERTY layouts trigger it correctly.
- Removed the dead "update channel" dropdown from Settings.
## v1.0.20 - 2026-10-01 ## v1.0.20 - 2026-10-01
### Input Method Fixes ### Input Method Fixes
+35
View File
@@ -1,5 +1,40 @@
# OpenTerminal 更新履歴 # OpenTerminal 更新履歴
## v1.0.21 - 2026-10-07
### 背景画像の体験
- **ライトテーマでの「白飛び」を解消**:背景画像設定後、不透明度を下げるとどのテーマでも画像が暗くなります(以前はライトテーマで不透明度を下げると画像が白く洗われ、文字が読めなくなっていました)。
- **文字の自動提亮**:画像モードでは端末の文字コントラストが WCAG AA レベルに引き上げられ、ライトテーマの暗い文字も壁紙の上で読みやすくなります。
- **「背景の減光」スライダー追加**(設定 → テーマ):画像の上に独立した減光レイヤーを重ね、彩度を保ったまま全体を暗くします。明るい画像は 30–50% が目安です。
- 背景画像の既定の不透明度を 60% から 30% に変更しました。
### パフォーマンス
- 設定の書き込みですべての端末ペインがオプション再設定とリフィットを行わなくなりました(フィールド単位の購読で、関連ペインのみ反応)。
- SFTP ファイルリストの仮想スクロール:数万件のディレクトリ(node_modules など)でもウィンドウが固まりません。
- ペインのクラッシュがワークスペース全体を巻き込まなくなりました:パネルごとのエラーバウンダリ + 再試行ボタン。
- SSH ボトムパネルのドラッグが滑らかに。転送パネルと監視グラフの描画コストも大幅に削減。
### インストーラサイズ
- インストーラを約 **90MB** 削減(同梱依存 98MB → 8.1MB):UI 専用パッケージの二重同梱を解消しました。
### セキュリティ強化
- SFTP のアップロード/ダウンロードと ZMODEM 送受信のローカルパスは、システムダイアログで選択した場所のみ受け付け、不正なパスの読み書きを遮断します。
- SSH 秘密鍵ファイルの検証を追加(≤1MB の通常ファイルのみ)。
- ウィンドウのセキュリティ設定を明示固定(contextIsolation / nodeIntegration / webSecurity)。既定値への依存をやめました。
### 安定性の修正
- ZMODEM:書き込みエラーで転送を正しく終了、進捗イベントを間引き、セッション detach 時に終了イベントを補完。
- 接続/コマンド設定ファイルが壊れた場合、旧ファイルをバックアップしてから再作成し、設定を黙って失いません。
- レイアウトテンプレート適用失敗時に元のレイアウトを復元。ロック中に後から出たポップアップも正しく無効化。
- 公開チャンネルのダウングレード防止(古いバージョンで上書きしない)と sha512 による資産検証。
- SFTP の各操作にタイムアウトを追加し、半死のチャンネルは自動で一度だけ再試行。
- 起動シーケンスとホスト鍵検証を複数箇所強化。
### その他
- 端末タブの自動番号タイトル(「ターミナル 3」など)が UI 言語の切り替えに追従するようになりました。
- ロックショートカット Ctrl+L を物理キー位置で判定し、Dvorak など非 QWERTY 配列でも正しく動作します。
- 設定ページから機能していない「更新チャンネル」ドロップダウンを削除しました。
## v1.0.20 - 2026-10-01 ## v1.0.20 - 2026-10-01
### 入力メソッド修正 ### 入力メソッド修正
+35
View File
@@ -1,5 +1,40 @@
# OpenTerminal 更新日志 # OpenTerminal 更新日志
## v1.0.21 - 2026-10-07
### 背景图体验
- **浅色主题不再「洗白」**:设置背景图后,调低透明度在任何主题下都是压暗图片(此前浅色主题下调透明度会把图洗成白色,文字完全看不清)。
- **文字自动提亮**:图片模式下终端文字对比度提升到 WCAG AA 级别,浅色主题的深色文字在壁纸上也能清晰可读。
- **新增「背景压暗」滑杆**(设置 → 主题):在图片之上叠加独立压暗层,图片保持饱和度的同时整体变暗,亮图建议 30–50%。
- 背景图默认透明度从 60% 调整为 30%。
### 性能
- 设置写入不再让所有终端窗格重写参数并重排(字段级订阅,只有相关窗格响应)。
- SFTP 文件列表虚拟滚动:上万条目的目录(如 node_modules)不再卡死窗口。
- 单个窗格崩溃不再拖垮整个工作区:每个面板独立错误边界 + 重试按钮。
- SSH 底部面板拖动更顺滑;传输面板与监控图表的渲染开销显著降低。
### 安装包体积
- 安装包精简约 **90MB**(内置依赖 98MB → 8.1MB):纯界面依赖不再重复打进安装包。
### 安全加固
- SFTP 上传/下载与 ZMODEM 收发的本地路径,只接受通过系统对话框选择的位置,阻断恶意构造路径的读写。
- SSH 私钥文件增加校验(必须是 ≤1MB 的普通文件)。
- 窗口安全选项显式固定(contextIsolation / nodeIntegration / webSecurity),不再依赖默认值。
### 稳定性修复
- ZMODEM:写入错误正确终结传输、进度事件节流、会话 detach 时补发终结事件。
- 连接/命令配置文件损坏时自动备份旧文件再重建,不再静默丢配置。
- 布局模板应用失败时恢复原布局;锁屏期间后弹出的浮层也被正确禁用。
- 发布通道防降级(拒绝把旧版本盖到更新通道),资产按 sha512 校验。
- SFTP 各操作增加超时兜底,半死连接自动重试一次。
- 启动链路与主机密钥校验多处加固。
### 其他
- 终端标签的自动编号标题(「终端 3」)现在跟随界面语言切换。
- 锁屏快捷键 Ctrl+L 改用物理键位判定,Dvorak 等非 QWERTY 布局也能正确触发。
- 设置页移除无效的「更新通道」下拉框。
## v1.0.20 - 2026-10-01 ## v1.0.20 - 2026-10-01
### 输入法修复 ### 输入法修复
+35
View File
@@ -1,5 +1,40 @@
# OpenTerminal 更新日誌 # OpenTerminal 更新日誌
## v1.0.21 - 2026-10-07
### 背景圖體驗
- **淺色主題不再「洗白」**:設定背景圖後,調低透明度在任何主題下都是壓暗圖片(此前淺色主題下調透明度會把圖洗成白色,文字完全看不清)。
- **文字自動提亮**:圖片模式下終端文字對比度提升至 WCAG AA 級別,淺色主題的深色文字在壁紙上也能清晰可讀。
- **新增「背景壓暗」滑桿**(設定 → 主題):在圖片之上疊加獨立壓暗層,圖片保持飽和度的同時整體變暗,亮圖建議 30–50%。
- 背景圖預設透明度從 60% 調整為 30%。
### 效能
- 設定寫入不再讓所有終端窗格重寫參數並重排(欄位級訂閱,只有相關窗格響應)。
- SFTP 檔案列表虛擬捲動:上萬條目的目錄(如 node_modules)不再卡死視窗。
- 單個窗格崩潰不再拖垮整個工作區:每個面板獨立錯誤邊界 + 重試按鈕。
- SSH 底部面板拖動更順暢;傳輸面板與監控圖表的渲染開銷顯著降低。
### 安裝包體積
- 安裝包精簡約 **90MB**(內建依賴 98MB → 8.1MB):純介面依賴不再重複打進安裝包。
### 安全加固
- SFTP 上傳/下載與 ZMODEM 收發的本機路徑,只接受透過系統對話框選擇的位置,阻斷惡意構造路徑的讀寫。
- SSH 私鑰檔案增加校驗(必須是 ≤1MB 的普通檔案)。
- 視窗安全選項顯式固定(contextIsolation / nodeIntegration / webSecurity),不再依賴預設值。
### 穩定性修復
- ZMODEM:寫入錯誤正確終結傳輸、進度事件節流、會話 detach 時補發終結事件。
- 連接/命令設定檔損壞時自動備份舊檔再重建,不再靜默丟配置。
- 佈局範本應用失敗時恢復原佈局;鎖屏期間後彈出的浮層也被正確禁用。
- 發佈通道防降級(拒絕把舊版本蓋到更新通道),資產按 sha512 校驗。
- SFTP 各操作增加超時兜底,半死連接自動重試一次。
- 啟動鏈路與主機金鑰校驗多處加固。
### 其他
- 終端標籤的自動編號標題(「終端 3」)現在跟隨介面語言切換。
- 鎖屏快捷鍵 Ctrl+L 改用實體鍵位判定,Dvorak 等非 QWERTY 佈局也能正確觸發。
- 設定頁移除無效的「更新通道」下拉框。
## v1.0.20 - 2026-10-01 ## v1.0.20 - 2026-10-01
### 輸入法修復 ### 輸入法修復
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "open-terminal", "name": "open-terminal",
"version": "1.0.20", "version": "1.0.21",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "open-terminal", "name": "open-terminal",
"version": "1.0.20", "version": "1.0.21",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@lydell/node-pty": "^1.2.0-beta.15", "@lydell/node-pty": "^1.2.0-beta.15",
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "open-terminal", "name": "open-terminal",
"productName": "OpenTerminal", "productName": "OpenTerminal",
"version": "1.0.20", "version": "1.0.21",
"description": "Open-source terminal with SSH, split panes, themes and fonts", "description": "Open-source terminal with SSH, split panes, themes and fonts",
"main": "out/main/index.js", "main": "out/main/index.js",
"author": "CodingPlan.Site", "author": "CodingPlan.Site",