🚀 Major New Features
1. Auto-Update System
A complete in-app intelligent update system that automatically fetches and applies changed files from GitHub without requiring reinstallation.
- Atomic Update Management (
updateManager.js): Validates files, downloads with retry capability, applies changes, verifies after update, and manages restart procedures - Optimized Updater (
updater.js): Rewritten core using GitHub API and raw file reading fromraw.githubusercontent.com- bypasses rate limits, fetches only changed files upon user confirmation - Update UI (
updateUI.js): Color-coded notifications (green for available, red for errors, yellow for checking) and a smooth progress modal with animations - Real-time Progress Reporting: Users receive instant updates on each stage (backup, downloading, applying, cleanup) and file counts
2. Music Explorer
A dedicated advanced page for music discovery with online service connectivity.
- Explorer Page (
explorer.html): Standalone ultra-premium design with glassmorphism effects and animated backgrounds - Universal Search: Search tracks, artists, and albums via a cloud API (
music.korai.ir) - MusicDel Integration: Direct search and download from MusicDel.ir via internal proxy
- 3-Column Modal: Simultaneous searching with three strategies (first word, user search, full title) displaying results in three separate columns
- Favorites System: Users can save discovered tracks and view them in a dedicated "Favorites" tab
3. Advanced Settings Page
A comprehensive modern settings dashboard for complete control over all player aspects.
- Settings Page (
settings.html): Settings dashboard with sidebar and categorized sections (Playback, Sound & EQ, Appearance, Library, Plugins, AI, System, Advanced) - Centralized Settings Management (
settingsStore.js): Central store for maintaining and synchronizing settings across the entire application - every change auto-saves and notifies other sections - Real-time Sync (
settingsSync.js): Settings like EQ, volume, theme, and RTL/LTR orientation apply live without page refresh - Advanced Settings: Includes user behavior weighting coefficients for the AI recommender system, memory management, plugin timeouts, performance mode, and debug options
4. Smart Playback with "Preferred Genre Mode"
A new playback mode that selects upcoming tracks based on the user's favorite genres.
- New Player Button: Heart icon (
<i class="fa-solid fa-heart"></i>) positioned next to the Shuffle button - Selection Algorithm: When activated, the player identifies the user's favorite genres (based on likes and play counts) and selects subsequent tracks from them rather than playing randomly
- Added Functions in
app.js:togglePreferredGenreMode(),getTopPreferredGenres(),getNextPreferredGenreTrack()
✨ Major Improvements & Upgrades
1. AI Recommender Engine Overhaul
A complete rewrite of the recommendation core for smarter and more accurate suggestions.
- Ensemble Learning Models: Final ranking combines 5 different models: Content Similarity (40%), User Preferences (30%), Context Matching (15%), Genre Similarity (10%), Discovery Coefficient (5%)
- Matrix Factorization: Calculating user similarity for collaborative filtering recommendations
- Context-Aware: Automatically identifies time of day, user activity (workout, studying, partying) and adapts track energy and mood accordingly
- Behavioral Pattern Analysis: Detailed analysis of user behavior over the past 30 days to identify popular genres, favorite artists, and listening patterns
- Smart Playlist Generation (
generateSmartPlaylist): Creates playlists with coherent flow based on energy, genre, and mood - Enhanced Analyzer (
analyzer.js): Extracts more professional features (brightness, warmth, roughness, harmonic content) with smarter genre detection and confidence scoring
2. Advanced MusicDel Integration
Updated exploration system enabling direct search and download from the MusicDel source.
- Server Proxy (
server.js): New endpoints/api/proxy/musicdel,/api/proxy/musicdel/download, and/api/search/musicdelfor secure CORS-free MusicDel website access - Multi-purpose Download System:
import-from-urlfunction supports direct links and video services (with yt-dlp support) for downloading and adding to the library
3. Plugin System Enhancement
Professional plugin management with expanded capabilities.
- Plugins Page (
plugins.html): Complete translations and visual improvements for plugin management - Performance Dashboard: Plugin execution statistics (call count, errors, average time)
- Memory & Time Management: Adjustable timeout and dedicated memory allocation per plugin via the Settings page
4. Playback Improvements
For a flawless and professional listening experience.
- Resume on Start: When enabled, saves the last playing track position and resumes from the same point on restart
- Improved Error Handling: Professional error management with specific error messages (e.g., "Unsupported file format")
- "Stay in Tray" Sync: Users can control player behavior on window close (fully close or minimize to system tray) via settings
5. UI/UX Enhancements
Extensive appearance and user experience improvements.
- "Liquid Glass" Theme: New theme with glass and blur effects applied throughout the application
- Section Entry/Exit Animations: Smooth effects for tabs and different sections opening
- Responsive Design: Complete display improvement across different device sizes
- Full Translation: All new texts translated to both English and Persian for Settings and Explorer pages
6. Backend & Performance
Core improvements for stability and efficiency.
- server.js Fixes: Improved file streaming, better error handling during playback and downloads
- database.js Fixes: Cover storage with unique IDs to prevent collisions
- analyzer.js Enhancement: More accurate algorithms for BPM detection and audio feature extraction
- Memory Management: Further optimizations for reduced CPU and RAM usage
🐛 Bug Fixes
- Tracing & Scan: Fixed sudden stops when scanning folders containing system files
- Vocal Separator: Fixed issue with reading WAV files with different bit depths
- Settings: Ensured correct settings storage and loading on restart
- Playback Controls: Fixed common issues in track playback and stopping, especially in shuffle mode
📦 Technical Changes
File Changes:
- Removed:
advancedSearch.js(replaced with new search system) - Added:
explorer.html,settings.html,plugins.html(updated),settings.css,settings.js,settingsStore.js,settingsSync.js,update.css,updateUI.js,updateManager.js - Major Updates:
main.js,preload.js,package.json(version 1.5.0),server.js,analyzer.js,recommender.js,updater.js,lang.js,app.js,styles.css,additional.css
Dependencies:
- Added
semverlibrary for version comparison in the update system
📝 Notes for Users & Developers
For Users: First launch after update may take some time as the plugin system and new settings are initialized. The "Stay in Tray on Close" option in Settings is highly useful for controlling player behavior when closing the window.
For Developers: The new settingsStore system is the single source of truth for all settings. Use window.settingsStore to access settings. The updateManager update system supports rollback to previous versions.