## [0.5.3] — Updates moved to its own Settings section
### Fixes
- Update check setting lived under Settings → Connection, which
was the wrong home — it's an app-level toggle, not a
connect-time tunable. Promoted it to a dedicated **Updates**
section under a new **App** group in the side nav.
---
## [0.5.2] — UI font size actually resizes, Appearance toggles styled
### Fixes
- **UI font size buttons did nothing.** App.svelte had a
hardcoded `font-size: 14px` on html/body via `:global()` which
beat the `var(--ui-font-size)` declaration that the setter in
appPrefs flips on :root. Switched to
`font-size: var(--ui-font-size, 13px)` so changes flow through.
- **UI font size editor**: bare `<input type="number">` replaced
with `−` / `+` / Reset buttons. The input + onblur path was
unreliable (stale parseInt could push NaN past the clamp and
the apply() call silently dropped). Hardened setBaseFontSize
to reject non-finite values, round, and re-apply even on
no-op so reload edges still push the CSS var.
- **Appearance toggles** (color tag as row background, emphasise
active session row, tab uptime timer) were bare checkbox
labels — looked nothing like the bordered card checkboxes
used for tray / external terminal / update check elsewhere
in Settings. Converted to the same `.check-cards` fieldset
so checked state shows the blue border + tinted background.
---
## [0.5.1] — update check, type-to-search, PS/cmd console fix
### New
- **Auto update check.** The app polls
`https://sshtool.app/api/latest` 5 s after launch and then
every 6 hours. A green "↑ vX.Y.Z available" pill appears in
the status bar when a newer release is out; click opens the
changelog. Default on, opt-out under Settings → Connection →
Updates. With the toggle off no HTTP request leaves the app.
- **Type-to-search in the tree.** With the connections tree
focused, hit any printable character and focus jumps to the
search input, with the keystroke preserved (no first-char
loss). Modifier-prefixed shortcuts (Ctrl+C copy, Cmd+A, etc.)
are skipped so existing keybindings keep working.
- **Search row promoted to the top** of the sidebar, above
Quick access and Tag filter. It's the most-used entry point.
- **Escape clears the filter** from anywhere in the tree — not
just while focus is in the search input. Useful after
ArrowDown / Enter moves focus into a row.
- **`scripts/publish-release.sh`** ships a binary to the
release server: pulls version from `git describe
--exact-match`, computes sha256 locally, extracts the
matching CHANGELOG hunk, posts a multipart form with the
bearer token from `$RELEASE_TOKEN` or
`~/.config/ssh-tool/release-token`.
### Fixes
- **PowerShell / cmd external terminal launches no longer flash
and disappear.** A GUI-subsystem process spawning shells
directly leaves the child with no console host. Wrapped both
the Native terminal button and the Open in external terminal
connection action in `cmd /c start "" <shell>` so Windows
allocates a new console and detaches the child cleanly.
Windows Terminal was unaffected (ships its own conhost).
---