Release v0.2.1: support remote input, safe updates and high-DPI windows

This commit is contained in:
2026-10-28 11:02:15 +02:00
parent cf18a0a3c5
commit 1093bb5b2e
19 changed files with 994 additions and 112 deletions
+22 -17
View File
@@ -1,34 +1,39 @@
# Latest Windows release
## v0.2.0 — 2026-10-28
## v0.2.1 — 2026-10-28
- Log failed conversions and suspicious repeated hotkeys with recent attempt context.
- Include bounded text and layout diagnostics to help reproduce conversion failures.
- Add the **Write log** setting and preserve the previous log during rotation.
- View current and previous logs inside the app with Time, Attempt, Event, and Details columns.
- Copy selected rows and clear the selected log from the viewer.
- Fix the log viewer closing on focus; give column headers a distinct background.
- Accept keyboard and mouse input forwarded by Microsoft Mouse Without Borders, including hotkey
releases, repeated presses, recent-word conversion and snippets. Mark KSwitcher's own generated
input to prevent recursive commands and preserve text-operation validation.
- Add **Update** to the tray menu and a non-installing startup check against this repository's
Releases. Verify the x64 ZIP, SHA-256, executable identity and version before closing; restart
automatically and roll back on replacement/startup failure. Keep settings, history and existing dictionaries.
- Fix initial window sizing on high-DPI monitors. Size the frame and controls from the same monitor
DPI, recover windows after display changes, and provide resizing, scrolling and focus visibility
when the available work area is smaller than the contents.
Repeated hotkeys are diagnostic clues, not proof of failure. Successful paste dispatch does not
verify that the target editor applied the replacement. Text diagnostics are enabled by default
and can be disabled with **Write log**.
Verified: 168 native checks, 51 input/layout checks (including hidden Settings at 240 DPI),
24 offline updater checks, live release download/checksum/package validation, and visible Settings
at 250% scaling. Two-laptop Mouse Without Borders use and physically disconnecting a monitor still
require hardware verification.
Download **KSwitcher-win-x64.zip**, extract the entire archive to a writable folder,
and launch `KSwitcher.exe`. Keep `dictionaries/` next to the executable.
The archive contains the application, offline dictionaries, documentation and license notices.
It does not contain personal settings or clipboard history.
`SHA256SUMS.txt` contains the archive checksum.
For upgrades, exit KSwitcher first. Back up any edited dictionaries before replacing files.
Keep your existing `data/` directory to retain settings and clipboard history.
`SHA256SUMS.txt` contains the checksum of the archive.
From version 0.2.1 onward, use **Update** in the tray for future releases. Startup checks notify;
installation starts only after confirming Update. Older versions need this one manual upgrade:
exit KSwitcher and replace the application files, retaining `data/` and any customized dictionaries.
This folder holds only the latest compiled version; older versions remain in Git history.
To refresh it from source:
This folder holds the latest compiled version; older versions remain in Git history and Releases.
To refresh the tracked package from source:
```powershell
.\build.ps1 -Stage -Test
.\package.ps1 -PublishRelease
```
Commit the updated ZIP and checksum together with the corresponding source changes.
Commit the ZIP and checksum together with their source changes. Publish both files as assets of
one stable release tagged with the executable version, so the updater can verify it.