All notable changes to Echo Music will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Enhanced AI-powered recommendations
- Improved offline playback experience
- Advanced playlist management features
- Cross-platform synchronization
- Enhanced accessibility features
-
Comprehensive Documentation
- Complete architecture documentation
- Detailed API integration guide
- Comprehensive features documentation
- Troubleshooting guide for common issues
- Development roadmap for future releases
-
Enhanced User Experience
- Improved Material Design 3 implementation
- Better typography and visual hierarchy
- Enhanced empty state handling
- Improved navigation and user flow
-
Advanced Features
- AI-powered song recommendations
- Enhanced lyrics support with multiple providers
- Improved offline download management
- Advanced audio quality settings
-
Documentation Overhaul
- Complete rewrite of README.md with professional structure
- Enhanced CONTRIBUTING.md with detailed guidelines
- Comprehensive SETUP.md with step-by-step instructions
- Updated PRIVACY_POLICY.md with detailed privacy information
-
Code Quality Improvements
- Enhanced error handling and state management
- Improved code organization and structure
- Better separation of concerns
- Enhanced testing coverage
-
Stability Issues
- Resolved memory leaks and performance issues
- Fixed crash scenarios and edge cases
- Improved error handling and recovery
- Enhanced app stability and reliability
-
UI/UX Issues
- Fixed layout issues and visual inconsistencies
- Improved accessibility and usability
- Enhanced responsive design
- Better dark mode implementation
-
Architecture Enhancements
- Improved MVVM implementation
- Better dependency injection with Koin
- Enhanced repository pattern usage
- Improved state management with StateFlow
-
Performance Optimizations
- Reduced memory usage and battery consumption
- Improved app startup time
- Enhanced caching mechanisms
- Better network optimization
-
Spotify Playlist Import Feature
- Added Spotify login flow for playlist import functionality
- Created
SpotifyImportScreenwith playlist URL input and preview - Added
SpotifyImportViewModelfor 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
EmptyStateMessagecomposable for consistent empty state display - Added helpful guidance messages for each empty section:
- "No Favorite Songs" with subtitle "Add songs to favorites to see them here"
- "No Downloaded Songs" with subtitle "Download songs to listen offline"
- "No Followed Artists" with subtitle "Start following artists to see them here"
- "No Most Played Songs" with subtitle "Play songs to see your most played tracks"
-
Resource Loading State
- Added
Loadingstate to theResourcesealed class - Updated all ViewModels to handle the new
Resource.Loadingstate - Improved error handling and state management across the app
- Added
-
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 (
Ytmusic.kt,YouTube.kt)
-
UI/UX Improvements
-
Typography System: Increased font sizes globally for better readability
titleSmall: 13sp → 14sptitleMedium: 18sp → 20sptitleLarge: 25sp → 26spbodySmall: 11sp → 12spbodyMedium: 13sp → 14spbodyLarge: 18sp → 18sp (maintained)displayLarge: 20sp → 22spheadlineMedium: 20sp → 22spheadlineLarge: 23sp → 24splabelMedium: 16sp → 16sp (maintained)labelSmall: 14sp → 14sp (maintained)- Added
headlineSmall: 20sp
-
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 "Based on Simp Music, 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 (both horizontally and vertically)
- Removed background cards and icons for cleaner, minimal design
- Used Box layout for perfect centering instead of LazyColumn positioning
-
Build Configuration
- Created
local.propertiesfile with proper Android SDK path - Added minimal
google-services.jsonfor FOSS debug build - Fixed package name configuration for debug builds
- Resolved compilation errors related to missing Resource.Loading state
- Created
-
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
-
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
-
Google Services
- Updated to use actual Firebase project configuration
- Project ID:
echo-aab3b - Project Number:
887842405081 - API Key:
[CONFIGURED]
-
Version Management
- Updated app version to v1.2
- Incremented version code to 3
- Updated version display throughout the app
- Initial fork from SimpMusic
- Basic Echo Music branding and package name changes
- Initial customizations and modifications
- Spotify Integration: Complete playlist import functionality with authentication
- Enhanced Empty States: User-friendly messages instead of blank screens
- Improved Typography: Better readability with increased font sizes
- Widget Reliability: Robust song poster display with fallback mechanisms
- License Compliance: Proper GPL-3.0 compliance with attribution
- Fixed all compilation errors related to Resource state handling
- Resolved widget image loading inconsistencies
- Improved error handling and state management
- Enhanced build configuration and dependency management
- Better visual hierarchy with improved typography
- Clearer empty state guidance
- More reliable widget functionality
- Consistent branding and attribution
This changelog documents all significant changes made to Echo Music v1.2, including new features, bug fixes, and technical improvements.