Releases: mariusor/mpris-scrobbler
The "Next Generation: Beta 3"
Fixing(maybe) compilation errors for Fedora armv7hl
, aarch64
, ppc64le
, s390x
. Closes #73
Fixed a crash to the mpris-scrobbler-signon
binary when getting the token for the first time.
Fixed allowing the execution of the invalid session
command for the listenbrainz
api, which would remove an existing token.
The "Next Generation: Beta 2"
New release, mainly for fixing compilation errors from Fedora/Archlinux.
Adding new man page for the mpris-scrobbler-config(5)
file.
The "Next Generation: Beta 1"
v0.3.90 - Beta 1 for v.4.0.0
Improvements:
- Adding support for mpris-player XDG base directory compliant config file:
.config/mpris-scrobbler/config
- Adding player ignore capability in the config file with syntax:
; player name - case sensitive
ignore = Spotify
; dbus service name - also case sensitive
ignore = org.mpris.MediaPlayer2.vlc
- Better handling of loading just the modified MPRIS properties.
- Refining the resolution for which MPRIS properties have changed, now every mpris property is tracked independently.
- Better handling for tracks with multiple artists.
- Better handling for tracks with multiple MusicBrainz fingerprints.
- Better handling of corner cases when multiple players are active at the same time.
- Better handling of signon helper external commands invocations.
Fixes:
- Avoiding dynamic memory allocation as much as possible.
- Fixes for crashes due to invalid bytes being loaded from DBus.
- Fixes for loading invalid strings into scrobbles as a side effect of uninitialized memory.
- Fixes for crashes in the signon helper.
- Fixes for writing the pid file with every configuration load leading to being overwritten unintentionally.
- Fixes for the signon helper sending SIGHUP to the wrong pid.
The "Fixed by WTF"
Adding a fix for the random crashes I was experiencing when loading strings from DBUS, that sometimes weren't local strings but simple char*
and were crashing when doing trim on them because their length was read from random memory locations. :(
The "Not quite dead yet"
- Improvements to scrobbling logic related to a track's play time
- Moved from stb stretchy buffers to stb's dynamic array implementation
- Improvements to log output
The "Bergiu is handsome"
First proper bugs found by a user with proper fixes. :D
-
Fix for not loading the last element of the mpris metadata
-
Fix for scrobbler signon not saving the credentials file in ~/.local/share when missing $XDG_DATA_HOME env variable.
The "Mr. Clean"
Mr. Clean - v0.3.0
-
Removed build dependency on
ragel
for the ini parser. -
Moved from
curl_easy*
and blocking requests tocurl_multi*
and asynchronous requests. -
Made the track loading more robust by not loading the same mpris_properties multiple times for faulty media players that trigger events unnecessarily.
-
Removed option to build with make in favour of meson because Mer's OBS supports meson for SailfishOS.
MPRIS Scrobbler + Listenbrainz = <3
This is a pre-release of future v0.3.0
Major features:
- Adding support for loading non standard MusicBrainz IDs from the metadata. Closes #23
- Adding support for passing MusicBrainz IDs to ListenBrainz API. Closes #24
Minor improvements:
- Removed ping player event
- Fix VERSION_HASH define being used correctly Closes #22
- Replacing our custom argument parsing with a getopt based one even though I feel it doesn't provide any benefit. Closes #21
- Added option for specifying the version at build time
Fixes:
- Fix small memleak for environment variables and paths when reloading credentials file
The enabler
Adding mpris-scrobbler-signon enable
command line switch, for allowing an already authenticated service to be disabled and then enabled.
Adding ping player call to verify if it's still running.
Habemus ListenBrainz
Added ListenBrainz API submission support.
Changed the signon command to support adding the ListenBrainz token
manually.