Skip to content

v0.1.9

Choose a tag to compare

@github-actions github-actions released this 03 Aug 23:31
· 92 commits to main since this release
v0.1.9
fbd2542

[0.1.9] - 2026-08-03

Added

  • Explicit unexpected-mpv-exit state with a user-controlled restart-and-resume action;
    automatic player restart attempts remain exactly zero.
  • A real-host crash-recovery smoke that forcibly terminates mpv, verifies stable queue
    identity, and requires resumed playback to remain within a five-second checkpoint bound.
  • A clean-profile runner for packaged desktop and AppImage smoke tests, including an
    isolated temporary directory that prevents stale extract-and-run state, plus isolated
    Flatpak application HOME/config/data/cache/state paths.
  • A deterministic AppImage smoke path that explicitly extracts into a private directory,
    verifies the reviewed AppRun, embedded version metadata, and launcher containment,
    then executes the packaged smoke instead of trusting runtime extract-and-run caching.
  • Retrying MPRIS identity and playback-status probes so transient D-Bus registration
    races cannot fail an otherwise healthy Flatpak package run.
  • A complete release-graph validator covering immutable version/tag/commit provenance,
    required artifact kinds and filenames, sizes, SHA-256 evidence, checksum closure,
    release notes, symlink rejection, and forbidden secret/ephemeral fields.
  • An Arch PKGBUILD renderer that requires a real HTTPS source archive and calculates
    its checksum instead of accepting SKIP or unresolved placeholders.
  • A detailed GNOME/KDE/i3, accessibility, package, and soak evidence matrix whose
    unverified cells remain explicit blockers for 0.2.0.

Changed

  • The Linux gate now includes forced crash recovery and packaged clean-profile smokes in
    addition to unit, application-image, normal mpv/SQLite, and MPRIS checks.
  • Tagged AppImage and Flatpak jobs run application smokes with isolated user state, and
    publication revalidates the finalized artifact graph against GITHUB_SHA.
  • Player IPC polling reports fixed local health messages and cannot expose provider
    response data through process-exit diagnostics.

Security

  • A crashed player is never restarted automatically; recovery requires an observable
    user action that re-resolves the current stream and uses durable progress.
  • Release publication rejects artifact symlinks, unsafe paths, missing or extra checksum
    entries, mismatched evidence, and secret-bearing evidence keys.
  • Arch package preparation rejects insecure source URLs and floating/skipped checksums.

Testing

  • Added pure exit-state tests, real mpv termination/restart coverage, clean-profile
    environment tests, release-graph mutation tests, Arch renderer tests, and a simulated
    delayed Flatpak playback-status registration regression.

Known limitations

  • Clean-profile workflow wiring is automated, but final AppImage/Flatpak evidence still
    belongs to the immutable tagged release run.
  • GNOME, KDE Plasma, and i3 keyring/MPRIS/suspend cells, the manual accessibility matrix,
    a four-hour soak, the final Arch makepkg --cleanbuild, and protected EU/US provider
    validation remain external blockers for 0.2.0.

Artifact status

The attached APK is an installable debug-signed demo build produced by the pinned Docker toolchain. Production signing remains an external maintainer boundary.

The deterministic demo source is fully exercised in public CI. Protected live pCloud OAuth, fallback direct-login, and regional-account validation require maintainer-provided sandbox credentials and are reported separately rather than simulated.

The exact jaudiotagger source archive used by the metadata adapter is attached under third-party/, checksum-verified, and rebuildable through the tagged Gradle project.

Linux packages

The release includes an x86_64 AppImage and a single-file Flatpak bundle. Both contain the application runtime. Playback still uses the distribution's installed mpv; the Flatpak invokes that host command through flatpak-spawn. Install the Flatpak bundle with flatpak install ./properpcloud-*.flatpak.