Repository navigation
NowPlaying v0.2.1 brings the current card designs, browser Settings and playback reliability fixes to the stable 0.2 release line.
Highlights
- Artwork cards: Studio, Editorial and Hi-Fi join Classic, Paper and Compact. Choose a style, preview it and adjust its layout in Settings. Hosted cards can include a small sanitized cover or poster when Include cover art is enabled.
- One place to configure the app: browser Settings brings together server discovery and sign-in, connected Spotify and hosted accounts, card appearance, Discord, privacy, sharing, startup and logs. Reconnecting an existing server keeps its settings.
- More consistent playback selection: multiple media servers, Spotify and paired YouTube playback keep their original activity priority when a newer source stops. YouTube progress advances between extension updates. Spotify remains a card source only; it does not publish to Discord.
- Hosted cards and badges: use GitHub sign-in for one card across up to ten PCs, or keep a separate card per PC. Live and last-played badges can show music, films or episodes. Concurrent uploads preserve the newer last-played record, and a PC signed out remotely can sign back in.
- Reliability fixes: settings changes apply in order, shutdown waits for pending settings changes, and interrupted sign-ins and failed network responses receive more consistent cleanup and recovery.
Migration
- Quit the running app, verify the new download, then run the v0.2.1 Windows installer over your existing installation. Portable users should replace the application files together and keep the existing settings directory.
- Saved settings and media-server sign-ins are retained. Older configuration formats migrate on startup, with a
config.json.backup-<time>copy made before a format change. - Older hosted device keys that do not record their issuing service URL require a new hosted sign-in. Hosted keys are now used only with the service that issued them. Check Settings > Sharing if your card needs to reconnect.
- Hosted cover sharing stays off until you enable Include cover art. If you run your own card service, deploy the updated service before enabling this option in the desktop app.
Breaking changes
A current v0.2.0 configuration does not need to be reset. The hosted credential check above may require signing in again. Switching from a development build to this stable release is a manual installation; do not expect the development channel to switch itself.
Privacy and security
- Hosted live state expires after ten minutes without an update. The service also keeps one last-played item per media type for up to seven days. Its title and subtitle remain public through last-played badges after playback stops or privacy settings change. Sign out everywhere clears these records for a GitHub account; revoking a separate per-PC card clears that card's records. Hosted fields, retention and deletion.
- Hosted cover sharing is optional. Discord cover uploads are a separate setting: new setups enable Show my server's cover, which sends sanitized image pixels to temporary image hosts; existing installations keep their saved choice. Artwork sharing details.
- The minimum Sharp version is now 0.35.5, addressing the upstream librsvg vulnerability described in GHSA-wq5f-xc86-pv6w. The advisory describes possible code execution on glibc-based Linux under specific runtime conditions.
Compatibility and downloads
- Stable desktop build: Windows x64. Choose
nowplaying-v0.2.1-windows-x64-setup.exeornowplaying-v0.2.1-windows-x64.zip. - The source and Node.js library remain available for Node.js 22 or newer. The release also includes the
nowplaying-v0.2.1.tar.gzlibrary bundle and an SPDX software bill of materials. - Linux desktop packages and macOS desktop builds remain experimental development builds on the separate
devprerelease. They are not promoted to stable by this release. - Downloads are unsigned. Check each asset against
SHA256SUMSbefore running it. Public release binaries also support provenance verification withgh attestation verify <file> --repo rowkavdev/nowplaying.