u64deck v1.9.0 — Release Candidate 25
Pre-release
Pre-release
u64deck v1.9.0 Release Candidate 25
v1.9.0 · Release Candidate 25 · bd0bbaf
RC25 is the first public release candidate after RC18. It promotes the exact hardware-tested RC25 runtime: no application functionality differs between the tested build and this package.
Cumulative changes since RC18
RC19 — System Health foundation
- Added the System Health tab with cached Ultimate identity and REST route, session latency, video/audio throughput, packet age and drop counts, u64deck process resources, host resources, coordinator state, index totals and retained diagnostic counts.
- Refreshes every two seconds only while the Health tab is visible and does not create another recurring Ultimate request.
- Added stream byte/last-packet counters, coordinator active-duration reporting and a complete Health snapshot in Diagnostics.
- Explicitly reports that current Ultimate REST firmware does not expose CPU utilisation, FPGA utilisation or temperature rather than inventing values.
RC20 — Expanded readable telemetry
- Added REST reliability totals, success rate, failure streaks, p95 latency, last-success/failure age and client replacement history.
- Added current operation, queue wait averages/p95/maximum, priority totals, cancellations and bounded operation history.
- Added stream gaps, longest delays, restart/WebSocket lifecycle, browser rendered FPS, Web Audio queue depth, underruns and reconnects.
- Added active task phases, index rate/ETA, cache hit rates, config-save history, route history and shutdown timing.
- Added a restrained HEALTHY / DEGRADED / ATTENTION summary, grouped cards, compact badges and collapsed detail panels without adding a telemetry database or extra Ultimate polling.
RC21 — Current-state health and UI corrections
- Health status is based on current or recent unresolved conditions rather than cumulative session history.
- Recovered startup/network errors and old packet gaps remain inspectable but no longer leave the panel permanently amber.
- Added Recent warnings and errors with age and recovered/unresolved state.
- Removed the redundant manual Refresh button because the visible Health panel auto-updates every two seconds.
- Corrected duplicated/wide badges, consolidated stream state and made history outcome markers compact and centred.
RC22 — Cold-start drive status
- Orders startup so
/api/infosucceeds before the first automatic mounted-drive request. - Drive A and Drive B populate without opening Storage.
- Shows a neutral waiting state during startup or backend handover rather than a connection-refused drive fault.
- Retries three transient drive-status lifecycle/connection failures without polluting Diagnostics; a persistent fourth failure becomes a genuine visible fault and can degrade Health.
RC23 — Configurable SID Jukebox end grace
- Replaced the fixed matched-Songlengths one-second auto-advance allowance with
sid_jukebox_end_grace_secs. - Kept the original Songlengths duration unchanged in the compact
.sslattachment and Ultimate native display; only u64deck's own next-track deadline uses the grace. - Added duration source, base length, grace and final deadline to Diagnostics.
- Unknown-duration tunes retain their established
sid_default_secsplus one-second fallback behaviour.
RC24 — 0.5-second default and playlist-first UI
- Set the packaged matched-Songlengths Jukebox grace to 0.5 seconds after listening tests found this produced natural transitions on the tested Ultimate 64.
- Kept the value configurable and bounded to 0–30 seconds.
- Kept the Play Queue and saved-play-queue controls visible with no active tunes, with a clear No tunes queued state.
- A saved play queue can now be selected and loaded before playback from every empty-queue entry state: fresh/direct Jukebox entry, after Clear Queue, and before Search, folder-browser or local-upload selection. The shared empty-state renderer also remains available while Storage, Favourites or Recent Items entry is waiting to populate.
- Save and Clear Queue require active queue items; Delete requires a selected saved queue; Load remains available immediately.
RC25 — SIDFlow 0.8.0 / HVSC 85 integration
- Pins the supported data contract to immutable
sidflow-datarelease 0.8.0, rather than following a mutable latest release. - Downloads
sidcorr-hvsc-full-sidcorr-1.sqlite.gzfrom the official SIDFlow data release: 194,351,886 bytes (about 194 MB), expanding temporarily to the 982,155,264-byte full SQLite export. - Verifies release metadata,
SHA256SUMS, the compressed and uncompressed pinned digests, schemasidcorr-1, HVSC 85 identity, weighted-cosine model, all 58 vector weights, track count and populated neighbour graph. - Streams download and gzip decompression, checks for roughly 1.8 GiB free space and reports separate metadata, download, verification, decompression, import and promotion stages.
- Builds and atomically promotes a compact local database only after validation. The real hardware-tested run produced 269,389,824 bytes (about 257 MiB / 269 MB) and completed the full download/import in approximately 48 seconds on the tested Windows PC; slower network or storage will take longer.
- Preserves the existing working database if download, decompression, validation, import or promotion fails.
- Uses SIDFlow's official 58-dimensional weighted-cosine neighbour graph as the primary engine. The imported graph contains 2,196,700 neighbour rows for 87,868 tracks.
- More like this prefers different SID files before sibling subtunes. Radio excludes the current SID file, recently played files and files already queued.
- Keeps u64deck's local 48-dimensional feature scan only as a clearly labelled
u64deck-fallbackwhen filtering exhausts the fixed-depth graph. Queue tooltips and Diagnostics distinguish the source; Diagnostics recordssidflow-neighborsandu64deck-fallbackcounts. - Hardware validation recorded two More like this requests with
sidflow-neighbors=20and no fallback results.
Older data and offline behaviour
- An older installed SIDFlow database is retained but shown as Update required and is not used by More like this or Radio.
- Selecting a recommendation feature offers the pinned 0.8.0 update and opens Settings.
- With no network available, the download error is shown and the old database remains untouched but gated. Normal SID browsing, queueing and playback continue; recommendations remain unavailable until 0.8.0 is installed.
- With no SIDFlow database, recommendation features offer installation and otherwise remain unavailable.
Credit
SIDFlow integration and recommendation data are Powered by SIDFlow, created by Christian (Chris) Gleissner:
Recommendation work remains local; u64deck does not upload listening activity, ratings, favourites or queue contents.
Canonical carries
- In-archive
u64deck.icoSHA-256:9fb9e41724ba83f15f2f2f1986513cfa49f3b9730895a06a1de2b4e46c90fd5f— exactly six frames (16, 32, 48, 64, 128, 256), embedded in the executable viau64deck.spec. - The Windows workflow retains the
RT_ICON/RT_GROUP_ICONPE-resource gate and the Edge-attached graceful-Exit smoke test. - The complete RC17/RC18 Exit lifecycle is unchanged: loopback-only endpoint, confirmation header, idempotency, response-before-shutdown, bounded frozen-build watchdog and dedicated-Edge-only closure.
- Both canonical dual-interface README warning blocks remain verbatim in their required positions.
- The Screenshots section is unchanged: the same 13 images in the same order.
discovery.pyanddiscovery_transport.pymatchDISCOVERY-FROZEN.sha256.
Validation
- 289 tests passed from the source tree and again from the extracted 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.
- Targeted suites cover the SIDFlow 0.8.0 contract (strict manifest/digest validation, disk preflight, neighbour import, primary-graph selection, sibling/Radio filtering, explicit fallback labelling, old-dataset gating and atomic promotion fallback) and the RC17/RC18 Exit, icon and canonical-carry contracts.
- The tagged CI run built the Windows executable, confirmed the embedded icon resources, and passed the Edge-attached graceful-Exit smoke test.
- Archive integrity, path safety and hygiene checks passed: 36 files, no bundled configuration, databases, SIDFlow payloads, caches, bytecode or Git metadata.
- Independent review verified the archive hash, icon byte-identity, README warning blocks, gallery ordering, frozen discovery files, the full cumulative RC19–RC25 source delta, and the SIDFlow download pipeline's pinned-digest verification and atomic promotion.
SHA-256
0eda797abba69234351cdcf9d37df170ceb57bd1e000bc9c67a6c0380ac5f75f