Skip to content

v3.2.0-beta

Pre-release
Pre-release

Choose a tag to compare

@waveplate waveplate released this 30 Oct 19:40
· 1 commit to develop since this release

Spotifm 3.2.0-beta

Search and catalogue fallback

  • Automatically fall back to anonymous Spotify web-player search when the Web
    API is rate limited, rejects authorization, or encounters a temporary failure.
  • Support track, album, artist, and playlist search, with playback-session
    metadata fallback for playback, queueing, and playlist operations.
  • Respect Retry-After, cache repeated requests, and identify the search source
    through X-Spotify-Source without changing successful response arrays.
  • Improve cached Web API token validation, refresh handling, and diagnostics.

See anonymous search fallback for behavior and the
standalone diagnostic probe. The anonymous Spotify endpoints are undocumented
and can change independently of Spotifm.

Static player demo

  • Add player/demo.html, a standalone preview player with synced lyrics,
    Milkdrop visuals, and NTSC/VHS effects. No Spotifm server or Spotify login is
    needed to try the demo.
  • Add a song builder for selecting recordings, preview offsets, and lyric
    records, with an exported track manifest and prefetched lyric bundle.
  • Include ten curated previews and their timed lyric bundle for static hosting,
    including GitHub Pages. Preview audio and optional fonts use external services.

See demo setup. Host player/demo.html and
player/demo-lyrics.jsonl together. GitHub Pages deployment is configured
separately.

Lyrics and release packaging

  • Fall back to LRCLIB when Spotify synced lyrics are unavailable, persist
    successful results in the local cache, and display the lyric source.
  • Cancel stale lyric lookups when tracks change so late results cannot replace
    the current song's lyrics.
  • Exclude local lyric caches, credentials, and runtime artifacts from Git and
    Docker build contexts; omit lyric caches and Python artifacts from archives.
  • Include OpenSSL in the runtime images so fresh containers can generate their
    HTTPS certificates.

Install the beta

curl -fsSL https://raw.githubusercontent.com/waveplate/spotifm/v3.2.0-beta/install.sh | bash -s -- --version 3.2.0-beta

The release includes an x86-64 Linux static Musl archive and SHA-256 checksums.

docker pull waveplate/spotifm:3.2.0-beta

Docker tags 3.2.0-beta and beta select this beta. The latest image and the
installer's default latest release continue to select the stable release.
To use the beta with the bundled Compose configuration:

SPOTIFM_IMAGE=waveplate/spotifm:3.2.0-beta docker compose up -d spotifm

Validation: all 45 Rust tests passed; generated player JavaScript and JSON were checked; the demo and song builder passed a Chromium smoke test under a project subdirectory; the anonymous-search probe returned the expected track. The static archive, rootless installer, and fresh Docker OAuth gateway also passed smoke tests.