Harmonoid Changelog

What's new in Harmonoid 0.3.8

Apr 7, 2023
  • Highlights:
  • Fixed an issue that caused playback to start from first track instead of the track clicked if current queue was finished.
  • Fixed an issue that caused ink ripple to display on various surfaces when opening context-menu with right-click.

New in Harmonoid 0.3.7 (Apr 4, 2023)

  • Highlights:
  • Added support for HARMONOID_CACHE_DIR environment variable to set cache location.
  • Fixed missing metadata of some music files on Android.
  • Fixed theming of some components e.g. switches.
  • Fixed an issue that made process not terminate on some versions of Windows (#408).
  • Update package:media_kit to v0.0.3.
  • Update package:safe_local_storage to v1.0.2.
  • Translation Updates:
  • Updated Spanish (@enrique-mp).
  • Updated Portuguese (@maisondasilva).
  • Updated Catalan (@aniol).
  • Updated Japanese (@maboroshin).
  • Updated Czech (@Tutislav).
  • Updated Italian (@Trainax).
  • Updated Russian (@Feelogil).

New in Harmonoid 0.3.6 (Apr 4, 2023)

  • Added setting to change speed of animation effects or disable them entirely (#341).
  • Added Ctrl + Q key-binding to close the application (#403).
  • Reduced size of Windows installer & build by ~10 MB & ~30 MB respectively.
  • Thanks to @Quackdoc for stripping unused FFmpeg decoders.
  • Improved route animations.
  • Improved default window size (used on fresh install).
  • Improved "Show Album" performance. It is O(1) now.
  • Improved album screen, artist screen & playlist screen animations.
  • Improved directory picker layout on mobile.
  • Improved music library & settings layout on mobile.
  • Re-arranged settings.
  • Now language selection dialog shows country (#401).
  • Now resolved album arts are cached for rendering.
  • Fixed issue that caused new tracks to not show in album artists & artists after pressing refresh.

New in Harmonoid 0.3.5 (Jan 6, 2023)

  • Highlights
  • Fixed NAS / SMB support on Windows.
  • Fixed issue that caused opening music from File Explorer making Harmonoid restored (if maximized) on Windows.
  • Added ability to disable all audio filters on Android (disabled by default).
  • Disabled GTK header-bar on GNOME desktop environment (#380).
  • Fixed unresponsive process when closing window on Windows 7 only.
  • Updated new page animation when clicking on hyperlinks.
  • Added support for installing for current users only on Windows (#372).
  • Fixed next/previous buttons not greyed out in ModernNowPlayingScreen (#369).
  • Made fallback album arts configurable (#379).
  • Fixed missing thumbnail toolbar buttons on Windows.
  • Fixed "CANCEL" button on minimum file size dialog popping Navigator on the wrong BuildContext.
  • Migrated project to API changes in package:media_kit.
  • Safer hyperlinks. Added null-check after lookup for album/artist in package:media_library HashSet(s) (#366).
  • Added multiple genre support (not exposed yet).
  • Added Play all button next to Shuffle on Albums, Tracks & Artists screens to play them orderly.
  • Now background visuals are stored as animated WebP.
  • This has significantly reduced bundle size & also improved Linux's performance with ModernNowPlayingScreen (?).
  • Aligned text & label inside various TextField(s).
  • Fixed issue that made manually entering values in "Control Panel" difficult.

New in Harmonoid 0.3.4 (Nov 16, 2022)

  • Highlights:
  • Ability to configure parameters (year, album artist & album name) which identify an album uniquely.
  • Remembering window position, size & maximized state on fresh start.
  • Ability to set custom libmpv options, properties & flags (#329).
  • Smoother animations (upstream from Flutter 3.3.x).
  • Smoother scrolling with trackpad/touchpad (upstream from Flutter 3.3.x).
  • Fixed/improved FLAC & OGG bitrate calculation/approximation.
  • Fix track order in AlbumScreen. Now accounts disc-number.
  • AlbumTile context menus (#339).
  • Fixed crash on Windows 7.
  • Fixed legacy NowPlayingScreen.
  • Fixed annoying line below window controls on Windows (rarely experienced on some PCs).
  • Rewrite custom window frame, more stable DPI-change handling, hit-box testing & fullscreen.
  • Use Win32 API to fetch AppData & default Music folder on Windows instead of environment variables.
  • Prevent data-redundancy in music library caching.
  • Improve "show in file explorer" behavior on Linux.
  • Improve Android launch speed.
  • Improve the quality of color palette extraction (further tweaks).
  • Better & performant URI & file path parsing.
  • Re-designed missing folders screen.
  • Add missing "Add to playlist" & "Shuffle" buttons on Android (at-places).
  • Enable Linux / Android-x86 touchscreen & mouse drag scroll (#342).
  • Old streaming recommendations behavior i.e. refresh on page revisit.
  • Fixed an issue that caused Harmonoid to request last-modified time stamps of all files already present in cache.
  • This is a major issue. Now, cached last-modified time stamps are used.
  • This will also improve start-up performance & safety with long file-paths on Windows. Apologies for the inconvenience.
  • Known Issues:
  • There are few known issues & changes. These will not prevent Harmonoid from functioning, just for the record.
  • Sometimes "Visuals" thumbnail may fail to load.
  • Now whole music library is not added to playlist by default, when playing music from "TRACKS" tab.
  • Users may revert to old behavior by enabling "Add library to playlist when playing" flag from settings.

New in Harmonoid 0.3.3 (Sep 22, 2022)

  • Fixed an issue where pressing next/previous buttons with shuffle-enabled didn't pick a random track from the queue (#333).
  • Thanks to @FloRyuK0 for the report.
  • Fixed animation lag when opening ArtistScreen.
  • Fixed a performance issue where UserScrollNotification were redundantly being bubbled.

New in Harmonoid 0.3.2 (Sep 20, 2022)

  • Highlights:
  • Apparently, having Latin characters with certain accents in metadata values confused libmpv.
  • This caused libmpv to return incorrect UTF-8 bytes (from dart:ffi/package:ffi's perspective).
  • This resulted in an unhandled FormatException by Dart (from utf8), causing whole event callback isolate to die.
  • For the character è:
  • libmpv stores it in a single byte with a value of 232. I mean that's under 255, so SGTM.
  • dart:ffi expects 195, 168 (with an extension byte). But, I think Dart's FFI is correct.
  • Thanks to @Zahrun for the file sample & the bug-report.
  • This is quite odd since Harmonoid is tested against music files having metadata/tags in Japanese, Mandarin & other foreign languages (even Latin characters with accents). This was quite an edge-case.
  • However, the issue is now fixed. More details may be found at #331.
  • Harmonoid on Android now uses MD5 hashing for generating a unique identifier to cache the file when opened from file explorer etc.
  • This will prevent any "File name too long" IOExceptions from Java/Kotlin.
  • Translations have been updated for few of the languages, thanks to our kind translation providers.
  • Update Portuguese translations. Thanks to @maisondasilva.
  • Update Simplified Chinese translations. Thanks to @wcxu21.
  • Update Russian translations. Thanks to @Feelogil.

New in Harmonoid 0.3.0 (Sep 11, 2022)

  • Highlights:
  • These bugs aren't that easily reproducible for most users but need to be addressed before moving on.
  • Although this was expected, considering first Android build & large improvements to windows/linux tag reader.
  • Along the way, this also brings updated translations from our kind translators at harmonoid/translations.
  • Consider updating to this if you're on v0.2.9 or lower.
  • Changes:
  • fix(critical): music files without any embedded metadata taking way too long to load (android).
  • big thanks to @RapidzDE for descriptive reports.
  • fix(critical): application not reading tags from some music files (#321) (windows, linux).
  • big thanks to @lars-goeran for descriptive reports.
  • fix(critical): some files not being indexed from added folders (#322) (windows, linux).
  • big thanks to @sakuramodokich for descriptive reports.
  • fix: view album art button not working for some albums containing ascii characters (windows, linux).
  • big thanks to @sakuramodokich for descriptive reports.
  • fix(critical): next & previous buttons not skipping tracks when on "repeat-one" mode (android).
  • big thanks to @NoeRi9n for descriptive reports.
  • fix(critical): discord rpc album arts & metadata do not correct for missing tag files (windows, linux).
  • fix(critical): improve now-playing-screen & android notification performance (windows, linux, android).
  • these freezes were more noticable with there were more files without any embedded metadata & album art.
  • fix: make fallback album art lookup (cover.jpg, Folder.jpg) experimental (windows, linux, android).
  • looking up for additional files at rendering can be expensive.
  • fix: do not spam console with RangeError messages redundantly (windows, linux).
  • perf: improve android storage path retrieval.
  • style: fix TextField paddings on linux.
  • feat: dedicated like button on android now-playing-screen.
  • translation updates (thanks to our kind translation providers):
  • update Azerbaijani translations. thanks to @Lucifer25x.
  • update German translations. thanks to @MickLesk.
  • update Indonesian translations. thanks to @KesiTakeshi.
  • update Japanese translations. thanks to @yulog.
  • update Portuguese translations. thanks to @maisondasilva.
  • update Simplified Chinese translations. thanks to @wcxu21.
  • update Swedish translations.
  • update Russian translations. thanks to @Feelogil.

New in Harmonoid 0.2.9 (Aug 31, 2022)

  • Perf: improved indexing performance even more!!! now indexing around 50 tracks per second.
  • Since app caches songs for future automatically, this is important only for new users or during re-indexing.
  • Fix: addressed & improved linux memory management.
  • Feat: new music sorting/ordering ui & floating panel for desktop.
  • Fix: non-square album arts being stretched.
  • Fix: visual image picker in linux.
  • Fix: unsafe file explorer association & "Play URL" implementation [with certain file paths].
  • Fix: race condition in discord rpc.
  • Fix: non-tagged media showing incorrect album arts in discord rpc.
  • Fix: safer File I/O EditDetailsScreen album art change on windows.
  • Fix: compatibility with older libmpv versions (before v0.33.0).
  • Fix: disable custom window frame on windows 7, 8 & 8.1.
  • Fix: application not restoring the last played playlist's index on fresh start.

New in Harmonoid 0.2.7 (Aug 6, 2022)

  • Fix: broken YouTube Music recommendations (thanks to @omaru-ok for report).

New in Harmonoid 0.2.5 (Jul 13, 2022)

  • This release is being made after a really long time. I've largely worked on the missing features, made implementation a whole lot safer, added some new functionalities that set a standard for us & separate us from the crowd. The good ol' modern, consistent & cohesive Material Design that we follow & perfect animations still make us stand out.
  • I'm still determined to make this experience even better in future updates & this update brings a lot of it to reality.
  • Time-synced lyrics & visuals during music playback.
  • In-app hyperlinks for local music collection. Now everywhere a album's name or artist's name is present in the UI, you can just click it to reach it quickly. This only works for your local music library.
  • Pitch shifting.
  • Improved Discord RPC with album art & remaining time.
  • Details editor screen.
  • YouTube playlist importing.
  • added option to show a local music directly in File Explorer.
  • Added ability to disable Discord RPC.
  • Patches to libmpv bindings to fix a number of media playback related issues.
  • Refactored indexing to use HashSets. Now indexing is way faster, safer & efficient.
  • Improved caching mechanism inside the application to be more safe to corruptions, power-cuts or other interruptions.
  • Added "Add to now playing" button on YouTube songs.
  • Add "copy-link" & "open-in-browser" buttons right at the NowPlayingBar for quicker access.
  • Other performance improvements & UI tweaks to make things more pleasant to use.
  • Now the application warns if any of the folders you added to your library are inaccessible.
  • Notes:
  • This update will cause one-time-only re-indexing in your music collection. It is important because re-indexing logic is refactored completely to be more efficient (& will remain same in future releases).
  • Android version is not being released yet, as I don't feel confident about it yet & needs a lot of features/accessibility-related improvements. This update was already very delayed & can't wait anymore. In future update, I will release Android along with patches to issues that are reported for Linux or Windows.

New in Harmonoid 0.2.4 (May 11, 2022)

  • Feat: Linux application is now single instance (@alexmercerind).
  • Feat: Now application handles following separators in artist tag (as opposed to just /) (@alexmercerind):
  • ;, , \, // & /.
  • Feat: "Stats" section in Settings (@alexmercerind).
  • Feat: "Show in file manager" option in track menu for Windows & Linux (@alexmercerind).
  • Style: Improve tooltip style on desktop (@alexmercerind).
  • Style: Improve ArtistScreen animation on mobile (@alexmercerind).
  • Style: Update default album art (@alexmercerind).
  • Style: Ability to disable minimal scaffold background artwork (@alexmercerind).
  • Perf: No longer limiting the size of libmpv demuxer cache on Windows & Linux (@alexmercerind).
  • Perf: Improve app persistence & state saving (@alexmercerind).
  • Perf: Improve libmpv specific API calls (@alexmercerind).
  • Fix: Currently playing track's metadata & artwork being scrambled when shuffling was enabled on Android (@alexmercerind).
  • Translations: Update French (@ejacquemoud).

New in Harmonoid 0.2.3 (May 8, 2022)

  • No ground-breaking fixes or features, just a few performance improvements, minor fixes & other tweaks to make the day better.
  • Perf: No longer parsing & indexing music files under 1 MB (@alexmercerind).
  • Perf: Improved playlist event handling & get rid of redundant UI redraws (@alexmercerind).
  • Perf: Dynamic now-playing-bar coloring improvements (@alexmercerind).
  • Fix: Certain tracks missing artworks on Android (@alexmercerind).
  • Fix: Color of refresh button & navigation bar text when "Dynamic now-playing-bar coloring" is enabled on mobile (@alexmercerind).
  • Fix: No longer clamp playlist index overflow/underflow but avoid event (@alexmercerind).
  • Fix: Color of context menu button on WebTrackTile (@alexmercerind).
  • Fix: Safer cache management & file-write transactions (@alexmercerind).
  • Fix: Shuffling on Windows & Linux (@alexmercerind).
  • Style: Few UI tweaks to put everything together nicely (@alexmercerind).
  • Feat: Now currently playing track's name is shown on window title & taskbar tooltip on Windows (@alexmercerind).
  • Translations:
  • Japanense is now completely translated (@yulog).
  • Added Indonesian translation (@KesiTakeshi).
  • Portuguese is now completely translated (@maisondasilva).
  • Thanks ʕ•́ᴥ•̀ʔっ♡

New in Harmonoid 0.2.2 (May 1, 2022)

  • Fix: Addressed randomly occurring issue that made adding new folders to library impossible (@alexmercerind).
  • Feat: Improved YouTube Music experience. Now you can (@alexmercerind):
  • Learn more about improved YouTube Music support here.
  • Search & browse artists.
  • Search & browse playlists.
  • Search & browse albums.
  • Search & browse songs.
  • Infinite paginated recommendations.
  • Ability to save playlists locally.
  • Feat: Added "History" playlist (@alexmercerind).
  • Feat: Android support & mobile friendly UI written from ground-up. Key features involve (@alexmercerind):
  • Same consistent Material Design animations & UI.
  • Floating Search Bars & improvised search experience.
  • Improvised bottom navigation bar experience.
  • Good ol' time-synced lyrics in notification.
  • Handling of intents from file explorer etc.
  • Scroll sensitive "Now Playing Bar".
  • Feat: Auto-coloring now-playing-bar (optional) (@alexmercerind).
  • Fix: .rpm packaging for Linux (@prateekmedia).
  • Feat: Ability to play any web media URL & fetch its metadata (@alexmercerind).
  • Feat: Optional proxy to browse YouTube Music (@mytja).
  • Style: Improvise TextFields to follow Material Design (@alexmercerind).
  • Perf: Improved file explorer integration on Windows & Linux (@alexmercerind).
  • Translation updates:
  • Russian: @Feelogil, @raitonoberu.
  • Portuguese: @maisondasilva.

New in Harmonoid 0.2.1 Hotfix 1 (Mar 3, 2022)

  • Feat: Now various app settings like volume, rate, shuffle, playlist etc. are not lost after restarting app (@YehudaKremer).
  • Fix: Handle long file-paths on Windows (#214) (@alexmercerind).
  • Fix: Handle network drives correctly (#224) (@alexmercerind).
  • Fix: Incorrect album artist in .FLAC (@alexmercerind).
  • Fix: Corrupt files cause indexing performance to drop massively (@alexmercerind).
  • Fix: YouTube response validation (@YehudaKremer).
  • Fix: play/pause related bug (@YehudaKremer).
  • Perf: Improve music collection refresh & adding/removing directory performance (@alexmercerind).
  • Perf: Improve app transitions & animations (@YehudaKremer).
  • Add Persian translation (@0xj0hn).
  • Update Portuguese translation (@maisondasilva).

New in Harmonoid 0.2.1 (Feb 27, 2022)

  • Keyboard navigation & query highlighting in YouTube search bar (@YehudaKremer).
  • Added tooltips to the now playing bar (@YehudaKremer).
  • Massive improvements to the image caching & loading (@alexmercerind).
  • Improvements to the scrolling performance (@YehudaKremer).
  • Improvements to the RAM usage (@alexmercerind).
  • Fix incorrect music folder on Linux (@alexmercerind).
  • Improve YouTube album arts loading time (@alexmercerind).
  • Updated Japanese, Mandarin & Turkish translations (@yulog, @zzs20020430 & @Lucifer25x).

New in Harmonoid 0.2.0 (Feb 19, 2022)

  • New! Added new artist-album screen for browsing music (@alexmercerind).
  • New! Linux support is back with libmpv for music playback & parsing (@alexmercerind).
  • New! Linux: D-Bus MPRIS controls (@alexmercerind).
  • New! Linux: Switch to Inter font family (@alexmercerind).
  • Refactor: AlbumScreen & ArtistScreen now show album arts in perfect square shaped (@alexmercerind).
  • Massive improvements to scroll performance (@alexmercerind).
  • Accessibility: Fix NowPlayingScreen's coming up list to be more user friendly (@alexmercerind).
  • Fix: Scrollbar not working in NowPlayingScreen.
  • Windows: Fix window could be dragged from caption buttons (@raitonoberu).
  • Windows: Fix delay when pressing any of Windows caption buttons (@raitonoberu).
  • Windows: Add Harmonoid to context menus with "Add to Harmonoid's Playlist" entry (@alexmercerind).
  • Windows: Stripped installation size by ~10MB.
  • Windows: Installer now deletes .Harmonoid folder after uninstall (@raitonoberu).
  • Linux: Add minimum size for the window (@alexmercerind).
  • Linux: Added new RPM package (@prateekmedia).
  • Fix: Randomly flickering tracks in AlbumScreen (thanks to @SleepDaemon for report) (@alexmercerind).
  • Fix: Windows 7, 8, 8.1 crashes (@mytja).
  • Fix: Windows left & right borders on Windows 10 or older (@alexmercerind).
  • Feature: Now scrolling over volume/rate slider can control the value (@alexmercerind).
  • YouTube: Fix YouTubeApi.getTrack (@mytja).
  • YouTube: Fetch more recommendations to fill the screen (@alexmercerind).
  • YouTube: Fix blurry album arts (thanks to @SleepDaemon for report) (@alexmercerind).
  • YouTube: Fix links not being picked correctly from the search field (@alexmercerind).
  • We no longer distribute application under GPL-3.0 but End-User License Agreement for Harmonoid.
  • Big thanks to @Poopooracoocoo for bug-reports.
  • Added Turkish translation (@TuranBerlin).
  • Updated Portuguese translation (@maisondasilva).
  • Added Russian translation (@raitonoberu).
  • Fix: "Add to now playing" pauses music on Linux (#121) (@alexmercerind).
  • Fix: Arabic language rendering on Linux (#122) (@alexmercerind).
  • Added ability to configure following parameters (@alexmercerind):
  • Show track progress on taskbar icon.
  • Automatically add other songs from collection after album completion.
  • Automatically jump to NowPlayingScreen after playing a track.

New in Harmonoid 0.1.8 (Oct 7, 2021)

  • Rewritten music indexer. Now music is indexed faster than ever before (@alexmercerind).
  • Added RPM package (@prateekmedia).
  • Added shuffle repeat/repeat-one controls on Windows & Linux (@alexmercerind).
  • Added new now playing screen (with lyrics) on Windows & Linux (@alexmercerind).
  • Now OGG files with non-OGG extensions (e.g. OGX, OGA) correctly show album art (Windows & Linux) (@alexmercerind).
  • Improved refresh indicator. Now properly shows how many tracks are indexed out of how many (@alexmercerind).
  • Now app checks for Folder.jpg (in the track's directory) to be used as album art (@alexmercerind).
  • Now audio duration is shown in music collection (@alexmercerind).
  • Fixed "Add to now playing" not working on Linux (@alexmercerind).
  • Now Visual C++ Runtime libraries are distributed within the app (@alexmercerind).
  • Many tweaks to the UI to make it more user engaging & surfaces more distinguishable (@alexmercerind).
  • Improve light mode theme (@alexmercerind).
  • Fixed music directory finding on Linux (@gaetan1903).
  • Added optional 125% scaling (@alexmercerind).
  • Enable acrylic by default on Windows (Windows 11 release) (@alexmercerind).
  • Enable 125% scaling on Linux by default (@alexmercerind).
  • Update Dutch & French translations (@LeonHoog & @gaetan1903).
  • Made improvements to app persistence & translations (@LeonHoog).
  • Update Hindi translations (@prateekmedia).
  • Updated contributors.
  • Added keyboard shortcuts on Windows & Linux (@alexmercerind):
  • Alt + Space: Play/Pause.
  • Alt + N: Next track.
  • Alt + B: Previous track.
  • Alt + M: Mute/Un-mute
  • Alt + V: Volume increase.
  • Alt + C: Volume decrease.
  • Alt + X: Seek forwards.
  • Alt + Z: Seek backwards.

New in Harmonoid 0.1.7 (Sep 22, 2021)

  • Fixed bugs related to indexing of music collection (@alexmercerind).
  • Now Collection.lastAlbum, Collection.lastTrack & Collection.lastArtist are assigned/updated as new files are discovered (instead of assigning at the end of indexing all the files) (@alexmercerind).
  • Fix a minor bug related to refresh button of collection (@alexmercerind).
  • Now using wcstombs on Linux to convert std::wstring metadata fields (@alexmercerind).
  • Now file paths are logged into stdout when indexing (making easy to any problem causing media file) (@alexmercerind).
  • Updated Swedish translation (thanks to Max Haureus).

New in Harmonoid 0.1.6 (Sep 21, 2021)

  • Improve colors & shades (@alexmercerind).
  • Add "add to now playing" for all kind of music (@alexmercerind).
  • Improve YouTube UI & added new screen (@alexmercerind).
  • Android: Redesigned & revamped Android (@alexmercerind). ✨
  • Android: Android now supports adding multiple collection indexing directories (@alexmercerind) (#63).
  • Android: Added now-playing bar & now-playing screen to Android (@alexmercerind).
  • Linux: Now using icons folder instead of pixmaps (@prateekmedia).
  • Linux: App is now installed in /usr/bin instead of /usr/local/bin (@prateekmedia).
  • Windows: Added WinGet package (winget install Harmonoid.Harmonoid) (@mytja).
  • Windows: Fixed WerFault upon exit (@alexmercerind) (Thanks to @ilopX for the report).
  • Windows: Fixed showing CircularProgressIndicator and clipping search button upon reducing window size (@alexmercerind) (Thanks to @ilopX for the report).

New in Harmonoid 0.1.5 (Sep 18, 2021)

  • This new release of Harmonoid adds & fixes:
  • Added search suggestions for YouTube. (@alexmercerind)
  • Fixed music files having no album art causing crash on Linux. (@prateekmedia, @arafatamim & @alexmercerind)
  • Fixed UI quirks and inconsistencies in collection sidebar. (@arafatamim & @alexmercerind)
  • Removed flutter_acrylic from Linux due to desktop environment dependent behaviors. (@alexmercerind)
  • Now collection search properly shows welcome screen & no-results screen. (@alexmercerind)