Spotube v6 beta is here!! A complete rew ...

Spotube v6 beta is here!! A complete rewrite!!

Oct 30, 2026
105

Spotube V6 Beta is here 🎉🚀
🔥Highlights

  • Migration from Flutter to Compose Multiplatform, learn why we did it

  • UI redesign, introducing Millennium UI. 2000s look and feel with 2026's modernity

  • Jam session integration, play music with friends and family

  • Full Android Auto integration. Browse, Library, Search all are there now, not just queue

  • Migration from hetu_script to Kotlin for plugin development. Powered by Zipline by Cashapp

  • More extensibility, plugin support for Lyrics provider and Scrobbling providers

  • Native Android APK, with reduced apk size, performance improvements and more native android integrations.

  • Relicensed from BSD-4-Clause to AGPL-3.0-or-later for a more Open Source friendly licensing. And for preventing distribution of closed source and maliciously modified Spotube.

💫 Features

  • Migration to Compose Multiplatform

  • Add ChipTab component and refactor SearchScreen to use it

  • Add AutocompleteTextField component and integrate it into SearchScreen

  • Enhance AutocompleteTextField with focus management and dropdown behavior

  • Enhance AppSidebar with improved button interactions and visual feedback

  • Implement endless playback recommendations in DeviceAudioPlayerQueue

  • Add GhostIconButton component and enhance button interactions in TrackList

  • Replace IconButton with GhostIconButton in AppExpandedPlayer and AppLargePlayer for improved visual consistency

  • Replace IconButton with GhostIconButton in PlayerQueueContent and PlayableCard for visual consistency

  • Enhance UI components with LocalBaseUITheme for consistent styling and improved interactions

  • Enhance button styles and interactions in Buttons and Theme components for improved UI consistency

  • Simplify highlight implementation in UI components for improved readability and maintainability

  • Add genre selection and tabs to HomeScreen for improved content navigation

  • Implement artist overview screen with loading, error handling, and pagination for albums, related artists, and featured playlists

  • Add genre and featured browsing capabilities to MediaBrowseHelper

  • Implement playlist creation and editing functionality with UI components

  • Add 'Add to Playlist' functionality with UI components and dialogs

  • Add Toggle component and update UI to use it in place of Switch

  • Implement settings section cards for updates, desktop, language, caching, and plugins

  • Update icons in settings sections to use Iconsax library for improved UI consistency

  • Replace FeatherIcons with Iconsax in PluginCard and PluginPermissionsDialog for improved UI consistency

  • Refactor PluginPermissionsDialog to use custom UI components for improved consistency and readability

  • Enhance UI with shared element transitions and improve state management in album and playlist screens

  • Integrate Uniffi for audio metadata reading and writing with Lofty library

  • Replace FeatherIcons with Iconsax in window controls and update sidebar with better design

  • Implement haze effect and UI enhancements in AppLargePlayer and AppShell

  • Enhance haze effect integration in AppShell and AppSidebar for improved UI experience

  • Add adaptive dialog bottom sheet component and enhance plugin installation UI

  • Enhance AdaptiveDialogBottomSheet with dismiss icon and improve plugin screen layout

  • Implement CollectionView component and refactor Album, Playlist, SavedTracks screens for improved UI consistency

  • Add current time management in AudioPlayer for improved playback control

  • Simplify playback control logic in AudioPlayer by removing redundant state checks

  • Introduce AudioPlayerInterface and refactor AudioPlayer implementations for better abstraction

  • Update skipToNext and skipToPrevious methods in AudioPlayer for improved media item management

  • Refactor LyricsViewModel to use AudioPlayerInterface for improved abstraction

  • Add Discord Rich Presence integration for enhanced media playback visibility

  • Implement System Tray integration for window management and media controls

  • Add hover effect to menu items in System Tray for improved user experience

  • Add SSH debug session setup on failure for improved troubleshooting

  • Implement blacklist functionality for tracks and artists with UI updates

  • systemtray: Self-manage tray lifecycle via Koin DI

  • plugin_interfaces: Update Maven publishing configuration and add GitHub Actions workflow

  • plugin_discovery: Implement GitHub plugin discovery and add logo support in UI

  • plugin_discovery: Implement GitHub plugin discovery and add logo support and information dialog in UI

  • plugin_install: Add plugin installation dialog and release fetching functionality

  • Update dependencies and configure compose hot reload settings

  • Improve NewPipe video rank matching

  • Integrate Nucleus framework for enhanced window management and webview support

  • Implement system tray functionality with Compose Native Tray integration

  • mediacontrol: Implement SystemMediaControlService for OS media integration

  • devices: Add device discovery and remote control features

  • deeplinks: Implement deep link handling for jam sessions

  • remote-control: Implement remote playback functionality and UI components

  • remote-control: Enhance queue management and player state synchronization

  • remote-control: Enhance remote playback functionality with new commands and UI integration

  • webrtc: Update ICE server configuration and enhance logging for peer connection events

  • jam-session: Add connection state management and update UI feedback for session status

  • jam-session: Enhance jam session functionality with improved playback synchronization and error handling

  • remote-control: Refactor service registration and cleanup logic for improved reliability

  • jam-session: Integrate MQTT broker configuration and enhance jam session settings

  • jam-session: Implement track addition to jam session and enhance UI feedback for jam state

  • jam-session: Enhance guest functionality with track addition and participant moderation options

  • release: Add support for Linux ARM64 builds and artifact uploads

  • player-options: Add PlayerOptionsViewModel and enhance player UI with options menu

  • player-options: Enhance options menu with localized strings and icons

  • jam-settings: Implement JamSettings screen and view model for broker configuration

  • Refactor track source management to support plugin-specific caching and retrieval

  • Implement shuffle play functionality for albums, playlists, and saved tracks

  • navigation: Refactor sidebar and bottombar navigation structure with new tab and group models

  • search: Enhance LazyRow with drag scrolling functionality

  • autocomplete: Simplify focus management and remove unused key event handling

  • update: Implement update checker with dialog for available updates

  • update: Refactor update checking mechanism and implement new dialog for app and plugin updates

  • scrobble: Implement ScrobbleManager to handle track scrobbling and integrate with audio player

  • welcome: Implement onboarding flow with multiple pages and donation options

  • previews: Add comprehensive previews for UI components including sliders, toggles, checkboxes, and text fields

  • settings: Add 'About' section and improve header visibility in settings sections

  • surface: Implement Frutiger-Aero themed surfaces with glass and acrylic styles

  • ui: Replace Scaffold with BaseScaffold for consistent surface theming across screens

  • ui: New custom surface integration on all components

  • onboarding: Enhance welcome screen with structured guide steps and improved layout

  • player: Add content descriptions for play, pause, and add to queue actions

  • support: Implement support reminder dialog and donation options

  • player: Refactor artist display and improve search field labels

  • search: Enhance search functionality with recent search suggestions and improved UI components

  • sidebar: Adjust spacing in sidebar and setting cards for improved layout

  • jam: Implement group jam functionality with UI components and state management

  • library: Enhance library UI with new tab titles, filtering options, and improved state management

  • library: Add Library screen list mode beside grid mode, Local Track, Download screen, Local Library folders dialog visual improvement

  • ui: Integrate LocalTextStyle for dynamic tinting in player controls and UI components

  • navigation: Add custom navigation transition specifications for push and pop actions

  • i18n: Replace hardcoded strings with localized resources across multiple components

  • plugin: Implement MetadataPluginGuard to manage plugin dependencies and user prompts

  • ui: Replace IndeterminateProgress with new loading components and enhance dialog structures

  • ui: Update MillenniumModalBottomSheet with compact padding and spacing adjustments

  • plugin: Add login prompt for metadata plugin access and implement authentication view model

  • user-agents: Implement dynamic user agent fetching and caching mechanism

  • lyrics: Implement SyncedLyricsList component and enhance LyricsViewModel for better state management

  • server: Implement port fallback mechanism for playback proxy server

  • window: Implement window state persistence and restoration

  • Enhance Android build configuration with stable/nightly flavors and update launcher icons

  • graalvm: Enable GraalVM native image support and update packaging configurations

  • local-tracks: Implement LocalFolder screen and view model for folder navigation

  • navigation: Implement fade-through and stack transition animations for navigation

  • remote: Redesign remote control and devices screens, fix connection issues

  • Download diagnostics, live connect status, remote settings on devices screen

  • Enhance loading states for various UI components and update dependencies

  • packaging: Flathub, AUR, WinGet and Chocolatey publishing

  • plugin: Implement automatic plugin updates and enhance JSON parsing

🪲 Bug Fixes

  • newpipe: Fallback to muxed streams if no audio stream is available

  • Dismiss search dropdown and keyboard on submission

  • Custom image helper null exception

  • plugin: Reload Zipline service on same-version replace

  • Convert buildCurrentMediaItemList to a suspend function for coroutine support

  • Enhance Discord RPC connection management with cooldown and error handling

  • Cached track audio not being invalidated causing alternative track source to not being played

  • Play next not working

  • Update pendingNextIndex when playing a track from the playlist

  • webview: Linux webview crashing the app

  • Add mavenLocal() to plugin and dependency resolution management

  • plugin: Handle service closure exception during authentication check

  • sidebar: Add spacer to AppSidebar for improved layout

  • remote-control: Update connection handling and improve logging for remote control events

  • Add window insets to top bar and bottom navigation bar, queue sheet

  • stream-proxy: Stream upstream audio instead of buffering the whole track

  • newpipe: Fall back through multiple searches when ISRC search misses

  • audio-api: Enhance fallback mechanism for text search results in YouTube

  • audio-player: Android shuffle wasnt working

  • stream-proxy: Improve logging for cache timeout and handle disconnection scenarios

  • macos: Add GraalVM runtime dependency and initialize GraalVm in main function

  • android: Create intermediate directories for Rust targets to prevent runtime errors

  • android: Update sharing functionality to use chooser intent with new task flag

  • android: Simplify service start logic for PlaybackService to avoid crashes on background playback

  • android: Update playback state management to ensure guests follow host's play state

  • android: App stuck on splash screen from main-thread string loading

  • downloads: Respect download format/quality and never save manifests or video

  • ios: Run Zipline on an 8 MiB stack thread

  • server: Don't crash when the proxy port is still in use

  • ios: Stream formats AVPlayer can play

  • gradle: Restore VFS watch setting and clean up properties

  • build: Restore version catalog lost in dev merge

  • ios: Make the login WebView identify as Mobile Safari

New Contributors

¿Te gusta esta publicación?

Comprar Kingkor Roy Tirtho un café

Más de Kingkor Roy Tirtho