Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
[Sammelthread]foobar2000 v2.24 preview 2024-11-06 wurde veröffentlicht
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Ok... hatte schon vermutet, dass Du die 2.0-Windows-Beta meintest. Wollte mich nur vergewissern.
Bei der Kompenente Effect DSP ist Pitch Shift mit dabei. Das benutze ich selbst auch. Allerdings gibt es noch keine 64bit-Version. Unter der 32bit-Version 2.0 laufen aber alle Komponenten. Der Entwickler arbeitet schon an einer 64bit-Version.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Reverted 1.6.15 optimization with fast DSP reinitialization on manual track change.
This behavior breaks many third party components and can't be enabled by default.
It's now available as an option because it improves performance when using heavy-to-initialize DSPs such as new VST adapter.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Properties dialog blank value crash fixed.
Beta 19:
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Made FFmpeg from homebrew etc auto-detected.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Made Audio Units grouped by vendor.
Mitigated buggy ftruncate() on Windows network shares.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Better console logging if internet stream reconnect events.
Added zoom to cover picture viewer.
Fixed ugly downscaled version of image being shown after double clicking attached picture in Properties.
Fixed ugly scaling of cover art in playback controls bar.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Properties dialog blank value crash fixed.
Beta 19:
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Made FFmpeg from homebrew etc auto-detected.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Made Audio Units grouped by vendor.
Mitigated buggy ftruncate() on Windows network shares.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Better console logging if internet stream reconnect events.
Added zoom to cover picture viewer.
Fixed ugly downscaled version of image being shown after double clicking attached picture in Properties.
Fixed ugly scaling of cover art in playback controls bar.
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Properties dialog blank value crash fixed.
Beta 19:
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Made FFmpeg from homebrew etc auto-detected.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Made Audio Units grouped by vendor.
Mitigated buggy ftruncate() on Windows network shares.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Better console logging if internet stream reconnect events.
Added zoom to cover picture viewer.
Fixed ugly downscaled version of image being shown after double clicking attached picture in Properties.
Fixed ugly scaling of cover art in playback controls bar.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Now available as x86 32-bit (legacy), x86 64-bit. ARM 64-bit version coming soon. 64-bit versions require updated versions of add-on components.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 5.1.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Now available as x86 32-bit (legacy), x86 64-bit, ARM 64-bit.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 6.0.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Now available as x86 32-bit (legacy), x86 64-bit, ARM 64-bit.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 6.0.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Now available as x86 32-bit (legacy), x86 64-bit, ARM 64-bit.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 6.0.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Fixed beta 29 regression, maximized main window state is remembered again.
Beta 31:
Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
Made image viewer maximized state remembered again.
Fixed status bar dark mode bugs with dim/highlight formatting.
Fixed File Operations dark mode glitching.
Fixed Converter bit depth vs lossy codec regression.
Verifier: Don't use decode postproc for AccurateRip checking.
Switched to 32-bit x86 installer for ARM foobar2000, was using 64-bit before. Fixes stall during install / regsrv32.exe forkbomb.
Removed the ability to toggle low-memory mode in 32-bit build, due heavy performance issues that it causes if toggled accidentally. Another way to toggle it will be added later, for now it's a hidden setting.
Now available as x86 32-bit (legacy), x86 64-bit, ARM 64-bit.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 6.0.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Fixed beta 29 regression, maximized main window state is remembered again.
Beta 31:
Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
Made image viewer maximized state remembered again.
Fixed status bar dark mode bugs with dim/highlight formatting.
Fixed File Operations dark mode glitching.
Fixed Converter bit depth vs lossy codec regression.
Verifier: Don't use decode postproc for AccurateRip checking.
Switched to 32-bit x86 installer for ARM foobar2000, was using 64-bit before. Fixes stall during install / regsrv32.exe forkbomb.
Removed the ability to toggle low-memory mode in 32-bit build, due heavy performance issues that it causes if toggled accidentally. Another way to toggle it will be added later, for now it's a hidden setting.
Beta 32:
Fixed dark mode in "Batch attach pictures" dialog.
Resolved a disagreement with foo_openlyrics resulting in startup crashing.
Now available as x86 32-bit (legacy), x86 64-bit, ARM 64-bit.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Entirely new media library engine, backed by SQLite. Much faster startup and shutdown with large libraries, greatly reduced memory usage.
Greatly improved performance of media library search queries that don't use %patterns%.
Playback Statistics functionality is now built-in. Old foo_playcount data gets imported on first run. Please remove foo_playcount as instructed.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view.
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 6.0.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Rewritten built-in visualisations (VU/peak meters, spectrum, oscilloscope), now using hardware accelerated rendering.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.5.0.
Compiled with Visual Studio 2022.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
Added mitigations for apparent random crash on Wine (less C++ exceptions thrown when dealing with media indexing errors).
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Fixed beta 29 regression, maximized main window state is remembered again.
Beta 31:
Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
Made image viewer maximized state remembered again.
Fixed status bar dark mode bugs with dim/highlight formatting.
Fixed File Operations dark mode glitching.
Fixed Converter bit depth vs lossy codec regression.
Verifier: Don't use decode postproc for AccurateRip checking.
Switched to 32-bit x86 installer for ARM foobar2000, was using 64-bit before. Fixes stall during install / regsrv32.exe forkbomb.
Removed the ability to toggle low-memory mode in 32-bit build, due heavy performance issues that it causes if toggled accidentally. Another way to toggle it will be added later, for now it's a hidden setting.
Beta 32:
Fixed dark mode in "Batch attach pictures" dialog.
Resolved a disagreement with foo_openlyrics resulting in startup crashing.
Beta 33:
Release candidate build.
Removed FFmpeg Monkey's Audio decoder which was incorrectly playing specific files, included latest Monkey's Audio library instead.
Made installer remember last used portable installations per CPU architecture.
Removed obsolete/meaningless verifier option for verbose AccurateRip output.
Now available as x86 32-bit (legacy), x86 64-bit, ARM 64-bit.
Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
Media Library efficiency improvements for very large music libraries.
Added album art in Default User Interface playlist view.
Clickable rating stars in Default User Interface playlist view (with new Playback Statistics component only).
New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
Improved Default UI splitter, now allows any number of panes.
Added 'remember per playlist layout' to Default User Interface playlist view.
Added 'stream selector' element to Default User Interface toolbar.
New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
Can display file creation time (%file_created%) and attributes (%file_attributes%).
For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
First run performs import of old configuration data (playlists, library).
More audio formats supported out of the box: TAK, APE, AC3, DTS.
Updated FFmpeg to version 6.0.
Improved Properties behavior if 'reload info' detects a change in number of chapters etc.
Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
Internet Radio dialog (File menu), remembers previously played Internet radio streams.
Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
Properties dialog now follows theme colors of the active UI.
Utilized Windows Imaging Component for image parsing, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
Added %year% mapping, takes year part of %date%, discarding content past first four digits.
Changed default Album List patterns to use %year%.
Added sample rate exclusions to SSRC resampler.
Added crossfeed DSP from foobar2000 mobile.
New console logging system, writes per-instance log files to the specified folder.
New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
These add-on components are now obsolete as their functionality is available out of the box: foo_benchmark, foo_bitcompare, foo_verifier, foo_input_monkey, foo_ac3, foo_sanitizer, foo_input_dts.
These components previously included with the installer are no longer optional (features always enabled): foo_rgscan, foo_cdda, foo_albumlist
libFLAC 1.4.2, made possible to decode 32 bits per sample FLAC file.
Worked around FLAC files with ID3 tags being reported as corrupted by new libFLAC.
zlib 1.2.13.
Fixed incorrect handling of M4A itunescompilation=0.
WavPack 5.6.0.
Made possible to apply DSP config changes without reinitializing affected DSPs.
Allowed DSPs to manipulate their shown name depending on preset data.
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Properties dialog blank value crash fixed.
Beta 19:
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Made FFmpeg from homebrew etc auto-detected.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Made Audio Units grouped by vendor.
Mitigated buggy ftruncate() on Windows network shares.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Better console logging if internet stream reconnect events.
Added zoom to cover picture viewer.
Fixed ugly downscaled version of image being shown after double clicking attached picture in Properties.
Fixed ugly scaling of cover art in playback controls bar.
User interface and media library updates:
- Preferences dialog similar to that of Windows foobar2000.
- Added Media Library with realtime folder monitoring.
- Added Media Library viewers: Album List, ReFacets, Library Search.
- Added all playback order options from Windows foobar2000.
- Added Playlist View columns customizations.
- Added Playlist Search.
- Added Playback Statistics feature (rating, play count, etc).
- Playback Queue feature.
Codec technology updates:
- Added FFmpeg Decoder Wrapper, enabling decoding of arbitrary audio formats via external FFmpeg program.
- Updated internal FFmpeg to version 6.0.
- Updated WavPack to version 5.6.0.
- Updated libFLAC to version 1.4.2, made possible to decode 32 bits per sample FLAC file.
- Latest revision of APE format is supported (Monkey's Audio 10.09).
- libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
- Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
- Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
- Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
- Fixed bad MD5 verification of AIFF sourced WavPacks.
- Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
- Game music audio formats currently missing.
Properties dialog updates:
- Improved behavior if 'reload info' detects a change in number of chapters etc.
- Updated Automatically Fill Values logic, better results if searched pattern appears more than once.
- Logs tag update errors to console.
- New output device management options.
- Full array of DSPs from Utility DSP Array component.
- Tag Sanitizer component (right click menu / tagging).
- Apple Audio Unit DSP support.
- Exclusive audio output support.
- Better console logging of internet radio stream reconnect events.
- Many bugs fixed.
- Added many other options and features from classic foobar2000.
- Required Mac OS version is now 10.13 "High Sierra".
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Fixed beta 29 regression, maximized main window state is remembered again.
Beta 31:
Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
Made image viewer maximized state remembered again.
Fixed status bar dark mode bugs with dim/highlight formatting.
Fixed File Operations dark mode glitching.
Fixed Converter bit depth vs lossy codec regression.
Verifier: Don't use decode postproc for AccurateRip checking.
Switched to 32-bit x86 installer for ARM foobar2000, was using 64-bit before. Fixes stall during install / regsrv32.exe forkbomb.
Removed the ability to toggle low-memory mode in 32-bit build, due heavy performance issues that it causes if toggled accidentally. Another way to toggle it will be added later, for now it's a hidden setting.
Beta 32:
Fixed dark mode in "Batch attach pictures" dialog.
Resolved a disagreement with foo_openlyrics resulting in startup crashing.
Beta 33:
Release candidate build.
Removed FFmpeg Monkey's Audio decoder which was incorrectly playing specific files, included latest Monkey's Audio library instead.
Made installer remember last used portable installations per CPU architecture.
Removed obsolete/meaningless verifier option for verbose AccurateRip output.
Beta 34:
Release candidate build.
Fixed a timer manipulation issue that resulted in missing search query & autoplaylist refresh events when using time-based queries.
Fixed wrong scrollbar context menus in various places.
Fixed an internal regression that prevented Classic User Interface playlist from live-tracking title formatting configuration changes.
Support for modern processor architectures. Now available as:
- x86 32-bit (legacy) - requires Windows 7 or newer.
- x86 64-bit - requires Windows 7 64-bit or newer.
- 64-bit foobar2000 requires 64-bit builds of components; it can not load legacy 32-bit components. However, at this time, most components have 64-bit builds available already.
- ARM - requires Windows 11 ARM device.
- foobar2000 for ARM has been compiled in Emulation Compatible (ARM64EC) mode and can load components built for x86 64-bit. There's no need for component developers to specifically build ARM components.
User interface updates:
- Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
- Added album art in Default User Interface playlist view.
- Clickable rating stars in Default User Interface playlist view (with new Playback Statistics component only).
- New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
- Improved Default UI splitter, now allows any number of panes.
- Added 'remember per playlist layout' to Default User Interface playlist view.
- Added 'stream selector' element to Default User Interface toolbar.
- Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
- Made more edit boxes recognize ctrl+backspace.
- Fixed remembered main window position/size not respecting system DPI settings.
Configuration management changes:
- New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
- New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
- For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
- First run performs import of old configuration data (playlists, library).
- New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
DSP technology updates:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Added crossfeed DSP from foobar2000 mobile.
- Added sample rate exclusions to SSRC resampler.
Audio codec technology updates:
- More audio formats supported out of the box: TAK, APE, AC3, DTS.
- Latest revision of APE format is supported (Monkey's Audio 10.09).
- Updated WavPack to version 5.6.0.
- Updated FFmpeg to version 6.0.
- libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
- Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
- Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
- Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
- Fixed bad MD5 verification of AIFF sourced WavPacks.
- Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Properties dialog updates:
- Properties dialog now follows theme colors of the active UI.
- Improved behavior if 'reload info' detects a change in number of chapters etc.
- Updated Automatically Fill Values logic, better results if searched pattern appears more than once.
- Logs tag update errors to console.
These add-on components are now obsolete as their functionality is available out of the box:
- foo_benchmark
- foo_bitcompare
- foo_verifier
- foo_input_monkey
- foo_ac3
- foo_sanitizer
- foo_input_dts
These components previously included with the installer are no longer optional (features always enabled):
- foo_rgscan
- foo_cdda
- foo_albumlist
Other:
- Media Library efficiency improvements for very large music libraries.
- New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
- Can display file creation time (%file_created%) and attributes (%file_attributes%).
- Internet Radio dialog (File menu), remembers previously played Internet radio streams.
- Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
- Utilized Windows Imaging Component for picture decoding, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
- Added %year% mapping, takes year part of %date%, discarding content past first four digits.
- Changed default Album List patterns to use %year%.
- New console logging system, writes per-instance log files to the specified folder.
- Fixed incorrect handling of M4A itunescompilation=0.
- Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
- Converter: Pass float32 audio to LAME encoder.
- Changed replacement for slash character in file naming.
- Fixed audio glitching on screen resolution change in certain configurations.
- Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
- Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
- Preferences / Shell: changed default target playlist name.
- Better console logging of internet radio stream reconnect events.
- Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
- Updated exclusive output device-specific workarounds.
- Compiled with Visual Studio 2022.
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Fixed beta 29 regression, maximized main window state is remembered again.
Beta 31:
Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
Made image viewer maximized state remembered again.
Fixed status bar dark mode bugs with dim/highlight formatting.
Fixed File Operations dark mode glitching.
Fixed Converter bit depth vs lossy codec regression.
Verifier: Don't use decode postproc for AccurateRip checking.
Switched to 32-bit x86 installer for ARM foobar2000, was using 64-bit before. Fixes stall during install / regsrv32.exe forkbomb.
Removed the ability to toggle low-memory mode in 32-bit build, due heavy performance issues that it causes if toggled accidentally. Another way to toggle it will be added later, for now it's a hidden setting.
Beta 32:
Fixed dark mode in "Batch attach pictures" dialog.
Resolved a disagreement with foo_openlyrics resulting in startup crashing.
Beta 33:
Release candidate build.
Removed FFmpeg Monkey's Audio decoder which was incorrectly playing specific files, included latest Monkey's Audio library instead.
Made installer remember last used portable installations per CPU architecture.
Removed obsolete/meaningless verifier option for verbose AccurateRip output.
Beta 34:
Release candidate build.
Fixed a timer manipulation issue that resulted in missing search query & autoplaylist refresh events when using time-based queries.
Fixed wrong scrollbar context menus in various places.
Fixed an internal regression that prevented Classic User Interface playlist from live-tracking title formatting configuration changes.
Added ctrl+del handling to various edit boxes.
Beta 35:
Release candidate build.
Better detection of non-dark-mode-supported systems. Dark mode features disabled on Windows 10 older than 1809.
Dark mode: fixed scroll bars in dropdown lists not being darkened.
Fixed startup lockup with certain library viewer configurations.
Support for modern processor architectures. Now available as:
- x86 32-bit (legacy) - requires Windows 7 or newer.
- x86 64-bit - requires Windows 7 64-bit or newer.
- 64-bit foobar2000 requires 64-bit builds of components; it can not load legacy 32-bit components. However, at this time, most components have 64-bit builds available already.
- ARM - requires Windows 11 ARM device.
- foobar2000 for ARM has been compiled in Emulation Compatible (ARM64EC) mode and can load components built for x86 64-bit. There's no need for component developers to specifically build ARM components.
User interface updates:
- Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
- Added album art in Default User Interface playlist view.
- Clickable rating stars in Default User Interface playlist view (with new Playback Statistics component only).
- New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
- Improved Default UI splitter, now allows any number of panes.
- Added 'remember per playlist layout' to Default User Interface playlist view.
- Added 'stream selector' element to Default User Interface toolbar.
- Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
- Made more edit boxes recognize ctrl+backspace.
- Fixed remembered main window position/size not respecting system DPI settings.
Configuration management changes:
- New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
- New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
- For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
- First run performs import of old configuration data (playlists, library).
- New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
DSP technology updates:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Added crossfeed DSP from foobar2000 mobile.
- Added sample rate exclusions to SSRC resampler.
Audio codec technology updates:
- More audio formats supported out of the box: TAK, APE, AC3, DTS.
- Latest revision of APE format is supported (Monkey's Audio 10.09).
- Updated WavPack to version 5.6.0.
- Updated FFmpeg to version 6.0.
- libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
- Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
- Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
- Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
- Fixed bad MD5 verification of AIFF sourced WavPacks.
- Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Properties dialog updates:
- Properties dialog now follows theme colors of the active UI.
- Improved behavior if 'reload info' detects a change in number of chapters etc.
- Updated Automatically Fill Values logic, better results if searched pattern appears more than once.
- Logs tag update errors to console.
These add-on components are now obsolete as their functionality is available out of the box:
- foo_benchmark
- foo_bitcompare
- foo_verifier
- foo_input_monkey
- foo_ac3
- foo_sanitizer
- foo_input_dts
These components previously included with the installer are no longer optional (features always enabled):
- foo_rgscan
- foo_cdda
- foo_albumlist
Other:
- Media Library efficiency improvements for very large music libraries.
- New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
- Can display file creation time (%file_created%) and attributes (%file_attributes%).
- Internet Radio dialog (File menu), remembers previously played Internet radio streams.
- Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
- Utilized Windows Imaging Component for picture decoding, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
- Added %year% mapping, takes year part of %date%, discarding content past first four digits.
- Changed default Album List patterns to use %year%.
- New console logging system, writes per-instance log files to the specified folder.
- Fixed incorrect handling of M4A itunescompilation=0.
- Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
- Converter: Pass float32 audio to LAME encoder.
- Changed replacement for slash character in file naming.
- Fixed audio glitching on screen resolution change in certain configurations.
- Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
- Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
- Preferences / Shell: changed default target playlist name.
- Better console logging of internet radio stream reconnect events.
- Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
- Updated exclusive output device-specific workarounds.
- Compiled with Visual Studio 2022.
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Properties dialog blank value crash fixed.
Beta 19:
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Made FFmpeg from homebrew etc auto-detected.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Made Audio Units grouped by vendor.
Mitigated buggy ftruncate() on Windows network shares.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Better console logging if internet stream reconnect events.
Added zoom to cover picture viewer.
Fixed ugly downscaled version of image being shown after double clicking attached picture in Properties.
Fixed ugly scaling of cover art in playback controls bar.
User interface and media library updates:
- Preferences dialog similar to that of Windows foobar2000.
- Added Media Library with realtime folder monitoring.
- Added Media Library viewers: Album List, ReFacets, Library Search.
- Added all playback order options from Windows foobar2000.
- Added Playlist View columns customizations.
- Added Playlist Search.
- Added Playback Statistics feature (rating, play count, etc).
- Playback Queue feature.
Codec technology updates:
- Added FFmpeg Decoder Wrapper, enabling decoding of arbitrary audio formats via external FFmpeg program.
- Updated internal FFmpeg to version 6.0.
- Updated WavPack to version 5.6.0.
- Updated libFLAC to version 1.4.2, made possible to decode 32 bits per sample FLAC file.
- Latest revision of APE format is supported (Monkey's Audio 10.09).
- libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
- Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
- Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
- Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
- Fixed bad MD5 verification of AIFF sourced WavPacks.
- Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
- Game music audio formats currently missing.
Properties dialog updates:
- Improved behavior if 'reload info' detects a change in number of chapters etc.
- Updated Automatically Fill Values logic, better results if searched pattern appears more than once.
- Logs tag update errors to console.
- New output device management options.
- Full array of DSPs from Utility DSP Array component.
- Tag Sanitizer component (right click menu / tagging).
- Apple Audio Unit DSP support.
- Exclusive audio output support.
- Better console logging of internet radio stream reconnect events.
- Many bugs fixed.
- Added many other options and features from classic foobar2000.
- Required Mac OS version is now 10.13 "High Sierra".
Component loader no longer probes menu command GUIDs, which was crashing some components. Was meant to prevent specific known incompatible components from loading.
Now shows CPU architecture (x86 or x64) in about box.
Fixed Media Library performing unnecessary tag reloads in some scenarios.
Crash bugs fixed.
Made Preferences / Output / Devices usable without a mouse.
Beta 4:
MP4 tagging: do not set Various Artists if itunescompilation is present but set to 0.
Crash bugs fixed.
Made installer refuse to upgrade old non-portable installs containing profile data in application folder, which is no longer supported.
Fixed metadb lock up with large queryInfoMulti() batches.
Fixed library search by rating not working.
Added ReFacets to library viewers list.
Fixed missing double click to fullscreen in Default UI visualisations.
Fixed disappearing live playback info on playback statistics update.
Fixed longer-than-necessary gap when reopening exclusive-mode output on format change.
Fixed seekbar & visualisation glitches when playing very short audio tracks with exclusive-mode output.
Beta 5:
Fixed various crash bugs.
Improved rendering performance of very large playlists with grouping & album art enabled.
Made ReFacets sorting remembered.
Fixed inverted titles of "Add Files" vs "Open" dialogs.
Reduced output reopen delay when input format (channel count etc) changes.
Fixed playlist layout glitch regression from beta 5.
Beta 7:
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Upgrading from v1.x retains file timestamps of profile folder contents.
Fixed bad handling of user-components folder in upgraded legacy portable installs without a "profile" folder.
Playlist rendering and manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Made possible to enable album art columns in Default UI playlist even without grouping enabled - the old behavior was confusing.
Added dark mode to Default UI toolbar buttons configuration dialog.
Made settings of old foo_albumlist & foo_sanitizer imported on startup, if present.
Beta 8:
Fixed beta 7 regression with wrong handling of blank meta values.
Fixed some visual glitches in Converter.
Rare crash bug workarounds.
Improved crash log writer in 64-bit version.
Beta 9:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Crash bugs fixed.
Beta 10:
Fixed Ogg seeking regressions from the previous beta.
Made column order correctly remembered per-playlist.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Restored multi-folder-selection for "add folder".
Beta 11:
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Various crash bugs fixed.
Beta 12:
Improved behavior when watched library folders are on temporarily unavailable network shares.
Fixed audio glitching on screen resolution change in certain configurations.
Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
Fixed failure to read specific odd FPL files.
Beta 13:
Fixed poor search performance with asymmetric search enabled.
Fixed dark mode in Converter overwrite prompt.
Reverted visualisations to GDI rendering by default. Use advanced preferences toggle to enable D2D. Too many systems fail at D2D rendering.
Mitigated media indexing crash on Wine by cutting down use of std::current_exception() / std::rethrow_exception().
libFLAC & zlib update.
Channel mask display fixes.
Fixed wrong length reporting in Binary Comparator.
No longer reports FLAC files with ID3 tags as corrupted.
Workarounds for poor performance of metadb_index operations compared to v1.x series (affects third party components only).
Programming interface extensions for components:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Addded non-blocking DSP configuration popups.
- Added library_manager_v5 with extra status info methods (new SDK needed to utilize).
Beta 14:
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Fixed a very old bug in 8-bit AU writer.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Improved compatibility with stripped down Windows 10 distributions.
Beta 15:
Fixed various library search expression handling bugs.
Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
Made ERROR_BAD_LENGTH condition crash to debug specific network share compatibility issue.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Beta 16:
Improved compatibility with network shares - worked around specific server refusing GetFileInformationByHandle() resulting in previous foobar2000 v2.0 betas being unable to play or index media from such.
More search regression fixes.
Fixed missing ES_AUTOHSCROLL in ReFacets search box - was limiting length of typed search pattern to size of the editbox.
Added lock toggle to Default UI splitter.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Reverted larger font in Properties tabs as everyone seems to hate it.
Fixed 64-bit setup being unable to close running foobar2000 instance before updating.
Fixed archive content being invisible in Album List's folders view, possibly in other components too (library_manager::get_relative_path).
Beta 17:
libvorbis is once again used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
Fixed bad import of old foo_playcount ratings (0.5 added), made first run clean up existing database and badly imported values from the old version.
Fixed Console not obeying color settings.
Beta 18:
Made all track info cached in memory like it was in old foobar2000 versions. The performance loss from keeping all info in SQLite only was not acceptable.
Rewritten search index. If you find a case where new foobar2000 search is slower than 1.x series, please let us know.
Removed internal playback statistics, made Playback Statistics component (foo_playcount) operational again. First run of new foo_playcount imports foobar2000 v2.0 beta database back.
64-bit version no longer moves user-components folder to user-components-x64 on first run.
Fixed playback of 8-channel Vorbis, beta 17 regression.
Beta 19:
Crash regression fix.
Beta 20:
Added "low memory mode" in 32-bit build, restoring pre-beta18 style tag caching semantics.
- Located in advanced preferences / general.
- If foobar2000 cannot start up due to memory usage, it can be emergency-enabled by putting "enable_low_mem_mode" file in the profile folder.
Misc search bug fixes.
Playlist group layout optimizations reverted (no more scrollbar jumping around stupidly), unless in the new low memory mode.
Fixed various RIFF64 WAV reading bugs.
Fixed blank edit menu shown when no items are enabled.
Beta 21:
Fixed accidental twin Peak Meters.
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Removed untested code for float16 & float24 audio reading. If you run into actual samples of such files, please let me know.
Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
Added 'icon' column in default playlist view.
Beta 22:
Fixed total playback time not being remembered since beta 18.
Fixed problems with accessing some non-UTF8-compliant FTP servers.
DSP bug fixes.
Fixed FPL writer regression causing some of written playlists to be unreadable.
Fixed a bug that prevented some internet radio station names from being shown.
Beta 23:
Fixed missing CListControl accessibility support in 64-bit version.
Fixed crash after loss of audio output device while playing.
Fixed random shutdown crash when using Album List or ReFacets with filters.
Fixed wrong content shown in left pane of File Operations pattern picker.
Beta 24:
Made fast DSP reset (introduced in previous version) opt-in, as it breaks certain third party DSPs.
Fixed outdated info shown after editing tags in low-memory mode.
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Beta 25:
Fixed portable mode relative paths not being respected by playlist load/save operations.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Slightly better communication between output device checkboxes vs output picker toolbar.
Better console logging if internet stream reconnect events.
Workaround for disappearing windows when dismissing certain DSP dialogs.
Dark Mode: Fixed some prompt headers having odd color.
Dark Mode: Fixed tri-state checkboxes.
Darkened classic MP3 utility dialogs.
Reworked first run & import of old foobar2000 settings. Import of old foobar2000 configuration is now optional.
Beta 26:
Portable install playlist save lag regression from beta 25 fixed.
Made more edit boxes recognize ctrl+backspace.
Better info reporting for lossless DTS files.
Beta 27:
Fixed playlist layout glitch causing unwanted scrolling during certain events.
Implemented fb2k:laylistColumnProvider::flag_alignCenter, was missing until now.
Disabled slow meta autocomplete in low-memory mode.
Properties: Log tag update errors to console.
Dark mode: fixed listbox scrollbars.
Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
Disabled behind-the-scenes unicode normalization of metadata, caused bugs with playback statistics pinning.
First run will rebuild index for playback statistics, might stall for a few seconds on startup. This is due to the above, corrects potential bad data.
New API: metadb_pre_update_callback, mainly intended to reliably notify foo_playcount about meta changes preventing data loss in corner cases.
ReFactes: Added multi value columns similar to original Facets.
ReFacets: Enter key in search box sends results to playlist.
Beta 28:
Native foobar2000 for ARM is finally available.
Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.
Native ARM version requires Windows 11. If you run Windows 10, you can still run legacy 32-bit foobar2000 through x86 emulation.
FFmpeg updated to 6.0.
Built-in Monkey's Audio support now uses FFmpeg. As Monkey's Audio is under rapid development, it's once again available as a separate component that can be updated separately from foobar2000 itself. The component has just been updated to latest Monkey's Audio library and fully supports modern CPU architectures.
Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Beta 29:
Converter fixes in 64-bit build, made possible to write 32-bit fixed-point and 64-bit floating-point output.
Converter vs LAME: allowed 32-bit floating-point pass-thru, as current LAME version supports it.
Fixed Windows logoff/shutdown causing foobar2000 not to save playback position.
Fixed main window position/size not respecting system DPI settings.
Fixed beta 29 regression, maximized main window state is remembered again.
Beta 31:
Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
Made image viewer maximized state remembered again.
Fixed status bar dark mode bugs with dim/highlight formatting.
Fixed File Operations dark mode glitching.
Fixed Converter bit depth vs lossy codec regression.
Verifier: Don't use decode postproc for AccurateRip checking.
Switched to 32-bit x86 installer for ARM foobar2000, was using 64-bit before. Fixes stall during install / regsrv32.exe forkbomb.
Removed the ability to toggle low-memory mode in 32-bit build, due heavy performance issues that it causes if toggled accidentally. Another way to toggle it will be added later, for now it's a hidden setting.
Beta 32:
Fixed dark mode in "Batch attach pictures" dialog.
Resolved a disagreement with foo_openlyrics resulting in startup crashing.
Beta 33:
Release candidate build.
Removed FFmpeg Monkey's Audio decoder which was incorrectly playing specific files, included latest Monkey's Audio library instead.
Made installer remember last used portable installations per CPU architecture.
Removed obsolete/meaningless verifier option for verbose AccurateRip output.
Beta 34:
Release candidate build.
Fixed a timer manipulation issue that resulted in missing search query & autoplaylist refresh events when using time-based queries.
Fixed wrong scrollbar context menus in various places.
Fixed an internal regression that prevented Classic User Interface playlist from live-tracking title formatting configuration changes.
Added ctrl+del handling to various edit boxes.
Beta 35:
Release candidate build.
Better detection of non-dark-mode-supported systems. Dark mode features disabled on Windows 10 older than 1809.
Dark mode: fixed scroll bars in dropdown lists not being darkened.
Fixed startup lockup with certain library viewer configurations.
Final:
Fixed Converter beta 29 regression, an internal logic error caused 32bit fixedpoint audio being sent to some encoders instead of floatingpoint, mainly causing lossy-to-lossy transcoding errors.
That's it. I hope you all enjoy using foobar2000 v2.0.
Support for modern processor architectures. Now available as:
- x86 32-bit (legacy) - requires Windows 7 or newer.
- x86 64-bit - requires Windows 7 64-bit or newer.
- 64-bit foobar2000 requires 64-bit builds of components; it can not load legacy 32-bit components. However, at this time, most components have 64-bit builds available already.
- ARM - requires Windows 11 ARM device.
- foobar2000 for ARM has been compiled in Emulation Compatible (ARM64EC) mode and can load components built for x86 64-bit. There's no need for component developers to specifically build ARM components.
User interface updates:
- Dark mode support on Windows 10 and 11. Add-on components need to be updated to utilize it.
- Added album art in Default User Interface playlist view.
- Clickable rating stars in Default User Interface playlist view (with new Playback Statistics component only).
- New Default UI element: ReFacets, reimplementing most of Facets functionality. Old Facets component doesn't work with new 64-bit foobar2000.
- Improved Default UI splitter, now allows any number of panes.
- Added 'remember per playlist layout' to Default User Interface playlist view.
- Added 'stream selector' element to Default User Interface toolbar.
- Some Default UI Elements (ReFacets, Equalizer, visualisations) now also accessible as Columns UI panels.
- Made more edit boxes recognize ctrl+backspace.
- Fixed remembered main window position/size not respecting system DPI settings.
Configuration management changes:
- New internal playlist format, changes instantly saved to disk, no more recent changes lost on crash.
- New configuration data format, changes instantly saved to disk, no more recent changes lost on crash.
- For non-portable installs, profile folder is now %appdata%\foobar2000-v2. There is no need to back up old profile before upgrading, your foobar2000 v1.x profile will be left untouched.
- First run performs import of old configuration data (playlists, library).
- New full config reset semantics - now clears profile folder (optionally leaving user-components intact) instead of asking all components to reset themselves.
DSP technology updates:
- Made possible to apply DSP config changes without reinitializing affected DSPs.
- Allowed DSPs to manipulate their shown name depending on preset data.
- Added crossfeed DSP from foobar2000 mobile.
- Added sample rate exclusions to SSRC resampler.
Audio codec technology updates:
- More audio formats supported out of the box: TAK, APE, AC3, DTS.
- Latest revision of APE format is supported (Monkey's Audio 10.09).
- Updated WavPack to version 5.6.0.
- Updated FFmpeg to version 6.0.
- libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
- Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
- Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
- Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
- Fixed bad MD5 verification of AIFF sourced WavPacks.
- Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
Properties dialog updates:
- Properties dialog now follows theme colors of the active UI.
- Improved behavior if 'reload info' detects a change in number of chapters etc.
- Updated Automatically Fill Values logic, better results if searched pattern appears more than once.
- Logs tag update errors to console.
These add-on components are now obsolete as their functionality is available out of the box:
- foo_benchmark
- foo_bitcompare
- foo_verifier
- foo_input_monkey
- foo_ac3
- foo_sanitizer
- foo_input_dts
These components previously included with the installer are no longer optional (features always enabled):
- foo_rgscan
- foo_cdda
- foo_albumlist
Other:
- Media Library efficiency improvements for very large music libraries.
- New audio output device management features - unwanted devices can be disabled, bit depth and DSP can be configured per-device.
- Can display file creation time (%file_created%) and attributes (%file_attributes%).
- Internet Radio dialog (File menu), remembers previously played Internet radio streams.
- Modernized Explorer integration, no longer needs separate 32bit/64bit shell extension DLLs.
- Utilized Windows Imaging Component for picture decoding, removed libwebp dependency. Album covers in HEIF, AVIF, etc can now be viewed if system codecs are present.
- Added %year% mapping, takes year part of %date%, discarding content past first four digits.
- Changed default Album List patterns to use %year%.
- New console logging system, writes per-instance log files to the specified folder.
- Fixed incorrect handling of M4A itunescompilation=0.
- Fixed glitching when seeking with smooth playback and CPU-heavy DSPs active.
- Converter: Pass float32 audio to LAME encoder.
- Changed replacement for slash character in file naming.
- Fixed audio glitching on screen resolution change in certain configurations.
- Improved exclusive output behavior with uncommon channel layouts, 4.1/5.0 would not play on a device expecting 5.1-side.
- Worked around ages old problem with external changes to file tags causing loss of foo_playcount data (needs new foo_playcount).
- Preferences / Shell: changed default target playlist name.
- Better console logging of internet radio stream reconnect events.
- Worked around foo_input_dvda bugs, no longer crashes on null album art data returned.
- Updated exclusive output device-specific workarounds.
- Compiled with Visual Studio 2022.
libFLAC 1.4, made possible to decode 32 bits per sample FLAC files.
Playlist manipulation performance fixes.
DTS decode_postprocessor now works, for decoding DTS in WAV, FLAC, etc.
Fixed incorrect behavior after a watched media library folder disappears then reappears.
Allowed blank meta values in metadb.
Beta 6:
Shutdown crash regression fix.
Beta 7:
Updated WavPack library to 5.5.0.
Updated Monkey's Audio library to 8.70.
Changed replacement for slash character in file naming.
Fixed a regression that made it impossible to play certain M4A HE-AAC files from remote (HTTP etc) sources.
Various ReFacets glitches fixed.
Made new library search implementation more robust.
Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
Fixed playlist sorting not respecting ascending/descending state.
Beta 8:
Fixed Ogg seeking regressions from the previous beta.
libFLAC 1.4.1.
Rewritten asymmetric library search feature.
Library search speed optimizations, made more queries utilize search index.
Beta 9:
Fixed internet radio playlist parsing bug.
Fixed incorrect MD5 verification of 32-bit FLAC files.
Fixed non-decoding of DTSHD files.
Added option to override DRC behavior on AC-3 audio.
Beta 10:
Fixed failure to read specific odd FPL files.
Fixed race condition crash in module decoder.
Fixed failure to read specific XM modules (nothing added to playlist).
Beta 11:
Fixed window position remembering bugs.
Closing main window now exits foobar2000.
Added Audio Unit DSP support.
Verifier: do not report ID3 tags in FLAC as corrupted file errors.
Fixed lockup bug with stale/dead net shares in Media Library.
Required Mac OS version is now 10.13.
Beta 12:
Fixed a beta 11 regression causing "open...", "add folder..." etc to fail.
Beta 13:
Audio Unit support improvements.
Enabled search indexing of file paths by default.
- Because this somewhat affects performance and some people just don't care, an advanced option to turn it off has been added.
WavPack library update.
More compatible reading of exotic AIFF files.
Added sanitization of internet radio metadata as certain station was serving nonsensical sample rate info.
Improved compatibility with MP4 files made with yt-dlp.
Beta 14:
Fixed various library search expression handling bugs.
Made FLAC tag updater kill ID3v2 garbage prefixing FLAC stream.
Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
Mac: Continuous dragging of Audio Unit sliders.
Beta 15:
libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
Updated Properties / Automatically Fill Values logic, better results if searched pattern appears more than once.
Fixed missing quotation mark recognition in new library search system.
More search regression fixes.
Rating field handling fixes - %rating% now looks up rating meta if no rating is present in the database.
Fixed archive content being invisible in Album List's folders view.
Beta 16:
Rewritten search index for better performance.
Playback statistics feature is now powered by foo_playcount code, ratings & statistics pinned to metadata instead of location.
Fixed playback of 8-channel Vorbis, beta 15 regression.
Fixed various UI glitches.
Beta 17:
Fixed various RIFF64 WAV reading bugs.
Fixed beachballing on app shutdown when indexed network shares cannot be resolved.
Improved Playback Statistics XML import/export, made possible to import XML written by old betas.
Beta 18:
Fixed a bug resulting in nonsensical channel mask being passed around.
No longer recreates all DSPs when manually cycling tracks in playlist.
Fixed incorrect behavior when adding Media Library folders via drag&drop from Finder.
Fixed total playback time not being remembered since beta 16.
Fixed a bug that prevented some internet radio station names from being shown.
Made error message shown when an Audio Unit cannot be loaded, instead of appearing stuck.
Properties dialog blank value crash fixed.
Beta 19:
Properties Autofill logic amended.
Album List & ReFacets: improved handling of | character in tags.
Made FFmpeg from homebrew etc auto-detected.
Fixed bad MD5 verification of AIFF sourced WavPacks.
Made Audio Units grouped by vendor.
Mitigated buggy ftruncate() on Windows network shares.
Reworked fb2k::configStore, now less prone to silly errors saving random configuration bits, should recover from momentary problems with the configuration file instead of crashing.
Better console logging if internet stream reconnect events.
Added zoom to cover picture viewer.
Fixed ugly downscaled version of image being shown after double clicking attached picture in Properties.
Fixed ugly scaling of cover art in playback controls bar.
User interface and media library updates:
- Preferences dialog similar to that of Windows foobar2000.
- Added Media Library with realtime folder monitoring.
- Added Media Library viewers: Album List, ReFacets, Library Search.
- Added all playback order options from Windows foobar2000.
- Added Playlist View columns customizations.
- Added Playlist Search.
- Added Playback Statistics feature (rating, play count, etc).
- Playback Queue feature.
Codec technology updates:
- Added FFmpeg Decoder Wrapper, enabling decoding of arbitrary audio formats via external FFmpeg program.
- Updated internal FFmpeg to version 6.0.
- Updated WavPack to version 5.6.0.
- Updated libFLAC to version 1.4.2, made possible to decode 32 bits per sample FLAC file.
- Latest revision of APE format is supported (Monkey's Audio 10.09).
- libvorbis is now used for decoding Vorbis format instead of FFmpeg, as some rare files continue to cause compatibility issues.
- Cleaned up Ogg reader, made possible to seek in remote (HTTP etc) Ogg files.
- Made FLAC tag updater remove ID3v2 garbage prefixing FLAC stream.
- Made MP3 reader report MP3 frame count not matching Xing/LAME header info when verifying integrity.
- Fixed bad MD5 verification of AIFF sourced WavPacks.
- Added extra sanity checks to tag update operations in built-in codecs: made sure that attempts to remove covers from files that didn't have them in first place don't alter files at all.
- Video game music audio formats currently missing.
Properties dialog updates:
- Improved behavior if 'reload info' detects a change in number of chapters etc.
- Updated Automatically Fill Values logic, better results if searched pattern appears more than once.
- Logs tag update errors to console.
- New output device management options.
- Full array of DSPs from Utility DSP Array component.
- Tag Sanitizer component (right click menu / tagging).
- Apple Audio Unit DSP support.
- Exclusive audio output support.
- Better console logging of internet radio stream reconnect events.
- Many bugs fixed.
- Added many other options and features from classic foobar2000.
- Required Mac OS version is now 10.13 "High Sierra".
Public beta versions are now called "preview" and have dates instead of numbers.
Preview builds for Windows will be x64 only for now. Other CPU archs will be included when nearing a stable release.
Worked around specific internet radio server serving malformed Ogg FLAC headers.
Worked around specific internet radio server serving HLS segments with wrong both extension and content type.
Dark mode refinements, fixed inplace edit boxes in various controls.
Fixed screen reader accessibility issues in Preferences / Context Menu and Preferences / Advanced.
Made possible to list WebDAV folders added via 'Add Location'.
HTTP client efficiency tweaks. If using HTTPS to access a password-protected resource, password is sent preemptively - old versions would send it only in response to server asking for it.
libopus v1.4
Made libFLAC and libopus versions shown in components list.