✨ Release Highlights
Netcatty v1.1.69 is a broad foundation-and-reliability release. It introduces the building blocks for first-party plugins, makes Catty sessions more durable, strengthens multi-device sync and live port forwarding, and improves terminal performance alongside several everyday workflow refinements.
🧩 A foundation for Netcatty plugins
Netcatty now includes a plugin contract, SDK, CLI tooling, and a working example plugin. The new foundation covers validated package loading, bounded streaming, cancellation, secret references, and safer runtime boundaries so future plugins can integrate with the app through a consistent, hardened interface.
🤖 More durable Catty sessions
Long-running Catty work is more resilient. Terminal context is preserved more carefully as conversations grow, saved tool outputs survive app restarts, UTF-8 content remains intact across streamed chunks, and idle agent sessions can close automatically without racing against fresh activity.
🔄 Convergent sync and accurate live port forwarding
Multi-device sync now uses a convergent data model with a guarded migration path, including correct handling when cloud settings are applied during the first merge. Port forwarding status also tracks the real backend state across reconnects, retries, multiple windows, tray actions, and replaced tunnels instead of drifting away from what is actually running.
⚡ Smoother terminals and remote sessions
Terminal output arriving in many tiny network chunks is coalesced for smoother rendering, and the WebGL renderer can recover after a graphics-context loss. This release also updates bundled Mosh support to MoshCatty 0.1.8, keeps non-hibernated background tabs active, makes batch tab closing consistent, and improves SFTP secondary-authentication recovery.
🎨 Better fonts, editing, and system visibility
The snippet editor now supports find and replace, while terminal settings can use locally installed CJK fonts with primary and fallback choices. System Manager reports ImmortalWrt metrics more reliably and totals real mounted-disk capacity without double-counting shared or image-backed volumes. Disk capacity values now stay readable with at most two decimal places, and the Netcatty wordmark remains consistent when users change the interface font.
Download based on your OS:
| OS | Download |
|---|---|
| Windows | |
| macOS | |
| Linux |
What's Changed
- Update Nix release metadata for v1.1.68 by @binaricat in #2252
- feat(sync): add convergent CRDT core by @ryan-wong-coder in #2247
- Keep non-hibernated tabs active in the background by @binaricat in #2255
- fix(tabs): close session batches atomically by @binaricat in #2257
- feat(sync): add convergent sync migration by @ryan-wong-coder in #2254
- feat(sync): integrate convergent multi-device sync by @ryan-wong-coder in #2259
- fix(ai): preserve UTF-8 across stream chunks by @binaricat in #2264
- feat(snippets): add find and replace to snippet editor by @binaricat in #2265
- feat(settings): support local CJK fonts by @binaricat in #2267
- refactor(terminal): dedupe password-prompt regex in onTerminalOutput by @nice-ge in #2270
- feat: auto-close idle agent sessions by @binaricat in #2266
- perf(terminal): coalesce network-dribbled output bursts by @binaricat in #2274
- Harden Catty terminal context handling by @binaricat in #2273
- feat(ai): add setting to disable window focus on host_open by @ice616 in #2277
- fix(mosh): require MoshCatty 0.1.8 by @binaricat in #2279
- Fix ImmortalWrt disk and process metrics by @binaricat in #2286
- Persist Catty saved outputs across app restarts by @binaricat in #2281
- fix(sftp): retry keyboard-interactive when password removes KI by @myderr in #2289
- fix(portforward): keep runtime status accurate by @binaricat in #2283
- fix(sync): apply cloud settings on initial merge by @ryan-wong-coder in #2298
- feat(plugins): add plugin contract and SDK by @ryan-wong-coder in #2276
- fix(terminal): recover WebGL renderer after context loss by @binaricat in #2299
- fix(system): aggregate mounted disk capacity by @binaricat in #2302
- fix(ui): keep Netcatty wordmark typography fixed by @binaricat in #2304
- fix(terminal): limit disk capacity precision by @binaricat in #2305
New Contributors
Full Changelog: v1.1.68...v1.1.69