What's Changed
- Merge pull request #19 from jarmen423/feat/resume-session by Joshua Friedman (@jarmen423) (
037171a) - Merge pull request #18 from jarmen423/feat/immersive-queue-radio by Joshua Friedman (@jarmen423) (
2bb09d9) - fix(resume): refresh Emby sources and preserve queue pages on quit by jarmen423 (@jarmen423) (
70a20d2) - Merge remote-tracking branch 'origin/feat/immersive-queue-radio' into HEAD by jarmen423 (@jarmen423) (
6e21217) - Merge main into resume-session; preserve image and restore cleanup by jarmen423 (@jarmen423) (
591e3f9) - fix(immersive): retain radio IDs and skip queue headers by jarmen423 (@jarmen423) (
ac693a9) - Merge remote-tracking branch 'origin/main' into HEAD by jarmen423 (@jarmen423) (
b115dba) - Merge pull request #16 from jarmen423/feat/kitty-graphics by Joshua Friedman (@jarmen423) (
1952a48) - Merge pull request #17 from jarmen423/immersive-polish by Joshua Friedman (@jarmen423) (
fb69dd8) - review: fix layer aliasing, keep queue auto-start, show queued tracks at their spot by jarmen423 (@jarmen423) (
0cef0c6) - resume: address review findings on checkpoints and restores by Devin AI (@devin-ai-integration[bot]) (
c298ce3) - merge immersive-polish: keep kitty probe + psmux guard, expect np art slot by Devin AI (@devin-ai-integration[bot]) (
8ab2759) - resume: keep the saved queue when the context fails; ignore unknown views by Devin AI (@devin-ai-integration[bot]) (
3c73753) - review fixes: album radio plumbing, queue dedupe, sixel layer by Devin AI (@devin-ai-integration[bot]) (
b4c8ecd) - resume: pick up the last session for every provider by jarmen423 (@jarmen423) (
7a778e3) - immersive: queue page, and artist / album / playlist radio by jarmen423 (@jarmen423) (
22c4cee) - immersive: double-click to play, placeholder tiles, ranked search with suggestions by jarmen423 (@jarmen423) (
0379c83) - Immersive: kitty graphics backend (Unicode placeholders) by jarmen423 (@jarmen423) (
6d11fcd) - Immersive mode (prototype) into main (#15) by Joshua Friedman (@jarmen423) (
943c028) - Merge pull request #14 from jarmen423/sync/upstream-2026-09-29 by Joshua Friedman (@jarmen423) (
b2783f8) - Merge upstream/main into fork main by jarmen423 (@jarmen423) (
009e390) - Merge pull request bjarneo#583 from bjarneo/feat/ux-feedback by bjarneo (@bjarneo) (
7af51ff) - Merge pull request bjarneo#582 from bjarneo/fix/spotify-bugs by bjarneo (@bjarneo) (
8938fb4) - fix(spotify): drop stale playlist permissions and keep late seeks by Bjarne Oeverli (@bjarneo) (
c2f52df) - refactor(ui): drop a redundant empty-key check in keyPressFor by Bjarne Oeverli (@bjarneo) (
5d5fa81) - feat(ui): give each empty state a next step by Bjarne Oeverli (@bjarneo) (
214b5b5) - feat(ui): animate the spinner for every search and load by Bjarne Oeverli (@bjarneo) (
f206aac) - feat(ui): label search and filter modes with their exit key by Bjarne Oeverli (@bjarneo) (
3afb0e0) - feat(ui): run commands from the Ctrl+K keymap by Bjarne Oeverli (@bjarneo) (
d362670) - feat(ui): list tracks in shuffle order while shuffle is on (bjarneo#506) by Bjarne Oeverli (@bjarneo) (
746ef11) - refactor(main): simplify provider registration logging by Bjarne Oeverli (@bjarneo) (
16ed47f) - docs: fix keybindings, vis_rows default, and Jellyfin scrobbling claim by Bjarne Oeverli (@bjarneo) (
eed016e) - feat(main): log provider registration and fix YouTube Music gate by Bjarne Oeverli (@bjarneo) (
9739bdb) - fix(spotify): stop UI freezes, sign-in dead-ends and silent errors by Bjarne Oeverli (@bjarneo) (
095a56e) - docs: list the save-song community plugin (bjarneo#558) by Ionuț Dorobanțu (@dorobica) (
4cef3a2) - fix(player): drop a preload still loading when playback stops (bjarneo#575) by Gjermund Garaba (@gjermundgaraba) (
1fc8bee) - fix(ui): stop retrying a gapless preload that failed (bjarneo#574) by Gjermund Garaba (@gjermundgaraba) (
81c5da5) - fix(ui): drop a stale gapless preload whenever the next track changes (bjarneo#569) by Gjermund Garaba (@gjermundgaraba) (
42792e3) - Update asset links in README.md by bjarneo (@bjarneo) (
ff794ba) - ci(release): build the Intel macOS codec libs from source by Bjarne Oeverli (@bjarneo) (
d0501a3) - feat(radio): open on the cliamp radio channels as playlists by Bjarne Oeverli (@bjarneo) (
30ffcaa) - fix(spotify): stop crashing on tracks without normalisation params (bjarneo#522) by Lukasz Jagiello (@ljagiello) (
eb59f54) - feat(lua): let queue.add take a track table queued as given (bjarneo#566) by Gjermund Garaba (@gjermundgaraba) (
b4689cf) - spotify: add Spotify Connect receiver mode (#10) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
3ddfb6c) - fix(ui): mouse seeking in fullscreen visualizer (#11) by Joshua Friedman (@jarmen423) (
ea55a79) - Merge branch 'bjarneo:main' into main by Joshua Friedman (@jarmen423) (
e4b23e6) - feat(ui): mouse timeline seeking + right-click track context menu (#8) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
4fef319) - feat(lua): emit playback.stop when the user stops playback (bjarneo#536) by Gjermund Garaba (@gjermundgaraba) (
2342c0d) - fix(ui): omit repeated show names from podcast episode rows (bjarneo#564) by David Siegel (@dvdsgl) (
d0c4e32)
Checksums (SHA256)
db3313657ea80e59349d12e5aa3d899badf68db39e900854568fa85fd49b5df3 cliamp-darwin-amd64
f66481b186a40e7b57158550e672c389d8d1f6daaaff4d0ce55e70b1f0b2868d cliamp-darwin-arm64
9e3f590715f3e9f743db609e22e775c80c9eea4689f4c3fb363f134367926867 cliamp-linux-amd64
ffe36ad2dc7611527bccc33dc55aa35d344e58219a6e13343b92c77a15ca1e37 cliamp-linux-arm64
59b84a1fda3c697fa7b5dea605bdc5ff1e93f657f8abcc850391cc62766adc18 cliamp-windows-amd64.exe
338afca8d198229a75a06d49612b48769f4718a22095bd5ec799ade65e3bae26 cliamp-windows-amd64.zip
Full Changelog: v2.3.0...v3.0.0