All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Disable autogen rules when autogen cannot be found
1.2.2 - 2023-08-13
- Fixed invalid regex in src/create_symbols_file.py
- Fixed passing null pointer to printf %s in tests
1.2.1 - 2023-08-12
- RISC OS support to
sndfile-play
, thanks @ccawley2011 - Move semantics to
SndFileHandle
C++ class, thanks @haydaralaidrus
- Various typos, thanks @@uniontech-lilinjie
- Handling of absolute
CMAKE_INSTALL_LIBDIR
/CMAKE_INSTALL_INCLUDEDIR
, thanks @Staudey (issue #908) - Add
localtime_s
support tosndfile-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)
- Obsolete file `libsndfile.spec.in``, thanks @janstary
1.2.0 - 2022-12-25
- 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).
-
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 - 2022-03-27
-
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 formatSF_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 oldNEWS
file has been renamed toNEWS.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. -
CIFuzz fuzzer, thanks to @AdamKorcz (PR #796)
-
SFC_SET_DITHER_ON_READ
andSFC_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
-
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
inreplace_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.
- Heap buffer overflow in
wavlike_ima_decode_block
(), thanks @bobsayshilol, credit to OSS-Fuzz (issue 25530). - Heap buffer overflow in
msadpcm_decode_block
(), thanks @bobsayshilol, credit to OSS-Fuzz (issue 26803). - Heap buffer overflow in
psf_binheader_readf
(), thanks @bobsayshilol, credit to OSS-Fuzz (issue 26026). - Index out of bounds in
psf_nms_adpcm_decode_block
(), credit to OSS-Fuzz (issue 25561). - Heap buffer overflow in
flac_buffer_copy
(), thanks @yuawn, @bobsayshilol. - Heap buffer overflow in
copyPredictorTo24
(), thanks @bobsayshilol, credit to OSS-Fuzz (issue 27503). - Uninitialized variable in
psf_binheader_readf
(), thanks @shao-hua-li, credit to OSS-Fuzz (issue 25364).