Strawberry

MediaDesktopGPL-3.0

A music player and collection organizer.

Latest 1.2.31 · · Desktopby Jonas KvingeWritten in C++Websitestrawberrymusicplayer/strawberryRSS

Release activity

Release activity — 15 releases across 15 days since Jan 18, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jan 18, 2026. Older weeks are hidden at this screen width.
JulAugSepOct
SundayNo releases on Jun 28, 20261 release on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026No releases on Sep 13, 2026No releases on Sep 20, 2026No releases on Sep 27, 2026No releases on Oct 4, 2026No releases on Oct 11, 2026
MondayNo releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026No releases on Aug 31, 20261 release on Sep 7, 2026No releases on Sep 14, 2026No releases on Sep 21, 2026No releases on Sep 28, 2026No releases on Oct 5, 2026No releases on Oct 12, 2026
TuesdayNo releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 20261 release on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026No releases on Sep 1, 2026No releases on Sep 8, 2026No releases on Sep 15, 2026No releases on Sep 22, 2026No releases on Sep 29, 2026No releases on Oct 6, 2026
WednesdayNo releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 20261 release on Aug 26, 2026No releases on Sep 2, 2026No releases on Sep 9, 2026No releases on Sep 16, 2026No releases on Sep 23, 2026No releases on Sep 30, 2026No releases on Oct 7, 2026
ThursdayNo releases on Jul 2, 20261 release on Jul 9, 20261 release on Jul 16, 2026No releases on Jul 23, 20261 release on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 20261 release on Sep 10, 2026No releases on Sep 17, 2026No releases on Sep 24, 2026No releases on Oct 1, 2026No releases on Oct 8, 2026
FridayNo releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 2026No releases on Sep 4, 2026No releases on Sep 11, 2026No releases on Sep 18, 2026No releases on Sep 25, 20261 release on Oct 2, 2026No releases on Oct 9, 2026
SaturdayNo releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 20261 release on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 2026No releases on Sep 5, 2026No releases on Sep 12, 2026No releases on Sep 19, 2026No releases on Sep 26, 2026No releases on Oct 3, 2026No releases on Oct 10, 2026

15 releases since Jan 18, 2026

Changelog

1.2.31Latest

Strawberry 1.2.31

Added 4
  • Use uchardet to detect the text encoding of CUE sheets and M3U and PLS playlists
  • Add Ctrl+B shortcut for showing the sidebar
  • Add a Scan tracks repeat mode which only plays a part of each track
  • Add a credentials manager which stores the Subsonic password in the system keyring
Changed 3
  • Volume mute is now a separate state instead of setting the volume to zero and is shown in the volume slider and on-screen display
  • Use existing src/apicredentials.h when building from source
  • Improved detecting a dark palette and calculating the playlist alternating row color
Fixed 14
  • Fixed shuffle skipping tracks and repeating tracks already played when adding tracks, removing the current track, choosing a track, turning on shuffle while playing or repeating the playlist
  • Fixed going back to the previous track changing the shuffle order
  • Fixed album and grouping shuffle skipping albums or groupings when choosing a track
  • Fixed inside album shuffle and album repeat not finding the next track on the same album after removing the current track
  • Fixed track repeat playing the wrong track after removing the current track
  • Fixed moving several tracks that are not next to each other to another playlist removing the wrong tracks from the source playlist

From Strawberry

Bugfixes:
  • Fixed shuffle skipping tracks and repeating tracks already played, when adding tracks, removing the current track, choosing a track, turning on shuffle while playing or repeating the playlist
  • Fixed going back to the previous track changing the shuffle order
  • Fixed album and grouping shuffle skipping albums or groupings when choosing a track
  • Fixed inside album shuffle and album repeat not finding the next track on the same album after removing the current track
  • Fixed track repeat playing the wrong track after removing the current track
  • Fixed moving several tracks that are not next to each other to another playlist removing the wrong tracks from the source playlist
  • Fixed undo right after startup removing the restored playlist
  • Fixed undo after repopulating a dynamic playlist acting on the wrong tracks
  • Fixed "play now" playing the wrong track when inserting tracks into an automatically sorted playlist
  • Fixed tracks copied to another playlist, or added to the same playlist again, being shared between the playlists, which broke updating and saving the remaining tracks when one of them was removed
  • Fixed OpenTidal cover provider search (API changed)
  • Fixed songlyrics.com and letras.mus.br lyrics being blocked
  • (Windows) Fixed unstable ASIO playback
  • (Windows|MinGW-W64) Fixed ASIO device listing
Enhancements:
  • Volume mute is now a separate state instead of setting the volume to zero, and is shown in the volume slider and on-screen display
  • Use uchardet to detect the text encoding of CUE sheets and M3U and PLS playlists (#2336)
  • Use existing src/apicredentials.h when building from source
  • Improved detecting a dark palette and calculating the playlist alternating row color
  • Added Ctrl+B shortcut for showing the sidebar
  • Added a "Scan tracks" repeat mode which only plays a part of each track
  • Added a credentials manager which stores the Subsonic password in the system keyring (libsecret, KWallet, GNOME Keyring, macOS Keychain or Windows Credential Manager)
  • Added an option to disable notifications when the title of a radio stream changes
  • Added options to show the album edition and audio quality in Qobuz search results, and the audio quality in Tidal search results
  • Added Plex support
  • Added Jellyfin support
  • Added a bitrate setting for Spotify (96, 160 or 320 kbit/s)
  • Show a warning in the Spotify settings when the GStreamer Spotify plugin is too old to play tracks (older than 0.14.4), and explain the possible causes when a Spotify track can't be played
  • (macOS) Fixed alternating row colors being painted in the empty area below the playlist
  • (Windows) Disabled fading when ASIO output is selected
Contributors
  • @jonaski
  • @SanteriK123
  • @ramiropo
  • @vista747
  • @nixietab
  • @mzilinski
  • @Vinzzzze

Full Changelog: https://github.com/strawberrymusicplayer/strawberry/compare/1.2.30...1.2.31

Linux AppImage, macOS and Windows release is available on Patreon: https://www.patreon.com/jonaskvinge/posts/strawberry-1-2-171274217

View originalPermalink
How 1.2.31 went
1.2.30

Strawberry 1.2.30

Changed 1
  • Changed API credentials for Spotify for production use
Fixed 2
  • Fixed an out-of-bounds memory access in HMAC signing when using keys longer than the hash's block size, affecting request signing for Discogs and Musixmatch
  • Fixed the build failing when the tag fetcher (AcoustID) is disabled
View originalRead the notes
How 1.2.30 went
1.2.29

Strawberry 1.2.29

Changed 7
  • Switched MusixMatch lyrics to use API instead of scraping HTML pages
  • Standardized the User-Agent header format used for network requests
  • Improved ListenBrainz scrobbling and made it respect rate limits
  • Use self-hosted OAuth redirect/proxy for Spotify and Genius which does not accept a random localhost port
  • Made PKCE optional for OAuth logins, for providers that don't support it
  • Cover art search now takes album artist and compilation status into account when matching results
  • Improved detection of generic album titles using regular expressions when scoring cover art search results
View originalRead the notes
How 1.2.29 went
1.2.28

Strawberry 1.2.28

Added 2
  • Added sort options (ascending, descending and clear sorting) to the playlist column header context menu
  • Added a test for smart playlist search
Changed 4
  • Sorting the playlist can now be undone, and clicking an already sorted column cycles on to unsorted instead of only toggling the direction
  • Playlist changes are now written to the database by updating only the affected items instead of saving the entire playlist
  • Updating a playlist's last played time no longer rewrites the entire playlist
  • Reuse the network access manager for Subsonic requests instead of creating a new one for every request
Fixed 6
  • Fixed playback randomly pausing itself, caused by concurrent GStreamer state changes being applied in a different order than they were requested
  • Fixed GStreamer errors while fingerprinting, by decoding straight through from the start and stopping once enough audio has been collected
  • Fixed a crash on exit caused by device listers being deleted while their own threads were still running
  • Fixed quitting through MPRIS, or asking to quit a second time, skipping the normal shutdown and leaving subsystems to be torn down while still running
  • Fixed thread-safety issues with the audio fader that could crash or leave the volume at the wrong level when one fade replaced another
  • Fixed a thread-safety issue with playlist items shared between the playlist model and the playlist backend
View originalRead the notes
How 1.2.28 went
1.2.27

Strawberry 1.2.27

Changed 2
  • Builds are now notarized and signed with the hardened runtime enabled on macOS
  • Switched from GnuTLS to OpenSSL GIO module on Windows MSVC
Fixed 1
  • Fixed custom palette colors under appearance settings sometimes not applying to some UI elements, such as the menu bar and playlist tabs, until a further edit or restart
Removed 1
  • Removed dead RadioBrowser API mirror servers that no longer exist, avoiding failed lookups before falling back when the service is unreachable
View originalRead the notes
How 1.2.27 went
1.2.26

Strawberry 1.2.26

Changed 1
  • Replaced deprecated QLibraryInfo::path with QLibraryInfo::paths
Fixed 1
  • Fixed re-loading playlist item metadata for local files not in the collection after editing tags
Removed 1
  • Removed dedicated network access manager for lyrics
View originalRead the notes
How 1.2.26 went
1.2.25

Strawberry 1.2.25

Added 2
  • Added recursive expansion of nested .m3u/.m3u8 playlist references so they load as a fully expanded, flat playlist
  • Added AppImage packaging
Fixed 5
  • Fixed a possible deadlock during gapless track transition when an error occurs loading the next track
  • Fixed the wrong embedded cover being picked for FLAC/Ogg files with multiple untagged pictures
  • Fixed tag edits made in the playlist not being reflected immediately, and restored the previous metadata if saving a tag edit fails
  • Fixed the taskbar/dock icon not matching the running window on some desktops
  • Numerous stability, crash-safety and thread-safety fixes throughout the application
View originalRead the notes
How 1.2.25 went
1.2.24

Strawberry 1.2.24

Added 2
  • Added F64LE (64-bit float) sample format support for the spectrum analyzer
  • Added more keyboard shortcuts for playlist navigation: jump to last/active playlist and close playlist
Fixed 6
  • Fixed playback hanging with no error shown when trying to play a track whose file no longer exists on disk
  • Fixed the tag fetcher dialog showing a generic message instead of the actual error when a Musicbrainz/AcoustID lookup fails
  • Hardened Chromaprinter decoding against malformed or oversized files and capped its in-memory PCM usage
  • Fixed the context menu using the wrong item when invoked via keyboard in the playlist and smart playlists views
  • Fixed blurry star rating icons by enabling smooth pixmap scaling
  • Numerous stability, crash-safety and thread-safety fixes throughout the application
View originalRead the notes
How 1.2.24 went
1.2.23

Strawberry 1.2.23

Added 2
  • Support for native dark mode on macOS and Windows
  • Support for sorting radio browser search results by clicking column headers
Changed 1
  • Style changes under appearance settings are now applied immediately, without requiring a restart
Fixed 11
  • Disabled widgets not appearing greyed out when a custom color set is in use
  • Custom palette colors being selectable with the Breeze style, which doesn't support them
  • Tab order in appearance settings
  • Exclusive mode being selectable in backend settings when not supported by the current output
  • Fader not resuming after being paused
  • Metadata from a radio stream track carrying over to the next track when its own tags are empty
View originalRead the notes
How 1.2.23 went
1.2.22

Strawberry 1.2.22

Added 1
  • Added System Media Transport Controls support on Windows
Changed 4
  • All central palette color roles are now configurable under appearance settings, with a dark mode preset
  • Simplified GStreamer pipeline state handling and teardown, playback now starts directly without an intermediate pause
  • Turned on Subsonic certificate verification by default
  • Apply a default transfer timeout to network requests
Fixed 6
  • Fixed editing tags for files on GVFS mounts (SMB, SFTP, MTP) by editing a local temporary copy
  • Fixed the seekbar treating the mouse as still pressed when playback is stopped while seeking
  • Fixed the beginning of songs being cut off while the audio device (DAC) is warming up with a new configurable device warm-up delay (default 500 ms)
  • Fixed empty available icon size handling for scalable (SVG) icons
  • Fixed Musixmatch lyrics search
  • Numerous stability, crash-safety and thread-safety fixes throughout the application
Removed 1
  • Removed Last.fm import
Security 1
  • Removed logging of access tokens
View originalRead the notes
How 1.2.22 went
1.2.21

Strawberry 1.2.21

Added 4
  • Check for svg support
  • Support custom icons from scalable dir
  • Add .tak to valid file extensions
  • Optional exponential volume
Changed 2
  • Preserve user data before deleting duplicate songs
  • Custom icons take precedence over system theme icons
Fixed 2
  • Re-point playlist items that reference duplicated songs before removal
  • Fixed build without moodbar and waveform
View originalRead the notes
How 1.2.21 went
1.2.20

Strawberry 1.2.20

Added 2
  • New waveform for seekbar
  • New filesystem watcher on Linux and Windows which also detects file changes within directories
Changed 2
  • Set StartupWMClass in the desktop file to org.strawberrymusicplayer.strawberry
  • Allow longer timeout waiting for lyrics
Fixed 17
  • Defer writing playcount and rating tags for the currently playing MP3 file to prevent playback issues
  • Fixed volume being reset during gapless playback when the sample rate changes between tracks
  • Prevent duplicate songs with identical URL
  • Fixed album shuffle to use the effective album artist
  • Fixed collection watcher skipping symlinked directories
  • Fixed collection subdirectory path handling when renaming directories
View originalRead the notes
How 1.2.20 went
1.2.19

Strawberry 1.2.19

Added 3
  • New grouping shuffle mode
  • Write MusicBrainz Track Id when completing tags using MusicBrainz
  • Added rating filter to the collection
Changed 2
  • Rewrote Discord RPC with Qt and removed RapidJSON dependency
  • Use HTTP POST for AcoustID lookup
Fixed 6
  • Fixed MPRIS2 Play causing playback to restart if already playing
  • Fixed incorrect use of beginInsertRows() / endInsertRows() when adding / removing devices
  • Fixed album cover manager save cover to file not working
  • Fixed repeat and shuffle button sizes
  • Fixed MPRIS2 resetting previous played track history
  • Fixed Qobuz authentication
View originalRead the notes
How 1.2.19 went
1.2.18

Strawberry 1.2.18

Fixed 3
  • Devices no longer detected with newer GIO versions
  • Error message appearing when dragging folders with non-audio files to the playlist from files
  • Clear button for device textfield in Backend settings
View originalRead the notes
How 1.2.18 went
1.2.17

Strawberry 1.2.17

Added 3
  • Added tag editor option to select ID3v2 version
  • Added option to restore smart playlists to the defaults
  • Show playlist load errors
Changed 4
  • Skip existing files when organizing if not overwriting
  • Don't automatically sort playlist with the auto sort option before it's fully loaded
  • Defer playcount and rating tag writes for currently playing Ogg songs to prevent playback shutter
  • Fallback to delete if moving to trash fails
Fixed 13
  • Avoid re-scan of restored songs unless mtime is changed
  • Fixed cursor highlight disappearing off-screen when using down cursor
  • Fixed CD playback only working for the first optical drive
  • Fixed possible race-condition when switching tracks
  • Fixed possible file descriptor exhaustion by using shared thread pool
  • Fixed network features stop working after computer suspends and resumes
View originalRead the notes
How 1.2.17 went
View all

Discussion

If you publish Strawberry, you can claim this product by proving you administer its repository.