github xiph/flac 1.5.0
FLAC 1.5.0

one day ago

FLAC 1.5.0 released 2025-02-11

This release finally makes the encoder multithreaded! Furthermore, the decoder can now handle chained Ogg FLAC files. As always, a lot of things have been fixed and improved.

Package checksums (SHA-256)

  • f2c1c76592a82ffff8413ba3c4a1299b6c7ab06c734dee03fd88630485c2b920 flac-1.5.0.tar.xz
  • 53f1500f0d6e7c61379d7fee50d4a9f7f504c650009506d9ba015530d76c0dde flac-1.5.0-win.zip

Changes

As there have been additions to the libFLAC interfaces, the libFLAC version number is incremented to 14. The libFLAC++ version number is incremented to 11.

  • General
    • Multithreaded encoding is now possible in libFLAC and through the flac command line tool
    • The GFDL license file is updated to version 1.3
    • The markdown tool documentation is now also converted to HTML, for bundling with systems that do not read manpages (e.g. Windows)
    • Decoding of chained Ogg FLAC files is now possible (philippe44, Martijn van Beurden)
    • Various fixes (Sam James, Miroslav Lichvar, Cristian Rodríguez, manxorist, kgroeneveld, Lee Carré, Jevin Sweval, braheezy, Wolfgang Stöggl)
    • Is is now possible in libFLAC, libFLAC++ and metaflac to write to a new file when changing metadata, instead of needing to overwrite an existing file
  • flac
    • Testing mode (flac -t) now parses all metadata blocks and warns the user when ID3v1 metadata is detected
    • A warning is displayed when frame numbers do not increase correctly throughout a file
    • The explain option (-H or --explain) is now removed, use the manpage or html tool documentation instead
    • Built-in help and tool documentation are improved (H2Swine)
    • When re-encoding a FLAC file from an existing FLAC file, a check is added that the MD5 sums of both files are the same
  • libFLAC and libFLAC++
    • The library interfaces have been extended. See the porting guide (part of the API documentation)
    • An error is sent when a frame is missing
    • The algorithm of the 'loose mid side' option has changed. Instead of checking every few frames which option is best and keeping that for the next few frames, a fast heuristic is now used. This was necessary to enable multithreading
    • Most level 0 metadata interface functions now also work with Ogg FLAC files
    • When encoding Ogg FLAC files, the callback now returns a number of samples instead of always 0 (Jesper Larsson, ziplantil)
    • When changing metadata, libFLAC now detects when an input file is a symlink, and will refuse to write data to it when an in-place rewrite of the metadata cannot happen
    • When encoding using seektable templates, unused seekpoints (with a sample number higher than the total number of samples) are converted to placeholders
  • Build system
    • Fix building on Android with API version < 24 (Steve Lhomme)
    • The microbench utility has been removed
    • Enable building with emscripten (werner mendizabal)
    • Minimum CMake version required (when building with CMake) is now formally 3.12
  • Testing/validation
    • Improve fuzzing of allocation failures
    • Various other fuzzing improvements
  • Documentation
    • The FLAC format is now specified in RFC 9639
    • The foreign metadata storage format used by the flac command line tool is now properly documented

Don't miss a new flac release

NewReleases is sending notifications on new releases.