Releases: jarmen423/cliamp
Releases · jarmen423/cliamp
Release list
v3.0.0
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 visu...
v2.3.0
What's Changed
- ci(release): build darwin-amd64 codec libs from source, drop Rosetta Homebrew (#7) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
aaf6b1b) - Merge upstream/main into fork main ahead of v2.3.0 release by jarmen423 (@jarmen423) (
22ed04e) - ci: manual Windows QA build with exe artifact, no release by jarmen423 (@jarmen423) (
fa96bea) - feat(lua): expose track.is_live for streams with no track boundary (bjarneo#535) by Gjermund Garaba (@gjermundgaraba) (
f85829d) - fix(player): read yt-dlp PCM from a pipe cliamp owns (bjarneo#561) by Gjermund Garaba (@gjermundgaraba) (
276713b) - docs(spotify): Windows single-exe parity — DPAPI creds, ephemeral-port sign-in (#6) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
f1b1b63) - feat(spotify): ephemeral-port OAuth callback + DPAPI creds on Windows (#3) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
df8a96f) - build(windows): single-file static release exe + import-table gate (#2) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
ec7b5eb) - test(player,spotify): lock Windows Spotify audio parity (44100->48000 resample, gapless seam) (#1) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
db923d1) - Remove staticcheck-flagged dead code (#4) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
c090ce7) - fix(spotify): drop unjustified !windows build tags so package compiles on Windows (#5) by devin-ai-integration[bot] (@devin-ai-integration[bot]) (
d4c60b1) - fix(playback): cancel a scheduled reconnect on stop (bjarneo#556) by Gjermund Garaba (@gjermundgaraba) (
e0559a5) - fix(resolve): mark yt-dlp live streams as realtime (bjarneo#534) by Gjermund Garaba (@gjermundgaraba) (
f00408b) - test(ui): bind a plugin-ownable key in the full-screen visualizer test (bjarneo#555) by Gjermund Garaba (@gjermundgaraba) (
41bab63) - Merge branch 'spotify-library-parity' by jarmen423 (@jarmen423) (
25b874b) - fix(ui): pin favorite marker column to avoid layout shift by Taha Sadough (@tahadx) (
06ee7af) - fix(ui): stop showing add/remove favorite notifications in the footer (bjarneo#440) by Taha Sadough (@tahadx) (
903a1ed) - Revert "fix(lua): let plugins bind uppercase keys (bjarneo#525)" (bjarneo#547) by bjarneo (@bjarneo) (
72d786d) - fix(ui): dispatch plugin keys in the full-screen visualizer (bjarneo#545) by Gaurab KC (@gaurabxkc) (
e5baeae) - fix(lua): let plugins bind uppercase keys (bjarneo#525) by Gaurab KC (@gaurabxkc) (
ac2d1bc) - feat(lua): emit queue.end when playback runs out of tracks (bjarneo#533) by Gjermund Garaba (@gjermundgaraba) (
57ae3ba) - feat(spotify): populate album art for Spotify tracks (bjarneo#527) by Gaurab KC (@gaurabxkc) (
8e27e96) - Merge pull request bjarneo#532 from gaurabxkc/docs/community-plugins-autoplay-pomodoro by Gaurab KC (@gaurabxkc) (
da63f89) - fix(lua): route play_pause, stop, and seek through the model (bjarneo#500) by Gjermund Garaba (@gjermundgaraba) (
ed98f8e) - docs: add discord link to readme by Bjarne Oeverli (@bjarneo) (
4dee32c) - feat(site): add discord link to header by Bjarne Oeverli (@bjarneo) (
bee3309) - Merge pull request bjarneo#510 from srgrsj/feat/download-directory by bjarneo (@bjarneo) (
4809680) - fix(config): reject relative download directories by Sergei Zhukov (@srgrsj) (
ce99ae4) - feat(config): make the track save directory configurable by Sergei Zhukov (@srgrsj) (
444105a) - Merge pull request bjarneo#369 from tharinfernando/feat/spotify-lyrics by Bjarne Oeverli (@bjarneo) (
81ec636) - fix(lyrics): gate offset keys on synced lyrics and surface save errors by Bjarne Oeverli (@bjarneo) (
9e8be78) - Merge branch 'main' into fix/pr-369 by Bjarne Oeverli (@bjarneo) (
06513f2) - Merge pull request bjarneo#450 from cesarho/fix/resample-headroom-clipping by Bjarne Oeverli (@bjarneo) (
ddc53a4) - test(player): prove resampler overshoot with a full-scale source by Bjarne Oeverli (@bjarneo) (
5463e95) - Merge branch 'main' into fix/pr-450 by Bjarne Oeverli (@bjarneo) (
3a18256) - Merge pull request bjarneo#439 from wundervrc/feat/spotify-progressive-track-loading by Bjarne Oeverli (@bjarneo) (
d877587) - fix(spotify): retire in-flight track pages on wholesale queue replacement by Bjarne Oeverli (@bjarneo) (
d40d69b) - Merge branch 'main' into fix/pr-439 by Bjarne Oeverli (@bjarneo) (
4fe8948) - Merge pull request bjarneo#477 from oweneldridge/playlist-queue by Bjarne Oeverli (@bjarneo) (
a58017d) - perf(queue): render the inline queue from a bounded window by Bjarne Oeverli (@bjarneo) (
cb6ef44) - Merge branch 'main' into fix/pr-477 by Bjarne Oeverli (@bjarneo) (
bd202da) - Merge pull request bjarneo#476 from oweneldridge/podcast-subscriptions by Bjarne Oeverli (@bjarneo) (
77f80de) - fix(subs): surface empty shows to the status line from the provider list by Bjarne Oeverli (@bjarneo) (
77435a2) - Merge branch 'main' into ...