github Kuddev/pebrel v2.1.0
Pebrel 2.1.0

latest releases: v2.2.0, v2.1.1
8 days ago

Pebrel 2.1.0

English

Added

  • Added SSH key-file login on Android, including passphrase-protected private keys selected when saving a host. Reconnection retains the selected key and existing host-fingerprint checks; rejected keys do not silently fall back to password login.
  • Added configurable history limits and a viewport scrollbar for Android local and SSH terminals. New terminals default to 1,000 history rows with device-aware limits; dragging the scrollbar browses history without selecting text or sending terminal input.
  • Added built-in intelligent completion for Git repositories, project scripts, SSH config aliases, registered WSL distributions on Windows, and local files and directories. Common commands such as ssh, wsl, cat, cd, and ls receive argument-specific suggestions without requiring matching command history or a shell completion plugin. Addresses #353.
  • Added Inline, List, and Hybrid completion modes in Settings, applied to open terminals immediately. Inline uses Tab to accept a suggestion; List uses arrow keys to select and Tab to insert; Hybrid uses Right arrow to accept inline text and Tab to open the list.
  • Added an optional smooth terminal cursor with Off and Smooth (90 ms) choices in Appearance settings. The setting applies to existing panes, persists across restarts, and smooths cursor movement while typing and navigating.
  • Added a Windows launch-environment choice for new terminals: refresh environment variables from the registry or inherit the launching process, including its PATH. Addresses #103.
  • Added Zellij launcher discovery in common Unix installation paths, including Homebrew locations. Addresses #356.
  • Added an SSH persistent-session picker on Android to list and refresh a connected host's sessions and windows, then open the selected target through the existing login and host-trust flow. Discovery uses a separate query channel alongside the terminal and supports Unix and Windows OpenSSH hosts.
  • Added host operating-system icons to Android saved hosts and computers, using system information obtained through SSH discovery and desktop connections.
  • Added file-type icons to Android desktop and SFTP file browsers, Git file lists, file tabs, and preview headers, distinguishing source code, Markdown, configuration, images, archives, and other common types.
  • Added Shift+Tab to the Android terminal shortcut bar and narrow-screen overflow menu for local terminals, SSH sessions, and connected desktop panes.

Fixed

  • Fixed Theme and App Icon settings using typography inconsistent with the interface font size. Titles, descriptions, and current values now follow the other settings rows.
  • Fixed resetting one theme color overwriting other draft edits. Resetting also clears invalid HEX input for that field; edits remain local until saved or applied.
  • Fixed delayed Android terminal taps reopening the keyboard over SFTP after leaving the terminal. Back cancels file selection before returning to the terminal.
  • Fixed completion using an outdated working directory on macOS and Linux. History refreshes after commands, directory candidates follow the current terminal, and nested shells retain scoped history when a directory channel is unavailable.
  • Fixed completion applying outdated edits or inserting at the wrong position before input echo finishes. Insertion waits for complete terminal input and discards results from an older input line, directory, or session.
  • Fixed quoting in path completions and PowerShell SSH arguments. Existing quotes and spaces are preserved, and attached SSH config paths and jump-host values are quoted when PowerShell would otherwise split them.
  • Fixed configured startup dimensions not taking effect. config.window.dimensions from Lua, TOML, or YAML, including an explicit --config-file, is applied using the selected font metrics and available display bounds. Addresses #312.
  • Fixed removed custom shortcuts continuing to swallow keys such as Enter. Deleting a binding restores ordinary terminal input immediately without restarting.
  • Fixed terminal right-click behavior to follow the selected interaction mode. With copy-on-select off, right-click opens Copy, Paste, working-directory, split, close, and Send to Chat actions; Ctrl+right-click opens the menu in either mode while preserving terminal mouse reporting. Addresses #372.
  • Fixed new Windows terminals ignoring a saved custom proxy when the system-proxy switch is off. HTTP/SOCKS schemes and credentials are retained, pasting a complete proxy URL updates the scheme selector, and PowerShell 5 and 7 HTTP requests use the configured HTTP proxy. Addresses #330.
  • Fixed missing macOS directory colors by supplying BSD ls defaults for zsh while respecting user-defined values, aliases, functions, NO_COLOR, and TERM=dumb. Addresses #363.
  • Fixed the backup storage menu appearing behind the drawer and preventing location changes. The menu now accepts mouse and keyboard selection above the drawer. Addresses #354.
  • Fixed WebDAV backup listing and directory creation to send the required extension request methods while retaining authentication-error reporting.
  • Fixed Aliyun OSS S3-compatible backup listing, upload, download, and deletion to use bucket-qualified hosts for recognized endpoints. Endpoints that already contain the bucket name are handled without duplicating it. Addresses #361.
  • Fixed selecting text across formulas changing the document layout. Ordinary drag selection preserves rendered formulas and adjacent text positions, outlines selected formulas, and copies their original LaTeX source. Addresses #119.
  • Fixed a debug-build stack overflow when opening the icon selector in languages other than English or Chinese. Addresses #315.
  • Fixed Linux startup from read-only installation locations trying to create an installer lock when no installation transaction needs recovery.
  • Fixed Android desktop connections failing to recover after a phone network change. Reconnection releases the old connection and uses the current network while retaining drafts and the paired computer identity; desktop LAN recovery preserves the selected network interface.
  • Fixed Android task-notification tracking across reconnects. The last observed state and sequence are saved to recognize the latest available transition without repeat notifications; opening a notification restores the computer connection and checks the desktop process before navigating to the pane.
  • Fixed Android desktop mirroring changing terminal geometry. The desktop grid is retained by default to keep TUI borders and cursor positions aligned, with optional line reflow for reading.
  • Fixed phone terminal fallback glyphs extending beyond their cells or being clipped. Oversized glyphs are scaled to their cells, and TUI play/pause symbols are drawn without relying on font coverage.
  • Fixed copying phone-reflowed output introducing display-only line breaks. Copying joins soft wraps, retains real line breaks and spaces, and handles wide and combining characters according to the visible cell selection.
  • Fixed Android desktop terminal content disappearing after page recreation. The last mirror frame is retained when leaving or recreating a page and released when the corresponding computer is closed.

Improved

  • Improved theme selection and custom editing with terminal-text previews in theme cards, grouped color and typography controls beside a live preview, and smooth color gradients with HEX entry. The custom-theme entry remains at the lower left, and narrow windows retain scrolling and accessible save controls.
  • Improved Android SFTP browsing with pull-to-refresh, per-file action menus, and swipe-range selection with touch feedback. Refreshing or changing directories releases the previous listing cursor.
  • Improved Android local directory listings with distinct colors for directories, links, and executables, while preserving user shell overrides and plain redirected output.
  • Improved Git completion using the current repository's local branches, tags, remote references, and automatic tracking branches. Repository metadata is queried offline in the background.
  • Improved completion responsiveness during continuous typing by cancelling obsolete work, moving file scans outside history locks, and reusing short-lived source caches. Inline and list suggestions share command and path rules.
  • Improved native Agent integration on macOS and Linux, connecting local Hook installation, removal, event delivery, and settings inspection through the shared integration policy. Unix packages include the matching helper, and macOS discovers Codex sessions from running terminal processes.
  • Improved native desktop integration on macOS and Linux for tray actions, quick-terminal windows, login startup, folder-opening entry points, and terminal sounds. Wayland global shortcuts use the desktop portal.
  • Improved provider credential entry on Windows, macOS, and Linux with a shared masked-key dialog supporting input, paste, confirmation, and cancellation.
  • Improved OpenCode integration with v2 plugin lifecycle support for execution, permission, and task notifications, retaining the v1 plugin entry point for OpenCode 1.18.29 and later. Addresses #297.
  • Improved compact display density across the custom title bar, sidebar rows, section headers, and top tabs, with matching spacing and immediate switching between compact and standard layouts. Addresses #327.
  • Improved sidebar, details, and side-panel transitions to follow the immediate-display setting. Closed panels no longer reserve space because of stale animation state.
  • Improved desktop control spacing and clickable padding at small interface font sizes. Confirmation dialogs show Enter/Escape hints, and shortcut labels use Cmd/Option, Win/Alt, or Super/Alt for the current platform.
  • Improved the Windows console runtime by updating Microsoft OpenConsole/ConPTY to 1.24 for both x64 and ARM64. Addresses #347.
  • Improved direct terminal selection on Android with shared cell-based selection, draggable handles, and native copy/paste actions across local, SSH, and mirrored desktop terminals. The selected frame remains stable during new output; paste remains available with input permission even when direct keyboard input is off.
  • Improved Android task notifications to include the computer and terminal title and distinguish completion, failure, and waiting for input.

中文

新增

  • 新增:Android SSH 密钥文件登录,保存主机时可选择私钥文档,支持需要口令的加密密钥;重连沿用所选密钥及已有主机指纹校验,密钥被拒绝时不静默改用密码登录。
  • 新增:Android 终端历史行数设置与滚动条,新建本地和 SSH 终端默认保留 1,000 行,并按设备情况限制上限;拖动滚动条可浏览已有历史,不触发文字选择或向终端发送按键。
  • 新增:内置智能补齐,根据命令及参数,从 Git 仓库、项目脚本、SSH 配置别名、Windows 已注册的 WSL 发行版和本地文件目录中获取候选。覆盖 ssh、wsl、cat、cd、ls 等常用命令,无需对应历史记录或 Shell 补齐插件。对应 #353。
  • 新增:行内、列表和混合三种补齐模式,在设置中切换后立即应用到已打开的终端。行内用 Tab 接受灰字;列表用方向键选择、Tab 插入;混合用右方向键接受灰字、Tab 打开列表。
  • 新增:可选的终端平滑光标,外观设置提供关闭和平滑(90 毫秒)选项,输入和方向键移动时可平滑移动光标;立即应用到现有窗格,并在重启后保留。
  • 新增:Windows 启动环境选择,新终端可从注册表刷新环境变量,或继承启动 Pebrel 的进程环境及其 PATH。对应 #103。
  • 新增:Zellij 启动器发现,支持 Unix 常见安装路径及 Homebrew 安装位置。对应 #356。
  • 新增:Android SSH 持久会话选择,可浏览和刷新已连接主机中的会话及窗口,并通过已有登录与主机信任流程打开所选目标。发现使用独立查询通道,支持 Unix 和 Windows OpenSSH 主机。
  • 新增:Android 主机系统图标,通过 SSH 发现和桌面连接取得操作系统信息,为已保存的主机和电脑显示对应图标。
  • 新增:Android 文件类型图标,在桌面文件浏览器、SFTP、Git 文件列表、文件标签和预览标题中区分源码、Markdown、配置、图片、压缩包等常见类型。
  • 新增:Android 终端快捷栏及窄屏更多菜单支持 Shift+Tab,可发送到本地终端、SSH 会话和已连接的桌面窗格。

修复

  • 修复:主题和应用图标设置未跟随界面字号的问题,标题、说明和当前值采用与其他设置行一致的字号与字重。
  • 修复:重置单个主题颜色时覆盖其他草稿编辑的问题,同时清除该字段的无效 HEX 输入;保存或应用前仍保持为本地草稿。
  • 修复:离开 Android 终端后,延迟单击将键盘重新弹到 SFTP 页面的问题;返回键先取消文件多选,再返回终端。
  • 修复:macOS 与 Linux 补齐使用过期工作目录的问题。命令执行后刷新历史,目录候选跟随当前终端;嵌套 Shell 没有目录通道时保留当前作用域的历史补齐。
  • 修复:过期结果或不完整回显导致补齐位置错误的问题。等待终端完整回显当前输入,插入候选前丢弃旧输入、旧目录或旧会话产生的结果。
  • 修复:路径补齐和 PowerShell SSH 参数的引号处理,保留空格与已有引号,并对 PowerShell 可能拆分的紧贴 SSH 配置路径和跳板选项值补上引号。
  • 修复:启动窗口尺寸配置未生效的问题。从 Lua、TOML 或 YAML 读取 config.window.dimensions,支持显式 --config-file,并根据实际字体尺寸和显示区域设置窗口大小。对应 #312。
  • 修复:移除自定义快捷键后仍拦截 Enter 等按键的问题;删除绑定后立即恢复普通终端输入,无需重启。
  • 修复:终端右键未遵循所选交互模式的问题。关闭选中即复制时,右键显示复制、粘贴、工作目录、分屏、关闭和发送到聊天等菜单项;两种模式均支持 Ctrl+右键打开菜单,并保留终端程序的鼠标上报。对应 #372。
  • 修复:关闭系统代理开关后,Windows 新终端忽略已保存自定义代理的问题。保留 HTTP/SOCKS 协议与认证信息,粘贴完整代理 URL 时同步协议选项,PowerShell 5 和 7 的 HTTP 请求使用配置的 HTTP 代理。对应 #330。
  • 修复:macOS 目录颜色缺失的问题,为 zsh 补充 BSD ls 默认颜色,同时尊重用户已有值、别名、函数、NO_COLOR 和 TERM=dumb。对应 #363。
  • 修复:备份存储位置菜单被抽屉遮挡、影响切换的问题;菜单显示在抽屉上方,支持鼠标和键盘选择。对应 #354。
  • 修复:WebDAV 备份列表与目录创建的请求方法处理,正确发送所需的扩展请求,并保留认证失败提示。
  • 修复:阿里云 OSS S3 兼容备份的地址处理,识别 OSS S3 端点,以包含存储桶的主机名完成列举、上传、下载和删除;地址已包含桶名时不重复拼接。对应 #361。
  • 修复:跨公式拖动选择文本时布局变化的问题,保留公式渲染及相邻文字位置,为选中公式显示轮廓,并复制原始 LaTeX 源码。对应 #119。
  • 修复:调试构建中使用中英文以外的语言打开图标选择器时,翻译加载导致主线程栈溢出的问题。对应 #315。
  • 修复:Linux 从只读安装位置启动时尝试创建安装器锁文件的问题;没有待恢复的安装事务时不创建锁文件。
  • 修复:手机切换网络后 Android 桌面连接未恢复的问题。释放旧连接并通过当前网络重试,保留输入草稿和已配对电脑身份;桌面局域网恢复保留选定网卡。
  • 修复:Android 重连后的任务通知跟踪,保存最后观察到的状态和序号,识别最新可见变化并避免重复通知;点击通知时恢复电脑连接,核对桌面进程后定位窗格。
  • 修复:Android 桌面镜像改变终端网格的问题,默认保持电脑端网格,使 TUI 边框和光标位置对齐;仍可主动开启换行重排以便阅读。
  • 修复:手机终端回补字形超出单元格或被裁切的问题,将过宽字形缩放到对应单元格,并直接绘制 TUI 播放、暂停符号,避免依赖字体覆盖。
  • 修复:复制手机重排内容时混入显示换行的问题,合并软换行并保留真实换行和空格,按可见单元格选区处理宽字符与组合字符。
  • 修复:Android 页面重建后丢失桌面终端画面的问题,离开或重建页面时保留最后一帧镜像,关闭对应电脑时释放该画面。

改进

  • 改进:主题选择与自定义编辑,主题卡直接预览终端文字,颜色与字体控件分组排列并配合实时预览;调色器使用平滑渐变和 HEX 输入。“自定义主题”入口仍在左下角,窄窗口保留滚动和可操作的保存按钮。
  • 改进:Android SFTP 浏览,支持下拉刷新、逐文件操作菜单及带触感反馈的滑动范围选择;刷新或切换目录时释放旧列表游标。
  • 改进:Android 本地目录彩色显示,区分目录、链接和可执行文件,同时尊重用户 Shell 覆盖设置,重定向输出保持纯文本。
  • 改进:Git 补齐按当前仓库配置提供本地分支、标签、远端引用与自动跟踪分支候选;信息查询在后台进行,无需联网。
  • 改进:连续输入时的补齐响应,及时取消过期任务,将文件扫描移出历史锁,并通过短时缓存减少重复查询;行内与列表候选共用命令和路径规则。
  • 改进:macOS 与 Linux 原生 Agent 集成,接通本地 Hook 安装、移除、事件传递和设置检查,复用统一策略。Unix 安装包附带对应辅助程序,macOS 可从运行中的终端进程发现 Codex 会话。
  • 改进:macOS 与 Linux 原生桌面集成,接通托盘操作、快速终端窗口、登录自启、打开目录入口和终端提示音;Wayland 全局快捷键使用桌面 Portal。
  • 改进:Windows、macOS 和 Linux 服务商凭据输入,共用密钥遮罩对话框,支持输入、粘贴、确认和取消。
  • 改进:OpenCode v2 集成,支持插件生命周期中的执行、权限与任务通知,同时兼容 OpenCode 1.18.29 及之后版本的 v1 插件入口。对应 #297。
  • 改进:紧凑显示密度覆盖自绘标题栏、侧边栏条目、分区标题和顶部标签,同步收紧高度与间距,标准和紧凑布局可立即切换。对应 #327。
  • 改进:侧边栏、详情面板和侧面板遵循立即显示设置,关闭后不再因残留动画状态继续占位。
  • 改进:小界面字号下的桌面控件间距和可点击留白,确认弹窗显示 Enter/Escape 提示,并按平台使用 Cmd/Option、Win/Alt 或 Super/Alt 快捷键标识。
  • 改进:Windows x64 与 ARM64 控制台宿主更新至 Microsoft OpenConsole/ConPTY 1.24。对应 #347。
  • 改进:Android 本地、SSH 和桌面镜像终端共用按单元格选取、拖动手柄及原生复制粘贴操作。新输出到来时保持选中画面稳定;关闭直接键盘输入时,拥有输入权限仍可粘贴。
  • 改进:Android 任务通知同时显示电脑和终端标题,并区分任务完成、失败与等待输入。

Contributors

  • @WilliamWang1721 — Startup dimensions, compact layout, desktop controls and shortcut hints, and OpenCode v2 integration. / 启动尺寸、紧凑布局、桌面控件与快捷键提示,以及 OpenCode v2 集成。 (#194, #285, #286, #287, #298, #313)
  • @Cec1c — Optional smooth terminal cursor motion. / 可选的终端平滑光标。 (#307)
  • @Sakyvo — Custom-key unbinding and immediate panel transitions. / 自定义快捷键解绑与面板立即显示。 (#320, #339)
  • @yellatiamo — Custom proxy propagation to new local terminals. / 向新本地终端传递自定义代理。 (#334)
  • @YinBuLiao — macOS terminal color defaults and input-path regression coverage. / macOS 终端默认颜色与输入路径回归覆盖。 (#371)
  • @Kuddev — Intelligent completion, Android improvements, cross-platform integrations, backup and terminal fixes, review, and release integration. / 智能补齐、Android 改进、跨平台集成、备份和终端修复、审核与发布整合。 (#365, #367, #368, #381, #388, #392, #393, #405, #406, #408)

SHA256

  • Pebrel-v2.1.0-linux-x64-preview.AppImage: 0e5aaa388f6271587a832c0083ae48457af654b56fba304e071a7739affaa91a
  • Pebrel-v2.1.0-linux-x64-preview.deb: 4913e357b4546fb861ad3c500809bcbc819650f87c1a418b20ea2b0fa15589b9
  • Pebrel-v2.1.0-linux-x64-preview.tar.gz: e49e2fdc054b9e9bf11e6fc6087e922327806e367c6c04f8cab04de005931dae
  • Pebrel-v2.1.0-macos-arm64-preview.dmg: 1431acfe4d676a9a37293547e0239aee0657499ded49d880fd784e37a1066725
  • Pebrel-v2.1.0-macos-x64-preview.dmg: 2ad07185b4c04782110a75cb6d01b43598ec0da1ce4aba86e2c55a9ead016c33
  • Pebrel-v2.1.0-windows-x64.zip: 55e5c99c4a634f11658d7a7eb0d32a657a937455958f95e03a73f17d520fb3a2
  • Pebrel-v2.1.0-windows-x64-setup.exe: 18339bc7600e3411eb01ae3cdd781c09dddf0e9a5e3b103e532db76376889489
  • Pebrel-v2.1.0-windows-arm64.zip: d72f6af2e857e81632b96f879e891f864ea257a7a21fdce6526b66415576d71e
  • Pebrel-v2.1.0-windows-arm64-setup.exe: 50eaa181792a5078d00089c7ff340acf039ec713dfa0e7e9790c17877a7da429
  • Pebrel-v2.1.0-android-universal-preview.apk: 0759cdc819726eeab98d04a948f8dd4b7e32f2de31aa452d959d57bbe310b2f9

Don't miss a new pebrel release

NewReleases is sending notifications on new releases.