Releases: rssh-org/rssh
Release list
RSSH v0.2.19
What's Changed
- fix(app): keep edit and forward panes mounted across tab switches by @shihuili1218 in #259
- feat: 终端 GPU 渲染开关 by @shihuili1218 in #258
Full Changelog: v0.2.18...v0.2.19
RSSH v0.2.18
What's Changed
- feat(site): light paper hero with device trio by @shihuili1218 in #241
- feat(sync): two-tier merge — grouped upsert, preferences full replace by @shihuili1218 in #242
- feat(ai): visual refresh — translucent bubbles, purple tool cards, themed tints by @shihuili1218 in #243
- feat(ai): providers become user-defined rows over three protocol types by @shihuili1218 in #246
- feat(ai): shared radio style, new-session button, endpoint link chips by @shihuili1218 in #247
- refactor(migrate): replace in-app SSH config import with rssh-migrate site by @shihuili1218 in #251
- fix(security): upgrade russh 0.60.1 → 0.62.7 for CVE-2026-48110 by @shihuili1218 in #252
- feat(highlight): richer default rules — status words, dates, MAC, sizes by @shihuili1218 in #253
- Feat/terminal pane split upstream by @yang-collect in #233
- docs: add pain-points article for TWiR by @shihuili1218 in #254
- chore(docs): move site to rssh-org/docs, switch to external links by @shihuili1218 in #255
- ci: run the test suite on every PR to main by @shihuili1218 in #256
New Contributors
- @yang-collect made their first contribution in #233
Full Changelog: v0.2.17...v0.2.18
RSSH v0.2.17
What's Changed
- chore(terminal): drop the 8ms/64KB write batcher by @shihuili1218 in #213
- feat(forward): support multiple rules per tunnel by @shihuili1218 in #220
- fix(sftp): repair context-menu downloads by @shihuili1218 in #221
- feat(terminal): redact copied command blocks by @shihuili1218 in #222
- feat(terminal): add prompt-based command block splitting by @shihuili1218 in #223
- feat(terminal): bound command block output by @shihuili1218 in #224
- feat(ai): add secure web research tools by @shihuili1218 in #228
- fix(android): drop adaptive icon, fall back to legacy launcher PNG by @shihuili1218 in #230
- feat(terminal): add per-tab auto-fold toggle to block menu by @shihuili1218 in #229
- fix(sync): auto-create missing WebDAV collections before file requests by @shihuili1218 in #238
- feat(terminal): tame flood output — WebGL renderer, backlog badge, Ctrl+C release valve by @shihuili1218 in #234
- feat(welcome): dynamic discovery scene + demo gif, README updates by @shihuili1218 in #239
- feat(mobile): long-press modifier lock + extension key panel by @shihuili1218 in #236
Full Changelog: v0.2.15...v0.2.17
RSSH v0.2.15
What's Changed
- feat(sync): add versioned provider sync by @shihuili1218 in #187
- feat(cli): introduce typed command namespaces by @shihuili1218 in #186
- feat(home): add grouping and sorting options by @shihuili1218 in #185
- fix: refresh application icon assets by @shihuili1218 in #190
- docs: add privacy policy by @paradoxie in #191
- docs: add dynamic discovery guide by @shihuili1218 in #196
- fix: isolate and reset AI panel state per tab by @shihuili1218 in #195
- Unify UI icons with hand-drawn SVGs by @shihuili1218 in #197
- fix: skip session cleanup on WindowEvent::Destroyed for mobile by @shihuili1218 in #204
- feat(shell): ctrl+right-click opens context menu in paste mode by @raidshoebox1 in #203
- fix(cli): restore dynamic name completion by @shihuili1218 in #205
- fix: honor system proxy settings by @shihuili1218 in #199
- ci: publish beta releases directly by @shihuili1218 in #207
- feat(ai): add message copy and context rollback by @shihuili1218 in #210
- feat: add iOS support and remote packaging by @shihuili1218 in #198
- fix: repair mobile builds and iOS signing by @shihuili1218 in #211
New Contributors
- @paradoxie made their first contribution in #191
Full Changelog: v0.2.13...v0.2.15
RSSH v0.2.13
What's Changed
- fix(terminal): support OSC 52 clipboard writes by @shihuili1218 in #170
- feat(telnet): telnet transport — tabs, profiles, AI panel, headless server by @shihuili1218 in #163
- feat: add dynamic discovery for Docker and Kubernetes by @shihuili1218 in #175
- perf(terminal): coalesce render and write bursts by @shihuili1218 in #171
- feat(ssh): Add per-profile SSH algorithm preferences by @shihuili1218 in #178
- fix xterm ime 229 input by @shihuili1218 in #179
- refactor: address post-v0.2.11 review findings by @shihuili1218 in #181
- feat(settings): add unified connection list by @shihuili1218 in #182
- docs: refresh project capabilities and guidance by @shihuili1218 in #183
- fix: isolate discovery resolver tests from host PATH by @shihuili1218 in #184
Full Changelog: v0.2.11...v0.2.13
RSSH v0.2.11
RSSH v0.2.11 — terminal workflows, safer SSH key import, and observable AI ops
RSSH is a Rust/Tauri SSH client with a desktop GUI, CLI, mobile build, JetBrains tool-window mode, and an AI-assisted ops diagnosis workflow. v0.2.11 focuses on the parts of SSH tools that are mostly muscle memory: tab switching, text selection, local shells, multi-session broadcast, and making AI tool actions visible instead of mysterious.
Why
Terminal UX regressions are expensive because users notice them immediately. After the xterm.js 6 upgrade, macOS Option+Left/Right stopped behaving like word-jump in shells. Apps that enable mouse tracking, such as tmux, zellij, and vim, also made it hard to select and copy text locally on macOS.
At the same time, RSSH's broadcast editor and AI diagnosis panels had useful state hidden behind the UI: users could send text to multiple sessions without enough confidence about the target state, and some AI tool calls were only visible internally. This release makes those flows more inspectable and safer.
What's new
- Fast session tab switching. Use
Cmd+1..9on macOS andAlt+1..9on Windows/Linux to jump directly to session tabs. RSSH skips the fixed Home tab so the shortcut targets real SSH/local sessions. - Optional local terminal on startup. A new Shell setting opens one local terminal tab automatically when RSSH starts, without affecting cloned windows or AI handoff windows.
- Live broadcast previews. The broadcast editor now shows a compact minimap for each target session, plus a larger hover preview. The preview is rendered from the existing terminal buffer, with no extra PTY or SSH subscription.
- Selection-aware broadcast. If text is selected in the editor, RSSH sends only that selection; otherwise it keeps the previous behavior and sends the whole document.
- Visible AI tool-call hints. Chat and audit panels now show loaded skills, blocked commands, proposed local-analysis handoffs, and download size limits instead of leaving those actions implicit.
- Safer right-click menu changes. RSSH now asks for confirmation before switching away from the native terminal context menu, which is often the user's entry point for copy/paste.
Rust/Tauri implementation notes
- The macOS word-jump fix restores
Option+Left/Rightby translating the xterm.js key sequence intoMeta-b/Meta-fand sending it through the existing terminalonData -> PTYpath. Linux and Windows keep their native Ctrl-arrow behavior. - macOS local selection while terminal apps own mouse input now follows the iTerm-style Option-drag convention by enabling xterm's
macOptionClickForcesSelection. - The broadcast minimap is derived from xterm viewport snapshots. The implementation handles scrollback cursor position and wide-glyph continuation cells so previews do not paint misleading cells.
- Backend hardening includes an idempotent migration for legacy regex highlight rules with blank names, plus a shared 1 MiB cap for default SSH key-file reads so the native Rust path matches the existing webview import limit.
- AI audit additions are in-memory event variants, so no data migration is required.
How to try it
- Open several sessions and press
Cmd+1..9on macOS orAlt+1..9elsewhere. - Enable Shell -> Open local terminal on startup if you usually begin in a local shell.
- Open the broadcast editor, hover target sessions to inspect their previews, and select only the text you want to send.
- In AI diagnosis, blocked commands and loaded skills should now appear in the chat/audit timeline.
Fixes and hardening
- Restored macOS
Option+Left/Rightword navigation after the xterm.js 6 behavior change. - Enabled local text selection on macOS while mouse-tracking terminal apps are running.
- Fixed the AI chat send/stop button stretching with multi-line input.
- Unified modal/dialog styling behind a shared component and theme-driven surfaces.
- Fixed legacy regex highlight migration naming.
- Capped default SSH private-key file reads at 1 MiB.
Contributors
Thanks to @ZYist for the tab-switching work, and to everyone who reviewed the release PRs.
These notes were drafted with LLM assistance.
What's Changed
- fix(terminal): restore macOS Option+←/→ word jump (xterm 6 regression) by @shihuili1218 in #151
- feat(tab): jump to the Nth tab with Alt+1..9 (#135) by @ZYist in #152
- feat(ai): show tool-call hints in chat and audit panels by @shihuili1218 in #155
- feat(shell): optionally open a local terminal on startup by @shihuili1218 in #154
- refactor(ui): unify popups behind a Modal component and theme-driven surfaces by @shihuili1218 in #157
- fix(ai): shrink chat send button and stop it stretching by @shihuili1218 in #156
- feat(edit): live session previews and selection-aware broadcast by @shihuili1218 in #159
- Chore/refactor next version by @shihuili1218 in #161
- feat(shell): confirm before turning off the terminal right-click menu by @shihuili1218 in #162
- fix(terminal): allow text selection when app owns the mouse by @shihuili1218 in #166
New Contributors
Full Changelog: v0.2.10...v0.2.11
RSSH v0.2.10
What's Changed
- feat(window): bind directionally-opened windows so dragging one moves the other by @shihuili1218 in #139
- feat(tab): move focused tab to front (MRU), with a toggle to disable by @shihuili1218 in #140
- feat(highlight): unify rules on regex, require a name by @shihuili1218 in #141
- Doc/readme by @shihuili1218 in #142
- feat: unify file pick/save on webview + plugin-dialog, enable SFTP on mobile by @shihuili1218 in #146
- feat(credential): quick-fill private key from ~/.ssh defaults by @xsq15788 in #148
- fix(sftp): upload dropped local files instead of (bug) opening them by @nan0in in #134
- feat(tab): move "focus tab to front" toggle to Appearance, default off by @xsq15788 in #150
Full Changelog: v0.2.9...v0.2.10
RSSH v0.2.9
What's Changed
- feat(shell): rename mouse section to terminal interaction, add close tab confirmation by @xsq15788 in #128
- chore(ai): danger-mode toggle + model display, refactor confirm into shared component by @shihuili1218 in #130
- feat(group): forward and serial by @shihuili1218 in #131
- fix(window): open new window via async command to avoid Windows WebView2 deadlock by @shihuili1218 in #133
- fix: harden critical/high issues from full code review by @shihuili1218 in #136
- feat(block): move command-block settings to dedicated Advanced page + auto-color toggle by @shihuili1218 in #137
- fix(block): end the launching block at its start on alt-buffer switch by @shihuili1218 in #138
Full Changelog: v0.2.7...v0.2.9
RSSH v0.2.7
What's Changed
- feat(sidebar): per-row hover + Ctrl+Tab ripple (replace drawer) by @shihuili1218 in #123
- Fix(mobile): fling touch by @shihuili1218 in #124
- fix(terminal): narrow scrollbar to 6px + stop mobile scrollbar/touch … by @shihuili1218 in #125
Full Changelog: v0.2.6...v0.2.7
RSSH v0.2.6
What's Changed
- fix: avoid WebKitGTK GBM startup failures on Wayland by @nan0in in #118
- feat(block): add colorize + send to AI by @shihuili1218 in #119
- move recording to home path(.rssh) by @shihuili1218 in #121
New Contributors
Full Changelog: v0.2.5...v0.2.6