Skip to content

u64deck v1.9.0 — Release Candidate 25

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Jul 10:53

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/info succeeds 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 .ssl attachment 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_secs plus 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-data release 0.8.0, rather than following a mutable latest release.
  • Downloads sidcorr-hvsc-full-sidcorr-1.sqlite.gz from 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, schema sidcorr-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-fallback when filtering exhausts the fixed-depth graph. Queue tooltips and Diagnostics distinguish the source; Diagnostics records sidflow-neighbors and u64deck-fallback counts.
  • Hardware validation recorded two More like this requests with sidflow-neighbors=20 and 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.ico SHA-256: 9fb9e41724ba83f15f2f2f1986513cfa49f3b9730895a06a1de2b4e46c90fd5f — exactly six frames (16, 32, 48, 64, 128, 256), embedded in the executable via u64deck.spec.
  • The Windows workflow retains the RT_ICON / RT_GROUP_ICON PE-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.py and discovery_transport.py match DISCOVERY-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