Releases: mariusor/mpris-scrobbler
Christmas can come twice a year
Modifying the validation for the scrobble API calls to match the one for
now_playing. Now ListenBrainz has a separate validation which doesn't
take into account the album name, which can be omitted from the request.
Additionally we fixed an issue where submissions to last.fm failed for
some users because our request signature was bein truncated.
Thanks again to the users that brought these issues to my attention:
@MaxEtMoritz and @ChandlerSwift
Full Changelog: v0.5.4...v0.5.5
No album no cry
This release includes a minor change in order to successfully send a
now_playing submission to ListenBrainz when the album name is missing.
Previously this was failing due to sending the empty release_name value,
but due to the persistence of @MaxEtMoritz, @DhruvaSambrani and @MinmoTech
we got this fixed, finally.
Thank you all.
Fedora mon amour
This release includes a very small change for our oversealous setting of warnings to catch various distributions build issues.
Namely -Wfcf-protection=full
only works on amd64 and x86 processors.
Many thanx to github user @gbcox for maintaining the Fedora user build for mpris-scrobbler which catches some of these issues.
As if millions of warnigns ... were suddenly silenced
We removed a lot of the warnings raised by -Wpedantic
and -Wextra
.
The meson.build file now explicitly disables which warnings could not be avoided and has a little explanation about why.
We added an untested queue persistence mechanism at the exit of the scrobbler which will be paired with loading it and sending it at start time in the near future.
Just a little more robustness
Added support for loading metadata from players that don't implement the MPRIS spec correctly by not wrapping exposed metadata in DBusVariants and instead they are exposing them directly as basic values.
The players that will have a better experience now are KDE's Elisa, and Clementine's successor, Strawberry.
It's finally happening
Fixes:
- Fixing the longstanding bug of crashes due to improper libcurl usage.
- Added libcurl debugging messages when running with increased log verbosity.
- Also libevent debugging messages are better integrated into our log structure.
- Fixed an issue with parsing the config file until the first encountered # character. Now
#
are treated as comment signs, while before we were only accepting;
(because the semicolon is the defaultini
comment marker).
Improvements:
- Adding a retry mechanism for each API request that fails. It uses a back-off strategy with increasing delays.
- Very verbose logging has become even more verbose with LINE, FILE, and function annotations.
- libevent and libcurl debug messages can be enabled/disabled separately at build time using
-Dlibeventdebug=true
,-Dlibcurldebug=true
. - Similarly added a flag for hiding the log messages generated when loading DBUS values:
-Dlibdbusdebug=true
.
Known issues
- Currently using the spotifyd/spotpris2 combo can result in a freeze with high CPU usage in some cases (as far as I could tell, it's related to spotpris2 crashing or spotifyd being restarted). I have no clear way to find the issue at the moment.
- Sometimes the listenbrainz API tries to access some freed memory and the application crashes. This problem I wasn't able to consistently reproduce and fix.
If you encounter them I would appreciate if you could install a debug version and provide me with a coredump or a consistent repro method.
Full Changelog: v0.4.99...v0.5.0
Never say never, again
v0.4.99: Never say never, again
Another, another pre-release before v0.5.
This adds the last feature I wanted in, which is to trigger a now_playing and a queue event when starting the scrobbler and a music player is already playing music.
This version also includes a fix for breaking the list of active players when one is closed. This issue was unreported, probably due to low usage of multiple players at the same time. :D
The last issue I have that prevents me from tagging v0.5 is that currently there are some weird locks when running spotifyd, spotpris2, spotify-tui combo and restarting spotifyd.
Full Changelog: v0.4.95...v0.4.99
Any kick in the behind is a step forward
Another pre-release before v0.5, this one makes the pending connections a simple array instead of an stb_array.
The change was warranted because we had various memory issues when trying to clean them up from different callbacks.
Ideally I'll remove the other places where stb_array is needed so we can simplify the code.
Full Changelog: v0.4.90...v0.4.95
Welcome back old friend
Hopefully this is the last intermediary release until v0.5.
It contains a fix for a bug a libcurl change exposed around February: #86
I added some extra logging for libcurl debug messages and added more information to the logs in general when using maximum verbosity.
This release might have some issues with memory leaking, but I hope to have them fixed by the next one. This is a stop-gap to ensure people that are using the application have it working again.
Full Changelog: v0.4.0.1...v0.4.90
Why even bother
Test release for fixing #79.