Skip to main content
All notable changes to Echo Music (now Musika) are documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
This changelog documents the complete history from Echo Music through the transition to Musika.

Latest Releases

Added

  • Local Media Scanner: Added ability to scan and import locally stored music files via the Content settings.

Fixed

  • Manual Lyrics Fix: Fixed an issue where manually selected lyrics were overwritten by auto-fetched lyrics.

Fixed

  • Fixed a database migration issue. The schema was at version 25, but only a 1 → 2 migration was defined. Any install starting from another version had no valid upgrade path, causing the app to crash during migration. All required migration steps are now in place so upgrades work correctly across versions.
Thanks to: pixelated_buttons and justkev_3611
Version bump release.

Added

  • Video Quality: Added support for up to 1080p playback.
  • DLNA: Introduced DLNA streaming support (suggestion by owenconnor98).

Improved

  • Lyrics: Improved layout and performance of lyrics on tablet devices.

Added

  • “Switch to Video” Restored: The switch-to-video button is back, letting you move to the song’s video with a single tap.
  • Multi-Account Support: You can now add and switch between multiple accounts easily. Suggested by job_done.

Changed

  • Nearby Devices Permission Update: Added required Wi-Fi and Location permissions to improve nearby device discovery.
  • Google Cast Improvements: Internal refinements to casting functionality. Thanks to owenconnor98 for the contribution.
  • Music Page Visual Update: Removed the black background behind the artwork for a cleaner, more consistent look.
  • Redesigned Audio Output Window: The audio output selector has been refreshed for better clarity.
  • Updated Mini Player: The mini player now features a modern pill-shaped design.

Fixed

  • Playback Stability Fix: Fixed an issue where music stopped playing due to URL expiration.
Major version release.

Version 2.x Releases

Maintenance release.

Fixed

  • Fixed Audio routing features for greater flexibility and control
  • Major bug fixes improving overall stability

Changed

  • Revamped Library Page
  • Fixed Widgets Layout

Improved

  • Enhanced performance for a smoother, more responsive experience

Changed

  • Streamlined Integration
    • Removed Discord RPC integration for cleaner codebase
    • Removed Last.fm scrobbling integration
    • Removed Spotify integration references
    • Focused exclusively on YouTube Music streaming

Added

  • Firebase Analytics & Crashlytics
    • Integrated Firebase for better app stability monitoring
    • Added crash reporting for improved debugging
    • Privacy-focused analytics implementation

Improved

  • Enhanced User Experience
    • Cleaner settings interface without external integrations
    • Simplified app architecture
    • Better performance with reduced dependencies

Version 1.8.x Releases

Changed

  • Settings Improvements
    • Hidden the “Fetch Home Data Limit” setting from the settings screen
    • Removed the “Buy Me a Coffee” button from the About Echo section
    • Improved settings UI organization and user experience

Fixed

  • UI/UX Enhancements
    • Cleaned up settings interface by removing unused options
    • Streamlined About Echo section for better user experience

Added

  • Video/Audio Playback Toggle
    • Seamlessly switch between video and audio modes for video tracks
    • Smart switching logic that maintains playback position
    • Compact, animated toggle button with visual feedback
    • Automatic surface management for optimal video rendering
  • Enhanced Playlist Management
    • Long-press context menu on playlists in library
    • Quick actions: Play, Shuffle, Add to Queue, Share, Rename, Delete
    • Support for both local and YouTube playlists
    • Direct playlist actions without opening the playlist
  • Firebase Integration
    • Google Analytics for usage insights and engagement tracking
    • Firebase Crashlytics for comprehensive crash reporting
    • Privacy-first implementation with user opt-out support
    • Detailed analytics for music playback patterns

Fixed

  • Critical Crash Fixes
    • Fixed DownloadService JobScheduler crash caused by ProGuard obfuscation
    • Fixed ForegroundServiceStartNotAllowedException on Android 12+ devices
    • Fixed ActivityNotFoundException when voice search is not available on device
    • Fixed IndexOutOfBoundsException in queue management when adding tracks
    • Fixed video player black screen issue after app restart
    • Fixed song title disappearance in player UI

Changed

  • Stability Improvements
    • Added comprehensive ProGuard keep rules for Media3/ExoPlayer services
    • Improved error handling with graceful fallbacks
    • Added bounds checking for queue operations
    • Enhanced user feedback with helpful error messages
    • Optimized video player surface initialization
    • Improved memory management for video playback

Technical

  • Updated ProGuard rules to prevent service obfuscation
  • Added Android 12+ foreground service permission handling
  • Implemented defensive programming for queue index operations
  • Added try-catch blocks for missing system components
  • Implemented smart video/audio switching with surface ready callbacks
  • Enhanced ExoPlayer integration for seamless media transitions

Version 1.7.x Releases

Changed

  • Version bump to v1.7.4

Added

  • Firebase Analytics & Crashlytics Integration
    • Comprehensive analytics tracking for user engagement
    • Music-specific event tracking (play, pause, skip, playlist operations)
    • Crash reporting and debugging utilities
    • Performance monitoring and memory usage tracking
    • Privacy-compliant data collection with user opt-out support
    • Detailed documentation and implementation guide
  • Performance Optimizations
    • Improved app responsiveness and smooth animations
    • Optimized memory usage and resource management
    • Enhanced error handling and recovery mechanisms
    • Better build configuration and dependency management

Changed

  • Build System
    • Updated Firebase dependencies to latest stable versions
    • Improved build configuration for both FOSS and Full variants
    • Enhanced security with proper keystore management
    • Better development and production environment separation

Fixed

  • Stability Improvements
    • Fixed various compilation issues and build errors
    • Improved error handling throughout the application
    • Enhanced crash recovery mechanisms
    • Better memory management and leak prevention

Security

  • Enhanced Security
    • Removed sensitive information from repository
    • Proper keystore and API key management
    • Secure Firebase configuration handling
    • Comprehensive .gitignore for sensitive files

Added

  • Lyrics Translation Feature
    • Built-in Google ML Kit translation service
    • On-device translation for privacy
    • Support for multiple languages
    • Translation accuracy varies by content type (60-90%)
    • Accessible through Settings > Lyrics section
    • Works offline without internet connection
  • UI/UX Improvements
    • Enhanced spacing between sections
    • Improved color scheme for better visibility
    • Professional dark color palette
    • Better font sizing consistency
    • Optimized layout for various screen sizes

Changed

  • Home Screen Layout
    • Improved spacing between “Moods & Moment” and “Genre” sections
    • Better visual hierarchy
    • Enhanced card dimensions and padding
    • Consistent color scheme across sections
  • Build Configuration
    • Updated app version to v1.7
    • Enhanced Firebase configuration
    • Improved build system stability

Fixed

  • Bug Fixes
    • Fixed font scaling issues across different devices
    • Resolved color consistency problems
    • Improved text visibility with proper contrast
    • Fixed layout spacing inconsistencies

Version 1.6.x Releases

Added

  • Bit Perfect Playback Support
    • USB DAC detection and configuration
    • Automatic device compatibility checking
    • Bit-perfect audio output for audiophiles
    • Smart audio processing control
    • High-resolution audio support
  • Enhanced Analytics & Crash Reporting
    • Firebase Analytics integration
    • Firebase Crashlytics integration
    • User-controlled privacy settings
    • Performance monitoring
    • Custom event tracking
  • Performance Optimizations
    • Smooth animations and transitions
    • Jitter-free scrolling experience
    • Optimized LazyList performance
    • Enhanced navigation animations
    • Improved memory management

Version 1.5.0 - November 2024

Added

  • Bit Perfect Playback Support
    • USB DAC detection and configuration
    • Automatic device compatibility checking
    • Bit-perfect audio output for audiophiles
    • Smart audio processing control
    • High-resolution audio support
  • Enhanced Analytics & Crash Reporting
    • Firebase Analytics integration
    • Firebase Crashlytics integration
    • User-controlled privacy settings
    • Performance monitoring
    • Custom event tracking
  • Performance Optimizations
    • Smooth animations and transitions
    • Jitter-free scrolling experience
    • Optimized LazyList performance
    • Enhanced navigation animations
    • Improved memory management
  • Settings Improvements
    • Reorganized lyrics settings with smart defaults
    • Conditional visibility for lyrics providers
    • Enhanced storage visualization with proper labels
    • Improved settings UI organization

Changed

  • Login Experience
    • Removed “login failed” popup for cleaner UX
    • Only shows “login success” confirmation
    • Improved YouTube login flow
  • Storage Management
    • Fixed Spotify Canvas Cache label in storage legend
    • Improved storage visualization
    • Better cache management

Technical Improvements

  • Audio Processing
    • Enhanced ExoPlayer configuration
    • Improved audio sink handling
    • Better USB audio device support
    • Optimized audio processing pipeline
  • Build System
    • Updated to version 1.5 (version code 8)
    • Enhanced build configurations
    • Improved dependency management
    • Better error handling

Security

  • Privacy Enhancements
    • User-controlled analytics
    • Optional crash reporting
    • Enhanced data privacy controls
    • Secure configuration management

Version 1.2 - December 19, 2024

Added

  • Spotify Playlist Import Feature
    • Added Spotify login flow for playlist import functionality
    • Created SpotifyImportScreen with playlist URL input and preview
    • Added SpotifyImportViewModel for handling import logic
    • Integrated Spotify import option in Library screen
    • Added navigation support for Spotify import flow
    • Implemented login status checking and user authentication
  • Empty State Handling
    • Added comprehensive empty state messages for all library sections
    • Created EmptyStateMessage composable for consistent empty state display
    • Added helpful guidance messages for each empty section
  • Resource Loading State
    • Added Loading state to the Resource sealed class
    • Updated all ViewModels to handle the new Resource.Loading state
    • Improved error handling and state management across the app

Changed

  • License Compliance
    • Updated LICENSE file from MIT to GPL-3.0 to comply with SimpMusic’s license
    • Added proper attribution and modification notices to all source files
    • Updated README.md with fork acknowledgment and modifications section
    • Added modification notices to core library files
  • UI/UX Improvements
    • Typography System: Increased font sizes globally for better readability
    • Echo Branding: Increased “Echo” text size in top app bar (30sp)
    • Library Filter Buttons: Updated font size to 18sp to prevent text wrapping
    • Album Screen: Added large green play button (72dp) positioned on the right side
    • About Section: Changed “Author” to “Modified by” in settings
    • Credit Screen: Updated attribution text to “Modified by iad1tya”
  • Widget Improvements
    • Song Poster Display: Fixed widget poster display for YouTube videos and general media
    • Robust Image Loading: Implemented multiple fallback URLs for YouTube thumbnails
    • HTTP to HTTPS Conversion: Ensured all image URLs use HTTPS for security
    • Play/Pause State: Fixed poster disappearing on pause/resume
    • Song Tracking: Added SharedPreferences to track last played song ID
    • Aggressive Image Loading: Implemented retry mechanisms and fallback strategies
  • Title Display Fix
    • Fixed “Downloads” button showing “Downloaded” in top bar
    • Updated LibraryDynamicPlaylistType.name() to return correct string resource
  • Empty State Centering
    • Moved empty state messages to center of screen
    • Removed background cards and icons for cleaner, minimal design
    • Used Box layout for perfect centering

Fixed

  • Build Configuration
    • Created local.properties file with proper Android SDK path
    • Added minimal google-services.json for FOSS debug build
    • Fixed package name configuration for debug builds
    • Resolved compilation errors related to missing Resource.Loading state
  • Widget Poster Issues
    • Fixed song poster not showing on home screen widget
    • Resolved poster disappearing when pausing/resuming songs
    • Fixed inconsistent poster display for YouTube videos
    • Implemented proper image loading with fallback mechanisms
  • Navigation and UI
    • Fixed Spotify import navigation flow
    • Resolved compilation errors in ViewModels
    • Fixed smart cast issues in playlist description handling
    • Corrected dependency injection for SpotifyImportViewModel

Technical Improvements

  • Code Quality
    • Added proper error handling for image loading
    • Implemented coroutine-based image loading with retry logic
    • Added comprehensive logging for debugging widget issues
    • Improved state management with proper Resource handling
  • Performance
    • Optimized widget update frequency to prevent conflicts
    • Reduced aggressive delayed updates for better performance
    • Implemented controlled image loading with proper cancellation
  • Security
    • Ensured all image URLs use HTTPS
    • Added proper API key management for Google Services

Configuration Updates

  • Google Services
    • Updated to use Firebase project configuration
    • Configured for analytics and crash reporting (optional)
  • Version Management
    • Updated app version to v1.2
    • Incremented version code to 3
    • Updated version display throughout the app

Version 1.1 and Earlier

  • Initial fork from SimpMusic
  • Basic Echo Music branding and package name changes
  • Initial customizations and modifications

Unreleased / Planned Features

The following features are planned for future releases:
  • Enhanced AI-powered recommendations
  • Improved offline playback experience
  • Advanced playlist management features
  • Cross-platform synchronization
  • Enhanced accessibility features

About This Changelog

This changelog documents all significant changes made to the project from its origins as Echo Music through its evolution to Musika, including:
  • New features and enhancements
  • Bug fixes and stability improvements
  • Technical improvements and optimizations
  • Security updates and privacy enhancements
  • Breaking changes and migrations
For the most up-to-date information, always refer to the latest release notes on GitHub.

Build docs developers (and LLMs) love