Release record

Verified patches

User-visible changes, their cause, and the evidence used before packaging.

0.1.2 · Hardened beta release

Reachable windows after a monitor change

Root cause: a cloned Electron profile retained coordinates for a 1920×1080 external display beginning at x=1800. With only an 1800-point laptop display active, the saved window began at x=2234 and reopened beyond the usable screen.

Fix: the generated shim validates the recognized window-state schema, checks title-bar reachability across active displays, preserves the first original, and centres only an unreachable window. Unknown keys remain intact; malformed, oversized, symbolic-link, and unfamiliar files are skipped.

Hardening: removed a shared mutable date formatter, made process pipe collection and progress reporting Swift 6 safe, fixed the failed-spawn reader lifetime, returned deletion reports across queues without shared captured mutation, moved CLI launch/quit work off the main executor so those commands cannot deadlock themselves, made AppKit service cleanup portable across supported Swift toolchains, and gave window identity one stable owner in the system title bar across macOS versions.

Release evidence: CI runs are grouped by source commit, preventing a delayed event for an older revision from canceling validation of the current one. Source and Pages workflows use the current official Node 24 action majors, including actions/checkout@v7.

Evidence: pure geometry/file regression tests, a shipped-shim process integration test, the complete Swift suite, warnings-as-errors strict-concurrency build, isolated integration run, repeated hosted-SwiftUI regression, signature checks, and DMG inspection.

Manual boundary: the saved-coordinate failure was confirmed from a real profile and reproduced deterministically. Physical drag/disconnect behavior still belongs in the two-display manual checklist because only one display was available during automated validation.

1.2.5 · Mode and rebuild consistency

One effective-mode decision

The interface and builder now use the same compatibility decision, pending inspection fails closed, creation dates survive rebuilds, and remedies name actions the product can actually perform.

The complete historical record is maintained in the private repository's CHANGELOG.md.