### Changes Logs

English

Source Codes (GitHub)

Translate Phonograph Plus into your language -> crowdin

#### 1.8.1 2024.08.01

1. Remove: legacy Song Detail
2. New: opt-in option for always using Media Session to display cover for compatibility
3. Fix: low notification image quality on Android Q
4. Improve: Open With dialog for externally playing
5. Improve: some text and descriptions about Updates
6. Modify: forbid upgrading from prior to v1.0.0 & warn upgrading from prior to v1.4.0
7. Translation: update Polish (by cooky), Spanish by (by Dragonrojo)

#### 1.8.0 2024.07.21

1. Note: Now, we have a special version especially for user on Android 10 and BELOW
2. Fix: not instantly start playing from the external source (like file explorer)
3. Translation: update Spanish (by Dino RTX)，update Polish (by cooky), Portuguese Brazilian (by FalaTudo)
4. Development: upgrade Gradle to 8.8, upgrade AGP to 8.5.1, upgrade dependencies

#### 1.7.2.1 2024.06.26

1. Fix: crash if enable "Use legacy favorite playlist mechanism"
2. Fix: Android Auto could not read playlists

#### 1.7.2 2024.06.26

1. Fix: Sleep Timer not working
2. Fix: renaming playlists not working
3. Improve: dialog for creating or renaming playlists
4. Translation: update Spanish (by Dino RTX (rtxdino36)), Arabic (by Ruger Blaze (hima_96))
5. Development: upgrade AGP to 8.4.2, cleanup code
6. Development: some changes for preparing internal stored playlists

#### 1.7.1 2024.06.09

1. Fix: Albums Page sorting not working
2. Fix: crash when toggling Colored Footers in Artist Detail
3. Fix: wrong cover if scrolling too fast
4. Fix: missing album cover in Artist Detail after going back from Artist Album Detail
5. Improve: accelerate palette color generation for performance
6. Improve: performance for loading some list items
7. Modify: sort Artist Albums by year ascending
8. Modify: forbid upgrading from prior to v0.7.0, drop related compatibility support
9. Development: upgrade AGP to 8.4.1, cleanup code

#### 1.7.0 2024.05.20

1. New: remember last scroll position in Folders or Files tab till next start
2. New: brand-new ui or Files tab supporting play or shuffle current folder
3. New: Theme and Theme Colors can be corrected exported in backups file
4. New: Auto Theme supporting choosing preferred night Theme (Black or Dark)
5. Modify: make night Theme Black as default for Auto Theme
6. Modify: hide song count of folders when using legacy ways to read files
7. Modify: shrink height of some ui widgets especially in landscape
8. Improve: better information collection on crash (permissions, screen density and so on)
9. Fix: Main Player text color legibility in landscape
10. Fix: uncolored Statusbar when in landscape mode in Card Player
11. Fix: button color of some dialogs are not Accent Color
12. Fix: possible rare crash caused by color animation
13. Fix: albums sorting in Artist Detail
14. Fix: can not exit app instantly due to Folders tab
15. Translation: update Spanish (by Dino RTX (rtxdino36)), Turkish (by volkspolizist), Polish (by cooky), Russian (by Yurt Page), Portuguese Brazilian (by FalaTudo)
16. Development: remove some compatibility support of legacy version
17. Development: cleanup code, refactor a number of Theme related stuffs
18. Modify: forbid upgrading from prior to v0.6.3 & warn upgrading from prior to v1.2.0

#### 1.6.3 2024.05.12

1. Fix: crash when opening some dialogs or Playlist Detail on Android 13 (only)
2. Fix: duplicated items would be added using Range Selection
3. Fix: wrong title of Backup Export Dialog
4. Translation: update Russian (by Yurt Page)
5. Translation: update Spanish (by Dino RTX (rtxdino36))
6. Translation: update Turkish (by volkspolizist)

#### 1.6.2 2024.04.27

1. Fix: rare random crash due to cover artwork in Main Player
2. Fix: blank App Widget if app is not running (especially after device booting)
3. Modify: start service when clicking App Widget if app is not running instead of launching app
4. Improve: performance of App Widget
5. Development: upgrade dependencies

#### 1.6.1 2024.04.18

1. Fix: crash after adding a same track multiple times in a same playlist
2. Fix: removing a track in a playlist would remove all same songs
3. Fix: possible random crash after selecting multiple items
4. Modify: reorder menu items of Playlist Detail
5. Improve: simplify user interactions when modifying a playlist via SAF
6. Improve: speed of deleting multiple playlists
7. Translation: update Polish (by cooky)
8. Translation: update Spanish (by Dderfla_53)
9. Development: upgrade AGP to 8.3.2

#### 1.6.0 2024.04.11

1. New: customisable Media Notification Actions (up to 3 actions in Compacted and up to 5 actions in Expanded)
2. New: option 'Always Play' - ignore any Audio Focus interruptions and continue to play
3. New: search artists if it has multiple artists on Go To Artist
4. New: support hiding images for list items
5. New: support fast-forward and rewind some seconds from Notification
6. New: support quitting background playback totally from Notification
7. Improve: unnecessary Media Images blinking in the playback notification no longer occurs on switching songs
8. Improve: avoid unresponsive playback notification by system due to updating notification too quick exceeding rate limit when switching songs too fast
9. Improve: redesign Delete Songs Dialog, PathFilter Preference Dialog, Upgrade Dialog
10. Improve: slightly adjust tab width
11. Fix: failed to duplicate multiple playlists
12. Fix: preference Colored Navigation Bar failed
13. Fix: minor text or button color glitches
14. Fix: sometimes abnormal PlayPause button on going back from background
15. Modify: notification (or from connected device) playback control behaviors now are identical to graphical ones
16. Modify: move custom artist images to external storage (/Android/data/) from internal storage
17. Modify: Allow users to select none of Image Source (i.e. disable all image loading)
18. Modify: forbid upgrading from prior to v0.5.4.1 & warn upgrading from prior to v1.0.0
19. Translation: update Polish (by cooky)

#### 1.5.2 2024.03.07

1. Fix: crash on some devices when playing as long as force-stop once before
2. Translation: update German (by jande75)
3. Development: update dependencies, upgrade Gradle to 8.6, optimize release process
4. Other: add checksums for release artifacts

#### 1.5.1 2024.02.22

1. Fix: immediately crash after Intro for first time installing

#### 1.5.0 2024.02.20

1. New: play and shuffle buttons for all pages
2. New: swipe down refresh for all pages
3. New: opted-in Image Cache
4. Improve: App Start-up Performance
5. Improve: do not show Intro again after successful backup import in Intro
6. Fix: palette color would unexpected changed after switch shuffle mode
7. Fix: close button in main sliding player closes app directly
8. Fix: incorrect encoding info for opus format in Detail
9. Fix: banner text displaying in Folders
10. Fix: fix item style changed after dismissing popup in Genres and Playlists
11. Fix: incorrect folder icon in Folder Page
12. Fix: duplicated Folder tabs for new users
13. Fix: issue of tab text color in Search
14. Translation: update Turkish (by volkspolizist), German (by conk), Polish (by cooky), Portuguese (by nemapps)
15. Development: cleanup code, update dependencies

#### 1.4.4 2024.01.30

1. Fix: problems when opening and playing audio files in physical external SD card from some file managers
2. Fix: abnormally pause when skipping final song from playback notification or connected Bluetooth devices etc., even if in Queue Repeat mode
3. Fix: crash when reordering in Playing Queue on some rare circumstances
4. Fix: some glitch when playing from outside if playing queue is empty
5. New: preload images to avoid lags when scroll in some circumstance
6. Improve: LRC lyrics detections and lyrics display
7. Improve: use LyricsGetterAPi v6
8. Translation: update Polish (by cooky), Portuguese Brazilian (by EddieMattos)
9. Development: upgrade AGP to 8.2.2, upgrade kotlin to 1.9.22, update dependencies

#### 1.4.3 2024.01.07

1. Fix: images can not be shown on some older devices
2. Fix: some flaws of Open With action dialog
3. Improve: image loading no longer causes serious latency when fast scrolling
4. Translation: update Turkish (by volkspolizist), Spanish (by guwsvnd5t)
5. Development: cleanup code

#### 1.4.2 2023.12.02

1. Fix: frozen (and then crash) when skipping to previous or next if repeat mode is single-repeated and queue has only one song
2. Fix: reporting error at two ends of queue when skipping to previous or next
3. Fix: rarely incorrect previous song when skipping to previous if repeat mode is queue-repeated

#### 1.4.1 2023.11.24

1. Improvement: avoid showing error notifications if file format is unsupported in Song Detail
2. Improvement: use fallback method to read song tags if file format is unsupported
3. Improvement: image loading mechanism of Albums and Artists
4. Modify: use alternative means of gaining album art from MediaStore on Android Q and above
5. Translation: update Spanish (by guwsvnd5t)

#### 1.4.0 2023.11.13

1. New: customizable list item layout style with more options
2. Fix: spamming error notifications after device reboot (merely mute)
3. Fix: playback notification may be canceled if losing audio focus (e.g. other media player starts playing)
4. Improvement: Dark/Light Mode would be switched after system dark mode changed instantly without closing and reopening the app
5. Improvement: add Shuffle Mode and Repeat Mode buttons in Notification (since Android T) and Android Auto
6. Improvement: display album artwork in Android Auto (basic support)
7. Improvement: MediaStore scanning (may fix the problem of scanning media in some devices)
8. Improvement: various minor miscellaneous ui refinements
9. Modify: replace some icons
10. Modify: show song order instead of images in Playlist Detail
11. Translation: update Finnish (by Latzze), Arabic (by Yrando) , Portuguese, Brazilian (by EddieMattos) , Japanese (by aorinngoDo) , Turkish (by evladifatihan)
12. Modify: forbid upgrading from v0.3.4 and older, warn upgrading from v0.7.1 and older
13. Development: use webp and svg formats in assets and resources to shrink artifacts size
14. Development: upgrade dependencies, cleanup code

#### 1.3.2 2023.10.20

1. Fix: in Main Player, PlayPause button sometimes gets frozen and has glitchy animation
2. Fix: in Main Player, palette color is not correctly updated when changing current song too quickly
3. Fix: in Main Player, legibility of "Up Next" text (color)
4. Fix: in Main Player, sometimes controls and queue may disappear or cover the partial of images
5. Fix: playback and queue got frozen at startup

#### 1.3.1 2023.10.04

1. Fix: crash when sending the playback notification on Android U
2. Fix: some albums cover artworks not showing
3. Fix: various minor bugs in Android Auto
4. Improvement: show Genres and Playlists in Android Auto
5. Improvement: check existences of songs in playing queue at start-up
6. Improvement: loading of Artists and Albums
7. Development: upgrade AGP to 8.1.2, upgrade dependencies, cleanup code

#### 1.3.0 2023.09.27

1. Development: upgrade targetSdk to 34
2. Fix: albums color footer in Artist Detail can not refresh after changing
3. Improvement: add 'Disable realtime local search' option, this would be helpful for fixing some IMEs can not show Candidate Bar if inline composition enabled, especially for some CJK IMEs
4. Improvement: avoid sending internal error notifications if failing to load lyrics
5. Development: upgrade dependencies, cleanup code
6. Translation: update Portuguese, Brazilian (by EddieMattos)

#### 1.2.0 2023.09.23

1. New: brand-new Wiki/Bio Dialog for Album/Artist with more detailed information from last.fm
2. New: support searching information (releases, artists, tracks) online from last.fm and MusicBrainz
3. Remove: feature "Auto Download Metadata (from last.fm)"
4. Improve: merge Detail and Tag Editor
5. Improve: add shortcut of Online Search, for Tag Editor and Detail
6. Improve: support importing results as tags from Online Search in Tag Editor
7. Improve: Tag Editor
8. Improve: customizable upgrade check interval
9. Improve: customizable last added playlist cutoff interval
10. Modify: make playback notification cancelable after 5 seconds if paused
11. Translation: update Turkish (by TolDYuThad)
12. Translation: update Spanish (by Leoh)
13. Translation: update Portuguese (by drcor)
14. Development: upgrade dependencies
15. Development: cleanup code
16. Development: introduce koin as dependency injection framework (may cause performance issues)
17. Development: upgrade Kotlin to 1.9.10, compile with SDK 34, upgrade Compose to 1.5.1 etc.
18. Development: upgrade AGP to 8.1.1, upgrade gradle to 8.3.

#### 1.1.0 2023.08.29

1. New: Search Result now are well cataloged
2. New: support viewing adding or editing more tags in Song Detail or in TagEditor
3. New: show raw tag information in Song Detail/TagEditor
4. Modify: do not show other tags in Song Detail/TagEditor
5. Improve: (Android Auto) allow browse all catalogs
6. Improve: (Android Auto) in playing queue, change playing position when clicking item
7. Fix: crash when resizing window
8. Fix: statusbar transparent issue in Card player style
9. Fix: possible crash after devices rebooted
10. Fix: crash when load lyrics manually
11. Translation: update Russian (by Роман Калинин (n0viceaf))
12. Translation: update Portuguese, Brazilian (by EddieMattos)
13. Translation: update Finish (by Jiri Grönroos (spammemoreplease))
14. Translation: update Japanese (by aorinngoDo)
15. Modify: forbid upgrading from v0.2.5 and older
16. Modify: warn when upgrading from v0.6.0 and older
17. Development: upgrade dependencies, clean up codes

#### 1.0.2 2023.08.24

1. Fix: playlist search may not work expectedly
2. Fix: selecting 0 item when clicking an item in list
3. Fix: crash when switching main player styles
4. Fix: no images for horizontal albums in Artist Detail
5. Fix: duplicated descriptions for horizontal albums in Artist Detail
6. Translation: update Russian (by Evgeniy Khramov (thejenja))
7. Translation: update Turkish (by TolDYuThad)

#### 1.0.1 2023.08.13

1. Fix: incorrect layout after changing grid size in Playlist page and Genre page
2. Fix: playback controls not working via some bluetooth devices

#### 1.0.0 2023.08.10

🎉 Phonograph Plus 2nd Anniversary Version

1. New: playback speed control
2. New: automatically resume playing after interruptions
3. New: add scrollbar for Playing Queue
4. New: basic support for Android Auto (as well as Assistant and so on)
5. New: support invert selection and range (adjacent) selection
6. New: support searching playlists and playing queue
7. Fix: crash after changing now playing screen style
8. Fix: no item displayed after changing between grid and list
9. Fix: crashes when playing a blocked file from the external (e.g. file explorer)
10. Fix: shuffle not working for the selected
11. Modify: disallow canceling media notification when paused(to avoid getting killed)
12. Improve: lyrics following in lyrics dialog
13. Improve: highlight the current line for synchronized lyrics in lyrics dialog
14. Improve: long texts display in Playing Queue
15. Translation: update Germany (by txp_uli)
16. Translation: update Italian (by gdonisi)
17. Translation: update Portuguese (Brazilian) (by EddieMattos)
18. Translation: update Japanese (by aorinngoDo)
19. Development: implement MediaBrowserService
20. Development: refactor adapters, clean up codes

#### 0.7.2.1 2023.07.25

1. Translation: update Japanese (by aorinngoDo)
2. Improve: app start-up performance

#### 0.7.2 2023.07.22

1. Translation: update Portuguese (Brazilian) by EddieMattos
2. Translation: update Finnish by Jiri Grönroos (spammemoreplease)
3. Improve: app start-up performance
4. New: support LyricGetter API for latest StatusBar Lyrics
5. Modify: use LyricGetter API by default (You can switch to legacy API in Setting-Compatibility)
6. Development: improve version migration
7. Development: support changing repeat mode and shuffle mode from MediaSession callback (helpful for Bluetooth devices and so on)
8. Development: store Git commit hash in Manifest metadata now

#### 0.7.1 2023.07.09

Note: you may need to process AppIntro again

1. New: support choosing different monet colors
2. Modify: Monet color would not override your configured colors
3. Fix: crash when clicking any artist in Search Result
4. Improve: app start-up performance
5. Translation: update Japanese (by aorinngoDo), Italian (by gdonisi)
6. Development: clean up codes

#### 0.7.0 2023.06.27

NOTE Please backup your Settings and upgrade then

1. New: manually load lyrics
2. New: sort order `Album Artist` and `Composer` for songs
3. New: support pinning playlists
4. New: support searching in playlists
5. New: support sorting order of playlists (name, path, date)
6. New: support multi-selection in Search Result
7. New: support per-app language preference for Android T (13) and above
8. New: add more options in Main Drawer Menu
9. Fix: new created playlists would not be appeared in list util next entrance
10. Fix: palette color of player is incorrect or lacking of update
11. Fix: app language is trapped in or out the spelling of British English (for English users only)
12. Fix: sort order of flat-folders could not be remembered
13. Fix: the incorrect message on ClearPlaylistDialog
14. Translation: update Japanese (by aorinngo)
15. Development: refactor Setting UI using Jetpack Compose
16. Improve: redesign Setting UI and make minor changes
17. Improve: avoid random crash caused by the file browser
18. Improve: Title and Buttons of some dialog (like Upgrade Dialog) are not fixed but scrollable with dialog content
19. Improve: check upgrade
20. Improve: m3u playlist management
21. Modify: in Intro, do not allow to continue if no permission granted
22. Development: use Jetpack Datastore Preference
23. Development: refactor player ui, lyrics loading and more
24. Development: improve dispatching the changes of states
25. Development: upgrade JDK to 17
26. Development: upgrade Gradle to 8.1
27. Development: AGP to 8.0.2
28. Development: clean up codes

#### 0.6.3 2023.04.30

1. Remove: Feature Show Album Cover on Lockscreen and related setting
2. Improve: crop non-square image unless in Song Detail
3. Improve: navigate to setting if no storage permission granted
4. Improve: mute some unnecessary exception notifications
5. Improve: support zipped old backup files format
6. Translation: update German (by conk), Hebrew (by Yaron Shahrabani (YaronSh)), Russian (by Макар Разин (Atrafon))
7. Development: enable `fullmode` of R8 obfuscator
8. Development: better plurals string

#### 0.6.2.1 2023.04.23

1. Note: Feature "Show Album Cover on Lockscreen" would be removed in next versions! (Applications should not be responsible for this!)
2. Fix: Progress bar on Notification would not be refreshed after rewinding to beginning
3. Modify: On Android R (11) and above, always ignore preference "Show Album Cover on Lockscreen", to fix incorrect aspect ratio of Notification Image (due to conflict)
4. Improve: Image quality on Media Notification [for Android T]
5. Development: On Android R (11) and above, set Notification Image via setting MediaSession Metadata Album Artwork
6. Development: refactor Media Notification Image loader mechanises

#### 0.6.2 2023.04.22

1. New: [Android S and above] support to read system Material You dynamic colors
2. New: [Android S and above] support to follow system Material You dynamic colors ("Monet") [experimental, only color support, NO FULL Material You support]
3. New: Better Backup mechanises
4. Improve: All backup files are zipped in one file
5. Improve: Allow to choose what content to import or export
6. Improve: better user interface for backup
7. Fix: generated playlist can not be cleared (since v0.6.0)
8. Fix: color and style of some dialogs
9. Fix: some text not capitalized (by Porkepix)
10. Translation: update German (by cvzi & conk), Italian (by Jacopo Norcini Pala (iagomago))
11. Development: upgrade AGP to 7.4.2, remove unused strings, cleanup codes

#### 0.6.1 2023.03.17

1. New: a brand-new App Introduction
2. Modify: request permissions in App Intro, ask auto-upgrade-check in App Intro, recover setting backup in App Intro
3. Translation: updated Italian (by gdonisi)

#### 0.6.0.1 2023.03.13

1. Improve: support mp4(m4a) format
2. Fix: an incorrect name of backup file
3. Development: small miscellaneous changes for F-Droid

#### 0.6.0 2023.03.08

1. Add: Flatten Folder Page
2. Add: brand-new music tag editors (including Single Edit and Batch Edit)
3. Add: support backup of Path Filter, Playing Queue, Favorites Songs which can be migrated crossing different devices (as long as song locations unchanged)
4. Remove: legacy music tag editors
5. Improve: allow multi tag editing for the multi-selected and artist
6. Improve: order of Tab pages
7. Improve: playlists save and delete
8. Modify: the exported setting json format (WARNING: Incompatible with previous versions)
9. Modify: force reboot app after clearing all settings
10. Modify: forbid upgrading from old versions (versions before v0.2.4-RC1)
11. Fix: glitch of interactions in Image Source Config
12. Fix: crash while clearing all settings
13. Fix: crash after importing backups of setting
14. Translation: update Italian (by gdonisi)
15. Development: store player state in separate preference file
16. Development: cleanup code, refactor project structure
17. Development: upgrade AGP to 7.4.1, kotlin to 1.8.10 and other dependencies

#### 0.5.4.1 2023.1.30

1. Fix: report the error NoSuchMethodException: ba.r

#### 0.5.4 2023.1.26

1. Improve: using Kaned1as version of jaudiotagger, to support reading tags of opus format
2. Fix: random crashes when going back to Main Player from background
3. Fix: missing header of Artist Detail (Since v0.5.3)
4. Development: cleanup and refactor codes

#### 0.5.3 2023.1.19

1. Fix: sort mode Duration is invalid
2. Fix: can't turn off Check for update automatically (since v0.4.0)
3. Development: cleanup and refactor code

#### 0.5.2 2023.1.13

1. Translation: updated Japanese (by aorinngo)
2. New: support manage embed image source of song files
3. Fix: lyrics can not be shown unless write storage permission granted since v0.5.1
4. Fix: crash when moving same songs in Playing Queue
5. Development: enable Java 11 support, clean up codes

#### 0.5.1 2022.12.31

1. Translation: updated Italian (by gdonisi & Andrea Enzo Lattmann), German (by worldtest), Polish (by Robert Biś)
2. Improve: permission grant
3. Improve: try to avoid crashes due to main player animations

#### 0.5.0 2022.11.27

1. Fix: on large tablets, the number of list columns cannot be adjusted and locked to 6 columns when the screen is landscaped
2. Fix: low contrast color of the text and icon on Search Page if using a light primary color
3. Fix: some color glitch
4. New: playing queue snapshot: track the current queue, record and save when playing queue is entirety replaced (keep till app rebooted), only store recent changes, to recovery queues, goto player menu (playing queue history)
5. New: custom click-behavior: allow custom click-behavior for song items or file items in list: There are 8 modes and 2 extra behaviors allowing defining what player should do when clicking item in a list.
6. Remove: the option "Remember Shuffle" (It's a very vague option, causing conflict with some intended playing actions and custom click-behavior)
7. Remove: the option "Keep the playing queue intact" (It's useless now since queue snapshot and custom click-behavior were added)
8. New: a confirm dialog when playing from outside (like open from file explorer): The options are similar to custom click-behavior.
9. Fix: playing from shortcut won't work
10. Optimise: lyrics fetching and loading performance
11. Translation: updated Russian (by ElinaAndreeva)
12. Development: refactor Queue Manager, clean up code, update dependencies, using Gradle VersionCatalog

#### 0.4.1 2022.10.28

1. Fix: stuck when opening song details
2. Fix: terrible contrast of the text and icon on Search Page when under light primary color (Partial Fix)
3. Add: a general switch for all lyrics functions
4. Improve: Crash Report Page - to distinguish between crash and internal error
5. Improve: menu
6. Development: clean up code

#### 0.4.0 2022.10.23

🎉 Phonograph Plus 1st Renaming Anniversary Version
One year ago, first canonical stable Phonograph Plus version v.0.0.1 was released.

1. Translation: update Russian (by Photon Gilbert), Turkish(by Erdem Özdemir)
2. Translation: clean up translations for all language
3. Fix: crash when importing databases
4. Remove: Blacklist
5. New: the Path filter, support "exclude mode" (blacklist) and "include mode" (whitelist), currently they can not be enabled at the same time
6. New: Song Details Page
7. New: brand new and detailed Upgrade Dialog and more
8. Improve: menus (almost all lists provide "Play", "Shuffle Play", "Play Next", "Add To Queues", etc.)
9. Development: Refactor media reading
10. Development: Introduce Jetpack Compose
11. Other: APK is bloated, no longer "tiny but versatile"

#### 0.3.5.2 LTS 2022.10.11

1. Fix: Low pixel images appearing in the main player due to image cache policy misconfiguration
2. Fix: Scan Media Dialog crashes if early exit before the loading finished

#### 0.3.5.1 LTS 2022.10.8

1. Fix: Delete Dialog does not show delete results
2. Fix: songs can not being parsed when using the old way to browse files
3. Fix: crash when embedded images in songs are too large
4. Fix: crash when resizing app window

#### 0.3.5 LTS 2022.10.6

1. Translation: update Japanese (by aorinngo), Spanish (by Armando de Nazareth)
2. Fix: could not scroll Delete Dialog

#### 0.3.4 2022.10.3

1. New: delete song along with the lyrics file with the same name (requires `Manage all external files` permission)
2. Fix: when play a folder, it cannot recursively select all subfolders
3. Fix: player interface crash, e.g. when resizing the window (partially fixed)
4. Improve: limit image size limit when loading to prevent crashes due to oversize images
5. Improve: mute error notifications when encountering `opus` format (currently we cannot read tags of `opus` )
6. Development: add missing licenses of some libraries
7. Development: update Gradle to 7.5.1, update AGP to 7.3.0, update dependencies

#### 0.3.3 2022.9.18

1. Fix: randomly refresh playing queue on opening
2. Improve: move swapping-queue operations (e.g. shuffle all, play a playlist, play an album/artist) to background, to fix getting frozen when changing queue especially for users having to many song
3. Improve: designate a rational images size when loading cover artworks, to try to not crash app if the image is too large

#### 0.3.2 2022.9.13

1. Translation: updated Russian (by Photon_Gilber), French (by Exylos)
2. Development: upgrade targetSdk to 33 (Android 13) (experimental)
3. Development: remove `Glide`, use `Coil` to load images
4. Development: remove `Gson`, use `kotlin.serialization` to handle Json
5. Fix: the icon color is still white under light background
6. Add: "play all" buttons in the top bar of all songs page
7. Improve: add shortcut to grant "Manage All Files" permission
8. Improve: use new UI in "Scan Media" and "Add To Blacklist" dialogs
9. Improve: rewrite many strings, clean up useless strings
10. Improve: Improve changelog dialog
11. Improve: the check update procedure (and prevent popping up the update prompt repeatedly)
12. Remove: issues reporting page (use a smaller dialog instead now)
13. Remove: the feature of logging into GitHub to submit an issue (useless for most people)
14. Development: clean up and upgrade dependencies, upgrade AGP to 7.2.2, upgrade kotlin to 1.7.10, enhance obfuscation
15. Release: adding fastlane metadata

#### 0.3.1 2022.8.18

1. Translation: updated Italian (by Andrea Enzo Lattmann (Gh0stz0x)), French (by Exylos), Russian (by Photon_Gilbert)
2. Translation: clean up English(British), English(Canadian) translations (only keep words that are different from default English(US))
3. Translation: Remove Swedish and Norwegian Nynorsk translations (missing too many translations)
4. New: Initial support for changing language in app (imperfect yet)
5. Fix: Crash after rotation to landscape
6. Fix: After the playlist is modified, when the current track is finished, the audio of "Next Track" to play is still be "Next Track" of the PREVIOUS playlist, but player display the "correct" "Next Track" of the NEW playlist
7. Fix: Couldn"t play new queue by clicking a Song item (including starting position and tracks order), when "Please do NOT touch my playing queue arbitrarily" option is turned off
8. Fix: In main player, total time of subsequent tracks (after "Up Next") incorrectly
9. Improve: The design of Crash Report
10. Improve: Save crash report to external cache dir (/Android/data)
11. Development: clean code

#### 0.3.0 2022.8.10

🎉 This is Phonograph Plus 1st Anniversary Version!

1. Fix: when the app widgets exist, application would crash and widgets won't be refreshed
2. Development: optimize obfuscation and shrink configuration

#### 0.3.0-RC02 2022.8.8

1. Add: a brand new `Folders Page`:
   ├ Read song files from `MediaStore` (significantly better performance on Android 10 and above), but you can still use old method to read song files;
   ├ (Try to) fully support browsing external removable storage devices (such as SD cards, etc.);
   ├ Use sweep-down-refresh;
   └ Allow sorting files by file name, file size, date added, date modified;
2. Remove: the legacy `Folders Page`, and update drawer
3. Improve: refactor `Playlist Detail` and simplify editing
4. Improve: calculation for "My Top Tracks"
5. Add: support for force to refresh and recalculate "My Top Tracks" playlists
6. Add: responding `last.fm` link in Artist&Album Detail(Note: Currently, wiki of last.fm is still working, there is no plan to maintain.).
7. Add: Preference Item "Please do NOT touch my playing queue arbitrarily", which would make app try not to clear or override playing queue without user's specific request (instead, just add songs to queue) if preference enabled.
8. Add: a menu item to change the current Now Playing Screen in the Now Playing Screen
9. Fix: crash when opening sleep timer dialog for first time.
10. Fix: wrong color of context menu icon when multiple selection
11. Development: clean up the code of Album Details Page, and begin to handle with the plan about redesigning
12. Development: refactoring of plenty of historical codes, including
    ├ Background Music Service (possibly a HUGE number of potential bugs related to music playing)
    ├ Album Detail
    ├ Playlist Detail
    ├ Now Playing Screen / Main Player (about Song Cover Images)
    ├ File Scanning
    ├ Sort Order
    ├ List Appearance Popup Menu
    ├ Theme
    ├ Multi-selection
    └ Sliding Player Panel
13. Development: cleanup Gradle build script and project structure

Known Issues:

1. Glitch Album Detail Transition Animation
2. Multi-selection conflict in Artist Detail
3. No path history for brand new File Page (currently)
4. Glitch song cover in the main player (most circumstances were fix in beta02)

#### 0.2.6 2022.6.6

1. Improve: saving of playlists, and try to fix playlists on PHYSICAL SD cards that could not be saved
2. Add: allow to modify the operation behaviour of playlist files (located in Settings -> Compatibility -> Operational Behaviour for playlist files), which can force to use SAF (or the legacy method) to operate the playlist files
3. Add: "Last Added" playlist interval now supports "Last 14 days" and "Last month"
4. Add: shortcut for modifying the "Last Added" playlist time interval in the "Last Added" playlist details (in three-dots popup menu)
5. Fix: the crash when create or modify playlists due to Toast for users on Android 9 and below
6. Development: updated Kotlin to 1.6.21, updated AGP to 7.2.1
7. Development: upgrade targetSdk to 32 (Android12.1)

#### 0.2.5 2022.6.3

1. Add: backup and restore settings (experimental)
2. Fix: crash when resizing window
3. Improve: avoid now-playing page crashes or constantly reporting error notifications
4. Development: use productFlavors in building project
5. Development: use white-background vector outline icons for all Debug builds

#### 0.2.4-RC1 2022.5.15

##### Note:

1. This update involves changes to the database storing playing queue . If you find that the current play queue is abnormal or corrupted, please erase app data
2. This update involves changes to the "sort order" settings, and current sort orders would be reset

1. Fix: crashes after toggling system dark mode
2. Fix: elements transition animations for album details and artist details have been lost since v0.2.0
3. Fix: occasional glitches of matching(parsing) songs with the album or the artist (in the case of "a same album but songs have different artists") in the album and artist page
4. Optimize: album and artist matching(parsing) mechanism (this may cause more loading time)
5. Add: new sort order "sort by number of songs (or albums)" for albums and artists and genres
6. Fix: the fast scroll bar does not prompt the date when the songs are sorted by "Date Added"
7. Improve: notifications for most time-consuming operations instead of using dialogs
8. Improve: notification for more internal errors
9. Development: enhance code obfuscation
10. Development: clean up code, replace all AsyncTask
11. Development: upgrade AGP to 7.2.0, upgrade kotlin to 1.6.20

#### 0.2.3-RC2 2022.4.21

1. Fix: occasional crashes caused by status bar lyrics (e.g. when clearing now-playing music notification)
2. Fix: crashes when multi-selecting some certain albums

#### 0.2.3-RC1 2022.4.20

1. Fix: a crash when sorting in the setting item "Library Category"
2. Fix: the setting item "Library Category" could not be saved correctly
3. Fix: music notifications could not be swiped or canceled after music paused or stopped
4. Fix(or not): now-playing notification hasn't been refreshed in time or displays incorrect song information (suspiciously)
5. Fix: always show the first line of LRC lyrics, even if the song has not been gone to the position of first line
6. Optimize: Status Bar Lyrics adaptation / support
7. Fix: status bar lyrics disappears after exiting the app or after the app waits in the background tasks for too long
8. Optimize: locate the line in LRC lyrics now basing on binary search algorithm
9. Add: parse ∖n and ∖r in LRC lyrics
10. Change: show song cover images in search results
11. Change: notify via notifications instead of dialogs while scanning files
12. Optimize: file scanning
13. Development: clean up and optimize code
14. Development: replace all AsyncTaskLoader

#### 0.2.2 2022.4.14

1. Fix: crash in landscape or when switching orientation
2. Change: turn off a meaningless error report notification

#### 0.2.1 2022.4.13

1. Fix: crash when loading some song lyrics with special characters
2. Change: optimize lyrics loading
3. Change: display all matching lyrics

#### 0.2.0-RC2 2022.4.8

- Fix: Crash when playing some types of media files due to misconfiguration of Proguard

#### 0.2.0-RC1 2022.4.7

1. Development: refactor most lyrics related code
2. Development: Clean up the main player UI code, and improve its performance
3. Change: rewrite lyrics dialog UI
4. Change: increase size of the lyrics dialog
5. Change: update Chinese Traditional translation(by me via OpenCC)
6. New: manually select lyrics source (embedded or external) in lyrics dialog
7. New: automatically lyrics scrolling along with song playback (experimental support)
8. Fix: occasionally now-playing notification hasn't been refreshed in time or display incorrect song information in the notification bar (suspiciously)
9. New: error report notifications, only record and notify non-critical internal errors for better debugging
10. Development: try to record occasionally error layout of playing queue card in the card main player
11. Development: partially turns off annoying Glide irrelevant log output
12. Development: upgrade gradle to 7.4, upgrade AGP to 7.1.2
13. Development: upgrade kotlin 1.6.10, and use kotlin DSL in build.gradle
14. Development: cleanup code

#### 0.1.2 2022.3.25

1. Add: Store favorite songs in internal databases (you can switch back to the original way of storing in external storage as m3u playlist files as well)
2. Add: Internal databases export and import (experimental, in the upper right menu of the settings page)
3. Add: Reset all settings
4. Add: Directly open settings page in the crash page
5. Improve: batch delete of playlists
6. Translation: Update Turkish translation (by @TolDYuThad)
7. Development: Cleanup code & resources

#### 0.1.1 2022.3.18

1. Fix: crashes caused by the favorite playlist
2. Fix: changelog's night mode not working
3. Fix: it gets stuck after adding a blacklist via shortcut
4. Add: a setting entry for directly resetting the media library category
5. Add: split changelog and update popup into Simplified Chinese version and English version
6. Improve: author information and translation entrance in About

#### 0.1.0 2022.3.15

Tips:

1. You may need to set the theme color again in this version.
2. For users of Android 10 (Q) and above, there are still some big problems with playlist editing (reordering & removing songs)

Changes:

1. Fix: the crashes caused by sleep timer on Android12
2. Improve: Major change to "media library" (but some parts are not done yet)
3. Add: the feature of cleaning up the configuration of historical residual files of old versions from now
4. Fix: After the playlist is changed (creating / renaming / deleting), it cannot be refreshed in time (but only in-app operation)
5. Improve: If deleting the playlist fails, you can try to use the SAF (Storage Access Framework) to authorize permission for its directory and try to delete it again (but the current interactive experience is horrible, and the file may be deleted by mistake!!!)
6. Improve: For users of Android 10 (Q) and above, use SAF to create playlists (including creating an empty list and saving the player's current play queue)
7. Improve: Use SAF to copy (or save) playlists (Currently, single playlist can be set a custom name, while multiple playlists would be added a time suffix and save in the same selected directory)
8. Improve: For users of Android 10 (Q) and above, SAF authorization is required to add songs to an existing playlist (Currently horrible user experience)
9. Development: Refactor the code structure, optimize the code, clean up the dependencies (so need to set the theme color again)
10. Development: Remove ButterKnife
11. Development: Build app with AGP 7.0.4 (along with Gradle 7.1.1)
12. Development: Upgrade Glide from 3.8.0 to 4.12.0 (so may cause some cover loading issues)
13. Development: Extreme code confusion, for keeping Apk small and petty

Older changelogs are not in English. (They are in Chinese)