* chore: release v6.0.0 * docs: document the 6.0.0 breaking changes cargo-semver-checks flagged four major-breaking changes in soulseek-rs-lib, none of which carried a `!` or BREAKING CHANGE footer, so the generated changelog had no migration note for a major bump. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Michel de Graaf <michel@re-invention.nl>
1.9 KiB
1.9 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
6.0.0 - 2026-07-24
Breaking changes
Library only. If you install the soulseek-rs binary there is nothing to do —
these affect crates depending on soulseek-rs-lib 5.x. Sharing moved from a
single optional directory to a list, which changed three public items.
ClientSettings::shared_directory: Option<String>is nowshared_directories: Vec<String>.Nonebecomesvec![],Some(dir)becomesvec![dir].Client::shared_directory() -> Option<&str>is replaced byClient::shared_directories() -> Vec<String>. The newClient::set_shared_directories(Vec<String>)updates the set at runtime.peer::upload_peer::serve_filetakes two more parameters,bytes_sent: &AtomicU64andcancel: &AtomicBool, which drive upload progress and cancellation. Pass freshly constructed values to keep the old behaviour.
Added
- settings popup and uploads in the transfers pane
- update shared directories at runtime
- multiple shared directories
- conventional default download and share folders
- set aside unusable state files as .bak instead of overwriting
- persist and restore TUI state across restarts
- versioned JSON state stores for downloads, searches, rooms
- in-TUI login/registration screen
- password resolution via OS keychain and password_cmd
- config.toml settings layer (CLI > env > file > defaults)
- track uploads with progress and cancellation
Fixed
- drop libdbus dependency from keyring Linux backend
- clippy cleanups in upload tracking and share plumbing
Other
- persistence e2e and registration-relogin e2e; lint clean