Skip to content

LMS 8 changelog

Version 8.5.1

  • Upstream fixes from Logitech Media Server 8.4.1

  • New Features:

    • Add optional plugin to report data about your LMS installation - see forum discussion.
  • Server Changes:

    • Add links to the settings of the AudioAddict based services.
    • Add support for "DELETE" HTTP verb to SimpleAsyncHTTP.
  • Platform Support:

  • Bug Fixes:

    • Fix definition of track-level favorites' artwork.
    • Correctly prefix settings links from Plugins page with the web root.
    • #1020 - Add icon to favorites in Default web UI et al. (thanks philippe44 && darrell-k)
    • #1029 - Fix incorrect HTTP skipping (thanks philippe44 && bpa!)
    • #1045 - "shufflemode" is missing from "alarms" query (thanks @CDrummond!)
  • Other:

Version 8.5.0 - 2024-03-14 (8762186a4)

  • Upstream fixes from Logitech Media Server 8.4.x

  • Server Changes:

    • Remove all dependency on MySqueezebox.com.
    • Remove warning about "incompatible" Radio firmware version 7.*.
    • #1003 - Add alarm information to player "status" query.
  • Bug Fixes:

    • #998 - Fix Sounds & Effects playback when password protection is enabled.
    • #1007 - Fix track favorite links in album listings (thanks darrell-k!).

Version 8.4.1

  • Server Changes:

    • Improve Release Type readout in Ogg and WMA files.
  • Bug Fixes:

    • Don't fail http caching due to extended characters in the URL.
    • Playing all items from a genre might fail under certain circumstances.
    • Use valid sorting arguments if sort order "albums" is requested when queuing up items.
    • Fix Last.fm scrobbling issue with some streaming service tracks.

Version 8.4.0 - 2024-02-08 (e225575dc)

  • Upstream fixes from Logitech Media Server 8.3.x

  • New Features:

    • #879 - Add support for Release Types (see eg. on MusicBrainz).
    • New "Advanced Tag View" plugin allows you to show more information in the Track Info menu, without the need to drill down to "View Tags"
    • Allow editing of a favourite's icon.
    • Add plugins for ClassicalRadio.com, DI.fm, JazzRadio.com, RadioTunes.com, RockRadio.com, ZenRadio.com.
    • Add an optional artist albums view which groups albums by release type and contribution. (thanks darrell-k!)
    • Add an option to import playlists from online music services.
    • #987 - Add OggFlac support (thanks philippe44!)
  • Server Changes:

    • Improve integration of the external image resizing helper daemon.
    • Improve built-in imageproxy: don't proxy image if original size is requested, re-direct instead; add support for custom headers when using external image proxy.
    • Updated Dutch translation - thanks blackfiction!
    • Updated French translation - thanks thanks Frank-Berry & philippe317!
    • Improve rendering of links in the web UI menus (comments, file download, etc.)
    • Sort tracks in "title" sort order by artist and album, too, if they're part of the result set.
    • Add option to check for updates every hour.
    • Optionally don't remove online duplicates from library views.
    • #846 - Improve display of multiline lyrics and comments in the web UI (thanks mw9!)
    • Move persist.db out of the cache folder - it's music data which can't be restored from the music files.
    • Log warning if the server's time seems to be off (only if MySqueezebox integration is enabled).
    • Re-implement Sounds & Effects plugin to not depend on MySqueezebox for the navigation and content selection.
    • Report actual replay gain value for the currently playing track in "status" query.
    • Add "Q" tag to songinfo, status queries etc. to return lossless flag for tracks (thanks AF-1!).
    • #862 - Make lyrics on Default skin songinfo page collapsible (thanks AF-1!)
    • #868 - Populate the release year ('year') attribute for remote tracks in the player queue (thanks SamInPgh!)
    • #956 - Add raw AAC (ADTS) file support (thanks philippe44!)
    • #964/ #985 - Handle case where user moves/adds/removes tracks in a playlist while the next track is already fully streamed (thanks philippe44!)
    • #986 - Add a 'V' query that will return the maximum seek point in seconds within the current track duration for a 'live' radio stream (thanks expectingtofly & philippe44!)
    • Fix Napster playback on community firmware players
  • Platform Support:

    • Tweak Apple OS Architecture discovery: use the "arm64" string rather than the CPU's name (eg. "Apple M1")
    • Add Perl 5.38 support for Linux x86_64.
    • Add experimental support for Windows 64-bit - requires installation of Strawberry Perl 5.32!
    • Update Windows installer to use latest InnoSetup 6 - dropping support for Windows XP, 2003 Server, and Windows Home Server.
  • Bug Fixes:

    • #212 - Unicode sorting for Browse Music Folder broken (thanks kimmot!)
    • #622 - __requestRE should only match words provided to Slim::Control::Request::subscribe. (thanks earlchew!)
    • #799 - Update IO::String to latest, fixing some odd Perl version check.
    • #829 - Don't override a content type set by a page handler.
    • #905 - Browsing in to playlists is extremely slow.
    • #911 - Don't shut down the server on "restartserver" when we actually can't restart it.
    • #939 - Player can't be switched from MySqueezebox.com to LMS
    • #962 - Fix album_contributor updates in New & Changed scan (thanks darrell!)
    • #979 - New and changed contributor scanning improvements (thanks darrell!)
    • Respect a contributor's Musicbrainz ID to separate artists of the same name.
    • #969 - Add utf-8 guess decoding on Ogg metadata - thanks philippe44!
    • Try harder to avoid duplicate (but empty) album entries on singles.
    • Clear the Various Artists ID when a scan has finished.
    • Don't remove online libraries from library views unless there really is a local copy of the same album.
    • Fix Deezer SmartRadio track duration calculation.
    • Allow pausing Deezer Flow.
    • Fix resizing with a defined background color.
  • Other:

    • Simplify plugin and server update repository handling.

Version 8.3.2

  • Platform Support:

    • #891 - Add Perl 5.36 support for Linux aarch64, armv7.
  • Bug Fixes:

    • #874 - Fix shuffling when starting off with an empty playlist (thanks robho!)
    • #918 - Fix browsing down to album favorites etc.
    • Add CPAN/auto/5.14 to lib search path for Windows builds to include Font::FreeType.
    • Fix another absolute path to a stylesheet in the Default skin.
    • Fix an issue where registering a pre-cache resolution would cause a subsequent LMS start to fail.

Version 8.3.1 - 2023-02-17 (026019bb7)

  • Server Changes:

    • Make log viewer template (log.html) skinnable by including skin.css.
  • Platform Support:

    • Update Audio::Scan to 1.06 for certain platforms (thanks ralphy, robho, slartibartfast!)
    • #826 - Add Perl 5.36 support for Linux x86_64.
    • Add Perl 5.34 support for Linux aarch64.
    • Add signed version of our custom Perl build for macOS.
  • Bug Fixes:

    • #827 - Fix installation of plugin updates - honour user's choice (thanks mw9!)
    • Don't use our custom Perl build on macOS 10.x - these versions come with a still working Perl 5.18.
    • #834 - Fix no-transcoding playback of m4a audio (thanks philippe44!)
    • #835 - Improve Alarm reliability - prevent accidental/random alarm stops.
    • #843 - HTTPSocks.pm - Binary OR used by mistake - Logical OR needed (thanks mw9!).
    • Remove support for "deflate" encoding type in SimpleHTTP requests: it must have been broken for over a decade!
    • #852 - No result return while using Chinese Keyword in Fulltext Search.
    • #857 - Fix changing MySB credentials using the "setsncredentials" command.

Version 8.3.0 - 2022-11-04 (4e15dbdff)

  • Upstream fixes from Logitech Media Server 8.2.x

  • New Features:

    • Add support for macOS 13 Ventura
  • Server Changes:

    • Remove support for media types other than audio (video, pictures). Let's make "M" music again.
    • #651 - Updated French translation - thanks Frank-Berry!
    • Added British English translations - thanks expectingtofly!
    • Updated Czech translation - thanks mipa87!
    • Updated Dutch translation - thanks blackfiction!
    • Add support for TIDAL replay gain.
    • Dramatically improve Fulltext Search indexing for large playlists (thousands of tracks).
    • Improve security of LMS <-> mysqueezebox.com communication: don't store credentials, but only a session token.
    • Clean up legacy JavaScript support: update PrototypeJS and Scriptaculous to their latest builds, remove some legacy code.
    • #678 - Fix up character encoding issues in Web UI Scanner progress reporting and Web UI log display (thanks mw9!)
    • #708 - Update to MP3, FLAC, Ogg and WMA Formats to use BPM tags - thanks kwarklabs!
    • #751 - Shuffle tracks added with "playlist loadtracks" for a given year (thanks philchillbill!)
    • #758 - Allow selection of regional language (eg. ZH_CH or EN_GB) through JSONRPC (thanks expectingtofly!)
    • #785 - Improve adding albums as favorites: don't rely on the album title alone, but use the artist to identify the album, too.
    • #817 - Fix JavaScript integration in settings pages for Classic/Light (and thus Material) skins.
    • Remove more legacy plugins: Amazon, MP3Tunes, Orange, YALP
  • Platform Support:

    • #673 - Add aarch64 Linux and 64-bit macOS binaries for Monkey's Audio (APE) files (thanks ralphy!)
    • #684 - Updated Solaris Binaries for alac, flac, sox, faad, wvunpack, mac (thanks urknall!)
    • #715 - Remove I18N::LangTags - it's outdated and has been part of core Perl since 5.12.
    • Added native support for Apple Silicon
    • Update Audio::Scan to 1.05 for certain platforms (thanks ralphy, slartibartfast!)
    • #773 - Update flac to 1.3.4 (macOS, Linux i386, x86_64, armhf, aarch64)
    • Added custom Perl 5.34 build for macOS 10.15+, in preparation for Apple's removal of Perl from macOS
    • Remove support for the embedded MySQL server. We've been using SQLite for about a decade.
    • Remove support for PowerPC and i386 on macOS.
    • #810 - Remove the 'deprecate' pragma vom CGI::Util to improve compatibility with newer Perl versions.
  • Bug Fixes:

    • Allow seeking in mp4 files with samplerates > 65535 (32 bits) on some platforms (thanks philippe44 & ralphy)
    • Improve Deezer metadata lookup when adding albums/playlists through the CLI.
    • (Audio::Scan) #9 - For some WavPack DSD file the song_length_ms is incorrect (thanks aeeq & ralphy!)
    • (Audio::Scan) #12 - ID3: Fix v2.4 extended header handling (thanks mw9 & ralphy!)
    • #406 - Crossfading fails with very short tracks
    • #410 - Rescan button for individual music folders does not work in Classic (and hence Material) skin.
    • #473 - Broken playback functionality in Album/More
    • #535 - some CLI commands duplicate comment tag info
    • #547 - duplicate albums after adding tracks while renaming album
    • #668 - Podcasts: Pre-caching image and more-info data can bring the server to a crawl #668 (thanks mw9!)
    • Fix image transformation if a cover requested using /current/cover is pointing to a local file.
    • #699 - Improve resume behaviour (thanks philippe44, maniac103 & mw9
    • #700/ #718 - High CPU load during playback of certain radio streams (thanks philippe44!)
    • #704 - changed artist names remain in database after quick rescan
    • #705 - changing upper and lower case in file name results in double entries
    • #746 - Windows 11: PreventStandby doesn't prevent standby any more
    • #749 - fix mp4 streams where audio offset comes from STCO (thanks philippe44 && bpa!)
    • #754 - improve reliability of "what's new" podcast search (thanks philippe44!)
    • #767 - fix compatibility with standards compliant cometd libraries (thanks lynniemagoo!)
    • #95 - update faad helper binaries to fix a crash when the decoder call fails (thanks ralphy!)
    • #777 - When syncing with disconnected player through CLI, random player is synced
    • #802 - Log is flodded with callback warnings "Can't call method "display" on an undefined value"
    • Prevent a server crash while re-building the fulltext search index with huge collections.
    • Don't show online only artists when a virtual library view tells us to do so.
    • Fix IO::Socket::SSL initialization in the scanner's sync http lookup code.
    • #797 - Fix Power off/Power on behaviour - Player would resume playback of stale track when reconnecting, although nothing to be resumed.

Version 8.2.1

  • Server Changes:

  • Platform Support:

    • Added Perl 5.34 modules for Linux x86_64
  • Bug Fixes:

    • #646 - Fix streaming compatibility with SliMP3 (thanks philippe44!).
    • #647 - Fix podcast "Play from last position" and skip back trackinfo item (thanks mw9 and philippe44!).
    • #656 - Correct start time for streams with range offset (thanks philippe44!).
    • Fix resizing images with a dash in the name.
    • Define $::cachedir in the scanner, too, as many parts of the code rely on it.
    • #760 - Fix various XSS possibilities in settings pages etc.

Version 8.2.0 - 2021-08-03 (1ec16032b)

  • Upstream fixes from Logitech Media Server 8.1.x

  • New Features:

    • Try to group online artists with local artists by ignoring slightly different spelling (eg. "The Beatles" vs. "Beatles", "Amy Macdonald" vs. "Amy MacDonald").
    • #510 - Add (optional) "balanced" track shuffling method, which is less random, but hopefully more pleasing to the listener.
    • #537 - Add audio option to combine channels to build a mono signal (whether player is synchronized or not).
    • #538 - Add Balance setting for players which support it (thanks philippe44!).
    • #621 - Add Search feature to the Podcasts plugin (thanks philippe44!).
    • #630 - Add parsing of remote OPML list.
    • #627 - Allow explodePlaylist to return an OPML list, not just an array or urls.
    • Enable basic track statistics (play count, last played, ratings) for online tracks imported into the library.
    • #581, #591 - Create new player protocol to buffer http streams to disk or re-establish dropped connections to improve reliability (thanks philippe44!).
  • Server Changes:

    • When an online scan doesn't return any track, but previously had some, do not remove tracks from library. The empty new list is likely due to a scan failure.
    • Try to improve backwards compatibility with eg. Erland's plugins, which sometimes struggle with the remote tracks.
    • #411 - Transcoder conversion rules: Support resampling for Ogg/Flac streams (thanks bpa/mw9!)
    • #598 - Shuffle tracks added with "playlist loadtracks" and certain search filters (thanks philchillbill!)
    • Added hook for 3rd party plugins to tell DSTM not to kick in.
  • Platform Support:

    • #18 - Add a systemd service file for Debian based systems (thanks mw9 & tomscytale).
    • #22 - Add systemd service configuration for RPM based systems (thanks JohanSaaw!)
    • #25 - Add weak dependency on perl IO::Socket:SSL in RPM (thanks JohanSaaw!)
    • #526 - Add Perl 5.32 and 5.30 support for Linux aarch64 platform. (thanks clivem!)
    • Remove Font::FreeType from Linux distributions. It's easy enough to install it using the system's package manager, and it would conflict on system where we don't provide the binary.
  • Bug Fixes:

    • #554 - Long current playlist disappears from UI during wipe and rescan.
    • #601 - "icon" for URL="file://..." entries does not work in favorites.ompl.
    • #629 - Set SO_KEEPALIVE for cli socket so they auto-close when peer disappears.
    • #632 - Keep shall in foreground when startTime is required and bitrate is missing.
    • #617 - Handle volatile redirected url, retry from original one if failed after resume.
    • #612 - Ask PH if _currentHandler shall be rewritten (HTTP->HTTPS upgrade).
  • Other:

    • #528 - On Unix-like platforms, we now ensure that plugins are installed in such a way that none of their files are writable by users other than the user running LMS, even if they╩╝re stored that way in the plugin ZIP file.
    • No longer include the firmware images for ip3k based players (Classic, Boom, Receiver, Transporter) with the installation packages. Logitech Media Server can download them when needed. But after about a decade without updates it's unlikely anybody would still have to update anyway.

Version 8.1.2

  • Server Changes:

    • #522 - add new --advertiseaddr startup parameter to tell LMS what user facing IP address to use (in case of NATed setups, like with load balancers or Kubernetes etc.) - thanks fuero!
    • Don't sync favorites from mysqueezebox.com when prefs syncing is disabled.
  • Bug Fixes:

    • Don't poll the Deezer library if the user doesn't have a premium subscription.
    • Open App Gallery item in new window/tab - fix some regexes where we'd only accept http instead of https.
    • Make sure we get the mysqueezebox.com based app menu even for players which are not registered there.
    • #508 - Don't include the port when using default ports in host header for http requests.
    • #521 - Fix http redirection on HTTPS protocol handlers (thanks philippe44!)
    • #523 - Fix http redirection when redirect URL is missing the protocol (thanks philippe44!)
    • #531 - Player's library view setting and Random Mix preference conflict with each other.
    • #536 - When an album list is filtered by contributor role, the contributor's name sometimes isn't shown with the album.
    • #545 - Under certain circumstances 3rd party plugins could be hidden on non-Squeezeplay based players.
    • #559 - Deleting favourite via CLI using URL deletes others (thanks CDrummond!)
    • #585 - mp4 parser for trailing header must keep original request fields (thanks philippe44!)
    • #593 - Handle redirect with processors (eg. mp4 => aac) (thanks philippe44!)

Version 8.1.1 - 2021-01-14 (dd356a423)

  • Server Changes:

    • #489 - Enable Deezer flac seeking for ip3k players.
    • #490 - Enable "Defeat Touch To Play" for all players.
  • Platform Support:

    • Restore Perl 5.18 support in the x86_64 .deb file.
  • Bug Fixes:

    • Fix Ogg Opus on Windows.
    • Fix advanced genre replacement in Online Music Library Integration plugin.
    • #485 - HTTP range request is last byte not size.
    • #486 - When using internal transcoding only, the container format must be set.
    • #488 - When resampling FLAC, add targeted $RESAMPLE$,not only the source sample rate.
    • #501 - Fix logging in Deezer and TIDAL importers.
    • #506 - Fix Napster streaming.

Version 8.1.0 - 2020-12-23 (effae8494)

  • Upstream fixes from Logitech Media Server 8.0.x

  • New Features:

    • Deezer HiFI! Stream lossless music from Deezer if you have a Deezer HiFi subscription.
    • Add support for lyrics stored in the UNSYNCEDLYRICS tag in FLAC files.
    • Optionally allow installation of plugins which were targeted at Logitech Media Server 7.*.
  • Server Changes:

    • Improve transcoding framework to allow protocol handlers to force transcoding (eg. TIDAL)
    • Increase the default maximum playlist length for systems with more memory.
  • Platform Support:

    • Improved compatibility with macOS 11 Big Sur and Apple Silicon (M1 CPU).
    • Remove (buggy) support for Perl 5.8 - we broke compatibility already a while back.
    • Remove support for ReadyNAS - we broke compatibility already a while back (using Perl 5.8).
  • Bug Fixes:

    • #475 - Socket leaks when pipeline is used.

Version 8.0.1

  • Bug Fixes:

    • #437 - New Music doesn't respect the library_id parameter.
    • #459 - Library items like artists (db:contributor.name=...) favorites don't return the URL in the CLI.
    • #460 - Retrieving a genre by ID using the CLI is not possible.
    • PR #474 - Ignore non-compliant CUE sheets (thanks oleg-kuh!)
    • Make sure we only poll music services for changes in the library which we actually have configured.
    • Fix album separation of multi disc sets from online services when grouping is disabled.
    • Don't offer direct firmware download if players can't handle it lack of https support.

Version 8.0.0 - 2020-11-20 (e0eee9c29)

  • Upstream fixes from Logitech Media Server 7.9.3

  • New Features:

    • Online music library integration: list your collection of albums vetted in your favorite streaming service as part of your "My Music" collection.
    • Improved support for Audio Books: automatically create library views and browse modes dealing with Audio Books and Authors.
    • Paste TIDAL or Deezer weblinks in to the Tune In field to play albums/playlists/tracks (thanks mavit!)
    • Keep track of recently played podcasts (thanks philippe44!)
  • Server Changes:

    • PR #367 - Improved parsing of HTTP header allows for new features (eg. AAC transcoding) and fixes some issues with streaming remote files. Thanks a lot philippe44!
    • PR #305 - use ORIGINALYEAR in FLAC files to override YEAR (thanks jcbodnar!)
    • PR #267 - HTTPS certificates are now validated when LMS acts as a client. HTTPS connections to plugin repositories are no-longer retried over HTTP when they fail. The old insecure behaviour can optionally be re-enabled, although, instead, we recommend working out why HTTPS is broken in your environment and fixing that if possible.
    • PR #308 - Update faad binaries to fix several CVE-2017 security issues (thanks ralphy!)
    • PR #324 - Implement documented, but non-functional search in "favorites" query.
    • PR #346 - Update Audio::Scan on Windows to 1.02 (thanks ralphy!)
    • PR #355 - Improved metadata handling in the xPL plugin (thanks keynet!)
    • PR #429 - Hide library folders from scanning with a sentinel file (thanks sciurius!)
    • PR #434 - Support for multiple FILE commands in CUE sheets (thanks oleg-kuh!)
    • PR #448 - Add support for TIDAL over HTTPS and seeking (thanks philippe44!)
    • Improved Dutch translation (thanks blackfiction!)
    • Read Conductor tag from m4a etc. files.
    • Persist some web browser side preferences like artwork mode, expanded menus etc. on the server. Safari would regularly "forget" them.
    • Improve cache purging to reduce startup time and the risk of locking up other initialization tasks.
    • Updated LWP module and dependencies to improve compatibility with newer Perl versions.
    • Support import of DSD in WavPack files (requires additional DSDPlay 3rd party plugin).
    • Add 'wav wav' rule which keeps headers.
    • Add 'aif pcm' rule and change 'aif aif' rule to keep header except for "legacy" SB.
    • Add 'H' tag in convert.conf to strip wav/aiff headers.
  • Platform Support:

    • Logitech Media Server now is available as a Docker image lmscommunity/logitechmediaserver (thanks snoopy86, terual, pascalberger!).
    • Added Perl 5.32 modules for Linux x86_64
  • Bug Fixes:

    • #277 - add new flac binaries to fix seeking within remote flac streams in some locales (thanks ralphy!).
    • #313 - Advanced Search for albums returns emtpy "Song Info ()" link.
    • #327 - "playlist loadalbum" command is case sensitive and otherwise fragile.
    • #366 - Fix gapless PCM Playback on Squeezebox1 (thanks michaldie!).
    • #388 - Fix sorting of index bar in the web UI.
    • Always strip BOM from M3U files, not only if the first line is a comment.
    • Support wav/aif remote streams (direct and proxied).
    • Check that destination (not source) codec is supported in direct streaming.
    • Pass all seed tracks, using one API call, to MusicIP mix when used for "Dont Stop The Music".
    • Re-build Fulltext Search Index for modified playlists after they've been saved.
  • Other:

    • Updated translations: Swedish (thanks Johan!)