Difference between revisions of "Foobar2000:Version 2.0 Beta Change Log"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Beta 27)
Line 183: Line 183:
 
* ReFactes: Added multi value columns similar to original Facets.
 
* ReFactes: Added multi value columns similar to original Facets.
 
* ReFacets: Enter key in search box sends results to playlist.
 
* 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 [https://www.foobar2000.org/components/view/foo_input_monkey 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.

Revision as of 13:42, 23 March 2023

Beta 2

  • Fixed crash on old configuration import.

Beta 3

  • 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.
  • Improved dark mode rendering of checkboxes.
  • Suppressed library error log lines about folder.jpg etc inside archive files.

Beta 6

  • 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.
  • Default Playlist View: Fixed column size remembering bugs.
  • 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.
  • File Operations: Dark mode bug fixes.
  • Preferences / Shell: changed default target playlist name.
  • 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::playlistColumnProvider::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.