Skip to content

Releases: libsndfile/libsndfile

1.2.2

13 Aug 09:26
1.2.2
72f6af1
Compare
Choose a tag to compare

1.2.2 - 2023-08-13

Fixed

  • Fixed invalid regex in src/create_symbols_file.py
  • Fixed passing null pointer to printf %s in tests

1.2.1

13 Aug 09:24
1.2.1
Compare
Choose a tag to compare

1.2.1 - 2023-08-12

Added

Fixed

  • Various typos, thanks @@uniontech-lilinjie
  • Handling of absolute CMAKE_INSTALL_LIBDIR/CMAKE_INSTALL_INCLUDEDIR, thanks
    @Staudey (issue #908)
  • Add localtime_s support to sndfile-metadata-set, thanks @neheb (issue #907)
  • Linking with CMake against Ogg::ogg, thanks @FtZPetruska
  • CMake mpg123 module handling bugs, thanks @FtZPetruska
  • CMake dependencies handling, thanks @FtZPetruska
  • Various Ogg & Opus format fixes, thanks @weiliang (issue #888)
  • Redefining ssize_t when building with Autotools, thanks @ccawley2011
    (issue #934)
  • Bug related to incorrect realloc use, thanks @Halmoni100
  • Style errors, thanks to @arthurt
  • AIFF format related bugs, thanks to @arthurt
  • Reading of MP3 files without Xing or INFO headers, thanks @arthurt
  • Coding style of src/mpeg_decode.c, thanks @arthurt
  • Various documentation types, thanks @luzpaz
  • Intrinsics inclusion for MSVC and ARM64/ARM64EC, thanks @frysee
  • sf_open_fd() regression, thanks @brentr (PR #950)
  • WAV format related bug, thanks @magnus-nomono (issue #930)

Removed

  • Obsolete file `libsndfile.spec.in``, thanks @janstary

1.2.0

25 Dec 11:38
1.2.0
2ed38b5
Compare
Choose a tag to compare

1.2.0 - 2022-12-25

Fixed

  • Searching for LAME dependency with CMake build system (issue #821).
  • CMake build from Autotools tarball (issue #816).
  • Build on UWP platform (issue #824).
  • Fix signed integer overflow (issue #785).
  • Skipping large wav chunks on stdin (PR #819).

Removed

  • Maximum samplerate limit, thanks @drmpeg, @justacec (issue #850).

    In version 1.1.0, an artificial limit of 655350 Hz was created, but as it
    turned out, this is not enough for some scenarios.

1.1.0

27 Mar 12:44
1.1.0
ea3ac90
Compare
Choose a tag to compare

1.1.0 - 2022-03-27

Added

  • MPEG Encode/Decode Support.

    Uses libmpg123 for decode, liblame for encode. Encoding and decoding support
    is independent of each other and is split into separate files. MPEG support
    is generalized as subformats, SF_FORMAT_MPEG_LAYER(I,II,III) so that it
    might be used by other containers (MPEG1WAVEFORMAT for example), but also
    contains a major format SF_FORMAT_MPEG for 'mp3 files.'

    Encoding Status:

    • Layer III encoding
    • ID3v1 writing
    • ID3v2 writing
    • Lame/Xing Tag writing
    • Bitrate selection command
    • VBR or CBR

    Decoding Status:

    • Layers I/II/III decoding
    • ID3v1 reading
    • ID3v2 reading
    • Seeking
  • New fuzzer for OSS-Fuzz, thanks @DavidKorczynski.

  • This CHANGELOG.md. All notable changes to this project will be documented in
    this file. The old NEWS file has been renamed to NEWS.OLD and is no longer
    updated.

  • Add support for decoding MPEG III Audio in WAV files.

  • SECURITY.md file to give people instructions for reporting security
    vulnerabilities, thanks @zidingz.

  • Support for Vcpkg manifest mode.

    If you have problems with manifest mode, disable it with VCPKG_MANIFEST_MODE
    switch.

  • Export CMake targets from the build tree (PR #802)

  • CIFuzz fuzzer, thanks to @AdamKorcz (PR #796)

Changed

  • SFC_SET_DITHER_ON_READ and SFC_SET_DITHER_ON_WRITE enums comments in
    public header, thanks @SmiVan (issue #677).

  • ENABLE_SNDFILE_WINDOWS_PROTOTYPES define is deprecated and not needed
    anymore.

    Previously, in order for the sf_wchar_open()
    function to become available on the Windows platform, it was required to
    perform certain actions:

    #include <windows.h>
    #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1
    #including <sndfile.h>

    These steps are no longer required and the sf_wchar_open() function is
    always available on the Windows platform.

  • Use UTF-8 as internal path encoding on Windows platform.

    This is an internal change to unify and simplify the handling of file paths.

    On the Windows platform, the file path is always converted to UTF-8 and
    converted to UTF-16 only for calls to WinAPI functions.

    The behavior of the functions for opening files on other platforms does not
    change.

  • Switch to .xz over .bz2 for release tarballs.

  • Disable static builds using Autotools by default. If you want static
    libraries, pass --enable-static to ./configure

Fixed

  • Typo in docs/index.md.

  • Typo in programs/sndfile-convert.c, thanks @fjl.

  • Memory leak in caf_read_header(), credit to OSS-Fuzz (issue 30375).

  • Stack overflow in guess_file_type(), thanks @bobsayshilol, credit to
    OSS-Fuzz (issue 29339).

  • Abort in fuzzer, thanks @bobsayshilol, credit to OSS-Fuzz
    (issue 26257).

  • Infinite loop in svx_read_header(), thanks @bobsayshilol, credit to OSS-Fuzz
    (issue 25442).

  • GCC and Clang pedantic warnings, thanks @bobsayshilol.

  • Normalisation issue when scaling floating point data to int in
    replace_read_f2i(), thanks @bobsayshilol, (issue #702).

  • Missing samples when doing a partial read of Ogg file from index till the end
    of file, thanks @arthurt (issue #643).

  • sndfile-salvage: Handle files > 4 GB on Windows OS

  • Undefined shift in dyn_get_32bit(), credit to OSS-Fuzz
    (issue 27366).

  • Integer overflow in nms_adpcm_update(), credit to OSS-Fuzz
    (issue 25522).

  • Integer overflow in psf_log_printf(), credit to OSS-Fuzz
    (issue 28441),
    (issue 25624).

  • ABI version incompatibility between Autotools and CMake build on Apple
    platforms.

    Now ABI must be compatible with Autotools builds. Note that this change
    requires CMake >= 3.17 for building dylib on Apple platforms.

  • Fix build with Autotools + MinGW toolchain on Windows platform.

    See msys2/MINGW-packages#5803 for details.

Security

1.0.31

24 Jan 12:28
1.0.31
d60deb5
Compare
Choose a tag to compare
  • The releaser of libsndfile starting from this version is the libsndfile team
    member @SoapGentoo, see AUTHORS for details.
  • Implement fast SSE2 optimized psf_lrintf() and psf_lrintf() functions to
    improve perfomance when libsndfile is built using Visual C++ (especially)
    and other compilers on x86 and AMD64 platforms. See also description of
    ENABLE_SSE2 CMake option in README.md.
  • Documentation:
    • Move site to new URL: http://libsndfile.github.io/libsndfile/
    • Convert documentation pages from HTML to Markdown
    • Use GitHub's Jekyll static site generator to generate static HTML pages
      for site
    • Fix api.md table error, thanks to @zodf0055980
    • Other docuemntation fixes and updates
  • Change CMake's project name from sndfile to libsndfile as it should be.
  • Change behaviour of ENABLE_STATIC_RUNTIME option. In short:
    • You can use ENABLE_STATIC_RUNTIME for CMake >= 3.15 without error.
    • You can use your our method to set MSVC runtime library flags if none of
      ENABLE_STATIC_RUNTIME and CMAKE_MSVC_RUNTIME_LIBRARY were set.
      Advanced information:
    • If this option is defined (set to ON or OFF), set CMP0091 policy to OLD
      (we handle MSVC runtime library flags using compiler flags), set
      corresponding compiler flags for user.
    • NEW: If this option is not defined, set CMP0091 policy to OLD (we handle
      MSVC runtime library flags using compiler flags), don't touch compiler
      options, allow user to set it manually.
    • NEW: If new CMake option CMAKE_MSVC_RUNTIME_LIBRARY is set, change
      CMP0091 policy to NEW (we handle MSVC runtime library flags using that
      option), don't touch compiler flags.
    • NEW: If both ENABLE_STATIC_RUNTIME and CMAKE_MSVC_RUNTIME_LIBRARY are set,
      terminate configuration with fatal error.
    • For MinGW toolchain this option is experimental. If you enabled it and
      then disabled again, you need to clear CMake cache (delete
      CMakeCache.txt).
  • Make CMake clip test faster.
  • Fix CMake bug with sndio library dependency, thanks to @drhenault.
  • Fix memory leak in wav_read_smpl_chunk() function, credit to OSS-Fuzz.
  • Fix aiff_read_header() memory leak(), credit to OSS-Fuzz.
  • Fix leak in wav_read_header(), credit to OSS-Fuzz.
  • Fix leak in wavlike_read_cart_chunk(), credit to OSS-Fuzz.
  • Fix memory leak in wav_read_acid_chunk(), credit to OSS-Fuzz.
  • Fix memory leak in aiff_read_basc_chunk(), credit to OSS-Fuzz.
  • Fix memory leak in wavlike_read_peak_chunk(), credit to OSS-Fuzz.
  • Fix memory leak in aiff_read_header(), credit to OSS-Fuzz.
  • Fix use of uninitialized value in exif_subchunk_parse(), credit to OSS-Fuzz.
  • Fix use of uninitialized value in endswap_int64_t_array(), credit to
    OSS-Fuzz.
  • Fix up the fuzzer so that it can't under or overseek,
    thanks to Max Dymond cmeister2@gmail.com.
  • Fix Autotools configure on macOS, thanks to @tmcguire and @nwh.
  • Exclude repository-configuration from git-archive, thanks to @umlaeute.
  • Use version-script when compiling with clang on Unix with Autotools, thanks
    to @tstellar.
  • Improve handling of SMPL chunks in WAV files, thanks to @zodf0055980.

Note for Autotools users: Please note that the "Source code (zip)" or "Source code (tar.gz)" downloads require you to have the autotools toolchain (autoconf, autogen, automake and libtool) installed. If you don't want to install it (or don't know what this means), you should probably download the libsndfile-*.tar.bz2 asset instead.

1.0.30

19 Sep 07:31
v1.0.30
Compare
Choose a tag to compare

NOTE: libsndfile-1.0.30.tar.bz2 and libsndfile-1.0.30.tar.bz2.asc files were re-uploaded due to problems with incorrect line endings. Update the hashes if necessary. Sorry for the inconvenience.

  • Fix critical CMake bug with broken ABI of shared libsndfile library.
  • CMake build system considered to be stable.
  • Move sndfile.h.in from src/ to include/ directory. To avoid problems, delete old generated sndfile.h from $(top_builddir)/src.
  • Huge documentation update.
  • Fix opus test failures on BE platforms, thanks to Arthur Taylor art@ified.ca.
  • Fix bug when sf_open_fd() function sometimes leaves filehandle open, even if close_desc parameter is TRUE, thanks to @umläute.
  • Fix infinite loops on some pathological SD2 files, thanks to Jeremy Friesner jaf@meyersound.com.
  • Switch to GitHub Actions for continuous integration.
  • Add OSS-Fuzz tests to GitHub Actions workflow, thanks to Max Dymond cmeister2@gmail.com.
  • Fix memory leak in wavlike_read_bext_chunk() function, credit to OSS-Fuzz.
  • Fix undefined behavior in avr-read_header() function, credit to OSS-Fuzz.
  • Add INSTALL_PKGCONFIG_MODULE CMake option to control sndfile.pc file installation, see README.md for details.
  • Add INSTALL_MANPAGES CMake option, see README.md for details.
  • Fix ENABLE_COMPATIBLE_LIBSNDFILE_NAME CMake option, now it works on MinGW platform too.
  • Fix ENABLE_CPACK CMake option, see README.md for details.
  • Fix ENABLE_STATIC_RUNTIME and CMAKE_MSVC_RUNTIME_LIBRARY behavior, see README.md for details.
  • Fix CMake man pages installation bug when sndfile-deinterleave.1 and sndfile-metadata-set.1 were not installed.
  • Fix sndfile-regtest paths handling on Windows platform, thanks to Gisle Vanem gvanem@yahoo.no.

The GPG signature is at Keybase.IO.

1.0.29

15 Aug 05:53
Compare
Choose a tag to compare
  • Add support for Opus files.
  • Autotool build system improvements.
  • CMake build system improvements.
  • Fixes for: CVE-2017-12562, CVE-2017-17456, CVE-2017-17457, CVE-2018-19661, CVE-2018-19662, CVE-2018-19758 and CVE-2019-3832.
  • Add BWF v2 loudness parameters.
  • Wave64: Permit and skip arbitrary chunks prior to the data chunk.
  • Fix ASAN crash in wavlike_ima_seek().
  • Fix IMA-ADPCM encoding for AIFF files.
  • sndfile-convert: Handle gsm, vox and opus extensions the same way.
  • Add SFC_SET_OGG_PAGE_LATENCY_MS command to get Ogg page latency for Ogg Opus files.
  • Fix parsing of some SD2 files.
  • Documentation updates.
  • Minor bug fixes and improvements.

The GPG signature is at Keybase.IO.

1.0.28

02 Apr 09:46
Compare
Choose a tag to compare
  • Fix buffer overruns in FLAC and ID3 handling code.
  • Move to variable length header storage.
  • Fix detection of Large File Support for 32 bit systems.
  • Remove large stack allocations in ALAC handling code.
  • Remove all use of Variable Length Arrays.
  • Minor bug fixes and improvements.

1.0.27

27 Mar 05:45
Compare
Choose a tag to compare
  • Fix an SF_INFO seekable flag regression introduced in 1.0.26.
  • Fix potential infinite loops on malformed input files.
  • Add string metadata read/write for CAF and RF64.
  • Add handling of CUE chunks.
  • Fix endian-ness issues in PAF files.
  • Minor bug fixes and improvements.

1.0.26

27 Mar 05:42
Compare
Choose a tag to compare
  • Fix for CVE-2014-9496, SD2 buffer read overflow.
  • Fix for CVE-2014-9756, file_io.c divide by zero.
  • Fix for CVE-2015-7805, AIFF heap write overflow.
  • Add support for ALAC encoder in a CAF container.
  • Add support for Cart chunks in WAV files.
  • Minor bug fixes and improvements.