What's New in v1.49.0
- Feature: Stream verification is back. Now with offline verification
StreamingQueue- @nukeop - Fix: Fix lag when switching themes.
Themes- @nukeop - Fix: Prevents flash of unstyled/unthemed content on startup.
UI- @nukeop - Fix: Stops log spam if Discord Rich Presence is unavailable. Reconnects correctly if it becomes available after Nuclear is launched.
Integrations- @nukeop - Improvement: Loading spinners are replaced with skeletons.
UI- @nukeop - Feature: Theming system v2: themes can now use gradients on surfaces, and a whole new group of variables to make Nuclear more customizable. See the docs and release notes for details.
UIThemes- @nukeop - Fix: Fixed pressing Enter in the search box searching for a hovered recent search instead of the typed text.
UI- @nukeop - Feature: Clickable artist/track title in the player bar
UI- @nukeop - Fix: Fixed various Appimage issues caused by Wayland.
Linux- @nukeop - Fix: Fixed playback stopping after double clicking a track in the queue.
Queue- @nukeop - Fix: Fixed duplicate entries appearing in the listening history.
Playback- @nukeop - Fix: Fixed the previous track briefly playing when starting a new track before its stream is ready.
Playback- @nukeop - Improvement: Nuclear starts maximized by default
UI- @nukeop - Feature: Nuclear Jam remote control now supports searching for music, adding tracks to the queue, and removing tracks from the queue.
Integrations- @nukeop - Feature: Playlists can now be sorted.
Playlists- @nukeop - Feature: Playlists can now be filtered.
Playlists- @nukeop - Feature: History stats tab shows a selection of charts showcasing your listening habits.
History- @nukeop - Fix: Fix bluetooth issues on Linux.
Playback- @nukeop - Fix: Tracks that failed to resolve their streams now retry with a fresh search when you come back to them. When no streaming provider is installed, the error message now prompts you to install one.
Playback- @nukeop - Fix: Fix streaming getting permanently stuck at 10s intervals.
Playback- @nukeop - Feature: Listening history: Nuclear now keeps a history of the tracks you play. Can be disabled in the preferences.
History- @nukeop - Fix: Fix playback stalling at 10-second fMP4 segment boundaries (0:09, 0:19, 0:29...) when streaming via yt-dlp, caused by sub-frame gaps between appended segments
Playback- @nukeop - Fix: Theme loading performance improvements
Themes- @nukeop - Improvement: Recent searches appear under the search box, with keyboard navigation and one-click history clearing
UI- @nukeop - Improvement: Search box with clear button, search icon, Escape to clear, and URL sync
UI- @nukeop - Fix: Fix audio going silent after about a second over Bluetooth on Linux
Playback- @nukeop - Fix: Fix yt-dlp playback stalling at segment boundaries (e.g. 0:09, 0:29) when buffered audio drifted past the next segment's start time
Playback- @nukeop - Fix: Fix marketplace themes resetting to default on restart
Themes- @nukeop - Feature: Custom title bar for frameless window mode. Enable in Settings -> Appearance
UI- @nukeop - Fix: Fix HLS playback failing on Windows with Chromium 147+
Playback- @nukeop - Fix: We're temporarily switching to nightly yt-dlp due to a regression. This will fix playlist imports.
Playlists- @nukeop - Feature: Navigate to playlists directly from artist pages that have them
Artists- @nukeop - Fix: Fix the queue getting stuck at the end of some tracks, where playback parked a fraction of a second before the end and never advanced to the next track
Playback- @nukeop - Feature: Right-click a queue item to see its stream candidates and switch to a different source; picking a failed source retries it
Queue- @nukeop - Fix: Fix TSX plugins failing with 'React is not defined' unless they imported React manually, and fix stale plugin code being served when an imported file changed but the entry file didn't
Plugins- @nukeop - Feature: The window now remembers its size, position, and maximized state between restarts
UI- @nukeop - Feature: Nuclear Jam lets you control playback from any device on your local network. Enable it in Settings -> Integrations, then scan the QR code with your phone.
Integrations- @nukeop - Fix: Fix HLS tracks getting stuck at 0:00 when the queue advances
Streaming- @nukeop - Fix: Fix tracks failing to play in saved playlists and in queues restored after restart by re-resolving stream URLs when they expire
Streaming- @nukeop - Feature: MPD server lets you control Nuclear from MPD clients like mpc and ncmpcpp
Integrations- @nukeop - Feature: Installed plugins are automatically updated to the latest version on startup
Plugins- @nukeop - Fix: Fix legacy playlist import failing when track durations use mm:ss or hh:mm:ss format
Playlists- @nukeop - Fix: Fix source selection being reset to the first available provider on startup
Plugins- @nukeop - Fix: Show an empty state in Sources when no providers of a given kind are installed
UI- @nukeop - Feature: Streaming providers can now access full track metadata when resolving streams
Plugins- @nukeop - Fix: Fix paired streaming provider not activating when registered after the metadata provider
Plugins- @nukeop - Feature: Frameless window toggle in settings
UI- @nukeop - Feature: Back and forward navigation buttons in the top bar
UI- @nukeop - Feature: Theme store for browsing and installing community themes
Themes- @nukeop - Feature: Discord rich presence integration
Integrations- @nukeop - Feature: Plugins can provide music discovery recommendations based on the current queue
PluginsPlayback- @nukeop - Improvement: Introduce dark mode as persistent preference
Settings- @nukeop - Fix: Fix issues with tables being way too wide with longer track titles
UI- @nukeop - Improvement: Nuclear is now built from source for Flatpak, with new app icons
Linux- @nukeop - Fix: Fixed album tracks being added to the queue without thumbnails
Queue- @nukeop - Improvement: Dashboard, search, and plugins views now prompt to install plugins when none are active
Plugins- @nukeop - Improvement: AUR packages are now automatically updated when a new release is published
Linux- @nukeop - Fix: Fixed a console window briefly appearing on Windows each time yt-dlp was invoked
Windows- @nukeop - Fix: Queue items are now correctly restored when restarting Nuclear.
Playback- @nukeop - Feature: New Sources view lets you switch the active metadata and streaming providers from the sidebar
Sources- @nukeop - Improvement: yt-dlp is now downloaded and updated automatically at runtime, fixing Flatpak and AppImage compatibility
Playback- @nukeop - Feature: Border width is now themable - advanced themes can set border-width to control all borders in the app
Themes- @nukeop - Improvement: Improved dark mode for all basic themes with better backgrounds, toned-down primaries, and themed borders
Themes- @nukeop - Feature: Update badge shows download progress and lets you click to update or restart
Updates- @nukeop - Feature: Social links in settings sidebar (Discord, GitHub, Mastodon, Website)
Settings- @nukeop - Fix: Fixed repeat, shuffle, and volume for MSE streams
Playback- @nukeop - Feature: Plugins can import YouTube playlists by URL via yt-dlp
PlaylistsPluginsYouTube- @nukeop - Fix: YouTube tracks now play using MSE-based streaming, fixing incorrect duration display and enabling proper seeking
PlaybackStreaming- @nukeop - Feature: Customizable keyboard shortcuts with settings UI for rebinding
SettingsPlayback- @nukeop - Feature: Plugin event bus with trackFinished and trackStarted events
Plugins- @nukeop - Feature: Custom settings widgets for plugins (render React components in settings UI)
Plugins- @nukeop - Feature: Shell API for plugins to open URLs in the system browser
Plugins- @nukeop - Feature: Plugins can use Nuclear UI components (Button, Toggle, etc.)
Plugins- @nukeop - Fix: Fixed plugin settings using wrong storage key (core prefix instead of plugin prefix)
Settings- @nukeop - Fix: Fixed old audio stream continuing to play when switching tracks or clearing the queue
Playback- @nukeop - Feature: In-app changelog in settings (What's New tab)
Settings- @nukeop - Improvement: Release pipeline auto-generates GitHub release notes from changelog data - @nukeop
- Feature: Support importing legacy format playlists (from old Nuclear)
Playlists- @nukeop - Chore: Migrated repository to nukeop/nuclear - @nukeop
- Feature: Playlist import from URL
Playlists- @nukeop - Feature: Playlist provider adapter view with cover art
PlaylistsPlugins- @nukeop - Fix: Fixed loading status getting stuck on stream resolution - @nukeop
- Feature: MCP server for controlling Nuclear from AI agents and other tools
MCP- @nukeop - Feature: Plugin store with browsing, search, and installation
Plugins- @nukeop - Feature: Flatpak packaging
Linux- @nukeop
macOS: If the app won't open, run
sudo xattr -r -d com.apple.quarantine /Applications/Nuclear.appin Terminal.