What's Changed
- Fix AI provider errors and media service startup by @lostf1sh in #2102
- feat: improve playback queue reordering and timeline synchronization by @theovilardo in #2104
- Fix/navbar dismiss corner behavior by @theovilardo in #2105
- chore: implement cleanup logic for state holders in PlayerViewModel by @theovilardo in #2112
- feat: add Google Drive support and improve player lifecycle management by @theovilardo in #2113
- Feature/ai translation by @mirkiv in #2108
- Delete old gemini IDs and add Gemma 4 by @YtMechnij in #2106
- feat: improve MediaStore URI resolution for file deletions by @theovilardo in #2123
- Optim/battery consumption by @theovilardo in #2127
- Song Metadata Batch Edit by @juinc in #2109
- perf: optimize battery usage via audio offload and adaptive UI polling by @theovilardo in #2128
- ui: adjust insets and padding for LyricsMoreBottomSheet by @theovilardo in #2129
- Fix/album art metadata consistency by @theovilardo in #2136
- Sort language options alphabetically in settings by @adlifarizi in #2135
- logic: use explicit queue indices for playback selection and transitions by @theovilardo in #2138
- feat: enhance MediaStore delete requests and storage volume resolution by @theovilardo in #2140
- ui: add "Save New" action to Equalizer and improve layout by @theovilardo in #2141
- perf: improve audio offload stability and fallback logic by @theovilardo in #2145
- perf: optimize navigation bar and blur animations via caching and dra… by @theovilardo in #2158
- feat: optimize library sync with throttled scans and refactor Gemini … by @theovilardo in #2165
- Fix/sync media store by @theovilardo in #2167
- Opt: Add setArtworkData for MediaItem by @ZL114514 in #2159
- Opt: Daily Mix Algorithm by @ZL114514 in #2189
- refactor: move metadata and lyrics editing logic to MetadataEditState… by @theovilardo in #2207
- refactor: delegate shuffle and playback orchestration to QueueStateHo… by @theovilardo in #2211
- Update README.md by @theovilardo in #2212
- refactor: move AI lyrics translation logic to LyricsStateHolder by @theovilardo in #2213
- refactor: move device-deletion logic to SongRemovalStateHolder by @theovilardo in #2214
- refactor: decompose MusicService and modularize PlayerViewModel liste… by @theovilardo in #2216
- ui: handle FULL_WIDTH navigation bar style in SheetVisualState by @theovilardo in #2217
- fix: resolve specific volume names for MediaStore URIs on Android 11+ by @theovilardo in #2218
- feat: sanitize and de-duplicate playlist export filenames by @theovilardo in #2220
- build: bump version to 0.7.5-beta and dynamic versioning in BetaInfoB… by @theovilardo in #2221
- data: migrate database to version 42 and update Navidrome schema by @theovilardo in #2222
- Refactor UI Text Wrapping & Optimize Action Button Layouts by @adlifarizi in #2225
- chore(deps): bump the gradle-dependencies group across 1 directory with 8 updates by @dependabot[bot] in #2206
- added unrecognized languages by @rebornlokii in #2191
- Fix for unnecesary recompositions while playing music by @theovilardo in #2232
- Debug/library decoder performance issues by @theovilardo in #2233
- Fixed fade glitch for MarqueeText.kt effect by @theovilardo in #2234
- Fix Chinese lyrics detection and remove tone suffix from pinyin by @adlifarizi in #2236
- Feat: add outlined button style for aod screen by @ZL114514 in #2226
- chore(deps): bump the gradle-dependencies group across 1 directory with 11 updates by @dependabot[bot] in #2235
- chore: fix up the mismatch current page number index by @ZL114514 in #2239
- Impl/m3e motion curves for player animations by @theovilardo in #2241
- Sync indicator triggered on library for no reason by @theovilardo in #2242
- Updated French Strings by @rebornlokii in #2244
- Updated Italian Strings by @rebornlokii in #2245
- Impl/m3e animations for queue sheet by @theovilardo in #2247
- feat: wear lyrics follow with translation/romanization prefs by @ZL114514 in #2253
- feat: add wear album art background by @ZL114514 in #2252
- New Baseline profile iteration by @theovilardo in #2256
- Optim/layout calculations and recompositions by @theovilardo in #2265
- Fix/queue bottom sheet haptic feedback by @theovilardo in #2266
- Buffering issues and song skip lag by @theovilardo in #2267
- Simplify image cropping layout and redesign generate report button by @adlifarizi in #2268
- Turkish translation added by @aliabbasov99 in #2262
- Fix blur issues by @theovilardo in #2274
- Fix wear state memory issues by @theovilardo in #2275
- Fix external song deletion and playback by @theovilardo in #2276
- Fix external song deletion and playback by @theovilardo in #2277
- Fix metadata editing by @theovilardo in #2278
- Fix and improve scrollbar by @theovilardo in #2279
- Fix library queue not loading by @theovilardo in #2281
- Fix helper line being captured while editing song cover by @adlifarizi in #2284
- LibraryScreen.kt and Player animaitons optimization by @theovilardo in #2292
- Large queue insertions by @theovilardo in #2298
- Large queue insertions by @theovilardo in #2299
- Impl/better animations on song info sheet by @theovilardo in #2302
- Enhance library performance, genre separation, and better TTML support by @Amonoman in #2082
- Optimize artwork loading and update URI authority checks by @theovilardo in #2303
- Fix string resource calling warning by @theovilardo in #2304
- WearOS background activity permission by @theovilardo in #2305
- Added lag diagnostic tool by @theovilardo in #2310
- Multiselection added to search screen by @theovilardo in #2320
- fix queue elements glitch by @theovilardo in #2323
- Fix backup playlist issue while updating by @theovilardo in #2324
- Bump gradle-dependencies: kotlinx-collections-immutable and okhttp by @daedaevibin in #2317
- Refactor app localization, resource cleanup, and UI localizations by @adlifarizi in #2321
- Navidrome http url link by @theovilardo in #2329
- Improve rate limiting, UI animations, and cleanup by @daedaevibin in #2328
- Allow http URLs for all local-network Navidrome and Jellyfin hosts by @lostf1sh in #2331
- Fix lyrics translation issues & more localization UI by @adlifarizi in #2332
- Impl/new screen transition animations by @theovilardo in #2333
- Slim PlayerViewModel: extract selection actions and playback dispatch… by @theovilardo in #2340
- [i18n] Add Arabic language support by @Hisham-Alzamzami in #2335
- Slim PlayerViewModel: extract controller sync and playPause by @theovilardo in #2344
- Changelog beta 0.7.5 by @theovilardo in #2345
New Contributors
- @YtMechnij made their first contribution in #2106
- @juinc made their first contribution in #2109
- @ZL114514 made their first contribution in #2159
- @aliabbasov99 made their first contribution in #2262
- @Hisham-Alzamzami made their first contribution in #2335
Full Changelog: 0.7.0-beta...0.7.5-beta