feat(container): update image ghcr.io/slskd/slskd ( 0.24.5 → 0.26.0 )#1733
Open
chaplain-grimaldus[bot] wants to merge 1 commit into
Open
feat(container): update image ghcr.io/slskd/slskd ( 0.24.5 → 0.26.0 )#1733chaplain-grimaldus[bot] wants to merge 1 commit into
chaplain-grimaldus[bot] wants to merge 1 commit into
Conversation
chaplain-grimaldus
Bot
force-pushed
the
renovate/ghcr.io-slskd-slskd-0.x
branch
from
April 20, 2026 03:00
2633254 to
696d5f7
Compare
chaplain-grimaldus
Bot
force-pushed
the
renovate/ghcr.io-slskd-slskd-0.x
branch
from
July 19, 2026 17:49
696d5f7 to
055f69e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.24.5→0.26.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
slskd/slskd (ghcr.io/slskd/slskd)
v0.26.0Compare Source
🎉 Another Big Release!
This release contains improvements to the user interface, failed download retries, and gives users the ability to control where completed downloads go on disk.
There's also one breaking change in the configuration for file permissions.
Dashboard Screen and Footer
The default landing page is now a dashboard that displays various statistics:
Users can select the time range and can click the legend under the chart to show or hide common data series. The Users tab shows users with the highest transfer count, size or speed, depending on how sorting is applied, and the Content tab shows the most commonly downloaded directories. The Errors tab displays detailed error information.
Also shown in the screenshot above is a new footer that appears on every screen and that displays real-time upload and download speeds, number of active transfers, and the size of each queue.
Browse Screen Improvements
The Browse screen has been redesigned to improve the functionality and performance:
The directory tree now uses virtualization to improve the performance, enabling larger shares to be displayed and interacted with than before. Directories can now be expanded and collapsed by clicking the folder icon to the left of directory names, and the number of files and subdirectories contained in each directory are now shown. The directory tree can now also be resized vertically by clicking and dragging the three-dot button at the bottom.
The filter above the directory tree can be used to show matching directories (regardless of how deeply nested). The buttons to the right can be used to expand or contract all directories, and the rightmost button expands the tree to reveal the currently selected directory and scrolls it into view.
The file selector now shows subdirectories in addition to files, and subdirectories can be expanded one level to show the files within. Subdirectories can be selected to include all of the files (regardless of subdirectory depth) in the file selection, effectively allowing recursive downloading of directories. Clicking the arrow icon to the far right of the directory name navigates the directory tree to that directory, allowing further review of the contents.
As the screenshot shows, this has been tested and is working well with 1,000,000 files and 100,000 directories. I'm not sure what the practical limit is, but the issues described in issue #317 are still mostly accurate; there are still users which can't be browsed, but limitations exist for all Soulseek clients at various levels.
Failed Download Retries
Failed downloads can be retried automatically up to the configured number of attempts. If an attempt fails initially, the application delays the second attempt by the configured delay, and an exponential backoff is used to compute the delay for all subsequent events, up to the configured maximum delay.
By default, partial downloads are resumed based on the size of the incomplete file. Users can choose to always overwrite files if they wish.
YAML
Completed Download Location
Users can now specify an expression that slskd will evaluate to determine the destination directory:
The new
subdirectoryoption allows users to specify an expression containing special, fixed values that are replaced at run-time when slskd determines where to place a newly downloaded file.The syntax is simply:
For example:
Will expand to the following for a download of
@@​abcde/foo/bar/baz/qux.extfrom userBob:The value for
tokenis some value related to the transfer, including:SOURCE_USERNAME: The username of the user the file was downloaded fromSOURCE_PATH: The complete path to the directory on the source user's systemSOURCE_DIRECTORY: The directory on the source user's system that contains the file; the immediate parent directoryBATCH_ID: The ID pf the associated batch, if the file is part of a batchBATCH_EXTERNAL_ID: The external ID included in the associated batches options when createdSEARCH_ID: The ID of the search associated with the batch, if one was supplied when the batch was createdSEARCH_TEXT: The text/query of the searchThis option defaults to
${SOURCE_DIRECTORY}, which matches the current behavior. Users that choose not to set this option shouldn't notice any change.The new
existsoption allows users to choose what slskd does when it downloads a file that already exists on disk, eitheroverwritewhich overwrites the old file with the new one, orrename, which appends a number to the end of the new file. The current behavior isrename.Breaking Change
Users who have previously set the
permissions.file.modeconfiguration property, were using the--file-permission-modecommand line argument, or had set theSLSKD_FILE_PERMISSION_MODEenvironment variable will find that this option has been moved, and slskd should refuse to start informing them of this.To fix this, update the YAML configuration file to set the new
transfers.download.destination.permissions.modekey as shown below.Old:
New:
What's Changed
New Contributors
Full Changelog: slskd/slskd@0.25.1...0.26.0
v0.25.1Compare Source
What's Changed
Full Changelog: slskd/slskd@0.25.0...0.25.1
v0.25.0Compare Source
🎉 Big Release!
This release contains a number of mostly unrelated changes.
Licensing
I have added 'Additional Terms' to the AGPLv3 that clarify the conditions under which folks can distribute and modify slskd, which Section 7 of the AGPLv3 allows. These terms include preservation of notices and licenses (already required by the AGPLv3, the terms spell the requirements out explicitly), mandatory identification of modifications (again, already required), mandatory rebranding (renaming forks to something that won't be confused with slskd), and the mandatory modification of the client version supplied to the server at login.
The full text of these Additional Terms can be found at the bottom of the LICENSE in the root of the repository. I've also added a NOTICE in the hopes that folks will be drawn to it and see that the LICENSE includes Additional Terms, and I've added a FORKING.md that explains the new terms in plain English.
To explain why I've done this, I'll share an excerpt from FORKING.md:
With AI becoming mainstream it is now incredibly easy to fork a project and manipulate it in ways that are harmful to users and/or the server(s) the software connects to. This behavior, unfortunately, is permissible under the AGPLv3. All I can do is ensure that users aren't deceived into using these untrusted and potentially harmful forks.
Docker User/Permissions
The slskd Docker container now supports both Docker's built in
--user/user:and the Linuxserver/*arr stylePUID/PGIDmethods for running the container as a specific user. The built-in method is objectively superior, but I noticed that people frequently got hung up on permissions because they were usingPUID/PGIDwithout understanding that it wasn't supported.These methods are mutually exclusive; users must choose one or the other. Users should also be aware that when using the
PUID/PGIDmethod, the container willchownthe mounted/appdirectory on startup. This may be unexpected, but it is the intended behavior. Thechownisn't recursive; users will need to do that themselves if needed.Examples in the README and Docker docs have been updated to reflect these changes. I welcome any feedback about the approach in the Dockerfile or contents of the docs.
Configuration May Be Broken
Users who have configured things under the
global,groups, orintegrationkeys in the configuration file will find that the app will log an error and exit early until they apply the necessary changes. This is unfortunate, but the alternative was to not do that and allow people to continue using the app without their configuration being respected.Pull request #1704 outlines the changes and provides an example of what needs to be done by correcting the configuration docs. tl;dr:
globalkey totransfersintegrationkey tointegrationsThese changes were made to make room for upcoming features (stay tuned!). The rename of the integration key was admittedly not necessary for that, but I figured I would sneak it in.
What's Changed
New Contributors
Full Changelog: slskd/slskd@0.24.5...0.25.0
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate.