Skip to main content

v0.3.4 • Essentials

November 16, 2022

  • 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.

v0.3.3 • Bug-Bash #8

September 21, 2022

Few more tweaks & fixes for Android only.

  • perf: fix animation lag when opening ArtistScreen.
  • perf: redundant UserScrollNotification bubbling.
  • fix: unhandled RangeError(s) in pre-caching image MiniNowPlayingBar.
  • fix(android): shuffle behavior on manual skipToNext or skipToPrevious.
  • fix(android): add android:requestLegacyExternalStorage in manifest for android 10 specifically.
  • fix(android): unable to start app on some android ROMs.
  • feat(android): add android:hasFragileUserData in manifest to show keep app-data prompt before uninstall.

v0.3.2 • Bug-Bash #7

September 19, 2022

This release mainly addresses a newly discovered issue that caused indexing process to completely freeze (in rare cases) for some users.

v0.3.1 • Final Steps

September 19, 2022

All Platforms

  • feat: ripple effect on NowPlayingScreen with extracted color palette.
  • feat: display audio output bitrate, sample rate & format on NowPlayingBar & NowPlayingScreen.
  • feat: .lrc caching.
  • fix(style): showMenu constraints causing overflow with some languages.

Mobile Specific

  • feat: configurable grid size (4, 3, 2, 1).
  • feat: add volume slider.
  • feat: slideable NowPlayingScreen.
  • feat: sliding panel playlist viewer.
  • feat: scoped storage compilant (android 10+) directory picker & delete permission dialogs.
  • feat: special permission settings for android 13 or higher, giving granular control over images or notifications.
  • fix: migrate scoped storage on android.
  • fix: LyricsScreen jitter on scroll.
  • style: use Icons.favorite instead of Icons.thumb_up for like indicator.
  • style: add themed icon for android 13 or higher.
  • build: upgrade targetSdkVersion & compileSdkVersion to 33.

v0.3.0 • Bug-Bash #6

September 04, 2022

  • 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.

v0.2.9 • New Horizons

August 30, 2022

All Platforms

  • feat: ability to independently sort/order albums, tracks, artists & genres.
  • feat: direct metadata reader (from file picker, direct URL or file-path) & copy as JSON.
  • feat: add file picker to play a media file directly without file explorer.
  • feat: LRC setter & reader.
  • feat: volume boost.
  • feat: file info viewer.
  • feat: added ability to avoid indexing files below a certain size.
  • feat: easter eggs.🥚
  • style: follow material design more precisely. more consistency & better design. 🎈 massive adjustments to sizes, dialogs, buttons, paddings, colors & widgets.
  • style: revamp error screen.
  • fix(regression): broken fallback album art discovery [cover.jpg, Folder.jpg etc.].
  • fix: year not appearing correctly for some tracks [but reading date instead].
  • fix: deleting tracks not updating artist screens in rare cases.
  • fix: possible bug where app could result in blank screen, if package:palette_generator failed to extract a palette from album art.
  • fix: removing a directory not updating album-artists tab unless restarted.
  • fix: sometimes web recommendations fail to render.
  • fix: seekbar position/duration & Duration display at other places in app interface safer with Durations larger than 1 hour.
  • perf: deserialize music library cache concurrently on separate threads on start-up.
  • fix: improve lyrics accuracy.
  • Special thanks to:
    • @maisondasilva for quickly updating the Portuguese translations.
    • @wcxu21 for quickly updating the Simplified Chinese translations.
    • @gaetan1903 @hal9174 for quickly updating the French translations.
    • @mytja for quickly updating the Slovenian translations.

Desktop Specific

  • 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.

Mobile Specific

  • feat: pitch shift & rate control on mobile.
  • feat: play raw URL & open media file directly on mobile.
  • feat: edit details screen on mobile.
  • feat: time-synced lyrics for mobile.
  • feat: pull to refresh in web recommendations.
  • feat: stacking notification lyrics.
  • style: enforce android 12 over-scroll & ink-sparkle effects.
  • style: visible context menu buttons on web related widgets on mobile.
  • fix: file opening from file-explorers/whatsapp/chrome etc. like third-party apps on android & general stability.
  • fix: file opening not working from some file browsers on android.
  • fix: notification service dying randomly.
  • fix: improve android home, cache & default collection directory retrieval.
  • fix: yeet exit confirmation dialog.
  • fix: MiniNowPlayingBar theme in-case no palette is extracted on mobile.
  • fix: about page link opening is not in external application.
  • fix: android app not saving state upon exist.
  • fix: improve TextFields in web search on mobile.
  • perf: prevent whole MiniNowPlayingBar re-builds on every position update.
  • perf: switch to package:just_audio & package:audio_service for audio-output & notification-handling on mobile.
  • perf: fix android app becoming jittery over prolonged use.
  • perf: improve search experience in web with persistent floating search bar on mobile.

Please report bugs, if you find any. It is really important for us to build a stable experience, though everything seems to be working fine for us.

v0.2.6 • Bug-Bash #5

July 23, 2022

Like we do, minor releases after a major release to fix the broken things.

There weren't much broken things this time. So, likely we won't need another one.

See you at the next major one.

  • feat: lyrics size configuration from the settings (@alexmercerind).
  • feat: shuffle buttons on AlbumScreen, ArtistScreen & PlaylistScreen (@alexmercerind).
  • perf: improve performance of ModernNowPlayingScreen especially when opening the "Coming Up" list (@alexmercerind).
  • perf: improve animation performance when navigating through albums, playlists or artists. No jitter can be observed now (@alexmercerind).
  • perf: discord rpc fallback to track artists tag, if album artist is not found (@alexmercerind).
  • feat: warn if an attempt is made to close the app in the middle of indexing (@alexmercerind).
  • fix: windows 7 frame on resize (@alexmercerind).
  • fix: user loaded images not showing inside app upon fresh start (@alexmercerind).
  • feat: update notifier (@alexmercerind).
  • intl: update portuguese translations (@maisondasilva).

v0.2.5 • Get Well Soon Mom

July 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 (@alexmercerind).
  • 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 (@alexmercerind).
  • Pitch shifting (@alexmercerind).
  • Improved Discord RPC with album art & remaining time (@alexmercerind).
  • Details editor screen (@alexmercerind).
  • Improved color generation from artwork (@alexmercerind).
  • Added option to show a local music directly in File Explorer (@alexmercerind).
  • Added ability to disable Discord RPC (@alexmercerind).
  • Patches to libmpv bindings to fix a number of media playback related issues (@alexmercerind).
  • Refactored indexing to use HashSets. Now indexing is way faster, safer & efficient (@alexmercerind).
  • Improved caching mechanism inside the application to be more safe to corruptions, power-cuts or other interruptions (@alexmercerind).
  • Add "copy-link" & "open-in-browser" buttons right at the NowPlayingBar for quicker access (@alexmercerind).
  • Other performance improvements & UI tweaks to make things more pleasant to use (@alexmercerind).
  • Now the application warns if any of the folders you added to your library are inaccessible (@alexmercerind).

I want to especially thank:

  • @kellerkolle for being my only Patreon for this project, thanks a lot for your trust & support. Hope you like this update.
  • @naturallymitchell for the large donation, hope you enjoy this update & my internal source-code & other projects too.
  • @yehudakremer for awesome contributions earlier to the project & the donation.
  • @DomingoMG for the donation. Hope you are finding my internal source-code & packages useful.
  • @stonega for becoming my first GitHub sponsor. Thankyou!
  • @mytja for being an awesome person & housekeeping the project!
  • People in Harmonoid's Discord server for staying with me.

Notes:

  1. 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).
  2. 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.

v0.2.4 • Bug-Bash #4

May 10, 2022

A new release with minor new features, tweaks & fixes. Now that we have built a solid & stable ground to add features on-top of, expect next release to be bigger.

  • 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).

v0.2.3 • Bug-Bash #3

May 08, 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).
  • Fix: Improve Android animations & PlaylistScreen indexing bug (@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).

v0.2.2 • Levels

Apr 26, 2022

  • Fix: Addressed randomly occurring issue that made adding new folders to library impossible (@alexmercerind).
  • 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).
  • Style: Improvise TextFields to follow Material Design (@alexmercerind).
  • Perf: Improved file explorer integration on Windows & Linux (@alexmercerind).
  • Translation updates:
    • Russian: @Feelogil, @raitonoberu.
    • Portuguese: @maisondasilva.

v0.2.1-hotfix2 • Bug-Bash #2

May 20, 2022

  • Fix: Unable to open music files from some linux file browsers e.g. elementaryOS Files (@alexmercerind).
  • Fix: Broken MPRIS controls on linux in last release (@alexmercerind).
  • Fix: Windows version of Harmonoid now runs in single instance (@alexmercerind).
  • Fix: Windows installer icon (@YehudaKremer).
  • Fix: Increase demuxer cache & fix stutter (@alexmercerind).
  • Fix: Slight jank when opening artist/album/playlist pages (@alexmercerind).
  • Fix: Broken album art in Windows' System Media Transport Controls (@alexmercerind).
  • Fix: Now album arts are extracted for each music file regardless of album (@alexmercerind).
  • Fix: artists' albums not getting populated when auto refresh is disabled (@alexmercerind).
  • Fix: Disable auto-refresh by default & make it optional as "Experimental" (@alexmercerind).
  • Fix: Sometimes unable to remove tracks from playlists (@alexmercerind).
  • Translation: Updated Portuguese (@maisondasilva).

Just last batch of bug-fixes for now.

v0.2.1-hotfix1 • Bug-Bash #1

May 03, 2022

As we are moving forward to improve the overall stability of the app, we've decided to release yet another hot-fix to address many crucial bugs, performance hits & other file-system/indexing related issues.

  • 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: 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).

v0.2.0 • Penguins Again

Feb 18, 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).
  • 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.
  • 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).
  • 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).

v0.1.8 • Back To Life

Feb 05, 2022

  • New! Material re-designed UI. Now very strictly following material.io guidelines (@alexmercerind).
  • New! Material designed iconography & icons for various UI elements.
  • New! Better context menus for desktop (@alexmercerind).
  • New! Improvised animations & user accessibility (@alexmercerind).
  • New! More efficient tagging & indexing using libmpv (@alexmercerind).
  • Feature: Revamped search UI to improve experience (@alexmercerind).
  • Feature: Ability to sort music based on year (@alexmercerind).
  • Feature: Ability to order local music ascending or descending (@alexmercerind).
  • Feature: Add "Show Album" option to track context menus (@alexmercerind).
  • Windows: Integration with ITaskbarList3 (@alexmercerind).
  • Windows: Integration with SystemMediaTransportControls (@alexmercerind).
  • Refactor: Rewrite music player & indexer using libmpv (@alexmercerind).
  • Refactor: Add new Collection.getAlbumArt method to get ImageProvider for a Media item (@alexmercerind).
  • Refactor: Rewrite models with improved null-safety (@alexmercerind).
  • Translations: Updated Slovenian translation (@mytja).
  • Translations: Add Japanese translation (@HiSubway).
  • Translations: Add Mandarin translation (@stonega).
  • Translations: Add Malagasy translation (@c3k4ah).