## Clash-Projects/LastWave-Native — 4.1.1…4.2.0

_108 commits._

### Features
- **feat(ui): add Play next to mini tray (#146)** (116771b)
- **feat(ui): add Play next to mini tray (#145)** (8920bcb)
- **feat(usb): same-family rate fallback for DACs lacking the source rate (#144)** (939805b)
- **feat(ui): glass headers, floating track sheet, permanent drag reorder** (fc6840f)
- **feat(yt): support YouTube brand channels via PageId routing (#142)** (03ea463)
- **feat(ui): restore liquid glass navigation dock, dynamic color, and discord support** (d3d226f)
- **feat(ux): long-press track mini tray, karaoke wrap fix, rounded nav bar, player icon alignment** (4bc1c24)
- **feat(theme): port SimpMusic liquid glass recipe for nav, icons and player (#138)** (72b3711)
- **feat(theme): rebuild liquid glass with Kyant0 Backdrop 2.0.1 and strip trueglass** (5dcd75b)
- **feat(diagnostics): add comprehensive logs for lossless resolution, track freeze, and quality pill** (86223dc)
- **feat(playback): exclusive usbdevfs output on Media3 1.2.1 (#129)** (f0bc1bc)
- **feat(audio): USB-exclusive DAC, loudness, clarity presets, true-Dolby guards, CI tests** (95ff791)
- **feat(lossless): JSON-only LWP2 addon, native secrets vault, single provider.json source** (4ddb339)
- **feat(audio): Dolby Atmos quality badge and Atmos downloads** (cbe20e5)
- **feat(theme): migrate liquid glass from Kyant backdrop to Liquify** (fc7b8b5)
- **feat: add rich song metadata (genre, release date, label, track info, wiki) + fix lyrics overflow + download enhancements** (ff7aaec)
- **UI Overhaul: Add long press context menus, expressive icons, containers, Settings toggles and theme borders** (13676a0)
- **feat(playlist): add download all songs button, skip already-downloaded (#114)** (a611b45)
- **feat: one-tap save album to library (#108)** (2e51b49)
- **feat(security): resolve Play Protect flags & redesign README as YT Music client** (0659fd6)
- **feat(audio): improve USB bit-perfect output and native processing pipeline** (23ff9a6)
- **feat(import): add Spotify & Apple Music public playlist import** (9309e74)
- **feat(feed): redesign QuickTilesGrid with equal-width scrollable cards and per-type gradient icons** (177050c)
- **feat(theme): add light mode, dynamic coloring, and expressive motion** (4c892be)
- **feat(plugin): integrate provider modules, actions workflow env, and changelog updates** (0eadfd2)
- **Add local listening-stats tracking and LocalTasteSuggestionEngine for offline-first recommendations** (3139d59)
- **feat: transition to YouTube Music & Guest onboarding, local stats, and optional Last.fm** (1fa819f)

### Fixes
- **fix(playback): keep exclusive USB alive across a forward seek (#143)** (ddf2b65)
- **fix(ui): feed card long-press tray, edge-to-edge karaoke lyrics** (38f416f)
- **fix(playback): bound YouTube resolve so slow tracks fail fast** (ca99195)
- **fix(ui): restore selected-tab pill wrap in nav dock** (47c438f)
- **fix(ui): keep Signal Path dialog opaque under liquid glass** (58aba06)
- **fix(playback): exclusive USB through libusb (#140)** (7fb8a67)
- **fix(ui): restore full nav labels and Apple lyrics edge clearance** (19840db)
- **fix(ui): restore rounded liquid glass nav bar and circular items** (1309078)
- **fix(ui): resolve lyrics sync and movement, remove nav bar rectangular wrapping, and enable dynamic theme** (cd8f8ab)
- **fix(lossless): cascade Dolby Atmos fallback to Hi-Res, Lossless, and 320k for playback and downloads** (1982851)
- **fix(playback): exclusive USB 88.2-family packets and seek (#139)** (91ea674)
- **fix(build): resolve trueglass and youtube budget compile errors** (0c8779e)
- **fix(player): quality pill, slider, Atmos, and exclusive USB pause (#136)** (e1a1e58)
- **fix(playback): exclusive USB drift and 44.1-family clock lock (#134)** (83c9436)
- **fix(player): publish stream quality in ResolvingDataSource and detect decoder codec** (65f7f9e)
- **fix(lossless): stop silent match vetoes and unfair cooldowns** (2342cf4)
- **fix(release): version 4.2.0 identity, verify APK signatures, publish checksums** (3768df6)
- **fix(playback): exclusive USB drift, 44.1-family rates, and plugin volume (#133)** (3a255d6)
- **fix(player): drop dead resolve/publish code, pill never renders AUDIO N kbps** (e680bae)
- **fix(player): honest quality badge, limusic-style fast YouTube resolve, drop QuickJS, trueglass migration** (76a2647)
- **fix(playback): exclusive USB gold without tags, faster next track (#132)** (1297846)
- **fix(player): slider freeze/jump — latch-free drag state, true-duration guards, seek settle, hashed tidal manifests** (6e9d752)
- **fix(lyrics): eliminate jitter with PLL clock, fix scroll crash and line-sync animation** (2b246d0)
- **fix(lyrics): avoid SyncedLine property access, fix O(n^2) activeIndex** (e1bbf28)
- **fix(lyrics): sync timing, smooth animation, and line-sync end times** (f8cbbba)
- **fix(playback): restore lossless badge display - remove isConfigured gate from playback path** (d625587)
- **perf(playback): desktop-style architecture - InnerTubeX primary, peek cache, neighbor prefetch** (2f02c6f)
- **perf(playback): eliminate 34s delay by restoring unthrottled NewPipe primary resolution and fixing probe headers** (f17c05f)
- **fix(playback): eliminate 40s stall with 4s timeout, native URL XOR obfuscation, and DEX secret scrub** (793cdea)
- **fix(native): resolve MODULE_FRAGMENT_COUNT redefinition breaking CI CMake build** (aa5cd25)
- **fix: restore 6s module timeout and ensure immediate shift to YouTube on module rejection or failure** (f29dbca)
- **perf: eliminate blocking stream probes, accelerate playback buffering & instant module fallback to YouTube** (fab9b71)
- **fix: sanitize artist metadata against play counts, fix lyrics theming & overflow, refine audio quality & downloads** (1b7ab7f)
- **Fix application crash on opening Settings tab** (45184af)
- **Fix compile errors: add SmartDisplay import and missing avatarUrl parameter** (b7a8fbd)
- **UI tweaks: feed containers, home stats bug fix, settings icon update, pills border adjustment** (94111d3)
- **fix(player): add missing peekUpcomingIndices used by queue UI** (8728899)
- **fix(player): quality pill shows resolution, never raw kbps for lossless** (47e7774)
- **fix(theme): hoist @Composable liquify calls out of runCatching** (8f8971d)
- **fix(module): await QuickJS promises instead of reading the Promise object** (73ffc02)
- **fix(media): Vivo/Chinese-OEM lockscreen and media-panel controls** (5029e70)
- **fix(theme): make fallbackTintOnly a Modifier extension so drawWithCache resolves** (97aa04b)
- **fix(player): provider modules resolve and instant YouTube fallback** (1ecbce5)
- **Fix syntax errors in FeedScreen and PlayerHost** (f877b47)
- **Fix compilation errors: add missing imports and correct SwipeToDismissBox parenthesis** (caab73a)
- **fix: synchronize New Releases with Home feed & add Never-Heard mix generator (#112)** (64c167e)
- **Fix compilation errors in HomeScreen** (34f72a4)
- **Fix exhaustive when error by reverting enum values** (a9c3af4)
- **fix: additional UI refinements for feed, settings, and themes** (63d16a2)
- **fix: address user feedback for UI elements and friend profile stats** (d01825c)
- **fix: widget stuck on previous song after track change (#107)** (0940dde)
- **fix: Cyrillic / non-Latin search returns no results (#106)** (2d28dff)
- **fix: logged-out playlists stuck on retry after partial load (#105)** (c211032)
- **fix: resolve Kotlin compilation errors in HomeScreen and ConnectedButtonGroup** (8361961)
- **fix: address user feedback for stats list, home UI, theme selector, and battery toggle** (71290fb)
- **fix compilation errors after ui updates** (2a0cdde)
- **fix: build workflow to not run when changes made to .md files (#90)** (54b7002)
- **Merge pull request #89 from jaival-11/patch-2** (f0c5c79)
- **fix: Gitgem badge in footer** (5ddc55a)
- **fix(modules): fix QuickJS global bridging, invocation target, and add resolver logging** (2367c71)
- **fix(playback): enforce fallback hierarchy lossless backend -> module -> youtube** (e42a89e)

### Backend
- **revert(ui): drop glass headers, stronger dialog blur, silent-advance watchdog** (14a7b8f)
- **Merge branch 'main' of https://github.com/Clash-Projects/LastWave-Native** (ad54360)
- **diag(module): log resolvePlayback result head to diagnose fixed 32-char miss** (ef4db8b)
- **Merge branch 'main' of https://github.com/Clash-Projects/LastWave-Native** (4cdf717)
- **UI Overhaul & Fixes: context menus, expressive icons, containers, Settings toggles, and compilation fixes** (34b292e)
- **Remove duplicate imports in HomeScreen** (d118eae)
- **Update FeedScreen UI and HomeScreen UI for Albums and Artists** (93cc47f)
- **Bump version to 4.1.1** (e42775c)
- **Merge feature/ui-updates into main and resolve UI conflicts** (5884ac0)
- **UI Refinements: Update Stats sorting, Grid headers, monetization scheme, cover arts and icons, Theme Selection buttons, and Settings texts.** (2f67e0f)
- **UI Updates for Settings, Home, and Feed (#100)** (3feae9b)
- **UI Updates for Settings, Home, and Feed** (4abbab3)
- **Added lastwave official website (#98)** (1aee3ea)
- **Update CHANGELOG.md** (0f875db)
- **Merge pull request #81 from Rabkaps/feat/material3-expressive-light-mode** (82066fd)
- **Merge pull request #80 from clonion/Testing-phase-v2** (7be1f1d)

### Chore
- **chore(release): v4.2.0 — update documentation, workflows, and version references** (40030f0)
- **chore: remove one-off root helper scripts (applied code-mod .py/.sh)** (e55fb99)
- **build: disable checkReleaseBuilds in lint; docs: add Discord community link** (271f0cd)
- **chore(funding): add sponsor config and support buttons to README header** (f0db892)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Clash-Projects/LastWave-Native?utm_source=github-action)._