This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryAdds an in‑app Discord‑like Chat page for SoulSync community and private messages.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds Chat page in System section for SoulSync community and private messages. Adds Chat page in System section for SoulSync community and private messages. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Enables resolving SoundCloud links anywhere in the main search bar, including unlisted/private shares. Enables resolving SoundCloud links anywhere in the main search bar, including unlisted/private shares. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Low |
Provides Discord-like chat features: avatars, message grouping, day separators, unread badges, jump-to-newest pill, @mentions with autocomplete, hover reply, emoji reactions, GIF search/send (GIPHY). Provides Discord-like chat features: avatars, message grouping, day separators, unread badges, jump-to-newest pill, @mentions with autocomplete, hover reply, emoji reactions, GIF search/send (GIPHY). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Enables rich formatted messages in the community room: bold, italic, code blocks, spoilers, headings, lists, emoji, image embeds, YouTube embeds, SoulSync deep links. Enables rich formatted messages in the community room: bold, italic, code blocks, spoilers, headings, lists, emoji, image embeds, YouTube embeds, SoulSync deep links. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Makes sending in the community room admin‑only by default with configurable settings (room name, GIPHY key, member send toggle, auto‑join, auto‑answer challenges). Makes sending in the community room admin‑only by default with configurable settings (room name, GIPHY key, member send toggle, auto‑join, auto‑answer challenges). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Persists chat history across slskd restarts via local archive with scroll‑back capability. Persists chat history across slskd restarts via local archive with scroll‑back capability. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Automatically answers anti‑leech bot challenges to keep download queues unblocked. Automatically answers anti‑leech bot challenges to keep download queues unblocked. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Improves artist photo picker to fetch candidates from Deezer, Spotify (auth or free), iTunes, AudioDB, Discogs and accept pasted image URLs. Improves artist photo picker to fetch candidates from Deezer, Spotify (auth or free), iTunes, AudioDB, Discogs and accept pasted image URLs. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes artist photo picker to pull candidates from multiple sources and handle transient failures. Fixes artist photo picker to pull candidates from multiple sources and handle transient failures. Source: llm_adapter@2026-07-19 Confidence: low |
— |
| Bugfix | Medium |
Fixes re‑releases not showing as owned on the library page. Fixes re‑releases not showing as owned on the library page. Source: llm_adapter@2026-07-19 Confidence: low |
— |
| Bugfix | Medium |
Fixes deep scan from removing artists after switching to an empty Navidrome library. Fixes deep scan from removing artists after switching to an empty Navidrome library. Source: llm_adapter@2026-07-19 Confidence: low |
— |
| Bugfix | Low |
Prevents transient source failures from caching "no photos found" for 15 minutes in the artist photo picker. Prevents transient source failures from caching "no photos found" for 15 minutes in the artist photo picker. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Bugfix | Low |
Restores re‑release ownership display on the library page by ensuring year check reaches the matcher. Restores re‑release ownership display on the library page by ensuring year check reaches the matcher. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
Full changelog
soulsync 3.1.2 — dev → main
the big one this round is chat. plus the artist photo picker finally works, soundcloud links resolve anywhere you paste them, and two long-standing reported bugs are dead.
chat — the SoulSync community, right in the app
there's a new Chat page in the System section (on both the music and video sides). it's the community "SoulSync" room plus private messages, all proxied through slskd — so it rides your existing soulseek connection, no new setup beyond having slskd configured.
it's built to feel like discord:
- avatars, message grouping, day separators, unread nav badges, a jump-to-newest pill, and a red "new" divider where you left off
- @mentions with autocomplete + a gold ping when someone @s you anywhere in the app, hover-to-reply with quoted context, emoji reactions, and GIF search/send (giphy)
- click any username on a download or search row to DM them
rich messages only SoulSync can read. messages in the community room carry formatting — bold, italic, code blocks, spoilers, headings, lists, emoji, click-to-load image + pop-in youtube embeds, and SoulSync deep links that open an artist/movie/show right inside the reader's own install. other soulseek clients (soulseekqt, nicotine+) just see garbled text, so the room stays ours. it's a format, not encryption — no secrets, just a private-feeling space.
- sending is admin-only by default. everything speaks as your one shared soulseek account, so there's a settings cog for the room name, GIPHY key, and toggles (let members send / auto-join the room / auto-answer challenges)
- history survives restarts — the room keeps a local archive so an slskd restart doesn't wipe the conversation, with scroll-back
- auto-answers anti-leech bots — those "type human in this chat to download" bots that block your queue get answered automatically so overnight grabs don't sit stuck
artist photo picker actually works now
the "change artist photo" modal was often empty. it now pulls candidates from Deezer, Spotify (authenticated OR the free route), iTunes, AudioDB and Discogs, shows your current photo for comparison, and lets you paste any image URL. and a single transient source hiccup no longer caches "no photos found" for 15 minutes.
soundcloud links resolve anywhere you paste them
paste a soundcloud link — including unlisted/private share links — straight into the main search bar and soulsync fetches it. this was the #865 follow-up: the fix existed but only in the manual-search modal, so people pasting elsewhere got a generic error. the Link/ID box now points you to the right spot too.
two stubborn reported bugs, root-caused from logs (thanks 5BILLION)
- deep scan removes artists after switching to an empty Navidrome library. navidrome answers an empty library with a hard API error ("Library not found or empty") instead of an empty list, which fooled the old "is it really empty" check into aborting. it now trusts that as empty only when the selected folder provably exists — a misconfig still can't wipe your library.
- re-releases stop showing as owned on the library page. the year check that stops "own the original → every remaster lights up" was never reaching the matcher on the library page (a card field got dropped before the check). fixed + pinned.
also
- schema is unchanged on the music side; upgrading is just a pull. chat needs slskd configured; GIF search needs a free GIPHY key (settings cog).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]