✨ Release Highlights
Netcatty v1.1.76 is a transfer- and ops-heavy release: SFTP bulk paths are fail-closed and concurrent end-to-end, the System panel gains GPU/NPU monitoring, vault credentials stop poisoning local/cloud state after decrypt failures, and terminal workspaces pick up disconnect/reconnect plus better long-session AI navigation.
🚀 SFTP throughput and reliability
- Bulk downloads no longer fall back to a slow serial stream path; concurrent pipelined transfers stay on the fast path (including sudo fan-out on a shared channel).
- Parallel directory discovery, folder pre-scan, and skip-unchanged make large folder uploads/downloads start sooner and transfer less redundant data.
- Folder drops update the scan UI immediately and avoid an expensive full-tree pre-scan before progress appears.
- Append-only / growing-file downloads, cancelable OPEN gates, write OPEN serialization, and safer conflict/resume handling harden real-world transfer edge cases.
🖥️ System panel: GPU / NPU
- The System side panel now shows GPU and NPU utilization so you can watch accelerator load alongside CPU, memory, and disk while connected.
🔐 Credentials safety
- If vault decryption fails, Netcatty no longer re-encrypts and overwrites good ciphertext—protecting both local storage and cloud sync from poison writes.
⌨️ Terminal sessions and workspaces
- Workspace split status bars gain disconnect / reconnect controls for the focused pane.
- Hibernate wake keeps the newest scrollback; host info bar shows the server name; clipboard image paste (remote, opt-in) and better mouse/keyboard passthrough for Kitty and mouse-tracking apps.
- Split-workspace tabs prefer a stable host name; session tabs and the quick switcher can open Edit Host.
🔌 Plugins, AI, and settings
- Plugin sync providers with encrypted sidecar sync; schema upgrades backfill bindings without wiping secrets/backups.
- Long AI chats get an in-chat jump list; Grok Build lands as a managed agent (ACP / streaming); Catty gains context controls and a clearer compact flow.
- OpenCode turns no longer die solely because a terminal tool failed; one-click clear-all for session logs.
🪟 Platform polish
- Windows: frameless window rounded corners and tray transparency restored; broken arm64 installers no longer ship from x64 CI; Explorer “Open in Netcatty” menu install/toggle is more robust.
- macOS: Local Network TCC / first-hop handling hardened for LAN SSH.
✨ Smaller polish
- SFTP CJK IME-safe filter input, external-edit temps surviving tab switches, snippets bulk delete, split terminal side panels, AI composer resize, sync theme rehydrate / groupConfig guards, and assorted SSH bastion rate-limit and automation reconnect fixes.
Download based on your OS:
| OS | Download |
|---|---|
| Windows | |
| macOS | |
| Linux |
Code signing policy
Netcatty is applying to the SignPath Foundation open-source program. Once
approved, covered Windows release artifacts will use Free code signing provided by SignPath.io, certificate by SignPath Foundation.
See the
Code signing policy
and Privacy policy.
What's Changed
- fix(sftp): restore SSH session reuse for side-panel browse by @myderr in #2652
- fix: harden CI and Cursor automation by @binaricat in #2654
- feat(tabs): show host name on split-workspace tabs instead of "Workspace" by @chenqin231 in #2658
- feat(terminal): add setting to show context menu over fullscreen apps (tmux/vim) by @chenqin231 in #2657
- feat(ai): add Catty context controls by @binaricat in #2667
- feat(ai): Grok Build managed agent by @hang666 in #2666
- fix(ssh): trigger macOS Local Network prompt from main process by @netcatty-bot in #2664
- fix(sftp): keep conflict dialog actions on one row by @binaricat in #2669
- fix(snippets): paste into Monaco find widget, not script body by @binaricat in #2668
- chore: update star history charts by @github-actions[bot] in #2672
- fix(sftp): allow downloading append-only growing files by @binaricat in #2670
- fix(sftp): stop skipped conflicts from reopening after restart by @binaricat in #2675
- fix(sftp): show sudo hosts under Connected in host picker by @binaricat in #2674
- fix(windows): Explorer Open-in-Netcatty toggle and launch fix by @binaricat in #2671
- feat: add nested split terminal side panels by @binaricat in #2686
- feat(SnippetsManager): add bulk delete for scripts by @yintian710 in #2690
- fix(settings): stop terminal font size oscillating across windows by @netcatty-bot in #2691
- fix(terminal): keep cursor-row background behind keyword highlights by @binaricat in #2694
- Fix macOS Bitwarden SSH agent forwarding by @binaricat in #2695
- fix: prevent keyword highlights flashing on Enter by @binaricat in #2693
- fix(lint): remove unused eslint-disable in monaco paste test by @binaricat in #2700
- fix(ssh): keep connect automation on fresh connections by @binaricat in #2703
- fix(ci): harden Cursor automation handoffs by @binaricat in #2711
- fix(ssh): Copy Tab reuse survives bastion channelOpen rate limits (#2704) by @binaricat in #2717
- [Bug] Fix host connect script queue selection (#2705) by @binaricat in #2716
- fix(terminal): keep broadcast through command colons by @binaricat in #2715
- feat(terminal): auto-upload clipboard images on paste (remote sessions, opt-in setting) by @yh4922 in #2676
- fix(terminal): deliver right-click mouseup to mouse-tracking apps by @netcatty-bot in #2722
- fix: allow deleting global command history entries by @binaricat in #2706
- fix(ai): stop OpenCode turns dying on terminal tool failures by @binaricat in #2724
- fix(sftp): truncate long names in clipboard upload dialog by @netcatty-bot in #2735
- feat(tabs): add edit host to session tab and quick switcher menus by @netcatty-bot in #2729
- fix(sftp): keep external-edit temps across terminal tab switches by @netcatty-bot in #2730
- fix(terminal): show server name in host info bar by @netcatty-bot in #2732
- fix(appearance): stop custom accent jitter during color picker drag by @netcatty-bot in #2744
- feat(plugins): add sync providers and encrypted sidecar sync by @binaricat in #2713
- fix(vault): allow CSV import of same-endpoint hosts in different groups by @netcatty-bot in #2739
- fix(ci): stop green Codex fixes failing baseline name matching by @binaricat in #2747
- feat(ai): add in-chat jump list for long sessions by @netcatty-bot in #2733
- fix(sftp): pipelined sudo download READ fanout on shared channel by @netcatty-bot in #2720
- fix(terminal): forward Cmd+C to Kitty when there is no xterm selection (#2728) by @binaricat in #2749
- fix(plugins): address residual Codex sync secret and backup gaps by @binaricat in #2748
- fix(ci): stop reopen from replaying issue triage by @binaricat in #2751
- fix(ci): let maintainer @bot reclassify auto-closed issues by @binaricat in #2753
- fix(ci): dedupe same-head @codex review requests by @binaricat in #2754
- fix(plugins): backfill sync provider bindings after schema upgrade by @binaricat in #2752
- fix(sftp): keep filter input IME-safe during CJK composition by @netcatty-bot in #2746
- fix(ai): improve approval command readability and cancel idle timeout on review by @netcatty-bot in #2734
- feat(settings): one-click clear all session logs by @ice616 in #2738
- fix(sftp): serialize write OPENs and harden late/supersede cleanup by @binaricat in #2750
- fix(windows): stop shipping broken arm64 installers from x64 CI by @binaricat in #2763
- fix(sftp): remove serial createReadStream bulk download path by @binaricat in #2761
- fix(sync): rehydrate follow-app theme and guard groupConfig wipes by @binaricat in #2764
- feat(system): add GPU/NPU utilization monitoring to System panel (#2561) by @binaricat in #2768
- fix(windows): restore frameless rounded corners and tray corner transparency (#2505) by @binaricat in #2767
- fix(credentials): prevent double-encrypt poison after decrypt failure (#2702) by @binaricat in #2770
- fix(terminal): forward Ctrl+V for local clipboard image paste by @netcatty-bot in #2760
- fix(terminal): keep newest scrollback after hibernate wake by @binaricat in #2765
- fix(ssh): harden macOS Local Network TCC trigger (#2673) by @binaricat in #2766
- fix(ssh): forward resolved Local Network first hop on direct starts by @binaricat in #2775
- feat(terminal): add disconnect/reconnect on workspace split status bar (#2769) by @binaricat in #2771
- fix(sftp): make fastPut pending OPEN gate wait cancelable by @binaricat in #2759
- fix(sftp): parallel directory discovery, folder pre-scan, and skip-unchanged (#2712 / #2556) by @binaricat in #2772
- fix: remove lint warnings by @binaricat in #2779
- fix: optimize growing-download verification by @binaricat in #2780
- fix(sftp): instant folder-drop scan UI and drop full-tree pre-scan by @binaricat in #2782
New Contributors
- @hang666 made their first contribution in #2666
- @github-actions[bot] made their first contribution in #2672
- @yh4922 made their first contribution in #2676
Full Changelog: v1.1.75...v1.1.76