v0.3.8 • Bug-Bash #9
April 6, 2023
- 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.
v0.3.7 • Stabilizing
April 4, 2023
- 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.
v0.3.6 • Breeze
February 23, 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.
v0.3.5 • Going Ahead
January 5, 2023
- 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 wrongBuildContext
. - 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 toShuffle
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.
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
& defaultMusic
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 ofIcons.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 withDuration
s 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/OEditDetailsScreen
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
TextField
s 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
HashSet
s. 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:
- 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.
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
TextField
s 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 getImageProvider
for aMedia
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).