Changelog

0.3.0

General

  • feature The left sidebar can now be collapsed.
  • feature Added a “New Playlist” button to the left sidebar.
  • feature Added more context menus:
    • feature Added context menus to the track and album lists.
    • feature Added a context menu to the info section of the controls (in the bottom left).
  • feature Added lyrics (synced and unsynced) support.
  • feature Added auto-updating support. (@143mailliw, @transitoryangel)
  • feature You can now copy information critical for bug reporting from the Help menu or command palette. (@transitoryangel)
  • feature You can now open the log file from the Help menu or command palette. (@transitoryangel)
  • feature Added tooltips to most otherwise unlabeled buttons.
  • feature The previous window size is restored when the application restarts.
  • improvement Added 4 new languages:
    • improvement Finnish (@jansol)
    • improvement German (@jansol)
    • improvement Japanese (@jansol)
    • improvement Spanish (@hystericca)
  • improvement Various improvements to the Nix flake. (@AgentElement, @camuward)
  • fix The About dialog can now be closed with the Escape key. (@transitoryangel)
  • fix Ellipses should no longer be displayed in areas where the entire text can fit.
  • fix The minimize/maximize button now uses a minimize icon when the window is maximized.
  • fix The window can now be unmaximized when on Windows.
  • fix Sliders are now limited to updating every 1 millisecond, reducing stuttering.
  • fix Memory usage was signifigantly reduced.
  • fix The macOS “Services” submenu now works properly.

Library

  • feature The album and artist listings can now be displayed side-by-side with the main content pages (two-column view).
  • feature The library search now includes tracks and artists.
  • feature You can now shuffle all tracks in the library using Library -> Shuffle All or the command palette.
  • feature Middle-clicking on search items, tracks, and albums now queues the item to be played next.
  • feature Playlists can now be renamed.
  • feature Table columns are now reorderable by dragging and dropping.
  • feature Clicking on artists’ names in the release page now navigates to the artist’s page.
  • feature Playlists can now be exported from the context menu and imported from the Library menu.
  • feature The track listing now shows album art. (@transitoryangel)
  • feature The escape key now returns to the previous navigation page when in a detail page. (@PeterHevesi)
  • improvement The like song button is now a different color when the song is already liked.
  • fix The track listing should now be more tolerant of improperly tagged music.
  • fix The artists list should no longer be sorted in a case-sensitive manner.
  • fix The grid view should no longer cause the application to stutter when loading images takes too long.

Queue

  • feature The queue now automatically scrolls to the current queue item when it changes.
  • feature Track duration is now displayed in the queue.
  • feature The queue now displays individual track artists.
  • improvement The queue can now be resized up to 800px (instead of 450px). (@mvanhorn)
  • improvement The current track is now kept when the queue is cleared. This can be disabled in the settings. (@transitoryangel)
  • fix The queue should no longer leak memory in certain album art configurations.

Settings

  • feature Multiple themes can now be placed in the themes folder, which allows them to be selectable from within the settings. (@transitoryangel)
  • feature Added a setting to always show scrollbars, instead of hiding them when interaction stops. (@transitoryangel)
  • feature Added a setting to change the library page displayed on startup. (@transitoryangel)
  • feature The settings window can now be closed with the Escape key. (@transitoryangel)
  • improvement Multiple folders can now be selected from the “Add Folder” dialog.
  • improvement The appearance of settings items has been changed.
  • fix Enabling/disabling the “Always Repeat” setting is now properly represented in the UI.
  • fix The contents of the settings window can now be scrolled. (@transitoryangel)

Playback

  • feature Added ReplayGain support.
  • feature Shuffling and repeat settings now persist on restart.
  • feature Hummingbird now connects to Discord.
  • feature The artist and track names in the info section (bottom left) can now be clicked on to bring you to the related artist/album page. (@transitoryangel)
  • feature The info section and secondary controls (left and right sides of the bottom section) can now be resized. (@PeterHevesi)
  • improvement Hovering over the volume slider now shows the current volume percentage. (@transitoryangel)
  • improvement The scrobber now updates more frequently (30 times a second instead of 1 time a second)
  • fix Fixed several race conditions in the implementation of OS integrations (eg. Now Playing on macOS) that caused metadata retreival to become unreliable.
  • fix Scrolling with the trackpad no longer causes volume to always be set to 100% or 0%.
  • fix The artist name in the info section now falls back to the album artist when it is known and the track artist is not.
  • fix Playing a track while paused no longer causes a few milliseconds of the previously playing track to play.
  • fix Playing, pausing, and changing the volume should no longer cause audible crackling on Linux and macOS. This will be fixed on Windows in a future release. (@transitoryangel)
  • fix Hummingbird no longer attempts to play unsupported files.

Scanner

  • feature Added an item to the “Library” menu that allows you to perform a regular (non-force) scan.
  • feature Disc Subtitle tags are now scanned and displayed in the library.
  • feature Pressing Alt + S now scans the library.
  • fix Some improperly formatted Disc tags are now scanned correctly.
  • fix Month + year release dates are now properly parsed (previously only year-only or full dates were parsed). (@transitoryangel)
  • fix MusicBrainz Album ID tags are now read correctly from ID3-contained audio files (eg. MP3).
  • fix Scanning is stopped before a rescan is started.
  • fix The scanner now writes partial scan records, allowing it to recover from a crash properly.
  • fix The scanner now attempts to detect case changes on case-insensitive file systems. This is known not to work.

0.2

General

  • feature The sidebar and queue are now resizable.
  • feature Added a settings window.
  • feature The user interface has been redesigned to be more consistent.
  • feature Changed the default theme colors to have improved contrast.
  • feature Added localization support.
    • feature Vietnamese translation (@vicr123).
    • feature Slovak translation (@PeterHevesi).
    • feature Czech translation (@PeterHevesi).
    • feature Partial Greek translation (@SuperScope96 (Discord)).
  • feature Added forward navigation.
  • feature M4 and M5 now move back and forward respectively.
  • feature Backspace now moves back, and Alt/Option + Left/Right now move back/forward.
  • feature Added a menu bar to the top of the main window.
  • fix Command palette actions should now work more reliably.
  • fix Images should be removed from video memory more reliably.

Library

  • feature Added the Track view.
  • feature Table columns can now be resized.
  • feature Right-clicking on a table column now shows a menu allowing you to show/hide columns.
  • feature Record-style disc/track pairs (eg. Side A, Track 1) are now fully supported.
  • feature The Album view can now be displayed as a grid of album art.
    • feature The grid size can be adjusted in the settings.
  • feature Added a setting that allows the library to take up the full width of the area provided.
  • feature Added a “Play next” option to the context menu for tracks.
  • improvement Reduced the number of times album art was loaded, reducing CPU and memory usage.
  • fix Improved Album view performance.
  • fix The Album table now properly displays release years.
  • fix Resolved a database contention issue that resulted in Hummingbird freezing or crashing when adding a song to a playlist while scanning.

Queue

  • feature Added a context menu to queue items, allowing you to remove them from the queue or view the album/artist.
  • feature The queue can now be reordered via drag-and-drop.
  • feature The queue is now preserved across restarts.
  • fix The queue should no longer leak memory when playing files not in your library.

Playlists

  • feature Playlists can now be reordered via drag-and-drop.
  • fix A failure to import one item in a playlist no longer causes the entire playlist to fail to import.

Scanner

  • feature Hummingbird now fully supports external hard drives.
    • feature When a folder present in the library is found to be missing, Hummingbird will now ask the user if they want to keep it or delete it from their library.
    • feature Missing files are now displayed as grayed-out in the library and cannot be interacted with.
  • improvement The scanner now takes better advantage of multiple CPU cores, improving scan times by ~50% on mid-range systems.
  • improvement Changed scan record format to reduce disk size of record.
  • improvement Hummingbird now attempts to retrieve only the first track’s album art, preventing single-track album art from replacing the album’s art.
  • fix Hummingbird will no longer panic when it encounters a missing directory. (@Skittyblock)
  • fix Path canonicalization failures no longer cause Hummingbird to panic.
  • fix Artists and albums are now properly removed/modified when a track is updated.
  • fix The scanner now handles non-UTF-8 paths more correctly when encountered.
  • fix Files that failed to be commited to the library’s database are no longer stored in the scan record.
  • fix Removal of deleted files is no longer prevented by their presence in a playlist.
  • fix Paths from the Windows system music Library are now normalized before being sent to the scanner.

Playback

  • feature Volume is now preserved across restarts. (@Skittyblock)
  • feature Double-clicking the volume slider now resets the volume to 100%.
  • feature The album art of the currently playing track can now be shown by hovering over the preview in the bottom left.
  • improvement Signifigantly reduced playback allocations, reducing CPU utilization by ~1-2% on mid-range systems.
  • fix Resampling of non-stereo files should now function correctly.
  • fix Improved format detection logic, allowing more reliable playback of unusual formats.

0.1.1

  • feature Added Opus decoding support.
  • feature Added scrollbars.
  • feature The albums page now remembers the last scroll position.
  • feature last.fm credentials can now be set at runtime. (@camuward)
  • improvement Improved AAC decoding support on non-Windows-on-ARM systems.
  • improvement Improved logging. (@camuward)
  • improvement Performance and stability improvements, cutting RAM usage by 70-90% and CPU usage by 50%.
  • improvement Nix packaging improvements. (@camuward)
  • fix Importing a playlist no longer blocks the UI thread. (@camuward)
  • fix Fixed a caching issue that prevented images from being removed from video memory.
  • fix Fixed an issue where displaying a track item would cause several threads to be created per-item.
  • fix You can no longer delete the “Liked Songs” playlist.
  • fix The text VERGEN_IDEMPOTENT_OUTPUT is no longer displayed in the about dialog. (@camuward)