Version 1.0.31 (2021-01-24) * 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 . * 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. Version 1.0.30 (2020-09-18) * 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 . * 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 . * Switch to GitHub Actions for continuous integration. * Add OSS-Fuzz tests to GitHub Actions workflow, thanks to Max Dymond . * 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 . Version 1.0.29 (2020-08-15) * 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. Version 1.0.28 (2017-04-02) * 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. Version 1.0.27 (2016-06-19) * 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. Version 1.0.26 (2015-11-22) * 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. Version 1.0.25 (2011-07-13) * Fix for Secunia Advisory SA45125, heap overflow in PAF file handler. * Accept broken WAV files with blockalign == 0. * Minor bug fixes and improvements. Version 1.0.24 (2011-03-23) * WAV files now have an 18 byte u-law and A-law fmt chunk. * Document virtual I/O functionality. * Two new methods rawHandle() and takeOwnership() in sndfile.hh. * AIFF fix for non-zero offset value in SSND chunk. * Minor bug fixes and improvements. Version 1.0.23 (2010-10-10) * Add version metadata to Windows DLL. * Add a missing 'inline' to sndfile.hh. * Update docs. * Minor bug fixes and improvements. Version 1.0.22 (2010-10-04) * Couple of fixes for SDS file writer. * Fixes arising from static analysis. * Handle FLAC files with ID3 meta data at start of file. * Handle FLAC files which report zero length. * Other minor bug fixes and improvements. Version 1.0.21 (2009-12-13) * Add a couple of new binary programs to programs/ dir. * Remove sndfile-jackplay (now in sndfile-tools package). * Add windows only function sf_wchar_open(). * Bunch of minor bug fixes. Version 1.0.20 (2009-05-14) * Fix potential heap overflow in VOC file parser (Tobias Klein, http://www.trapkit.de/). Version 1.0.19 (2009-03-02) * Fix for CVE-2009-0186 (Alin Rad Pop, Secunia Research). * Huge number of minor bug fixes as a result of static analysis. Version 1.0.18 (2009-02-07) * Add Ogg/Vorbis support (thanks to John ffitch). * Remove captive FLAC library. * Many new features and bug fixes. * Generate Win32 and Win64 pre-compiled binaries. Version 1.0.17 (2006-08-31) * Add sndfile.hh C++ wrapper. * Update Win32 MinGW build instructions. * Minor bug fixes and cleanups. Version 1.0.16 (2006-04-30) * Add support for Broadcast (BEXT) chunks in WAV files. * Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS. * Add support for RIFX (big endian WAV variant). * Fix configure script bugs. * Fix bug in INST and MARK chunk writing for AIFF files. Version 1.0.15 (2006-03-16) * Fix some ia64 issues. * Fix precompiled DLL. * Minor bug fixes. Version 1.0.14 (2006-02-19) * Really fix MinGW compile problems. * Minor bug fixes. Version 1.0.13 (2006-01-21) * Fix for MinGW compiler problems. * Allow readin/write of instrument chunks from WAV and AIFF files. * Compile problem fix for Solaris compiler. * Minor cleanups and bug fixes. Version 1.0.12 (2005-09-30) * Add support for FLAC and Apple's Core Audio Format (CAF). * Add virtual I/O interface (still needs docs). * Cygwin and other Win32 fixes. * Minor bug fixes and cleanups. Version 1.0.11 (2004-11-15) * Add support for SD2 files. * Add read support for loop info in WAV and AIFF files. * Add more tests. * Improve type safety. * Minor optimisations and bug fixes. Version 1.0.10 (2004-06-15) * Fix AIFF read/write mode bugs. * Add support for compiling Win32 DLLS using MinGW. * Fix problems resulting in failed compiles with gcc-2.95. * Improve test suite. * Minor bug fixes. Version 1.0.9 (2004-03-30) * Add handling of AVR (Audio Visual Research) files. * Improve handling of WAVEFORMATEXTENSIBLE WAV files. * Fix for using pipes on Win32. Version 1.0.8 (2004-03-14) * Correct peak chunk handing for files with > 16 tracks. * Fix for WAV files with huge number of CUE chunks. Version 1.0.7 (2004-02-25) * Fix clip mode detection on ia64, MIPS and other CPUs. * Fix two MacOSX build problems. Version 1.0.6 (2004-02-08) * Added support for native Win32 file access API (Ross Bencina). * New mode to add clippling then a converting from float/double to integer would otherwise wrap around. * Fixed a bug in reading/writing files > 2Gig on Linux, Solaris and others. * Many minor bug fixes. * Other random fixes for Win32. Version 1.0.5 (2003-05-03) * Added support for HTK files. * Added new function sf_open_fd() to allow for secure opening of temporary files as well as reading/writing sound files embedded within larger container files. * Added string support for AIFF files. * Minor bug fixes and code cleanups. Version 1.0.4 (2003-02-02) * Added suport of PVF and XI files. * Added functionality for setting and retreiving strings from sound files. * Minor code cleanups and bug fixes. Version 1.0.3 (2002-12-09) * Minor bug fixes. Version 1.0.2 (2002-11-24) * Added support for VOX ADPCM. * Improved error reporting. * Added version scripting on Linux and Solaris. * Minor bug fixes. Version 1.0.1 (2002-09-14) * Added MAT and MAT5 file formats. * Minor bug fixes. Version 1.0.0 (2002-08-16) * Final release for 1.0.0. Version 1.0.0rc6 (2002-08-14) * Release candidate 6 for the 1.0.0 series. * MacOS9 fixes. Version 1.0.0rc5 (2002-08-10) * Release candidate 5 for the 1.0.0 series. * Changed the definition of sf_count_t which was causing problems when libsndfile was compiled with other libraries (ie WxWindows). * Minor bug fixes. * Documentation cleanup. Version 1.0.0rc4 (2002-08-03) * Release candidate 4 for the 1.0.0 series. * Minor bug fixes. * Fix broken Win32 "make check". Version 1.0.0rc3 (2002-08-02) * Release candidate 3 for the 1.0.0 series. * Fix bug where libsndfile was reading beyond the end of the data chunk. * Added on-the-fly header updates on write. * Fix a couple of documentation issues. Version 1.0.0rc2 (2002-06-24) * Release candidate 2 for the 1.0.0 series. * Fix compile problem for Win32. Version 1.0.0rc1 (2002-06-24) * Release candidate 1 for the 1.0.0 series. Version 0.0.28 (2002-04-27) * Last offical release of 0.0.X series of the library. Version 0.0.8 (1999-02-16) * First offical release.