Releases: JPGuillemin/Airdrome
4.5
Release Changelog
Improvements
- Improved MediaSession time driver for more accurate playback state handling
- Updated MediaSession position state behavior in lazy mode (Chromium fix)
- Improved tracking logic
- Improved fast seek behavior
- Simplified store scheduler logic
- Refined scheduler policy
- Added recycle functionality to album details
- Added recycle button to playlist manager
Playback & Audio
- Prevented AudioContext from initializing before first playback
- Improved error handling and resume after network failure
- Fixed audio/store synchronization logic
- Fixed race condition on auto-skip
- Fixed previous() behavior when currentTime > 3s
- Delayed currentTime watcher by 15 seconds
UI / UX
- Player background clickable to toggle play/pause
- Added spinning logo during playback
- Added loader to Artist page
- Improved buttons and links highlighting
- Added player controls highlighting
- Fine-tuned navigation links highlighting
- Fixed dropdown color styles
- Adjusted sidebar spacing
- Fixed active paths in mobile navigation bar
Styling
- Reorganized SCSS structure
- SCSS optimization pass
- General UI polish
Fixes
- Fixed resume playlist button bug (play(null))
Build & Documentation
- Updated build.sh
- Updated README
Internal
- General cleanup and fine tuning
4.4
🚀 Major Improvements
Audio Playback & Resume Logic
Major rework of resume playback logic for improved reliability across sessions.
Improved phone call interruption handling and automatic playback resume.
Better MediaSession integration for system-level media controls.
Fine-tuned gapless playback and manual skip behavior.
Improved loadTrack execution flow to reduce playback issues.
Restored ReplayGain support on mobile player.
Streaming & Buffering
Implemented a new buffering policy for smoother streaming.
Service Worker strategy updated to Network First for streams.
Improved stream caching behavior.
Better handling of playback recovery when reconnecting.
Offline Support
Added offline mode powered by Service Worker.
Service Worker now provides cached media playback when offline.
⚡ Performance
Implemented LRU cache instead of FIFO for better media caching efficiency.
Accelerated Dynamic Radio store performance.
Improved queue management and playback handling.
Optimized audio store architecture and simplified state logic.
Reduced startup errors when loading queue with no items.
🎨 UI / UX Improvements
Player & Navigation
Added mobile bottom navigation bar.
Improved sidebar behavior on mobile.
Added toggle animation to sidebar button.
Added animated spinning icon for currently playing track.
Visual Enhancements
Improved color scheme and elevation contrast.
Polished player and topbar styling with rounded corners.
Updated icons across the interface.
Refined tab CSS and layout.
Interaction Improvements
Added hover highlight on tiles and genre list.
Progress bar now shows tooltip with track progress on hover.
Improved focus and hover states for UI elements.
Removed global caret where unnecessary.
📱 Mobile Improvements
Improved mobile player experience.
Better handling of resume after phone interruptions.
UI adjustments for smaller screens.
🔧 Internal Changes & Refactoring
Simplified authentication configuration.
Refactored API injection across components and stores.
Moved cache control logic into the playing store.
Cleaned up audioStore.ts.
Updated Node.js and Vite dependencies.
🐞 Fixes
Fixed queue loading error when no queue exists at startup.
Fixed blinking caret styling issue.
Improved error handling when saving play queue.
Various CSS fixes for inputs and layout
fix Failed to fetchwhen adding Navidrome server #4
4.3
Release Notes — January 2026
This release focuses on radio & playback improvements, UI/UX polish, and architecture refinements, with several stability and performance enhancements.
🎵 Playback & Radio
Fine-tuned gapless playback and manual track skipping
Improved loadTrack call for more reliable playback
Enhanced auto-radio logic for smarter track sequencing
Added Lucky Radio to the Discover page
Enabled radios across more sections of the app
Introduced a dedicated radio store
Fixed radio button state inconsistencies
🧭 Discover & Browsing Experience
Added multi-line layout for the Mood Discover section
Implemented mouse wheel scrolling
Optimized scrollbar styling
Improved search form clearing behavior
Added lazy image loading for better performance
🎨 UI & UX Polish
Polished the Artist page
Added tooltips to buttons
Introduced a blue color theme
General visual refinements across pages
🧱 Architecture & Codebase
Refactored API injection in components and stores
Simplified authentication configuration
Documented OpenSubsonic endpoints used by the app
🐳 Deployment
Added official Docker Hub images for both ARM64 and AMD64
🛠 Stability & Error Handling
Improved error handling when saving the play queue
4.2
Release Summary
This release delivers significant improvements across performance, caching, audio playback, and user experience, alongside multiple bug fixes and internal refactors.
✨ New Features & Enhancements
Added conditional routing cache policy (v1 and v2).
Implemented offline mode error handling.
Restored Mood playlist functionality.
Added confirmation dialogs (logout and general confirmations).
Introduced additional icons and improved visual consistency.
Added album count display in genres.
Documented OpenSubsonic endpoints in the project documentation.
🚀 Performance & Caching Improvements
Major improvements to worker, page, and store caching.
Improved discover page loading with async data loading.
Enhanced queue page loading performance.
Fixed cache store issues and refined caching strategies overall.
🎵 Audio & Playback
Completed a substantial audio pipeline refactor.
Fixed pipeline switching algorithm.
Tuned Media Session integration.
Fixed issues in audio.ts.
Addressed looping behavior when the playback queue is empty.
🖥 UI / UX Improvements
Full migration to Vue Composition API.
Improved Discover layout and Player Store.
Screen and layout fixes across multiple views.
Fine-tuned tile sizing and resized album covers.
Improved favorite status icon behavior in Artist detail view.
General CSS cleanup and UI polish.
🐞 Bug Fixes
Fixed incorrect arguments in getOpenSubsonicExtensions API call.
Fixed search exit behavior.
Fixed issues related to previous reported bugs (#1 and #2).
Resolved screen rendering and navigation issues.
📚 Documentation
Updated README.
4.1
Better layout
Better Worker
Offline cache
Playlist management
4.0
Vu3
Persistant cache
Codec control
..... and many, many ....
3.0
3.0
2.3
- Added 4 colors theme support
- Added dynamic playlists for Genres, Artists (shuffle songs of the entire Genre or Artist)
- Added Artist radio (shuffle similar songs)
- Improved Genre page layout and Discover page
2.2
2.2 :
favourites on discover page
Clicking on logo brings to Discover page
playlists on discover page
remember page scroll position when going back to previous page
simplified navigation on mobile browser / PWA
and many cosmetic improvements ...
2.1
sync with upst