u64deck v1.9.0 Release Candidate 44
v1.9.0 · Release Candidate 44 · fc1e0fb
RC44 is the first public release candidate after RC25. It promotes the hardware-tested RC44 runtime, adds packaging-time build stamping so the Windows executable reports its true build identity, completes the deferred local-Exit hardening, and consolidates the cumulative RC26–RC44 work. Ultimate-control behaviour is the hardware-tested behaviour.
Highlights
- Honest executable identity. The Windows build now carries a packaging-time build stamp, so the frozen
u64deck.exebanner and API report the exact documented build ID. The build workflow refuses to publish unless the frozen executable reports the documented version, release and build. - Local-Exit hardening. The loopback-only
/api/app/exitendpoint now accepts IPv4-mapped IPv6 loopback correctly, ignores spoofed forwarding headers (proxy_headers=False), schedules shutdown exactly once under concurrent requests, and the Exit control is hidden by default until local availability is confirmed. The executable workflow verifies that an unconfirmed Exit request is rejected with HTTP 403. - Cartridge-aware Retro Replay handoff. Mount & Run reads the live firmware Cartridge setting before acting. Retro Replay retains automatic matrix F7 on CIA1-capable devices; on Legacy devices a persistent Screen-Mirror prompt requests the reliable physical C64 F7 instead of an injected key that could open the Freeze Menu.
- Stale manual-operation protection. Legacy screen-mirror keys and manual Reset/Reboot can no longer sit behind a long Mount & Run and execute against a later cartridge state.
- Disk-image naming analysis. A read-only analyser (Settings → Search Index & Cache → Analyse Disk-Image Names) groups multi-disk families using constrained, approved rules — never arbitrary regular expressions, never touching files.
- SID Jukebox refinements. Optional streamed-ending fade with no old-SID return between tracks, a Year filter, clearer Now-Playing presentation, and current-row reveal with ◎ Current.
- System Health dashboard, Assembly64 disk-swap arming, and connection-ready Settings startup (no raw
WinError 10061on Ctrl+F5).
Cumulative changes since RC25
- RC26 — inline Mount & Run reset; stale manual-operation protection (2-second admission deadline, Reset/Reboot coalescing); honest Cartridge-boot-menu documentation.
- RC27 — Settings Ctrl+F5 connection-ready startup; no transient
WinError 10061. - RC28–RC43 — System Health dashboard and telemetry; cold-start drive status; configurable Jukebox end-grace (0.5 s default) and streamed-ending fade; playlist-first queue; SIDFlow candidate-union fix; Year filter and Now-Playing presentation; Assembly64 first-mount disk-swap arming; terminal
-a/-bswap matching; the read-only disk-image naming analyser; and presentation/casing polish. - RC44 — packaging-time build stamp with CI identity assertions; full local-Exit hardening; cumulative documentation, tests and line-ending controls for stable cross-platform build IDs.
Retro Replay / Legacy input (honest limitations)
Hardware testing isolated Retro Replay's intermittent Freeze Menu entry to F7 injected through the Legacy KERNAL keyboard buffer. A physical C64 F7 key is reliable, and the CIA1 matrix-input path is unaffected. Legacy cartridge control remains best-effort on the tested C64 Ultimate + Retro Replay combination: allow approximately 3–5 seconds between Reset/Reboot actions and before starting Mount & Run. Other freezer/fastload cartridges have not been comprehensively tested. This behaviour is not present on the CIA1 matrix-input path, where automatic matrix F7 remains available.
Preserved behaviour
Discovery, dual-interface routing, streaming, SIDFlow 0.8.0 download/import/recommendation, SID playback, Mount & Run gating and the frozen discovery files are unchanged. Both canonical dual-interface best-effort README warnings remain verbatim in their required positions, and the Screenshots gallery is unchanged.
Validation
- 399 tests passed from the source tree and again from a clean extraction of the release ZIP.
- Python compilation and JavaScript syntax checks passed.
- Startup and graceful-Exit smoke tests passed from source and clean extraction with exit code 0 and the correct reported identity.
- Targeted hardening tests pass: IPv4-mapped loopback accepted, spoofed
X-Forwarded-Fordoes not change the loopback decision, concurrent Exit schedules shutdown once, and the Exit control is hidden by default. - The tagged CI run built the Windows executable and verified, on the real frozen binary, that the packaging build stamp and API/banner report
1.9.0 / Release Candidate 44 / fc1e0fb, the embedded icon resources are present, an unconfirmed Exit returns HTTP 403, and the executable exits cleanly. - Canonical
u64deck.icoSHA-2569fb9e41724ba83f15f2f2f1986513cfa49f3b9730895a06a1de2b4e46c90fd5f, six frames, embedded viau64deck.spec; frozen discovery files matchDISCOVERY-FROZEN.sha256.
Attribution
SID recommendations are Powered by SIDFlow, created by Christian (Chris) Gleissner — SIDFlow, sidflow-data 0.8.0. Recommendation work is local; u64deck uploads no listening activity, ratings, favourites or queue contents.