C

Clementine Music Player

C
Clementine Music Player Creative v1.4.2-8

1.4.2-8-g1f48eb410

Limit wrong auth code guesses on the network remote (#7569) * Limit wrong auth code guesses on the network remote The network remote's auth code is a number below 100000, and a wrong one only ended the connection, so a script could try them all in minutes. That matters wherever the remote can be reached from the internet. Now five wrong codes in a row from an address are free, for someone who mist…

C
Clementine Music Player Creative v1.4.2-6

1.4.2-6-geffd239f5

Put commits' release notes in the dev GitHub releases Each release on master gets the Release-note: trailers of the commits since the previous release as its description, one bullet each. Also tag each release at the commit that was built. Without target_commitish, GitHub tags master as it is when the job runs, so 1.4.2-1-g5b0b4c10d, for one, is on f659b99 instead of 5b0b4c1. The previous release'…

C
Clementine Music Player Creative v1.4.2-5

1.4.2-5-gb743e11f0

Modernise the play and pause badge on the macOS Dock icon While playing or paused, the Dock icon showed the old glossy play triangle or pause bars from the tiny-start and tiny-pause icons, pasted with no background over its top right corner, and the whole icon was drawn at 128 pixels, so it was soft on Retina screens, where the Dock shows icons at up to 256. It's drawn at 256 pixels now, and the s…

C
Clementine Music Player Creative v1.4.2-4

1.4.2-4-gb9a2e9cc1

Trust the certificates macOS trusts for streams on the Mac On macOS, GStreamer checked https streams against a list of root certificates shipped with Clementine: Mozilla's, as of April 2015. That predates Let's Encrypt, whose certificates Plex servers use, so every Plex track failed with "Internal data stream error" - souphttpsrc's "Unacceptable TLS certificate" underneath - while browsing the sam…

C
Clementine Music Player Creative v1.4.2-3

1.4.2-3-g3179c6f4a

Trust the certificates macOS trusts for streams on the Mac On macOS, GStreamer checked https streams against a list of root certificates shipped with Clementine: Mozilla's, as of April 2015. That predates Let's Encrypt, whose certificates Plex servers use, so every Plex track failed with "Internal data stream error" - souphttpsrc's "Unacceptable TLS certificate" underneath - while browsing the sam…

C
Clementine Music Player Creative v1.4.2-2

1.4.2-2-gf659b99f8

Follow the system's light or dark appearance live On "Follow system", ApplyTheme() set Qt's colour scheme to whatever the system was using. Setting it at all fixes it: colorScheme() stopped following the system and colorSchemeChanged stopped firing, so the connection meant to follow the desktop never heard the system switch. On macOS the app stayed as it was at launch until restarted. Following th…

C
Clementine Music Player Creative v1.4.2-1

1.4.2-1-g5b0b4c10d

Say where a Release-note trailer has to go Git only reads trailers in a commit message's last paragraph. A Release-note: followed by a blank line and then Co-Authored-By: is ignored, so the commit makes no macOS update, with nothing to say so. #7563's first version did just that. The README says so now, with an example and a command to check, and a new CLAUDE.md says the same for Claude, which add…

C
Clementine Music Player Creative v1.4.2-1

sparkle/1.4.2-1-g5b0b4c10d: Say where a Release-note trailer has to go

Git only reads trailers in a commit message's last paragraph. A Release-note: followed by a blank line and then Co-Authored-By: is ignored, so the commit makes no macOS update, with nothing to say so. #7563's first version did just that. The README says so now, with an example and a command to check, and a new CLAUDE.md says the same for Claude, which adds Co-Authored-By: to its commits. Co-Author…

C
Clementine Music Player Creative v1.4.1-287

1.4.1-287-g35d5f314d

Keep a build's version when it sits on the tag itself On the commit an annotated tag points at, git describe prints the tag alone. The parsing here wants a tag, a count and a sha, so it found none of them, and every version fell back to the numbers at the top of this file -- 1.4.0 with an rc2 prerelease, years out of date. A dev release built on a freshly tagged commit would have called itself 1.4…

C
Clementine Music Player Creative v1.4.1-282

1.4.1-282-gae9d5d8cd

Require imports at the top of the Python tools' files ruff's PLC0415 now checks apt-repo and remote-cli for imports inside functions, and the four there move to the top. Each was of a package the tool always installs anyway: Google's auth libraries, grpc_tools' protoc, and gzip. Importing protoc up front costs remote-cli about 20 ms more at startup. proto.py still imports its generated module afte…

C
Clementine Music Player Creative v1.4.1-279

1.4.1-279-gf42e65cc7

Tell a remote it's refused for not being on the local network A connection refused by "Only allow connections from the local network" was closed without a reply, so a remote could only retry or say it couldn't connect. Now it's told why, in the protocol it speaks: - A remote gets a DISCONNECT with the new reason Not_Local_Network. - An HTTP request gets 403 Forbidden. - Anything else is still clos…

C
Clementine Music Player Creative v1.4.1-278

1.4.1-278-g1bd209cca

Remove what's left of Spotify Spotify support went years ago; this removes what it left behind: - The About dialog's Spotify attribution. - Its icons, attribution image, public key and SVG, and the blob's version file. - Its playlist icon, URL scheme, settings page entry and config.h defines, the album cover loader's unused Spotify members, and the crossfade workaround for Spotify tracks in GstEng…

C
Clementine Music Player Creative v1.4.1-277

1.4.1-277-g9c7df6f31

Remove what's left of Spotify Spotify support went years ago; this removes what it left behind: - The About dialog's Spotify attribution. - Its icons, attribution image, public key and SVG, and the blob's version file. - Its playlist icon, URL scheme, settings page entry and config.h defines, the album cover loader's unused Spotify members, and the crossfade workaround for Spotify tracks in GstEng…

C
Clementine Music Player Creative v1.4.1-273

1.4.1-273-g0210587d0

Show timed lyrics in time with the song Timed (LRC) lyrics, from LRCLIB, a .lrc file or the tags, now follow the song in the song info pane: the line being sung is in bold in the usual colour, and the rest are dimmed. As the line changes, the pane scrolls to keep a third of it below the line for what's coming, unless the user has scrolled it in the last five seconds. SyncedLyricsView shows the lyr…

C
Clementine Music Player Creative v1.4.1-271

1.4.1-271-g0a67a998f

Show timed lyrics in time with the song Timed (LRC) lyrics, from LRCLIB, a .lrc file or the tags, now follow the song in the song info pane: the line being sung is in bold in the usual colour, and the rest are dimmed. As the line changes, the pane scrolls to keep a third of it below the line for what's coming, unless the user has scrolled it in the last five seconds. SyncedLyricsView shows the lyr…

C
Clementine Music Player Creative v1.4.1-269

1.4.1-269-g86d3b23aa

Get lyrics from local files and LRCLIB instead of scraping Of the 26 lyrics websites Clementine scraped, only azlyrics.com still gave lyrics, and its page says that use is prohibited. The rest gave nothing, starting with lyrics.wikia.com, first in the default order, which closed in 2020. Look for a song's lyrics in its tags, then in a .lrc or .txt file with the same name next to it, then on LRCLIB…

C
Clementine Music Player Creative v1.4.1-259

1.4.1-259-gba07005db

Upload release assets one at a time action-gh-release uploads every file at once. 2.6.2 quit partway through 1.4.1-258's 34 uploads, among a run of Not Found errors from GitHub. 3.0.3 handles those errors (ba07005); preserve_order also takes the concurrent uploads out of the picture, for a little longer to upload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://clau…

C
Clementine Music Player Creative v1.4.1-257

1.4.1-257-gbc97a9395

Put the commits since the tag in the RPM version, not the release COPR's builds were 1.4.1-2.256.gdb9f503df, and Fedora's own clementine is 1.4.1-10, so dnf chose Fedora's: with the same version, the release decides. A caret makes it a snapshot after the tag, 1.4.1^256.gdb9f503df-1, which rpm sorts after any 1.4.1 and before 1.4.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

C
Clementine Music Player Creative v1.4.1-256

1.4.1-256-gdb9f503df

Build each master commit in COPR The Fedora 44 job sends the source RPM it already makes to COPR, which builds it for each Fedora release and architecture the project has, signs the packages and hosts them, so Fedora users get updates from dnf. It's skipped until COPR_PROJECT and COPR_CONFIG are set, and only warns when COPR refuses it, since the release waits on that job. COPR builds from the spe…

C
Clementine Music Player Creative v1.4.1-255

1.4.1-255-g0f7f8a6a8

Publish the apt repository to a bucket of its own At the bucket's root, so its custom domain is the repository's address, with a token that can only read and write that bucket. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

C
Clementine Music Player Creative v1.4.1-252

1.4.1-252-gca58aae07

Leave the screenshots out of the GitHub release The release job downloaded every artifact of the run and uploaded all of them, and since the screenshots job was added that includes each platform's screenshots. They have the same names on every platform, so uploading them clashed and the release was left as a draft. It now downloads only the release_* artifacts. Co-Authored-By: Claude Opus 5.5 <nor…