From c1af636cc93b451b75eafcd10450f0ded03aae52 Mon Sep 17 00:00:00 2001 From: Ryan Harg Date: Mon, 12 Feb 2024 09:35:31 +0100 Subject: [PATCH] Initial code --- .gitattributes | 9 + .gitignore | 10 + .idea/.gitignore | 8 + .idea/compiler.xml | 6 + .idea/gradle.xml | 17 + .idea/inspectionProfiles/Project_Default.xml | 10 + .idea/jarRepositories.xml | 25 + .idea/kotlinc.xml | 6 + .idea/misc.xml | 8 + app/build.gradle.kts | 71 ++ app/src/test/resources/releases.atom | 1086 ++++++++++++++++++ assets/navidrome-releases-header.png | Bin 0 -> 72820 bytes assets/navidrome-releases-header.xcf | Bin 0 -> 143307 bytes assets/navidrome.png | Bin 0 -> 24583 bytes assets/navidrome.svg | 1 + gradle/libs.versions.toml | 13 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 249 ++++ gradlew.bat | 92 ++ settings.gradle.kts | 14 + 21 files changed, 1632 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/misc.xml create mode 100644 app/build.gradle.kts create mode 100644 app/src/test/resources/releases.atom create mode 100644 assets/navidrome-releases-header.png create mode 100644 assets/navidrome-releases-header.xcf create mode 100644 assets/navidrome.png create mode 100644 assets/navidrome.svg create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..097f9f9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93acc85 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Ignore Gradle project-specific cache directory +.gradle + +# Ignore Gradle build output directory +build + +.env +*.tar +*.tar.gz +releases/ \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..4979975 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..146ab09 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..206430d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..e805548 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..2e3f9ea --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..45234d7 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,71 @@ +import java.time.Instant +import java.time.ZoneId +import java.time.format.DateTimeFormatter + +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Kotlin application project to get you started. + * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.5/userguide/building_java_projects.html in the Gradle documentation. + */ + +plugins { + // Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin. + alias(libs.plugins.jvm) + + // Apply the application plugin to add support for building a CLI application in Java. + application + id("com.google.cloud.tools.jib") version "3.4.0" +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() + maven { + url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/") + } +} + +jib { + to.image = "antifa-info-bot" + container.creationTime.set(DateTimeFormatter.ISO_DATE_TIME.format(Instant.now().atZone(ZoneId.of("UTC")))) + + val buildDir = layout.buildDirectory.get() + outputPaths.imageId = "$buildDir/github-release.bot.id" + outputPaths.digest = "$buildDir/github-release.bot.digest" + outputPaths.imageJson = "$buildDir/github-release.bot.json" + outputPaths.tar = "$buildDir/github-release.bot.tar" +} + +dependencies { + + implementation("com.ouattararomuald:syndication:2.1.1") { + exclude("com.squareup.okhttp3:okhttp") + } + implementation("com.squareup.okhttp3:okhttp:5.0.0-alpha.12") + implementation(libs.guava) + implementation("com.google.code.gson:gson:2.10.1") + implementation("social.bigbone:bigbone:2.0.0-SNAPSHOT") + + testImplementation("io.kotest:kotest-runner-junit5:5.8.0") + testImplementation("io.kotest:kotest-assertions-core:5.8.0") + testImplementation("com.willowtreeapps.assertk:assertk:0.28.0") + testImplementation("io.mockk:mockk:1.13.9") +} + +// Apply a specific Java toolchain to ease working on different environments. +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } +} + +application { + // Define the main class for the application. + mainClass.set("de.rpr.releases.AppKt") +} + +tasks.named("test") { + // Use JUnit Platform for unit tests. + useJUnitPlatform() +} diff --git a/app/src/test/resources/releases.atom b/app/src/test/resources/releases.atom new file mode 100644 index 0000000..2f8d665 --- /dev/null +++ b/app/src/test/resources/releases.atom @@ -0,0 +1,1086 @@ + + + tag:github.com,2008:https://github.com/navidrome/navidrome/releases + + + Release notes from navidrome + 2024-01-21T22:20:47+01:00 + + tag:github.com,2008:Repository/52481933/v0.51.0 + 2024-01-23T00:59:21+01:00 + + v0.51.0 + <h2>New in this release.</h2> +<p><strong><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> BREAKING CHANGE:</strong> This release removes the Last.fm shared API-key, as previously announced <a href="https://www.reddit.com/r/navidrome/comments/183wypy/important_update_navidrome_to_remove_shared/" rel="nofollow">here</a>.<br> +If you use any Last.fm functionality (scrobbling, biographies, album descriptions), please check the <a href="https://www.navidrome.org/docs/usage/external-integrations/#lastfm" rel="nofollow">documentation</a> on how to create your own API Key, it is free and should only take you a couple of minutes. <strong>NOTE:</strong> Remember to re-enable scrobbling after changing the API Key and restarting the server.</p> +<p>In this release we focused on support and compatibility with <a href="https://opensubsonic.netlify.app/docs/opensubsonic-changes/" rel="nofollow">OpenSubsonic</a>, increasing the overall user experience when using a compatible Subsonic client. Click <a href="https://github.com/navidrome/navidrome/issues/2695" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2695/hovercard">here</a> for the full list of what is implemented and what is missing for now.</p> +<p><strong>NOTE:</strong> Even though this release does not force a full rescan, you should do it at your discretion, to import more tags available in the scanner, ex: structured lyrics.</p> +<h2>Highlights</h2> +<ul> +<li>[Server] Remove LastFM shared key</li> +<li>[Server] Add new <code>PrefSortTags</code> option (<a href="https://github.com/navidrome/navidrome/issues/2696" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2696/hovercard">#2696</a>)</li> +<li>[Server] Make unix socket file permission configurable via flag <code>UnixSocketPerm</code> (<a href="https://github.com/navidrome/navidrome/issues/2763" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2763/hovercard">#2763)</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johannesengl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johannesengl">@johannesengl</a></li> +<li>[Server] Add <code>inPlaylist/notInPlaylist</code> operators to Smart Playlists (<a href="https://github.com/navidrome/navidrome/issues/1884" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1884/hovercard">#1884</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flyingOwl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flyingOwl">@flyingOwl</a></li> +<li>[Server] Add TAK support (<a href="https://github.com/navidrome/navidrome/issues/2745" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2745/hovercard">#2745</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/apkatsikas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/apkatsikas">@apkatsikas</a></li> +<li>[Scanner] Import more M4A tags (<a href="https://github.com/navidrome/navidrome/issues/2680" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2680/hovercard">#2680</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[Scanner] Upgrade to TagLib 1.13.1</li> +<li>[Subsonic] Optimize <code>search3</code> endpoint. Syncs in offline clients (ex: Symfonium) will be faster now.</li> +<li>[Subsonic] Add multiple OpenSubsonic extensions (See <a href="https://github.com/navidrome/navidrome/issues/2695" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2695/hovercard">#2695</a>)</li> +<li>[Subsonic] Improved getTopSongs results (<a href="https://github.com/navidrome/navidrome/issues/2675" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2675/hovercard">#2675</a>)</li> +<li>[Subsonic] General Jukebox improvements</li> +<li>[CLI] Add "inspect" command to CLI. You can now see what tags Navidrome import by running ex: <code>navidrome inspect your_file.mp3</code></li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fd61b29a84117b4ab43cf6599a11d1d5110358a1/hovercard" href="https://github.com/navidrome/navidrome/commit/fd61b29a84117b4ab43cf6599a11d1d5110358a1"><tt>fd61b29</tt></a> Small readability improvement in MergeFS tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2b33ef72e36e5c0e2e8ef37c24908abd06517520/hovercard" href="https://github.com/navidrome/navidrome/commit/2b33ef72e36e5c0e2e8ef37c24908abd06517520"><tt>2b33ef7</tt></a> Remove offset and limit from count queries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1807137085" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2443" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2443/hovercard" href="https://github.com/navidrome/navidrome/issues/2443">#2443</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2fb913f5c93bbaf47554dc1dfdc8ddf4b6570ed3/hovercard" href="https://github.com/navidrome/navidrome/commit/2fb913f5c93bbaf47554dc1dfdc8ddf4b6570ed3"><tt>2fb913f</tt></a> Add log message to try to capture error in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055238251" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2735" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2735/hovercard" href="https://github.com/navidrome/navidrome/issues/2735">#2735</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6c05493cda4eff492ea12ab24ba5a555f38988c9/hovercard" href="https://github.com/navidrome/navidrome/commit/6c05493cda4eff492ea12ab24ba5a555f38988c9"><tt>6c05493</tt></a> Improve some Jukebox error messages</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3ca4f4411860c31da9e62b45d2431426a0c1393a/hovercard" href="https://github.com/navidrome/navidrome/commit/3ca4f4411860c31da9e62b45d2431426a0c1393a"><tt>3ca4f44</tt></a> Simplify default middlewares setup</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/34c29a156f1435cc0f61eb90d270b9e4ba0dd7a1/hovercard" href="https://github.com/navidrome/navidrome/commit/34c29a156f1435cc0f61eb90d270b9e4ba0dd7a1"><tt>34c29a1</tt></a> Simplify RealIP middleware setup</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b442736a0f7d9b3eaf7a29735cf4022fd2da0223/hovercard" href="https://github.com/navidrome/navidrome/commit/b442736a0f7d9b3eaf7a29735cf4022fd2da0223"><tt>b442736</tt></a> Bump connected-react-router from 6.9.1 to 6.9.3 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055786997" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2741" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2741/hovercard" href="https://github.com/navidrome/navidrome/pull/2741">#2741</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/90fccf00d12b72042e909f7243384b61cee08786/hovercard" href="https://github.com/navidrome/navidrome/commit/90fccf00d12b72042e909f7243384b61cee08786"><tt>90fccf0</tt></a> Bump workbox-cli from 6.5.4 to 7.0.0 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055786252" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2737" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2737/hovercard" href="https://github.com/navidrome/navidrome/pull/2737">#2737</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bcd4a52616b2eb9f12fdd2a2bb545beaa5ac1d0d/hovercard" href="https://github.com/navidrome/navidrome/commit/bcd4a52616b2eb9f12fdd2a2bb545beaa5ac1d0d"><tt>bcd4a52</tt></a> Bump golang.org/x/sync from 0.5.0 to 0.6.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2070962518" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2779" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2779/hovercard" href="https://github.com/navidrome/navidrome/pull/2779">#2779</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/84cffa6b94cfc36eb8afbef599af063df71fedd9/hovercard" href="https://github.com/navidrome/navidrome/commit/84cffa6b94cfc36eb8afbef599af063df71fedd9"><tt>84cffa6</tt></a> Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061686619" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2759" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2759/hovercard" href="https://github.com/navidrome/navidrome/pull/2759">#2759</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a51b1b25d228d93042b9cfaeda612eb183cd217f/hovercard" href="https://github.com/navidrome/navidrome/commit/a51b1b25d228d93042b9cfaeda612eb183cd217f"><tt>a51b1b2</tt></a> Bump uuid from 8.3.2 to 9.0.1 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055786834" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2740" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2740/hovercard" href="https://github.com/navidrome/navidrome/pull/2740">#2740</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9f317c054b4d9d0f8314cf1245e5253c134d139b/hovercard" href="https://github.com/navidrome/navidrome/commit/9f317c054b4d9d0f8314cf1245e5253c134d139b"><tt>9f317c0</tt></a> Bump @testing-library/user-event from 14.5.1 to 14.5.2 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061682341" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2757" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2757/hovercard" href="https://github.com/navidrome/navidrome/pull/2757">#2757</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5f8d01a207cd84e9df4e4ac3e762e6bb785e050b/hovercard" href="https://github.com/navidrome/navidrome/commit/5f8d01a207cd84e9df4e4ac3e762e6bb785e050b"><tt>5f8d01a</tt></a> Bump clsx from 2.0.0 to 2.1.0 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061682555" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2758" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2758/hovercard" href="https://github.com/navidrome/navidrome/pull/2758">#2758</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8a648d717a957c8a630fa9faa6301607ef36e3a4/hovercard" href="https://github.com/navidrome/navidrome/commit/8a648d717a957c8a630fa9faa6301607ef36e3a4"><tt>8a648d7</tt></a> Bump github.com/go-chi/chi/v5 from 5.0.10 to 5.0.11 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055798724" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2742" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2742/hovercard" href="https://github.com/navidrome/navidrome/pull/2742">#2742</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a0dc2ee0518896339dbc96ce1a2da2e1e0ec893b/hovercard" href="https://github.com/navidrome/navidrome/commit/a0dc2ee0518896339dbc96ce1a2da2e1e0ec893b"><tt>a0dc2ee</tt></a> Bump github.com/pelletier/go-toml/v2 from 2.0.6 to 2.1.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061686681" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2760" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2760/hovercard" href="https://github.com/navidrome/navidrome/pull/2760">#2760</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ffb4de1e275f235f47a943e27358541144a83ba2/hovercard" href="https://github.com/navidrome/navidrome/commit/ffb4de1e275f235f47a943e27358541144a83ba2"><tt>ffb4de1</tt></a> Bump github.com/unrolled/secure from 1.13.0 to 1.14.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061686716" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2761" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2761/hovercard" href="https://github.com/navidrome/navidrome/pull/2761">#2761</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e1fc7983a53f388aadc6a6f8f6097f8fff44cf3d/hovercard" href="https://github.com/navidrome/navidrome/commit/e1fc7983a53f388aadc6a6f8f6097f8fff44cf3d"><tt>e1fc798</tt></a> Bump golang.org/x/image from 0.14.0 to 0.15.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2070962383" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2778" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2778/hovercard" href="https://github.com/navidrome/navidrome/pull/2778">#2778</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2a43f54eb1beee98f3d86cd7fccaf8801f3353b7/hovercard" href="https://github.com/navidrome/navidrome/commit/2a43f54eb1beee98f3d86cd7fccaf8801f3353b7"><tt>2a43f54</tt></a> Bump follow-redirects from 1.15.2 to 1.15.4 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2073704287" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2786" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2786/hovercard" href="https://github.com/navidrome/navidrome/pull/2786">#2786</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f654e921139e83b701341d0096f5668eb687b426/hovercard" href="https://github.com/navidrome/navidrome/commit/f654e921139e83b701341d0096f5668eb687b426"><tt>f654e92</tt></a> Bump github.com/lestrrat-go/jwx/v2 from 2.0.18 to 2.0.19 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2082436977" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2792" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2792/hovercard" href="https://github.com/navidrome/navidrome/pull/2792">#2792</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dfa453cc4ab772928686838dc73d0130740f054e/hovercard" href="https://github.com/navidrome/navidrome/commit/dfa453cc4ab772928686838dc73d0130740f054e"><tt>dfa453c</tt></a> Add (not)inplaylist operator to smart playlists (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1384830237" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1884" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1884/hovercard" href="https://github.com/navidrome/navidrome/pull/1884">#1884</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8f03454312f28213293da7fec7f63508985f0eeb/hovercard" href="https://github.com/navidrome/navidrome/commit/8f03454312f28213293da7fec7f63508985f0eeb"><tt>8f03454</tt></a> Make server unix socket file permission configurable via flag UnixSocketPerm (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2063777238" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2763" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2763/hovercard" href="https://github.com/navidrome/navidrome/pull/2763">#2763</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8570773b9036974cf94d56739c79cd0fe6199d66/hovercard" href="https://github.com/navidrome/navidrome/commit/8570773b9036974cf94d56739c79cd0fe6199d66"><tt>8570773</tt></a> Bump prettier from 3.1.1 to 3.2.2 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6cff91e17d2f23974631c429c8094ef6ae838099/hovercard" href="https://github.com/navidrome/navidrome/commit/6cff91e17d2f23974631c429c8094ef6ae838099"><tt>6cff91e</tt></a> Use the default import path for jest-dom.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d0df81a8df5442b06d482d12c33de9b5f9d76003/hovercard" href="https://github.com/navidrome/navidrome/commit/d0df81a8df5442b06d482d12c33de9b5f9d76003"><tt>d0df81a</tt></a> Bump @testing-library/jest-dom from 5.16.5 to 6.2.0 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/75f3ef64e27c92af93f2af5d7a7d7f2aed8a5392/hovercard" href="https://github.com/navidrome/navidrome/commit/75f3ef64e27c92af93f2af5d7a7d7f2aed8a5392"><tt>75f3ef6</tt></a> Bump react-icons from 4.4.0 to 5.0.1 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/170ac939268cd5912cf31b345a095a741f6ab7c3/hovercard" href="https://github.com/navidrome/navidrome/commit/170ac939268cd5912cf31b345a095a741f6ab7c3"><tt>170ac93</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.13.2 to 2.14.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6f7b48202e9135378f3696f28b8f49595f8a8f75/hovercard" href="https://github.com/navidrome/navidrome/commit/6f7b48202e9135378f3696f28b8f49595f8a8f75"><tt>6f7b482</tt></a> Make the GetInstance concurrent test more readable</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6e2be7f95f9e1dc2be1ddef281966bba83cb37a8/hovercard" href="https://github.com/navidrome/navidrome/commit/6e2be7f95f9e1dc2be1ddef281966bba83cb37a8"><tt>6e2be7f</tt></a> Don't force a full scan after upgrading the lyrics</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0d8f8e3afd23b62db1eb85b8704af3032cc55e35/hovercard" href="https://github.com/navidrome/navidrome/commit/0d8f8e3afd23b62db1eb85b8704af3032cc55e35"><tt>0d8f8e3</tt></a> Optimize Singleton (sometimes a simple lock is a better solution)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e50382e3bf81f77f3b858a6f8cac31e7d7ab0b74/hovercard" href="https://github.com/navidrome/navidrome/commit/e50382e3bf81f77f3b858a6f8cac31e7d7ab0b74"><tt>e50382e</tt></a> Fix ReplayGain values not being retrieved from DB</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/814161d78db0dc07c16fa6e80f6ff1710866e31b/hovercard" href="https://github.com/navidrome/navidrome/commit/814161d78db0dc07c16fa6e80f6ff1710866e31b"><tt>814161d</tt></a> Add OS Lyrics extension (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2010886800" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2656" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2656/hovercard" href="https://github.com/navidrome/navidrome/pull/2656">#2656</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/130ab76c79d1a33e78eab6c45bcccddff63641e2/hovercard" href="https://github.com/navidrome/navidrome/commit/130ab76c79d1a33e78eab6c45bcccddff63641e2"><tt>130ab76</tt></a> go mod tidy</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a186a795f68dd39371312d1c17baa4d42dc33969/hovercard" href="https://github.com/navidrome/navidrome/commit/a186a795f68dd39371312d1c17baa4d42dc33969"><tt>a186a79</tt></a> Omit empty Genre attributes</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/798b03eabd00d2153f44844d6715960afdb8d4ad/hovercard" href="https://github.com/navidrome/navidrome/commit/798b03eabd00d2153f44844d6715960afdb8d4ad"><tt>798b03e</tt></a> Add "inspect" command to CLI</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ea7ba22699795392614ecc86263df2c23a522dae/hovercard" href="https://github.com/navidrome/navidrome/commit/ea7ba22699795392614ecc86263df2c23a522dae"><tt>ea7ba22</tt></a> Discard duplicated tags</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b4815ecee58ed6ee3814c6004d00d0f99c4a60f2/hovercard" href="https://github.com/navidrome/navidrome/commit/b4815ecee58ed6ee3814c6004d00d0f99c4a60f2"><tt>b4815ec</tt></a> Add TAK support (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055851965" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2745" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2745/hovercard" href="https://github.com/navidrome/navidrome/pull/2745">#2745</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/51e07d4cb5dac62aae3fe54356678c85c6adb5d1/hovercard" href="https://github.com/navidrome/navidrome/commit/51e07d4cb5dac62aae3fe54356678c85c6adb5d1"><tt>51e07d4</tt></a> Add log.IsGreaterOrEqualTo, that take into consideration path-scoped log levels</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/03119e5ccfaebc6a618831bb7c312e5ce007ed2b/hovercard" href="https://github.com/navidrome/navidrome/commit/03119e5ccfaebc6a618831bb7c312e5ce007ed2b"><tt>03119e5</tt></a> Add more trace log to TagLib Wrapper</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/15e1394fa337fbb6d54f51d5358507bfba41a615/hovercard" href="https://github.com/navidrome/navidrome/commit/15e1394fa337fbb6d54f51d5358507bfba41a615"><tt>15e1394</tt></a> Implement <code>originalReleaseDate</code> in OpenSubsonic responses. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2054618911" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2733" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2733/hovercard" href="https://github.com/navidrome/navidrome/pull/2733">#2733</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3f349b1b582b9d60a87a6cd05a84a6c7ad50bef5/hovercard" href="https://github.com/navidrome/navidrome/commit/3f349b1b582b9d60a87a6cd05a84a6c7ad50bef5"><tt>3f349b1</tt></a> Add todo as a reminder to replace min/max in Go 1.22</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dfcc189cffbea00bcbe283fcc88becb713748cce/hovercard" href="https://github.com/navidrome/navidrome/commit/dfcc189cffbea00bcbe283fcc88becb713748cce"><tt>dfcc189</tt></a> Replace all <code>utils.Param*</code> with <code>req.Params</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/00597e01e914a60850db76859602f6a870f37792/hovercard" href="https://github.com/navidrome/navidrome/commit/00597e01e914a60850db76859602f6a870f37792"><tt>00597e0</tt></a> Add <code>req.Params</code> to replace <code>utils.Param*</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/965fc9d9be41ebc2fa8118d91beb2abdebe76a15/hovercard" href="https://github.com/navidrome/navidrome/commit/965fc9d9be41ebc2fa8118d91beb2abdebe76a15"><tt>965fc9d</tt></a> Remove beep and the files where it was imported (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2052037703" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2731" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2731/hovercard" href="https://github.com/navidrome/navidrome/pull/2731">#2731</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/781ff404649ff0addad914ef35ba2b7cf6ff0440/hovercard" href="https://github.com/navidrome/navidrome/commit/781ff404649ff0addad914ef35ba2b7cf6ff0440"><tt>781ff40</tt></a> Bump Go version to 1.21.5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2051494148" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2729" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2729/hovercard" href="https://github.com/navidrome/navidrome/pull/2729">#2729</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a6ed0442f2f4ccd7c6fe5d0efb9b6f7a9db05bc4/hovercard" href="https://github.com/navidrome/navidrome/commit/a6ed0442f2f4ccd7c6fe5d0efb9b6f7a9db05bc4"><tt>a6ed044</tt></a> Name <code>mapDates</code> return values</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/515efe37f0d520652dee8c15f03d5993c54683c8/hovercard" href="https://github.com/navidrome/navidrome/commit/515efe37f0d520652dee8c15f03d5993c54683c8"><tt>515efe3</tt></a> Bump @testing-library/user-event from 13.5.0 to 14.5.1 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6c28c111bb627374a4d60583d1735adacd363b7d/hovercard" href="https://github.com/navidrome/navidrome/commit/6c28c111bb627374a4d60583d1735adacd363b7d"><tt>6c28c11</tt></a> Bump @adobe/css-tools from 4.3.1 to 4.3.2 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/92a88ad4d9eadb9e1e40d3ad6367a75a12cf716c/hovercard" href="https://github.com/navidrome/navidrome/commit/92a88ad4d9eadb9e1e40d3ad6367a75a12cf716c"><tt>92a88ad</tt></a> Bump golang.org/x/crypto from 0.16.0 to 0.17.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2047567750" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2722" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2722/hovercard" href="https://github.com/navidrome/navidrome/pull/2722">#2722</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4ccc0a92bfb7d43ce98cbeddf3a933e016fbeb82/hovercard" href="https://github.com/navidrome/navidrome/commit/4ccc0a92bfb7d43ce98cbeddf3a933e016fbeb82"><tt>4ccc0a9</tt></a> Bump jwt-decode from 3.1.2 to 4.0.0 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2047093387" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2714" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2714/hovercard" href="https://github.com/navidrome/navidrome/pull/2714">#2714</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/df3de047ca2ff392a04700bb05f998a000538aca/hovercard" href="https://github.com/navidrome/navidrome/commit/df3de047ca2ff392a04700bb05f998a000538aca"><tt>df3de04</tt></a> Bump clsx from 1.1.1 to 2.0.0 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/86757663d666d08093d4d3e2a6195238addaaec0/hovercard" href="https://github.com/navidrome/navidrome/commit/86757663d666d08093d4d3e2a6195238addaaec0"><tt>8675766</tt></a> Reformat code with Prettier's new rules.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/735d670a5bc792e4a42894ff6f54d36c24d8830e/hovercard" href="https://github.com/navidrome/navidrome/commit/735d670a5bc792e4a42894ff6f54d36c24d8830e"><tt>735d670</tt></a> Bump prettier from 2.8.2 to 3.1.1 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/30179146c389ac9b475a4427b26ae9046a8081f9/hovercard" href="https://github.com/navidrome/navidrome/commit/30179146c389ac9b475a4427b26ae9046a8081f9"><tt>3017914</tt></a> Bump deepmerge from 4.2.2 to 4.3.1 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/03a9f22ed9b8eb87af3e99ee531ddf965a434a78/hovercard" href="https://github.com/navidrome/navidrome/commit/03a9f22ed9b8eb87af3e99ee531ddf965a434a78"><tt>03a9f22</tt></a> Bump @material-ui/icons from 4.11.2 to 4.11.3 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/39e92a1918eb5c3f2a181febc003d7161e414936/hovercard" href="https://github.com/navidrome/navidrome/commit/39e92a1918eb5c3f2a181febc003d7161e414936"><tt>39e92a1</tt></a> Bump github.com/mattn/go-sqlite3 from 1.14.18 to 1.14.19</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/421ce91a9efacc6d845f7e6715bb4093cdef221d/hovercard" href="https://github.com/navidrome/navidrome/commit/421ce91a9efacc6d845f7e6715bb4093cdef221d"><tt>421ce91</tt></a> Fix mpvipc dependency</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/12aae5e9511a9c9cbeb66cfcb825f7898ceea1dd/hovercard" href="https://github.com/navidrome/navidrome/commit/12aae5e9511a9c9cbeb66cfcb825f7898ceea1dd"><tt>12aae5e</tt></a> Some cleanup in the jukebox code, specially log messages</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/932152eb7e8817e0fe388e984a47a30fae8368cf/hovercard" href="https://github.com/navidrome/navidrome/commit/932152eb7e8817e0fe388e984a47a30fae8368cf"><tt>932152e</tt></a> Change required fields in Subsonic Jukebox endpoint</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0e3175ea17acc160fb0fd7b6744ffb4a2f4f357e/hovercard" href="https://github.com/navidrome/navidrome/commit/0e3175ea17acc160fb0fd7b6744ffb4a2f4f357e"><tt>0e3175e</tt></a> Better workaround for Go 1.20 missing context.WithoutCancel</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d3f6b4692deaa7ff62b90f1c017f93a0911b735f/hovercard" href="https://github.com/navidrome/navidrome/commit/d3f6b4692deaa7ff62b90f1c017f93a0911b735f"><tt>d3f6b46</tt></a> Temporary fix for scan context cancellation for Go 1.20</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/70effa09e829fcdf444d5ff217d84dfe5bb25c8a/hovercard" href="https://github.com/navidrome/navidrome/commit/70effa09e829fcdf444d5ff217d84dfe5bb25c8a"><tt>70effa0</tt></a> Don't cancel Scan on context cancellation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7ccf6859733cfa9091fbc0a97880ad155b6f23ec/hovercard" href="https://github.com/navidrome/navidrome/commit/7ccf6859733cfa9091fbc0a97880ad155b6f23ec"><tt>7ccf685</tt></a> Fix PreferSortTags</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2aef2275723e67a68a5a66badbc5ce76837ad101/hovercard" href="https://github.com/navidrome/navidrome/commit/2aef2275723e67a68a5a66badbc5ce76837ad101"><tt>2aef227</tt></a> Add context to SQL queries, enabling cancellation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d80e1a260bed86cef0ef6bbaa85b9346bd0488f1/hovercard" href="https://github.com/navidrome/navidrome/commit/d80e1a260bed86cef0ef6bbaa85b9346bd0488f1"><tt>d80e1a2</tt></a> Fix possible authentication bypass</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fd4605d7dce78c4d294edd00d93255c19ad91eeb/hovercard" href="https://github.com/navidrome/navidrome/commit/fd4605d7dce78c4d294edd00d93255c19ad91eeb"><tt>fd4605d</tt></a> Bump github.com/mattn/go-zglob from 0.0.3 to 0.0.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1466762595" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2015" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2015/hovercard" href="https://github.com/navidrome/navidrome/pull/2015">#2015</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a6493c4c362a658e5ed56d65cbf4d1f8db87175a/hovercard" href="https://github.com/navidrome/navidrome/commit/a6493c4c362a658e5ed56d65cbf4d1f8db87175a"><tt>a6493c4</tt></a> Bump github.com/google/uuid to v1.5.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/54597bd575f177f631b30d2cdee1e2d54eb98328/hovercard" href="https://github.com/navidrome/navidrome/commit/54597bd575f177f631b30d2cdee1e2d54eb98328"><tt>54597bd</tt></a> Allow reverse proxy auth for unix socket (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2036877694" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2701" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2701/hovercard" href="https://github.com/navidrome/navidrome/pull/2701">#2701</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ab5331327325ea6442673b457aabe94ad11f343e/hovercard" href="https://github.com/navidrome/navidrome/commit/ab5331327325ea6442673b457aabe94ad11f343e"><tt>ab53313</tt></a> Add new PrefSortTags option (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2034192941" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2696" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2696/hovercard" href="https://github.com/navidrome/navidrome/pull/2696">#2696</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d3669f46a93eb73487763a27ecaf23f58c02c478/hovercard" href="https://github.com/navidrome/navidrome/commit/d3669f46a93eb73487763a27ecaf23f58c02c478"><tt>d3669f4</tt></a> go mod tidy</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d89de9060a7705f181105b1512f79cbc7bade110/hovercard" href="https://github.com/navidrome/navidrome/commit/d89de9060a7705f181105b1512f79cbc7bade110"><tt>d89de90</tt></a> Bump Go dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ac3668a33e44ea5c1f7433551fc75d048131d6bc/hovercard" href="https://github.com/navidrome/navidrome/commit/ac3668a33e44ea5c1f7433551fc75d048131d6bc"><tt>ac3668a</tt></a> Removed unused <code>diodes</code> package</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6d924ad742f5c2337bbef4565b8bc305cce4f490/hovercard" href="https://github.com/navidrome/navidrome/commit/6d924ad742f5c2337bbef4565b8bc305cce4f490"><tt>6d924ad</tt></a> Bump github.com/go-chi/jwtauth/v5 from 5.2.0 to 5.3.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2036228605" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2699" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2699/hovercard" href="https://github.com/navidrome/navidrome/pull/2699">#2699</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/78d557c1854b808240a8c5ad21d68dad66535f9d/hovercard" href="https://github.com/navidrome/navidrome/commit/78d557c1854b808240a8c5ad21d68dad66535f9d"><tt>78d557c</tt></a> Remove LastFM shared key</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/546aa26a0ab5b6b3fac481b8c2613c3b2100523b/hovercard" href="https://github.com/navidrome/navidrome/commit/546aa26a0ab5b6b3fac481b8c2613c3b2100523b"><tt>546aa26</tt></a> Removed duplicated code</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fc677f7951765b3f062cbd6fafa8e25404ce34b9/hovercard" href="https://github.com/navidrome/navidrome/commit/fc677f7951765b3f062cbd6fafa8e25404ce34b9"><tt>fc677f7</tt></a> Bump github.com/lestrrat-go/jwx/v2 from 2.0.17 to 2.0.18 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2024338058" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2684" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2684/hovercard" href="https://github.com/navidrome/navidrome/pull/2684">#2684</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/aed030916159faf61457d3c76ae0213345302aa5/hovercard" href="https://github.com/navidrome/navidrome/commit/aed030916159faf61457d3c76ae0213345302aa5"><tt>aed0309</tt></a> Return <code>AlbumID3</code> in <code>search3</code> results</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/465cc091b015a1e434da7b4c5b9d34596fe35d77/hovercard" href="https://github.com/navidrome/navidrome/commit/465cc091b015a1e434da7b4c5b9d34596fe35d77"><tt>465cc09</tt></a> Convert internal disc number representation to int</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2c9035fdd02566a551b65c83cd288591faaf7b7a/hovercard" href="https://github.com/navidrome/navidrome/commit/2c9035fdd02566a551b65c83cd288591faaf7b7a"><tt>2c9035f</tt></a> Add discTitles to OpenSubsonic responses</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/af7eead0379306c82e69c11ab79fa2ba123c16f7/hovercard" href="https://github.com/navidrome/navidrome/commit/af7eead0379306c82e69c11ab79fa2ba123c16f7"><tt>af7eead</tt></a> Add discs to album</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0ca0d5da228a5c2810c6103185891272ade1cdbf/hovercard" href="https://github.com/navidrome/navidrome/commit/0ca0d5da228a5c2810c6103185891272ade1cdbf"><tt>0ca0d5d</tt></a> Replace beego/orm with dbx (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2033401520" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2693" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2693/hovercard" href="https://github.com/navidrome/navidrome/pull/2693">#2693</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7074455e0e7f7f2f9a6753a9bca922e2a5e5fb5c/hovercard" href="https://github.com/navidrome/navidrome/commit/7074455e0e7f7f2f9a6753a9bca922e2a5e5fb5c"><tt>7074455</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.13.1 to 2.13.2</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2f2fbeb00910e13283ae484ebfb78b902680085d/hovercard" href="https://github.com/navidrome/navidrome/commit/2f2fbeb00910e13283ae484ebfb78b902680085d"><tt>2f2fbeb</tt></a> Fix ld warnings on taglib_wrapper.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/742fd16a0122eb1b2f4e601ea9d18b4c1bb248f4/hovercard" href="https://github.com/navidrome/navidrome/commit/742fd16a0122eb1b2f4e601ea9d18b4c1bb248f4"><tt>742fd16</tt></a> Parse more itunes keys, optimize taglib wrapper (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2022405298" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2680" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2680/hovercard" href="https://github.com/navidrome/navidrome/pull/2680">#2680</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7766ee069cb50f298144ffd46ea0fd93e3540b79/hovercard" href="https://github.com/navidrome/navidrome/commit/7766ee069cb50f298144ffd46ea0fd93e3540b79"><tt>7766ee0</tt></a> Return http form post extension (OpenSubsonic) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2022119451" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2676" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2676/hovercard" href="https://github.com/navidrome/navidrome/pull/2676">#2676</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4cd7c7f39fd122ad8b8cd98dff9213148d778bd7/hovercard" href="https://github.com/navidrome/navidrome/commit/4cd7c7f39fd122ad8b8cd98dff9213148d778bd7"><tt>4cd7c7f</tt></a> Fix FileHaunter tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/81daee3b9b214a1931d91c5b19777b6cfddf6c7a/hovercard" href="https://github.com/navidrome/navidrome/commit/81daee3b9b214a1931d91c5b19777b6cfddf6c7a"><tt>81daee3</tt></a> Fix FileHaunter tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9b434d743f480dbabd494195b1115e7b4596b05a/hovercard" href="https://github.com/navidrome/navidrome/commit/9b434d743f480dbabd494195b1115e7b4596b05a"><tt>9b434d7</tt></a> Ignore flaky FileHaunter tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4641dc0b2bbdb0a381b40c1f90519a4f3490b016/hovercard" href="https://github.com/navidrome/navidrome/commit/4641dc0b2bbdb0a381b40c1f90519a4f3490b016"><tt>4641dc0</tt></a> Add ReplayGain to OpenSubsonic API Child response</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/812dc2090f20ac4f8ac271b6ed95be5889d1a3ca/hovercard" href="https://github.com/navidrome/navidrome/commit/812dc2090f20ac4f8ac271b6ed95be5889d1a3ca"><tt>812dc20</tt></a> Add support for <code>timeOffset</code> in <code>/stream</code> endpoint</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a9cf54afef34f980985c76ae3a5e1b7441098831/hovercard" href="https://github.com/navidrome/navidrome/commit/a9cf54afef34f980985c76ae3a5e1b7441098831"><tt>a9cf54a</tt></a> Return genres in bookmark endpoints (OpenSubsonic)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/595186b1b28310d6f77b8a659a21bb02c930e0c2/hovercard" href="https://github.com/navidrome/navidrome/commit/595186b1b28310d6f77b8a659a21bb02c930e0c2"><tt>595186b</tt></a> Coalesce null annotation values, to better rank them against annotations with value 0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cdccdc56c9072e539b808b998cf9bdfabe864149/hovercard" href="https://github.com/navidrome/navidrome/commit/cdccdc56c9072e539b808b998cf9bdfabe864149"><tt>cdccdc5</tt></a> Add more OpenSubsonic fields</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f580c5b8bc6062dfbc67559cd86f5d686fcbc7aa/hovercard" href="https://github.com/navidrome/navidrome/commit/f580c5b8bc6062dfbc67559cd86f5d686fcbc7aa"><tt>f580c5b</tt></a> Add more OpenSubsonic fields</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f0e25c251d1589e5aff8d9374a6e2dd8a7cde0b6/hovercard" href="https://github.com/navidrome/navidrome/commit/f0e25c251d1589e5aff8d9374a6e2dd8a7cde0b6"><tt>f0e25c2</tt></a> Update translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/abde399e7bf709fc053c3873b810d1b5f80d68d9/hovercard" href="https://github.com/navidrome/navidrome/commit/abde399e7bf709fc053c3873b810d1b5f80d68d9"><tt>abde399</tt></a> Upgrade to Goose 3.15.1</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1b4483d32ba8a5fce83bf81cab7552efe4fa2c53/hovercard" href="https://github.com/navidrome/navidrome/commit/1b4483d32ba8a5fce83bf81cab7552efe4fa2c53"><tt>1b4483d</tt></a> Remove <code>tools.go</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f7fe8ba938bdedd7d1c57432bafd1a88b68e39a1/hovercard" href="https://github.com/navidrome/navidrome/commit/f7fe8ba938bdedd7d1c57432bafd1a88b68e39a1"><tt>f7fe8ba</tt></a> npx update-browserslist-db@latest</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f543e7accc36d768bee784ead37c7a6c58a707bf/hovercard" href="https://github.com/navidrome/navidrome/commit/f543e7accc36d768bee784ead37c7a6c58a707bf"><tt>f543e7a</tt></a> Fix getOpenSubsonicExtensions endpoint</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/60a5fbe1fe11a0555c67118c7f9a2c8a91366025/hovercard" href="https://github.com/navidrome/navidrome/commit/60a5fbe1fe11a0555c67118c7f9a2c8a91366025"><tt>60a5fbe</tt></a> Optimize search3, by removing <code>OFFSET</code> when paginating (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2010838385" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2655" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2655/hovercard" href="https://github.com/navidrome/navidrome/pull/2655">#2655</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/28dc98dec46a83d6163c5943d2522015b76969c4/hovercard" href="https://github.com/navidrome/navidrome/commit/28dc98dec46a83d6163c5943d2522015b76969c4"><tt>28dc98d</tt></a> Revert "Replace <code>COUNT(DISTINCT primary_key)</code> with <code>COUNT(*)</code>"</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8c8e1ea701456870fd4591cf619d74a1dc58d8e4/hovercard" href="https://github.com/navidrome/navidrome/commit/8c8e1ea701456870fd4591cf619d74a1dc58d8e4"><tt>8c8e1ea</tt></a> Replace <code>COUNT(DISTINCT primary_key)</code> with <code>COUNT(*)</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b964018cd70597e8b7799797d33bef24d0f20dd5/hovercard" href="https://github.com/navidrome/navidrome/commit/b964018cd70597e8b7799797d33bef24d0f20dd5"><tt>b964018</tt></a> Show SQL errors in queryAll</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9aa7b80d0d78aee437f5385fb0909615caf4a25b/hovercard" href="https://github.com/navidrome/navidrome/commit/9aa7b80d0d78aee437f5385fb0909615caf4a25b"><tt>9aa7b80</tt></a> Generalize BreakUp/RangByChunks functions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c3efc572594a38b9f983c059132c51a2aff3227d/hovercard" href="https://github.com/navidrome/navidrome/commit/c3efc572594a38b9f983c059132c51a2aff3227d"><tt>c3efc57</tt></a> Use TagLib 1.13.1 for snapshots/releases</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/27a92b05e7f3d8229b4f991687b9933fc79b8b4c/hovercard" href="https://github.com/navidrome/navidrome/commit/27a92b05e7f3d8229b4f991687b9933fc79b8b4c"><tt>27a92b0</tt></a> Fixed deprecated GoReleaser options</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/21f1354cd14e32e1260fc95a38dd451c6914fb3d/hovercard" href="https://github.com/navidrome/navidrome/commit/21f1354cd14e32e1260fc95a38dd451c6914fb3d"><tt>21f1354</tt></a> Revert "Bump golang.org/x/exp, change slices.SortFunc function call"</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/069da5d91c82808bc80bec9015790bca30901565/hovercard" href="https://github.com/navidrome/navidrome/commit/069da5d91c82808bc80bec9015790bca30901565"><tt>069da5d</tt></a> Bump Go to 1.21.4</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/69d2ced852c365e949a30f681d25e46b5acc4380/hovercard" href="https://github.com/navidrome/navidrome/commit/69d2ced852c365e949a30f681d25e46b5acc4380"><tt>69d2ced</tt></a> Bump Go dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/17ac8d25cbf57f7a11bb9b06af99e5469f9b5eeb/hovercard" href="https://github.com/navidrome/navidrome/commit/17ac8d25cbf57f7a11bb9b06af99e5469f9b5eeb"><tt>17ac8d2</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/474f32f1b8819bbc9d5a9063b9c7c0e35f6f9528/hovercard" href="https://github.com/navidrome/navidrome/commit/474f32f1b8819bbc9d5a9063b9c7c0e35f6f9528"><tt>474f32f</tt></a> Bump golang.org/x/exp, change slices.SortFunc function call</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ecadcfb403e856095ca1e3153224175696933586/hovercard" href="https://github.com/navidrome/navidrome/commit/ecadcfb403e856095ca1e3153224175696933586"><tt>ecadcfb</tt></a> Make <code>ParamInt</code> generic (any int type)</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.50.2 + 2023-12-14T01:37:26+01:00 + + v0.50.2 + <h2>Bug fix point release</h2> +<p>This release fixes a couple of bugs, most importantly authentication could be bypassed when the server had never been restarted after initial setup. More details are coming in a security advisory being prepared by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crazygolem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crazygolem">@crazygolem</a>, but if you can't promptly install this bug fix version, you can simply restart your server and you are clear.</p> +<p>Many thanks for <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crazygolem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crazygolem">@crazygolem</a> for researching and finding this bug.</p> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/823bef5464171284b7e6ef4be49bf5d9283b4217/hovercard" href="https://github.com/navidrome/navidrome/commit/823bef5464171284b7e6ef4be49bf5d9283b4217"><tt>823bef5</tt></a> Ignore flaky FileHaunter tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/713b3a1babbad78b97a4851e12e7a2afbc0652a6/hovercard" href="https://github.com/navidrome/navidrome/commit/713b3a1babbad78b97a4851e12e7a2afbc0652a6"><tt>713b3a1</tt></a> Update translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6ebb03210abebe2508c67d0a331f955ddc9b3ccf/hovercard" href="https://github.com/navidrome/navidrome/commit/6ebb03210abebe2508c67d0a331f955ddc9b3ccf"><tt>6ebb032</tt></a> Allow reverse proxy auth for unix socket (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2036877694" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2701" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2701/hovercard" href="https://github.com/navidrome/navidrome/pull/2701">#2701</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1132abb0135d1ecaebc41ed97a1e908a4ae02f7c/hovercard" href="https://github.com/navidrome/navidrome/commit/1132abb0135d1ecaebc41ed97a1e908a4ae02f7c"><tt>1132abb</tt></a> Fix possible authentication bypass</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.50.1 + 2023-11-22T04:05:26+01:00 + + v0.50.1 + <h2>Bug fix point release</h2> +<p>This release fixes a few bugs, most notably the scanner in Windows systems and the ARM docker image availability in Docker Hub.</p> +<ul> +<li>[UI] Add Indonesian. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tarokeitaro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tarokeitaro">@tarokeitaro</a></li> +<li>[Scanner] Fix Windows scanner (<a href="https://github.com/navidrome/navidrome/pull/2633" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2633/hovercard">#2633</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/caiocotts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/caiocotts">@caiocotts</a></li> +<li>[Subsonic] Add OpenSubsonic tags: <code>genres</code>, <code>bpm</code>, <code>comment</code>, <code>musicBrainzID</code> (<a href="https://github.com/navidrome/navidrome/pull/2597" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2597/hovercard">#2597</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dweymouth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dweymouth">@dweymouth</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/caiocotts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/caiocotts">@caiocotts</a></li> +<li>[Build] Fix pushing images to Docker Hub</li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f69c27d14681e31b7a46ceef7c2cbe9de4a1ae45/hovercard" href="https://github.com/navidrome/navidrome/commit/f69c27d14681e31b7a46ceef7c2cbe9de4a1ae45"><tt>f69c27d</tt></a> Return genres in search3 endpoint.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bb7186ce2fb9690ff6296192c31363ef6fff4dc9/hovercard" href="https://github.com/navidrome/navidrome/commit/bb7186ce2fb9690ff6296192c31363ef6fff4dc9"><tt>bb7186c</tt></a> Fix marshaling for genres.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5d1493e8451a14a017d28f1b8f8bb638c566103a/hovercard" href="https://github.com/navidrome/navidrome/commit/5d1493e8451a14a017d28f1b8f8bb638c566103a"><tt>5d1493e</tt></a> Bump @adobe/css-tools from 4.0.1 to 4.3.1 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d0fe406800c385faefbc8ed828119f83fcd0210e/hovercard" href="https://github.com/navidrome/navidrome/commit/d0fe406800c385faefbc8ed828119f83fcd0210e"><tt>d0fe406</tt></a> Fix Go 1.20 build</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c8fbf6b60e10c9dfa934702a98f2bb45a14e162f/hovercard" href="https://github.com/navidrome/navidrome/commit/c8fbf6b60e10c9dfa934702a98f2bb45a14e162f"><tt>c8fbf6b</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e5bc3ca2001c2921cc7ec6c4e3b889f1677f5291/hovercard" href="https://github.com/navidrome/navidrome/commit/e5bc3ca2001c2921cc7ec6c4e3b889f1677f5291"><tt>e5bc3ca</tt></a> Update translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6d88dd2c66227ec1f7720f8002d08f3f259ac2cb/hovercard" href="https://github.com/navidrome/navidrome/commit/6d88dd2c66227ec1f7720f8002d08f3f259ac2cb"><tt>6d88dd2</tt></a> Add Indonesian Language</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/eebfbc5381a1e506ff17b5f1371d1ad83d5fd642/hovercard" href="https://github.com/navidrome/navidrome/commit/eebfbc5381a1e506ff17b5f1371d1ad83d5fd642"><tt>eebfbc5</tt></a> Revert walk_dir_tree.go back to using the os package.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a5dfd2d4a14ac5a5b87fc6016e57b94d2b964a69/hovercard" href="https://github.com/navidrome/navidrome/commit/a5dfd2d4a14ac5a5b87fc6016e57b94d2b964a69"><tt>a5dfd2d</tt></a> Format subsonic response snapshots</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/77735228035c1c6c80c2eb23644b1a43a9285c84/hovercard" href="https://github.com/navidrome/navidrome/commit/77735228035c1c6c80c2eb23644b1a43a9285c84"><tt>7773522</tt></a> Expose OpenSubsonic fields Genres, MusicBrainzId, Bpm, Comment (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1983913613" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2597" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2597/hovercard" href="https://github.com/navidrome/navidrome/pull/2597">#2597</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/53607fe11446a1bac581bc551ba740456dd4720d/hovercard" href="https://github.com/navidrome/navidrome/commit/53607fe11446a1bac581bc551ba740456dd4720d"><tt>53607fe</tt></a> Publish all new images to Docker Registry</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.50.0 + 2023-11-18T16:53:22+01:00 + + v0.50.0 + <h2>New in this release</h2> +<h3>Jukebox mode</h3> +<p>One of the most <a href="https://github.com/navidrome/navidrome/issues/364" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/364/hovercard">requested features</a> is finally available: Navidrome's Jukebox feature is a built-in functionality that allows users to play music directly to the server's audio. This essentially turns your server into a jukebox, enabling you to play songs or playlists remotely through a supported Subsonic client. See full documentation <a href="https://www.navidrome.org/docs/usage/jukebox/" rel="nofollow">here</a>. Can't thank enough <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ms140569/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ms140569">@ms140569</a> for his <a href="https://github.com/navidrome/navidrome/pull/2289" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2289/hovercard">dedication</a> to this.</p> +<h3>Album splitting by Original/Release date</h3> +<p>Another big feature is the support for disambiguating album editions by Original/Release Date, <a href="https://github.com/navidrome/navidrome/pull/2162" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2162/hovercard">contributed</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/certuna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/certuna">@certuna</a>.</p> +<p><strong>Very Important:</strong> This feature is controlled by the <a href="https://www.navidrome.org/docs/usage/configuration-options/#:~:text=Scanner.GroupAlbumReleases" rel="nofollow">Scanner.GroupAlbumReleases</a> config option. The default is <code>false</code>, meaning split is the default behaviour. This has a side effect that Navidrome will think all albums are new, and they will lose their star/love information, as well as play counts. If you don't want this behaviour, set <code>Scanner.GroupAlbumReleases</code> to <code>true</code> before upgrading.</p> +<h3>Better networking support</h3> +<p>Now Navidrome supports HTTPS out of the box. You need to provide a certificate and key as options (See new <code>ND_TLSCERT</code>/<code>ND_TLSKEY</code> <a href="https://www.navidrome.org/docs/usage/configuration-options/#:~:text=false-,TLSCert,-ND_TLSCERT" rel="nofollow">config options</a>). One more thing: Now the <code>Address</code> config option can specify a Unix socket file instead of a IP address. For that set <code>Address</code> (or <code>ND_ADDRESS</code>) to <code>unix:/path/to/socket/file</code>.</p> +<p>A big thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ms140569/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ms140569">@ms140569</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/certuna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/certuna">@certuna</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a> and all <a href="https://github.com/navidrome/navidrome/graphs/contributors?from=2023-01-31&amp;to=2023-11-16&amp;type=c">contributors</a> that participated in this release.</p> +<h2>Highlights</h2> +<ul> +<li>[UI] Don't pump the volume up to 100% if it is not in a mobile device. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1624681509" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2255" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2255/hovercard" href="https://github.com/navidrome/navidrome/issues/2255">#2255</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tessharp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tessharp">@tessharp</a></li> +<li>[UI] Add option to allow shares to be downloaded</li> +<li>[UI] Make AlbumArtists clickable in AlbumSongs view. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1148875395" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1627" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1627/hovercard" href="https://github.com/navidrome/navidrome/issues/1627">#1627</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krateng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krateng">@krateng</a></li> +<li>[UI] Add Arabic (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zayedalsaidi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zayedalsaidi">@zayedalsaidi</a>) and Korean (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bonik21/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bonik21">@bonik21</a>) translations</li> +<li>[UI] Give page the right lang attribute (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1658872071" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2299" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2299/hovercard" href="https://github.com/navidrome/navidrome/pull/2299">#2299</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/subhajit20/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/subhajit20">@subhajit20</a></li> +<li>[UI] Upgrade to Node v18</li> +<li>[UI] Fix external link for artist page (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1909156486" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2533" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2533/hovercard" href="https://github.com/navidrome/navidrome/pull/2533">#2533</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[Scanner] Ignore Recycle Bins in Windows. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="873728507" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1074" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1074/hovercard" href="https://github.com/navidrome/navidrome/issues/1074">#1074</a></li> +<li>[Scanner] Make playlist tracks match case-insensitive. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1224254951" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1720" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1720/hovercard" href="https://github.com/navidrome/navidrome/issues/1720">#1720</a></li> +<li>[Scanner] Better support for ReplayGain tags. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[Scanner] Ignore playlists starting with a dot (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1743199521" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2390" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2390/hovercard" href="https://github.com/navidrome/navidrome/pull/2390">#2390</a>)</li> +<li>[Scanner] Add support for lyrics tag <code>unsynced lyrics</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1749247769" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2391" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2391/hovercard" href="https://github.com/navidrome/navidrome/pull/2391">#2391</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenzLeung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenzLeung">@BenzLeung</a></li> +<li>[Scanner] Use file creation date for Date Added/CreatedAt (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1931904111" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2553" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2553/hovercard" href="https://github.com/navidrome/navidrome/pull/2553">#2553</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/certuna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/certuna">@certuna</a></li> +<li>[Server] Jukebox mode (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1649214078" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2289" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2289/hovercard" href="https://github.com/navidrome/navidrome/pull/2289">#2289</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ms140569/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ms140569">@ms140569</a></li> +<li>[Server] Implement ArtistArt priority (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1632345788" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2266" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2266/hovercard" href="https://github.com/navidrome/navidrome/pull/2266">#2266</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/repomaa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/repomaa">@repomaa</a></li> +<li>[Server] Add option to load TLS cert/key, and use HTTPS</li> +<li>[Server] Add support for listening on Unix socket. See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1059211212" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1477" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1477/hovercard" href="https://github.com/navidrome/navidrome/issues/1477">#1477</a></li> +<li>[Server] Allow BaseURL to contain full server url, including scheme and host. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1583395234" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2183" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2183/hovercard" href="https://github.com/navidrome/navidrome/issues/2183">#2183</a></li> +<li>[Server] Sanitize filenames inside zip files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1267475690" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1763" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1763/hovercard" href="https://github.com/navidrome/navidrome/issues/1763">#1763</a></li> +<li>[Server] Allow configuring cache folder (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1717364230" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2357" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2357/hovercard" href="https://github.com/navidrome/navidrome/pull/2357">#2357</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomleb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomleb">@tomleb</a></li> +<li>[Server] Fix ListenBrainz submission, includes duration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1641560992" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2279" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2279/hovercard" href="https://github.com/navidrome/navidrome/pull/2279">#2279</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phw">@phw</a></li> +<li>[Server] POST endpoint for importing m3u playlists (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1636178444" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2273" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2273/hovercard" href="https://github.com/navidrome/navidrome/pull/2273">#2273</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spwats/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spwats">@spwats</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/caiocotts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/caiocotts">@caiocotts</a></li> +<li>[Server] Upgrade to Go 1.21</li> +<li>[Subsonic] Convert all Subsonic API ints to int32 as per specification <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1622289018" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2252" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2252/hovercard" href="https://github.com/navidrome/navidrome/pull/2252">#2252</a></li> +<li>[Subsonic] Fix getSongsByGenre pagination. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1160338264" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1640" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1640/hovercard" href="https://github.com/navidrome/navidrome/issues/1640">#1640</a></li> +<li>[Subsonic] Add initial support for OpenSubsonic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1659583883" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2302" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2302/hovercard" href="https://github.com/navidrome/navidrome/pull/2302">#2302</a>)</li> +<li>[Build] Publish docker images to ghcr.io (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1657971283" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2298" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2298/hovercard" href="https://github.com/navidrome/navidrome/pull/2298">#2298</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/onedr0p/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/onedr0p">@onedr0p</a> for the "push" ;)</li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fee0f40a5290c8c3673611e962cff5b32ef896c6/hovercard" href="https://github.com/navidrome/navidrome/commit/fee0f40a5290c8c3673611e962cff5b32ef896c6"><tt>fee0f40</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9d2aaff8cb36a192bc1fd1f3eb37c3c7acfc50ec/hovercard" href="https://github.com/navidrome/navidrome/commit/9d2aaff8cb36a192bc1fd1f3eb37c3c7acfc50ec"><tt>9d2aaff</tt></a> Bump golang.org/x/tools from 0.13.0 to 0.15.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2ff4023cceb5553329436b2acf07954af59be948/hovercard" href="https://github.com/navidrome/navidrome/commit/2ff4023cceb5553329436b2acf07954af59be948"><tt>2ff4023</tt></a> Bump golang.org/x/image from 0.12.0 to 0.14.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/79870b1090bb70fd449c8aee3d837b3fa0804c36/hovercard" href="https://github.com/navidrome/navidrome/commit/79870b1090bb70fd449c8aee3d837b3fa0804c36"><tt>79870b1</tt></a> Do not empty old artist metadata (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1782140111" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2423" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2423/hovercard" href="https://github.com/navidrome/navidrome/pull/2423">#2423</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7a858a2db31dc42d724fbaaccff32663bb329b2c/hovercard" href="https://github.com/navidrome/navidrome/commit/7a858a2db31dc42d724fbaaccff32663bb329b2c"><tt>7a858a2</tt></a> Fix external link for artist page if LastFM is missinb but Musicbrainz is not (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1909156486" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2533" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2533/hovercard" href="https://github.com/navidrome/navidrome/pull/2533">#2533</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9cefaf66a4ca4c8e4c53d694b8fb11a94852ee50/hovercard" href="https://github.com/navidrome/navidrome/commit/9cefaf66a4ca4c8e4c53d694b8fb11a94852ee50"><tt>9cefaf6</tt></a> Bump github.com/onsi/gomega from 1.29.0 to 1.30.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3debd31b1281672bd31f3becc5efc6615c6d2ecd/hovercard" href="https://github.com/navidrome/navidrome/commit/3debd31b1281672bd31f3becc5efc6615c6d2ecd"><tt>3debd31</tt></a> Add more replaygain tests, fix wma (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1715775505" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2356" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2356/hovercard" href="https://github.com/navidrome/navidrome/pull/2356">#2356</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/24d9fb5b48e2aee6435bb53eaf74d152abeb3c84/hovercard" href="https://github.com/navidrome/navidrome/commit/24d9fb5b48e2aee6435bb53eaf74d152abeb3c84"><tt>24d9fb5</tt></a> Update translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1765074620" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2409" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2409/hovercard" href="https://github.com/navidrome/navidrome/pull/2409">#2409</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/40841ab9177616a0af22022515832adea272f543/hovercard" href="https://github.com/navidrome/navidrome/commit/40841ab9177616a0af22022515832adea272f543"><tt>40841ab</tt></a> Small date mapping fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1977492814" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2584" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2584/hovercard" href="https://github.com/navidrome/navidrome/pull/2584">#2584</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bae5fc946bdaca9f3707111b8d1f8843498a9d6a/hovercard" href="https://github.com/navidrome/navidrome/commit/bae5fc946bdaca9f3707111b8d1f8843498a9d6a"><tt>bae5fc9</tt></a> Fix hardcoded IPv4 literals (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1985907916" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2602" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2602/hovercard" href="https://github.com/navidrome/navidrome/pull/2602">#2602</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e055826068c490c239f6ba68a048f4c8ff0c1d02/hovercard" href="https://github.com/navidrome/navidrome/commit/e055826068c490c239f6ba68a048f4c8ff0c1d02"><tt>e055826</tt></a> Fix devcontainer for Go 1.21</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/54bde266b4ba555ba3303bf429a0dbb68e65d721/hovercard" href="https://github.com/navidrome/navidrome/commit/54bde266b4ba555ba3303bf429a0dbb68e65d721"><tt>54bde26</tt></a> Bump github.com/mattn/go-sqlite3 from 1.14.16 to 1.14.18</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3a7376901bfda3e1d8b6597bf724ada0a52ecb59/hovercard" href="https://github.com/navidrome/navidrome/commit/3a7376901bfda3e1d8b6597bf724ada0a52ecb59"><tt>3a73769</tt></a> Bump golang.org/x/sync from 0.3.0 to 0.5.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/de3d870100ae351f86911b7d56c4fd1f199acce2/hovercard" href="https://github.com/navidrome/navidrome/commit/de3d870100ae351f86911b7d56c4fd1f199acce2"><tt>de3d870</tt></a> Bump github.com/spf13/cobra from 1.7.0 to 1.8.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/03175e1a9df2e0260453c8da87cd03c0f9f4c0fe/hovercard" href="https://github.com/navidrome/navidrome/commit/03175e1a9df2e0260453c8da87cd03c0f9f4c0fe"><tt>03175e1</tt></a> Use file creation date for Date Added/CreatedAt (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1931904111" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2553" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2553/hovercard" href="https://github.com/navidrome/navidrome/pull/2553">#2553</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/26472f46fed877eb8decfe6f0a9aea3160514fce/hovercard" href="https://github.com/navidrome/navidrome/commit/26472f46fed877eb8decfe6f0a9aea3160514fce"><tt>26472f4</tt></a> POST endpoint for importing m3u playlists - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1528757702" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2078" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2078/hovercard" href="https://github.com/navidrome/navidrome/issues/2078">#2078</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1636178444" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2273" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2273/hovercard" href="https://github.com/navidrome/navidrome/pull/2273">#2273</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6bca7531aa8916e706419ff3bea297478dd20011/hovercard" href="https://github.com/navidrome/navidrome/commit/6bca7531aa8916e706419ff3bea297478dd20011"><tt>6bca753</tt></a> Bump @babel/traverse from 7.19.3 to 7.23.2 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/68d1d5c99f33cc22a8d447b984efbed614d53335/hovercard" href="https://github.com/navidrome/navidrome/commit/68d1d5c99f33cc22a8d447b984efbed614d53335"><tt>68d1d5c</tt></a> Bump github.com/lestrrat-go/jwx/v2 from 2.0.12 to 2.0.16</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/db6c46091e64ed217117fee4ad5e94a8bde32b24/hovercard" href="https://github.com/navidrome/navidrome/commit/db6c46091e64ed217117fee4ad5e94a8bde32b24"><tt>db6c460</tt></a> Bump github.com/beego/beego/v2 from 2.0.7 to 2.1.3</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4cd916bb78c1b6c85ec654eb66dc58e757870245/hovercard" href="https://github.com/navidrome/navidrome/commit/4cd916bb78c1b6c85ec654eb66dc58e757870245"><tt>4cd916b</tt></a> Bump react-router-dom from 5.3.0 to 5.3.4 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c40e83efab69bdbec1893abf66467eac4fc9cbd1/hovercard" href="https://github.com/navidrome/navidrome/commit/c40e83efab69bdbec1893abf66467eac4fc9cbd1"><tt>c40e83e</tt></a> Bump github.com/go-chi/chi/v5 from 5.0.8 to 5.0.10</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9094f41f25ad2807e6c27965e0a5421bd888b9a0/hovercard" href="https://github.com/navidrome/navidrome/commit/9094f41f25ad2807e6c27965e0a5421bd888b9a0"><tt>9094f41</tt></a> Improve TopSongs findMatchingTrack by de-prioritizing compilations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1906909573" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2532" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2532/hovercard" href="https://github.com/navidrome/navidrome/pull/2532">#2532</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9ff95b6ced75ab42b91c1584a16dcddb478d60de/hovercard" href="https://github.com/navidrome/navidrome/commit/9ff95b6ced75ab42b91c1584a16dcddb478d60de"><tt>9ff95b6</tt></a> Bump github.com/onsi/gomega from 1.27.10 to 1.29.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/77ace8570c81545d7712ebf5c6222ad923d5c4ac/hovercard" href="https://github.com/navidrome/navidrome/commit/77ace8570c81545d7712ebf5c6222ad923d5c4ac"><tt>77ace85</tt></a> Coalesce genre to null for smart playlist (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1960399685" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2573" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2573/hovercard" href="https://github.com/navidrome/navidrome/pull/2573">#2573</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/59f0c487e7e6943668c47321ef863291401f4a08/hovercard" href="https://github.com/navidrome/navidrome/commit/59f0c487e7e6943668c47321ef863291401f4a08"><tt>59f0c48</tt></a> Jukebox cleanup (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1933093019" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2554" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2554/hovercard" href="https://github.com/navidrome/navidrome/pull/2554">#2554</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2cd43581722caaf97a2b28b16f37689840b079a9/hovercard" href="https://github.com/navidrome/navidrome/commit/2cd43581722caaf97a2b28b16f37689840b079a9"><tt>2cd4358</tt></a> Make Jukebox available to Subsonic clients</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/248bf232ff3b5ec3d18573b94d4ad15a8f62e378/hovercard" href="https://github.com/navidrome/navidrome/commit/248bf232ff3b5ec3d18573b94d4ad15a8f62e378"><tt>248bf23</tt></a> Bump github.com/lestrrat-go/jwx/v2 from 2.0.11 to 2.0.12 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1850189900" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2480" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2480/hovercard" href="https://github.com/navidrome/navidrome/pull/2480">#2480</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b5664ab9053ba76a8fbfbc2dda407800cff0aae2/hovercard" href="https://github.com/navidrome/navidrome/commit/b5664ab9053ba76a8fbfbc2dda407800cff0aae2"><tt>b5664ab</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.12.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1870176684" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2497" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2497/hovercard" href="https://github.com/navidrome/navidrome/pull/2497">#2497</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ac7f94e620c4ef25ae131f3251108b426607bc90/hovercard" href="https://github.com/navidrome/navidrome/commit/ac7f94e620c4ef25ae131f3251108b426607bc90"><tt>ac7f94e</tt></a> Fix text being unreadable with Ligera theme (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1889186506" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2517" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2517/hovercard" href="https://github.com/navidrome/navidrome/pull/2517">#2517</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d45f9f172dfcaa04607ad4b26862bba60ed0c37a/hovercard" href="https://github.com/navidrome/navidrome/commit/d45f9f172dfcaa04607ad4b26862bba60ed0c37a"><tt>d45f9f1</tt></a> Bump github.com/google/uuid from 1.3.0 to 1.3.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1859878600" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2489" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2489/hovercard" href="https://github.com/navidrome/navidrome/pull/2489">#2489</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/250107d66849a3f782d81cfd065f7a77ffb92fbc/hovercard" href="https://github.com/navidrome/navidrome/commit/250107d66849a3f782d81cfd065f7a77ffb92fbc"><tt>250107d</tt></a> Bump golang.org/x/image from 0.9.0 to 0.12.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1880664561" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2507" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2507/hovercard" href="https://github.com/navidrome/navidrome/pull/2507">#2507</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/64b14db55a5a980c65d2f6d23a17876a5c033174/hovercard" href="https://github.com/navidrome/navidrome/commit/64b14db55a5a980c65d2f6d23a17876a5c033174"><tt>64b14db</tt></a> Add Korean Language (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1830659876" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2463" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2463/hovercard" href="https://github.com/navidrome/navidrome/pull/2463">#2463</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/73d1851c0d6702c5f678e7492cefa8a4fd855d83/hovercard" href="https://github.com/navidrome/navidrome/commit/73d1851c0d6702c5f678e7492cefa8a4fd855d83"><tt>73d1851</tt></a> Bump golang.org/x/tools from 0.9.1 to 0.13.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1889186288" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2516" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2516/hovercard" href="https://github.com/navidrome/navidrome/pull/2516">#2516</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1b16e1140f72759bd86096469e66c2432145438a/hovercard" href="https://github.com/navidrome/navidrome/commit/1b16e1140f72759bd86096469e66c2432145438a"><tt>1b16e11</tt></a> Jukebox mode (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1649214078" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2289" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2289/hovercard" href="https://github.com/navidrome/navidrome/pull/2289">#2289</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f941347cf189387b0bca8c9cac7c747e343b5b10/hovercard" href="https://github.com/navidrome/navidrome/commit/f941347cf189387b0bca8c9cac7c747e343b5b10"><tt>f941347</tt></a> Upgrade to Go 1.21 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1843467848" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2475" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2475/hovercard" href="https://github.com/navidrome/navidrome/pull/2475">#2475</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1b5cefdadad2c0027bb454c65ab7933fd6074632/hovercard" href="https://github.com/navidrome/navidrome/commit/1b5cefdadad2c0027bb454c65ab7933fd6074632"><tt>1b5cefd</tt></a> Bump github.com/onsi/gomega from 1.27.8 to 1.27.9 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1816921282" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2450" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2450/hovercard" href="https://github.com/navidrome/navidrome/pull/2450">#2450</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4cf25fc611fe3deef2b57c3b8f74f6cc2baaf847/hovercard" href="https://github.com/navidrome/navidrome/commit/4cf25fc611fe3deef2b57c3b8f74f6cc2baaf847"><tt>4cf25fc</tt></a> Bump github.com/microcosm-cc/bluemonday from 1.0.24 to 1.0.25 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1816468429" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2449" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2449/hovercard" href="https://github.com/navidrome/navidrome/pull/2449">#2449</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/14ba83ea1b388eab6aac9ec901acbe731c4f319f/hovercard" href="https://github.com/navidrome/navidrome/commit/14ba83ea1b388eab6aac9ec901acbe731c4f319f"><tt>14ba83e</tt></a> Bump github.com/go-chi/chi/v5 from 5.0.8 to 5.0.10 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1808248226" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2444" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2444/hovercard" href="https://github.com/navidrome/navidrome/pull/2444">#2444</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/08f3fd13438cfa7f33791c49e765dbf1c452199c/hovercard" href="https://github.com/navidrome/navidrome/commit/08f3fd13438cfa7f33791c49e765dbf1c452199c"><tt>08f3fd1</tt></a> Bump github.com/pressly/goose/v3 from 3.13.1 to 3.13.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1797237222" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2442" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2442/hovercard" href="https://github.com/navidrome/navidrome/pull/2442">#2442</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3d66f58725ec03ab7ee9d7408b2b14811aebfa76/hovercard" href="https://github.com/navidrome/navidrome/commit/3d66f58725ec03ab7ee9d7408b2b14811aebfa76"><tt>3d66f58</tt></a> Bump tough-cookie from 4.1.2 to 4.1.3 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1795633375" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2441" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2441/hovercard" href="https://github.com/navidrome/navidrome/pull/2441">#2441</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5b1ba3df05713eadf5d0c89df663e57ba70acec9/hovercard" href="https://github.com/navidrome/navidrome/commit/5b1ba3df05713eadf5d0c89df663e57ba70acec9"><tt>5b1ba3d</tt></a> Bump word-wrap from 1.2.3 to 1.2.4 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1810685509" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2446" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2446/hovercard" href="https://github.com/navidrome/navidrome/pull/2446">#2446</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a002830775c38e6f6af822f83b183d5e51909c9f/hovercard" href="https://github.com/navidrome/navidrome/commit/a002830775c38e6f6af822f83b183d5e51909c9f"><tt>a002830</tt></a> Fix EnableMediaFileCoverArt option default value</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7b600bed05d88f86d0bf251b1ca59641789cea66/hovercard" href="https://github.com/navidrome/navidrome/commit/7b600bed05d88f86d0bf251b1ca59641789cea66"><tt>7b600be</tt></a> Bump golang.org/x/tools from 0.10.0 to 0.11.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1790264027" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2432" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2432/hovercard" href="https://github.com/navidrome/navidrome/pull/2432">#2432</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7d0a1916d8515fb37a2a116b427b007621076c0d/hovercard" href="https://github.com/navidrome/navidrome/commit/7d0a1916d8515fb37a2a116b427b007621076c0d"><tt>7d0a191</tt></a> Bump golang.org/x/image from 0.8.0 to 0.9.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1790263271" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2430" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2430/hovercard" href="https://github.com/navidrome/navidrome/pull/2430">#2430</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c7fe311c7f6b417a52cca99933cfd8fc08facbfa/hovercard" href="https://github.com/navidrome/navidrome/commit/c7fe311c7f6b417a52cca99933cfd8fc08facbfa"><tt>c7fe311</tt></a> Bump github.com/go-chi/jwtauth/v5 from 5.1.0 to 5.1.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1786587756" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2427" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2427/hovercard" href="https://github.com/navidrome/navidrome/pull/2427">#2427</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4520a34648670dce138d0a0bf25b2e6191016769/hovercard" href="https://github.com/navidrome/navidrome/commit/4520a34648670dce138d0a0bf25b2e6191016769"><tt>4520a34</tt></a> Bump github.com/pressly/goose/v3 from 3.11.2 to 3.13.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1786588214" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2428" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2428/hovercard" href="https://github.com/navidrome/navidrome/pull/2428">#2428</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3e14c3c4f8263e006d30267132d0a1b0ae2ea8d1/hovercard" href="https://github.com/navidrome/navidrome/commit/3e14c3c4f8263e006d30267132d0a1b0ae2ea8d1"><tt>3e14c3c</tt></a> Add support for lyrics tag <code>unsynced lyrics</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1749247769" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2391" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2391/hovercard" href="https://github.com/navidrome/navidrome/pull/2391">#2391</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1e891d6b0743c22adf568875f43ba46ccc70b76b/hovercard" href="https://github.com/navidrome/navidrome/commit/1e891d6b0743c22adf568875f43ba46ccc70b76b"><tt>1e891d6</tt></a> Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1763964531" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2408" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2408/hovercard" href="https://github.com/navidrome/navidrome/pull/2408">#2408</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/caf9b22d355488c7b7ec65341092022d8d3a192d/hovercard" href="https://github.com/navidrome/navidrome/commit/caf9b22d355488c7b7ec65341092022d8d3a192d"><tt>caf9b22</tt></a> Bump golang.org/x/image from 0.7.0 to 0.8.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1763964389" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2407" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2407/hovercard" href="https://github.com/navidrome/navidrome/pull/2407">#2407</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4f8742bcd164aa34d193e72c4c6c24406aebda8e/hovercard" href="https://github.com/navidrome/navidrome/commit/4f8742bcd164aa34d193e72c4c6c24406aebda8e"><tt>4f8742b</tt></a> Update translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1682853137" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2329" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2329/hovercard" href="https://github.com/navidrome/navidrome/pull/2329">#2329</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/26aa0f4fffdd5f402b4b3d3852f61d5131615d51/hovercard" href="https://github.com/navidrome/navidrome/commit/26aa0f4fffdd5f402b4b3d3852f61d5131615d51"><tt>26aa0f4</tt></a> Fix typo</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4898f31f6df000ff5d11cc0835110ca974fc706b/hovercard" href="https://github.com/navidrome/navidrome/commit/4898f31f6df000ff5d11cc0835110ca974fc706b"><tt>4898f31</tt></a> Add <code>format</code> target to Makefile</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9da013f33922a3312b741b8d6a60a5abb7f43682/hovercard" href="https://github.com/navidrome/navidrome/commit/9da013f33922a3312b741b8d6a60a5abb7f43682"><tt>9da013f</tt></a> Submit duration to ListenBrainz (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1761708941" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2405" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2405/hovercard" href="https://github.com/navidrome/navidrome/pull/2405">#2405</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5af67c78af385a0a89475ab2b90486d5e3bbacb9/hovercard" href="https://github.com/navidrome/navidrome/commit/5af67c78af385a0a89475ab2b90486d5e3bbacb9"><tt>5af67c7</tt></a> Upgrade Go dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c8608956be5ceed2504a3c6ad994a35fa4264813/hovercard" href="https://github.com/navidrome/navidrome/commit/c8608956be5ceed2504a3c6ad994a35fa4264813"><tt>c860895</tt></a> Fix listenbrainz submission and clarify MusicBrainz recording ID field (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1641560992" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2279" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2279/hovercard" href="https://github.com/navidrome/navidrome/pull/2279">#2279</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/36eda871f6dcba4709225ac582771a90a4b440df/hovercard" href="https://github.com/navidrome/navidrome/commit/36eda871f6dcba4709225ac582771a90a4b440df"><tt>36eda87</tt></a> Fix locale-dependent tests. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1761253452" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2402" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2402/hovercard" href="https://github.com/navidrome/navidrome/issues/2402">#2402</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7c92a732085a8617b5592061043709fa1aeea3f4/hovercard" href="https://github.com/navidrome/navidrome/commit/7c92a732085a8617b5592061043709fa1aeea3f4"><tt>7c92a73</tt></a> Ignore playlists starting with a dot - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1724810552" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2367" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2367/hovercard" href="https://github.com/navidrome/navidrome/issues/2367">#2367</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1743199521" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2390" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2390/hovercard" href="https://github.com/navidrome/navidrome/pull/2390">#2390</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f5d97823e8e1ed28d9ea02e20495e6e6d4a6a52d/hovercard" href="https://github.com/navidrome/navidrome/commit/f5d97823e8e1ed28d9ea02e20495e6e6d4a6a52d"><tt>f5d9782</tt></a> Fix original date (TDOR) mapping for ffmpeg extractor</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d6083dab6eaf2988e770608162e9a41e1f91293c/hovercard" href="https://github.com/navidrome/navidrome/commit/d6083dab6eaf2988e770608162e9a41e1f91293c"><tt>d6083da</tt></a> Re-apply "Refactor walkDirTree to use fs.FS" but remove context cancelation logic.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6b3b4d83ffcf273b01985709c8bc5df12bbb8286/hovercard" href="https://github.com/navidrome/navidrome/commit/6b3b4d83ffcf273b01985709c8bc5df12bbb8286"><tt>6b3b4d8</tt></a> Revert "Refactor walkDirTree to use fs.FS"</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3853c3318f67b41a9e4cb768618315ff77846fdb/hovercard" href="https://github.com/navidrome/navidrome/commit/3853c3318f67b41a9e4cb768618315ff77846fdb"><tt>3853c33</tt></a> Refactor walkDirTree to use fs.FS</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/257ccc5f4323bb2f39e09fa903546edf7cdf370a/hovercard" href="https://github.com/navidrome/navidrome/commit/257ccc5f4323bb2f39e09fa903546edf7cdf370a"><tt>257ccc5</tt></a> Allow configuring cache folder (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1717364230" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2357" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2357/hovercard" href="https://github.com/navidrome/navidrome/pull/2357">#2357</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cec5fb0d6c23a7f337ef5a4cf11f934178267e2c/hovercard" href="https://github.com/navidrome/navidrome/commit/cec5fb0d6c23a7f337ef5a4cf11f934178267e2c"><tt>cec5fb0</tt></a> Fix lint errors</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3fc4313e8905e355edcf13c69a007b12af155c86/hovercard" href="https://github.com/navidrome/navidrome/commit/3fc4313e8905e355edcf13c69a007b12af155c86"><tt>3fc4313</tt></a> Move string slice functions to slice package as generic functions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c4c99b7f753ec78a250847d7775e67c6f9e63cd9/hovercard" href="https://github.com/navidrome/navidrome/commit/c4c99b7f753ec78a250847d7775e67c6f9e63cd9"><tt>c4c99b7</tt></a> Make <code>GroupAlbumReleases</code> false by default</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a984bbbc7a0cdbb5528040ea7abff2c9c94a76b9/hovercard" href="https://github.com/navidrome/navidrome/commit/a984bbbc7a0cdbb5528040ea7abff2c9c94a76b9"><tt>a984bbb</tt></a> Make SmartPlaylists to always be seen as changed for Subsonic clients.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ba067667c9d837683f63938398e8875f98bcd1f2/hovercard" href="https://github.com/navidrome/navidrome/commit/ba067667c9d837683f63938398e8875f98bcd1f2"><tt>ba06766</tt></a> Fix date formatting to use UTC</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e38a690632c3cb5ba223145f34ec49e14f701a43/hovercard" href="https://github.com/navidrome/navidrome/commit/e38a690632c3cb5ba223145f34ec49e14f701a43"><tt>e38a690</tt></a> Order albums by full original date (this time is for real). Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1046886801" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1452" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1452/hovercard" href="https://github.com/navidrome/navidrome/issues/1452">#1452</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7d0656f44ac5e15f2cd66f492461b26e0d1c8e4e/hovercard" href="https://github.com/navidrome/navidrome/commit/7d0656f44ac5e15f2cd66f492461b26e0d1c8e4e"><tt>7d0656f</tt></a> Order albums by full original date. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1046886801" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1452" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1452/hovercard" href="https://github.com/navidrome/navidrome/issues/1452">#1452</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/11f33ff8b60b803493f0f12f8f373d7a08677854/hovercard" href="https://github.com/navidrome/navidrome/commit/11f33ff8b60b803493f0f12f8f373d7a08677854"><tt>11f33ff</tt></a> Update dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/611363fca7e4a5861551f8788880961e4b9ddc5d/hovercard" href="https://github.com/navidrome/navidrome/commit/611363fca7e4a5861551f8788880961e4b9ddc5d"><tt>611363f</tt></a> Add missing translation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/85d43d23668ef8a0ea0e3391371d5bcf6cfec9e7/hovercard" href="https://github.com/navidrome/navidrome/commit/85d43d23668ef8a0ea0e3391371d5bcf6cfec9e7"><tt>85d43d2</tt></a> Add tests to date roll-ups</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8faaa3cf917ed75a5bcabc5efa218ea4bd2d14a3/hovercard" href="https://github.com/navidrome/navidrome/commit/8faaa3cf917ed75a5bcabc5efa218ea4bd2d14a3"><tt>8faaa3c</tt></a> Use table specs in getDate tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/20462c52a5905a97ed568f7c97cabc0c63cad261/hovercard" href="https://github.com/navidrome/navidrome/commit/20462c52a5905a97ed568f7c97cabc0c63cad261"><tt>20462c5</tt></a> Restore album "year" translation string</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/52b77e41944e924226f87cc38c5dfe7f87029bb5/hovercard" href="https://github.com/navidrome/navidrome/commit/52b77e41944e924226f87cc38c5dfe7f87029bb5"><tt>52b77e4</tt></a> Support for Original Date, Release Date &amp; splitting/grouping of album editions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1580509936" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2162" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2162/hovercard" href="https://github.com/navidrome/navidrome/pull/2162">#2162</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/010ba0d15c09eae9dc445330e0ef4583af5aec7e/hovercard" href="https://github.com/navidrome/navidrome/commit/010ba0d15c09eae9dc445330e0ef4583af5aec7e"><tt>010ba0d</tt></a> Use table specs in ReplayGain tests.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9b7fac5147d4ea8519c78b469a511eb9cdbfa73e/hovercard" href="https://github.com/navidrome/navidrome/commit/9b7fac5147d4ea8519c78b469a511eb9cdbfa73e"><tt>9b7fac5</tt></a> Update default transcoding commands (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1681727381" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2325" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2325/hovercard" href="https://github.com/navidrome/navidrome/pull/2325">#2325</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/be12c12b2842099c56db385488c9fc0197a39f30/hovercard" href="https://github.com/navidrome/navidrome/commit/be12c12b2842099c56db385488c9fc0197a39f30"><tt>be12c12</tt></a> Remove unused Badge component from ActivityPanel icon</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a19a643c656f2a9e312e278b777d29f5d0495896/hovercard" href="https://github.com/navidrome/navidrome/commit/a19a643c656f2a9e312e278b777d29f5d0495896"><tt>a19a643</tt></a> Manually add replaygain tags for m4a (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1703297703" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2346" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2346/hovercard" href="https://github.com/navidrome/navidrome/pull/2346">#2346</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f9b060af1841c49ddb3aa57fcaca7ed0f38d3f84/hovercard" href="https://github.com/navidrome/navidrome/commit/f9b060af1841c49ddb3aa57fcaca7ed0f38d3f84"><tt>f9b060a</tt></a> Removed onBackdropClick deprecated property</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a3d78e95f2761b363392d7e687d0e5914d73a249/hovercard" href="https://github.com/navidrome/navidrome/commit/a3d78e95f2761b363392d7e687d0e5914d73a249"><tt>a3d78e9</tt></a> Fix Monokai theme. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1710639720" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2353" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2353/hovercard" href="https://github.com/navidrome/navidrome/issues/2353">#2353</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d85b06332c4a37e8eccdacfc3d41a9589070d9d2/hovercard" href="https://github.com/navidrome/navidrome/commit/d85b06332c4a37e8eccdacfc3d41a9589070d9d2"><tt>d85b063</tt></a> Fix build</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bfa10cab629d51d26f9f7e9483eec0adc0682bbe/hovercard" href="https://github.com/navidrome/navidrome/commit/bfa10cab629d51d26f9f7e9483eec0adc0682bbe"><tt>bfa10ca</tt></a> Upgrade to Node v18</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/08fcb430e6fd6d316aacaf136a906012008a9fec/hovercard" href="https://github.com/navidrome/navidrome/commit/08fcb430e6fd6d316aacaf136a906012008a9fec"><tt>08fcb43</tt></a> Upgrade React-Admin to 3.19.12</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5d02df62d0e9b09e9e320084fb7a2fb79873f542/hovercard" href="https://github.com/navidrome/navidrome/commit/5d02df62d0e9b09e9e320084fb7a2fb79873f542"><tt>5d02df6</tt></a> Fix eslint error</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c3a2e084b32be302c546c2552cc653051a81bfd6/hovercard" href="https://github.com/navidrome/navidrome/commit/c3a2e084b32be302c546c2552cc653051a81bfd6"><tt>c3a2e08</tt></a> Update caniuse-lite</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4296741ec06201a1345e24f2cad201b8a62575a3/hovercard" href="https://github.com/navidrome/navidrome/commit/4296741ec06201a1345e24f2cad201b8a62575a3"><tt>4296741</tt></a> Simplify EventStream handling</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6bee4ed147a410c1a6fb3ebef8dfa5e737bc415e/hovercard" href="https://github.com/navidrome/navidrome/commit/6bee4ed147a410c1a6fb3ebef8dfa5e737bc415e"><tt>6bee4ed</tt></a> Sanitize filenames inside zip files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1267475690" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1763" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1763/hovercard" href="https://github.com/navidrome/navidrome/issues/1763">#1763</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e62c3edc1ca8f81292739379afad28258e48caab/hovercard" href="https://github.com/navidrome/navidrome/commit/e62c3edc1ca8f81292739379afad28258e48caab"><tt>e62c3ed</tt></a> Revert: Change fix formatting command</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0a08d0af3b7265e8b2b601cdee52e396bac70129/hovercard" href="https://github.com/navidrome/navidrome/commit/0a08d0af3b7265e8b2b601cdee52e396bac70129"><tt>0a08d0a</tt></a> Change fix formatting command</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ad513354b9db6149a25931695a5fdf16eebb3fc1/hovercard" href="https://github.com/navidrome/navidrome/commit/ad513354b9db6149a25931695a5fdf16eebb3fc1"><tt>ad51335</tt></a> Disable POEditor import job in forks</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a70b81f931a4672dc19369a1bbb82c05c814f454/hovercard" href="https://github.com/navidrome/navidrome/commit/a70b81f931a4672dc19369a1bbb82c05c814f454"><tt>a70b81f</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.9.5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1710555455" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2352" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2352/hovercard" href="https://github.com/navidrome/navidrome/pull/2352">#2352</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0d920c783202ea8e1286009ab20c05b7fb260d9b/hovercard" href="https://github.com/navidrome/navidrome/commit/0d920c783202ea8e1286009ab20c05b7fb260d9b"><tt>0d920c7</tt></a> Bump github.com/prometheus/client_golang from 1.14.0 to 1.15.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1700673249" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2342" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2342/hovercard" href="https://github.com/navidrome/navidrome/pull/2342">#2342</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/957a73e052f58f41c39e53fe4e3f738e077033f5/hovercard" href="https://github.com/navidrome/navidrome/commit/957a73e052f58f41c39e53fe4e3f738e077033f5"><tt>957a73e</tt></a> Bump github.com/mileusna/useragent from 1.2.1 to 1.3.2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1671695721" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2319" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2319/hovercard" href="https://github.com/navidrome/navidrome/pull/2319">#2319</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/abc418eaa2f1c15b2aacc43db9e4730b0493ee2b/hovercard" href="https://github.com/navidrome/navidrome/commit/abc418eaa2f1c15b2aacc43db9e4730b0493ee2b"><tt>abc418e</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1700673772" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2343" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2343/hovercard" href="https://github.com/navidrome/navidrome/pull/2343">#2343</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1128322011439ca860199ce0a4e2ba0a56161bce/hovercard" href="https://github.com/navidrome/navidrome/commit/1128322011439ca860199ce0a4e2ba0a56161bce"><tt>1128322</tt></a> Bump golang.org/x/tools from 0.8.0 to 0.9.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1708705750" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2350" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2350/hovercard" href="https://github.com/navidrome/navidrome/pull/2350">#2350</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2e479defd5a40b71560e00113ddc8dc83add7aea/hovercard" href="https://github.com/navidrome/navidrome/commit/2e479defd5a40b71560e00113ddc8dc83add7aea"><tt>2e479de</tt></a> Bump github.com/go-chi/httprate from 0.7.1 to 0.7.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1671695937" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2320" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2320/hovercard" href="https://github.com/navidrome/navidrome/pull/2320">#2320</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8311a7f215fe928ed7defc35eaefc5e931bd6839/hovercard" href="https://github.com/navidrome/navidrome/commit/8311a7f215fe928ed7defc35eaefc5e931bd6839"><tt>8311a7f</tt></a> Bump golang.org/x/sync from 0.1.0 to 0.2.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1700674055" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2344" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2344/hovercard" href="https://github.com/navidrome/navidrome/pull/2344">#2344</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6ec8f78076ac1f8647509566989849f532d22e42/hovercard" href="https://github.com/navidrome/navidrome/commit/6ec8f78076ac1f8647509566989849f532d22e42"><tt>6ec8f78</tt></a> Bump github.com/pressly/goose/v3 from 3.10.0 to 3.11.2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1700672583" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2341" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2341/hovercard" href="https://github.com/navidrome/navidrome/pull/2341">#2341</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3e879d2a8c948db77f8d76bc29ed307a94743ade/hovercard" href="https://github.com/navidrome/navidrome/commit/3e879d2a8c948db77f8d76bc29ed307a94743ade"><tt>3e879d2</tt></a> Add K8s manifest (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1683772455" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2330" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2330/hovercard" href="https://github.com/navidrome/navidrome/pull/2330">#2330</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6d3d005fca3a12c5fe39fb5361ef37ede7a787f9/hovercard" href="https://github.com/navidrome/navidrome/commit/6d3d005fca3a12c5fe39fb5361ef37ede7a787f9"><tt>6d3d005</tt></a> Allow the setrlimit syscall - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1427274647" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1961" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1961/hovercard" href="https://github.com/navidrome/navidrome/issues/1961">#1961</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1687111314" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2333" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2333/hovercard" href="https://github.com/navidrome/navidrome/pull/2333">#2333</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c12510d6e2387e9cef942c5dad902baa82fe50ce/hovercard" href="https://github.com/navidrome/navidrome/commit/c12510d6e2387e9cef942c5dad902baa82fe50ce"><tt>c12510d</tt></a> Update README</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0bd73bd3f4eada4ee441d547fc9a87f357ab8a2c/hovercard" href="https://github.com/navidrome/navidrome/commit/0bd73bd3f4eada4ee441d547fc9a87f357ab8a2c"><tt>0bd73bd</tt></a> Better GH Action names</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8c120ee3c9bbfa29d0bae7e3b686b7eca0253bee/hovercard" href="https://github.com/navidrome/navidrome/commit/8c120ee3c9bbfa29d0bae7e3b686b7eca0253bee"><tt>8c120ee</tt></a> Better GH Action names</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9590b3c25d40a8ac931b4c1ed6c3c689368a39db/hovercard" href="https://github.com/navidrome/navidrome/commit/9590b3c25d40a8ac931b4c1ed6c3c689368a39db"><tt>9590b3c</tt></a> Use the highest resolution artist image from Spotify</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4887c3305381f8232aa059adac3f20b1a01095b4/hovercard" href="https://github.com/navidrome/navidrome/commit/4887c3305381f8232aa059adac3f20b1a01095b4"><tt>4887c33</tt></a> Bump golang.org/x packages</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/da21acba92fc8bb79a7b83383d50c0ad3d577897/hovercard" href="https://github.com/navidrome/navidrome/commit/da21acba92fc8bb79a7b83383d50c0ad3d577897"><tt>da21acb</tt></a> Give page the right lang attribute (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1658872071" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2299" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2299/hovercard" href="https://github.com/navidrome/navidrome/pull/2299">#2299</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9154e44eb472de394e33a69adc4abfe1614e2461/hovercard" href="https://github.com/navidrome/navidrome/commit/9154e44eb472de394e33a69adc4abfe1614e2461"><tt>9154e44</tt></a> Add initial support for OpenSubsonic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1659583883" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2302" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2302/hovercard" href="https://github.com/navidrome/navidrome/pull/2302">#2302</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2e01063429f2f9de8b1ee3ccc0e27572c122ba7e/hovercard" href="https://github.com/navidrome/navidrome/commit/2e01063429f2f9de8b1ee3ccc0e27572c122ba7e"><tt>2e01063</tt></a> Update translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1589082643" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2198" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2198/hovercard" href="https://github.com/navidrome/navidrome/pull/2198">#2198</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/597e5abed6ef5ee2f0725cef7d6c293f72e2bfb9/hovercard" href="https://github.com/navidrome/navidrome/commit/597e5abed6ef5ee2f0725cef7d6c293f72e2bfb9"><tt>597e5ab</tt></a> Fix push develop to Docker Hub</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/92994efe48b7d6c8132a08a8bf27caced2cc65af/hovercard" href="https://github.com/navidrome/navidrome/commit/92994efe48b7d6c8132a08a8bf27caced2cc65af"><tt>92994ef</tt></a> Publish docker images to ghcr.io (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1657971283" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2298" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2298/hovercard" href="https://github.com/navidrome/navidrome/pull/2298">#2298</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9628b1389dc731dcc5f69b4e3ee04cefca91b444/hovercard" href="https://github.com/navidrome/navidrome/commit/9628b1389dc731dcc5f69b4e3ee04cefca91b444"><tt>9628b13</tt></a> Add help msg for JS formatting errors</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/347424009d8adbe5975f4a234d0f38b34d39c9fc/hovercard" href="https://github.com/navidrome/navidrome/commit/347424009d8adbe5975f4a234d0f38b34d39c9fc"><tt>3474240</tt></a> Show Player name, not client, in mobile view. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1172768705" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1659" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1659/hovercard" href="https://github.com/navidrome/navidrome/issues/1659">#1659</a>.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ecac74c2bdce11b21b9180be3f447ad18c8de6a4/hovercard" href="https://github.com/navidrome/navidrome/commit/ecac74c2bdce11b21b9180be3f447ad18c8de6a4"><tt>ecac74c</tt></a> Fix getSongsByGenre pagination. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1160338264" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1640" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1640/hovercard" href="https://github.com/navidrome/navidrome/issues/1640">#1640</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ddfde7bfc80344b51589949669e6186879e2dc93/hovercard" href="https://github.com/navidrome/navidrome/commit/ddfde7bfc80344b51589949669e6186879e2dc93"><tt>ddfde7b</tt></a> Run lint on latest Go 1.20.x</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/96c50d369a93540b9353d42126cde5516a887802/hovercard" href="https://github.com/navidrome/navidrome/commit/96c50d369a93540b9353d42126cde5516a887802"><tt>96c50d3</tt></a> Upgrade to Go 1.20.3 and GoRelease 1.16.1</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/310c816cdd21b568fe51ce18d0465d6dac84c7f3/hovercard" href="https://github.com/navidrome/navidrome/commit/310c816cdd21b568fe51ce18d0465d6dac84c7f3"><tt>310c816</tt></a> Use Go 1.20 for local cross-compilation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bd402fb2a8bf7779110f476dea6b4ee3c845abc0/hovercard" href="https://github.com/navidrome/navidrome/commit/bd402fb2a8bf7779110f476dea6b4ee3c845abc0"><tt>bd402fb</tt></a> Fix IntelliJ warning</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8bb141b73050d1f3915c4f6697494f17b0920608/hovercard" href="https://github.com/navidrome/navidrome/commit/8bb141b73050d1f3915c4f6697494f17b0920608"><tt>8bb141b</tt></a> Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1654056688" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2293" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2293/hovercard" href="https://github.com/navidrome/navidrome/pull/2293">#2293</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f25b91b4d875a501d81c5d2a8361b10eef800ca1/hovercard" href="https://github.com/navidrome/navidrome/commit/f25b91b4d875a501d81c5d2a8361b10eef800ca1"><tt>f25b91b</tt></a> Remove any previous UNIX socket file</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f959701d9dbe55946727535af18e0d71cc21917f/hovercard" href="https://github.com/navidrome/navidrome/commit/f959701d9dbe55946727535af18e0d71cc21917f"><tt>f959701</tt></a> Bump github.com/onsi/gomega from 1.27.5 to 1.27.6 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1654010825" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2292" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2292/hovercard" href="https://github.com/navidrome/navidrome/pull/2292">#2292</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/61dd8d55cae746a08460a081f9b894d329de243b/hovercard" href="https://github.com/navidrome/navidrome/commit/61dd8d55cae746a08460a081f9b894d329de243b"><tt>61dd8d5</tt></a> Fix data race in scanner</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bbb946100036e626741b50205d38a34c0a25a13b/hovercard" href="https://github.com/navidrome/navidrome/commit/bbb946100036e626741b50205d38a34c0a25a13b"><tt>bbb9461</tt></a> Increase max Server-Sent Events' ID</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/95016f687ef49f30af85ab118533570cb1fb3497/hovercard" href="https://github.com/navidrome/navidrome/commit/95016f687ef49f30af85ab118533570cb1fb3497"><tt>95016f6</tt></a> Fix SQL migrations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c3cc7dee017b80e5f2ca63e415bcc97ead766cf6/hovercard" href="https://github.com/navidrome/navidrome/commit/c3cc7dee017b80e5f2ca63e415bcc97ead766cf6"><tt>c3cc7de</tt></a> Enable SQL migrations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7847f19c9dbd05662bae497cba8853fb13b948af/hovercard" href="https://github.com/navidrome/navidrome/commit/7847f19c9dbd05662bae497cba8853fb13b948af"><tt>7847f19</tt></a> Upgrade goose</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7a0df4429e28c989d342b3b40936043596b9a519/hovercard" href="https://github.com/navidrome/navidrome/commit/7a0df4429e28c989d342b3b40936043596b9a519"><tt>7a0df44</tt></a> Bump github.com/onsi/gomega from 1.27.5 to 1.27.6 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1648199617" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2288" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2288/hovercard" href="https://github.com/navidrome/navidrome/pull/2288">#2288</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6a8d2dc87d3594debb27fc3e2f94cb9bc00db1d7/hovercard" href="https://github.com/navidrome/navidrome/commit/6a8d2dc87d3594debb27fc3e2f94cb9bc00db1d7"><tt>6a8d2dc</tt></a> Only use valid images for artist.* artwork</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/de816e8e5d06e20fd8c503e7fd3b937f3a460ad3/hovercard" href="https://github.com/navidrome/navidrome/commit/de816e8e5d06e20fd8c503e7fd3b937f3a460ad3"><tt>de816e8</tt></a> Fix lint error</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b22d0366d5e3989bc327bad0ad29a0f0e9f177ad/hovercard" href="https://github.com/navidrome/navidrome/commit/b22d0366d5e3989bc327bad0ad29a0f0e9f177ad"><tt>b22d036</tt></a> Use channels for EventStream instead of diodes</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fea2de8f90c13ae19dc303bcb19dda81478479b9/hovercard" href="https://github.com/navidrome/navidrome/commit/fea2de8f90c13ae19dc303bcb19dda81478479b9"><tt>fea2de8</tt></a> Add Galician translation.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d6dd0aaae701787802a7a49a604190225b6d4f09/hovercard" href="https://github.com/navidrome/navidrome/commit/d6dd0aaae701787802a7a49a604190225b6d4f09"><tt>d6dd0aa</tt></a> Close SSE connection on write error</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/458017b11289c37ee34e56462b70c662c5164070/hovercard" href="https://github.com/navidrome/navidrome/commit/458017b11289c37ee34e56462b70c662c5164070"><tt>458017b</tt></a> Update Chinese translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1628871828" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2260" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2260/hovercard" href="https://github.com/navidrome/navidrome/pull/2260">#2260</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e6bfa2bb0b51c5436f3e2d7c4a75ab86c0417dfa/hovercard" href="https://github.com/navidrome/navidrome/commit/e6bfa2bb0b51c5436f3e2d7c4a75ab86c0417dfa"><tt>e6bfa2b</tt></a> Convert our usage of go-diodes into a simplified, generic version</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1c7fb74a1dc6273db5483bfb25268cd929b77d24/hovercard" href="https://github.com/navidrome/navidrome/commit/1c7fb74a1dc6273db5483bfb25268cd929b77d24"><tt>1c7fb74</tt></a> Fix writeEvents race condition.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/83ae2ba3e62b86283a896eb886979233b30077dc/hovercard" href="https://github.com/navidrome/navidrome/commit/83ae2ba3e62b86283a896eb886979233b30077dc"><tt>83ae2ba</tt></a> Fix race condition</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2ccc5bc941e0f4bd004f8173f542af110b101fd6/hovercard" href="https://github.com/navidrome/navidrome/commit/2ccc5bc941e0f4bd004f8173f542af110b101fd6"><tt>2ccc5bc</tt></a> Implement artist art priority (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1632345788" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2266" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2266/hovercard" href="https://github.com/navidrome/navidrome/pull/2266">#2266</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/406554f1c49b5f99ae17aa10b29cb31f8c439afa/hovercard" href="https://github.com/navidrome/navidrome/commit/406554f1c49b5f99ae17aa10b29cb31f8c439afa"><tt>406554f</tt></a> Remove some tools from dependencies, reducing the modules dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e89cdf6199f1e3116bf6df99fced73d1baa5f0e8/hovercard" href="https://github.com/navidrome/navidrome/commit/e89cdf6199f1e3116bf6df99fced73d1baa5f0e8"><tt>e89cdf6</tt></a> Fix flaky tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cf804a52ef7a98d5d8940186bf47e245b8476e53/hovercard" href="https://github.com/navidrome/navidrome/commit/cf804a52ef7a98d5d8940186bf47e245b8476e53"><tt>cf804a5</tt></a> Add support for listening on Unix socket.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/628fd69d3d2f6cf84d307c59790143c58dfc3b58/hovercard" href="https://github.com/navidrome/navidrome/commit/628fd69d3d2f6cf84d307c59790143c58dfc3b58"><tt>628fd69</tt></a> Fix race condition</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1d00d1e9869dcdbd3781457fcf3aa5c34b0ad5fa/hovercard" href="https://github.com/navidrome/navidrome/commit/1d00d1e9869dcdbd3781457fcf3aa5c34b0ad5fa"><tt>1d00d1e</tt></a> Fix <code>writeEvent</code> function.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/607c4067b8dcae4c2f321f1960cdad3707b1b43c/hovercard" href="https://github.com/navidrome/navidrome/commit/607c4067b8dcae4c2f321f1960cdad3707b1b43c"><tt>607c406</tt></a> Show translation changes on pipeline</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e3079d81ea07c80a6f6b11ca2089d3f442ec99bf/hovercard" href="https://github.com/navidrome/navidrome/commit/e3079d81ea07c80a6f6b11ca2089d3f442ec99bf"><tt>e3079d8</tt></a> More tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3bedd89c17b1462aa207a81daf9c2738c06e77a4/hovercard" href="https://github.com/navidrome/navidrome/commit/3bedd89c17b1462aa207a81daf9c2738c06e77a4"><tt>3bedd89</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/57829bfa4c1048c08ef0bc27e1221025a09974b6/hovercard" href="https://github.com/navidrome/navidrome/commit/57829bfa4c1048c08ef0bc27e1221025a09974b6"><tt>57829bf</tt></a> Bump github.com/lestrrat-go/jwx/v2 from 2.0.8 to 2.0.9 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1642554797" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2282" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2282/hovercard" href="https://github.com/navidrome/navidrome/pull/2282">#2282</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b998c05ca0b8f44fa703c01ec40ff60a98477b6e/hovercard" href="https://github.com/navidrome/navidrome/commit/b998c05ca0b8f44fa703c01ec40ff60a98477b6e"><tt>b998c05</tt></a> Some refactorings</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/05d381c26fe84f174b48a8278517df4ca8426d94/hovercard" href="https://github.com/navidrome/navidrome/commit/05d381c26fe84f174b48a8278517df4ca8426d94"><tt>05d381c</tt></a> Add more middleware tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/59a9c056b4e9ab89dd3b1c441414ed3d3f076afd/hovercard" href="https://github.com/navidrome/navidrome/commit/59a9c056b4e9ab89dd3b1c441414ed3d3f076afd"><tt>59a9c05</tt></a> Add Arabic translation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1640860506" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2277" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2277/hovercard" href="https://github.com/navidrome/navidrome/pull/2277">#2277</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0de81b83524ef7c1d89a26b560979790d7e35a47/hovercard" href="https://github.com/navidrome/navidrome/commit/0de81b83524ef7c1d89a26b560979790d7e35a47"><tt>0de81b8</tt></a> Bump caniuse-lite</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/91785ecf36b42c7f3210323120f7d55902c6a8a1/hovercard" href="https://github.com/navidrome/navidrome/commit/91785ecf36b42c7f3210323120f7d55902c6a8a1"><tt>91785ec</tt></a> Add tests for core.Archiver</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/65eeb5ec1a7fe50dca8c51e666964d7ff89827bb/hovercard" href="https://github.com/navidrome/navidrome/commit/65eeb5ec1a7fe50dca8c51e666964d7ff89827bb"><tt>65eeb5e</tt></a> Add tests for serverAddressMiddleware</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/17e0cd55042f0589ed54600853163255cec302cd/hovercard" href="https://github.com/navidrome/navidrome/commit/17e0cd55042f0589ed54600853163255cec302cd"><tt>17e0cd5</tt></a> Shuffle the tests, just in case (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1634520546" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2272" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2272/hovercard" href="https://github.com/navidrome/navidrome/pull/2272">#2272</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3a6d2dcd49de5cafd7414ed2609e4e8b1cf7bf6b/hovercard" href="https://github.com/navidrome/navidrome/commit/3a6d2dcd49de5cafd7414ed2609e4e8b1cf7bf6b"><tt>3a6d2dc</tt></a> More log redaction</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/183b462fedce190b481980b2761fca760fc6911b/hovercard" href="https://github.com/navidrome/navidrome/commit/183b462fedce190b481980b2761fca760fc6911b"><tt>183b462</tt></a> Fix zip comments in Share downloads.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/16fc4eb7926c43935271cb95e17eeb0d5c74d2fe/hovercard" href="https://github.com/navidrome/navidrome/commit/16fc4eb7926c43935271cb95e17eeb0d5c74d2fe"><tt>16fc4eb</tt></a> Fix missing extensions in Share downloads.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6fee744d996157584b040315d643b36ee51a66be/hovercard" href="https://github.com/navidrome/navidrome/commit/6fee744d996157584b040315d643b36ee51a66be"><tt>6fee744</tt></a> Bump github.com/onsi/gomega from 1.27.3 to 1.27.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1632603643" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2268" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2268/hovercard" href="https://github.com/navidrome/navidrome/pull/2268">#2268</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/74d5c7bc82970dfb0d8ae89c00c263371967addd/hovercard" href="https://github.com/navidrome/navidrome/commit/74d5c7bc82970dfb0d8ae89c00c263371967addd"><tt>74d5c7b</tt></a> Bump github.com/golangci/golangci-lint from 1.51.2 to 1.52.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1632604265" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2270" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2270/hovercard" href="https://github.com/navidrome/navidrome/pull/2270">#2270</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/880fc9e195d2c6a1b45a0f1a073fa8ccb052b610/hovercard" href="https://github.com/navidrome/navidrome/commit/880fc9e195d2c6a1b45a0f1a073fa8ccb052b610"><tt>880fc9e</tt></a> Bump github.com/Masterminds/squirrel from 1.5.3 to 1.5.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1632603842" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2269" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2269/hovercard" href="https://github.com/navidrome/navidrome/pull/2269">#2269</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1430aa108d96f75869d22280921ac44666ed78f9/hovercard" href="https://github.com/navidrome/navidrome/commit/1430aa108d96f75869d22280921ac44666ed78f9"><tt>1430aa1</tt></a> Update play_date on scrobble only when newer - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1630286881" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2262" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2262/hovercard" href="https://github.com/navidrome/navidrome/issues/2262">#2262</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1630289680" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2263" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2263/hovercard" href="https://github.com/navidrome/navidrome/pull/2263">#2263</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/673880d6615abb48784980ecb0fb729e3a70ad98/hovercard" href="https://github.com/navidrome/navidrome/commit/673880d6615abb48784980ecb0fb729e3a70ad98"><tt>673880d</tt></a> Add option to load TLS cert/key, and use HTTPS</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7ea111322b5a9d9bae0041a0db732bf06fc50ba2/hovercard" href="https://github.com/navidrome/navidrome/commit/7ea111322b5a9d9bae0041a0db732bf06fc50ba2"><tt>7ea1113</tt></a> Don't pump the volume up to 100% if it is not in a mobile device. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1624681509" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2255" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2255/hovercard" href="https://github.com/navidrome/navidrome/issues/2255">#2255</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/377e7ebd5230894965a50106b668c43edb7dc92a/hovercard" href="https://github.com/navidrome/navidrome/commit/377e7ebd5230894965a50106b668c43edb7dc92a"><tt>377e7eb</tt></a> Disable share downloading when <code>EnableDownloads</code> is false.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/23c483da1000832bc88882c3a140c05b87dec891/hovercard" href="https://github.com/navidrome/navidrome/commit/23c483da1000832bc88882c3a140c05b87dec891"><tt>23c483d</tt></a> Only freezes issues/prs after 120 days</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c380139606e9d8648174f4a17b8ef0379ce44c87/hovercard" href="https://github.com/navidrome/navidrome/commit/c380139606e9d8648174f4a17b8ef0379ce44c87"><tt>c380139</tt></a> Fix lint</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/63fbccf5a9f5711988b8451cd1733080886ee42f/hovercard" href="https://github.com/navidrome/navidrome/commit/63fbccf5a9f5711988b8451cd1733080886ee42f"><tt>63fbccf</tt></a> Enable memory profiling</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1f6ec1d9f53e793215dcd62e13f9a7296bf62bba/hovercard" href="https://github.com/navidrome/navidrome/commit/1f6ec1d9f53e793215dcd62e13f9a7296bf62bba"><tt>1f6ec1d</tt></a> Add pprof endpoint, disabled by default</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cad815635329908c815326558d3e47299a41527f/hovercard" href="https://github.com/navidrome/navidrome/commit/cad815635329908c815326558d3e47299a41527f"><tt>cad8156</tt></a> Bump webpack from 5.74.0 to 5.76.1 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1624799823" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2256" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2256/hovercard" href="https://github.com/navidrome/navidrome/pull/2256">#2256</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f7d4fcdcc1a59d1b4f835519efb402897757e371/hovercard" href="https://github.com/navidrome/navidrome/commit/f7d4fcdcc1a59d1b4f835519efb402897757e371"><tt>f7d4fcd</tt></a> Convert all Subsonic API ints to int32 as per specification (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1622289018" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2252" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2252/hovercard" href="https://github.com/navidrome/navidrome/pull/2252">#2252</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/002cb4ed71550a5642612d29dd90b63636961430/hovercard" href="https://github.com/navidrome/navidrome/commit/002cb4ed71550a5642612d29dd90b63636961430"><tt>002cb4e</tt></a> Update README.md</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e13eaebbde9984fc99f18292af726b102845f050/hovercard" href="https://github.com/navidrome/navidrome/commit/e13eaebbde9984fc99f18292af726b102845f050"><tt>e13eaeb</tt></a> Update README.md</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/539c0faedb111a0573edbf2cde892f119db12403/hovercard" href="https://github.com/navidrome/navidrome/commit/539c0faedb111a0573edbf2cde892f119db12403"><tt>539c0fa</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.9.0 to 2.9.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1621981833" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2251" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2251/hovercard" href="https://github.com/navidrome/navidrome/pull/2251">#2251</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4ccb6ccb09298d4ec6fcde1ecad56a1a6b446bb0/hovercard" href="https://github.com/navidrome/navidrome/commit/4ccb6ccb09298d4ec6fcde1ecad56a1a6b446bb0"><tt>4ccb6cc</tt></a> Update Chinese translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1620561314" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2250" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2250/hovercard" href="https://github.com/navidrome/navidrome/pull/2250">#2250</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ec0eb2866be8ccaf0b51ffc6b5fc148c748f4776/hovercard" href="https://github.com/navidrome/navidrome/commit/ec0eb2866be8ccaf0b51ffc6b5fc148c748f4776"><tt>ec0eb28</tt></a> Hide Love button on Artist Page when EnableFavourites=false. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1619837719" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2245" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2245/hovercard" href="https://github.com/navidrome/navidrome/issues/2245">#2245</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b520d8827a2af26188ef64c343040595ceb83ca1/hovercard" href="https://github.com/navidrome/navidrome/commit/b520d8827a2af26188ef64c343040595ceb83ca1"><tt>b520d88</tt></a> Add download button in the SharePlayer</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a7d3e6e1f1d168d74b42151b8a776240af9e3734/hovercard" href="https://github.com/navidrome/navidrome/commit/a7d3e6e1f1d168d74b42151b8a776240af9e3734"><tt>a7d3e6e</tt></a> Add option to allow share to be downloaded</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a22eef39f71309a85ac1c04877f623f69a533b52/hovercard" href="https://github.com/navidrome/navidrome/commit/a22eef39f71309a85ac1c04877f623f69a533b52"><tt>a22eef3</tt></a> Add share download endpoint</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/50d983865283b2d49901916ba959e95fb84ce589/hovercard" href="https://github.com/navidrome/navidrome/commit/50d983865283b2d49901916ba959e95fb84ce589"><tt>50d9838</tt></a> Add docker compose examples, with traefik or caddy and without, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="690413705" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/476" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/476/hovercard" href="https://github.com/navidrome/navidrome/issues/476">#476</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1619599231" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2240" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2240/hovercard" href="https://github.com/navidrome/navidrome/pull/2240">#2240</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/016454c21760b6fff6dbd26002f24fb6df1ef6ee/hovercard" href="https://github.com/navidrome/navidrome/commit/016454c21760b6fff6dbd26002f24fb6df1ef6ee"><tt>016454c</tt></a> Bump golangci-lint version</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/41a5db72e7d223a9f38e2cb21eb6045a14910aa6/hovercard" href="https://github.com/navidrome/navidrome/commit/41a5db72e7d223a9f38e2cb21eb6045a14910aa6"><tt>41a5db7</tt></a> Update more dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6e6ec58429b5e7879bab5beace1ea782760c0f65/hovercard" href="https://github.com/navidrome/navidrome/commit/6e6ec58429b5e7879bab5beace1ea782760c0f65"><tt>6e6ec58</tt></a> Update sanitize and golang.org/x dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c88e1baa7c33a07180504fd32e9fd6a06f847fe5/hovercard" href="https://github.com/navidrome/navidrome/commit/c88e1baa7c33a07180504fd32e9fd6a06f847fe5"><tt>c88e1ba</tt></a> Make playlist tracks match case-insensitive. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1224254951" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1720" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1720/hovercard" href="https://github.com/navidrome/navidrome/issues/1720">#1720</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e16e3d2e7bde8094471ba07e25918f782868d9e5/hovercard" href="https://github.com/navidrome/navidrome/commit/e16e3d2e7bde8094471ba07e25918f782868d9e5"><tt>e16e3d2</tt></a> Fix pipeline.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/339a6239fdfd0508fff6a0fe10a68554244d3fd1/hovercard" href="https://github.com/navidrome/navidrome/commit/339a6239fdfd0508fff6a0fe10a68554244d3fd1"><tt>339a623</tt></a> Ignore Recycle Bins in Windows. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="873728507" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1074" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1074/hovercard" href="https://github.com/navidrome/navidrome/issues/1074">#1074</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/47f15ccbc37265b492d905b678722859a60b8949/hovercard" href="https://github.com/navidrome/navidrome/commit/47f15ccbc37265b492d905b678722859a60b8949"><tt>47f15cc</tt></a> Make AlbumArtists clickable in AlbumSongs view. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1148875395" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1627" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1627/hovercard" href="https://github.com/navidrome/navidrome/issues/1627">#1627</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9667f3cd48e5ed414c2182e3030bcb831a25f61d/hovercard" href="https://github.com/navidrome/navidrome/commit/9667f3cd48e5ed414c2182e3030bcb831a25f61d"><tt>9667f3c</tt></a> Add file path to toggleable columns in SongList view. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1223720800" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1719" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1719/hovercard" href="https://github.com/navidrome/navidrome/issues/1719">#1719</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5773fa0349431ddc855cde97c2e8c239fe490468/hovercard" href="https://github.com/navidrome/navidrome/commit/5773fa0349431ddc855cde97c2e8c239fe490468"><tt>5773fa0</tt></a> Fix discussions links</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/527c378c41199e074141f8363297fdc813cd64f6/hovercard" href="https://github.com/navidrome/navidrome/commit/527c378c41199e074141f8363297fdc813cd64f6"><tt>527c378</tt></a> Add feature request link to About dialog</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/caa0788853b6d65e889c7a22af81044d87d3ee11/hovercard" href="https://github.com/navidrome/navidrome/commit/caa0788853b6d65e889c7a22af81044d87d3ee11"><tt>caa0788</tt></a> Fine tune issue templates</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/40b14e6d81505d4af799abff0a9184463929b101/hovercard" href="https://github.com/navidrome/navidrome/commit/40b14e6d81505d4af799abff0a9184463929b101"><tt>40b14e6</tt></a> Add log-output to lock-threads bot</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/becd50eb68bc8d81e3d3b3a3737247c2ede239d0/hovercard" href="https://github.com/navidrome/navidrome/commit/becd50eb68bc8d81e3d3b3a3737247c2ede239d0"><tt>becd50e</tt></a> Remove debug-only option from stale bot</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/15b5aa91433b2f5fe3fd170add8d89b03266dbd1/hovercard" href="https://github.com/navidrome/navidrome/commit/15b5aa91433b2f5fe3fd170add8d89b03266dbd1"><tt>15b5aa9</tt></a> Add stale/lock-threads bot</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7987d982cf5bd178e96fbe9d9c812f64bb74c5e6/hovercard" href="https://github.com/navidrome/navidrome/commit/7987d982cf5bd178e96fbe9d9c812f64bb74c5e6"><tt>7987d98</tt></a> Fix pipeline's lint error message</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1dd074bbb4717369a0e17c154a0c7e937262399e/hovercard" href="https://github.com/navidrome/navidrome/commit/1dd074bbb4717369a0e17c154a0c7e937262399e"><tt>1dd074b</tt></a> Add new issue templates</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7eac9d2bbec0cd9fd35f9c0e77e258a37b4be9c2/hovercard" href="https://github.com/navidrome/navidrome/commit/7eac9d2bbec0cd9fd35f9c0e77e258a37b4be9c2"><tt>7eac9d2</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/362d8c50fe20d0afe8219fadbf8763bab12efd69/hovercard" href="https://github.com/navidrome/navidrome/commit/362d8c50fe20d0afe8219fadbf8763bab12efd69"><tt>362d8c5</tt></a> Bump github.com/onsi/gomega from 1.26.0 to 1.27.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1592263705" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2204" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2204/hovercard" href="https://github.com/navidrome/navidrome/pull/2204">#2204</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/01c604ba7b5fcc662cc912a774781c9135ecfedd/hovercard" href="https://github.com/navidrome/navidrome/commit/01c604ba7b5fcc662cc912a774781c9135ecfedd"><tt>01c604b</tt></a> Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1601677368" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2216" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2216/hovercard" href="https://github.com/navidrome/navidrome/pull/2216">#2216</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2c129a2890ca2f7c58ca374220ee0cc5366d8fdd/hovercard" href="https://github.com/navidrome/navidrome/commit/2c129a2890ca2f7c58ca374220ee0cc5366d8fdd"><tt>2c129a2</tt></a> Bump golang.org/x/image from 0.0.0-20191009234506-e7c1f5e7dbb8 to 0.5.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1601677498" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2217" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2217/hovercard" href="https://github.com/navidrome/navidrome/pull/2217">#2217</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5fc4076aec631ed5e2ff0b19bf5fe4f4c3bac170/hovercard" href="https://github.com/navidrome/navidrome/commit/5fc4076aec631ed5e2ff0b19bf5fe4f4c3bac170"><tt>5fc4076</tt></a> Fix translation key</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d303ad26764c9af0423a981dd20af211a68e37f7/hovercard" href="https://github.com/navidrome/navidrome/commit/d303ad26764c9af0423a981dd20af211a68e37f7"><tt>d303ad2</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c4a68c8a0ac442be644314bb98ec22beda4807dd/hovercard" href="https://github.com/navidrome/navidrome/commit/c4a68c8a0ac442be644314bb98ec22beda4807dd"><tt>c4a68c8</tt></a> Fix build pipeline</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ad9ce98cc23c957b726a3118707cfe10f7e65be7/hovercard" href="https://github.com/navidrome/navidrome/commit/ad9ce98cc23c957b726a3118707cfe10f7e65be7"><tt>ad9ce98</tt></a> Use GoLang 1.20.1 in pipeline</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a134b1b608902b69333ad48128f4de6c276605ce/hovercard" href="https://github.com/navidrome/navidrome/commit/a134b1b608902b69333ad48128f4de6c276605ce"><tt>a134b1b</tt></a> Use sync/atomic package, now that we are at Go 1.19</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6dce4b2478752a1c49482046d29fa4998489da9e/hovercard" href="https://github.com/navidrome/navidrome/commit/6dce4b2478752a1c49482046d29fa4998489da9e"><tt>6dce4b2</tt></a> Remove custom atomic.Bool, we are now at Go 1.19</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/10108c63c9b5bdf2966ffb3239bbfd89683e37b7/hovercard" href="https://github.com/navidrome/navidrome/commit/10108c63c9b5bdf2966ffb3239bbfd89683e37b7"><tt>10108c6</tt></a> Allow BaseURL to contain full server url, including scheme and host. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1583395234" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2183" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2183/hovercard" href="https://github.com/navidrome/navidrome/issues/2183">#2183</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/aac6e2cb0774aa256c00098b2d88bf8af288da79/hovercard" href="https://github.com/navidrome/navidrome/commit/aac6e2cb0774aa256c00098b2d88bf8af288da79"><tt>aac6e2c</tt></a> Add path to cookies. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1111955539" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1580" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1580/hovercard" href="https://github.com/navidrome/navidrome/issues/1580">#1580</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0ffdb2eee0c424427614b1dca97e543335a99082/hovercard" href="https://github.com/navidrome/navidrome/commit/0ffdb2eee0c424427614b1dca97e543335a99082"><tt>0ffdb2e</tt></a> Bump minimum Go version to 1.19</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.49.3 + 2023-02-14T05:21:57+01:00 + + v0.49.3 + <h2>Bug fix point release</h2> +<p>There was a <a href="https://github.com/navidrome/navidrome/issues/2168" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2168/hovercard">show stopper bug</a> in 0.49.2, sorry about that. Also, the ReplayGain implementation is broken in Safari, and it was causing no audio to be played. In this release Safari should play normally as long as you don't turn ReplayGain on. This will be properly fixed and supported in Safari in a future release.</p> +<p>This release fixes the following issues:</p> +<ul> +<li>Fix DB upgrade from versions before 0.49.0 (<a href="https://github.com/navidrome/navidrome/issues/2168" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2168/hovercard">#2168</a>)</li> +<li>Only create context if gain mode active (<a href="https://github.com/navidrome/navidrome/issues/2173" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2173/hovercard">#2173</a>) <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>Limit Share Player size while handling theme properly (<a href="https://github.com/navidrome/navidrome/issues/2171" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2171/hovercard">#2171</a>) <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8b93962faddff839e4137ab371776b2c8b2e6cd4/hovercard" href="https://github.com/navidrome/navidrome/commit/8b93962faddff839e4137ab371776b2c8b2e6cd4"><tt>8b93962</tt></a> Limit share size while handling theme properly (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1581333586" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2171" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2171/hovercard" href="https://github.com/navidrome/navidrome/pull/2171">#2171</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b129cae0d8b1d8e672626bd74917d0ec1809cc1c/hovercard" href="https://github.com/navidrome/navidrome/commit/b129cae0d8b1d8e672626bd74917d0ec1809cc1c"><tt>b129cae</tt></a> Only create context if gain mode active (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1581552613" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2173" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2173/hovercard" href="https://github.com/navidrome/navidrome/pull/2173">#2173</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2400e4f60da705888298cb493948b1c008a1980c/hovercard" href="https://github.com/navidrome/navidrome/commit/2400e4f60da705888298cb493948b1c008a1980c"><tt>2400e4f</tt></a> Fix DB migration. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1581230179" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2168" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2168/hovercard" href="https://github.com/navidrome/navidrome/issues/2168">#2168</a></li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.49.2 + 2023-02-12T02:53:00+01:00 + + v0.49.2 + <h2>Bug fix point release</h2> +<p>This release fixes the following issues:</p> +<ul> +<li>Fix Playlist delete and reorder actions (<a href="https://github.com/navidrome/navidrome/issues/2160" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2160/hovercard">#2160</a>)</li> +<li>"Spell-Jacking" mitigation - prevent sensitive data leak from spell checker (<a href="https://github.com/navidrome/navidrome/issues/2091" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2091/hovercard">#2091</a>). Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlehammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dlehammer">@dlehammer</a></li> +<li>Don't cancel transcoding session if context is canceled</li> +<li>Make <code>ffmpeg</code> path configurable (option <code>FFmpegPath</code>), also finds it automatically in current folder (<a href="https://github.com/navidrome/navidrome/issues/1932" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1932/hovercard">#1932</a>)</li> +<li>Enable ReplayGain by default and always import RG tags</li> +<li>Limit Share player width to 768px (<a href="https://github.com/navidrome/navidrome/issues/2164" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2164/hovercard">#2164</a>) Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>Abort start up if config file is invalid.</li> +<li>New Option <code>EnableArtworkPrecache</code> to control the usage of Image Cache Warmer. See discussion in <a href="https://github.com/navidrome/navidrome/issues/2142#issuecomment-1419243832" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2142/hovercard">#2142</a></li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3cd934abd7f7e680f0ea3595b6d750e80963f308/hovercard" href="https://github.com/navidrome/navidrome/commit/3cd934abd7f7e680f0ea3595b6d750e80963f308"><tt>3cd934a</tt></a> Update translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577613248" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2159" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2159/hovercard" href="https://github.com/navidrome/navidrome/pull/2159">#2159</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/727632b616fa0a18a753ae6a66d4757ed36da228/hovercard" href="https://github.com/navidrome/navidrome/commit/727632b616fa0a18a753ae6a66d4757ed36da228"><tt>727632b</tt></a> Refactor play tracking</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9e268678f26336a69dc09bfcb863f881c8b647e9/hovercard" href="https://github.com/navidrome/navidrome/commit/9e268678f26336a69dc09bfcb863f881c8b647e9"><tt>9e26867</tt></a> Limit Share player to 768 px (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1580740517" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2164" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2164/hovercard" href="https://github.com/navidrome/navidrome/pull/2164">#2164</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bb29ad3b12a704039ae3d50dbff8b5e5463fa6e4/hovercard" href="https://github.com/navidrome/navidrome/commit/bb29ad3b12a704039ae3d50dbff8b5e5463fa6e4"><tt>bb29ad3</tt></a> Update Spanish translation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1580830308" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2165" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2165/hovercard" href="https://github.com/navidrome/navidrome/pull/2165">#2165</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b68ed2e4f90ecd5b5401697826a61ac9ce82d8a9/hovercard" href="https://github.com/navidrome/navidrome/commit/b68ed2e4f90ecd5b5401697826a61ac9ce82d8a9"><tt>b68ed2e</tt></a> Fix album's image_files</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0c3ac906b897599e7a08feb2da9bc140b0b3431e/hovercard" href="https://github.com/navidrome/navidrome/commit/0c3ac906b897599e7a08feb2da9bc140b0b3431e"><tt>0c3ac90</tt></a> Enable ReplayGain by default and always import RG tags</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b0e58cb885122bb234654938d575962776dca243/hovercard" href="https://github.com/navidrome/navidrome/commit/b0e58cb885122bb234654938d575962776dca243"><tt>b0e58cb</tt></a> Use Navidrome's own public images endpoint for <code>getAlbumInfo</code>'s imageURLs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/806713719fcfff29d4c1e03bffd39fbb228e46b1/hovercard" href="https://github.com/navidrome/navidrome/commit/806713719fcfff29d4c1e03bffd39fbb228e46b1"><tt>8067137</tt></a> Add lastUpdated to <code>coverArt</code> ids. Helps with invalidating art cache client-side.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a3b8682d441bd486f933deff78de994bb00fb9a0/hovercard" href="https://github.com/navidrome/navidrome/commit/a3b8682d441bd486f933deff78de994bb00fb9a0"><tt>a3b8682</tt></a> Fix polling of buffered scrobbles</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0bbb54934b6578a6eeb6cfd72fb4e25e50ad1e7c/hovercard" href="https://github.com/navidrome/navidrome/commit/0bbb54934b6578a6eeb6cfd72fb4e25e50ad1e7c"><tt>0bbb549</tt></a> Use Go 1.20 in pipeline, drop support for 1.18</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/759ff844e2d0b89661b6c5c83c5609d3f859bbc5/hovercard" href="https://github.com/navidrome/navidrome/commit/759ff844e2d0b89661b6c5c83c5609d3f859bbc5"><tt>759ff84</tt></a> Make ffmpeg path configurable, also finds it automatically in current folder. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1410624985" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1932" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1932/hovercard" href="https://github.com/navidrome/navidrome/issues/1932">#1932</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b8c5e49dd3b16f1b3ec00e25fb9d4108fdf4231d/hovercard" href="https://github.com/navidrome/navidrome/commit/b8c5e49dd3b16f1b3ec00e25fb9d4108fdf4231d"><tt>b8c5e49</tt></a> Close stream when downloading files, fix fd leak</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/05c6cdea1ae7f517c01bea1dc34580959386cd41/hovercard" href="https://github.com/navidrome/navidrome/commit/05c6cdea1ae7f517c01bea1dc34580959386cd41"><tt>05c6cde</tt></a> Don't cancel transcoding session if context is canceled</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fc8462dc8ac82f4aa27d9f3afcda7caf9a2967dc/hovercard" href="https://github.com/navidrome/navidrome/commit/fc8462dc8ac82f4aa27d9f3afcda7caf9a2967dc"><tt>fc8462d</tt></a> "Spell-Jacking" mitigation ~ prevent sensitive data leak from spell checker. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1533864717" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2091" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2091/hovercard" href="https://github.com/navidrome/navidrome/pull/2091">#2091</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9d459fbd0a1bcc25ac3989185061b1a96c0a7383/hovercard" href="https://github.com/navidrome/navidrome/commit/9d459fbd0a1bcc25ac3989185061b1a96c0a7383"><tt>9d459fb</tt></a> Abort start-up if config file is invalid</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9b2dd1bb06abc8c43b17ec20933614f7b901edc0/hovercard" href="https://github.com/navidrome/navidrome/commit/9b2dd1bb06abc8c43b17ec20933614f7b901edc0"><tt>9b2dd1b</tt></a> Fix playlist delete and reorder actions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bfaf4a3388d4aabfa75e19b36a0557df1d1be950/hovercard" href="https://github.com/navidrome/navidrome/commit/bfaf4a3388d4aabfa75e19b36a0557df1d1be950"><tt>bfaf4a3</tt></a> Add logs to cache hunter</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a7f15facf97b04315afb7a984a83fbc94ce18197/hovercard" href="https://github.com/navidrome/navidrome/commit/a7f15facf97b04315afb7a984a83fbc94ce18197"><tt>a7f15fa</tt></a> Bump github.com/golangci/golangci-lint to 1.51.1</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ee8f6447eb4d634a335b5ab4e65b85c129d0b1bf/hovercard" href="https://github.com/navidrome/navidrome/commit/ee8f6447eb4d634a335b5ab4e65b85c129d0b1bf"><tt>ee8f644</tt></a> Add option to disable Cache Warmer. Related to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1569727687" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2142" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2142/hovercard" href="https://github.com/navidrome/navidrome/issues/2142">#2142</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dad4949a6df2e07eda16e39b3d8f928e56161be1/hovercard" href="https://github.com/navidrome/navidrome/commit/dad4949a6df2e07eda16e39b3d8f928e56161be1"><tt>dad4949</tt></a> Refactor Subsonic search to make it a bit more readable</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3ce3185118b74b2add36ec470a8ae63423e65e26/hovercard" href="https://github.com/navidrome/navidrome/commit/3ce3185118b74b2add36ec470a8ae63423e65e26"><tt>3ce3185</tt></a> Don't retrieve Various Artists and Unknown Artist info from Last.fm</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a50d9c8b67e7d10c86eef4fd62d0f8c52ef201b4/hovercard" href="https://github.com/navidrome/navidrome/commit/a50d9c8b67e7d10c86eef4fd62d0f8c52ef201b4"><tt>a50d9c8</tt></a> Use the latest sanitize, to fix some diacritics</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.49.1 + 2023-02-04T19:56:54+01:00 + + v0.49.1 + <h2>Bug fix point release</h2> +<p>This release fixes the following issues:</p> +<ul> +<li>Proper handling of external metadata refreshes in background <a href="https://github.com/navidrome/navidrome/issues/2130" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2130/hovercard">#2130</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tolriq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tolriq">@Tolriq</a> (from <a href="https://symfonium.app/" rel="nofollow">Symfonium</a>) for helping debug this.</li> +<li>Add a fallback when the browser does not support copying the share link to clipboard</li> +<li>Fix downloading and sharing from a playlist <a href="https://github.com/navidrome/navidrome/issues/2123" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2123/hovercard">#2123</a></li> +<li>Fix invisible checkboxes in Gruvbox theme <a href="https://github.com/navidrome/navidrome/issues/2135" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2135/hovercard">#2135</a>. Thanks to @vlfldr</li> +<li>Fix unreadable lyrics in Nord theme <a href="https://github.com/navidrome/navidrome/issues/2146" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2146/hovercard">#2146</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>Fix playing new music uses lyrics from previously played one in Web Browser <a href="https://github.com/navidrome/navidrome/issues/2117" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2117/hovercard">#2117</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joaomqc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joaomqc">@joaomqc</a></li> +<li>Fix artwork resolution when paths contains a <code>:</code> char <a href="https://github.com/navidrome/navidrome/issues/2137" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2137/hovercard">#2137</a></li> +</ul> +<p>It also adds a new config option to change max playlists shown in UI's sidebar, <code>MaxSidebarPlaylists</code>.<br> +See <a href="https://github.com/navidrome/navidrome/issues/2077" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2077/hovercard">#2077</a></p> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f8dfb3ad86cf76c9127fee8e520c81e94c195811/hovercard" href="https://github.com/navidrome/navidrome/commit/f8dfb3ad86cf76c9127fee8e520c81e94c195811"><tt>f8dfb3a</tt></a> Clearer lyrics in Nord theme (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1571040981" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2146" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2146/hovercard" href="https://github.com/navidrome/navidrome/pull/2146">#2146</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/255f8e4a76318e89e413bcf4c426b9e8c2a672e8/hovercard" href="https://github.com/navidrome/navidrome/commit/255f8e4a76318e89e413bcf4c426b9e8c2a672e8"><tt>255f8e4</tt></a> Update react-player, fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1559212109" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2117" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2117/hovercard" href="https://github.com/navidrome/navidrome/issues/2117">#2117</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/eba70ab8267ee30b909419dc652bb201359a82c0/hovercard" href="https://github.com/navidrome/navidrome/commit/eba70ab8267ee30b909419dc652bb201359a82c0"><tt>eba70ab</tt></a> Change throttling log messages</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ee6b10db72ec6a29b7d7e83addc4f1404ab03c39/hovercard" href="https://github.com/navidrome/navidrome/commit/ee6b10db72ec6a29b7d7e83addc4f1404ab03c39"><tt>ee6b10d</tt></a> Replace custom code with <code>errgroup</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/797cc8714194d3c0bffd97895feb3d4c62aff7ce/hovercard" href="https://github.com/navidrome/navidrome/commit/797cc8714194d3c0bffd97895feb3d4c62aff7ce"><tt>797cc87</tt></a> Enqueue external metadata refreshes</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bfbe980637e842c5d168a08b09d30475df33f96f/hovercard" href="https://github.com/navidrome/navidrome/commit/bfbe980637e842c5d168a08b09d30475df33f96f"><tt>bfbe980</tt></a> Bump http-cache-semantics from 4.1.0 to 4.1.1 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1568337365" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2139" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2139/hovercard" href="https://github.com/navidrome/navidrome/pull/2139">#2139</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d9d0a976743f7619c23c3f598b0fa750e59b7545/hovercard" href="https://github.com/navidrome/navidrome/commit/d9d0a976743f7619c23c3f598b0fa750e59b7545"><tt>d9d0a97</tt></a> Better log message</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c031167bb182e251b44f97ffad7c715ea8457c43/hovercard" href="https://github.com/navidrome/navidrome/commit/c031167bb182e251b44f97ffad7c715ea8457c43"><tt>c031167</tt></a> Don't retrieve all artist external metadata if we just want artist images</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4a25e6d3d8c27cdcf7e7149c9adb336fc53c6614/hovercard" href="https://github.com/navidrome/navidrome/commit/4a25e6d3d8c27cdcf7e7149c9adb336fc53c6614"><tt>4a25e6d</tt></a> Fix Mapped Similar Artists log</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ad2ad514b32f7a7d960922160074dd847dbd2d53/hovercard" href="https://github.com/navidrome/navidrome/commit/ad2ad514b32f7a7d960922160074dd847dbd2d53"><tt>ad2ad51</tt></a> Add dev option to increase external metadata cache expiration. More logs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/588ee94f7c756717f4f616f3aa9e9fb6ea736302/hovercard" href="https://github.com/navidrome/navidrome/commit/588ee94f7c756717f4f616f3aa9e9fb6ea736302"><tt>588ee94</tt></a> Discard request for image canceled by the client before any further processing</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3c5032a3e84bd480d9888d3f8ebc00dfb7975805/hovercard" href="https://github.com/navidrome/navidrome/commit/3c5032a3e84bd480d9888d3f8ebc00dfb7975805"><tt>3c5032a</tt></a> Add migration to rebuild albums paths</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bcab3cc0f908a01ebb99f9f6d0bfb37fadbd95bf/hovercard" href="https://github.com/navidrome/navidrome/commit/bcab3cc0f908a01ebb99f9f6d0bfb37fadbd95bf"><tt>bcab3cc</tt></a> Add throttling to /share/img endpoint.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9b81aa44031892e34bd417f7f1944836924d5250/hovercard" href="https://github.com/navidrome/navidrome/commit/9b81aa44031892e34bd417f7f1944836924d5250"><tt>9b81aa4</tt></a> Fix artwork resolution when paths contains <code>:</code>. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1567311735" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2137" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2137/hovercard" href="https://github.com/navidrome/navidrome/issues/2137">#2137</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f904784e67cc123132a2e043a28877bc8f0fec42/hovercard" href="https://github.com/navidrome/navidrome/commit/f904784e67cc123132a2e043a28877bc8f0fec42"><tt>f904784</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0ce750d469933cbcbd7e82f29d7546ec340182e6/hovercard" href="https://github.com/navidrome/navidrome/commit/0ce750d469933cbcbd7e82f29d7546ec340182e6"><tt>0ce750d</tt></a> Update golangci-lint and fix lint errors</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cf04db7a98b5e571b95638518eea8d85f6f1a623/hovercard" href="https://github.com/navidrome/navidrome/commit/cf04db7a98b5e571b95638518eea8d85f6f1a623"><tt>cf04db7</tt></a> Don't try to connect to external services if artist is Unknown</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f4b50c493c5fb130bf003c0dbdd211b719cc6171/hovercard" href="https://github.com/navidrome/navidrome/commit/f4b50c493c5fb130bf003c0dbdd211b719cc6171"><tt>f4b50c4</tt></a> When retrieving images from external sources, avoid calling it again if data is already cached locally.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4a7e86e989465203b16d9df74264556fc07f753b/hovercard" href="https://github.com/navidrome/navidrome/commit/4a7e86e989465203b16d9df74264556fc07f753b"><tt>4a7e86e</tt></a> Fix file descriptor leaking.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a1a5b2fc30fcd3b1cea45c5840ae61257b62911b/hovercard" href="https://github.com/navidrome/navidrome/commit/a1a5b2fc30fcd3b1cea45c5840ae61257b62911b"><tt>a1a5b2f</tt></a> Fix invisible checkboxes in Gruvbox theme (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1565523995" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2135" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2135/hovercard" href="https://github.com/navidrome/navidrome/pull/2135">#2135</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f00e6117ffdc3fd187007ecac21824aa5cd45234/hovercard" href="https://github.com/navidrome/navidrome/commit/f00e6117ffdc3fd187007ecac21824aa5cd45234"><tt>f00e611</tt></a> Invalidate artist cache (by changing cache key format)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d8e794317f788198227e10fb667e10496b3eb99a/hovercard" href="https://github.com/navidrome/navidrome/commit/d8e794317f788198227e10fb667e10496b3eb99a"><tt>d8e7943</tt></a> Return 404 when artwork is not available in <code>/share/img</code> endpoint</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/128b626ec9330a7693ec6bbc9788d75eb2ef55e6/hovercard" href="https://github.com/navidrome/navidrome/commit/128b626ec9330a7693ec6bbc9788d75eb2ef55e6"><tt>128b626</tt></a> Add option to change max playlists shown in UI's sidebar, <code>MaxSidebarPlaylists</code>. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1527457136" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2077" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2077/hovercard" href="https://github.com/navidrome/navidrome/issues/2077">#2077</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d683297fa70eb3514349641b8171bcbfe8c6c379/hovercard" href="https://github.com/navidrome/navidrome/commit/d683297fa70eb3514349641b8171bcbfe8c6c379"><tt>d683297</tt></a> Better behaviour of Prev/Next buttons when share has only one song:</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/aaf58bbd32f9e78b81f23a7620e0d9cb8df8d0f5/hovercard" href="https://github.com/navidrome/navidrome/commit/aaf58bbd32f9e78b81f23a7620e0d9cb8df8d0f5"><tt>aaf58bb</tt></a> Handle nil pointer dereference. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1564549482" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2133" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2133/hovercard" href="https://github.com/navidrome/navidrome/issues/2133">#2133</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/58c46827cdc33fde278a3ef215d73ba18672fff4/hovercard" href="https://github.com/navidrome/navidrome/commit/58c46827cdc33fde278a3ef215d73ba18672fff4"><tt>58c4682</tt></a> Update translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/712d8f9fcc998f5daa406d574d45e16abc977f89/hovercard" href="https://github.com/navidrome/navidrome/commit/712d8f9fcc998f5daa406d574d45e16abc977f89"><tt>712d8f9</tt></a> Add trace logs to calls to external services</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b6fcfa9fc870a78e9d7088b443b6b8302fed342b/hovercard" href="https://github.com/navidrome/navidrome/commit/b6fcfa9fc870a78e9d7088b443b6b8302fed342b"><tt>b6fcfa9</tt></a> Add a fallback when the browser does not support copying the share link to clipboard (not a secure origin)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/762a1ba9984db728b847fc768524c4064f3ff20b/hovercard" href="https://github.com/navidrome/navidrome/commit/762a1ba9984db728b847fc768524c4064f3ff20b"><tt>762a1ba</tt></a> Fix downloading and sharing from a playlist. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1562660693" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2123" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2123/hovercard" href="https://github.com/navidrome/navidrome/issues/2123">#2123</a></li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.49.0 + 2023-01-30T21:48:25+01:00 + + v0.49.0 + <h2>New in this release</h2> +<h3>Sharing (preview)</h3> +<p>A new nice feature is the ability to generate a sharing link for a track/album/artist/playlist to send to friends, so that they can listen to the music without having an account on your Navidrome server. This is a nice alternative to YouTube links to share music. Sharing works from the UI and from Subsonic clients that support this feature.</p> +<p><strong>NOTE</strong>: The <em>sharing</em> feature is complete but misses fine-grained permissions. Because of that it is disabled by default. If you want to give it a try, you can enable it by setting <code>EnableSharing=true</code> in your config, or the environment var <code>ND_ENABLESHARING=true</code>. Just remember that once enabled <em>all</em> users (not only admins) will have <em>full permission</em> to share and change existing shares.</p> +<h3>Revamped Artwork Resolution</h3> +<p>Various issues with artwork were resolved in this release, including support for <a href="https://github.com/navidrome/navidrome/issues/394" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/394/hovercard">local artists images</a>. Also, playlist covers are now generated as a tiled (2x2) image from the album covers (only supported in Subsonic clients for now). To learn more, see <a href="https://www.navidrome.org/docs/usage/artwork/" rel="nofollow">Artwork Resolution</a> in the documentation.</p> +<h3>Internet Radio</h3> +<p>You can now add your favorite Internet Radio streams to Navidrome and listen to them directly in the UI or in Subsonic clients that support this feature. Big thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a> for implementing this.</p> +<p>As usual, a big thanks to <a href="https://github.com/navidrome/navidrome/graphs/contributors?from=2022-10-16&amp;to=2023-01-30&amp;type=c">all contributors</a> who helped in this release.</p> +<h2>Other highlights</h2> +<ul> +<li>[UI] New Gruvbox Dark theme <a href="https://github.com/navidrome/navidrome/pull/2092" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2092/hovercard">#2092</a>. Thanks to @vlfldr</li> +<li>[UI] Add ReplayGain support <a href="https://github.com/navidrome/navidrome/pull/1988" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1988/hovercard">#1988</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[UI] Add Internet Radios support <a href="https://github.com/navidrome/navidrome/pull/2063" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2063/hovercard">#2063</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[UI] Add keyboard shortcut <code>shift-C</code> to go to current playing song</li> +<li>[UI] Add option to transcode when downloading <a href="https://github.com/navidrome/navidrome/pull/1667" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1667/hovercard">#1667</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[UI] Show album description from Last.fm if enabled and available <a href="https://github.com/navidrome/navidrome/pull/2061" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2061/hovercard">#2061</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[UI] Fix "Play Next" resetting the play queue <a href="https://github.com/navidrome/navidrome/pull/1472" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1472/hovercard">#1472</a></li> +<li>[UI] More columns to select in List views</li> +<li>[UI] Hide toggleable columns when in Album Grid view mode. Fix <a href="https://github.com/navidrome/navidrome/pull/2064" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2064/hovercard">#2064</a></li> +<li>[UI] Hide Links to external services if they are disabled</li> +<li>[UI] Respect prefers-reduced-motion browser configuration <a href="https://github.com/navidrome/navidrome/pull/2090" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2090/hovercard">#2090</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gildesmarais/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gildesmarais">@gildesmarais</a></li> +<li>[UI] New <code>DefaultUIVolume</code> config option. Fix <a href="https://github.com/navidrome/navidrome/issues/1679" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1679/hovercard">#1679</a></li> +<li>[Server] Much improved artwork handling. See <a href="https://www.navidrome.org/docs/usage/artwork/" rel="nofollow">Artwork Resolution</a> in documentation</li> +<li>[Server] Support local artist images. Fix <a href="https://github.com/navidrome/navidrome/pull/394" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/394/hovercard">#394</a></li> +<li>[Server] Uses <code>ffmpeg</code> to extract images as a fallback. Should handle all filetypes with embedded images now. Fix <a href="https://github.com/navidrome/navidrome/pull/1492" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1492/hovercard">#1492</a></li> +<li>[Server] Add Downsampling feature <a href="https://github.com/navidrome/navidrome/pull/1575" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1575/hovercard">#1575</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gauth-fr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gauth-fr">@gauth-fr</a></li> +<li>[Server] Fix compatibility with Maloja <a href="https://github.com/navidrome/navidrome/pull/1994" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1994/hovercard">#1994</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rhamzeh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rhamzeh">@rhamzeh</a></li> +<li>[Server] New command line option (<code>navidrome pls</code>) to export playlists in M3U format <a href="https://github.com/navidrome/navidrome/pull/1914" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1914/hovercard">#1914</a></li> +<li>[Server] Create accounts automatically when authenticating from HTTP header <a href="https://github.com/navidrome/navidrome/pull/2087" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2087/hovercard">#2087</a>. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/selfhoster1312/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/selfhoster1312">@selfhoster1312</a></li> +<li>[Server] Expose more Prometheus metrics <a href="https://github.com/navidrome/navidrome/pull/2002" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2002/hovercard">#2002</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlekseyLobanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlekseyLobanov">@AlekseyLobanov</a></li> +<li>[Server] Downloads of multi-disc albums now create subfolders for each disc. Fix <a href="https://github.com/navidrome/navidrome/pull/2121" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2121/hovercard">#2121</a></li> +<li>[Subsonic] Add <a href="http://subsonic.org/pages/api.jsp#getInternetRadioStations" rel="nofollow">Internet Radio endpoints</a> <a href="https://github.com/navidrome/navidrome/pull/2063" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2063/hovercard">#2063</a></li> +<li>[Subsonic] Add initial <a href="http://subsonic.org/pages/api.jsp#getShares" rel="nofollow">Sharing</a> support (if <code>EnableSharing</code> is set to <code>true</code>)</li> +<li>[Subsonic] Add <code>coverArt</code> to playlists</li> +<li>[Subsonic] Make artist artwork handling more compatible with Subsonic clients</li> +<li>[Subsonic] <code>getTopSongs</code> return starred and 5-star rated songs if <code>ExternalServices</code> are disabled</li> +<li>[Subsonic] Add <code>getAlbumInfo</code> and <code>getAlbumInfo2</code> endpoints. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kgarner7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kgarner7">@kgarner7</a></li> +<li>[Subsonic] New <code>SubsonicArtistParticipations</code> to show album participations under artists (ex: in Various Artists compilations)</li> +<li>[Build] Fix ARMv5 and v6 builds <a href="https://github.com/navidrome/navidrome/pull/1968" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1968/hovercard">#1968</a></li> +<li>[Build] Fix Illumos build <a href="https://github.com/navidrome/navidrome/pull/2067" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2067/hovercard">#2067</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bardo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bardo">@bardo</a></li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/25374b3bbe389d919f9c558c52328ff6ccf8fa7c/hovercard" href="https://github.com/navidrome/navidrome/commit/25374b3bbe389d919f9c558c52328ff6ccf8fa7c"><tt>25374b3</tt></a> Update translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/68e611578997158d6c44d84710b952152dd8ef52/hovercard" href="https://github.com/navidrome/navidrome/commit/68e611578997158d6c44d84710b952152dd8ef52"><tt>68e6115</tt></a> Rename <code>DevEnableShare</code> to <code>EnableSharing</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a651d65a5b93cbb6739cf40b76447635351ee067/hovercard" href="https://github.com/navidrome/navidrome/commit/a651d65a5b93cbb6739cf40b76447635351ee067"><tt>a651d65</tt></a> Add a comment to the generated zip</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dc56c525576666a0fae0a5a6680f2e33fa12c579/hovercard" href="https://github.com/navidrome/navidrome/commit/dc56c525576666a0fae0a5a6680f2e33fa12c579"><tt>dc56c52</tt></a> Refactor zip archiver.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5163df6531cf829180d9b6b75da411dfe0ba3261/hovercard" href="https://github.com/navidrome/navidrome/commit/5163df6531cf829180d9b6b75da411dfe0ba3261"><tt>5163df6</tt></a> Rollback changes to Chinese translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fc693e56017259f5f31c63f805bf35081da7d6b5/hovercard" href="https://github.com/navidrome/navidrome/commit/fc693e56017259f5f31c63f805bf35081da7d6b5"><tt>fc693e5</tt></a> Update translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/731bd7ee7333ab04eea13644970fe036af271214/hovercard" href="https://github.com/navidrome/navidrome/commit/731bd7ee7333ab04eea13644970fe036af271214"><tt>731bd7e</tt></a> Fix update translations job</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9f684e5a69e35688d1fd422a378779a96d057075/hovercard" href="https://github.com/navidrome/navidrome/commit/9f684e5a69e35688d1fd422a378779a96d057075"><tt>9f684e5</tt></a> Add job to create translations PRs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e2ea5eba8cbbb1451b5f3c4ea02882a8253bbb85/hovercard" href="https://github.com/navidrome/navidrome/commit/e2ea5eba8cbbb1451b5f3c4ea02882a8253bbb85"><tt>e2ea5eb</tt></a> Disable creation of shares when feature is disabled.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b825d3cfac0a1061d3210c9cf0c10b8db5aa9b86/hovercard" href="https://github.com/navidrome/navidrome/commit/b825d3cfac0a1061d3210c9cf0c10b8db5aa9b86"><tt>b825d3c</tt></a> Fix versioning releases in the pipeline (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1538571059" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2101" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2101/hovercard" href="https://github.com/navidrome/navidrome/pull/2101">#2101</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1950c07b1d828e82422661baba83d8d9c18b590a/hovercard" href="https://github.com/navidrome/navidrome/commit/1950c07b1d828e82422661baba83d8d9c18b590a"><tt>1950c07</tt></a> Disable external links when <code>EnableExternalServices</code> is false. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1471089397" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2022" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2022/hovercard" href="https://github.com/navidrome/navidrome/issues/2022">#2022</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e0fc997adb2bb07c8857810e3c228b702ed35d91/hovercard" href="https://github.com/navidrome/navidrome/commit/e0fc997adb2bb07c8857810e3c228b702ed35d91"><tt>e0fc997</tt></a> Fix Share dialog titles for Album and Playlist</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5eefb265e50419c3db7f2bfe828b195e3440432e/hovercard" href="https://github.com/navidrome/navidrome/commit/5eefb265e50419c3db7f2bfe828b195e3440432e"><tt>5eefb26</tt></a> Simplify radio CRUD code</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/39161fdf4712fd069e77ebec749a661f3f48e046/hovercard" href="https://github.com/navidrome/navidrome/commit/39161fdf4712fd069e77ebec749a661f3f48e046"><tt>39161fd</tt></a> Playlist view: optionally show comment column (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1525815666" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2073" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2073/hovercard" href="https://github.com/navidrome/navidrome/pull/2073">#2073</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1e24809ed6cf0f25f359af818b9c89cae8d873cd/hovercard" href="https://github.com/navidrome/navidrome/commit/1e24809ed6cf0f25f359af818b9c89cae8d873cd"><tt>1e24809</tt></a> Create accounts automatically when authenticating from HTTP header (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1532335672" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2087" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2087/hovercard" href="https://github.com/navidrome/navidrome/pull/2087">#2087</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9721ef8974fece79527f69912f7f250fcf3b6f98/hovercard" href="https://github.com/navidrome/navidrome/commit/9721ef8974fece79527f69912f7f250fcf3b6f98"><tt>9721ef8</tt></a> Fix download translation key</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/16850a9be0688fb261b26883c1e691c62cfc330f/hovercard" href="https://github.com/navidrome/navidrome/commit/16850a9be0688fb261b26883c1e691c62cfc330f"><tt>16850a9</tt></a> Revert "Replace the LoveButton with ArtistContextMenu in the artist page - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1441091364" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1979" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1979/hovercard" href="https://github.com/navidrome/navidrome/issues/1979">#1979</a>"</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/457e1fc97b95570655e1cb5f9c127faac0e52325/hovercard" href="https://github.com/navidrome/navidrome/commit/457e1fc97b95570655e1cb5f9c127faac0e52325"><tt>457e1fc</tt></a> Base SQL metrics in MetricsWorker (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1455809309" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2002" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2002/hovercard" href="https://github.com/navidrome/navidrome/pull/2002">#2002</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d31faf5249894c2bebeb53f4f06e87e2611a1e08/hovercard" href="https://github.com/navidrome/navidrome/commit/d31faf5249894c2bebeb53f4f06e87e2611a1e08"><tt>d31faf5</tt></a> Bump github.com/onsi/gomega from 1.25.0 to 1.26.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/20829481440d5162463f84149f6a1e9964084ab0/hovercard" href="https://github.com/navidrome/navidrome/commit/20829481440d5162463f84149f6a1e9964084ab0"><tt>2082948</tt></a> Fix downloadOriginalFormat term in English translation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/39dc9c431082589af5b30d80545b63d13d2474a4/hovercard" href="https://github.com/navidrome/navidrome/commit/39dc9c431082589af5b30d80545b63d13d2474a4"><tt>39dc9c4</tt></a> Disable Subsonic Share endpoints if feature is disabled</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0c263cf2342e832b41c09b1542d8f29c4ffefd24/hovercard" href="https://github.com/navidrome/navidrome/commit/0c263cf2342e832b41c09b1542d8f29c4ffefd24"><tt>0c263cf</tt></a> Make AlbumSongs BulkActionsToolbar more responsive</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/85084cda577bea4ddeb264da758fa72504878680/hovercard" href="https://github.com/navidrome/navidrome/commit/85084cda577bea4ddeb264da758fa72504878680"><tt>85084cd</tt></a> Add button to share selected songs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/69b36c75a5601c955e1cea9215281dec001dbaee/hovercard" href="https://github.com/navidrome/navidrome/commit/69b36c75a5601c955e1cea9215281dec001dbaee"><tt>69b36c7</tt></a> Add meta tags to show cover and share description in social platforms</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cab43c89e6b7121fdf2eeb7ffbacf2592ef02cac/hovercard" href="https://github.com/navidrome/navidrome/commit/cab43c89e6b7121fdf2eeb7ffbacf2592ef02cac"><tt>cab43c8</tt></a> Mark Share.LastVisited optional in Subsonic API</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/433da37982a60f80b8a63410d8af6ef08045e38b/hovercard" href="https://github.com/navidrome/navidrome/commit/433da37982a60f80b8a63410d8af6ef08045e38b"><tt>433da37</tt></a> Add Share to Context menus, also share artist</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/051e9c556dca5172eb1f9590af193e2acf4f830c/hovercard" href="https://github.com/navidrome/navidrome/commit/051e9c556dca5172eb1f9590af193e2acf4f830c"><tt>051e9c5</tt></a> Use redux for ShareDialog</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/17d9573f4defdc777afe6975a7f47e39b3d5cc56/hovercard" href="https://github.com/navidrome/navidrome/commit/17d9573f4defdc777afe6975a7f47e39b3d5cc56"><tt>17d9573</tt></a> Refactor dialogs, make it simple to add a new dialog to all views</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/26be5b839643b91bf263c8f8cf749b360bab5001/hovercard" href="https://github.com/navidrome/navidrome/commit/26be5b839643b91bf263c8f8cf749b360bab5001"><tt>26be5b8</tt></a> Keep order of shared mediafiles</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c770229154de4cc4ff30af4e3249f046ec133b7e/hovercard" href="https://github.com/navidrome/navidrome/commit/c770229154de4cc4ff30af4e3249f046ec133b7e"><tt>c770229</tt></a> Add Share capability to Subsonic user's info</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ef4765c768ef6182301cbf6f07d832752c86e3cc/hovercard" href="https://github.com/navidrome/navidrome/commit/ef4765c768ef6182301cbf6f07d832752c86e3cc"><tt>ef4765c</tt></a> Fix getShares sort order</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6c05fcb6992530f5e98f300b68b3c0b070334688/hovercard" href="https://github.com/navidrome/navidrome/commit/6c05fcb6992530f5e98f300b68b3c0b070334688"><tt>6c05fcb</tt></a> Create contents label for group of shared mediafiles</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/63e67bd5021dc6fcc1ca48013ffbe58ba767bb44/hovercard" href="https://github.com/navidrome/navidrome/commit/63e67bd5021dc6fcc1ca48013ffbe58ba767bb44"><tt>63e67bd</tt></a> Make Share list responsive</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/230f2fdc02bdc3a063ddd3aa26d2817efe441fb2/hovercard" href="https://github.com/navidrome/navidrome/commit/230f2fdc02bdc3a063ddd3aa26d2817efe441fb2"><tt>230f2fd</tt></a> Reduce spacing between album buttons, to avoid breaking the toolbar in two</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d639da9eb58c7c65e9668a41ca5309b928fa1e3a/hovercard" href="https://github.com/navidrome/navidrome/commit/d639da9eb58c7c65e9668a41ca5309b928fa1e3a"><tt>d639da9</tt></a> Enable sharing only selected songs with the Subsonic API</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e34f26588ea5f5b3c5dcc92d21251deb231076ea/hovercard" href="https://github.com/navidrome/navidrome/commit/e34f26588ea5f5b3c5dcc92d21251deb231076ea"><tt>e34f265</tt></a> Fix empty <code>entry</code> collection in Shares</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c994ed70eadfbb6a9af4fe283ad09d19eb2f39a9/hovercard" href="https://github.com/navidrome/navidrome/commit/c994ed70eadfbb6a9af4fe283ad09d19eb2f39a9"><tt>c994ed7</tt></a> Fix <code>expireAt</code> update error</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/40cac5c367ad75aaf1f462f2c5afa42e4c16def1/hovercard" href="https://github.com/navidrome/navidrome/commit/40cac5c367ad75aaf1f462f2c5afa42e4c16def1"><tt>40cac5c</tt></a> Fix JS console warning</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/34277f238c484f421cf5a7fbd2d1cbe8553f8097/hovercard" href="https://github.com/navidrome/navidrome/commit/34277f238c484f421cf5a7fbd2d1cbe8553f8097"><tt>34277f2</tt></a> Make Share icon dynamic</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dbf80d85927626e0f4e38a38bd7c35dc88236346/hovercard" href="https://github.com/navidrome/navidrome/commit/dbf80d85927626e0f4e38a38bd7c35dc88236346"><tt>dbf80d8</tt></a> Change public/share path to <code>/share</code> - DSub does not use the URL from the API response... :(</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d5df102f9f97c21715c756069c9e141da2a422dc/hovercard" href="https://github.com/navidrome/navidrome/commit/d5df102f9f97c21715c756069c9e141da2a422dc"><tt>d5df102</tt></a> Implement <code>updateShare</code> and <code>deleteShare</code> Subsonic endpoints</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/20271df4fb0b94e201ed5e4b6501d591aa8cd813/hovercard" href="https://github.com/navidrome/navidrome/commit/20271df4fb0b94e201ed5e4b6501d591aa8cd813"><tt>20271df</tt></a> Workaround to detect empty dates in some Subsonic clients</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d4c1d2ece450af7a857c3075607652448b951a7e/hovercard" href="https://github.com/navidrome/navidrome/commit/d4c1d2ece450af7a857c3075607652448b951a7e"><tt>d4c1d2e</tt></a> Handle expired shares</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d0dceae0943b8df16e579c2d9437e11760a0626a/hovercard" href="https://github.com/navidrome/navidrome/commit/d0dceae0943b8df16e579c2d9437e11760a0626a"><tt>d0dceae</tt></a> Add <code>getShares</code> and <code>createShare</code> Subsonic endpoints</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/94cc2b2ac56e2a8295dc258ddf5b8383b0b58e70/hovercard" href="https://github.com/navidrome/navidrome/commit/94cc2b2ac56e2a8295dc258ddf5b8383b0b58e70"><tt>94cc2b2</tt></a> Fix tests and lint errors, plus a bit of refactor</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/72a12e344ee825cea38a9bb0a0cc14618a79c5f8/hovercard" href="https://github.com/navidrome/navidrome/commit/72a12e344ee825cea38a9bb0a0cc14618a79c5f8"><tt>72a12e3</tt></a> More share translations</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/12bb6c3847900b018bc657a5cc0ed48da953adb4/hovercard" href="https://github.com/navidrome/navidrome/commit/12bb6c3847900b018bc657a5cc0ed48da953adb4"><tt>12bb6c3</tt></a> Don't expose empty dates in share info</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/58fc271864bd7d1c9f2038e88d1d1edc7e5599db/hovercard" href="https://github.com/navidrome/navidrome/commit/58fc271864bd7d1c9f2038e88d1d1edc7e5599db"><tt>58fc271</tt></a> Share playlists</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/65174d3fb270c0a977190980feca0216b60998bc/hovercard" href="https://github.com/navidrome/navidrome/commit/65174d3fb270c0a977190980feca0216b60998bc"><tt>65174d3</tt></a> Refactor DownloadMenuDialog to use <code>useTranscodingOptions</code> hook</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c8293fcdd88e5ae30e22544375af69ce9ff109d2/hovercard" href="https://github.com/navidrome/navidrome/commit/c8293fcdd88e5ae30e22544375af69ce9ff109d2"><tt>c8293fc</tt></a> Extract transcoding options to its own hook</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d9c42b318382f7f1a67162f6a23a387f1383b024/hovercard" href="https://github.com/navidrome/navidrome/commit/d9c42b318382f7f1a67162f6a23a387f1383b024"><tt>d9c42b3</tt></a> Add share's <code>contents</code> and <code>description</code> to the DB</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/364fdfbd8df73ff45bc1c5b2bec5626509a0ca4d/hovercard" href="https://github.com/navidrome/navidrome/commit/364fdfbd8df73ff45bc1c5b2bec5626509a0ca4d"><tt>364fdfb</tt></a> Use defaultDownsamplingFormat in share options</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/63b4a12a93994a717f1c300d9e259df55204e015/hovercard" href="https://github.com/navidrome/navidrome/commit/63b4a12a93994a717f1c300d9e259df55204e015"><tt>63b4a12</tt></a> Fine tune SharePlayer</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/357c0e1e19a0063a3fc8d128e37206a073a6fa7e/hovercard" href="https://github.com/navidrome/navidrome/commit/357c0e1e19a0063a3fc8d128e37206a073a6fa7e"><tt>357c0e1</tt></a> Refactor URL builders in UI</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/84aa094e56de3d2896d2ffcbc5d2554de0cf9ad1/hovercard" href="https://github.com/navidrome/navidrome/commit/84aa094e56de3d2896d2ffcbc5d2554de0cf9ad1"><tt>84aa094</tt></a> More work on Shares</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ab04e33da68a043417d79f69aa542cf3255f433c/hovercard" href="https://github.com/navidrome/navidrome/commit/ab04e33da68a043417d79f69aa542cf3255f433c"><tt>ab04e33</tt></a> Initial work on Shares</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5331de17c2caa83fce45cef9374f7230a655cc88/hovercard" href="https://github.com/navidrome/navidrome/commit/5331de17c2caa83fce45cef9374f7230a655cc88"><tt>5331de1</tt></a> Fixes the slide bar clickable area (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1554283316" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2113" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2113/hovercard" href="https://github.com/navidrome/navidrome/pull/2113">#2113</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/199f66b8def425236bb386f3b8db8dc5f124570c/hovercard" href="https://github.com/navidrome/navidrome/commit/199f66b8def425236bb386f3b8db8dc5f124570c"><tt>199f66b</tt></a> Bump @testing-library/react from 12.1.2 to 12.1.5 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1553444340" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2109" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2109/hovercard" href="https://github.com/navidrome/navidrome/pull/2109">#2109</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/535171faf8a9a7c5403d7554bebcd39f16b708b4/hovercard" href="https://github.com/navidrome/navidrome/commit/535171faf8a9a7c5403d7554bebcd39f16b708b4"><tt>535171f</tt></a> Bump github.com/onsi/gomega from 1.24.2 to 1.25.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1553444982" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2111" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2111/hovercard" href="https://github.com/navidrome/navidrome/pull/2111">#2111</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bee39ad28edb627907c09c350c85485c5e7ab929/hovercard" href="https://github.com/navidrome/navidrome/commit/bee39ad28edb627907c09c350c85485c5e7ab929"><tt>bee39ad</tt></a> Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1553444753" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2110" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2110/hovercard" href="https://github.com/navidrome/navidrome/pull/2110">#2110</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2de570fe7269012c9f8585ba55229e1c5fa6b769/hovercard" href="https://github.com/navidrome/navidrome/commit/2de570fe7269012c9f8585ba55229e1c5fa6b769"><tt>2de570f</tt></a> Fix order of gain menu options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1552009947" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2105" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2105/hovercard" href="https://github.com/navidrome/navidrome/pull/2105">#2105</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/33f033bebab13116eec6c12cac3c3d579a4f44ff/hovercard" href="https://github.com/navidrome/navidrome/commit/33f033bebab13116eec6c12cac3c3d579a4f44ff"><tt>33f033b</tt></a> Fix artist image not caching on browser</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b9934799ec526bb59683fc296f4b99112536fce0/hovercard" href="https://github.com/navidrome/navidrome/commit/b9934799ec526bb59683fc296f4b99112536fce0"><tt>b993479</tt></a> Increase size of artist image</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/adea15ab93c15852b0c211fb735789f1bf166c40/hovercard" href="https://github.com/navidrome/navidrome/commit/adea15ab93c15852b0c211fb735789f1bf166c40"><tt>adea15a</tt></a> Use constant</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0c27e7a43b7a77ce6295cbfe30093def5977fe4b/hovercard" href="https://github.com/navidrome/navidrome/commit/0c27e7a43b7a77ce6295cbfe30093def5977fe4b"><tt>0c27e7a</tt></a> Fix Illumos build - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1516765095" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2067" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2067/hovercard" href="https://github.com/navidrome/navidrome/issues/2067">#2067</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1521085605" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2069" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2069/hovercard" href="https://github.com/navidrome/navidrome/pull/2069">#2069</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8956f5e7fdcec48491596801e604b8c01bfaf8f3/hovercard" href="https://github.com/navidrome/navidrome/commit/8956f5e7fdcec48491596801e604b8c01bfaf8f3"><tt>8956f5e</tt></a> Fix Album.MaxYear calculation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7073d18b54da7e53274d11c9e2baef1242e8769e/hovercard" href="https://github.com/navidrome/navidrome/commit/7073d18b54da7e53274d11c9e2baef1242e8769e"><tt>7073d18</tt></a> Make private methods unpublished</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7fc964aec5d432480d76bb90eee14a09aca5125f/hovercard" href="https://github.com/navidrome/navidrome/commit/7fc964aec5d432480d76bb90eee14a09aca5125f"><tt>7fc964a</tt></a> Don't wake CacheWarmer every 10 seconds, let it sleep :)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/136d5f9a83555c5405ee72c337b6cf360dc0da04/hovercard" href="https://github.com/navidrome/navidrome/commit/136d5f9a83555c5405ee72c337b6cf360dc0da04"><tt>136d5f9</tt></a> Add config option to show album participations under artists in Subsonic clients</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8ae0bcb4592d39859abea2d5b3650b9b9181265f/hovercard" href="https://github.com/navidrome/navidrome/commit/8ae0bcb4592d39859abea2d5b3650b9b9181265f"><tt>8ae0bcb</tt></a> Add Gruvbox Dark color theme (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1534467673" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2092" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2092/hovercard" href="https://github.com/navidrome/navidrome/pull/2092">#2092</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/127c75e34b5052872590f7fd508125b327a7201e/hovercard" href="https://github.com/navidrome/navidrome/commit/127c75e34b5052872590f7fd508125b327a7201e"><tt>127c75e</tt></a> Don't try to downsample if requested bitrate is equal or greater than original. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1516521676" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2066" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2066/hovercard" href="https://github.com/navidrome/navidrome/issues/2066">#2066</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d5c9cf07bd0fdc954c79e86c262b4748e43a8897/hovercard" href="https://github.com/navidrome/navidrome/commit/d5c9cf07bd0fdc954c79e86c262b4748e43a8897"><tt>d5c9cf0</tt></a> Fix Playlist show</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/701e301d48ce6cbd3b6b0fb1d2802678516ccc84/hovercard" href="https://github.com/navidrome/navidrome/commit/701e301d48ce6cbd3b6b0fb1d2802678516ccc84"><tt>701e301</tt></a> Increase timeout for obtaining login background image list</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/580e9ae4bdf195063bbbb0d737f7e337ef070a0c/hovercard" href="https://github.com/navidrome/navidrome/commit/580e9ae4bdf195063bbbb0d737f7e337ef070a0c"><tt>580e9ae</tt></a> Fix timer going awry</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/feb774a149cab2743e75b49dbbaf96a2d51c9deb/hovercard" href="https://github.com/navidrome/navidrome/commit/feb774a149cab2743e75b49dbbaf96a2d51c9deb"><tt>feb774a</tt></a> Change genre.Put() to upsert. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1399943809" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1918" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1918/hovercard" href="https://github.com/navidrome/navidrome/issues/1918">#1918</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1095224424" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1564" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1564/hovercard" href="https://github.com/navidrome/navidrome/issues/1564">#1564</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1400927706" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1920" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1920/hovercard" href="https://github.com/navidrome/navidrome/pull/1920">#1920</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/17eab6a88db527e50e05797769f99943b39d2d3b/hovercard" href="https://github.com/navidrome/navidrome/commit/17eab6a88db527e50e05797769f99943b39d2d3b"><tt>17eab6a</tt></a> Fix resized image cache key</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bedd2b20745d7e4986b0285a28c86b3d940ccf83/hovercard" href="https://github.com/navidrome/navidrome/commit/bedd2b20745d7e4986b0285a28c86b3d940ccf83"><tt>bedd2b2</tt></a> Implement better artwork cache keys</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/93adda66d96348f618052a16818d032ffd1212f9/hovercard" href="https://github.com/navidrome/navidrome/commit/93adda66d96348f618052a16818d032ffd1212f9"><tt>93adda6</tt></a> Get album info (when available) from Last.fm, add getAlbumInfo endpoint (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1513470756" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2061" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2061/hovercard" href="https://github.com/navidrome/navidrome/pull/2061">#2061</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5564f00838556beadf85c842aeb8bddddd307853/hovercard" href="https://github.com/navidrome/navidrome/commit/5564f00838556beadf85c842aeb8bddddd307853"><tt>5564f00</tt></a> Some refactor, log message changes</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1324a16fc534d2de0ccd7d1ebc0d5020b4e38af6/hovercard" href="https://github.com/navidrome/navidrome/commit/1324a16fc534d2de0ccd7d1ebc0d5020b4e38af6"><tt>1324a16</tt></a> ReplayGain support + audio normalization (web player) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1447527474" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1988" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1988/hovercard" href="https://github.com/navidrome/navidrome/pull/1988">#1988</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9ae156dd8296c9c0744b7ea1317831d95f267128/hovercard" href="https://github.com/navidrome/navidrome/commit/9ae156dd8296c9c0744b7ea1317831d95f267128"><tt>9ae156d</tt></a> Remove unused prop</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/438d45c176ccfd9245243a5604b86da6ee9a72d4/hovercard" href="https://github.com/navidrome/navidrome/commit/438d45c176ccfd9245243a5604b86da6ee9a72d4"><tt>438d45c</tt></a> Change Internet Radio UX</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e76080809dd55186eb940428c00f7518dc75aedd/hovercard" href="https://github.com/navidrome/navidrome/commit/e76080809dd55186eb940428c00f7518dc75aedd"><tt>e760808</tt></a> Fix pipeline lint error help message</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0a65bf171b60956c682dd89ef5bb5cd3e1ad9148/hovercard" href="https://github.com/navidrome/navidrome/commit/0a65bf171b60956c682dd89ef5bb5cd3e1ad9148"><tt>0a65bf1</tt></a> Change Players icon, to distinguish it from Internet Radios</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e40da183bbe33dbb9a0631c825c815c064b6a349/hovercard" href="https://github.com/navidrome/navidrome/commit/e40da183bbe33dbb9a0631c825c815c064b6a349"><tt>e40da18</tt></a> Move artwork id encoding to public package</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/13ba08157a531d16b3e729ae77ac297962b1ccf0/hovercard" href="https://github.com/navidrome/navidrome/commit/13ba08157a531d16b3e729ae77ac297962b1ccf0"><tt>13ba081</tt></a> Add Size column to Album Songs view</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7682fddec0f55b81581e367fef1d766b0f8b0090/hovercard" href="https://github.com/navidrome/navidrome/commit/7682fddec0f55b81581e367fef1d766b0f8b0090"><tt>7682fdd</tt></a> Add Size column to Artist and Album views</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4a054de3d5a59d0a6c039e0efaeb226751819319/hovercard" href="https://github.com/navidrome/navidrome/commit/4a054de3d5a59d0a6c039e0efaeb226751819319"><tt>4a054de</tt></a> Hide togglable columns when in Album Grid view mode. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1515102159" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2064" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2064/hovercard" href="https://github.com/navidrome/navidrome/issues/2064">#2064</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b6233e57b334ae19895e1aadafb60271017c9177/hovercard" href="https://github.com/navidrome/navidrome/commit/b6233e57b334ae19895e1aadafb60271017c9177"><tt>b6233e5</tt></a> Bump @material-ui/styles from 4.11.4 to 4.11.5 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1535241886" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2093" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2093/hovercard" href="https://github.com/navidrome/navidrome/pull/2093">#2093</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c00040d94e0440cb118832d36b32c191c3ede6f4/hovercard" href="https://github.com/navidrome/navidrome/commit/c00040d94e0440cb118832d36b32c191c3ede6f4"><tt>c00040d</tt></a> Bump github.com/dustin/go-humanize from 1.0.0 to 1.0.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1535242567" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2094" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2094/hovercard" href="https://github.com/navidrome/navidrome/pull/2094">#2094</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c748d669d6f869b895f61ec81f4a6e35e36a9a33/hovercard" href="https://github.com/navidrome/navidrome/commit/c748d669d6f869b895f61ec81f4a6e35e36a9a33"><tt>c748d66</tt></a> Sort radio stations by name</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d319b66ff39cd31a7341ccd7d0cda9b8b8ae1754/hovercard" href="https://github.com/navidrome/navidrome/commit/d319b66ff39cd31a7341ccd7d0cda9b8b8ae1754"><tt>d319b66</tt></a> Make Radio Create and Edit forms consistent</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a8478ca74c319eeb1c30bec996dd148ffc47e185/hovercard" href="https://github.com/navidrome/navidrome/commit/a8478ca74c319eeb1c30bec996dd148ffc47e185"><tt>a8478ca</tt></a> Fix Subsonic XML Internet Radio response</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8877b1695a440a7155a66ab30ce1ec628692800d/hovercard" href="https://github.com/navidrome/navidrome/commit/8877b1695a440a7155a66ab30ce1ec628692800d"><tt>8877b16</tt></a> Add Internet Radio support (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1514980280" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2063" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2063/hovercard" href="https://github.com/navidrome/navidrome/pull/2063">#2063</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/aa21a2a305299483dc05f403e98dbc4b171fee0e/hovercard" href="https://github.com/navidrome/navidrome/commit/aa21a2a305299483dc05f403e98dbc4b171fee0e"><tt>aa21a2a</tt></a> Respect prefers-reduced-motion browser configuration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1533447409" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2090" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2090/hovercard" href="https://github.com/navidrome/navidrome/pull/2090">#2090</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e3496c7eea5d6dde09053585866e77919ae7cc09/hovercard" href="https://github.com/navidrome/navidrome/commit/e3496c7eea5d6dde09053585866e77919ae7cc09"><tt>e3496c7</tt></a> Fix artist folder detection. Now works when the artist has only one album.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d3e4a5287d6f882aed0142a92126f8c3818bd2a9/hovercard" href="https://github.com/navidrome/navidrome/commit/d3e4a5287d6f882aed0142a92126f8c3818bd2a9"><tt>d3e4a52</tt></a> "Touch" playlists to force some clients to reload cover art</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/12dd219e16b8f625d1f889ea312a030469183c9c/hovercard" href="https://github.com/navidrome/navidrome/commit/12dd219e16b8f625d1f889ea312a030469183c9c"><tt>12dd219</tt></a> Don't refresh artistInfo when setting artist's love/rating</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1d6b04e3ad0e58b2cec0c50c9f72965c55d6772f/hovercard" href="https://github.com/navidrome/navidrome/commit/1d6b04e3ad0e58b2cec0c50c9f72965c55d6772f"><tt>1d6b04e</tt></a> Replace the LoveButton with ArtistContextMenu in the artist page - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1441091364" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1979" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1979/hovercard" href="https://github.com/navidrome/navidrome/issues/1979">#1979</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dfbf86c5779efff2ecbfd6930c9c70334df74b89/hovercard" href="https://github.com/navidrome/navidrome/commit/dfbf86c5779efff2ecbfd6930c9c70334df74b89"><tt>dfbf86c</tt></a> Allow any HTTP methods for public images endpoint. Fix artist covers in Subtracks</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/16c869ec867263ad99512d9c05c96549f6dc3b56/hovercard" href="https://github.com/navidrome/navidrome/commit/16c869ec867263ad99512d9c05c96549f6dc3b56"><tt>16c869e</tt></a> Optimize playlist cover generation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c46a2a5f5fddec0b13e4902e0f17c4bf2fb8207c/hovercard" href="https://github.com/navidrome/navidrome/commit/c46a2a5f5fddec0b13e4902e0f17c4bf2fb8207c"><tt>c46a2a5</tt></a> New dev options to control getCoverArt throttling</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ab7668f562b9d21b4e12479f87fa632076391928/hovercard" href="https://github.com/navidrome/navidrome/commit/ab7668f562b9d21b4e12479f87fa632076391928"><tt>ab7668f</tt></a> Use a custom artist image cache key.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/94c6d471816a4b9b535061f9b16f578d7b3210cd/hovercard" href="https://github.com/navidrome/navidrome/commit/94c6d471816a4b9b535061f9b16f578d7b3210cd"><tt>94c6d47</tt></a> More descriptive error when artist.jpg not found</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0ffef05cc398f8556507129e177ff62de6cfb089/hovercard" href="https://github.com/navidrome/navidrome/commit/0ffef05cc398f8556507129e177ff62de6cfb089"><tt>0ffef05</tt></a> Remove "Biography not available" when agents are not available</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3f2d24695e9382125dfe5e6d6c8bbeb4a313a4f9/hovercard" href="https://github.com/navidrome/navidrome/commit/3f2d24695e9382125dfe5e6d6c8bbeb4a313a4f9"><tt>3f2d246</tt></a> PreCache artist images</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cbe3adf9873af6d255c5476d2fde54116968f01c/hovercard" href="https://github.com/navidrome/navidrome/commit/cbe3adf9873af6d255c5476d2fde54116968f01c"><tt>cbe3adf</tt></a> Don't show error when it is nil</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c90468b895f6171e33e937ff20dc915c995274f0/hovercard" href="https://github.com/navidrome/navidrome/commit/c90468b895f6171e33e937ff20dc915c995274f0"><tt>c90468b</tt></a> Find <code>artist.*</code> image in Artist folder</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/69e0a266f48bae24a11312e9efbe495a337e4c84/hovercard" href="https://github.com/navidrome/navidrome/commit/69e0a266f48bae24a11312e9efbe495a337e4c84"><tt>69e0a26</tt></a> Remove size from public image ID JWT</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8f0d002922272432f5f6fed869c02480147cea6e/hovercard" href="https://github.com/navidrome/navidrome/commit/8f0d002922272432f5f6fed869c02480147cea6e"><tt>8f0d002</tt></a> Add local TopSongs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/77a99a735b723c25015b1306bbfd250c40afdaaf/hovercard" href="https://github.com/navidrome/navidrome/commit/77a99a735b723c25015b1306bbfd250c40afdaaf"><tt>77a99a7</tt></a> Always access artist images through Navidrome (proxy calls to external URLs)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/918fee3ea3e7d8aee673eda5a0d3556f420030a4/hovercard" href="https://github.com/navidrome/navidrome/commit/918fee3ea3e7d8aee673eda5a0d3556f420030a4"><tt>918fee3</tt></a> Artwork reader for Artist</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bf461473ef52748f4e12bb5489ff22737879509f/hovercard" href="https://github.com/navidrome/navidrome/commit/bf461473ef52748f4e12bb5489ff22737879509f"><tt>bf46147</tt></a> Add local agent, only for images</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/387acc5f6302b650e67172f10f47a31e099c4bdd/hovercard" href="https://github.com/navidrome/navidrome/commit/387acc5f6302b650e67172f10f47a31e099c4bdd"><tt>387acc5</tt></a> Add public endpoint to expose images</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7fbcb2904a483e535344b730bb1ec8ffe1e590ad/hovercard" href="https://github.com/navidrome/navidrome/commit/7fbcb2904a483e535344b730bb1ec8ffe1e590ad"><tt>7fbcb29</tt></a> Add function number.RandomInt64</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7a617d3a1d7694b417be9b93dfada5e8dd675271/hovercard" href="https://github.com/navidrome/navidrome/commit/7a617d3a1d7694b417be9b93dfada5e8dd675271"><tt>7a617d3</tt></a> Remove unused "embed" build tag</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/769e8bedbadce9b8b92a059881246d4d83906e9f/hovercard" href="https://github.com/navidrome/navidrome/commit/769e8bedbadce9b8b92a059881246d4d83906e9f"><tt>769e8be</tt></a> Rename WeightedChooser's method Put to Add, a better name</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/291455f0b7ae1d3b496944bf0b4877eda1bb2645/hovercard" href="https://github.com/navidrome/navidrome/commit/291455f0b7ae1d3b496944bf0b4877eda1bb2645"><tt>291455f</tt></a> Fix Download Dialog not showing in Artist page</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b1b081e3d800191faeaf120ab462fdab6714dcc2/hovercard" href="https://github.com/navidrome/navidrome/commit/b1b081e3d800191faeaf120ab462fdab6714dcc2"><tt>b1b081e</tt></a> Move react-scripts to devDependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9ea9b4889129caf33fddbe173c0776c7ecfe11d0/hovercard" href="https://github.com/navidrome/navidrome/commit/9ea9b4889129caf33fddbe173c0776c7ecfe11d0"><tt>9ea9b48</tt></a> Bump golang.org/x/tools from 0.4.0 to 0.5.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e6e9260648c02f6812761534287621eeab07e99a/hovercard" href="https://github.com/navidrome/navidrome/commit/e6e9260648c02f6812761534287621eeab07e99a"><tt>e6e9260</tt></a> Bump decode-uri-component from 0.2.0 to 0.2.2 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/224e3b3089165f144c74aca32aec48525b0910b7/hovercard" href="https://github.com/navidrome/navidrome/commit/224e3b3089165f144c74aca32aec48525b0910b7"><tt>224e3b3</tt></a> Bump json5 from 1.0.1 to 1.0.2 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/023e103720305f742b007a98006795320c2968f5/hovercard" href="https://github.com/navidrome/navidrome/commit/023e103720305f742b007a98006795320c2968f5"><tt>023e103</tt></a> Bump prettier from 2.4.1 to 2.8.2 in /ui</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/53ef50d980fdf77ed05c491dc8fb5aef63be97ec/hovercard" href="https://github.com/navidrome/navidrome/commit/53ef50d980fdf77ed05c491dc8fb5aef63be97ec"><tt>53ef50d</tt></a> Bump golang.org/x/text from 0.5.0 to 0.6.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/feabcdfe9fe2528897b789f1447c4c84c3dfd59a/hovercard" href="https://github.com/navidrome/navidrome/commit/feabcdfe9fe2528897b789f1447c4c84c3dfd59a"><tt>feabcdf</tt></a> Show help message when goimports/go mod tidy breaks the build</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1374dab08775d3fefff96dbe707675e0d1a766d3/hovercard" href="https://github.com/navidrome/navidrome/commit/1374dab08775d3fefff96dbe707675e0d1a766d3"><tt>1374dab</tt></a> Disable buildvcs flag</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/18aac7c729685136c12a6b1cd0910b18a51d104b/hovercard" href="https://github.com/navidrome/navidrome/commit/18aac7c729685136c12a6b1cd0910b18a51d104b"><tt>18aac7c</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.6.1 to 2.7.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c8ecf3b495a172a86ed57cbc1d4926ab558fe9e1/hovercard" href="https://github.com/navidrome/navidrome/commit/c8ecf3b495a172a86ed57cbc1d4926ab558fe9e1"><tt>c8ecf3b</tt></a> Bump github.com/go-chi/httprate from 0.7.0 to 0.7.1</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7e03f8ca82aeecf99d7d83593c297d8026ba992e/hovercard" href="https://github.com/navidrome/navidrome/commit/7e03f8ca82aeecf99d7d83593c297d8026ba992e"><tt>7e03f8c</tt></a> Upgrade to Go 1.19.5</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fdbece5c92b7e69c67ef1b2b8f3980aa77266690/hovercard" href="https://github.com/navidrome/navidrome/commit/fdbece5c92b7e69c67ef1b2b8f3980aa77266690"><tt>fdbece5</tt></a> Use custom sanitize package, fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1521696150" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2070" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/2070/hovercard" href="https://github.com/navidrome/navidrome/issues/2070">#2070</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/df0f140f9f91bac880acbcf4c7a1cd719fac9708/hovercard" href="https://github.com/navidrome/navidrome/commit/df0f140f9f91bac880acbcf4c7a1cd719fac9708"><tt>df0f140</tt></a> Don't refresh smart playlists when generating covers</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/950cc28e67609f3ec0bd85dcb870e4c8691e81f8/hovercard" href="https://github.com/navidrome/navidrome/commit/950cc28e67609f3ec0bd85dcb870e4c8691e81f8"><tt>950cc28</tt></a> Add coverArt to Subsonic playlist response</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6260927074d6bb5750f54d2d2e9550ef029a5d9a/hovercard" href="https://github.com/navidrome/navidrome/commit/6260927074d6bb5750f54d2d2e9550ef029a5d9a"><tt>6260927</tt></a> Serve artist placeholder directly, instead of using LastFM's CDN</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b8c171d3d4a9669c860e979fbcc0bdebae0d6d1e/hovercard" href="https://github.com/navidrome/navidrome/commit/b8c171d3d4a9669c860e979fbcc0bdebae0d6d1e"><tt>b8c171d</tt></a> Hide LastFM icons if <code>config.lastFMEnabled</code> is false (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1411261264" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1935" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1935/hovercard" href="https://github.com/navidrome/navidrome/pull/1935">#1935</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/80ded63d353912e6999620495d9a1c30ca7ebecd/hovercard" href="https://github.com/navidrome/navidrome/commit/80ded63d353912e6999620495d9a1c30ca7ebecd"><tt>80ded63</tt></a> Add test for mapTrackTitle</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cc14485194125866491a45d7b6a10e9a88ab5a7d/hovercard" href="https://github.com/navidrome/navidrome/commit/cc14485194125866491a45d7b6a10e9a88ab5a7d"><tt>cc14485</tt></a> When trying to PreCache, wait for ImageCache to be available</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0c7c6ba02060c94302dedb649a8502a8f0da2991/hovercard" href="https://github.com/navidrome/navidrome/commit/0c7c6ba02060c94302dedb649a8502a8f0da2991"><tt>0c7c6ba</tt></a> PreCache Playlists CoverArt</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/14032a524bc88ae383b0372e2980ca94350961b0/hovercard" href="https://github.com/navidrome/navidrome/commit/14032a524bc88ae383b0372e2980ca94350961b0"><tt>14032a5</tt></a> Reduce retention in CacheWarmer</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/61e5523457641fd662f69ff569f38671a61f9301/hovercard" href="https://github.com/navidrome/navidrome/commit/61e5523457641fd662f69ff569f38671a61f9301"><tt>61e5523</tt></a> Handle "naked" CoverArtIDs (IDs of album, mediafiles and playlists)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bc09de66400355995f709b70daf338a09e9d436f/hovercard" href="https://github.com/navidrome/navidrome/commit/bc09de66400355995f709b70daf338a09e9d436f"><tt>bc09de6</tt></a> Better error handling</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/949331ed243abefd65de7db04a38e9dd535be5c5/hovercard" href="https://github.com/navidrome/navidrome/commit/949331ed243abefd65de7db04a38e9dd535be5c5"><tt>949331e</tt></a> GetCoverArt generates a tiled (2x2) image for playlists</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/501386b11f2f535fe7fefcb61d91cdd0d147391b/hovercard" href="https://github.com/navidrome/navidrome/commit/501386b11f2f535fe7fefcb61d91cdd0d147391b"><tt>501386b</tt></a> Parse correctly playlist CoverArt ids</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8f3387a894a67b130a26c4d4871fad8f9897a3fe/hovercard" href="https://github.com/navidrome/navidrome/commit/8f3387a894a67b130a26c4d4871fad8f9897a3fe"><tt>8f3387a</tt></a> Fix tests and clean up code a bit</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/332900774d5e6b103c69ba1340c9fec5d400cb8f/hovercard" href="https://github.com/navidrome/navidrome/commit/332900774d5e6b103c69ba1340c9fec5d400cb8f"><tt>3329007</tt></a> Rename DevFastAccessCoverArt to EnableMediaFileCoverArt</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/722a00cacff5c9c93ab973a182f78d17608b2717/hovercard" href="https://github.com/navidrome/navidrome/commit/722a00cacff5c9c93ab973a182f78d17608b2717"><tt>722a00c</tt></a> Fix artwork caching</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/92ddae4a65bdfe009deabeeb0050176b1f32f4c7/hovercard" href="https://github.com/navidrome/navidrome/commit/92ddae4a65bdfe009deabeeb0050176b1f32f4c7"><tt>92ddae4</tt></a> Created dedicated artwork readers</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c1c46455016eeb0bf04b33a87ab078875e205c18/hovercard" href="https://github.com/navidrome/navidrome/commit/c1c46455016eeb0bf04b33a87ab078875e205c18"><tt>c1c4645</tt></a> Move artwork handling to its own package</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8cf78efb9c249ed88f7718a735f7ff23eae8a346/hovercard" href="https://github.com/navidrome/navidrome/commit/8cf78efb9c249ed88f7718a735f7ff23eae8a346"><tt>8cf78ef</tt></a> Add timeout for artwork extraction</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/52a4721c91dc3bf1eee05e1f96476455c4a63237/hovercard" href="https://github.com/navidrome/navidrome/commit/52a4721c91dc3bf1eee05e1f96476455c4a63237"><tt>52a4721</tt></a> Remove empty (invalid) entries from the cache</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e89d99aee0e0f00e6448de6814d51a81d32ccd88/hovercard" href="https://github.com/navidrome/navidrome/commit/e89d99aee0e0f00e6448de6814d51a81d32ccd88"><tt>e89d99a</tt></a> Also caches resized images</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dc16ccdb93c1c545f4064bab6444a9abc5317773/hovercard" href="https://github.com/navidrome/navidrome/commit/dc16ccdb93c1c545f4064bab6444a9abc5317773"><tt>dc16ccd</tt></a> Make tests compatible with GoLang 1.18</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b6eb60f01931f61257052e26264ebb750fcc72c7/hovercard" href="https://github.com/navidrome/navidrome/commit/b6eb60f01931f61257052e26264ebb750fcc72c7"><tt>b6eb60f</tt></a> Add new Artwork Cache Warmer</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8c1cd9c273d923463b9ecf377c8cd345ce0dc8d9/hovercard" href="https://github.com/navidrome/navidrome/commit/8c1cd9c273d923463b9ecf377c8cd345ce0dc8d9"><tt>8c1cd9c</tt></a> Refactor file type functions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9ec349dce04c81a6538c095eebdda49dbbfb6818/hovercard" href="https://github.com/navidrome/navidrome/commit/9ec349dce04c81a6538c095eebdda49dbbfb6818"><tt>9ec349d</tt></a> Make sure album is updated if external cover changes</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f5719a7571df025e8f5301dfc2aaac33b2526b85/hovercard" href="https://github.com/navidrome/navidrome/commit/f5719a7571df025e8f5301dfc2aaac33b2526b85"><tt>f5719a7</tt></a> Fix spaces in CoverArtPriority, more trace logs in artwork resolution</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3dbd5c8d3115fd9db031296bb50e67b0f0220c46/hovercard" href="https://github.com/navidrome/navidrome/commit/3dbd5c8d3115fd9db031296bb50e67b0f0220c46"><tt>3dbd5c8</tt></a> Remove unnecessary cache invalidator, as ID nows contains the updatedAt value</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/73bb0104f09e21f1b7782ae6a81af2a80e7132b7/hovercard" href="https://github.com/navidrome/navidrome/commit/73bb0104f09e21f1b7782ae6a81af2a80e7132b7"><tt>73bb010</tt></a> Cache original images</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/26a7adae5fc93198665ae393ab016b17e1d31524/hovercard" href="https://github.com/navidrome/navidrome/commit/26a7adae5fc93198665ae393ab016b17e1d31524"><tt>26a7ada</tt></a> Change Image cache key format</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/04eab5666a70d6f7d33436cc3d6f3b6b4403bcb6/hovercard" href="https://github.com/navidrome/navidrome/commit/04eab5666a70d6f7d33436cc3d6f3b6b4403bcb6"><tt>04eab56</tt></a> Add back CoverArtPriority</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/045b023b350801cdb5048dc2966b885d386044ec/hovercard" href="https://github.com/navidrome/navidrome/commit/045b023b350801cdb5048dc2966b885d386044ec"><tt>045b023</tt></a> Fix <code>DevFastAccessCoverArt</code> flag</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/57c3334ea09fad189c21d9df52e0105e5e1d92d7/hovercard" href="https://github.com/navidrome/navidrome/commit/57c3334ea09fad189c21d9df52e0105e5e1d92d7"><tt>57c3334</tt></a> Remove unused <code>DevPreCacheAlbumArtwork</code> config option</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/847a0432ea74963bff60ba4f2fb9f04494ebcba0/hovercard" href="https://github.com/navidrome/navidrome/commit/847a0432ea74963bff60ba4f2fb9f04494ebcba0"><tt>847a043</tt></a> If resize fails, send the artwork as is. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="880017902" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1102" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1102/hovercard" href="https://github.com/navidrome/navidrome/issues/1102">#1102</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8e640bb8580affb7e0ea6225c0bbe240186b6b08/hovercard" href="https://github.com/navidrome/navidrome/commit/8e640bb8580affb7e0ea6225c0bbe240186b6b08"><tt>8e640bb</tt></a> Implement new Artist refresh</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bce7b163bae6e0a377a3fde66b3aea2cfdce841b/hovercard" href="https://github.com/navidrome/navidrome/commit/bce7b163bae6e0a377a3fde66b3aea2cfdce841b"><tt>bce7b16</tt></a> Skip trying to read cover art from mediafile if it does not have one</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2923f01cd9a702c4977947b9238ccaf79bbffd40/hovercard" href="https://github.com/navidrome/navidrome/commit/2923f01cd9a702c4977947b9238ccaf79bbffd40"><tt>2923f01</tt></a> Fix UI artwork id creation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a087f57d2dcf0001f8a483c6d388bf54e7210493/hovercard" href="https://github.com/navidrome/navidrome/commit/a087f57d2dcf0001f8a483c6d388bf54e7210493"><tt>a087f57</tt></a> Handle request (context) cancellation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9fcd1c935481643c939eb9ba3461a35098bf7b07/hovercard" href="https://github.com/navidrome/navidrome/commit/9fcd1c935481643c939eb9ba3461a35098bf7b07"><tt>9fcd1c9</tt></a> Make internal method unexported</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2814c818bd3cbb9161c997936bfc328935d6780a/hovercard" href="https://github.com/navidrome/navidrome/commit/2814c818bd3cbb9161c997936bfc328935d6780a"><tt>2814c81</tt></a> go mod tidy</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/73719c3abd4ee4c9114bf0f49a8375b9ada7d098/hovercard" href="https://github.com/navidrome/navidrome/commit/73719c3abd4ee4c9114bf0f49a8375b9ada7d098"><tt>73719c3</tt></a> Fix cover detection on M4A containers</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e0da1d15895e2b05a9d3d16b87b4a3523295e356/hovercard" href="https://github.com/navidrome/navidrome/commit/e0da1d15895e2b05a9d3d16b87b4a3523295e356"><tt>e0da1d1</tt></a> Log artwork origin (tag, file, etc...)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/92b42b35b38293e188a360d69d8ed263392de511/hovercard" href="https://github.com/navidrome/navidrome/commit/92b42b35b38293e188a360d69d8ed263392de511"><tt>92b42b3</tt></a> Fallback extracting tags using ffmpeg</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/abd3274250e84f849db6f9064dde75a0d6c686eb/hovercard" href="https://github.com/navidrome/navidrome/commit/abd3274250e84f849db6f9064dde75a0d6c686eb"><tt>abd3274</tt></a> Handle empty cover art ID in subsonic API</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0da27e8a3f534ae86eaa5c32fc77de709d7bf11d/hovercard" href="https://github.com/navidrome/navidrome/commit/0da27e8a3f534ae86eaa5c32fc77de709d7bf11d"><tt>0da27e8</tt></a> Add image cache back</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/40bb211b3937e764b63ad1f90c303d1c157d4f69/hovercard" href="https://github.com/navidrome/navidrome/commit/40bb211b3937e764b63ad1f90c303d1c157d4f69"><tt>40bb211</tt></a> Small test refactor</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/87d4db7638b37eeb754b217440ab7a372f669205/hovercard" href="https://github.com/navidrome/navidrome/commit/87d4db7638b37eeb754b217440ab7a372f669205"><tt>87d4db7</tt></a> Handle mediafile covers</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/213ceeca7893d3c85eb688e6e99c09dd6cd7e453/hovercard" href="https://github.com/navidrome/navidrome/commit/213ceeca7893d3c85eb688e6e99c09dd6cd7e453"><tt>213ceec</tt></a> Resize if requested</li> +<li>7b873860 Load artwork from embedded</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c36e77d41f6be7fe1bc896a5a40ad2645dab6467/hovercard" href="https://github.com/navidrome/navidrome/commit/c36e77d41f6be7fe1bc896a5a40ad2645dab6467"><tt>c36e77d</tt></a> Remove CoverArtID, fix tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/38bde0ddba809a0d0d4c30afe8d10c09a485b9e3/hovercard" href="https://github.com/navidrome/navidrome/commit/38bde0ddba809a0d0d4c30afe8d10c09a485b9e3"><tt>38bde0d</tt></a> Remove current Image Cache implementation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c430401ea9fc65c2cb5da1133cf3487f71a48073/hovercard" href="https://github.com/navidrome/navidrome/commit/c430401ea9fc65c2cb5da1133cf3487f71a48073"><tt>c430401</tt></a> Remove current artwork implementation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0130c6dc13438b48cf0fdfab08a89e357b5517c9/hovercard" href="https://github.com/navidrome/navidrome/commit/0130c6dc13438b48cf0fdfab08a89e357b5517c9"><tt>0130c6d</tt></a> Add all images found for each album in the database</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2f90fc9bd40e24afd900b5ee85426f32684b960b/hovercard" href="https://github.com/navidrome/navidrome/commit/2f90fc9bd40e24afd900b5ee85426f32684b960b"><tt>2f90fc9</tt></a> Move album refresh to scanner</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/566ae939506ac698bc1ef9f0c9d6738d4a17f4dd/hovercard" href="https://github.com/navidrome/navidrome/commit/566ae939506ac698bc1ef9f0c9d6738d4a17f4dd"><tt>566ae93</tt></a> Remove old refresh code</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/83ff44f5f4f1d597d796d3db337ccbc15ffc88c2/hovercard" href="https://github.com/navidrome/navidrome/commit/83ff44f5f4f1d597d796d3db337ccbc15ffc88c2"><tt>83ff44f</tt></a> Move cover art discovery (temporarily) to model</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/28e7371d939ffd5baa9ccdc33d914713e238d829/hovercard" href="https://github.com/navidrome/navidrome/commit/28e7371d939ffd5baa9ccdc33d914713e238d829"><tt>28e7371</tt></a> Moved logic of collapsing songs into albums to model package</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e03ccb316637e19f846c5e2922dd47356cbb6d3c/hovercard" href="https://github.com/navidrome/navidrome/commit/e03ccb316637e19f846c5e2922dd47356cbb6d3c"><tt>e03ccb3</tt></a> Replace MinInt/MaxInt with generic versions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6f5aaa1ec43123bbaf0e564f6a3c6b3da74ee11b/hovercard" href="https://github.com/navidrome/navidrome/commit/6f5aaa1ec43123bbaf0e564f6a3c6b3da74ee11b"><tt>6f5aaa1</tt></a> Move alternative tag names mapping to metadata</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0c22af3585c8e448139ca4b0b9fa27a03b02b883/hovercard" href="https://github.com/navidrome/navidrome/commit/0c22af3585c8e448139ca4b0b9fa27a03b02b883"><tt>0c22af3</tt></a> Invert dependency of metadata and extractors</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/55b02274942a9219b79c45ab1e8393ceaa88ea32/hovercard" href="https://github.com/navidrome/navidrome/commit/55b02274942a9219b79c45ab1e8393ceaa88ea32"><tt>55b0227</tt></a> Add Date Added column in Album and Song lists (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1507268622" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2055" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2055/hovercard" href="https://github.com/navidrome/navidrome/pull/2055">#2055</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/db6e8e45b756dbadd95f6c56b2c1a2056b3967cf/hovercard" href="https://github.com/navidrome/navidrome/commit/db6e8e45b756dbadd95f6c56b2c1a2056b3967cf"><tt>db6e8e4</tt></a> Fix build badge: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1471818100" data-permission-text="Title is private" data-url="https://github.com/badges/shields/issues/8671" data-hovercard-type="issue" data-hovercard-url="/badges/shields/issues/8671/hovercard" href="https://github.com/badges/shields/issues/8671">badges/shields#8671</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5943e8f9533b2b1706dc0a4fd19f21f9e380319b/hovercard" href="https://github.com/navidrome/navidrome/commit/5943e8f9533b2b1706dc0a4fd19f21f9e380319b"><tt>5943e8f</tt></a> Rename log.LevelCritical to log.LevelFatal</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/28389fb05e1523564dfc61fa43ed8eb8a10f938c/hovercard" href="https://github.com/navidrome/navidrome/commit/28389fb05e1523564dfc61fa43ed8eb8a10f938c"><tt>28389fb</tt></a> Add command line M3U exporter. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1397383462" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1914" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1914/hovercard" href="https://github.com/navidrome/navidrome/issues/1914">#1914</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5d8318f7b362c5b044f892f775d264a5d40e4e24/hovercard" href="https://github.com/navidrome/navidrome/commit/5d8318f7b362c5b044f892f775d264a5d40e4e24"><tt>5d8318f</tt></a> Change "Go to current song" hotkey.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/75596a6b64ca9ebf131fdce8a41c94fc2ee70aa1/hovercard" href="https://github.com/navidrome/navidrome/commit/75596a6b64ca9ebf131fdce8a41c94fc2ee70aa1"><tt>75596a6</tt></a> Bump github.com/onsi/gomega from 1.24.1 to 1.24.2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1501976544" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2048" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2048/hovercard" href="https://github.com/navidrome/navidrome/pull/2048">#2048</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a9ddb2db6b3b5753a300eb00399499fe5b38682a/hovercard" href="https://github.com/navidrome/navidrome/commit/a9ddb2db6b3b5753a300eb00399499fe5b38682a"><tt>a9ddb2d</tt></a> Bump github.com/beego/beego/v2 from 2.0.6 to 2.0.7 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1501976527" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2047" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2047/hovercard" href="https://github.com/navidrome/navidrome/pull/2047">#2047</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fe1a6a7dd55b83e32d376beaf82f98b136843dfe/hovercard" href="https://github.com/navidrome/navidrome/commit/fe1a6a7dd55b83e32d376beaf82f98b136843dfe"><tt>fe1a6a7</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.5.1 to 2.6.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1501976492" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2046" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2046/hovercard" href="https://github.com/navidrome/navidrome/pull/2046">#2046</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9cb1fc4fa12f5a00e060087f49e8af3796608876/hovercard" href="https://github.com/navidrome/navidrome/commit/9cb1fc4fa12f5a00e060087f49e8af3796608876"><tt>9cb1fc4</tt></a> Bump github.com/go-chi/chi/v5 from 5.0.7 to 5.0.8 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1492338398" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2040" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2040/hovercard" href="https://github.com/navidrome/navidrome/pull/2040">#2040</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/24d520882e207301ab130de9330136ca927dcdef/hovercard" href="https://github.com/navidrome/navidrome/commit/24d520882e207301ab130de9330136ca927dcdef"><tt>24d5208</tt></a> Don't cache transcoded files if the request was cancelled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1493326679" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2041" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2041/hovercard" href="https://github.com/navidrome/navidrome/pull/2041">#2041</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/54395e7e6a03b2b4a9e038fb32519fa4e55ad00f/hovercard" href="https://github.com/navidrome/navidrome/commit/54395e7e6a03b2b4a9e038fb32519fa4e55ad00f"><tt>54395e7</tt></a> Enable transcoding of downlods (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1181468766" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1667" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1667/hovercard" href="https://github.com/navidrome/navidrome/pull/1667">#1667</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6489dd4478b40b333ac0c365dc2d716a3d9c4b09/hovercard" href="https://github.com/navidrome/navidrome/commit/6489dd4478b40b333ac0c365dc2d716a3d9c4b09"><tt>6489dd4</tt></a> Fix overriding previous logger in context</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6c4a0be6ff639fb53faeb947843ef38c010505c1/hovercard" href="https://github.com/navidrome/navidrome/commit/6c4a0be6ff639fb53faeb947843ef38c010505c1"><tt>6c4a0be</tt></a> Add endpoints in Subsonic API logs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/982b60450069ca68db0c1c55b455245c80220201/hovercard" href="https://github.com/navidrome/navidrome/commit/982b60450069ca68db0c1c55b455245c80220201"><tt>982b604</tt></a> Add username to authenticated log messages</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f206d81afd3eccd4b42e24d6396ef903ccb70f02/hovercard" href="https://github.com/navidrome/navidrome/commit/f206d81afd3eccd4b42e24d6396ef903ccb70f02"><tt>f206d81</tt></a> Some cleanup, fixes typos and grammar errors</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c5f7cf97f49e75950ce2954437d933cdf31a0487/hovercard" href="https://github.com/navidrome/navidrome/commit/c5f7cf97f49e75950ce2954437d933cdf31a0487"><tt>c5f7cf9</tt></a> Some cleanup, adding missing context handling</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/55ba39cb79891e477a5a77a1d7721ccbfb946eb6/hovercard" href="https://github.com/navidrome/navidrome/commit/55ba39cb79891e477a5a77a1d7721ccbfb946eb6"><tt>55ba39c</tt></a> Add global Downsampling feature (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1107271683" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1575" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1575/hovercard" href="https://github.com/navidrome/navidrome/pull/1575">#1575</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0cc1db54d4cc0f4be44ae8179fcc94749dce6108/hovercard" href="https://github.com/navidrome/navidrome/commit/0cc1db54d4cc0f4be44ae8179fcc94749dce6108"><tt>0cc1db5</tt></a> Bump github.com/bradleyjkemp/cupaloy to v2.8.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/879992eb33779710aa2a6a5c65920c7ae887436b/hovercard" href="https://github.com/navidrome/navidrome/commit/879992eb33779710aa2a6a5c65920c7ae887436b"><tt>879992e</tt></a> Change "current song" hotkey English label</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b5b01f78dbd3abb820a920c17626d6d8c0de9e38/hovercard" href="https://github.com/navidrome/navidrome/commit/b5b01f78dbd3abb820a920c17626d6d8c0de9e38"><tt>b5b01f7</tt></a> Keyboard shortcut to go to current song (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1476503291" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2029" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2029/hovercard" href="https://github.com/navidrome/navidrome/pull/2029">#2029</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cdddd4ce30de12270643a2caed538a6350e17590/hovercard" href="https://github.com/navidrome/navidrome/commit/cdddd4ce30de12270643a2caed538a6350e17590"><tt>cdddd4c</tt></a> Bump golang.org/x/text from 0.4.0 to 0.5.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1476996652" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2030" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2030/hovercard" href="https://github.com/navidrome/navidrome/pull/2030">#2030</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4489c3475716e0c70d6ebacc3b82bae7563093ab/hovercard" href="https://github.com/navidrome/navidrome/commit/4489c3475716e0c70d6ebacc3b82bae7563093ab"><tt>4489c34</tt></a> Fix Misleading Error Message on unreadable Media due to Permission (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1376738378" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1873" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1873/hovercard" href="https://github.com/navidrome/navidrome/pull/1873">#1873</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/51b67d18d3cb3e692088912b4c9123befe11ff1c/hovercard" href="https://github.com/navidrome/navidrome/commit/51b67d18d3cb3e692088912b4c9123befe11ff1c"><tt>51b67d1</tt></a> Increase number of "Shuffle All" songs</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c4d156944148020588c138857ade63f6a0a84ba2/hovercard" href="https://github.com/navidrome/navidrome/commit/c4d156944148020588c138857ade63f6a0a84ba2"><tt>c4d1569</tt></a> Fix bug in duration format logic (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1473841078" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2026" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2026/hovercard" href="https://github.com/navidrome/navidrome/pull/2026">#2026</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/68ceeb9ea1b1b6750639d9156a0c9156e68b9f52/hovercard" href="https://github.com/navidrome/navidrome/commit/68ceeb9ea1b1b6750639d9156a0c9156e68b9f52"><tt>68ceeb9</tt></a> Fix build for non-unix</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4549b91ae015e28406cfaa053fb4f66831b000fa/hovercard" href="https://github.com/navidrome/navidrome/commit/4549b91ae015e28406cfaa053fb4f66831b000fa"><tt>4549b91</tt></a> Fix build for non-unix</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9ffd145e82bb3d98b3af44543746e2c1ba6d25fe/hovercard" href="https://github.com/navidrome/navidrome/commit/9ffd145e82bb3d98b3af44543746e2c1ba6d25fe"><tt>9ffd145</tt></a> Add log for signal received</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5713010984fbde4c104d493a733fc5324857a64b/hovercard" href="https://github.com/navidrome/navidrome/commit/5713010984fbde4c104d493a733fc5324857a64b"><tt>5713010</tt></a> Bump github.com/spf13/viper from 1.13.0 to 1.14.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1466763590" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2019" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2019/hovercard" href="https://github.com/navidrome/navidrome/pull/2019">#2019</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/00c6545cb194bb2217d39037f0516e0d94b07e2d/hovercard" href="https://github.com/navidrome/navidrome/commit/00c6545cb194bb2217d39037f0516e0d94b07e2d"><tt>00c6545</tt></a> Bump github.com/go-chi/jwtauth/v5 from 5.0.2 to 5.1.0</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3f45a4ed98e5a813b4f20051cf714e40db8d7258/hovercard" href="https://github.com/navidrome/navidrome/commit/3f45a4ed98e5a813b4f20051cf714e40db8d7258"><tt>3f45a4e</tt></a> Bump github.com/beego/beego/v2 from 2.0.5 to 2.0.6 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1466762997" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2016" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2016/hovercard" href="https://github.com/navidrome/navidrome/pull/2016">#2016</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/46c09e4b114346696e4eee070c941625b0cfc7f0/hovercard" href="https://github.com/navidrome/navidrome/commit/46c09e4b114346696e4eee070c941625b0cfc7f0"><tt>46c09e4</tt></a> Bump github.com/prometheus/client_golang from 1.13.0 to 1.14.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1466763427" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2018" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2018/hovercard" href="https://github.com/navidrome/navidrome/pull/2018">#2018</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/40395f47f0974e0e171d338b9cefe0261c38c0f1/hovercard" href="https://github.com/navidrome/navidrome/commit/40395f47f0974e0e171d338b9cefe0261c38c0f1"><tt>40395f4</tt></a> Use forked react-player. May fix issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1058415828" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1472" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1472/hovercard" href="https://github.com/navidrome/navidrome/issues/1472">#1472</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2c214154dc946e26255022328052df8f5300bef4/hovercard" href="https://github.com/navidrome/navidrome/commit/2c214154dc946e26255022328052df8f5300bef4"><tt>2c21415</tt></a> Add nakedret linter</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/03640ca93d32ef885b8c684889584376717a6eaa/hovercard" href="https://github.com/navidrome/navidrome/commit/03640ca93d32ef885b8c684889584376717a6eaa"><tt>03640ca</tt></a> Fix background images when BaseURL is specified</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d8c5944ef17d205cdabf94f1c67761d5a9381d82/hovercard" href="https://github.com/navidrome/navidrome/commit/d8c5944ef17d205cdabf94f1c67761d5a9381d82"><tt>d8c5944</tt></a> Fix race condition in scanner</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/10cd3152bab50f1d298eaab261fbcdeabe0390ec/hovercard" href="https://github.com/navidrome/navidrome/commit/10cd3152bab50f1d298eaab261fbcdeabe0390ec"><tt>10cd315</tt></a> Remove misplaced import</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/950b5dc1cebb831c696bc6c18985ab91f4e536d3/hovercard" href="https://github.com/navidrome/navidrome/commit/950b5dc1cebb831c696bc6c18985ab91f4e536d3"><tt>950b5dc</tt></a> Remove <code>math/rand</code> and only use <code>crypto/rand</code></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/195f39182db9b7a9231fa4fc9f39cac23775bae1/hovercard" href="https://github.com/navidrome/navidrome/commit/195f39182db9b7a9231fa4fc9f39cac23775bae1"><tt>195f391</tt></a> Host default login background images in Navidrome's own website</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/334ccac643d9eca867755b0ba6b357f219544d88/hovercard" href="https://github.com/navidrome/navidrome/commit/334ccac643d9eca867755b0ba6b357f219544d88"><tt>334ccac</tt></a> Spotify-ish Improvement (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1465515744" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2012" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2012/hovercard" href="https://github.com/navidrome/navidrome/pull/2012">#2012</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/676de79fb370da1b71486f3c866232561d024dc1/hovercard" href="https://github.com/navidrome/navidrome/commit/676de79fb370da1b71486f3c866232561d024dc1"><tt>676de79</tt></a> Don't abort scan if all audio files are in the MediaFolder's root. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="837233473" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/868" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/868/hovercard" href="https://github.com/navidrome/navidrome/issues/868">#868</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="838734285" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/893" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/893/hovercard" href="https://github.com/navidrome/navidrome/pull/893">#893</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d5fe0f214c89ef5108e72c61d3b06479730ca89e/hovercard" href="https://github.com/navidrome/navidrome/commit/d5fe0f214c89ef5108e72c61d3b06479730ca89e"><tt>d5fe0f2</tt></a> fix: send content type header in listenbrainz requests - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1414290627" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1944" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1944/hovercard" href="https://github.com/navidrome/navidrome/issues/1944">#1944</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1451150624" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1994" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1994/hovercard" href="https://github.com/navidrome/navidrome/pull/1994">#1994</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6ae6e023ea2d5373c35c2341b6ff0a9338b80546/hovercard" href="https://github.com/navidrome/navidrome/commit/6ae6e023ea2d5373c35c2341b6ff0a9338b80546"><tt>6ae6e02</tt></a> Bump some NPM dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7bafbce8168271f9d9c2f4c263d129b8b8b0b7b8/hovercard" href="https://github.com/navidrome/navidrome/commit/7bafbce8168271f9d9c2f4c263d129b8b8b0b7b8"><tt>7bafbce</tt></a> Reduce number of goroutines in test, to avoid hitting the hard limit of 8128</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a69a31a3bf09d51d3b374c481e2f4eaa8354e30d/hovercard" href="https://github.com/navidrome/navidrome/commit/a69a31a3bf09d51d3b374c481e2f4eaa8354e30d"><tt>a69a31a</tt></a> Use custom atomic.Bool, as it is not supported in Go 1.18</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/88823fca76de7051fa264fa3c5f8c0d480ec6170/hovercard" href="https://github.com/navidrome/navidrome/commit/88823fca76de7051fa264fa3c5f8c0d480ec6170"><tt>88823fc</tt></a> Fix race conditions in tests</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0bb133a6acde2591e672820328fd45564399e2a0/hovercard" href="https://github.com/navidrome/navidrome/commit/0bb133a6acde2591e672820328fd45564399e2a0"><tt>0bb133a</tt></a> Kill ffmpeg if context is cancelled</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/76a94ecb709a342aad7cd711eeacf7b287d4fbed/hovercard" href="https://github.com/navidrome/navidrome/commit/76a94ecb709a342aad7cd711eeacf7b287d4fbed"><tt>76a94ec</tt></a> Update GH actions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1b5f855bff52c46c3de1d24c0ebf414f18abef5d/hovercard" href="https://github.com/navidrome/navidrome/commit/1b5f855bff52c46c3de1d24c0ebf414f18abef5d"><tt>1b5f855</tt></a> Compress more http content-types.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/472f99b2b5f951c61450a873376024dddbb43aa8/hovercard" href="https://github.com/navidrome/navidrome/commit/472f99b2b5f951c61450a873376024dddbb43aa8"><tt>472f99b</tt></a> Add AAC default transcoding (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1461773518" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2010" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2010/hovercard" href="https://github.com/navidrome/navidrome/pull/2010">#2010</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4d660a2ba7c033a2c62333ca3f86b49d37de2e59/hovercard" href="https://github.com/navidrome/navidrome/commit/4d660a2ba7c033a2c62333ca3f86b49d37de2e59"><tt>4d660a2</tt></a> Bump github.com/golangci/golangci-lint from 1.49.0 to 1.50.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1421194080" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1954" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1954/hovercard" href="https://github.com/navidrome/navidrome/pull/1954">#1954</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/398101896fc3cd102bb50fa90fe870091a021a76/hovercard" href="https://github.com/navidrome/navidrome/commit/398101896fc3cd102bb50fa90fe870091a021a76"><tt>3981018</tt></a> Bump golang.org/x/tools from 0.1.12 to 0.3.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1448426618" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1991" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1991/hovercard" href="https://github.com/navidrome/navidrome/pull/1991">#1991</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d76985e3f7118fe5f8505f73532cdd1b38f8fcaa/hovercard" href="https://github.com/navidrome/navidrome/commit/d76985e3f7118fe5f8505f73532cdd1b38f8fcaa"><tt>d76985e</tt></a> Bump github.com/kr/pretty from 0.3.0 to 0.3.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1403480125" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1924" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1924/hovercard" href="https://github.com/navidrome/navidrome/pull/1924">#1924</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e17e4ef146dbc7f50ba9916773ee8addb75f427d/hovercard" href="https://github.com/navidrome/navidrome/commit/e17e4ef146dbc7f50ba9916773ee8addb75f427d"><tt>e17e4ef</tt></a> Bump github.com/microcosm-cc/bluemonday from 1.0.20 to 1.0.21 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1395052116" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1905" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1905/hovercard" href="https://github.com/navidrome/navidrome/pull/1905">#1905</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0a4a9d485eea6d299c05541776d1843380464229/hovercard" href="https://github.com/navidrome/navidrome/commit/0a4a9d485eea6d299c05541776d1843380464229"><tt>0a4a9d4</tt></a> Bump github.com/mattn/go-sqlite3 from 1.14.15 to 1.14.16 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1430182511" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1965" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1965/hovercard" href="https://github.com/navidrome/navidrome/pull/1965">#1965</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ce2c5792357a6b4565bd9fb5ffd8b75567a04124/hovercard" href="https://github.com/navidrome/navidrome/commit/ce2c5792357a6b4565bd9fb5ffd8b75567a04124"><tt>ce2c579</tt></a> Bump github.com/spf13/cobra from 1.5.0 to 1.6.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1430182625" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1966" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1966/hovercard" href="https://github.com/navidrome/navidrome/pull/1966">#1966</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4e19c5e0781be3fa82cbc722c17aa00b3e426193/hovercard" href="https://github.com/navidrome/navidrome/commit/4e19c5e0781be3fa82cbc722c17aa00b3e426193"><tt>4e19c5e</tt></a> Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1421193567" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1951" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1951/hovercard" href="https://github.com/navidrome/navidrome/pull/1951">#1951</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ab6be8d2dc8ae246185cc8d0b2f0f54c633c7433/hovercard" href="https://github.com/navidrome/navidrome/commit/ab6be8d2dc8ae246185cc8d0b2f0f54c633c7433"><tt>ab6be8d</tt></a> Listenbrainz Scrobble (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1459237927" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2009" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2009/hovercard" href="https://github.com/navidrome/navidrome/pull/2009">#2009</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/586f5c413df52035528a63b612413574a3110482/hovercard" href="https://github.com/navidrome/navidrome/commit/586f5c413df52035528a63b612413574a3110482"><tt>586f5c4</tt></a> Bump github.com/onsi/ginkgo/v2 from 2.2.0 to 2.5.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1458282588" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/2007" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/2007/hovercard" href="https://github.com/navidrome/navidrome/pull/2007">#2007</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e6a93da75f8a30b744c28ef435a1b39b870cd1ad/hovercard" href="https://github.com/navidrome/navidrome/commit/e6a93da75f8a30b744c28ef435a1b39b870cd1ad"><tt>e6a93da</tt></a> Bump github.com/onsi/gomega from 1.20.2 to 1.24.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1448426376" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1990" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1990/hovercard" href="https://github.com/navidrome/navidrome/pull/1990">#1990</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fcb891e704c34d8d72e52162838958697c423e25/hovercard" href="https://github.com/navidrome/navidrome/commit/fcb891e704c34d8d72e52162838958697c423e25"><tt>fcb891e</tt></a> Add an <code>id</code> attribute to Search boxes. Should fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1453858227" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1998" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1998/hovercard" href="https://github.com/navidrome/navidrome/issues/1998">#1998</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/19af11efbe68d133f1913adb43d5c5ea4b01f20e/hovercard" href="https://github.com/navidrome/navidrome/commit/19af11efbe68d133f1913adb43d5c5ea4b01f20e"><tt>19af11e</tt></a> Simplify Subsonic API handler implementation</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cd41d9a4192e96b9844b6dbb245c325992baa312/hovercard" href="https://github.com/navidrome/navidrome/commit/cd41d9a4192e96b9844b6dbb245c325992baa312"><tt>cd41d9a</tt></a> Shutdown gracefully, close DB connection</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5f3f7afb9038c6a79537496649d4899ee2351700/hovercard" href="https://github.com/navidrome/navidrome/commit/5f3f7afb9038c6a79537496649d4899ee2351700"><tt>5f3f7af</tt></a> Add note about unstable state of master branch</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/1467036efd7591ed5d1c10b4bbb34c5b9cb5a4fc/hovercard" href="https://github.com/navidrome/navidrome/commit/1467036efd7591ed5d1c10b4bbb34c5b9cb5a4fc"><tt>1467036</tt></a> Add <code>DefaultUIVolume</code> option. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1192032178" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1679" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1679/hovercard" href="https://github.com/navidrome/navidrome/issues/1679">#1679</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ff6c8f7e9dc6d856bbfbc34cd633b232fe07bbc0/hovercard" href="https://github.com/navidrome/navidrome/commit/ff6c8f7e9dc6d856bbfbc34cd633b232fe07bbc0"><tt>ff6c8f7</tt></a> Bump loader-utils from 2.0.0 to 2.0.3 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1439088636" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1978" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1978/hovercard" href="https://github.com/navidrome/navidrome/pull/1978">#1978</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3a462c7f07bbef5b25cf97f2f9e84ed04679a89d/hovercard" href="https://github.com/navidrome/navidrome/commit/3a462c7f07bbef5b25cf97f2f9e84ed04679a89d"><tt>3a462c7</tt></a> Fix ARM v5 and v6 builds, by going back to armel.</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9c433b5d68e730f8b862a5654a3601037a5574aa/hovercard" href="https://github.com/navidrome/navidrome/commit/9c433b5d68e730f8b862a5654a3601037a5574aa"><tt>9c433b5</tt></a> Add missing context to logger calls</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/daa428ede763673d5460372dae414d1ae15153b4/hovercard" href="https://github.com/navidrome/navidrome/commit/daa428ede763673d5460372dae414d1ae15153b4"><tt>daa428e</tt></a> Update Chinese translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1414499247" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1945" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1945/hovercard" href="https://github.com/navidrome/navidrome/pull/1945">#1945</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/76517cab12b190618f8966e5b7c41a6d6d361326/hovercard" href="https://github.com/navidrome/navidrome/commit/76517cab12b190618f8966e5b7c41a6d6d361326"><tt>76517ca</tt></a> Fix potential nil pointer dereference</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8f02daf337dce8a6bf899a78d2c1fc3a3a7a5bb9/hovercard" href="https://github.com/navidrome/navidrome/commit/8f02daf337dce8a6bf899a78d2c1fc3a3a7a5bb9"><tt>8f02daf</tt></a> Reduce spurious error/warn messages, if loglevel != debug</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/80b7311453d6572d80d55fc831b7e7b405485cbe/hovercard" href="https://github.com/navidrome/navidrome/commit/80b7311453d6572d80d55fc831b7e7b405485cbe"><tt>80b7311</tt></a> Add TrackNumber to "fake" generated filenames. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1395819880" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1912" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1912/hovercard" href="https://github.com/navidrome/navidrome/issues/1912">#1912</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ca2cb26d8ed3081d2f96a69dca11833a2ce00613/hovercard" href="https://github.com/navidrome/navidrome/commit/ca2cb26d8ed3081d2f96a69dca11833a2ce00613"><tt>ca2cb26</tt></a> Add <code>played</code> field to Subsonic API responses. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1433255033" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1971" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1971/hovercard" href="https://github.com/navidrome/navidrome/issues/1971">#1971</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/081cfe5a9f2175751135807a393f1eb31859544e/hovercard" href="https://github.com/navidrome/navidrome/commit/081cfe5a9f2175751135807a393f1eb31859544e"><tt>081cfe5</tt></a> Fix build badge</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5f38d9dca2c93f9527eb1d1014e13d4631f17eff/hovercard" href="https://github.com/navidrome/navidrome/commit/5f38d9dca2c93f9527eb1d1014e13d4631f17eff"><tt>5f38d9d</tt></a> Fix 60 seconds (again). Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1423858987" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1956" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1956/hovercard" href="https://github.com/navidrome/navidrome/issues/1956">#1956</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/64e2a0bcd47ae35849ce453285065d54b6d22950/hovercard" href="https://github.com/navidrome/navidrome/commit/64e2a0bcd47ae35849ce453285065d54b6d22950"><tt>64e2a0b</tt></a> Optimize static images (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1412083797" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1941" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1941/hovercard" href="https://github.com/navidrome/navidrome/pull/1941">#1941</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/aab4925dfcfd67fe77981659286acd50eb2a88de/hovercard" href="https://github.com/navidrome/navidrome/commit/aab4925dfcfd67fe77981659286acd50eb2a88de"><tt>aab4925</tt></a> Restore DefaultLanguage case-sensitiveness by reverting commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bfeb8ef6b3e5756d72b230abdbb96f8a31b2e2fa/hovercard" href="https://github.com/navidrome/navidrome/commit/bfeb8ef6b3e5756d72b230abdbb96f8a31b2e2fa"><tt>bfeb8ef</tt></a>.</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.48.0 + 2022-10-16T19:04:28+02:00 + + v0.48.0 + <p>This release is focused on fixing bugs and security issues. Also fixes a bunch of edge cases in Smart Playlists.<br> +Thanks to <a href="https://github.com/navidrome/navidrome/graphs/contributors?from=2022-01-22&amp;to=2022-10-16&amp;type=c">all contributors</a> who helped in this release.</p> +<h2>Highlights</h2> +<ul> +<li>[UI] New Theme - Nord <a href="https://github.com/navidrome/navidrome/pull/1899" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1899/hovercard">#1899</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renere/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renere">@renere</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tpbnick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tpbnick">@tpbnick</a></li> +<li>[UI] New Theme - Monokai <a href="https://github.com/navidrome/navidrome/pull/1669" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1669/hovercard">#1669</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chief8192/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chief8192">@chief8192</a></li> +<li>[UI] New Theme - Electric Purple <a href="https://github.com/navidrome/navidrome/pull/1889" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1889/hovercard">#1889</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/william-lohan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/william-lohan">@william-lohan</a></li> +<li>[UI] New config <code>DefaultLanguage</code> <a href="https://github.com/navidrome/navidrome/pull/1561" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1561/hovercard">#1561</a></li> +<li>[UI] "Linkify" URLs in Album and Playlist comments <a href="https://github.com/navidrome/navidrome/pull/1053" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1053/hovercard">#1053</a></li> +<li>[Server] Add "random" sort option to Smart Playlists</li> +<li>[Server] Add ListenBrainz URL config, allowing to use self-hosted solutions <a href="https://github.com/navidrome/navidrome/pull/1774" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1774/hovercard">#1774</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyklimczak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyklimczak">@andyklimczak</a></li> +<li>[Server] Add basic Prometheus metrics <a href="https://github.com/navidrome/navidrome/pull/1830" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1830/hovercard">#1830</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlekseyLobanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlekseyLobanov">@AlekseyLobanov</a></li> +<li>[Server] Fix cache not honoring <code>ND_TRANSCODINGCACHESIZE</code> <a href="https://github.com/navidrome/navidrome/issues/1778" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1778/hovercard">#1778</a></li> +<li>[Build] Fix building on Fedora. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pimzand/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pimzand">@pimzand</a> for reporting it</li> +<li>[Build] Minimum Go version is now 1.18</li> +</ul> +<h2>Changelog</h2> +<ul> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/af5c2b5a42ed8b1038f8434ff64bab78378360a4/hovercard" href="https://github.com/navidrome/navidrome/commit/af5c2b5a42ed8b1038f8434ff64bab78378360a4"><tt>af5c2b5</tt></a> Round song duration (instead of truncating it). Relates to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1403499069" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1926" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1926/hovercard" href="https://github.com/navidrome/navidrome/issues/1926">#1926</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/62e7492357de411d72a6fe931e5c557dd0bfb78a/hovercard" href="https://github.com/navidrome/navidrome/commit/62e7492357de411d72a6fe931e5c557dd0bfb78a"><tt>62e7492</tt></a> Add Linkify test</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/53a4ea673bf15c9e86b4bbb972411f6e8aced402/hovercard" href="https://github.com/navidrome/navidrome/commit/53a4ea673bf15c9e86b4bbb972411f6e8aced402"><tt>53a4ea6</tt></a> Linkify urls in playlist comments</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c530ccf13854e3a840ddf63eef5e2323fbe2827d/hovercard" href="https://github.com/navidrome/navidrome/commit/c530ccf13854e3a840ddf63eef5e2323fbe2827d"><tt>c530ccf</tt></a> Linkify urls in album comments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="867005853" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1053" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1053/hovercard" href="https://github.com/navidrome/navidrome/issues/1053">#1053</a>, supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1101276377" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1570" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1570/hovercard" href="https://github.com/navidrome/navidrome/pull/1570">#1570</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="919477135" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1169" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1169/hovercard" href="https://github.com/navidrome/navidrome/pull/1169">#1169</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/fa5dc5af10f7e0eb52167915adfc2a6f3f280574/hovercard" href="https://github.com/navidrome/navidrome/commit/fa5dc5af10f7e0eb52167915adfc2a6f3f280574"><tt>fa5dc5a</tt></a> Fix adding songs to plain playlists</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bbd3882a752c956a8891938973f653e08a947710/hovercard" href="https://github.com/navidrome/navidrome/commit/bbd3882a752c956a8891938973f653e08a947710"><tt>bbd3882</tt></a> Some clean-up in <code>criteria</code> package</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/12b4a488427f53f383b2a8ed651a18ef572e8753/hovercard" href="https://github.com/navidrome/navidrome/commit/12b4a488427f53f383b2a8ed651a18ef572e8753"><tt>12b4a48</tt></a> Fix get info dialog in artist page. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1395742060" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1909" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1909/hovercard" href="https://github.com/navidrome/navidrome/issues/1909">#1909</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/37f7625c7d8b2a07a6766ac8a69a36e6d2e1ce43/hovercard" href="https://github.com/navidrome/navidrome/commit/37f7625c7d8b2a07a6766ac8a69a36e6d2e1ce43"><tt>37f7625</tt></a> Bump github.com/prometheus/client_golang from 1.12.1 to 1.13.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1393941568" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1902" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1902/hovercard" href="https://github.com/navidrome/navidrome/pull/1902">#1902</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7612a55859a13d0c3d84a470248ad38dcdde8bb6/hovercard" href="https://github.com/navidrome/navidrome/commit/7612a55859a13d0c3d84a470248ad38dcdde8bb6"><tt>7612a55</tt></a> Bump github.com/mileusna/useragent from 1.2.0 to 1.2.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1393941493" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1901" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1901/hovercard" href="https://github.com/navidrome/navidrome/pull/1901">#1901</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3d5a1cef920339a8666779a6aee65a6e9702f0bb/hovercard" href="https://github.com/navidrome/navidrome/commit/3d5a1cef920339a8666779a6aee65a6e9702f0bb"><tt>3d5a1ce</tt></a> Don't allow adding songs to smart playlists</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/552989a05b0456fe76f851773a20d4e217350163/hovercard" href="https://github.com/navidrome/navidrome/commit/552989a05b0456fe76f851773a20d4e217350163"><tt>552989a</tt></a> Add basic Prometheus metrics handler (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1319949717" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1830" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1830/hovercard" href="https://github.com/navidrome/navidrome/pull/1830">#1830</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6a6fa3e3b53c774fce51e41cd7fc4a8b80a14d61/hovercard" href="https://github.com/navidrome/navidrome/commit/6a6fa3e3b53c774fce51e41cd7fc4a8b80a14d61"><tt>6a6fa3e</tt></a> Nord Theme - Make links have a different colour (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1393602828" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1900" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1900/hovercard" href="https://github.com/navidrome/navidrome/pull/1900">#1900</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c7ef4bd8033677fe636feebe7e89cd55f51b1dbc/hovercard" href="https://github.com/navidrome/navidrome/commit/c7ef4bd8033677fe636feebe7e89cd55f51b1dbc"><tt>c7ef4bd</tt></a> Capture "musicbrainz_releasetrackid" tag (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1318496305" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1827" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1827/hovercard" href="https://github.com/navidrome/navidrome/pull/1827">#1827</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/22507c9789f275a7a9a99b119dfab02b6722c26c/hovercard" href="https://github.com/navidrome/navidrome/commit/22507c9789f275a7a9a99b119dfab02b6722c26c"><tt>22507c9</tt></a> Add Nord Theme. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="912863808" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1158" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1158/hovercard" href="https://github.com/navidrome/navidrome/issues/1158">#1158</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="912872313" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1159" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1159/hovercard" href="https://github.com/navidrome/navidrome/pull/1159">#1159</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1393267743" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1899" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1899/hovercard" href="https://github.com/navidrome/navidrome/pull/1899">#1899</a>).</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/87feac041b742e8217be19811c38c737e5732bfb/hovercard" href="https://github.com/navidrome/navidrome/commit/87feac041b742e8217be19811c38c737e5732bfb"><tt>87feac0</tt></a> Add make target to download some music for development purposes. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1213467175" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1703" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1703/hovercard" href="https://github.com/navidrome/navidrome/issues/1703">#1703</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f82df703022f6c325d75cc224cacecc5561f2945/hovercard" href="https://github.com/navidrome/navidrome/commit/f82df703022f6c325d75cc224cacecc5561f2945"><tt>f82df70</tt></a> Add nilerr linter</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/364e699ac1af1084bf97175b5dbf7d3e6a7a9408/hovercard" href="https://github.com/navidrome/navidrome/commit/364e699ac1af1084bf97175b5dbf7d3e6a7a9408"><tt>364e699</tt></a> Add asciicheck, bidichk, and durationcheck linters</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0798959be882eb9b10ddced37e7048bd2d7c77ea/hovercard" href="https://github.com/navidrome/navidrome/commit/0798959be882eb9b10ddced37e7048bd2d7c77ea"><tt>0798959</tt></a> Add asasalint linter</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4209e1420827245e75de418f7ce1f6edec40977c/hovercard" href="https://github.com/navidrome/navidrome/commit/4209e1420827245e75de418f7ce1f6edec40977c"><tt>4209e14</tt></a> Add theme Electric Purple (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1386409649" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1889" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1889/hovercard" href="https://github.com/navidrome/navidrome/pull/1889">#1889</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/77dbafff0f1c76267b970c59df395f5c791e097f/hovercard" href="https://github.com/navidrome/navidrome/commit/77dbafff0f1c76267b970c59df395f5c791e097f"><tt>77dbaff</tt></a> Add errorlint linter</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/db67c1277efea985d4f3aa9592f6a844ddf1d83b/hovercard" href="https://github.com/navidrome/navidrome/commit/db67c1277efea985d4f3aa9592f6a844ddf1d83b"><tt>db67c12</tt></a> Fix error comparisons</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7b0a8f47def17cea593aa8e957193e0a9b766424/hovercard" href="https://github.com/navidrome/navidrome/commit/7b0a8f47def17cea593aa8e957193e0a9b766424"><tt>7b0a8f4</tt></a> Add exportloopref linter</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/16865f0fca02f827fa5b260bdcf66b6031114ea0/hovercard" href="https://github.com/navidrome/navidrome/commit/16865f0fca02f827fa5b260bdcf66b6031114ea0"><tt>16865f0</tt></a> remove deprecated linters (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1393014483" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1898" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1898/hovercard" href="https://github.com/navidrome/navidrome/pull/1898">#1898</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5965459bb92b95b9a0c30490eed113a7f54cc54a/hovercard" href="https://github.com/navidrome/navidrome/commit/5965459bb92b95b9a0c30490eed113a7f54cc54a"><tt>5965459</tt></a> Update browserlist db</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/66818b25ec8ab896b90ec6dbe41d6a42562243a0/hovercard" href="https://github.com/navidrome/navidrome/commit/66818b25ec8ab896b90ec6dbe41d6a42562243a0"><tt>66818b2</tt></a> Allow ExternalLink icons to be styled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1071721035" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1503" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1503/hovercard" href="https://github.com/navidrome/navidrome/pull/1503">#1503</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e7fab8bb7b5e1445d9f925d3358433e8e201cf87/hovercard" href="https://github.com/navidrome/navidrome/commit/e7fab8bb7b5e1445d9f925d3358433e8e201cf87"><tt>e7fab8b</tt></a> Show AlbumArtist in Album table view. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1147986982" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1626" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1626/hovercard" href="https://github.com/navidrome/navidrome/issues/1626">#1626</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8befe10ee637be8868129b3ec22126168dfe3c6d/hovercard" href="https://github.com/navidrome/navidrome/commit/8befe10ee637be8868129b3ec22126168dfe3c6d"><tt>8befe10</tt></a> fix(UI): Warn if track is already present when adding to playlist - 1604 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1390684941" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1897" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1897/hovercard" href="https://github.com/navidrome/navidrome/pull/1897">#1897</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/218d14727a8a6f887e0367d13204a2681bd3f820/hovercard" href="https://github.com/navidrome/navidrome/commit/218d14727a8a6f887e0367d13204a2681bd3f820"><tt>218d147</tt></a> Bump redux and react-redux versions</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/50a4ce6ba2af019e1dee28147aac5952de02854b/hovercard" href="https://github.com/navidrome/navidrome/commit/50a4ce6ba2af019e1dee28147aac5952de02854b"><tt>50a4ce6</tt></a> Fix add playlist dialog (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1260863120" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1758" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1758/hovercard" href="https://github.com/navidrome/navidrome/pull/1758">#1758</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8130c05ccc55b100fb1e73289619affda7dbde87/hovercard" href="https://github.com/navidrome/navidrome/commit/8130c05ccc55b100fb1e73289619affda7dbde87"><tt>8130c05</tt></a> Mount devcontainer workspace SELinux compatible (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1314890041" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1816" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1816/hovercard" href="https://github.com/navidrome/navidrome/pull/1816">#1816</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/15952a3c7ffc698d751c79f69cf9ea0a2b030337/hovercard" href="https://github.com/navidrome/navidrome/commit/15952a3c7ffc698d751c79f69cf9ea0a2b030337"><tt>15952a3</tt></a> npm audit fix</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9a99a2bd490da0cbaa19cbed47c9e0dc3b296e84/hovercard" href="https://github.com/navidrome/navidrome/commit/9a99a2bd490da0cbaa19cbed47c9e0dc3b296e84"><tt>9a99a2b</tt></a> Update Chinese (simplified) translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1152910072" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1633" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1633/hovercard" href="https://github.com/navidrome/navidrome/pull/1633">#1633</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c7b65509ae113f41d02264d6913a830120d17346/hovercard" href="https://github.com/navidrome/navidrome/commit/c7b65509ae113f41d02264d6913a830120d17346"><tt>c7b6550</tt></a> Bump @testing-library/jest-dom from 5.15.0 to 5.16.5 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1332160604" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1836" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1836/hovercard" href="https://github.com/navidrome/navidrome/pull/1836">#1836</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6b09dc719885573469ce542337799b95a2b13337/hovercard" href="https://github.com/navidrome/navidrome/commit/6b09dc719885573469ce542337799b95a2b13337"><tt>6b09dc7</tt></a> Fix new test-library eslint errors</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/86ab35069dec2ad4cc4bd21a1cb1c872b76f3e34/hovercard" href="https://github.com/navidrome/navidrome/commit/86ab35069dec2ad4cc4bd21a1cb1c872b76f3e34"><tt>86ab350</tt></a> Upgrade react-scripts to 5.0.1</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/413292da6bd38e700fd974fd217008d36d60682c/hovercard" href="https://github.com/navidrome/navidrome/commit/413292da6bd38e700fd974fd217008d36d60682c"><tt>413292d</tt></a> Reduce go mod download verbosity</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/694968c60737a2ba47c15a53a61008e8271570b4/hovercard" href="https://github.com/navidrome/navidrome/commit/694968c60737a2ba47c15a53a61008e8271570b4"><tt>694968c</tt></a> Bump dependencies</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6dc70d68102ab77cb580b0ffa2193a2279b4b7c8/hovercard" href="https://github.com/navidrome/navidrome/commit/6dc70d68102ab77cb580b0ffa2193a2279b4b7c8"><tt>6dc70d6</tt></a> Don't reset language to default after logout</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bfeb8ef6b3e5756d72b230abdbb96f8a31b2e2fa/hovercard" href="https://github.com/navidrome/navidrome/commit/bfeb8ef6b3e5756d72b230abdbb96f8a31b2e2fa"><tt>bfeb8ef</tt></a> DefaultLanguage is now case-insensitive</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ba28e9a109fb3bb57233f2b4c6ad8ad95f4c3f86/hovercard" href="https://github.com/navidrome/navidrome/commit/ba28e9a109fb3bb57233f2b4c6ad8ad95f4c3f86"><tt>ba28e9a</tt></a> Update README. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1330887075" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1834" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1834/hovercard" href="https://github.com/navidrome/navidrome/issues/1834">#1834</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2f7a3c5eda957f0a48c4c18a825abb96183e2cfe/hovercard" href="https://github.com/navidrome/navidrome/commit/2f7a3c5eda957f0a48c4c18a825abb96183e2cfe"><tt>2f7a3c5</tt></a> feat: Add listenbrainz base url configuration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1269892402" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1774" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1774/hovercard" href="https://github.com/navidrome/navidrome/pull/1774">#1774</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cb3ba23fce5c37887d1e8952452292afe90b466b/hovercard" href="https://github.com/navidrome/navidrome/commit/cb3ba23fce5c37887d1e8952452292afe90b466b"><tt>cb3ba23</tt></a> New config DefaultLanguage. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1092884775" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1561" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1561/hovercard" href="https://github.com/navidrome/navidrome/issues/1561">#1561</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/72cde6dfde440dce4c66e19c108864a1df1ebca5/hovercard" href="https://github.com/navidrome/navidrome/commit/72cde6dfde440dce4c66e19c108864a1df1ebca5"><tt>72cde6d</tt></a> fix:(middlewares.go) - Set Cookie SameSite mode to Strict - 1776 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1275326720" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1777" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1777/hovercard" href="https://github.com/navidrome/navidrome/pull/1777">#1777</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/751e42c705c29e1d2fcdc0708961a090fc5dfa78/hovercard" href="https://github.com/navidrome/navidrome/commit/751e42c705c29e1d2fcdc0708961a090fc5dfa78"><tt>751e42c</tt></a> Fix creating server (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1388285254" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1894" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1894/hovercard" href="https://github.com/navidrome/navidrome/pull/1894">#1894</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ded9ab53e5cd504211a6ade1adeb5358d11a120b/hovercard" href="https://github.com/navidrome/navidrome/commit/ded9ab53e5cd504211a6ade1adeb5358d11a120b"><tt>ded9ab5</tt></a> Use armhf for ARM builds</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/416b5c7d136b1bcb6a9922f50ea79af60202613e/hovercard" href="https://github.com/navidrome/navidrome/commit/416b5c7d136b1bcb6a9922f50ea79af60202613e"><tt>416b5c7</tt></a> Fix Linux 32 bits build</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/afb31c3eae63c9234d36a5474c9975cd0692d004/hovercard" href="https://github.com/navidrome/navidrome/commit/afb31c3eae63c9234d36a5474c9975cd0692d004"><tt>afb31c3</tt></a> Fix invalid option in pipeline</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/dd57278ba2b382025ebcdcea521339d47bc39a56/hovercard" href="https://github.com/navidrome/navidrome/commit/dd57278ba2b382025ebcdcea521339d47bc39a56"><tt>dd57278</tt></a> Upgrade to GoLang 1.19 and bump golangci-lint version</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2a3cd08f201d30385f3e2b76b6b11d5f5e1d70b2/hovercard" href="https://github.com/navidrome/navidrome/commit/2a3cd08f201d30385f3e2b76b6b11d5f5e1d70b2"><tt>2a3cd08</tt></a> Fix GO-S2114 security issue</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a7a0e23956ea4b965bbe870258e05f9fa975f0df/hovercard" href="https://github.com/navidrome/navidrome/commit/a7a0e23956ea4b965bbe870258e05f9fa975f0df"><tt>a7a0e23</tt></a> Fix formatting</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4cf43ed73541447280ebe8dcd803a1d3233ee145/hovercard" href="https://github.com/navidrome/navidrome/commit/4cf43ed73541447280ebe8dcd803a1d3233ee145"><tt>4cf43ed</tt></a> Only compute version once</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ebad96b8a45684b41d0af5d857efe3e2b80b7102/hovercard" href="https://github.com/navidrome/navidrome/commit/ebad96b8a45684b41d0af5d857efe3e2b80b7102"><tt>ebad96b</tt></a> Fix warning about mixing value and pointer receivers</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e981ee27c015fc44b430ec9ae0c86d91bcdcc65f/hovercard" href="https://github.com/navidrome/navidrome/commit/e981ee27c015fc44b430ec9ae0c86d91bcdcc65f"><tt>e981ee2</tt></a> Add test for WithTx</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/965dbccd4848539032e43dd8858b1db52e749222/hovercard" href="https://github.com/navidrome/navidrome/commit/965dbccd4848539032e43dd8858b1db52e749222"><tt>965dbcc</tt></a> Upgrade to latest go-sqlite3 (it's v1.14, not v2!)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/695f82a1a0cc58db35fe3dcfb3e75770186246a1/hovercard" href="https://github.com/navidrome/navidrome/commit/695f82a1a0cc58db35fe3dcfb3e75770186246a1"><tt>695f82a</tt></a> Upgrade to Beego 2's orm</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/16afd3a4909364f0d99a7f531d83bc06d465fd9c/hovercard" href="https://github.com/navidrome/navidrome/commit/16afd3a4909364f0d99a7f531d83bc06d465fd9c"><tt>16afd3a</tt></a> Remove <code>//+build</code> tags, as the code does not compile on older versions of Go anymore</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/67f2a89d8908dc728fd345b2977cb21cb79aad5c/hovercard" href="https://github.com/navidrome/navidrome/commit/67f2a89d8908dc728fd345b2977cb21cb79aad5c"><tt>67f2a89</tt></a> Fix tracks never "loved" to be selected in Smart Playlists. Refer to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1029782710" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1417" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1417/hovercard?comment_id=1163423575&amp;comment_type=issue_comment" href="https://github.com/navidrome/navidrome/issues/1417#issuecomment-1163423575">#1417 (comment)</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bf1f93ef1a8f6c8518f48c4e2cd6f8742eb89792/hovercard" href="https://github.com/navidrome/navidrome/commit/bf1f93ef1a8f6c8518f48c4e2cd6f8742eb89792"><tt>bf1f93e</tt></a> Bump github.com/go-chi/httprate from 0.5.2 to 0.6.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1318703767" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1828" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1828/hovercard" href="https://github.com/navidrome/navidrome/pull/1828">#1828</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ebf7354df4acab269c21d29cf6255373adb8ec52/hovercard" href="https://github.com/navidrome/navidrome/commit/ebf7354df4acab269c21d29cf6255373adb8ec52"><tt>ebf7354</tt></a> Add more info in search log message</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/c0066ebd85e0a164035942c9be800c540298a5d7/hovercard" href="https://github.com/navidrome/navidrome/commit/c0066ebd85e0a164035942c9be800c540298a5d7"><tt>c0066eb</tt></a> Add log warn when request is cancelled/interrupted</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cd5bce7b1627ea9e045a7a6cfb267a94e7382043/hovercard" href="https://github.com/navidrome/navidrome/commit/cd5bce7b1627ea9e045a7a6cfb267a94e7382043"><tt>cd5bce7</tt></a> Speed up <code>/search</code> subsonic endpoints by parallelizing the queries</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d613b1930688422122796b43acb3caf2538c8fd1/hovercard" href="https://github.com/navidrome/navidrome/commit/d613b1930688422122796b43acb3caf2538c8fd1"><tt>d613b19</tt></a> Simplify Singleton usage by leveraging Go 1.18's generics</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a2d9aaeff8774115cd1d911c23a74e319d72ce62/hovercard" href="https://github.com/navidrome/navidrome/commit/a2d9aaeff8774115cd1d911c23a74e319d72ce62"><tt>a2d9aae</tt></a> Fix Quality translation in Spanish</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/49392e06a756875b90b2147460fbf4c4a5e29819/hovercard" href="https://github.com/navidrome/navidrome/commit/49392e06a756875b90b2147460fbf4c4a5e29819"><tt>49392e0</tt></a> Update caniuse-lite</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/181cb8a2b706f60e28d521775ab8bb021d99e55b/hovercard" href="https://github.com/navidrome/navidrome/commit/181cb8a2b706f60e28d521775ab8bb021d99e55b"><tt>181cb8a</tt></a> Remove <code>interfacer</code> linter, as it does not work with Go 1.18 and will not be updated (it is deprecated)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/31882abf6fb5015c1145690191fb8f0ae9780cbe/hovercard" href="https://github.com/navidrome/navidrome/commit/31882abf6fb5015c1145690191fb8f0ae9780cbe"><tt>31882ab</tt></a> Upgrade Ginkgo to V2</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0d8eaa28785a6e229bdc74d71526af19d182d59b/hovercard" href="https://github.com/navidrome/navidrome/commit/0d8eaa28785a6e229bdc74d71526af19d182d59b"><tt>0d8eaa2</tt></a> Remove experimental version of <code>context</code> package</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f4bffb1676044d9273daabd0cb82fb4395b5cd37/hovercard" href="https://github.com/navidrome/navidrome/commit/f4bffb1676044d9273daabd0cb82fb4395b5cd37"><tt>f4bffb1</tt></a> Update <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djherbis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djherbis">@djherbis</a>'s packages</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/f21847308c62af21e9508503e01cf6c8c2c0f04e/hovercard" href="https://github.com/navidrome/navidrome/commit/f21847308c62af21e9508503e01cf6c8c2c0f04e"><tt>f218473</tt></a> Remove hardcoded github.com/dhowden/tag branch. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1268308618" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1764" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1764/hovercard" href="https://github.com/navidrome/navidrome/issues/1764">#1764</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9c3b14c5c43f7b28e89f52b395f87e715bd93026/hovercard" href="https://github.com/navidrome/navidrome/commit/9c3b14c5c43f7b28e89f52b395f87e715bd93026"><tt>9c3b14c</tt></a> Return 501 for "not implemented". Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1284054445" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1785" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1785/hovercard" href="https://github.com/navidrome/navidrome/issues/1785">#1785</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8cd405d15e60041e6b8508ae9ca4411d00998284/hovercard" href="https://github.com/navidrome/navidrome/commit/8cd405d15e60041e6b8508ae9ca4411d00998284"><tt>8cd405d</tt></a> Add IP to Subsonic API's invalid login log messages. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1309942293" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1814" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1814/hovercard" href="https://github.com/navidrome/navidrome/issues/1814">#1814</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/35bec14d4d55f751def63ce93d2a67eed5b435aa/hovercard" href="https://github.com/navidrome/navidrome/commit/35bec14d4d55f751def63ce93d2a67eed5b435aa"><tt>35bec14</tt></a> Add missing test case for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1276107902" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1778" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1778/hovercard" href="https://github.com/navidrome/navidrome/issues/1778">#1778</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/321b3c5a6441a389bfa268bb0202fe392a0fbc57/hovercard" href="https://github.com/navidrome/navidrome/commit/321b3c5a6441a389bfa268bb0202fe392a0fbc57"><tt>321b3c5</tt></a> Fix fscache key mapping. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1276107902" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1778" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1778/hovercard" href="https://github.com/navidrome/navidrome/issues/1778">#1778</a></li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b7e50f7731d27ec59b2ae02bb24a5cfaf87b30bb/hovercard" href="https://github.com/navidrome/navidrome/commit/b7e50f7731d27ec59b2ae02bb24a5cfaf87b30bb"><tt>b7e50f7</tt></a> Fix docker build in pipeline</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2e9c81c3decc4c4c37eb07fea935f02d6ba64379/hovercard" href="https://github.com/navidrome/navidrome/commit/2e9c81c3decc4c4c37eb07fea935f02d6ba64379"><tt>2e9c81c</tt></a> Bump github.com/mileusna/useragent from 1.0.2 to 1.1.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1316038768" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1819" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1819/hovercard" href="https://github.com/navidrome/navidrome/pull/1819">#1819</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/49647423aa8ec8ecee542d366491d42a128e9d71/hovercard" href="https://github.com/navidrome/navidrome/commit/49647423aa8ec8ecee542d366491d42a128e9d71"><tt>4964742</tt></a> Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1316079123" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1821" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1821/hovercard" href="https://github.com/navidrome/navidrome/pull/1821">#1821</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9f62533bb0b335e8eddb7396fd1eec2784edd998/hovercard" href="https://github.com/navidrome/navidrome/commit/9f62533bb0b335e8eddb7396fd1eec2784edd998"><tt>9f62533</tt></a> Bump github.com/go-chi/cors from 1.2.0 to 1.2.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1316079226" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1822" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1822/hovercard" href="https://github.com/navidrome/navidrome/pull/1822">#1822</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7d58f4469ac3b7382a34217c3cc06c3e92f290c1/hovercard" href="https://github.com/navidrome/navidrome/commit/7d58f4469ac3b7382a34217c3cc06c3e92f290c1"><tt>7d58f44</tt></a> Bump github.com/lestrrat-go/jwx from 1.2.17 to 1.2.25 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1245469508" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1742" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1742/hovercard" href="https://github.com/navidrome/navidrome/pull/1742">#1742</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/974816f0a28668557c5d5b3b946e7afada3af644/hovercard" href="https://github.com/navidrome/navidrome/commit/974816f0a28668557c5d5b3b946e7afada3af644"><tt>974816f</tt></a> Bump github.com/onsi/gomega from 1.18.1 to 1.20.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1316023258" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1817" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1817/hovercard" href="https://github.com/navidrome/navidrome/pull/1817">#1817</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/7665478a526f4b6e1ca70d359dffb68a8eed6272/hovercard" href="https://github.com/navidrome/navidrome/commit/7665478a526f4b6e1ca70d359dffb68a8eed6272"><tt>7665478</tt></a> Upgrade golangci-lint and fix new lint error</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bde5be347bba66b0288224489977282c4f648e32/hovercard" href="https://github.com/navidrome/navidrome/commit/bde5be347bba66b0288224489977282c4f648e32"><tt>bde5be3</tt></a> Build with GoLang 1.18.4</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/aae79b4561db3f0f9068fb183c1b74bba5ae178c/hovercard" href="https://github.com/navidrome/navidrome/commit/aae79b4561db3f0f9068fb183c1b74bba5ae178c"><tt>aae79b4</tt></a> Upgrade to GoLang 1.18</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ce0db8344b1d12ae7b5680fa95bdbdb88612fa9e/hovercard" href="https://github.com/navidrome/navidrome/commit/ce0db8344b1d12ae7b5680fa95bdbdb88612fa9e"><tt>ce0db83</tt></a> Fix signaler not exiting on cancel (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1156532581" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1638" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1638/hovercard" href="https://github.com/navidrome/navidrome/pull/1638">#1638</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5987cd0c08d7fbde236e796dc52f8e5654086d7f/hovercard" href="https://github.com/navidrome/navidrome/commit/5987cd0c08d7fbde236e796dc52f8e5654086d7f"><tt>5987cd0</tt></a> Fixes a coloring glitch with the Monokai theme "unauthorized" popup (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1182251970" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1670" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1670/hovercard" href="https://github.com/navidrome/navidrome/pull/1670">#1670</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e7cf74d863569911ee99c7835b5f86e736a6514c/hovercard" href="https://github.com/navidrome/navidrome/commit/e7cf74d863569911ee99c7835b5f86e736a6514c"><tt>e7cf74d</tt></a> Adds a Monokai theme (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1181979845" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1669" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1669/hovercard" href="https://github.com/navidrome/navidrome/pull/1669">#1669</a>)</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2ddd3acba6cde5fae11e6684a8aa01a070fda23d/hovercard" href="https://github.com/navidrome/navidrome/commit/2ddd3acba6cde5fae11e6684a8aa01a070fda23d"><tt>2ddd3ac</tt></a> Fix translatable label</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/028723f7212f27bf6e64074997a51befa3742c67/hovercard" href="https://github.com/navidrome/navidrome/commit/028723f7212f27bf6e64074997a51befa3742c67"><tt>028723f</tt></a> Fix loading overridden translations from ${DataFolder}/resources/i18n</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/50ff8bcce78055d90be7cd1c027e0cf55a7f609e/hovercard" href="https://github.com/navidrome/navidrome/commit/50ff8bcce78055d90be7cd1c027e0cf55a7f609e"><tt>50ff8bc</tt></a> Add "random" sort option for Smart Playlists</li> +<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e966d94c0be0dcc9f4534e564345a3a1aaa51b51/hovercard" href="https://github.com/navidrome/navidrome/commit/e966d94c0be0dcc9f4534e564345a3a1aaa51b51"><tt>e966d94</tt></a> Force correct mime-type for JS and CSS files</li> +</ul> + + github-actions[bot] + + + + + tag:github.com,2008:Repository/52481933/v0.47.5 + 2022-01-22T15:44:26+01:00 + + v0.47.5 + <p>This bug-fix release includes a fix to a potential SQL injection and a couple of other niceties and fixes.</p> +<p>There are a few nice contributions that needs more testing, and I plan to validate and release them in<br> +the next month or so. Stay tuned!</p> +<h2>Highlights</h2> +<ul> +<li>[UI] Set volume to 100% when web player is in mobile mode. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1035325480" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1429" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1429/hovercard" href="https://github.com/navidrome/navidrome/issues/1429">#1429</a></li> +<li>[UI] New translations: Bulgarian (thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MrEddX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MrEddX">@MrEddX</a>) and Catalan (thanks Sàdur)</li> +<li>[UI] Fix ActivityPanel should behave better now, with (hopefully) no more UI freezing</li> +<li>[UI] Handle invalid theme in ui state (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1071723449" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1504" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1504/hovercard" href="https://github.com/navidrome/navidrome/pull/1504">#1504</a>) (thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srichter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srichter">@srichter</a>)</li> +<li>[Server] Fix potential SQL injection in Smart Playlists (thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DePierre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DePierre">@DePierre</a>)</li> +<li>[Server] Fix issue in smart playlists with values compared to <code>0</code> (See: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1029782710" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1417" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1417/hovercard?comment_id=974052454&amp;comment_type=issue_comment" href="https://github.com/navidrome/navidrome/issues/1417#issuecomment-974052454">#1417 (comment)</a>)</li> +<li>[Server] Add <code>name</code> and <code>comment</code> fields to .NSP files</li> +<li>[Server] Allowing 3rd party UIs to access <code>x-total-count</code> http header (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1057489554" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1470" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1470/hovercard" href="https://github.com/navidrome/navidrome/pull/1470">#1470</a>) (thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bricej13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bricej13">@bricej13</a>)</li> +<li>[Subsonic] Add <code>userRating</code> to Subsonic Album/Artist responses. Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1061083077" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1486" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1486/hovercard" href="https://github.com/navidrome/navidrome/issues/1486">#1486</a></li> +</ul> +<h2>Changelog</h2> +<p><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/86fe1e3b2c417891e79ad799a54cb0af9b35d295/hovercard" href="https://github.com/navidrome/navidrome/commit/86fe1e3b2c417891e79ad799a54cb0af9b35d295"><tt>86fe1e3</tt></a> Bump github.com/ReneKroon/ttlcache/v2 from 2.9.0 to 2.11.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1085026345" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1529" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1529/hovercard" href="https://github.com/navidrome/navidrome/pull/1529">#1529</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/eed54d7e10e5c56138a610bf3fa2b8ec5be2e9ae/hovercard" href="https://github.com/navidrome/navidrome/commit/eed54d7e10e5c56138a610bf3fa2b8ec5be2e9ae"><tt>eed54d7</tt></a> Bump github.com/lestrrat-go/jwx from 1.2.11 to 1.2.17 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1106087847" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1574" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1574/hovercard" href="https://github.com/navidrome/navidrome/pull/1574">#1574</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ab36344d7635ae76a8b42682bb5168d50222bb74/hovercard" href="https://github.com/navidrome/navidrome/commit/ab36344d7635ae76a8b42682bb5168d50222bb74"><tt>ab36344</tt></a> Bump github.com/microcosm-cc/bluemonday from 1.0.16 to 1.0.17 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1092680814" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1560" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1560/hovercard" href="https://github.com/navidrome/navidrome/pull/1560">#1560</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e5d03a3bdba2045c8663d88211a8fcfaba9a6aa1/hovercard" href="https://github.com/navidrome/navidrome/commit/e5d03a3bdba2045c8663d88211a8fcfaba9a6aa1"><tt>e5d03a3</tt></a> Bump github.com/Masterminds/squirrel from 1.5.1 to 1.5.2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1066300768" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1501" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1501/hovercard" href="https://github.com/navidrome/navidrome/pull/1501">#1501</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/30813cd34ba7560c889a2b84f0711d303177e547/hovercard" href="https://github.com/navidrome/navidrome/commit/30813cd34ba7560c889a2b84f0711d303177e547"><tt>30813cd</tt></a> Update translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1111110853" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1578" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1578/hovercard" href="https://github.com/navidrome/navidrome/pull/1578">#1578</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6164f37c9ea2858ee8f3941babae75e3c53ad1f6/hovercard" href="https://github.com/navidrome/navidrome/commit/6164f37c9ea2858ee8f3941babae75e3c53ad1f6"><tt>6164f37</tt></a> Added Bulgarian Translation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1110969858" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1577" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1577/hovercard" href="https://github.com/navidrome/navidrome/pull/1577">#1577</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9e79b5cbf2a48c1e4344df00fea4ed3844ea965d/hovercard" href="https://github.com/navidrome/navidrome/commit/9e79b5cbf2a48c1e4344df00fea4ed3844ea965d"><tt>9e79b5c</tt></a> Fix potential SQL injection in Smart Playlists<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/8c707b4e0ccfb5f05cea3c69a8ef51d0a63e15f1/hovercard" href="https://github.com/navidrome/navidrome/commit/8c707b4e0ccfb5f05cea3c69a8ef51d0a63e15f1"><tt>8c707b4</tt></a> Handle invalid theme in ui state (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1071723449" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1504" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1504/hovercard" href="https://github.com/navidrome/navidrome/pull/1504">#1504</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/910091f1f1730fe040a09747440de0c8dc432dd9/hovercard" href="https://github.com/navidrome/navidrome/commit/910091f1f1730fe040a09747440de0c8dc432dd9"><tt>910091f</tt></a> Fix <code>playCount</code> casing<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/2e1b985d30d38165a88207326f173fe89612efee/hovercard" href="https://github.com/navidrome/navidrome/commit/2e1b985d30d38165a88207326f173fe89612efee"><tt>2e1b985</tt></a> Revert "Direct link to dev build"<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/100b80528e3f3ed4203ce7a9a092fe451a88c992/hovercard" href="https://github.com/navidrome/navidrome/commit/100b80528e3f3ed4203ce7a9a092fe451a88c992"><tt>100b805</tt></a> Update README.md<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/bde9d5f954af6fa33bf271083fd8e0d34709e44c/hovercard" href="https://github.com/navidrome/navidrome/commit/bde9d5f954af6fa33bf271083fd8e0d34709e44c"><tt>bde9d5f</tt></a> Fix <code>TypeError: Cannot read property 'id' of undefined</code><br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/69615f1aa1a9e96fe4175f52e7fc0d2e860cf1f1/hovercard" href="https://github.com/navidrome/navidrome/commit/69615f1aa1a9e96fe4175f52e7fc0d2e860cf1f1"><tt>69615f1</tt></a> Trying to fix multiple EventStream connections, one more time<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a99b9b4d44f0e304d9ebd7f7ff4c5546276c7efc/hovercard" href="https://github.com/navidrome/navidrome/commit/a99b9b4d44f0e304d9ebd7f7ff4c5546276c7efc"><tt>a99b9b4</tt></a> Direct link to dev build<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9892524ab89ac944015f8f13dd9a4249c60ad172/hovercard" href="https://github.com/navidrome/navidrome/commit/9892524ab89ac944015f8f13dd9a4249c60ad172"><tt>9892524</tt></a> Connect eventStream after login<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/9fe978953c07390a340fc8d2db202ec957808515/hovercard" href="https://github.com/navidrome/navidrome/commit/9fe978953c07390a340fc8d2db202ec957808515"><tt>9fe9789</tt></a> Try to avoid creating multiple eventStreams<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/5425c1a4d7741de03f9b2ecb854d96825c92fa49/hovercard" href="https://github.com/navidrome/navidrome/commit/5425c1a4d7741de03f9b2ecb854d96825c92fa49"><tt>5425c1a</tt></a> Update translations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1064714965" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1489" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1489/hovercard" href="https://github.com/navidrome/navidrome/pull/1489">#1489</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/afe1e4cfcd56e7bc1d5442b53f9e32b9e7322d9e/hovercard" href="https://github.com/navidrome/navidrome/commit/afe1e4cfcd56e7bc1d5442b53f9e32b9e7322d9e"><tt>afe1e4c</tt></a> Fix lint for public credentials<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/20cdd38fc4dd9a87172758a6aa090c8d3f501c3f/hovercard" href="https://github.com/navidrome/navidrome/commit/20cdd38fc4dd9a87172758a6aa090c8d3f501c3f"><tt>20cdd38</tt></a> Better logging for agents configuration<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/913a4cf546db6929b3b6f66a4b0bbcd8d50d0e83/hovercard" href="https://github.com/navidrome/navidrome/commit/913a4cf546db6929b3b6f66a4b0bbcd8d50d0e83"><tt>913a4cf</tt></a> Bump github.com/onsi/gomega from 1.16.0 to 1.17.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1047711391" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1459" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1459/hovercard" href="https://github.com/navidrome/navidrome/pull/1459">#1459</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/121ada5acd25b8c821e1dfd9356dd71978e2d102/hovercard" href="https://github.com/navidrome/navidrome/commit/121ada5acd25b8c821e1dfd9356dd71978e2d102"><tt>121ada5</tt></a> Bump @testing-library/jest-dom from 5.14.1 to 5.15.0 in /ui (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1047693610" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1456" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1456/hovercard" href="https://github.com/navidrome/navidrome/pull/1456">#1456</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/e59a95c9eb6a3a8f83bd55d08f63bcbfc7887357/hovercard" href="https://github.com/navidrome/navidrome/commit/e59a95c9eb6a3a8f83bd55d08f63bcbfc7887357"><tt>e59a95c</tt></a> Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1047713260" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1460" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1460/hovercard" href="https://github.com/navidrome/navidrome/pull/1460">#1460</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/d75f286ae86ae08040ffe36b9280617b3c975d04/hovercard" href="https://github.com/navidrome/navidrome/commit/d75f286ae86ae08040ffe36b9280617b3c975d04"><tt>d75f286</tt></a> Update zh-Hans.json (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1059266170" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1478" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1478/hovercard" href="https://github.com/navidrome/navidrome/pull/1478">#1478</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/30d3f1eda0f53c493885045ad6efa6e277ce5471/hovercard" href="https://github.com/navidrome/navidrome/commit/30d3f1eda0f53c493885045ad6efa6e277ce5471"><tt>30d3f1e</tt></a> Add userRating to Subsonic Album/Artist responses. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1061083077" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1486" data-hovercard-type="issue" data-hovercard-url="/navidrome/navidrome/issues/1486/hovercard" href="https://github.com/navidrome/navidrome/issues/1486">#1486</a><br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6a1f9678b19c3290c5f09c91b4acc20a027ac5c4/hovercard" href="https://github.com/navidrome/navidrome/commit/6a1f9678b19c3290c5f09c91b4acc20a027ac5c4"><tt>6a1f967</tt></a> Bump github.com/ReneKroon/ttlcache/v2 from 2.8.1 to 2.9.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1029394446" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1414" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1414/hovercard" href="https://github.com/navidrome/navidrome/pull/1414">#1414</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/a0977ce48afcb5213d8f9fab2f2d3ad9b9914fae/hovercard" href="https://github.com/navidrome/navidrome/commit/a0977ce48afcb5213d8f9fab2f2d3ad9b9914fae"><tt>a0977ce</tt></a> Bump github.com/go-chi/chi/v5 from 5.0.4 to 5.0.7 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1060406542" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1484" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1484/hovercard" href="https://github.com/navidrome/navidrome/pull/1484">#1484</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/b3d803868650e5c9e2f0eaa38d748a25c3d53212/hovercard" href="https://github.com/navidrome/navidrome/commit/b3d803868650e5c9e2f0eaa38d748a25c3d53212"><tt>b3d8038</tt></a> Bump github.com/lestrrat-go/jwx from 1.2.7 to 1.2.11 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1060407084" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1485" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1485/hovercard" href="https://github.com/navidrome/navidrome/pull/1485">#1485</a>)<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/0714f082746bc8add1c8b034b3496b72b6b3a0e8/hovercard" href="https://github.com/navidrome/navidrome/commit/0714f082746bc8add1c8b034b3496b72b6b3a0e8"><tt>0714f08</tt></a> Recover from SIGSEGVs in taglib's code<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/cbeaadf8e253994260d8ce54c157a6fb223f9535/hovercard" href="https://github.com/navidrome/navidrome/commit/cbeaadf8e253994260d8ce54c157a6fb223f9535"><tt>cbeaadf</tt></a> Fix logging smart playlist's song count<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/3e282df6391c9f271ca719bd505604b728b84e76/hovercard" href="https://github.com/navidrome/navidrome/commit/3e282df6391c9f271ca719bd505604b728b84e76"><tt>3e282df</tt></a> Set volume to 100% when web player is in mobile mode.<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/ce7940bbfce72f726717eac007394f2a04a46d4b/hovercard" href="https://github.com/navidrome/navidrome/commit/ce7940bbfce72f726717eac007394f2a04a46d4b"><tt>ce7940b</tt></a> Allow overriding <code>name</code> and <code>comment</code> when importing NSP playlists<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/92c31c961d6adda61509105fe5dfad3c84a11f51/hovercard" href="https://github.com/navidrome/navidrome/commit/92c31c961d6adda61509105fe5dfad3c84a11f51"><tt>92c31c9</tt></a> Fix values from annotation table cannot be compared to 0<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/4bf476544262033d6b844d973734d901f21ca72e/hovercard" href="https://github.com/navidrome/navidrome/commit/4bf476544262033d6b844d973734d901f21ca72e"><tt>4bf4765</tt></a> Bot that adds a download link on pull requests<br> +<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/navidrome/navidrome/commit/6d947f6f7e784edfcfa507374942a784c417b571/hovercard" href="https://github.com/navidrome/navidrome/commit/6d947f6f7e784edfcfa507374942a784c417b571"><tt>6d947f6</tt></a> Allowing 3rd party UIs to access <code>x-total-count</code> http header (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1057489554" data-permission-text="Title is private" data-url="https://github.com/navidrome/navidrome/issues/1470" data-hovercard-type="pull_request" data-hovercard-url="/navidrome/navidrome/pull/1470/hovercard" href="https://github.com/navidrome/navidrome/pull/1470">#1470</a>)</p> + + github-actions[bot] + + + + diff --git a/assets/navidrome-releases-header.png b/assets/navidrome-releases-header.png new file mode 100644 index 0000000000000000000000000000000000000000..f17bbed68567af11cb5dbc4dd0f7ff71d46d6106 GIT binary patch literal 72820 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

)5BRM*^`I5=p9 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 literal 0 HcmV?d00001 diff --git a/assets/navidrome-releases-header.xcf b/assets/navidrome-releases-header.xcf new file mode 100644 index 0000000000000000000000000000000000000000..765b17c05626be41fbafffe4f4de5ef0abd80687 GIT binary patch literal 143307 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πdf11seCV;l z#Jd}O5co!LbzyT2_*|Ve1s2J0SWeQn*!KJ6{Yl3uaJnDT$TzzNRxop6+3~Qr>5QezxGY?BwFZK6S2=IdRHwKr4I%qOODP8;0fsb&Bc_Z zJXa{rPn*=-QD$`2zXR3txGbhX_ac0!rW&V9lu~^d;&K9}F@%NNLHxwNZvq!(IMZyw zJH^X!KlEn6mcEm_1m{GraY4G)fs^t~BedUl2K|sy4-dSThf2iRFj%Lo=wGi$Vy^D= z4c6A7JJTEE@P72R0*OYSYSP?9)5okN$CWc%v@xL$SG~M?R}|9#XWi?!oR#0*gncbf z?wPLjr=DEeGVldFsQWLvuj})m?xQO0Lie_aSf{Ur1>Q_LHU0Dd5h-G2gB5tq447;p zPs;8z-MN)nxNzzt521Kg&rf%;-4SgEQ9B1x7LPDP)y#j;I-}XSkB(_)Js|TPf9*U6 zwDTL#&TDw$_vW*L-^^oLf@;y6PtVJz=N1Ax(EIdP>xj|yo!Xkc?^f&swP26D8InvH zhP(&srL+G>q*&YE*oQeW3ng%Ef8(s=?lfd!x65Iy@emU347^K6+kp&h%Zi)vlb+}7 zEy5R<+wE}w<#xGzx4X$StbMevId29q?$M6syoOhRnofp)Rj+$tO7oxTR&hVE6*D#Nhl}(b+(#aA? z_x%BwJ#y5T@$Dy#m^`Wd=wVYvOn{}|;_K0B%&-ZUUOv98NnaP~-*@8pVPnfK8aH-Q zzq6a1JZ|i$3(F20Hetf35fjdC;ss6|b=3$0yY}eSqZ`bcg6!K-pY2}*ycC zl{Gne*w~5fCytmf>Y^C0y{1*xql*{ClI<@aJ8Dwd_)(KbjGhR8*w{&7wdeQ`#7mgb}ZbF$0+D{mH zL0M=0uQef;Tt0EqsEekQjUI8)Bz=0^rM(+h%GoN?iqj$UTsbgLE?71#{{v!`Acj22iy6}T-E?oMy3%~u*g+FNj;oo*n!Rf!y z3=4b-+VaV7Qq+a1tz4Lf6(s+B8ArM>bC?S`g|7d6xm{hDf1(F*6zTq(nz9&?p(8t! zuAkr>t1nBpyPkT`#r0`i3-b`*l>d7$A7NX=4}=Bqlplk7r;XBu$e6l28iVcun%F^_ zT3C$8rt#c^Hwt64!emqT9S5(M1M4A1$Lb*l|10XlY5x_fvK{Xn-qAQ&ThXaGSD)caTH4Ku^#;Rf_A_6ff0gs`qQjX*B=M>WV_|*OFyWuUU$_wZN}YT${BVS%dY`rlq%P z!9CgHT&m?v<7l;$g_0{p)rvs~|7w>Y+DvV|ddC)jhgzJ=wdjaBcuR(5uh$|?91|z& z)9b)*Qk-E?kJ3XPs_nYwKs`m2$fgLK*tvT0zf2k4>3Y%gN);YMPuYteS6Y)!hxm{# zu7*bqkVw_=D9zFVi|cV+Qev8C^y8`D!&O_7&9kaTjmI^*&mjmtg?B{V+OQK2lQSY>Av{&M!xJx*1jfZ)$KD-qyec(L~FZ(rkKf!y(<=w=itI)wFI`FQ7r~6`kQ1ga4 z1f&MQk>g$F?&dJ{5&$_2CJQ2sxg|-NLtvi8r)*<0%syYL+{th!zJ@@~En6wVEwOW!p<>cW| zwYq868RJY^BQ7jFq}}~XHirtOD!i-QS@`N%sAeN4(ZZTYbnUtRd=sv>oxLrTw%_Sh zyl>HBHnMZ_P7}K3Y3(o+()%SY?;y@hAIp#X5r{UHm(qYa1X#KO>YAmc=#EPfgZgx) z7qkTV0^}1P4QzZD1RmhKUARNSheWW5W_lcO0q|Ymy#-Pgx~uaElb>2v&f1_Q!pX(R zUPmUHNY0=+dI90(utpcqh@3+?87;3sPSi^_ozD9p&qE}+N|%i?4C*SV>-EA~wc?l2 zP`7B9Ne8Xu3L$T~CYOH-M3TEG>Rd2O3Y0P)CtxX>b|qI$9zip{xmc=RZ`q_x_oIeC!5x{aaS84C*0XzAIVQN_azErFVi0YTtmhWkGJ^nUx^*aErG zhxwSw?LH1G`0R9`cqSQ{=ISn7( zfsSQ15>w|x_jHDuujpwG6^#A%#eE6u$4@=~^~BCWPf++-W2*@-S9^o|ZOX#DB!ngL z^U)a<`q|3Ubo{0x?{GKeGw7rl7S}nd3vqRx>q4iD-DO>m0#WZpy78=wHNDVRq0UbV zb>wiN>b8`Qhnijjag`U3>&c3`BKF3|x+4A`-ijk*H_Sb?kBJPLCYSa$;U?SAEcP~` z8+VFS{Siju;Ugwz_2v$*c708B=<;4HIIcgPfuUj449J7{;0Okgdgj@?RrBg^VZsgf z-IC+ z+!E+Io_)8*!-fy{n_W4_UjNL}je9~HKYiiOOO7h@<(kS9e#MzXvy~rgVO7%khOeCr z3GZ2a*U4;sa7h$CMXCd@c1t%GeAWuFXI?)uT|&q#Rl%QR7n_H#wq{j!ny=MiTsja5 zekVU8^p9)9am?2mlEv&^+!8HcFh8xU&-WblQcmzDOjkmWRC0LYeWdqD-?{Q(YnfG04a(&L z5cTHLo(V}00UqpX_z+?I-`UOV^nSiSr+$PYV76K0204R7=kQMI5}Z*qxb)X!+H z_f6|D++tKXxx~>Kr5?DRm%|Pc5zoa{gWce7;?y4RapPq0T#z&}ZCbg&PW)o4suG({ zI&n2lI&l*`s0TdLtXQdPMHMeysG9548Vz?$)4e}bC7-)9)sW|s>k3W_u&&@}b?LMW zZN>kJ7Uz^sqObbURF~b+jlp)6dJ`J+=Wb?42|Lp`8aF2A?SL6L#-yFz*+gecF@|DU ze?6yzsqC5Tph+@k4hUjcw|ZOibb4bYU zZ;9|cpSfK+by)3}2$ixEqNs)xM1oh5y9Z2L}$glhhF=l2FoWk&bLXlKEH$~r> zIDRIBc?k;)|D!ncyh@clPmsIA8J~}UQJ&8mPJl59MnCo=-k?evZfE3v14c278>y}y zT)gO1B(nsnUqwDHWZj}pR!?TopF@-rp>v^Mgja*hdb0x7K}E4SS{KL0Wzo0eB@edep^id%}CG4IKb2d@>X zapb!+*hS5le53D~JF!^&s&!K(7S7{7(op4ipDFE7%Ai&KYq^x)bL)f#T*M=<+rPN@ z;vkgXiWSMO&x{_~^w*X%F!&x)pXoaC?akpRhbc~~uMf;@Kn<4fy`@od{^1j5eH|)K zU*yd2H=sJ5FH2dwClso?0BQX@m7Mm0nHu*C@JTuyr(38VSYvd3Lp%~dis7% zSD`C*xKQJl!P5n7qy3;CeTwqc_p}<$#9#ovE|OzVuLMw9eM;*NmkU*U)xh%Op{Ap> zLe-YlLcJ8d9`x_SWJEHJpW;DXtShaML4o}3kEgLPkMY%eE#sAq6OXIWPmHgIL2i7l z8`a{e6XoB-wH#w{)a8OItyNTv$8}7v|G8S34`23^{}?#FZIJeFCLdT<2++6D>kVTnvdV7nAl_ zM8SOB*&L>%6Dnd&-VbuAE@|ZysGd+iA%6Zu?5m*b^ByNzbpbG5MYQyXh|vZl=@|si z&+ALo;5XM{)SQfdL5_FlJlR{S7d5rzy_a!K0#g-2>-I(*JQxe>T38oY);FC*E+Cbe zIxdTUgtQ^eO+X5h~{lY(|J=0p$0#eZ`bRo|@K5@ch@<=}(3!GSFZ z66?)cB(V}xontMTMlRoiYJtd|OmHdm5NOrIsCiyr%4IUrj*95BpgSZmWvItoCxPsV zDp;zhvkcTVZR}3KkM)_MrO4v1DDL>#UZ(oT=@2WM6?cllIxnlDhi39zE$+07>V#}H zKmmf@uAvH{Cf87Hp}OO_Z13cEQ)2N4AZ__KqrrOX#Z=3q$*jy}_Pv|CoF2oEtENli zn9p`gStat>+?_SNm1O@~)z8})l~5PiiN2JgBa_f&mcGWN`M?!+V%Lp&!lBtLlpJz} zb5@t*G;?Sk17SU*EM8nr@~?8sLPZu#rgeD@=1;7s8vVfTMLyEVxZJm85` zv&?&x)!km&A9ewx!=g;K!W{tj2e^xr%cjxpG?MVGM~q(L4h+_X>r-sv-VATP^7LSq z3W#d4_#een*^*RYRs~cS*Go@S@KWDjDkLi27^vZTgOuvc8qsqUDqX4MI#t|NaZ?xC|0u5Fr{*w;Xa5mg zm5=&m8sEj$C98_;%0D=+9=tS;KBso(2_CK*y!~-4O|^y9IEw4NTj{K2gmb~QQ1`8L zKP#p+ti^SoOT%iz^T1X7%(k}lswmYmRsRz@+-gnb@Kf<#p?WPiIQ0F8TS|N@t7|oN zt>&K}cj{Wr|GicdyQE9>mIEx}kVR@P>k_@<;10|4F72{gLT6b{?CLJdYN;&u0xxZL zj&Dbr%Q%Xoe~iX5FO6|9cAJ;wTxmJponBUoI7F`-ja}-c94BF4s_cKI7c>1^B=$IgmQxy#)9tM1iU#H>5+@Pn3?UR1aN-t#q9&U?~OzB ztv4Tn%?U}I)*FWghgi?AvJA=h{d9@eT=dmUV|v$o>72>yxa2E4c6Wd~Aq#hX>E!9O zzDnoD+6%w*@8r&@^!P|JmyZ4?)6{rPK9@=$K$j&uWbdV zm&d_C9ZnXdo{aAscXoxLMv7m=(G8$yDouj+QZV4_@P>Oldnp*a&*61&d3p*%9;6-u zd)527)-;S^2y_c{I<2`63}!o+)07#z7Ytqi-iemy-4CYovwG1bRu`>b;&5x5tkT`W z*ll6(GI{QC<$+^VD${{Mco*Qe-}oR@t&KLFN1G|@fE&c9<9vcP;AzgR=N!DAv6-VA ziEZ(`4?Y|`6%bH z;(?Q_2BmoBP#Hm1f#aFO;xB>Yn#1B#!ST(ZxO0re?A*0msR59RbSic$u2+U1h^uR5 zjid1uSJBVK^%&6pxIP=CH7h@cYg^qPS1!p6J&HXM#8AcUG7HhuXY<99>o>To)pR$S6|YZR zbr7p~bK=)RHANB@+In_E?E_VWOSDkM)OcF2msh*OyaS+q>w)%$MO2Nx!-cL5oels> zYq~`kaVf1{5n@o^TjYt43iUuq0b=6*P(@1RXWR5+P#xTAJ{0PEYhkW^UY!bSI{QP7 zmq&W~TrJdfCw{o8Nj*tX*Q#n;o0e=nT9LLq#p_yCU8_=WH+5sx{$o^Z%=%Z2RhR}1 zLr~zp8E2ahnX8eCRfkR1kK8aHG0b&)hwRLGR-$nXpsFoD~; z0vlw7L&#l(e84l`Vgbi9Pov=C(s(%y_A9(%qR!OvI^0v?HiG*E+}@V^0$ePVWiw*= zZEy=LcPrdi;JyNP0^DT2eIUw|19`};15R=oaPX4C;?s2i#?po_Z&{h zEZ){LQz|0(IIwqeRq~Nv=aK%&g#JM2@D>vNLN6baBT$tz;PdZofl!E^^pQ^>xG*bn zdj0WBT1)jBynkS;M!~i1D%Fck(;qq43{~0<&2S}EaT!E5%D6{40af8$!Zl>b7aXw0 zTb~5b&^1Cd#%N8RC3`Qz|61?(lud*_0ry&j>UN<#31Ophau@uD!CwlWo5P|>lYT9b zaHn%0G_NK~7*)5wf{-SBz>!4~{yaL&oX-7AJ&kF>2k!AvAURH40yxdd_n8Cj_(9Ha--<3ze%+}T~%B9wVof6yO2oR z@Y?CLA|Ldr(03AgmWnab2O{7WS5mzNb97Cdzi^Zn@*2ov2wbce969g3Nh*h7D4Y5#&mUoV zJC*Z4N1qXPJf;z%d4?ry;(&iLP4u{0SsC-O8_=!9h`er_@8j~z( z2IDpuPmq2#^l{MofSyHLir95%jukMq_}#7Sc<7$v(sNr{c`>MmYqfr2u=ZS6ZTwic zKBw{ahq(y8%Kv?+Hwz0*PoMQ+cA!u&LvXDs)w0t4#dM{5nXS6~(!8j}PvD>e^8WdV zeNPO=@}uRT`HP2c`P6=2e0jv4|2-J{{#f{dbc`PlRHddl_HLGnd)+ZHe$s7#E+U9TJ@AuVMU#{!3wP#-cGksRh zVytV$SUt#|YWySA@laP-Y8q5CsAnxTOlwuvSiHB6ZcdhCiCjx0Rp@CZ8|S?mY>JI= zh~@S~5acc-X5rhFb^_dls+Otfg-SN*g45}PSiwYF&YWFN@;&x2H*zWso!3%waW*q4 zlQz`%1g3-t{7gxw+K(jEm{3lvk>e7m^L54`$iZS)p74lpE(8*ghE!Jh%`-P~-_-Xm zUCn{=1ycULdsH&=n#tSUzZlpcU8F$%!0Wh4DLn7gvaH4A$AQ;^ zJCt%3lpl}$#^=ahV*4vN*KQIz!^-67LltLWorO^*W|e$P5ie3T(4xC^z8mHs`bgK*H=NX9gQN~;Di2DKOKMzMRs zSUnP}rcejmB-7LW55&;-Sme_!_S9G~9(Mwy3`O_gt^3c%$3q zzlG|;P5JJz%~}|<40VrjYFkmwVLa6Be;w=;rqUN!AwaZHDY;S(ER!#%N2Su7tAYXtEwkJ@Bo!VR}&KQ>c|p#poL(2`$1)(0K5Y zhR_Y5?`M9|WAp=|J3>!^J_q_D=)<9JgnkhEX6VzP--P}OdIovLn| zf{w#UVtN@w6g`Q5Hc{3v5uT3D!>LD%t}ve0$#MtJ>O^&RmZGg3#To#o9FxO%?(&1;yDeo!S#Rpo7MQ@f9SZaZ_^tw}8F9H%*x z;K|*YgqhoK=`Iz0ak6R5%qcDVca!opIVE>&f3n>MjMj)-8R{+3>bXuI35QNJ{Z<{q zVH>qAOvUYoQ;yY|v#tTh5P~7UNj>YTp&d{jG~)x(s@tKkXisr|*cSf?z0h1NW_R)l zloWpjE(LBWmhd?V^{!D1&vT)x`L>6Vn$CxwpQE4hV+sX;p`7qIf#*?T7^2G6*$l?c z8pIhVk-d9CO+r=P%(u*kdcjgXq3$K_aakIMn*=AY4=v65RJ{z`iK+?TN7VCenVQt9 zdX&d?lz13_io8gbi~S(05@V#3u$RO>)>%pp<=NMvp0QLLC~gICwg**HfK&zDoRp7H zQochAyN0+kEv0vglPR1g>fr%<#rTm#9T=mWq&>u)?viLcpC#@_AN$3dsJay}PA4|% zRC&jxoeaHe{SFv+Dg*ce^bf!bJR1FwbmYNfT-r(4LWJvJbXNu~@kZ#cp$lBvDbf@h z!}u2YMJ2mGL63*N&!caJUI5+Eqt}wha5jwj=%Dn0dAt(MvC}icZUXbQS_Y_`_V=MH zSGaKxbeB*&-^S+Mcy|hF0;hgka`%J!&iHiHlua!fTxlnUlU-CAx=gS(0e=J6gTOj= zX*|6y$))ujF*J9D10|Pnvp)L}e_+ z1LRHRBQ*uoce^r+h6R3utMRD%&eO|RHC__scCdJAdKlxUS$Rj(SM`bL3szJ|MXr?j3Pa`PR-RZeqp zWNC0M{{Us6yS^?z!G5EbO@KVR>V!O7R(fK}%dD!Z5yx^BGw?;fw2@6?OPH`c=QSe0C$IM9JSmg`aYrgfg%0Hf4n z++l+Uc~oCZ9qLl3%`%v+LiJw73)NDUdr0nDYx((-Mfez$*7iB{E#>!zGfxXR@qVG`xQ;;)0oT#`P8pSBwP6yN4^9f z_3IZS;Zp;y>?Gs;*2`xhqN`gisW$R#CgR$vdW(cxnuqq|u~>_?FcaZ@LvGz?IS3Z@ znZfX0b9sUzL7QF!c#nF#JmppQF@}ZCWgf2$yY;1T2OBdB-)SCqAl#EOq%w?Y0Vip8 zwxkYM@Y(xPtjbUNQ1naK?>~{$-_kI@M4jh$MA6|#`LsyrN%9)~DnIe_SJt9@A25ZV9z0+d+OUaU+N`wAAaNIWghFJ=9b)w>+)p|ul^b~*{7F( zt5t@C=dcC-bA6srdzlOyWZMxpbglV=L)%}=*+I!?5#8Mlq&gbHAz!{$k_o0>QSGZ_ z1xKZN?8>DU2_?z?gw%7NqT2-Zjz6u*uL#0+K?QMVYXZ5$RzgmMd9*V5?sHhT=cx_C zWUQx?%T@kn3B5LvB7IK3ix0sDM1@=J$huIBKK^I|2_(AWwG$n}wn-8;6;9PdMCR)r?0>0`$MI<|y08|Bf#b$N+8notf*mQBq>FM$qFX75#EXtoC`PonpTB>uR z2_JfQl2Oie0k*=`)n)h->18>u2iPQcBHXtXo+C@lLqx(giC*NXo`F>GW*oD$;_5X> z_j_EJNSt{3K)!~nDMP{mFlYtuJOqD7Jk-a*FtthWBd;q|IlUHYRHYTF%YB!|m&ax#E+)H%{&Z@mP55*k*n6X>KxFGr96(I>Ilq<0O7-g4~yZt$`agt zC|_5C0S=$3EoHI?Q*av*qt$|6`D$I41mCp+J~&h(g9N@-<7i&|#Mc9Bx@rknzP?Y7 z?&)oSYC(+B11U@oX$5UQ8TM_Sw6xSkl^%H0FV~fnuDDXjgPN|Zj{?W}H^YB(Ol>sl^VSl4oCY1)$OT5fFYts8Ue#@v5& z{QYOgTqMGeka-fm$NARBJ3jhYvVy662Fxp9eqfo^ufFmF%mqB? zTLt&iWTrp~!`gtd|9B4GJVE>bvXY~hG@lCN1{itFyKSMbht{KJP17Y5*{~O{ZCq}h zvJLJ_aGSv0dgwUT5qRy)GnXJF;1|R3V_{HzzcFQd{Fs%<%_<7X8wfQ`d$I>{%ZJFQ zyMvbb9orsF5WIAyv5l{-P{(cDDk~#k?B%H<)(*Ty79#vr=fRA?>;>~utTo>}8=(yM zacuaU0qb>G(_uMIDiTndVG?%MeHWDQ6t4f3PWX>jy;pPd#r}VtUjK{C5(eUq# zxu5X+&DnS)*cu8*`3D_a-;#UvmoNTYNJgT6ZSXQaH5wW69evE4ogw=o54~)H&OX*v z!*1dWBe?DwWu7GX6>~P$)$ehDXK=&QPcXw-6F8r9(ZFjZ6@+#*d}3&8o-v;`r1ZFq z#@R=xQ?)rwBI}KY$_fhVkj4^u#F(>`OreWM&NHS1#45skjoCa>7YMQesx_X!cjM`S zk_+RGTmAsD<~iEqLT&HT64n4%7q5l5-?GNSYF5TBprzC?N;2{zMn}rQ7f5BX>4TLG zyvM0<=V%qzoiA4$^u;h)EKGIIDM}We^Fp-p7ti_&iy{ubC#V`1!8UgpWzW zCi}0UD2;UqtS&4sE8o11NR_?tSV)ueT~tkJXKW_kwYf#4?`-pvoZ5kNG%wPAB_)Bh z+pi)Z)t}9d$d_lnO0s9MqFGL{?I^&p;WLq^a$ZZ43ZLn-dAo$W8jcK9Ek6C)lZ?55 zTY4ftpVKtQZ^HT5qjRQH7WmDtjnCx5%9nqw5P7djgAczQci$HdtDNHrIWZb}^YpYU zr)Qk_RC;dll!lMX9rU4DJVzl`w66a>oeGC<=_FV({+q8k=im$~=0=LcjPF=oPAyA9 z42>+5twEM8*(C-8WEj!n$J@2SG$#o!dK@x9QjA_OIHwbW@C3~`U7hPu4 z2Cf0f!ocU+H=e>J+|N5XVZrGP8@`1D0~NA^MN#_NQ~m^eQ(-qEs$B zr^xs&c4QYVOfL$@en@uN(8U}e*u0M-+eO0(Qddjd@mEd)S6-UdpUZPn)Op8Fn2q9? zx!Yl4?=5P>AB)+J9XYuk=E*T8ZHAph=?m|uINq1^^F4YTLU$E)YjUF=!>` zc#r#m<=zN)EZo~X?iS?egLpGM7*9PPrs8b3k-Zop$PisfKh#aPLM}*9C-HiaG0Vcn z(vYxx@I;_)RJopY%fS5{>~nbv8?q2o-|p^mNpbZeU#2=MT883{Sq`Z;Uft-^AHyTd zBlYB~YxE38Bi*QSHyw4eNta6c4(%$MhKA`M>i`fa*AtOq~O!*!D_8(PaB1%}0c>#!t~k_3!--)D(Q?;gesmNLiB64aL}VdTjEW9I5``$kVU7`P_m=jIPcL<=7`xjtH9QDa%I| znvgtQcBSA+wh}MK&By$qa$o;K6Oms>Z^rR#z08i`4-<>AiW=8~Gj+0gL{Zrj_3+1B z_LA?EK3rZ_mZq~?boY}Hbw!)l5Ou2K{DK(ShAU@$Cnc(`(wTKSjBJ(_IcFma1s}n_ z9d=dz&+3LW>icYS9<&o)h=tO<#5yh~k6RLEHRO_*a~m3G`x2HH%X3Z0e|fe!sQLl;yn7NxMkHIVWQt=X}LOPCdl4WZAsw{$Yo< zt=Hw2zxFUa9=h|6%T7J#p0h8gmb;6QB+Fi?_t_*Qx&|Dl>5s#}1n3@Rr#oyFHPL`=8Y-!R)+LuHl~b-d~j&{~c2P(j5f_`eDZm z&oVo&qj=gIb3!ZAAjBPUk7N{3RfW$}c6)AKs70eD?!%a{2eI-w<QeNv;Y)KK$I z%%dMWhY_mNaMahcL!#M}f5g!PyPI(ru!&=ePe+M5lB2ni)8;g2Yv_ zNwb!SoA7R3umH4)1X?yDG$(W#hZDz4B`9~Ct|;nzQ+itpy+ID2@ODEo+#DCW$3`FXImUcW_>ZUi%(@icz6hk{FssfXEI z-=83y%r!!PORzX>Z!t=8!DRE_n{XaHio^CtxE0zLZc6SG63$U>_dz2>4&lz^*blj9 z=pSL>egeoNoL4u_M&p@h37Q;Jci75Z59Thx#6|LsaI6rG$<+n$d&2SIOKEaZ;e@03 zcX&MY|Cf`t`G2}Sb^Egq=2~1^+7Epblx=bOoo}05*_*L*Bmf$)3k|3l(;$MSPrtq5XsYyvGV9gmRmg-;Z&g7T0}D?7ryR#@e1X26J1C&u`hDyKXGv+C;F;OdN%b zotVG?OZySyM6f0O=8;+>`;Ci!9)kBxP z&hQw@#PR&=(Uxlie>4uBF;tMnGJ_mGL6MgB!~vE*8}s7Fj)01CnR9|1=<&Vw-OmsY zTmU7FV{H2SF>NOf=F+j)JFAR~y&wn*;ua(FlYAM{P*d-lceV5Hm|p&OzSV~U)^ZJHc^iN*4#NP6Ugv@cDp z*w)?*cI!V{*E~>j20q$x_$hTaI37}LzAhvIU^x8`;6CN_L3ik1XCk(jRlAL3OWC`yh*}*sULkD7Wab!^)&#`yeHeoBO&?Ko!@u zAk%d%5BkZW^RkeHco;)i&t)wAznR*5V%Wz%NqSG^wl~!XELEivWhwOyZX-@o*E0 zRlWEnN}Bi^N?!3p3}&K{gWE!wD#Dp;BFxp}wg0Vuje#yM3agn89;V4}fO?55f8?m@ zEa%`TuMg3yh^5dDvT(_n3O^t#0}Q$+qH?32)jjSYM0$WV<2NAo@pjPjBJGCz{ift_%a!1b zZ~c7b#ftT}|Luc@EM|MJadWK>@7GK#8j(WE^4$yGRiOAOi=9ur**P9Kdy14(CK@@R zLRJC~%v>T&iDx8t)cCN(hZzNQl*95hIS12S=7Mh>ZpQv`i>6FNGyaeGBI-461akQm zhFatV^cHDL^@$f<>?6jM>!nTA;W&ulZK5~Goh|C`iFAA?(MP0pb^T5pt<~@XCbRdu zU%>_Fld>?pU%0881MfW;O!_yAtlXL0>(`%LaI>}iy_{6-)?c2^?J;h9#=JeYBkFms zr&8;Wv2Qy6!p4LG%N1)#>VRDJe4K-RQ!~Q` zv#Gt1$W4TYji-6$)lHG^`&WaP|2Zsck|-7Ikb+q8|5ss8#`Zt*crvoPJ@;fwvJ{q?V+ zv40PjAZL*q68|0huY&yl`#IRnA2fIKSG(UQ?lR-Y&F7v3kp;9Dlvp}_Cf|Sh;)?_1 z!w&Cx|MrhpVzk9#nZ>{S{f7S>GlY^F7}*m>4Qb)xZTa&+yKB9T0Pc*Iz-h~?wy$25 zJZX9D>PkuFLO6?^f2;y6DH0yq%oE`W|ALp75apO*fJJ^-@bbrbS^o^n$Nqs&{+BSi z_J88B75-e@;p=)8zLvdcpuRjRl=q-(pDbgfV4)eG`K+Y=K|xfQ8wYz-7p@x zlf>h@zio{l+7qAJ1DAHgghSnsEsgwHQ>E>JX|8UVey|7r(hakI=!SjHbi;lv-LUw> zZdm%e9{6w%e7+l&b15Ky*5QM?;pmQTIIgGMW**d?1meKM);l0?{>qT((l9@xJg7{^ZIVs#_7uvZ|iP<>y10Qb-H#0avh*Vd=Emqt^fJrz>IHGuY`7Rq~sYE-o2K;kx9$TV8IDG5)O>fx(ueo?(eO zB_pRUT(x@B=E~|iM`O*-Et}V_UN(FD;G*;x{}{_@t7qbn#XIhJ?%j{SIC$vT=?hn{ zc67RQn{is{ot@XNUOs!`$ae=m`{0c~-?DXHc|5lrU-Au#NSRo>=gTt}uUzkNsU+i! z-qmsK%7vd^yKQ;@n9u+(tL5hBe{c^ly3T*_V9nIx!K^+%JFIW~Po;aqqEh?@Te{xe z)igWTrxaeZz3c3ucWxRJXtVZbR%=(T_FtY{ogVI01cT9a>E)VnDb_x)t*#62+%Y>W z4@S1reeU3$<-WFT7}zeotuG?^DnG4|TvMI?T7gCNsSVWf z5eCi**77W>S7nHn!%kpCYpB*6_HA9bmTggenV@fnnsGf5YYn#RNo+%u$L~_OB~t}Fm--)sVsD~KA&i;8jKR}a zRJCYDmM+h@eiN40dDEhf`gv8HI^1~2bL^x zB+xi+-@-+$Nm`5$<xu>W1g8L_z^>pRu=n8%wXdV>iBVErAYqhb?~A zm4q_J9lH40u2jTfZl8sJ?aDxApy%FpE*trQ+h_JGDu?~7Uhs#D`D`ro@@G{68xP%U z@&3M|-3+Tc(I0+SkGuV9F}$`OapU!YShVP2j!T?Q5m0?$kYSvoJCFzMyQ|pf>ip!M zb;Ut+hv7PS&#Jy0-?qBYo6-sv)F890jeWg3Fb$oSA1l_^L?Cs60 zH(V&Te`_?|Vdxj{E~h&T{q=>ubO)w)_Z83`hJL(0lI|eiLQlHG&_9_b-C?MA$I~5# zdVd7n!QOACbcZc#!OgE6g$F;e&Q5nk&ARyw_J{h_Mtam8JMRx)AqjgniSF>|=lF!P zrqtIX>5kCFdoYdt=VXtm=uh6E@fiiBLxzkQGj8hCS@Y)2nmTpdm@z|!lon*fhkC_Y zI#T+Mn7N{&y1AEjy}7z##mo_XQ$lPU(xi2^RIZplI6c7EGC=F9T|S|2oZZ7x21Ra~ zToB^0|6Q}y+bZ>qm5v^k(? zpLUEvbHn0w`qf*O_w%7CpoYKyZb2eVVc5>w4(XpCx}IZPJM+bJcQvh=HIineDLjVm z)*+T{<1>6{isECbGNZ*GOTo%O4dmiED*1@{94Sxb*_FglFn%(hKPL&wi?Kkiab~V3 zlI6vrDp`Ie<)k?=4nLKO=27>V@KidKe=Vl}l%-o+?s(|=S6;Jyq96K2Wf~m;{pPnm z^7i3Qn&LmG!*iI$RlR6Pl1G`vLvuGRDh@5Ncx&!06VmPdm>1lR#l-=ImcZ`$CZGAk z-MYHeKgSZTxm%X>v1iFlQ#TC5 zlFoE8At0JrO>dqW5NXLKKE^kk=}vDP;}dGh{<}U@6tm_@Qc*+ycC(LM5Ud}s38kWje&yB}DvGtm-7!>@fqNs?6*&lA zZ{&W9JbrJxw-A>4ewrK}sP=IMUlG!wT~Q))*3WOji*EoTzhWv1`tATKiV6H^xy4NF zjgT|d+$UlBVWIYha`N;MD*7Ki8!(J(>4sSJ)-fJ~ELP_GuyTt{Q;kJs7Q3cqdJeRB zYH9=B?WL)@^kRBlZyf<|<;xT=O`@sIp?xj>BqkNfLeZQrbfBCg3M{Mw(`-TvYN>ag z#UWoB%$M9Zdh#Vhy_d?DP~NjKLdvkqmoFLW(`1nXsI#N_lA*gD@+Ct(6D*CdzDnUs zBo5+B?CzA5x#H?_tnf zp^g(u7`2wuHiP=y$}K+B=MU$_B1woLf zrjvdw$!gmPf8pU4d=C#tMXX~!3IwXu*MbDR8^m`vyaO}G{0A}~A@3Tvm* zz6gV}(}P}e3siSrGda9XCnL~KsiB`n!szLt_v<)5D(X|$8EII~I_%WPpK4g69}yYk z!1r}(d9gznPq(%IYdGOb*Zkd!I_S1_M@$YhaOZimGNHff z@TC@d=pS7sD;l*6r}6??;6Zo`%Ad5`EPuvx!jkIA&%31_D(+#k{L%NDiLpSBd4yk}oC zC+|K7Qc)x6!4JDr;dpfW@~de;m9{^fIbC_&l_6l})eMw@dg5m)qkE7;B+4@ze#;{y zDR1P8ddC2ZE52mH;#xbz+nG3K*@n8dHcyDO%NA0)wz|;|%Ix${DW2cZ;tYT+-BCm5 zz!hgWpSj;m)2~;f!N-c4aTEY;B8Y1$KER z&#iAw)M70zd+*8htjd%-b52#7hW%Q=j4Efkh9V-UxS}Of3$wVr`z>tE)M;TT5-#@_``%e0N!MTe@a#bM0I;s~?BF zyFCY0IWsg@^Qy6hq1a*cn%11AbvhkYSB8sZ9f4%!PVBX zc1n5#&AYfM8SdJ#q&%Lod1P;dz36JKUy|W(jf8wFlPJfI#hFxOc3oR9&E2+RRsoUV zrEo>tNEw?q zx8A}2%-y=B)D~lLMV3vkbjI`BH4Ed2X3bdB$gjAa8wbK9b=iv6R=3Ef9rI$4{dd{p zOV&0!6Qx|`l+m3$u7Z}p@>4S^TH1&;PlyS(xU8X*wl}Acv%1VX9GkfEt*xxM z&h-UEyaugqP2;r%`1!ljR@Ai-aZF(ea#@3>R?}6i;NGFMZof4WX{#DRm-U)aOWW&h zoBPp_C7W7VuPgFxaNQx}8=X|w+1ljEvmzaoHD_gOg63+eT{kF_MP+?2de}C+DxS7) z+&G6jPd)gdHOb_(&8csrc^VfC#jegqaW|w{IUB+jzq&aVrm}8kZZO9vvA8E;A5m06 z!?je;iNZ!rYum(^^bwV9F`8aACk?Zjwk^42npy{>!o4UH>o%*VD=x*!@NOTQ}+Cr#-Mh`?K>7G+LYQt#lr+)45&Es`aoOAA4jO^+|i_dM{qO^!U7R#>#8VfUb)lP7k)mp&8UWzu3u8 zu_qY%(c6bGRAM*3%AU`qu0J)+Kibk^jTtz9&-v>}1l+D~D(#Gpg6$9dpp*U7vjf-% zPTT$dW$sIMf4(&!idkp*hbKC?EBV@!{q2mDfWZ|Xbm*{R?qfS>&(XIWpn>(S*XJ>6 za(5r-Oko3dM+xJ^BlGu1+HvR7Pi&85G?eW8mN{2 zRJ>Aq# zTwdJjvvGC?h*#-59ki9}%i&^)_6W`5Su7xPP(NBX^2 zRX^FVhb;f17`>L>=h3Sr7&*DUXC82yJNNh-uCa6X9Q*1ZL)9N2%-Pir6k@^`PPBYy z^Yjglh)GD!$S)o;Y|Pk+Q)bMWHFe6ku_K0+74=T-6&Dp2;O)V@deuLn_kbZIC(d56 zxw_fM>8W`;ue3H)ty?s0%&@Y8vYdxy&KX;hn;IMHYxA;sy1e2h)iA-^+B)jDtX(;ORAH>hH#RfDcGj+#KCUb? zgmIKt6Q^}eC`<|WW}BfVvz)+<#5qi0tLX;YP2k&Pf_^O~SmPAIpzbl<5r;_7?U_2= z5sx_Ql22q}RzY#u;Nio^PMKT5`V(L|wdvaBmd5(Z1;cYNc;NGcXdyr+*D=%Z??}%H!alW>9r=@7&xzeaBa}Bp}$k8j?{u zcG8RmD>qivvlLFSd~5X#iO(u588T|p{Pi`BH~i*~yB>J-;d}mg^G(eSmCI+29bVo) zFD25?22sTgnoV8rcy!-^6CF|Ns{7)hkDk5vrk0({#^(iCI?6ZP_1vo;eSbcaQ{{jD z@~xNlG|%L)*sfbYJaqKb^+MyC`@-=bzkO;mE012v1lWGI@2G2Ox#ixy`{gqE^Fu3c|I0^T9QgXX!#|xo zeeS}=YwjdQ@n!GWobq`$zI@~YDuFJQhXn3=+~|$kqhDUvb;i4E#RGr+{4!hG6I~A5 zSH|^gzkI*{%TGV~;EPK+hE+e~?mY75qqjEgtlF@6#)NSrh7B6K=8iMz#^uh-=MF#R zm{pRS5*_3zloPW2Yn5npsxx1I{P^Z<2xr|X=G&uxy}!B`!r8^0@~*$tPS5dxaLTE+ zinK#G{%5*te%J(|mrSsLxfa6le4DC6IJaLlYi>=w`*J+9+(oa*^rG@nljqExKY#J6 zTMprH4dtXysk-%#5B}x#&kvnr(Pc*JVbX_Ly5uUZCx$f zR?Y3}(Vv}nXKUT|xxGEDB8u&7ZQeF9FA9&;AlR5y6LZmJz|%S_R}S;;jUczn*|>dT ztUc2b3B%Mdrywld5)Gr(uw+sUb*h91D=zv^cyhn!`%-J-K6gakMla0@_a> zXq_Ef!dmI-{Qm8|s|O%U=7&6Ad6AbwO= zA~px^&bPI28V+xp_vg`Yh=ngdF(@<&4^-Ho+sbJ<4)y<_m6k*F`_gbR4s^SZY|WwN z;6q-RPs_mw{KySb1;~G1?@hxox__vMlN0^*GY{s=G5@;jJ+6}KPr{EiI9nj}x%}Ha z8cukUNi-br?@MVo)LFl*#+m^6&!xs*7Ub7g?#)CBbnR)RKwUJP!5PVy-n$`}sgXh7 zdE&kzZ|2Jcc)@FrkBzZH3pCG*>)5cs3SEDHOK>bz>r&UhULE3L*2(?;e4z#!;N=AY z;Z(|f{<*;(q14KyU;2HDr&*mJD&oZ$((QU>E+-RHpVN2sVjvb#{{2(Aj<+Ao30V$IM0{FG-J4@=B1Y|c8ND|(Qim3LQEmPO(H5O?V<(>?o&4y1XcwMYbB4MRoXg$~48AQG=_=>?)M zSryhtKeFlu#dHWDhzpGo;& z&!_yZw?|Qa!}Y-!%1@{6A4vI;@O?9a@LB&Gv(xGYiRz3SdfE zLa(y&pgZ6C#j3K^grj<{< z0AqxoNIiWT1Q=udMfT~3`me~s+3_L)4Ri=FCI*Te)VE21F)T==p!RA3M!#T@g<3ZW zFfv2rxg5oyR4AAVJwk=%VYaS^pOWWp4zIJgM<_$Yntq3D0OK|f5pEWvgr-7XU)lji zr6&?X6^TNc3UPrq6)JEGFkbOS+G))65n-qI_X3P+U-Z=~_?!SvEElrE(h{Ysep=f6j3U0bGl|UM4_LmOxM(Wv>PgNXPTyJ^T0(_6IvcfD5jnTxVg+qFrp?E zC2B11hHNJ^(~D4WRSMGfzWl8J7D7AX3HfX!w9Jo?_j+VL&M^>^vMowxuE~$H7?TOq zCK4D-U|R%=@?13jYPBDscn6_bkfaK&B{Y%ExbohTq#0unKw9S~BGQL^jiC}40Hc)F z+KXAP0IPXBmW3g8#GL&pYS3B_I(ofCi;+Vn*P!4wW=OPz&0u+}rr`q9H&HVNQ*GO1 z4|WPFtg)A73?uHdocY*dTT65*(a_C^i7cadc_FMb#tP^lk`N)Ob)H015XT!;#5Vg9 z%WlrlR80t>eyxO>F+)>jsP>Hh5f-B?OEV?_OS5Pm8(uI2NKxBxCQt(<)Eq~sz)3FL z4OChSfw=?{n#jM+I}8JhT0)K(LIK;eHKUY(eN8qUWo0XFolU4A1S9$3y)~ndv^*!7 z77~bPB&pVqOkP{M(~Ma$n$gPAu##7efiW~p0qcbWiGfOJiKf#Auznar<&~|-tgtp? zaoNnGYE0wJp*EsMGO^yoxEU%yGv<-kzb0B!OE}Yog{e7|}a63Xmu*&9>@%$6Mcx{yF@{%$h;PPnh&ZVNghSKhEpGX zG$VubFhs%1ndWDK)WbhEh0-x!nnLN=uhMZsfGm=KNXM-?noi9=#%yvN#+-w`-nN?-?p?=vChSy+gucZBE%TqCsGi%`lbLbnU42OUf@j2ng2 zpI`!4J0SHs0{R+AeWaVI-MtV}_lDFH&k$3qDQf)tkh;&u5?u$W5BUY-0pkIQZh+J) z@#BNkmnWJ|C(8aiIf+B1BAhZBXoiqiSh_8Cv;fB4L{q*(*kf_>@?Sil+~U(H!OGn% zFdvAw#js15b|V8)Uxg8y(vDc^q!9QDOFJ|nd$Q;o7_!O^Cz)V38pVX9yW<*b#*J^4*Yz3P{8=_nDwq&3T!A59XmPib( zd6m7XjY`{)s|B+LEz3s{A~s`vG-P(x{&j^KX4&!U`)as$V>4F7a9)pjc+%Da%~aL1 zrP95pIP=hQ&n&pqbfi|86siL1fR6oE%BO~>Opf_vzAi|MpRpHC|2xaup+uVJSyXv;pX9^L!ssSJMMe3^i z-smo3$bJlE4f?jga2>}s!UxI<`~wmi_bXV637To*-p)9tr4ZctobI1L0vOiZ}4}!8-JRIIomha$N82-0=Ls_-~P49NX_P1{n z$_kwS@M$t1D1@?nC+*^LCSBd^4Q1IzJ$8+W>EuW#E4KCrd~)86r!7nNcHypbx0jI9 zq*o}#wM7K&%f4fRK2`{2*%o|D5kHTIvSu7$5qUWX$|`!3#pYgg5_Z&5;W1ge(pa^AscGspVX7!u+w0fO8#gd3IsoyuZZF!7ZPtuI>B5hC zFEMSiJXV;tSpjHC(bJ4JpE1c|lm!RL69p+xcu2&DzOa{MDm0C>fM@x zR#^8Mrd0&VT_IUR=Wb~!(bVF4hu25i z>6WS$vnC8H&dbYAOUus7D;_ps)`}`rmz~ZnbB1Jv!ryh;LggIjEFP^7O!>mx0A~eJz z(9}S~7__+YuBYBS@QW)S=AkQT zQr+WUca|9HxpOpxak}g9zTLOhubVx4%BWFOX3t*NaO>`Uhh1q1u)cn*W@54j4Pj5l z%K9Lt2rl<~znT1yls(LI+nXPN1*g!K8ho!MHsHz|_`cm5h z5S_tf`m$~2H`z8bK`*f-B6c*UCbF;?Wnv7boH^{3na~r(Buv#IRAXDTndzGy(?V;E zC4&uwJXLGD7>TJmglw?r8$HET%$OF5XwoPY0i|jR7ppO~-XqMCs~PC5b9pIIEXY(9 zoN&Ho%nZSd%*Zp1$!dHNy=feh$5T1e@#G~NUVB9v7n$=^t?~ZIFx5uQ+jTXBzaX~KDjBGJJQABLKOnZKLXXzH5; zQ!sNRoesj`KTj;v)Tu%`$WZ67F=f&_onuNkeom!>40SkOjMdb4F(TVkUxt}-jSu`y zfyN6g!tlp;(?J|VYM!*B&oG4<*Gt8eO`S_Hd3h@L7%^^BXH(=n zKJ}Ten7A4D&_VEzA_rAhGQ`?VedI~kprn(ha+QhYn>q~tme0v8bdX`pHjUs;;-_3- zaNImkrACXZwffOtEaHrtu!a>kF?%NeiHL7cQI zMsw;1Z@G`usFJ5T8z=^JM!ji9cY$*dN^#$mr@9g;mYl|o@>EwjHMJbqe$&40GGhk$ zDy}poiWl}o_A$*8 zUK|cSX=@u(mvcjM2J9`FchG@q5Z3;xxm3*ME6Le9$(x+sb6X_mDi%l8ua*ou@(2Yl zCgdo`XsJZzK<7MU+bUo)!M2Jxu+!zG+ET%0RuOEO?BJ){h$mOHg;JQ=b`W!&tdQ2h{HChT#af}TPJ|`_8~BEEwl}KbptVlH^p&63(Fd1A z>xf28Fsq%+Q!NY7BPUk0X~L$Z)RLz@Rrs3GPMct6Hj~G>gzv;wdk6~`wUI1MnIL96 zO~lYfDat}W{IfHv?ZT7$&ymtO2EyK`MXiETDVRj*ZL4FzSqRy>;c zMyDAcBR|lT!V7(CeaK)elR_*G0qmU4)U{g}iYc#P;;8HQgff@| zZ@Mnw7xM6G8S$M2KOMnXeu1g^r)7+~>Z`ofzKzh}!=$=?&)TVn@9h$K^;_kj*PSB6 zPYVcTJTD*E&RE;*LIAJ-nNS?}DXRS?gdXhVl~a`rUp3`0!LFx*C{^g=m@?|>+dOj2 zIl^1*4TK`@;jJgV35~h{?#NU|?URa(9k=>|oOT}M7iAz{cEMF&s-ydp7|Jsb5mO&Q zmi8)!uK#_KdT|2ryf5K$NAKsgM}vqyp%}>aTAg1!K3}#5%g%^}V$!D|^hYBZ$tfQy z!K|Qk>ev!SvdwvkuG*u#C|!^RgF4Lmh+=!c-@F&8JLGU$f8~(OYsR0 z;g}2lPL?Z^Ks<(E7=+^zh-VU@s)<}t#Gp;w!lP60ck`WyyLA)e^E{Xz$B<>@VK2$jn=~$q{wfTXKA&IOpM8 zGE{eZ3->|qpfuVlo37L-i zyRTrjo#mAu7edOmrcPhk1^C^;ORp!BCFyZLL1eu^md@S$%CJ)=V$^96zc5aXDu2na zNXm7HZhS+c#;-|rJx%ruq}{~dCEhNB)Y0xQ`wQO-Ag&~W_)s?yQ?B#=Tg3Bz2#^f7 zbrNqSUUk}xe@L$x3yD91l`W(A5bqx!O##z6ridXs=qQL+n2Xf3Z%o7{Dd3-EP;cWP z3v%2g*W0V#;324deq|oP^Bg%Y)siEQBY7Bxaok0#F4u#||IS1V`iN$@#m*aJT*!+$ z$TR1AP%mVIx=W69xddv{d7rUx08!<_f$ePd^) zY?iHqkDL3i;77BCawd0WOUH(N)>}YhXK(4&{BLAaru+WZWp2*;{gf+>>~m|LfSe2F z9?kkdzO+>NY1yjj_D9?T)$pIpEt}tM1yZH#AI+VceS4v7;3B^D4!>kKvnWXUvXfvZ{vnsY8m}XKiR8W2ek`C)YxA@)F~6Jcl9^q2*+2HK$U-N zfPgJm2e89XetU}r6nH zweM{A5v|eWZ%jM+z`ISgQQy-hc))F1&G$Pc14R#8=0tW?Ju4D1P28&1NTh443cXTT z#+DOyHjD|yZX|kHo3L#g`?EeouM)Re?V`XfxC<=Y<6W!o1I-X7W}Yg zdfm7HG3X5)u^kqJF1HO3&Ti)*tn&N@E_3<{E@iXHj8&q^aHq^|Z1cmuOL=V|-xkEe zdU;h#07@O*wunXC?X1kUV!>yNTjB^pwWE8CYG9qLOvIGYvvjjFSa5xIu;}V-TeCn~ zXVnm)(<6kTt1RGUJ#KY#nC7-vXW-4M?<^EkUwhvQYO7nyVH{Ll83Ss>P8i?pt+Jqt zAa-g48_sz+7wXM3kzwk=V$W+d5pP}29!?LNi4UgQ6iF~*o&pI+W4ccPF8mB9QSFn7-+4 zO{*~qXqm+(QTJGlm7ZQXItVq(mPioxIbs#wyfn!!suf2$C|g;rm~z*Q;b?dCD=YY+ zxXoA(>a80%1{4iTeGXq)g88@JIxmF-Q4v=9FfR;tfN_k+;KN%OIxuONPV04JINA!m zSj${~+izYgTkYE6zJjS1>u2l02Emm2i5pMrJo1FCY{Lnwt`sH_R9zH5G#o*Rsvj8u z!k9@s4Es3cpx$@@HNt|cSuMzPTPN59O%v?}!OTeMm4ccV6a-3%U5;*_VXCh-q{4T3 zg4_smtY>a(Ln2U9$ZBu{2HP!jdDUYy(gDXvx`QDKvMv*37|JfSlz!=u5vys=^?Y}* z45PMfiGh}Oa{y~vD@|x@K~2^)n$jp4&Q`t;Gogwa_|mFis%VaGY{3_Lf?k4Ix2ogL zI3F7tEPJZ(9<^SPWdy27026^2o%XYt!Th z(nTk>T{bW>O{ltZaMm(PFw2K(n{$TRjBr%9&ufz%TamPo%pk@(z7$l0dSEp#%Vc5* z-<{h+uBKsxWMVOdnV!MKp?2_dN+ua2gmruy80QS$llg{(h#C+rQudyiC-W6Ivdv!} z&S&Ns__jMzB(W>Pn0bc0N?5=6>l`fA`o4nQgX{D4Ogx2e!LRC99xY?yS&jj{HFuvI z#7|9}oaXY)sr}|6Gf(!DI{t0${fqG#=nR^vf3r1sacnRzBW_=8-yr5?Tx z>e8-g%%n3OJ>2EV;-XuB19yp2ToMzHExY9iJQ0(O_lBeJiN~v%W8${H!tE0*IHSJ? z^}{men9+OjU}e_v`HWY;S!!dM-SJ~r0IQ4c@f_@yTOFQZXWH=|_##)`F~#`(>H=&2 zp&`sLft6n=x#n88E;$D7+o^C*kDQci%~YSy-~tXU^JLB`ey2T5P!HmUt{-2DOMp9Y z%>l*dEIY5kVw|aDlF^RSP&2+2pV`YC&Zz!$0U^p0Zg`aT-O12z+9TJ|9$g{sel3c4 z&O68Dyqu}#VI8T*#r1^l zy++9WYtjQXcnI~jOb4rv6Z&N(p|br*o3FfsT}tqak)Hiqr>VbRk zNp-cqG(t`rWTODey9yIWw|?r^UQ9WLd92vLuM#Nqr_1ChVRe2EKlGBqti`=|tQ^6t z?u&)SYO&zd+iy!}#z7Rrwpxw*5zM)pI8Yk(WY=DPI_`-sWJhOOnQ^ep90!rxwq68t zdK=RV^>~7}a^66Gf2PvM#GIv!ss(|hI*%fREW2e_ory`QYQKpY2X2p9NrT2tCLD@8iHy0Z9M#KSv@;V9NcAzFt<}l-{V+Aqh2mV6 zjp~YvqC&h4VX-QmHkFz!2W?q|SF`ySlUY2>@L1Kjz+ zyv$4k@~^$gnDQ6-$vb4SHzyi(KXbI2EE>t9lR=sj&6#R&9#s_c;b`jCJ<)t!3^I5x z8IQrg_slaN^PSXF>@d~4ylhT1vNxFB1?q}}kU7z;Ch#EhggPeMb#tN-0mBcnjnyCI z#h#g__et_}O2f%a<6yhs@VVF08IxB!Y)HS%0?RcI|JdP`4}Ey_=i?`Azg#_W{O6w! zzVMs*xglQGRLk|yL5rNPp6l##ajN2V$D5NC1s zf8djo7*w`@^TuYJmje4faH<`XL;d2XYZ7rZciAS~eaek%y>h+1seoR}ymLQ>lh^;o z-ceuoK|4m1KRpuU&E#|IWgP>g+2XiF6vFaF4OrKV?{?jSUYOf;dX;T+Xc`8E?x4xrH8CNZ3)>vD;J;~)W^a1@ zosYjcgU*uv^axI!_23UD&vzEFa&#n2sM>p~%gyen%QEiPC%xja_J926-)>(rc2IFnLD`U*>zn?x?~AVvopz_- zIQ8vIdw#u?Gc!BG$M5*lQ}3UTGdlFnukYM4Ion28MwTyadiJ6lIZKDSdTiIE)F4h+ z@AQo6zw^_x9b92{?7d$_<3Tp;p|9HUH&;g=UPWh?{&rsnXW6?i-a9$E5dX`*8$asc zJ|y?qrw9A?w{+NoD-T^Wj4gC$(p^Ut-MQp(x-;#+Wp|o$kN+DM!-FcW#NPCWRf8?M zzJIP5%c{3Wm|o>C#EH?Va_<&Des#`K$~vMSm}(W1Q}t|y39ha;ea#Ogh}o>_x?fz* z)rl!$jH{gOjHJ7uG!7r(c?<|&`SM&;I3%1~~%Ub%2wMM|2R?+w?zt#Q3h9hB}SOMtP%q>N% zh-yGhA!122&QT!JN&B2ObWbm_`DrCn%Nk#X3cHwt#vmEQ+n3+-kRAiys-eo5W-i5|4wSi)@YhT z2{7IB&0yF4pnGE=XEqhHZrG}}Oo?>uA%c)SQ!|^5AI+)E)Zjqw2&Rs{%QH0^5VP|k zhF*JAA7r>KBi?Q=7m>h2%)>NaVErMH7r6aqev80?<}3QtEy4-CNM>)EujJJ(5oqWM z@3};+tw+6!^n>3n$5Mgz^O$TY$g@Dx%>+p1@8*D2W{vy~!W%j{lR(I&C| zZ<)-&8SwWF`KEStYY2AAh@fYfO4gbZQ^~pRjtfOr7ic z2uzmQF^$4x8Q8WZSsXuf=L8!@%j}I3Owc;t)Wue_D6@xkF2W}Si<#|xOm*xGUo4o} zN2ZEa)|hDOW^2N*V`ld;#Z=L5#mELtZQ~fzZ=`J{M_Zt=t?Ms9Z=38DBbwW7F{b8r zp!wV&Pt}+aEudw#sm9&nD^4b=2Gdc@kest|X9l*djuoF1)!5H;J!u<IN%KwQn8L5469H#U^N7C`w>sgQ*JMnk*hGst%zC8sVuD(c2av7ZJFj zSEy)+8}m)jRw6)e8;zxyzWid?oFmj_suM^OIPPMnws4|VsM!bhg>YGU1PKP z{7jze(s=q24)HNl+j}sK4ulWiWCFFv)cw9YP<%zy<#nP0R<}s!VQZIWg7(2C(07XAPi%ZY8lETy-XJqi!aP{;sKeJ{DqDILoZ$V>Yvr=cWnJ z)yt7mJ^jiGe4VM-2ffUS?SML|*m3s70JY1k%JD%`2i<)y*2I+iNV!?yTl~$Ep5?v< zzW7HE^TX%!yNmG$`M&xt+jOG2UV~JOIp)no0eZ(QBqdBBe-1K1dtcFm8@HO;@MGd` z#cpbi0A0O=0HKH-#9#rOsKTD2uc2N|Fu_H1WBm+O<0)=9>OD+)0q!DGTi#}B%fIp# zS0i;{gb6xXzxta$D(*V!>pmv9IM39gx0${>>aSQ87qbJ*Gqvf{xtRu~`med^0`L~s zp8_sNn7}>81bV9p)IL+=el$#6nAGWkCb+cN1RYKjs7Fmb{Hx*O5~M!wZGvONOmKaU zsg_^Q9h+$9o7w6D?&f+Rz%!hJ1KaSw{LjNBDpcb+B~;5r*4-e$=o==_HDMgpVnl|^ zb7D9LV<BubvEqT~pd07O!m zprYl8p*G4oJJL%Of*CRLoQNdT0o)2)kZv);VlZX_@`7sdC9s%;<>?}mCr}I`o*W^- zQsP^9a~^OKa3?Sue5kyMeSlE_VigHffWv{CfT{eFr%1_Kz2v9BY$T;0a0*ZgQwUrE z3c2RNHcrGy));9%XPVCy=Ci_lR-4b3M6oRMHtoy8%xAp$%;cnuhH3dpBo-p< zoaD;~OvC!3G)hGwhI(4)(}GZg=O021dRA0h^y%_2dA=LQsWnFLaCzPyE=Sh*oD*Oy zjF9I`5pqCbM3(?#O{6@LrO~rdY@6xR4N>xZGfK{ci9z~CpKgqn=Znz>J?q0=UbN1* z7p}DKnw^CED9kY6KHy_OL^4VZrf2Q=39DZ?de=zChUhfQk}(X+_UGwS4B&aT zn9p72bD#O#Z$3|$&(1_Kl?yTr=2Fe)0P{JXGY&4^J9iL?ix4W^A*5s4kuRlZcT$Kt z&wq|-oIzG&-MtXO>Ue)-kQvEz((rE(`MV!4 zjU>-{e#V$io`vMGRrlnH#RA5_eb>k$ONC@vNnH__%I_Nei062U`G#*Z%Ai`Rju)38 zjAD{UkX+y;v9+W&2gna^^%5(La8hTJ+SglRSWOtI^6C~d%F(5&iqVe4*Gk(v-hlqrV^lGq3{wv1RQu{A*~ zvPL$ogx{?4YzboTh%*>pb$HNx$-(R?RSwi-tS9%-V68J3^FZI+6%g|bFpEPqD+fFn zB38E6Vc(d}TcK{m&I4`%j+Gah36zjAm>06-b3iP)jY4#NiG8Nk zGoAVq9UdxMUY`k^Nv51qtf`@*CG3ORlKXFHs!(>o#vo#q#8!o}MKs=llo4?nH#0n$ zN9e|p%s2<&Pq^CZO{m!OD|qA%1jNM0le~`1+Zc^vM@QfI93%N{7#~k2O_FyI?aX0# zVi^OCs^GJc*bmAzy2fUbTS@-LhvA7}U5GLKvWPSXF+6ejAibH~_cJ`XE{RnCGo)UL zWq2CKK2j@5t*5}fiDP-FJdcw86MTP{*XLaFCu3q2S>}_ai7a9Tb$}e=Goo@jz`(Z| z!^y!+plol0_<$@=_GB?C`0Pf0HjZV*7)O?+a_Ij~HfqUy@_g&>UeB#YQ&p_jzoC$$55RvzDY zVU1v2r`Lqr*Y#wdRjTShv0UExF@ zGou?we2u*R*UadXM0b!lFF^91Al8T2Qvt{Uj1=DdMTTb}7yl5SPwFmG=Lbsc4q^+4 zJ#5B4A;uLP%62+X6j}jYxHtbuYH<)zV;ZTC5_6cbmx*m5_O4vSWK5=&2JohDXONgv z^nqbe*S%;yu6bg3PCrZfN93;MfazJm7E9=?*C6Km!90&9ijy;pN*Qfuv2Gp1TgeC~ zkpd5~4Y$RhZUYG7 z1mB_<1IiP`-JzmRo6iY$#sz-wDY@s(*iP&au{T4z4ZZCM)AAp}XrlNTB@VVj|K=gq z5plcZkZ0X<`xQBBPYvF09tN`SFS?EH;K&F7I+&NnjR(&RbGd^VWRJ?0Z9 z4yd3I=N>uU6jDlI9@QOFqmb`JVLE{Ols_XPU^_yD#xdRuB+vCo8yuq;q{a+{5sTQD z8YKuUDo~TEUI^IqmN9mM{?!ORHbh}=WL+#Gk%?IK8zsm{s#78%O++WFan1lt@`x6R zOKS;-G{9(N#ffmHE8>fw`XaF+!jQaW0mQ#yGzz z9(NS8x8c%Tv#_<3E|16B9Rn$|+vC_>U|=U*4@bX-4X@e%@cGq&oGD`x0lNWb3dT}G z3G5KY5EN>FA=`i{z7mpP?P!*o30=U*a2$q78}J@mr0PN-ta?sq5up-UEwPn@Qm`;_ za4?+`a$!XsMNmiv+mHrkXeD%mJt<-Up&jf!YrVh<0fq1t$p8`Ig4-NGqeDr->~z2i zH4%&g2}K3LPZENv2o({6vhc)hkeMIy3S_Yb35gNn*ff*O0x%yC#tmA-FPE8G3B3`_ z2MNvj_wXDL9)7uNNEhNGIGS__kWdyOh!6u3CuS^4C=nN3nRuW^LaaqXk%Wd2f+`8g zIt^tK3MB+}Vr$ZhM%#cyF)-$K1c0LJ8ez(kCB#&&#AvLMP0UiNP6uM%8!PLQ+ge=Ns7n&mBFd6m$S(1gGU@a^T z+utphgR;sd&tA4>&9d2(%QAyFn*4vT_ny&J9NEA2Ny-QXKq!E+5JDnJfXGqgAd(0o zBQi*2kWkh+a!xZI=W)Q9akgh1#tG+)Z7|6M1GX_>GRo(4^?i07Vb6U(ymzg;{-5re z5873=yVa+=YgcvE4!<2u#L_nxg3XrmUq4$iNdg!^z`hB8y`G~e(bBFDAe)M z>j{QbuS?$!c@q&hG7j+>c>q=Cz5WPXzypY0b3Sov3)rfvYdOTWjj1C{re$m#=QYLP z_R4o?L9}V!%g*#cw#A3h;;Min?4ZY|Sj;he{9i{)@D>X~0v64Ie0je{x4^{L%c2to z1OlyLMC4Za1HNGdjoRT0E{EYe6d>XOxR{Qvv3QGfQBO%ojA+k;)LTBXg&QJgN^C z$Rl%!rtfL^BO_LDkIWsK?$H=XDoQYr%te|$rs>h{zzdm?8A2y$x?R&JHT@z3{Mg+t zHMD97{;M6=4#r4q*he}CVjEV8#RFuU+;&BOw#UjoC0q9P127NcJC|0`M|1?8O0`uu zvN#jfgKED`8-?4KXrpk)9X-*Ys7{qVL<^Hfcq|`;zTI8Sms2vJ%Dy~Z0*Bfbcas34 zBqvdj*ul(kEG&12aKNz^Abs9F)sCz&t)%+&=QB16FBP=pvgmRYb-_q%-VZmS3l?It zoZ8$JYV-)lLx_L(VRsqLZ;mEh7n1~L3$THbWQ$(|cZAfG0dT4E+mR^d;C*Pd%u$J0 zgUyX_gDMlmFnl!z?$iXA^cuB}2`=e5YAfTVCi}>&cuA6%#k2aB$4T`Cn0ZoDicf>t zHO?j7$#F+nELBxcz9KU()+PN)t*5TN$MHbWBHMCTv2a&)c1b5w8>?%3sCAW^QtZJv zwUbMF9PS2PdyLv_T{}u`cqf(- z9%nMe=QH&eZRbustL@y~&-avwg6#SpCXbm*e1W{d?j{{^Uj|h9e3UN13NdH8N$5h3 ztW!iJZey9EMZ)h}YFZ+?6V~9BhZ>eAS{nTJvtkih7@qExgy%S-<)CvtH7x}<@a5Dp z5PFf5L;@<{=>Bheo|^9cnhbB>NAO+u_WXlzq~E)}WSPW85J)gdlc z8VV*rWykB|!M6MP=jIUae-Qp@lJ>=%#PXrchpnfpmyl(hfTuGfVuX$ps&+V{MNQ07 z7`i|xdd(=&Bxh>6NGQtONKr-i(G+wX)YLVAbfCQMtLc29s=^T=>h2^>$7xy=A^P#q z4nq5CI!~x717!(FpGZx!HO

OM7uuCv!Elho+M>T`N@8IKl-+C`wcOo~V-)4~i!* z6ca7`8qDj^Bu!anQJ<>mVof&+Rn@4p*entB3uTu9W#a{9&jw|`1zn=)I!(7}S`{jo zNUVgRp_)c(nye|BA^51mp@ZqZ?sUN2bin06-o3d%$cJZldcHdaI^C&;girc+b(x(s9^ySUU8Ct!nx3QsOcP*s=p0S&))ZqnGpU<7oLN*}J+iIoZJPdD({pqH zQFXjxQ?|;`O`1Na>Ay8SB2+cw=Fo;D=9&)CbfKnfTHv$&fWD*YcbZ}yhto(0kZhh; zY?^VJW@cY~WTj z3H{*?Aw<=vo-N=fiJNM<)e4Cz7$FfT&O*}nsQzUzi@U?jk(^i6gYZ#mx0tX~wJ{au zIAK<|kr-H2j<0~4EI(WWV1bcX2-B#Y=)=nx zFY(jG>3o0e(>Pwz3*H!cY-bV1d^Jsic-O-lB`?TXJUPl{3&>hgi3Y|AcbL4&n#$rW z71h*W3fj$^c$?=AhNdQ1BlZ)qJ)$=wgE z(nZg0x=1S2o^tJ%;VFm5oNXZ`^L8FcNfg7&bdk1A7i~Ao%E?@>*H8JZpZI9>M^#7B zu~M(5HffrtX@8-rOLYc?5xEv1Z%Y4Z-qJdvI$f4r-8SkXaG73t&8qGu3$Uymx^Muw z#78#|UproePc6{|zui9yX-~d!9}$PjcoBB!Un9)sh7*VO>_2vyKm!9WGu7#7G{mUd zm1icc)c5fGXwIhAdq1@kh`;Lp8?_G-s0|Z;wWr8Erg9XuJAzrdOhw4_ttmLSn z_9Y|X8?LlPx4r;ot%O9hY-Med@o#uXro+2Uc#X*j_)b{+C&K!xuzu};Jl;{y>g@Zm z@E#D}A&L3C;VQguM!|bjc>4*qQ8xjvsJ-V?$*-5%aUp6l29 zyYL$Oa4RAI;CHXA;JkZ;=l&bKar=0VyU7xw?&RUrSv*yg-y@>*F5~x$HB7L`(&@41f6Mmd3Lut~C?Y4PztmnG{RB#dL2m)?1A5 z=wpK}>!QywU1WTzi-cEo5%G{N0&mrYty-_;wl!&=#l^qqV*FlRh|eI8WPMYw^Pa`~ z5UH-Zq>CB9>Z0>cviLI(>m}feV8tNLMUA@XUauE~$2DcS#CmGIP?d}GBSpVGx`=#K z3d8Codjv8)>xeF*yi3PjE!|`Vx%_uoL7FG^I`U~Z-b|MAW_;%@54wfEt_GXR=Mz9L z!oPyVeh*1M2+2MU8TAWf>N&{#%aDR=kd^h2wT+PV&5+G*$aZ50_9d2375tSCHC2g% zyVV2P*a9hJ39VK)K$h1*7GH(Tx&Rq}8ZzVrr1y`I|mp z7$jcK7Hi9+gl6~RgZ8yXCS8A~joA}J+hZDPwzFhdXN!tW7XSl6|c$C&)9zW*+-1j{4d(x@MC;-NP3-0u^C zPEm9@$jp=gdmVJUg5*xLVn33?u&t{XI9DV6b)}(R7oHN$j(W05;9ph9K0gWVopVYc zVU57r2EmCnVxIRnB%x{c$Cy^Jc#Z$cPPDL^wpU%uUicm?f8qX*`=l(o3+zR?8V1m>_kBQKW1T&cZON z(svXCFzd5skpM&KMvAd~OI5{aYSN*6ux*oAG=X~pNBS0y-*n+@=m$sU#r?(f*o|Tq?gjh$lfZIH4=HeO2C* zHZp>Fv>VS?p2Clcu+UDYT^2`Mq=t5ev}0(C_|WbyZMjL2BifnLj-o9BMSHxoJJS}) z;%n1(lQ0rsh>XFQA|aCH*eT=&%s#k?+b5J`PpSaFL0FB&(>vR3em$1q6{jjClu{(I z$yHOeV{>_x6YEq}E=-Y2L6}-XU4#>d=CxEsK(Uw=1@eO;rPMb`Ux}zvFBwQ(M{T@C9Wn;S&sthRRdXU>7jrZ^(L0j-tj=AatbRcJt)u|Z6VT1j|}XTb3>@h z@StA9C)qnjaG2hbM0gzo1p}vZISwHVmkf!`7UT0sR^K~@!jx6`rZkPMwLVfO2XL-t z;nIu$DTu~Dm5AcSZFG)+>gAZGvIuuy(Fx23o~!U8rtAZW)LIAJv*e9acY|VceY}0l z>dIIzL#K7XrF_L1hbP0336f&UAsBC_QfnPqwg`Z9I3ckFq9N^7>p|;V6+ak2U=iUozXhfRx{Lm{&E#(oolOGhuYbl zgM$3S@;|B**T4!MF^GDM|@Lu=eqU?E(+N~|PCx1^RzquDHJz4#A zYoc~+0<};OFVwlM)chWy=6RT!bshGe7iHx*`B!+KNqBXaSEyZF#8qx-q*fvOp^5Up zuL=y)`w~!b8SpPgll<&9k@=s4TiK}&?jsFVS2lH!LN6wK@kS4H@WaLP;hT|#TfzzE%eaJg(sGeM;2aTNY zLKi(|V78QyZ%e)^sHsj8wyFmVOa4z-urXe^gC_{6XS@(ET^6VvzK_k&NN0xu9Kd30 ze8YWVwK8`1*Y4bIuOGM3@<~UXNWuN-AhJVOvdW7x8!jCD=8Mli|ML5j&6#FP{Ra;f zPe`#@TEhA-zIE46-O1z7^!kD~gwd}|v^W6J#>eD(Po^DM}ad5Y)T#U|b8G@vJQ;S@Xz)KBAi@)t-0W8Q>U zO3v}lTn&^%!~S;yww32K07k9zf5F;)VFxDgjJGj49-Ge#euCGo4vpol?`)LpVy9-H z?(tYNo@~U(e(n~~yN$VTgTiby?%s+>je6)L$gIDAS>1_n{>jfDM~1H$4Oc$DW7W*b zx$}1HI(3aODnEP)kD8_|z%TC{Y`V|i8T&6!e>RHe$&1$UvGb(hXg)aEih8=@2TZMX zFJ`0mnEXl|5d=S0C;1Uhn!NfLI|#SBwll{UB&X;HPq(lmxbz*0Ir7yV;?^#IScz44 z`dab+7 ze!s?g#q6o8A7*iKD)85^56Z?gep?i2<2=<>u3Eb=FD_>t6SW!~rY2|MoGBCYmf%c; zErtcR(QXOYMxM&?34l?#+YQ{{5+iyk@Oz>{=zxRja33Gm8a*}$zXr!vBQOt5f&p?8 z`-q%!xHq$eH2k#+qPRb50_#SYw+F-Yoho{X^{6+@+3@~Ct}nwUw^cJ?j)rw70f*kx zL|I{uf^};fSbo#wtaY%)z^e6!6)@vEYXYot2dp-;g~i_8oD8d2a6iKqh+4zB9Nr8q zSv+IJGT{kasW~6sseE{y)(cP60p?10U(41fxl9xwqhM`>^%m(&v`V7_6^^-8M3J(e zXdqaEnp^3bx;v;$5G4gx9Tl++)+u)968C48(wk|;a1P6c)InMUvk2C}QZ2aD5P>WEhTR0lJg&(az)nIg3C6ZP* z4yIRiw31sfx^58etKffu3o8mGK}j_Rl;MjZgMoU?Y5}Dh&MWg+$GXHvdqxIGrAg2#L8On`A~bfw@zD$IN`N=63bn}yt)i2A1>j6IlP5T z8$44GWNe$@ZHa|9-6p;xM@GXOTFFld$d|drCO`y?Iesc=odlFr4dY%CkW%j$L z^OS;srN&p=@Kuo^2|IEbp2hR2tOeXx4^XyZ_E9>P5k-|s-b#KUJz(WzAis>-wW4pC zSP2q}3}8%Vv(XEQ+D@Qh$qL7KX1CU-6cy6u?wr~UNImmK*6>kn9FG!%B#L+!n_rt^F(f1$n|gL|8RBoD{qQJYe?mzJtr~>Ru)W(tbouAt!pyx=*&k zo&tF{r`f8@d?m01dbWB>_Re~)T8x2${WNDKk&U!2-_c>Wv3o+Q(e>L^N@v+EhbM`6iiq}o3M z>ktY(a~CX`i&WS{Xl{Ps#&3ipQ;`b)dn=~~j?6?V;!&@5$GioOOhhW`@m9`X;K)3r z;{O3>FW0#bj!Z);?O!Nxj89-a);bHR%nxC;ybSBL)=5YWI|!@kL0F$(pMxe}hSg9D z>&W#vNR&TyG8LX`orBhjYK9SS{(OB7x(m+bSb1~5UY~>B<(4kePt(s_pM(5JfMM>3 zwfW-pIcQ`fzowpo_qV$1bC6R~jVQL^>NT*M^c?hwD8Qe!-ntm9bo_=02;5{G)yDgVMDASXV8uT@qq$)e_$#EMe>X~QjRZcw1 zmkQ@@WK!lG74<0ReVPp~^D|~BJ?9KLg(odb@2Cgo8AoHZ(^{FOmuLQ?5mT|2SZ2aY8&zQLJ3jcg50p=ael9O9cGyOio zjrTQ2|sfpYXXklrsb@~}PB6PrhiN@!w4{9U z&Mzx2a^g>D_|)v9c#tr^7=8B%%$RzEsYvDR$qc+ ze93R+HVQ`#KgH!6mcn>~o8!)Uek}U84+Hq8?iYMbW`pQm&2X+QRM_Y}zhI0ka*_SAPwV{hWvp8o{I-F|Uh|tuk34o1*j?&6u^`gcBKFT+vmBWZt)9 z-MrV4?)~RW*0o@2x|6f3akHpL@<&}0X z$0w(D3T~-zs+kDX>6Qh=`Ji)HHQD|EfBVa zqz8nt5#xh^({qY*c{@1f3eE@+{QSys?ZgMKLjI+*yra@M%_tUJ!O)f_aNZ?JU3c;uE+bnNzZhk(MFk zV1hAA7KlF61POmbmkyG17wO1T__wcah3d3)6aye zFHj>>e8ZUH%i(Th%KDCANir+%ec|DIpMFO^a(f3OrlzOv;qd_oPWq}NxLv3pMlw+O z$UjU94#PS^V7w2EV_-7neJTLgYcJ!&acHvUG!`H`-QI(71Qodn_P4qw>+oIT`*Caz ztQIyo$9d4dv9MsWZRPBPa|e)}>iGOt&UbMBQV-|otX7U#D(;d0Iy@DQz>5D2=V=4Z zLGcZhAFJ=h?{|2e-`_tPmiVKzJPvE#DOmf4!NQDc{E}~F&guFOp5*%h^2BQY3Z8B7 zlk&LVq8kn~8&CbSAgSHxzkLgws``p>)Nr%Keevv>-|P8cfBqjY_aptjJ^$22BfhKj z%(Yu}acNx$|E8MUO!U8xWt4)lc>d8<3l^?_tx1p^&qgs!%{pV>a6hZXVhdaKGj2iV zZ{oM7zRzZu7M|hX)d5B&-?A+>#_3~%uW!669Q8#i57t-U;5~OR?kN7rI6OhyP1G^% z%ksVcMtj|Wi~!@z2u?W83Fi`|ZJy$I;6>WIBN&8S_&peNuE4mD$S4>sB{1%5gi-9! zjHZ4tK9@_Xm5f2&saTET_H)MZDVlLN6SG<*ulsFK5;$X(?6vL%lwLiJyD7_v!((AY z66~rPZVwm6bFxYr0l2<8NrFO_2Tix}E6W7%bzh=p9GS)${x`r-pE5wb282!mjbDEU zx)O^ zSx@)Sj2d~8&IALgXK=n{jd6G~XRMb#+2PQPUF@P&$fGb0liX+^7K><&Y;!6>7cE_N zGMWLJPSSLdrkgaa)%1Q%pVRa`O~26eTTKsWdQ{U>nx574lBV^VUeolvrl&RiNz=oc z?$z{bO+VK3pPKH}^bSo+HC?6YOif2>+DkvirDR;p2t#NziA83I+S8vn!r&yQWJu zou=tvO_MbZ?(8Cr4t#Vd`5d7WG|kjBTBvdmVZq(6({!??Jv9xDaq)OtqlM1aw7;g& zLY1vN%EfC~plPf2TY|`8ef%%4aF}wwA}deAQs*AOFq;hEd)_`M6w&UoZsG z>1Jl~pJRBG8Wz|;_veYrqX~|DdX$4M*oMKdIB`)XUW`~Z-y^F&CMo?%5MuULS{}o2^I?z#I1$0T~5RK9g}QA zF=M%)4f-AH0DQ9C7JKqsC&^bUMn|GC3Fx(!^S6=N)TrECTp9GET+{k3pL@Zh;Pc51 z%%k-tEl|<9yKvI)m@m=G1Xgx$LRJRV&x`$STZXKp| zC#_Dp#kb3RfL8Z#`3ZlL0GY4ToFGl`(^$Cxhi=}fn=cX#yNDMM#7}dxBV@&LvMn#b z)lU2&6C{D}zkGNBQ^BF<1q?gG;CLUHIm5OdL<_gYcg*t&jPYwX^xy@A&ELcMzqm;y zT7UcuFFOq}EfA`ri0ub*;yX>tbTY{}BVK?hc57N7RJEy-HZfIxCk)VIz zo*BJc+%vrx5g>&O`d-J@IyPRF*jg0@yaYa$gI>2wWNp@qhD6q;?>27N1HKfa_3BnWIPEAl8=z7_w z28u?R{$~#>h!4mBH8$NQazJe*4nZOdYgh)gTm1!6-j7k6+Go$J6D$PaKCqu`1Rv18o< zgr*WfVlOJlWe5}dMUA*262%lZIt&>=s@Pac5_%<~#aug^07ArzSm2K+y;p@ z6+y!^LRL;KY$z0}K|$9N$0WA)I#39UnXxz{iRj6CCXu?xAJbrQThJXu2wByvWT{Lz zWg8QCk}1URi!_2-GQf)o5kOtlq=6J6Vks~uodA%~vMKl{(fHShfL_N%5h=Znmm;Dn zC@PWo7awX*;%6!Vnl=9`6ODSK8MU-PHm;Xn3oqzqj z>;Jck^9FEUDPO`vEOu>Fm2A;cSLet>p{Oc{DmmSGsAIiEP2S z91h3!4xCyoSKUz8#%rnSW}3T1rr@ZdB2iQh`D=ONP?eUZG~BW>v@B8E;|2Ff14T*8 zQCC)3BefJ!`z=PxP%3VQs7H{XRA3ym{7@kcfy`$qypUWiJJjm3y^;ew#HCCvH`Fvn z$)MN4HPOH&$P5l#XL@Lnk)?<-i_%za$~K$W>6Vb0Wo0u%c+wcYjO@D&d)YP2UDrwp z!7~rCnS6kkYkz?a=kqpR>Vt4LP?jNmC6pU!)5$928oS!7=v&N5aQaiuVz)h$asX|a z^U7$8d}g$^OKF$1w&nah+9H2){{Mc($#6FETc!NwcFN7PALOoV&vRG*kh}UjoP*rE zt(bIL#?|d|@3IV#2W&f|v~-3bd30v6v7SfYL@AgTxWk%5_}~mjz40dHJFJZ-u&^7) z()S3-y;a~bP^|7}RroM?8VgxkE)kQ_I2NU&n(-y98_QR5Tpj*}%?tU8E^gsHKNvta z1pb|FI5vTv8+DM*{P$1;o*wf3bJM_@zNdq!6`cK;Q(4k77$1&^T z19y*Y5NqpFi)=T~k#d&}=6g|gjVf}J-68wFZwL4a=E#-xV2%g`N#_6!uKQ1%NAVFg zp2t1YByo#T|5!KP(0{x7zg_*`QT_kesFq2b`R-f>npU%oipUe1ZqszUrX4c`hvY|%K=O#D3%jE%2h~6d^Bav> zQrtr;%R5V9zN3*%7HL9V+CyewbncM^RA>PxIdsfs69c=3+J(oZ*D8bhoqhI z0)GfTYMKTJ`H>Sx=-MOH=IGi&Y8zOGR_e~;{{zYGXRebz;|Tx9YTk>vHIDjFF?Mw3 zz-k&P(u;ggf`BA3+tLuNMK9K_C8D^m3#OGvYaT7ZvH%5z)?jZJ%e7h9#_FEtyF81O z50!ShTB+Wg>RUm38L@11JxBYH$#9r%39>N=DMpk9mAd&ft&W{tp6!?oSZQ2|rj6bX zPaZ8BEYRAJ;n2*md4+_dqxsQF(AQZb7+ecv7>>`jYq4Q9Ff!IS!tq&Qjg7g<@fg_OYRNyWaL zrN6MuTq4ENDF+b(R!CMR)y)Y9lsXk#Nd;sGV0tAyECRH;4kd}8Kucwt#DWE~K8Y+z z!jc$#UG$%1eJ)~m7o~`OIi(2w8cGq?`II8Qd6Xj10!$*pKK4J#>-_8IUH?B3@wJ>M z0$xF>e}{Fr3^~~ch-iO6DS~~HQp8#Vorq8i@`;FaE(b)Q%PB>i|3N9jd>FX1hU>!I zp0si1_pQR5OK`&zt-^dO_3hV%`AZt(+Ioe#gFz#Ph6wWl7If$S5ay?7y>wle{Vvnm z@`o@_Mdvy2x-dV}2`i!RAHv+`8to7M5awl_Niy??Fn>;~*B`>%y|d{#{U5@NQqz3& z4`J@uNHgzGVXoyz>x2Fj=8%gVfA$Yyu8K7Q(f&i2Loadq)qp>R`6iA({--b}5*}j? z{X>{vU~srY;h#NrP&gcw9Sa|Y!mR?mCMOQoiK z40k=72xhWWejyg+VmpMn=h-Ck=>-2_;c$R_+S4EPTjc19XwV^MC)+VJCgqU<)~L=F zBWRlf_Uqf@FgAADhF+pZ@-y2Pvdu4+JnL<@q1G6Q)yrRS(4E-%RVOE!lI?&Pn7z@E z&Six?6D7(xoL(H|XcbamB)|~0&muGqHE2|otqLVgga|L{2-&o3qAlB_iL_+{RY)7< zi#dh1=wpg#`_Z08yO8z<+78+?TiY9H<1K*>!)0#cco{bPD$05Ci=x5|<^=hnCEQXE z+Wlx_jWtm@tF^=eDZ5;9DI6Zm9E4VLBsV>qb_EYw(}QQv;z7+R{D>V7Mdt*6bfAH` zybe);1(OJ_bZXDoxSrF?(d&rrDhj6!@dQbulz}~fQf_gA#;2g}`qm3=8X-Njq;r{6hLWQxG`zh^8|0I>P71u?FpuCrM;0D8rgJGDlJU|zo zC?0STnuA4+PB~k*@@bK((oEE?ZM>dpk}E1(We{$U0-CPz#y9F#Canp)0dH#-t?o=f z)^fpK2P>U+2=~)ogRjTXk{6$;Tf=F|yW{onCYRCbL#t4L*vYg(6J4D0tI@#h{b)*; zCu=Bn=^wm|a55I}$v`JHQQ|1tL*6g7K>xlQwF{lEo)?~M!t`R z{q!JYA^T@m8lK6#GM|5;R{t%ITFlR^9;@i85CKJ3;;`HgXF>IAAU(Z^?frAe!4s?= zZbbn6uCniE(3-3mY3b&Jirq0GT?*5XxDf!a}yF)#ZB*`UB`pE=kV+WglC)g@gu(Ct#?NV-PZnoUWcey zqVQ$C_)z}9!Sf!y671Ci_TpQL--kJsGLmvVrQG5j8nNR=P4{RJ59?(q%s7GhFehrd zEy}d=_Gn{AYqp&shSqEut5-GZ zf$bda&fHHI4SCR)mc01Ix>ZW+Sz5dv-sA_gWR&dHUv$ z-gfWM`Wvlk4a?r%O*5C~r_wZ6@T4t>feOV9hqjz7#;j=q%&y`w5sCWTyjSD2S8=it zMf0e}X}6u=D1J0%LWmf*M$^lp;aaa-JeyMSG~d@4?$OPh`vC*0om<*wEhiUnbZMv< zsRGY)b|Y|OCLO|9UB%I-Ik`<^sMxHm2WXGu=o|rFH*@K(pY1gN6($BO>z5qGnMy^t zrEN~-aC1ivqaKv8`W1(tV65U1qOF*Iy9K=rlLB<4rkDz-kJpr0jrvqgXK2a{3CByl z9Pd%@ncn~MUcq}c@0ADZ|H{@BQv+8>(v;UnJw#KV5d8M!rl90DgRa$diKf#v9ib@+ zR5%)^DTr=ZG6dcY+lIz^GrhQPuUE^LNzHdO;m!Wx9jcz~rYXI&5!owtv|9E?FU2rmlWow;07(xwq9vX9q~dS25JbOIJ)fb+o8dr46A z%oTJ3Q*cDbKLF%V-*>4>6MQY7^}4W*O>?2YPp|AsAz?qMQraihq`J@vr*BGip}=2C zhDwUT<+^Ze?&4xGJFzB3il{Ov49ASxWEYFw9y@dqGC$eHYIt~Ak`%#flUyvMb1D<1 zuy0CqvCe>5T`fk36|7&<*shWR2XpSAa>-<7IL5F}NXJ}0w+vhi7S)g+hKbOMrDQ=3#T(2_U*JgR=Py-p|4)x(uuua}Xv2IF$*+?vM(WE-a$TsoKWWqaEmyT^{%!21 z^lmB{#Oc;Gpq0?A(U0NtK(}`PlusSqI_tQ$(r>*YY0Qk^Tll2VtzBPqhm!Bi82c@& zI=Xcc06BE)lFNd)WcU>mD?_(N+*>CoOGe^zErPFPB)zX8m5huJ+!{-1)Mp;SQZh#G zF$6`)=yQN<<#g-F9}JD3H02vZ<0p;!+9UW$M#iUZjhxi){bo>IEuLYoHVc4K#sf`! zGTXf+d0mxnakjXGj5;UTT~(*|`|%}Kx4R|BtD1aX7i|w{_}jY;N%*P;HR&SYBVE`E zG$wB12}uI0+T5+7ai?F>sbFJ2)(E*blG&N1Px@&Ml>4w3l&yEYhFbI6C52%fOR{j5 zJdv+UVOUo+$m+|8{S0_mzRMdx_Mm9HS7W6uachvYkWV#8ntg7IMn{WzO9SiXUlepS zBj{z2brITum%T!JmloRCBU)O03f)>-WB#qBb=nybQ^R&YW<>-vcCS}5r!;HHZ2O>= z%wGFNG7a1EDU5^`r7b5i6EH+Fn{WO>q;00Xv-{qSY%3lu+SxZ@poS)y*76^BD6Zs)58;^gV_ zl;m}=3`QNWzSmGvDOa|&xFnb4m(w+j|DiP+#{bM+LE@olG(0;}eJF2P)({myFAUH9|hSLP>KnzOe)@!E%n2y$v}{Q2v*UbR)%!4{EuDB@(@n{K?BLq z-f>RpybK?vzsM0qHkYw=Zh9Y!$1i7DjRV)qt@-g_|J#PHEB7ZfqkL{!JA0a?#W!a7 zrb_nL?&=kzy9K0>$9>=w0v=jwotu_SPKmd)gbv7GT~5?)bLIApGkb?xJ6f6?38R*8 z+2O2>ah<5Csw|p0tY>O`WV?_+e?K2zKmRsi5uK9L`;A{xQdP~z?^4ayRg3fUrccYA zI&H@61&9OT$|~onza+VXA>)2RXV>{M~5ZL)m-Z;-?C;@dxxbbu^=t3 z;uZNhv3}&kwK-cVR^|@xO<-uE>#~#It|%`nEt)m7YfP9g@lg1rIg8iZ3a#s!SInC_ zIy(i(;V8n5^ZS#?j|j)g;lW83iK-m$lT2!3qqY#&RVnA-8i``4CfA$scp?*HU^nq- zO|*F8#xEwG)Tmw3F4oc#KW^=o3SeQ4%0bo$OM}(FT|(yct(Dd2%hkpn;g%+Ahpq$0 zOfLYP+}M!A4zDgEZQz7?1uHj{x@v1vT<6O-%^E#w^n}UN=C9nib?dg`(h4V7vSy8~ z+Fk>;vu&=+tVLvNtJm}g+_buC?bu$O{znC6X)J=`pZVOySLcNyDE+GU6Wx01#n}i- z$PFL49oVH$y)vAsx#W8y-dfyOo}bY@06FO}sN#47dpmdYC%4RrKu!j3ec))g={AnO zd*8%(i#uV{D_`*uX|6wg^r^*3NJ+E*NarV~&ZB%i;cja9;mOiPGsa|hPwv#QeQ0<@ zWPDoY(8+Vw-udqDjm<_E^OF1LFW-LYsmC69=EdaF)7smS4D*UQd+3KB_U+sI=_`M~VcqyxB*XMHyu2X=$uNz^$^<0CG(2~NCsV4u zV^gGf-Uqp0_xF%apWJv4auGEf&)H{?i{XEH`zWWpn-ObqkGSLeQxebCu+0alut)Y7 zyX?_Z_00-}@{bGKS(2EfBTAIGSb;&T9g=7+RuqK&Mfs0YG zptJfF2BL#8I?S#l;da$z!CaeE6)5TAt#K=>;W<|cK3hUj5bm1+eYT3cZWkOW-|5aE zY%kL>nh=Z52de89e7p*=f)Jy_ai7Jt890ANb7W{0wTI%Rp~#2`4+iFooX3$$3;k@zad zpZ{`47^CvH_N4K7KPe%wBBrNO)6yz|F9*& z!4A~p+@9kr|Cx%btt#v3!~W8!T1Cv3O2bXpsGNX{J}<9iN(We}g!vJ!9q!8>(NnW5 z!=E3pc0*OC)-iYa!P}NYkci>vw;A4+RDX7Qp4#p6@GUb&Z3Q42#J>RceMb5GzAQUu zpqeu(#)6Dsb-A6D%X$#c<*~NQuY_GSJt)xPcJ5e}$==3DUBYVHsGetI1+q{ag@zRZ zQ=k@#9@~a9k$*0$bG4uYB5O@q$O@g;8_mZ!U^sY(hI5%%Ucy;W#LbhK_a&kgm=|jC z_zc|!{Gs8T7tQOmPU8dU@$I^_O8R91Ix>&Xs8V#Yp7`lo_%;}o`6vcGgSNZSl6w3m z6*=kAvZ+@3CW~-;e~a51+_$ibd2{=y0GMeT?5Hk19s93jk6~=dMnh#-yR31bgmkwb zyR1@X*qSvdyu!HE1iITT?haFnDrz~mB0q*+ieBsMYO#fOnX#h^*)GjNSKzV6u4M~g zF28@h1X{1mpQhEMk96uNu! zSRYQZj@*_^&y+3fO3zFytxclqRt*Z`4Ykd$OmewvN+-6rhVgsJ3!RDlS8=|$a}6k> zURydpiym=|FQ!qkpl=Y34tXH;^SLcZ3$nK39ri3@SLUvDZe84+z6zVTL$}t==+0gt zVMRq}SBtZ1>EHxggvAp$t{BU0v$K5LtR#OvHy&HYqUvZq%@ykl1_RIU3C-QYH`vG< z6(7z03|cEMqjr;jw8iZcH@i~CcwtZGiRi!7;m~wuHp4k|uL?i`Wc1htBAU@~AE~?5 z-x>o!ll9m}eAWz4eI+Q|Is1c5w@AL$jM&HLUNU3^yUd=d(Wq%(~ zVuso!Na&&OpebNcs6G(%@*RyhC#fSCQPhZE@YMUgjL{wWDl1u4e@VtUtst4IqmIj7}JTCz%ZrEn-7pUlW zlhBMdznsPy>Fdx$-HpkD+xuv4 zM+Tfd?-c)PsJ+9OF5v!h19`rTwuNXA)yZ6cloiJ5SH&x}_7t3Ro0u$cfqQKo!uL4Y zAdPFc;jwNtTa1Pe7o^${P+R&-4e%Rxf^q6r7rtB?fH+Qjmra~%k&v-BNz0(h_Ysu- zrh~b{%3Klgki^vgs|Rz1eexS@`#i?G1FS6MJ60YQw9AisF7!FNrXDm z;tAXFD*%p$dbK}q_|XQYhxRkxZHzEIEw5*g-q;i7x+uGzoSi56Vm7?Oe{4MsfImx) zzwP(Hy7UOIbHzy;yDzsrarIud2gYevG(9onM`dH9=FZyiS&IUuL7gZ9*VC})?s2fU z^Q7PYVZBJpx03aA#MeH^wkPA^16Uc1x|gMo`hDkXw)l6Q^7w@&!dcX%8@fm@4g1dU zH9a?e+=wyR({dzFJOieF2?*iUS0p9Zv~Q`NtYXSgOAe<1CfD-nWKzm_LW_>8WZub7 zw~9gE^$Spim)@L8mppP2w)?AXF}#}iml~2xxBKGVJ(x{Awux^TiTv={m;2LEn}0|$ zjSH`>q$7OqI+MVa>t0`n{>o$R^>jnL+2XmfduAL77d`D49q`2QZ>Qdw%Pi6L?%!z` z-#aWj^jUo4j$3E{Z2C}>E;O_0DkT8-T zI)SnJ>DnBbBes0o#DG46W3fAIlh*uYhd+C^>Apws|5U_`7SX4t41 zVS`bY%&+t#nno2S5n?fgmj60hHKfrn$BRmV%cl5;3bquwua>$QgMlpukA=1Thso0c-6{?E)0dWa%TA`s`hD^ z*VK9ziH5a@eCn(E!3|t2SU;;A{MQ&cUYTEIuX zG^-2o`uMlcOl7&GR`3WMFV3{4%F3v6lC>+#A){t#aGETOwkLFxrBFrRbYkwgpkKNy zgPcoAG{qWiQ(SjJEGX&TgQbwF$N@QvPyfuIp0ebrSsd1jQmqN=&2oo*R9vR$$v5@P zLKALmA8gMO{r8U10AF!eV{qHz6P$zl7VDdeNdk7oC8vRLMKKAVEfx!-{lK_#m5i|u zvZ(Djcx??HO1BLaCG45?^xlv?Ot$}wMj|n=e1d3L*P?g=6A1xCbt{O4ADaZ1AkMAE!K%&_5igMi7rm4X0z-shTGpD~wvs(ol*9!Gnfo5TAiAdvUdYX3bg z&+~|&U?Sfj84-S)M=Ovk#UGGwg=aSsd0#yT>SiN-K=--*M zKk7~GRl>N9Mwbr~vw_K7ecl^^%lwvTCw27(s=kl%3x+!AkNDUYqBl{EYdJUOZ45qN z1W~&gBa?A;nH8Cudh3dZ-;DIh9ilwI>ac+|9S-!U{wZP!{tEMAB5B^h6|0 zBFSsL2TA1Zy&o^7Iz1YRRRce85j9_oh^Pha-}>XD>z+nMhBU1W84mzgdH^UAz^Ur5ma$*N{9svU-dqFAeLB73qz&&J}8t8vEj*Q z0nBRaeQYbFQ*Bygmr}joIov{gLS11y3ka_2n{X*{Y;P~coBr)BeEBX6!*GQ|`(J}P zSh^7Cz@~yPUGvQ>K?z3K4<0Xm@9sH~QanyhD86Y&dRQabc^mbceWFONYN+=*=p?J> zM#s=JZ|r2j59sxdoh)&tablpglOR|Uow(RP{xFp%IH>|hn4ZCq~8&o-*^+spCRo|P@Mda)VNiUJk)45#{ zGvmq{A7(y&@n*j?1k7;%HAoBE-C~VRI$-WF7i*d& zR0V*jmWGFfragozJMJajEan7l3+ceOBi&*y*R;1#<-<-jgYX?qBf~I>5X~YqB@}}Q zu029CwT;BSy)Cv8TsEP~zakg|i8(>2YC}4o-WGG5P!)(@OQway=1|-rCDW%lLa6dB z3BYJ#4i<`^kmUX})BLfUkc%CvB5EWJs5x1v3fSR;1;rd7RN2=_Vo()RW5*=CTA<_q!T^Ed zwY{$CTyHEOmVRE_o!ZvWm1&RH_OYgmgsK3*9e8c`XxbwTlY{wh2^2KPhGK9qztdSF z7Hb=X@2`^X!7SEEA3{m^!fU%zhY?2BOBkVfs}3e?kBb4X4G=_LTPXTmUR$|P)#h9P zMhSC^Q004Af(*@Ef9w+GTRO=@H@Czan)m3a!|?MyWOy*w3spYfNp?@w7i$Ht?RK5) zA@Hcq^f^M2n$==FrfK*YiA|hk^2(mzuZ_I6KcumZ1ta!Qmx`+y;!>88lIGF2Lee~{ zu<}9p+L*lui3845o$=AJN@siwDbX1p6Kk@??PrKkWu4uRUAOWp(&-<=ioNL{D|PzE z)S66JCA$Fg$WT)alFTTUsv#sMaeS)NkR)6ggrk7Da1aY@^C6vJ#P188N3ioboi1dA zTZ}B`R&8pr?$S1v;QiXF5`RV;Q2Nzt%gH29rq*A{)8V^X+9^iThgYUW>tx~sq9nEW z6jFS=xAr@hL0Nod!k($18fJ7LF*GjP!p^9;lTpyUpX2a zs!SFcV}MTU0|Zb`8!;3ZRZ~0qh-H9e>Dn?-p4ZiZO`xnYsLF-Y;e~AOf}LqDcfl9A zh`TV=eZJfUfM8@NXEHpK!(A}3-Q~w!5T8S+7qe{3P3U=;iVxxl#XS9LB6q>$bOUSI zOg<|&;c3_hfD>m&F*z8G4`y%|I76*yqm2w#pPb@1)HDGftJ3ep6TJ96Of+n|76k)k z9lK)>9+e*TO-X0g?vaZhJA%sc$Hx|SOt7>>PT2m`7w1THeD;ecw~voZw_FWM=|3@V z!HN|N@+S6A394*+%JM&XIW~c&0})N!fR!zTv5xUAU`&D!1AvV}Hqf33oHrsJp zl|Pe`;mBAL#6;$Cq~$SJ8F@VeQ!SpLUU_BVsI*p%?HU+oaR;T1Ta9+G*|}l%@UG!( zeOm18(uU93knB2Fv!!6>#1Yv&GSZTg(lUBvkC>QOu%)KbX92bxROB0m1PyStl+R4S zxwfCnQ#HSruNV(J#nUr<{SXOvRl%?*09w*r?vnXKV%asOxLT^#b>p(I;!W&rZTBR_1_LK#&(_ad+ z1Xx;tk~FR8!PMJ_GdgxdchhTrHUBxf3p=!!VasHbQqhKOb!g_S9fXuFw|BC*ZP5c} zYz}h$Pj{0)-8AyB*tmD%3kJN{O^r6mJ=13UC5PBlBWo}EGOHQg|K8*;wpel#2QhJa z{BoaSZZw{p*Pd?bF#oB`qTT=E<|*yzrVhEcen}v1vpTe^bV`yB-Q=5`TlSB`$>urF z$=y%fRla6!-qf6&sd;nPl;8E_?voz6$uye>o5ta-5d+MYtB((pZUScU)dkqwvP{o! zkLCr@O{TkXcS&#QCewZHm8}DP=_a$K@q2`teQ}K0(ERJ(_n*7BG=D%8-DEbMzHNMZ zTv(VN-NYKFDo{S)s%44}Nm-+VQNEULGR=AP4~zd$Da^Bi9&8@dw2p3Szl<}w(@pIb zyxM~QcrD#z>$BqnS#e*Bq?_UvKl3|!iI05gCP!A$&Yyz*n6xkg$70@51uTbDH#CB( zvK_U7&SaN46b}JME;HC_G_xvX6}1X5u~bS)7yK^KCpyMp5i{qaGKgHq)V3u66;I;G zYN}N+Xd4_jmY7)t668?kqGRY-O>&eK61i+$L2Yvzjt!ww+FlM;@qg982q{M)wHkbq z%t=(7{1SNwQ^`L`C8UH3$U(}nn##!be7cxhodc=#qEds#QbmIxtg3LBQ6b<5tI`B& ze(R`h>Ojr5nA!>!gXUB!Qyo-Bk{PC|PXwz2D%%KbR+&!TM1CN(^cp7giYyGx-K4f! zdvDi}t)^-u^SbIw5QAFQf$dVZ6U>OxELM)@NNP2?K`?Do2!B}G5g!TP1;j?IO~pSV z1lSj&C|x|uqqh?(QqSet*VYIuzooE;dJ510X9Ze_vD(18?k{@b;A@Ml84GxmBph> z@f}skO>K{2H)ze=&Yc#9qLQ(ut>c*%;yy%mEzdmFjxx=fwuWkrgoFF^+rZl?NkZ=v zoP(E-S{^Lw{G?gcywHiP%#F~ITj-23VBFLadJd$zc6|Goh!7+WY>JJrB+ECDZxUD9 zln_aH43aoNY)ZRD5~tNuYe=EC(MTo|0!j3HfUnq>5~SYw3u<+#)W)9cVwy{lM8BIb zyP3};7d^h?^L8Sfn;2QyOtrBu;^v1hj9GxRxhNmtt}>e0Abje_A={_aj`I~Zw^F%~ zDhC_+zh;T5_uos+GYd()n~LI>)OeLjx<4wN&rvC%;)klutV94G;QOjJP?=A~vy}VG zYT!YQf)8JJyw&<1K2Rc0d3hr1GF2l}a`tP0NwQA}T+#RUt(lZ{h_R zlQTVh)UOpFbkp6`zD%Ju&&~Fvv6AZ#3k4#HmDJo1h6K*}6P~)T!7n(7Jo_ zki_x7Q!|z#i2;8_<)+kX4yS*ICQhwE5^Y;VDW}%r?33{c8zEygl8B9-YD+%X9PuMs z^`>b^V&|ts!G3uNk{DD|&rO}~g(TV*|H_^2ixWwl3bKQGJy;|$cMs3}pbz3_%l(F` zTSChNR~_Q*oEwECM!E1zQXfYniME`ln|YysL1SseRh^(SF3qAd-!bUJ&#+LjDRfto zE0zPt1|W&-x9&oX$CZu_M-s!YFI8D0lBG+$2F-|evOu-2!%2J%Cd)C>loVWMFI2=1 z_C$uocRT8>&EiqslZqvWgV~(AoJQM9NQn=JBH`xoH2QbJ4g77(r!5! zn9U)aJwfb~YEvM`qpLVxD&Xv{68Sp$NerTZ>6S+`8_Z<_UIQ+qnM`AVOwrN!t;JxP zHpfs2+ze~8FJr~FRHo`AKxZZsgE*BEFfQIKhvKW@q*Dn4vCEuJC2&2*Hu*7{d{$7a ziKS*+K>XiuDpukK)p8r~HaS$v!l(=+xUWZRIfYZQ$kGmshj`gZt+*|<-cqYcpq9@8XDE?-vnWS0_ZRvy_N`N>6^BxD%%WBi1Kv&n6=zx}3u9m!`YtRXX18`2)|Bl# zysN)Kh;EW5XzeI>kWIg{XeKOeenm}j99cEzQL#8VD8uDr8lCDPXEB$WJ>dd7Z5DIn z0ZPFux`fRWG=_9MgyC*O({nBuj?XDLQ6_28O|wGAz#bZ-SYRDRu+2QQFW*~Hz^PFjvmc;2PgYtFbBPrg zVNUtTitD#94hH{5doyDIXb6tp!oKB72xGuBUqB3#nz-yOi~$}G?UeZ2T#E&t+ygQlpQo;)-Fa}I>3ql-!g|pvg z3=r>1)Al}RyVDs1tPSx;Hn(#2onm%VM@8ndFfyqN?HB{*Ir%OIOX%Vn#=wJ~Ps1&_srq89F>j*M{wG++gAi-Sd-9RULH6$tQyT#l!*k(j`_lp84T<&*+k zNC6^2-j^8E&UB)-NNVn3)Yjr|YHmdKw@Wl2WmO!Xnl?zj?OtlX#ZmKnhFV=8#=veW z#?($;)dfKW%p{9RQ_kcRDJuW!04dCcBr|7Pj*^+A%3lg|J}J+M>W!A!M3T{4nIt7M zz1e~9pCqjJrmmMH_L9xs>{#h@QTpgDNrG-J<+6M$!=*6)#nlmbF3U$VL<;j2u1=UG zmqix*q%d#M$=B1ky7>WDH|Ikxk)hrED_75ut5wFtvz2I^M2Ewuf7GB#Pii~xOo7jlA!Q=#Ko0PH;oE z9PW;=x8eGB%`!AaL$`^NsLuvb5*bNLY6hYuGJmaGObub{fvH#osyv16ESL=vztq7obgL` zh$p-!b5#Wn79A{}@KNiXDY(76ZE+KJkSZin?3A;&u?b*hlQ?g)xTzZ%(@VrZ-5roP zv6$~bg2f#&VM7_NA4%{=73{#TBn2~NpNZ@F=BHX(d^+}DQx0Zcx}_y0uV}lIJmTFg z&3=9ImX+1k2BL6i?$~?W$|@%g;hB~udvNE$1v|>|e9X2q1@xW2W__`Stli1@J^m@HkY5nCV zQE3@@ACc*fBo+PczKqYWn6u{|)+v>Z#7ECcsFhLlHmUb`SDCfHsBUCBcKeNd=K{IY zSbi=4@|yVQdeUkSsubLF-M%?@p7$i-EAIBme(qP6sl2P4SB{JKw~_z9+B@^Ormk&| zpClv^0?0fF0y58|fD{2muZpO#B7({wMMb6{pnx(22((`9Rj>BhqV4meep*{?wd!s4 zQ+h9LZJo7R2YL&rt*tl|K^a1lb57oGA9j1auYbJv{(T?$e8P7VNJ!S%IcKl6erxT0 zkBQt??~<~!R|ie)Bq(pTe?LIfw5-*uU;avDv@H&mo|toq#W$* z#jd0wjKRF{;8*=*ChDSA{pGBduyqZVEXRbTc!gYXY_8eeqcO6LQPD5>Mt?l}TG zxe+_5O{O6ym1yKV_YYz7HpZl&hZoE=<%qD$FlS#iFa>2ttZeE99Z^|x*6Q0tSj~zO z-q#b|G~x;0^AWI>LG1HhA0GxuG_(>Yp9vyp+uW~-`q?0Ht^8%oN)rFQzp#RprncP{ ztR#)w`YTZ_8x%orJ;Acx8GjzK>jxywT^ZKDrUOkUCt{LKT=bFF6;gPe*fQj`A4kxc z9+Sy-#fiHRw!=cwxCYV;8Ws|}##eoV1Y#gFDzyx)z1pvXwlS2^%cpBTz1eSuJ( zlA$?%PmY-Hu+$+y+0yY8dOTt!vDDOhdfmw%VICWpM)=rGZW(T>tEtS4wwEH%5!51S z9c`(rD9m3H?r|FC2I=uax;{(5@SRCJzea~O`w7z zYSq<|a-vq{8y0#KEJR2O3ai!s1B$Z61`atW(T_We76W z!3!C+3V*q${F0WhtF1>T1y)lYZ8MH}CX$-lxOj)gCd^ov zThSzjGv8PD%96P$sq+^t%2>KAD<`i&RnsJC4QSD}wx}D_jm^z1QmA;-p|6T39ow6V z>cy>57!9;ku1HUr7!v!Z%(eI{4T(c&#Lc4{S1w41^szIMFat24jbGBDRqJauY^;ZP z*0E)vxv`;kLrt|RD<#s^LM}n>s!Kc}G--ZD-m29FMJ1)GvbE(E>nh93%T%Q$#cK*y zugqFBE5>`g7xSy!X2L`dPalK`LjwH0Jl$L!%tdNhCjzg-`u+!ZJ}d~a!7&Lp>IS+m zetD?sB^(dbpgy_P@%~%esxv}yJdBSx?ckkj7tVfu>QLLCH=2<-3XlO_>1;*MRu>E6O*v z?mpE$%5m^$`v(5;!5iCmy|w?qhewb7?bP4T-Fl!8ML=$3XhdsZ)sj8P@m+d0#W=v< zX@BppN!hAb5C2oEH?Z*X2YHS)=pTRiW=(-I6p`nCk=)ufaQ?=9-`sofsPE|r5!MW_ z+QI(E4|{JN-b;R*Y7G${R!B4u8u}X#9$e>NQI9K zr+#G;I+1xQi#D`EH^|k@!|ug8iJ5!K+Kr7+9u`JHq^_SdIi;wn*%vYJ+Qkk~M{%W1 zs2pQk8;hc`%El**t6G3)j6dXwD+95}Bs#^)sSs~ro8@)s&JG9wadnw+{5|j#jRg^i zU%SJ{R828)VO$|CY%H7wkH`ftZdEdzEGH-m8w#TA#U40)K(3e{>rjf-$3CCL`P|woLt7uMVM` zp|@jk0BmQJb!btb!m{_*IN<fZj54Jb5y04bNMfSzuZWRQc zc)Fhs#=!Q-CVz5D`(o}xpO0^38rHFAIVTz{mep|Bshdw!#12>c)R_Q^LE z!0`CB;r_webPpKbsO5+IyLYFBI+?)mKixR9H3^2#^CyN^OL(lmZz1ZgKOPF{{0IsN z5q#%*l%@=7T-f2Gf!H-87TUH-YZEBxS^m>_6Dgwc1}GsNP=}A4)$l*y(?{U^RDsQq z!(iYK!lVkMxD2|RnP!;25FB*>83CR^BRjBbDncrLc(m?R5+c*S5S?Al83&mw)Ns15 zN^BgERAbqWTtq9~joAP9+A;@p{(yRof83FyK)4JiyxZ?6;qpM6*IgH5M$Du)41JyF zDEEY+49~vXl_2v$+@Jk^Z@#BLV*Q3Ehcg2$0%4p{cIe@;Wlm<|V7PjEuJ`=De76Y3 z1dqRYpnQ(YWJb#w?tZW?(aTB{!{}9E=5mzXn0zLjAjrC&+@LC9k4z9$CCA(aRmo9L zq9$S4k0*)3@J~4Qqlto?WUosk988Yg;Yeg8-0%+T$wZMku*p1{2ubc2jtNO_zl`b| zF%I>$1kn^6Ea(z~Ut(CJ_N|HW4EJQc#Z)MK#A@@ze|s6fy`2Av3dR^8NxECii@RJxQ9^LyL@ecl@igT`?7+*F zz$jN=k{Ugh)gRDu`@>lg>i1XEa`aAyFxC;wiO6lYsnVlb}Pe%MlX+f`2)Y z9!RFDrHu?MRS}6rrg4W*k|+5%oD|3wO(kAoY*VWU%H$X>M!NnNmFD#`>7y-nDh-1 zKX8(2^vQ;$V!DJz$QErvBjof4M8UvWwef;pVP+3eDsZNo3`Cv4hg~GX1kR+ikH`=> z>rFaAdf@konD~tgx`^69R!J=N`)f&1)OPeJ&_V{=5y+a ze1IF5P$l?@lHfuz7diJV4VizO?gB{)rn353S+>aDVm>&P)?t&uY% zhZlPj9z!1}yn6YJ*Kd$s@vK|H(WgYvVvq!8x7{G36oYH#jw=SDFVV{*b6@}Lft+{{ z4l^ruf7YcVM?pLhub!Tc5Qip7B)yey!s4PvtTxs~K$57HSU3g5&0SVh7tk`;kh5^E zQkkBanTJ9&wd6l>%uqt7n&l;q!D^r+HAo?W{=rb2H_P8t&IIGyUzs~Q#Ks(phtbCJ z{KeBloDm7OYw6ciR}>W$=H+Fjr6$LP`#CF|AqHhNOMOfNkO9ZWM}i8p+DcG?YH)Hy zv^ztHd3y;7@Ft0n0ADAhzJ>2RxeI^g1^JB`m>x)u-2xTaKuUuxAq*z2F^eh?zOS-` zCu`~!`*I1+7DDz=C$slYShx}`&{)mlNn$xOBr=6N5)z%fFh^Av*rIK$D5pFnV;cTcI>e|Z!ujURKz z!T2)gFlE`cBbQNTJ2?31?yYTY?;bkTe&y~UjE^aYtL%+UGfiTUD!=yEG|uOdjX#`& z1pr=0Zvu>u z(~<)9o= z{;(Otng=4{@(O9P`XT3C32rc7oajD-=!=*MLOU;t0}}-ldSG$Ji9$*}g%%KzW!^Yf zauze76u{ZXWib-}R>(I;B4LHo(*$LG2!e5(#Z*-|%BhIFq&WiJ;iU{~9-H4B)uPQr zj!ER2yhby*MOPEVFrkY#K=%Y=iBTENmwTeCFtM#nO3J58T+me*>Zn+3ycB`Em1bs8 zPoenBoNRix*3S}W4sOFsXdn{^6C}gMfdC7dDqA=sTth0P07ypH&qfN+6S=Rca%cD= zTuHdZg~0(rN}jkMTqE;h`u^MU69rA{!^zodq5Rh(HM@?>NHSHlc7 zQ_G_j;mBUGrL#RHQHT<=b;~A?k7W$inQ;?DYEdoGmKwH0bIN;mBIkJ_2D4(yL%0kN za>)c)f`)e-x6c-qm8eOo^aMi6yj?p+=ci*TL|}Un?w{#of@BTDKj~QwpNTi!j^T}L zk_L)Gz@EF5hPlFt*P~Mc#~q)Eqvr4_hEKP9U{<6*hWhkOzBz^yj>E5i(iVnEk&e0< zcKFaD8OH9Xu*8SX#R3yVsv1O==RgKx2K<~K>~W3YUH3VX8hDGQVJA`|FDrdCf%I+= zE$wl|MTJkf>_!5AqJtEx33*x>7$7!7i7z zewZL|qK>D_FhQ^iKdrLE1Q7-ff^X%Ia!7Y0w?6is)?8&zZ_CUiOB@{ z?M&j)VnikciMzROn3R0B7#d@!SftPxWBx;0j5Om~b0~|EK*W(E7b0sYi;})D4-}NDq=k6I8s2tFP92e%v4bbNd-5@k%9@n z!C$D8sBwW4LBt|LnZy#jaydSAiEy2fn%&?<>Ld6flw%_itCV01aK!FHUxJg(ud;&M z01?PkH0n~1Q^Sfz72Xw+PIyqf(ZYLy`YUgV?{*x{82OEQnX!+cSV$u zM03v%!6`-Zu6MHF8eMl6l=cS&fjwuaChv+!42Z&>zvPa0W#rprWMgxFU@6`eQfKaX zR}d87UB#1kB^)!7Zh8J@0vGN7(@iwMsGqyxY<-krm~*(1uTI=n3L}Oo1|#V>8boJY z@+IxYV}{1Yj3PNNzqp{HY`sc&lni&nSd0<3No1VVi0^2%h#R?Igd1W2!WdvYpBuYA zH%1Nh?|r3nr|F0i@H-SXBPwb%{W7syzJ(LG2Pf&IU6u$lb9QaSZ^l`rQalZ6%zVvavV~-R2 zUL1QKUvikp2QiZY2Zl`?}epR$aymhv^qos@ei4^y6` zJWcs6Wfx^H?4Z0z*-3ei zvY*m0#y~lxEu}kU5M?ao3`!;Ca>@eAN=h~57Rom%4^SSZY^OX+d7bhO}QX0n?te|wH^r8%- zjHjGUnMRpQSxi|?siE9Pxrg!~ly@i}Q)KnNL|p zSxfmEbomvWHOIL0sqr6Z*mWf)~Vmdn{lrSPj! literal 0 HcmV?d00001 diff --git a/assets/navidrome.png b/assets/navidrome.png new file mode 100644 index 0000000000000000000000000000000000000000..9055d79e2f07132c2bb4d872b5e38b8b35bc67c2 GIT binary patch literal 24583 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 Z{{aMHqk#&VkFfv%002ovPDHLkV1kR>gp~jQ literal 0 HcmV?d00001 diff --git a/assets/navidrome.svg b/assets/navidrome.svg new file mode 100644 index 0000000..1ec9541 --- /dev/null +++ b/assets/navidrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..1c81cda --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,13 @@ +# This file was generated by the Gradle 'init' task. +# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format + +[versions] +guava = "32.1.2-jre" +junit-jupiter-engine = "5.10.0" + +[libraries] +guava = { module = "com.google.guava:guava", version.ref = "guava" } +junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit-jupiter-engine" } + +[plugins] +jvm = { id = "org.jetbrains.kotlin.jvm", version = "1.9.20" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d64cd4917707c1f8861d8cb53dd15194d4248596 GIT binary patch literal 43462 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..1af9e09 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..1aa94a4 --- /dev/null +++ b/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..571bc3b --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,14 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * For more detailed information on multi-project builds, please refer to https://docs.gradle.org/8.5/userguide/building_swift_projects.html in the Gradle documentation. + */ + +plugins { + // Apply the foojay-resolver plugin to allow automatic download of JDKs + id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0" +} + +rootProject.name = "github-release-bot" +include("app")