Releases: lullabyX/sone
Releases · lullabyX/sone
v0.18.0
🔌 MCP server
SONE now ships an embedded Model Context Protocol server (streamable-HTTP, port 5577) so external agents like Claude Code can drive your library and playback.
- Search, favorites, playlists (full CRUD), now-playing, queue, lyrics
- Playback control: play / pause / next / seek / volume / shuffle / queue
- Settings tab with live enable toggle and token regeneration
- Off by default; stateless transport survives SONE restarts
🔬 Signal Path transparency
A new panel that shows exactly what your audio is going through, end to end. Open it by clicking the format/quality badge next to the now-playing track.
- Probes the live GStreamer pipeline including autoaudiosink children
- Maps
pactlsink → ALSA card and surfaces OS mixer as a cable alteration - PRISTINE verdict based on audio-bit integrity, not just bit-perfect mode
- Expand-to-flow-diagram view with friendly DAC names
What SONE reads from your system to build this view:
- GStreamer pad caps on the live playback pipeline
pactl infooutput (default sink name, volume, mute)/proc/asound/*/pcm*/sub*/hw_paramsfor the active ALSA card- Nothing is sent off-device.
💬 Themed tooltips
Native browser tooltips are gone — replaced with a themed TooltipLayer that matches the rest of the UI.
🐛 Bug fixes
- Bit-perfect mode now forces unity volume and disables normalization
- Truthful bit-depth promotion toast
- Skip metadata-unavailable tracks instead of stalling
- Custom title bar restored on login and auth-check screens
Build & packaging
- Migrated package manager from
npmtopnpm(Node 22+ required) — moving away from npm in light of recent supply-chain incidents in the npm ecosystem; pnpm's stricter dependency resolution, content-addressed store, and lockfile integrity give us a safer install pipeline - Tauri JS ↔ Rust pinned to 2.11.x
- Arch PKGBUILD:
libpulse/pulseaudio-utilsadded forpactl
v0.17.0
Logging
- Optional disk logging to ~/.config/sone/logs/ with daily rotation, toggled from Settings → Utilities
- Defaults to on; pre-Tauri probe ensures early-startup logs are captured
Performance
- Virtualized the loved tracks list and main playlist track list for smooth scrolling on large libraries
Loved Tracks
- Play and Shuffle buttons added to the loved tracks page
Settings
- Redesigned with a vertical tab rail, one section per tab
- Taller modal and tab state resets on reopen
MPRIS
- Publishes live playback position so external media widgets show progress
Fixes
- Reduced WebKitGTK font blur on scroll/resize via text-rendering: geometricPrecision (#104)
- Active search tab is preserved across back/forward navigation
- Mini search stays open during context menu interactions and when starting playback
v0.16.0
Keyboard Shortcuts
- Customize in-app keyboard shortcuts from settings page
MPRIS
- Full coverage of Root and Player interfaces for desktop integration
About
- New About modal with version and project info, accessible from the user menu
Playback
- Unavailable tracks are automatically skipped and shown greyed out in track lists
- Guard against rapid re-entry when starting a track
Fixes
- Context menu positioning corrected at non-default zoom levels
- Home page refreshes when the window regains focus after 5 minutes
- Search track row navigates to the album; tap the cover to play
- Visible text selection highlight across themes
- WebKit permission prompts denied in the PKCE login window
- Tightened miniplayer shadow margin for a uniform appearance
- "My Tracks" tile in Recently played routes to Loved Tracks instead of failing playback
v0.15.0
Sign-In
- New PKCE login flow with an embedded webview. The device code method is no longer returning
LOSSLESSformat. Please logout and sign back with PKCE
Audio
- Logarithmic volume control with a cubic taper for smoother, more natural changes across the slider's range
- Keyboard volume shortcuts now respect bit-perfect mode
- Persisted volume is read on launch so the backend syncs to the correct level
Discord Rich Presence
- Customizable status text — set your own line shown on Discord
Title Bar
- Custom title bar with a setting to hide native window decorations
Fixes
- 404 page and global error boundary handle missing routes and unexpected errors gracefully
- Disabled WebKitGTK DMA-BUF renderer on NVIDIA under Wayland to fix rendering glitches
- Clamped volume slider input to prevent out-of-range values
v0.14.1
Track Sorting
- Sort tracks in playlists and favorites by date added, name, or artist
- Sortable column headers with loading skeleton
- Sort preferences persist per playlist
Queue
- Append to queue for incremental queue growth
Fixes
- Source-aware play/pause/resume button on playlist, album, and mix pages
- Non-blocking play handlers prevent UI freezes on large playlists
- Batch persister with queueMicrotask to avoid redundant writes
- Prevented double-fetch on playlist navigation
- Fixed long history performance
- Extracted SourcePlayButton to prevent full-page re-renders
v0.13.0
Explicit Content
- Filter explicit content with a new toggle in settings
- Explicit badge on track titles
Fullscreen Player
- Prevent sleep and display off while the fullscreen player is active
Fixes
- Adjusted text sizes and spacing and other UI elements for miniplayer
- Share button copies link to clipboard in miniplayer
- Fixed "Playing From" not updating when queuing individual tracks
- Fixed toast z-index in fullscreen player
v0.12.0
What's New
Miniplayer
- Compact floating window with album art, playback controls
- Vibrant color background that adapts to your album art
- Resizable and has multiple adaptive layout
Discord Rich Presence
- Show what you're listening to on Discord with album art, track info, and a direct TIDAL share link
Playlist Management
- Organize playlists into folders with create, rename, move, and delete support
- Edit playlist name, description, and toggle public/private visibility
- Sorting for playlist. Both in sidebar and view-all page
- Recommended tracks at the bottom of playlists
Playback
- "Playing from" label in the player bar shows your current listening source
- Open
tidal://links directly in SONE with deep link support - Share track, playlist, album, artist and mixes link from the context menu
Audio
- Bit-depth promotion (mathematically lossless) in bit-perfect mode.
- Ctrl+E and Ctrl+B shortcuts to toggle exclusive and bit-perfect mode
System
- MPRIS shuffle, repeat, and absolute seek support
- Settings moved to a dedicated modal
Bug Fixes
- Fixed UI freezes on rapid track changes
- Fixed stale playback position on track change
- Fixed playlist cache not updating after mutations
- Fixed MPRIS status stuck on "Stopped" after track change
- Fixed window decorations not restoring correctly from tray on KDE
v0.11.0
Light Theme
- Full light theme support — every page, component, menu, and overlay adapts to your chosen theme
- Frosted glass effect for the maximized player in light mode
Layout
- Wider page container and responsive grid that adapts from 1 to 6 columns
- Adaptive and zoom-aware card scroll sections with scroll-snap and container queries
System
- Replaced libappindicator tray with ksni for broader desktop compatibility
- Single-instance support — launching SONE again focuses the existing window
v0.10.1
What's New
Library
- Sort favorites — albums, artists, and mixes by date added, name, or artist
- Optimistic sidebar updates — album favorites, artist follows, and mix favorites reflect instantly
Playback & UI
- Track context menu on the player bar
- All track artists and version suffixes displayed across the entire UI
- Consolidated mix and track radio into a single page
Lyrics
- Smoother scrolling with frame-accurate position interpolation
Fixes
- Fixed context menu positioning across the app at non-default zoom levels
- Fixed Wayland window controls becoming unresponsive after restoring from tray
v0.9.0
What's New
- Full-screen maximized player — album art with crossfade transitions, blurred background, and auto-hiding controls
- Karaoke-style synced lyrics — two-column layout in the maximized player with responsive font sizing
- Instant track transitions — progressive album art loading and eager UI updates
- Performance — GPU compositing and optimized state management eliminate interaction lag in the maximized view