All Versions
Latest Version
Avg Release Cycle
63 days
Latest Release
1131 days ago

Changelog History
Page 1

  • v10.6.2 Changes

    May 03, 2020

    πŸ›  Fixes

    • scrobbling should be working again (#1655)
    • πŸ‘ Incomplete support for some platforms in the internal diagnostics page (#1641, #1664)
  • v10.6.1 Changes

    April 19, 2020

    πŸ›  Fixes

    • πŸ›  Fix issue with DLNA not working (#1634)
    • πŸ›  Fix issue with scanning error on some media types (e.g. WAV) (#1626)
  • v10.6.0 Changes

    April 15, 2020

    ⬆️ Note that the index version has been bumped to account for Lucene upgrades. This will require a rescan on the next startup after the upgrade.

    Thanks to all the contributors who keep on coming back and helped improve Airsonic little by little, in particular:

    Andrew DeMaria
    Evan Harris
    François-Xavier Thomas
    Paul Rogalinski-Pinter
    Robert Sprunk
    Shen-Ta Hsieh

    πŸ†• New features

    πŸ‘Œ Support for sending scrobbling information to the "ListenBrainz" service has
    been added (#1224)

    A new "More" link has been added to the "About" page, containing detailed
    system diagnostic information. This page will help us diagnose issues more
    easily in the future. (#1457)

    0️⃣ The default 'admin' user can now be deleted if another admin user is present
    πŸ”’ on the system, which can improve security by avoiding having a hardcoded
    πŸ‘‰ username always available. Features that require an admin user (namely,
    automated playlist import) will use the first admin user in the database. (#1131)

    The play queue can now be toggled on/off with a button, which helps use
    Airsonic on touch devices (tablets, ultrabooks). (#1539)

    An 'add to play queue' action has been added to playlist pages. (#1433)

    πŸ›  Fixes and updates

    ⚑️ External database drivers have been updated to more recent versions. In
    πŸ‘ particular, the MySQL driver now supports MySQL 8.0, and initial migrations
    on PostgreSQL should work properly again. (#1452 and #1511)

    πŸ‘€ The seek support for transcoding has now been re-enabled again, now that
    we're more confident that this works fine with the HTML5 player. (#1123)

    Accuracy of the "search" feature has been improved, with search now ranking
    by artist (resp. album or song) name in the artists (resp. albums or songs)
    category. (#1235)

    ⚑️ The systemd example file has been updated with a couple of changes related to
    device/driver access. (#1406)

    🐳 DLNA support should now be exposed properly through Docker, which wasn't the
    case before. (#1380)

    The tabs on the main page no longer auto-refresh at regular intervals.
    Instead a "refresh" link is available to trigger a reload manually. (#1338 #1339 #1413)


    • πŸ‘€ The dark theme has seen some tweaks.
    • πŸ›  Fix harmless error message about missing "web.xml"
    • πŸ›  Fix not to perform clean up during scan
    • πŸ”„ Change to new shuffle generator
    • ⚑️ The pt_BR locale has been updated.
    • Avoid exceptions if Lucene index is not ready on first startup
    • Avoid exceptions if database is not ready and fully migrated on first startup
    • ⬆️ A lot of dependency upgrades, as well as other fixes and optimizations
  • v10.5.0 Changes

    November 07, 2019

    v10.5.0 - 7 Nov 2019

    πŸ†• New index version. Scan will be triggered on startup

    πŸ”„ Changes:

    • Precompile jsp
    • βž• Add option to disable timestamps during scan
    • Making textareas vertical-align middle allows them to align with adjacent imgs.
    • πŸ‘Œ Improved handling of missing/failed transcoder
    • βœ‚ Removed inability to change roles for admin user
    • πŸ”Š Display file id and path in debug scanning logs
    • ⚑️ Update dark icons for the 'groove' theme
    • βž• added discogs search link to main album page
    • πŸ‘‰ Use titles in some <img> tags
    • πŸ‘‰ Make the systemd unit compatible with tomcat9
    • πŸ‘‰ Make the logout icon/image cliquable
    • ⬆️ Bump Spring version
    • πŸ‘Œ Improve Windows system detection
    • ⚑️ Update Lucene from 3.0.3 to the current version 8.2.0
    • βž• Add expunge to IndexManager

    πŸ›  Fixes:

    • πŸ›  Fix podcast download issues
    • πŸ›  Fix null exception when creating a new podcast channel
    • πŸ‘€ Handle Lyrics fetch HttpResponseException
    • βž• Added handling for LyricsService ConnectTimeoutException
    • πŸ‘Œ Improve error handling for jaudiotaggerParser artwork fetch
    • πŸ‘Œ Improve transcoder info text and formatting
    • πŸ– Handle nulls when processing cover art better
    • πŸ”§ Media file scan will now heed configured music/video file types
    • πŸ›  Fix incorrect absolute paths in css
    • πŸ›  Fixed broken brace and quote splitting in help text
    • πŸ›  Fixed inconsistencies in SVG icon colors
    • βœ‚ Remove white underline from player controls
    • πŸ›  fixed 'Settings Saved' notification when saving transcoding settings #1114 (#1269)
    • πŸ›  Fix broken update link
    • normalize license expire date to prevent outstanding value on Java 12
    • πŸ›  escaped artist and album values in links; fixed allmusic link
    • πŸ›  Fix a NULL-deref in
    • Gracefully handle failed version check attempts
    • πŸ›  Fix the CSS for groove simple
    • Path to search in a specific case is incorrect #1139

    πŸ”’ Security:

    • ⬆️ upgrade jackson-databind and commons-beanutils for CVEs

    And lots of code cleanup/improvements!

  • v10.4.2 Changes

    October 22, 2019

    πŸ›  Fixes

    • πŸ›  Fix a migration issue on MariaDB (#1333)
  • v10.4.1 Changes

    October 14, 2019

    πŸ›  Fixes

    • Last song in a play queue no longer repeats (#1254)
    • βž• Add database support for MariaDB (#1188)


    • Replace dead repository ( with a new one (#1277)
    • ⚑️ Some dependencies updated to new minor versions in order to fix CVEs
    • βœ… Some backported changes to make tests pass more reliably
  • v10.4.0 Changes

    July 13, 2019

    v10.4.0 - 13 Jul 2019

    πŸ›  Fixes:

    • /stream When transcoding, always use chunked transfers and report that ranges
      πŸ‘ are not supported. When not transcoding, support returning ranges but only if
    • 🚚 /stream Remove the option to never set Content-Length. This workaround is
      obsolete with correct handling of ranges when requested.
    • πŸ‘‰ Use spaces instead of coma in systemd lists
    • 0️⃣ Don't use ProtectHome by default in the systemd unit
    • πŸ‘‰ Show cover art not displaying on chromecast
    • πŸ›  Fix downloads with embedded covers
    • πŸ›  Fix a crash when transcoding a track without artist/album
    • πŸ›  Fix the video player that was broken in cf1f86f
    • πŸ›  Fix 3 minor errors in jsp files
      • Add a missing $ in dlnaSettings
      • Add a missing taglib import in homePage.jsp
      • Add a missing = in playQueue.jsp's css
    • πŸ›  Fix layout and alignment issues in current master branch
    • β†ͺ Work around play queue not going to the next song automatically

    πŸ”„ Changes:

    • βž• Add m4b detection
    • Cleanup unused libraries
    • πŸ‘ Better handling of ID3v2.4
    • πŸ”¨ /stream Refactor
    • /stream Dont use RanegOutputStream when entire range is requested
    • /stream Omit unnecessary null check on ranges
    • Declare the usage of HTML5 in the doctype
    • βœ‚ Remove the embedded copy of jaxrpc
    • πŸ›  Fix a possible stacktrace on RandomPlayQueue
    • βž• Add contrib/ (#1096)
    • βœ‚ Remove the deprecated getAlphabetialAlbums method
    • βœ‚ Remove the ghetto REST flash-based video player
    • βž• Add an alt attribute to images, to increase accessibility
    • 0️⃣ Use SVG for the icons for the default_light theme
    • Disallow deleting your own user or removing admin role
    • πŸ”¨ SearchService refactoring
    • Play internet radios in MediaElement (fix #408)
    • βž• Add internet radio source cache
    • Hide play queue actions while playing internet radios
    • πŸ“œ Limit the amount of data we parse from remote internet radio playlists
    • πŸ‘‰ Show an error is an internet radio has no sources to load
    • πŸ’» Do not try to load radio playlists in the browser when clicking on a radio
    • Follow HTTP redirects when loading internet radio playlists

    ⚑️ Translation Updates:

    • Character encoding changes
    • 🌐 Strip the <p>…</p> markup in translation
    • βž• Add Weblate config

    πŸ”’ Security:

    • Cookie is now marked httpOnly
    • ⚑️ Jackson updates
  • v10.3.1 Changes

    May 21, 2019

    v10.3.1 - 21 May 2019

    πŸ›  Fixes:

    • πŸ›  Fix utils.js naming issue

    πŸ”’ Security:

  • v10.3.0 Changes

    May 20, 2019

    v10.3.0 - 20 May 2019

    πŸ›  Fixes:

    • πŸ›  Fix a javascript null-deref occuring when localstorage isn't available/supported by the browser
    • πŸ›  Fix StringIndexOutOfBounds errors thrown by DWR/YUI
    • πŸ›  Fix a small resource leak
    • πŸ›  Fix #611 Add support for Java 9 and greater
    • πŸ›  Fix typo in anonymous user name (#663)

    πŸ”„ Changes:

    • ⚑️ Maven Dependency Updates
    • HSQL: Checkpoint/defrag/shutdown optimizations
    • 🌲 HSQL: Log tweaks
    • βœ‚ Remove momentjs, pngfix
    • Codebase modernization
    • Systemd unit hardening
    • βœ‚ Remove the external fonts usage
    • ⚑️ Update mediaelement from 4.1.1 to 4.2.9
    • βœ‚ Remove dependency
    • βž• Add description and viewport meta tags
    • Javascript cleanup/optimizations
    • βœ‚ Remove Google+ relics
    • βœ‚ Remove jquery-contextmenu since it's not used anywhere
    • βœ‚ Remove webfx stuff, since they're apparently not used
    • βœ‚ Remove WAP-related stuff
    • Do not show stack trace for client-side connection errors
    • πŸ‘‰ Show more informative messages while streaming
    • Replace latin encoding with utf-8
    • Don't autocomplete the password field
    • Clicking on the logo now redirects to home instead of about
    • βœ‚ Remove mentions of subsonic premium
    • βž• Add a permission check for the podcast folder
    • Replace the double-mustache anti-pattern
    • βœ‚ Remove the /db page
    • ⬆️ Bump jQuery/jquery-ui to the latest versions
    • Replace the flash player with medialement.js for the shared media
    • βž• Add system properties for persisting the 'remember me' key
    • Replace the usage of prototypejs with jquery in changeCoverArt.jsp
    • βž• Add the required keyword to some forms
    • ⚑️ Update docker base image to alpine 3.9

    πŸ”’ Security:

    • CVE-2019-10908 Generate new passwords in a secure way
    • πŸ›  Fix a xss and clean up some js
    • CVE-2019-10907 Use a random key to "encrypt" the remember-me cookie's value
    • πŸ‘‰ Use https for external links
    • πŸ›  Fix a bunch of dom-based xss
    • βž• Add a noopener and noreferrer to external urls
    • 🌲 Avoid logging sensitive URL parameters in the Subsonic API
    • πŸ›  Fix various minor issues found by LGTM
  • v10.2.1 Changes

    February 18, 2019


    πŸ”’ Security:

    • πŸ“œ CVE-2018-20222 Prevent xxe during parse