Serverus 1.2.0
The largest release since 1.0: a big architecture cleanup under the hood,
a real end-to-end desktop test suite, and three user-facing additions.
New
- Dark, light and system themes. Follow the OS automatically or pin
either palette. Applies live to the whole app — including terminals,
which get a dedicated 16-color light ANSI palette. The preference is
stored in the vault and travels with it. - Read-only directory comparison. Compare the two file panes by
metadata: see files that exist on one side only or differ in size/mtime,
and filter to differences only. Never modifies anything. - Terminal paste, made deliberate. Multiline pastes now go through a
confirmation dialog showing exactly what will be sent, with an explicit
"Paste and run" action. The check also catches CR-only clipboard content
that previously slipped past confirmation (pastejacking hardening).
Fixed
- A rare panic when cancelling all transfers (or closing a tab) at the
exact moment a recursive download queued a failed-file placeholder. - Pale badges are now visible in the light theme.
- "Clear finished" no longer silently discards transfers that are waiting
on a retry backoff.
Under the hood
- The Rust backend is now a workspace with an effect-free domain core
(serverus-domain,-application,-runtime,-adapters), enforced by
automated architecture checks in CI. - New end-to-end desktop scenario suite driving the real app through real
input on macOS, Linux and Windows. Releases are built only after the
full scenario matrix passes. - Frontend state is migrating to an app-scoped model with injected APIs;
stale results from a previous vault session can no longer leak into the
current one.
Windows and Linux builds remain experimental. macOS is the primary target.