Changelog

What changed, release by release

Each release lists what was verified in the build environment and what was not. A section headed “Not verified” is not boilerplate — it is the list of things nobody has watched work yet.

Version
0.9.0
Stage
release candidate
Core tests
201
Built-in presets
8
Single .exe
63.0 MB
0.9.0release candidate

Dynamic crosshair switching, a complete product identity, and a distributable build.

Added

  • Dynamic crosshair switching: assign your own keys to saved crosshairs and swap the running overlay mid-game
  • A passive low-level keyboard observer that never consumes, remaps or replays a key, on its own thread, with auto-repeat suppression and exact modifier matching
  • Optional restriction of switching to one foreground application, by process name
  • Binding validation: duplicate keys, shortcut conflicts, modifier-only keys and deleted crosshairs are refused or flagged rather than silently accepted
  • A complete product identity: one mark, one palette, one type decision, generated from a single geometry definition
  • Application icon at seven frames from 16 to 256 pixels, including a corner-only variant for the small frames where the full artwork would turn to mush
  • Portable self-contained win-x64 distribution and an Inno Setup installer definition

Changed

  • Product renamed from its temporary working name to crshX, user-facing only: executable, assembly, data folder, window title, shortcut and installer
  • Data written by the pre-rename build is adopted on first launch, so presets, profiles and settings survive the rename
  • Settings schema is now version 2; a version 1 file loads unchanged
  • Crosshair centre is snapped to a whole device pixel, so lines stay sharp at 125% and 150% scaling instead of being antialiased into a smear

Fixed

  • A cancelled keyboard-listener start could leave a thread that never pumped messages, which could block shutdown
  • The small icon frames drew a closed square instead of an open targeting frame

Verified here

  • Release build of the whole solution with no warnings
  • 201 automated tests passing, 0 failed
  • A self-contained win-x64 single-file publish producing crshX.exe, and the same build as an unpacked folder, both published with their SHA-256 on the download page

Not verified

  • Everything that needs a Windows desktop: the window itself, the overlay, click-through, hotkeys, display changes and the installer
  • Idle CPU and memory, which have not been measured and therefore are not quoted
  • Code signing: the build is unsigned, so SmartScreen will warn on first run

—Versioning

Crosshair presets and profiles carry a schema version and are migrated forward, so a preset written by any released build keeps loading. Settings files are repaired on load if they have been hand-edited into an invalid state, and the original is kept as a .bak rather than discarded.