All releases

Aqloss · Changelog

v0.3.0

Saturday, May 30, 2026

History, artists, loved tracks, and a big batch of audio backend fixes and improvements. Also playlist import/export and Last.fm sync.

13 Added7 Fixed1 Changed
View diff on GitHub

Added

Frontend

History screen

Frontend

Artists screen

Frontend

Artist detail

Frontend

Loved tracks

Frontend

Queue panel

Frontend

Global search overlay

Frontend

Play count badge on track tiles

Frontend

Play count on artist detail track rows

Frontend · Playlist

Export playlist to .aqp file

Frontend · Playlist

Import .aqp playlist

Frontend · LastFm

Sync loved tracks to Last.fm

Frontend · Settings

Mobile nav

Frontend · Audio

Device change watchdog

Fixed

Frontend · History

Playing from history now uses history order as queue, not library order

Frontend · History

Duplicate tracks in history no longer require extra skips (explicit atIndex passed to loadWithQueue)

Frontend · Playlist

Rename dialog spacebar no longer triggers play/pause (FocusNode registered with SearchFocusTracker)

Frontend · Settings

Mobile settings screen was stuck on Music Folders with no way to navigate

Backend · Audio

_engineReady = false was set too eagerly on reinit, causing all backend calls (audio, Discord RPC, scrobble) to block or fail during normal playback

Backend · Audio

play() wait loop shortened from 15s to 5s - failures surface quickly instead of silently stalling

Backend · Audio

play() now only calls reinitToDevice when backend.play() actually throws, not as an upfront check

Changed

Frontend · Playlist

selectDevice now goes through AudioService.reinitToDevice so _engineReady is managed in one place