Release v0.4.0: add screen capture and annotation editor

This commit is contained in:
2026-10-28 22:15:59 +02:00
parent e5ff9495e4
commit dc615d0223
89 changed files with 2745 additions and 48 deletions
+18 -19
View File
@@ -1,32 +1,31 @@
# Latest Windows release
## v0.3.0 — 2026-10-28
## v0.4.0 — 2026-10-28
- Move Settings and the snippet editor into the on-demand `KSwitcher.Config.exe` process.
- Repeated launches activate the existing configurator. Closing its last window releases the process and its memory.
- Apply settings immediately through validated IPC with the resident process; reject conflicting saves instead of overwriting newer settings.
- Keep shortcut capture in the resident hook, with no extra global hooks in the configurator.
- Support packaging, validation and rollback of both executables. About now displays the actual application version.
- Capture a rectangular screen region with Win+Shift+S (configurable), with dimmed selection and independent editor windows.
- Annotate screenshots with numbered markers, arrows, straight/freehand lines, highlights, rectangles, circles, ellipses and inline text.
- Edit color, line style, arrowheads, thickness, font and size. Link arrow endpoints to markers and attach captions.
- Captions follow line angle and keep their relative offset until manually rotated. Text rotation supports Shift snapping in 15-degree steps.
- Move objects one pixel with arrow keys; clone with Ctrl+D; undo/redo edits. Numbered markers reuse gaps.
- Compact Lucide toolbar, contextual status bar, pencil cursor and confirmation before discarding an uncopied screenshot. Escape no longer closes the editor.
- Preserve the separate on-demand configurator and configurable capture shortcut.
Verified: 170 native checks, 51 input/layout checks, 28 updater/metadata checks and 21 configurator process checks.
A local before/after measurement after opening and closing Settings reduced resident working set from about 21.0 MiB to 14.7 MiB. Results vary; total memory is higher while the separate configurator is open.
Verified: 173 native checks, 373 input/rendering checks, screenshot editor UI integration checks,
28 updater checks and package validation using the unchanged v0.3.0 updater.
**Upgrade from v0.2.3 or earlier: install this release manually once.** The old updater rejects the additional EXE.
Exit KSwitcher, extract the entire ZIP into the installation folder, and retain `data/` and any customized dictionaries.
Keep `KSwitcher.exe`, `KSwitcher.Config.exe` and `dictionaries/` together. Launch `KSwitcher.exe`.
Subsequent updates support both executables through the tray Update menu.
**Upgrade from v0.3.0:** use Update in the tray menu. Both executables are supported by that updater.
**Upgrade from v0.2.3 or earlier:** install manually once because those updaters reject the additional configurator EXE.
Exit KSwitcher and extract the entire ZIP into its installation folder. Keep personal `data/` and customized dictionaries.
Download **KSwitcher-win-x64.zip**. The archive contains both applications, offline dictionaries,
documentation and license notices. It does not contain personal settings or clipboard history.
`SHA256SUMS.txt` contains the archive checksum.
Download **KSwitcher-win-x64.zip** with **SHA256SUMS.txt**. The package contains both executables,
offline dictionaries, documentation and license notices; no personal settings or clipboard history.
This folder holds the latest compiled version; older versions remain in Git history and Releases.
To refresh the tracked package from source:
Build and package:
```powershell
.\build.ps1 -Stage -Test
.\package.ps1 -PublishRelease
```
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.
Commit the archive, checksum and sources together. Publish both assets on a stable release whose
tag matches the executable version.