Skip to content

v1.5.0

Choose a tag to compare

@MichelleFindlay MichelleFindlay released this 25 Sep 21:25
· 24 commits to main since this release
67e9786

New features

  • Spotify / YouTube Music listen links — every track now gets an auto-generated Spotify and YouTube Music link, shown on the current track and on hover over any track row. Works out of the box as plain search links; adding optional API credentials upgrades them to verified direct links to the exact track.
  • Previously-played track tile — a compact card next to the now-playing hero shows the track before whichever one is currently displayed (the last-played track when something's playing, or the 2nd-last when nothing is), with its own art, name, and artist, updated on every poll.
  • "This Week" period option — added alongside All Time / This Year / This Month / Today on the Favourite Tracks, Trending, and Genre Breakdown period pickers, using Last.fm's rolling 7-day window.
  • Widget and stat icons — added small icon glyphs (Lucide, inline SVG, no runtime CDN dependency) to each insight widget card and lifetime stat.

Fixes

  • Hover icons on track rows were unclickable — the play count faded out on hover but kept pointer-events, silently intercepting clicks meant for the Spotify/YouTube icons underneath.
  • Play count wrapping onto its own line — fixed by giving it explicit CSS Grid placement instead of relying on auto-placement.
  • Dark theme not covering the page below the viewport on pages taller than one screen.
  • Theme not resetting to default when a track has no album art — accent color now properly reverts instead of sticking to the last art's color.
  • Duplicate "previously played" track — Last.fm can keep a track marked "now playing" even after it's crossed its own scrobble threshold, so the same track could appear twice in the recent-tracks list. The previous-track lookup now skips past any leading duplicate of the current track.
  • Dead album art URLs — Last.fm's API can list an artwork size that 404s on its own CDN even when smaller sizes of the same image work. Every piece of art (hero tiles, track list thumbnails, server- and AJAX-rendered) now falls back to the existing letter-placeholder UI on a failed image load instead of showing a broken image icon.
  • Footer GitHub link had no visible text, only an icon.

Changes

  • Collapsed the now-playing hero to a single art tile. Testing showed Last.fm's album.getinfo always returns the identical image as the track's own art, so the separate Track/Album tiles were showing duplicate images. Removing the second tile also drops that now-pointless API call entirely.
  • Version tracking moved out of config.php into a plain VERSION file tracked in git, since it describes the codebase itself rather than a per-install setting.
  • Genre Breakdown pre-warmed in cron.php for every period the picker offers — it's the main page's slowest cold-cache path (one artist.gettoptags call per top artist, per period), so background pre-warming now covers it the same way the other insight widgets already were.

Other

  • Added a LICENSE file (GPL-3.0).