Change History
--------------

This file contains a list of all changes starting after the release of
sox-11gamma.


sox_ng-14.8.0.1	2026-05-26
---------------

Changes since 14.8.0:

  o Fix builds without FFTW giving all-black spectrograms, broken in 14.8.0
  o Trivial fixes to the docs


sox_ng-14.8.0	2026-05-18
-------------

The fourth new-feature release

Changes since 14.7.0:

New features:

Effects:

  o New effect "centercut", a sophisticated version of "oops"
  o bend: Raise maximum FFT size from 8192 to 2^30
  o bend: Optimized to run twice as fast
  o echo/echos: Get the output signal length right
  o fade: Add "s" square-law fade type
  o rate: Extrapolate by Linear Predictive Coding to improve end effects
  o hilbert/sinc: Raise maximum number of taps to 1073741823
  o spectrogram: Add -i option to interpolate between frequency bins
  o spectrogram: Fix linear axis with frequency ranges
  o spectrogram: On log axis, add labels at 2 and 5 or 1 to 9
  o spectrogram: Slightly faster by doing out-of-place FFTs
  o spectrogram: Fail if the start time is beyond the end
  o spectrogram: Add -g flag to show times as HH:MM:SS
  o spectrogram: Warn about non-optimal DFT sizes and suggest the nearest one
  o synth: Add -p for Pythagorean tuning

Formats:

  o New format ".hip" for libmp3lame's built-in MPEG decoder
  o New format ".mod" for Amiga modules
  o New format ".mul" for TombRaider Multiplex Streams (write-only)
  o New format ".pcm" for SNES add-on MSU-1
  o Add ffmpeg's "aa", "ea" and "act" formats
  o aifc: Support 24/32-bit big/little-endian compression types
  o cdda: Add ".cda" as a synonym for ".cdda"
  o coreaudio: Allow selection of devices by number as well as by name
  o dff/dsf: Automatically resample to supported sample rates when writing
  o dff/dsf/wsd: Autodetect the formats when reading from stdin
  o Add sndfile's names mpc and svx for formats mpc2k and 8svx
  o pulseaudio: Filename can also set server and application name (app:foo)
  o sndfile: Also handle AVR format
  o wavpack: Update to WavPack 5.0 giving 64-bit file lengths

Improvements:

  o bend: Optimized to be over twice as fast
  o If libmad is not available, use sndfile for MP3; if no sndfile, use hip
  o Add global option -A to tune A4 to something other than 440Hz
  o Add global option --keymap letting key presses adjust effect parameters
  o --interactive: [<] and [>] seek by 30s and [R] restarts the effects chain
  o In interactive mode, [n] skips and [q] and [esc] quit
  o New demo miniprograms demo/soxcopy and demo/synth

Bug fixes:

  o avr: Fail when writing an unsupported number of channels
  o echo/echos: Set the output signal's length
  o ladspa: Allow plugins that take no input
  o libsox: Warn and fail if they read an output or write an input file
  o mad: Catch and report decoder error messages
  o ogg: Detect disk-full when writing and stop
  o pitch: Error about a bad cents value instead of tempo about a bad factor
  o pulseaudio: Ignore zero-length writes, which it supposedly doesn't like
  o rate: Bug fixes to the extrapolator
  o rate: Fix "-vs" looping forever, broken in +git20260129
  o softvol: Fix bug whereby rising volume suddenly dropped to zero
  o soxi: Don't include the file header in the Bitrate figure
  o spectrogram: Fix labelling of linear axes with a frequency range
  o spectrogram: Omit bottom labels that overlap the top ones below
  o spectrogram: Place top label on the top row of the graph, not the axis
  o spectrogram: Improve labelling of logarithmic axes
  o spectrogram: If start time is after EOF, fail instead of looping forever
  o spectrogram: Obtain slightly faster FFTs from FFTW by doing them in-place
  o spectrogram: Truncate the spectrogram less than before, still not right
  o stats: Don't report the crest factor in overall JSON stats
  o stats: Fix RMS Pk db of -inf when window time is equal to file length
  o wav: Disallow zero-sized chunks
  o wav: Ignore truncated final ISFT/ICRD chunks instead of failing
  o wavpack: Fix the check for successfully rewriting the file header
  o Don't open files in reverse order, so the first unopenable file is reported
  o Make --keymap work on vol.gain and overdrive.gain when gain is 1
  o For formats that only support mono, stereo or quad, convert to the closest
    instead of writing 8-channel files that say "stereo" in the header
  o Make file rewinding work when compiled with Emscripten
  o Fail autodetection of some ffmpeg formats if the file is truncated
  o Release input and output formats' hold on stdin and stdout so that
    they can be used more than once
  o sox_open_memstream_write(): Work for formats that rewrite the header
  o Revert c557165 to make --single-threaded the default again
  o Include opus support in the Windows exes
  o Portability fixes for C89/C90
  o Fix compilation on older MacOS X systems and with MS Visual C
  o Make configure work on OpenBSD without needing --without-sunaudio
  o Make --keymap work on vol.gain and overdrive.gain when gain is 1.0
  o --multi-threaded: Set OMP_WAIT_POLICY so parallel SoXen are not slow
  o Enable the test for CVE-2018-8357
  o sox_effect_handler_t: Put new fields after priv_size for backward-compat
  o Fix some core dumps, assertion failures, double frees and memory leaks

Documentation:

  o libsox_ng.3 is completely rewritten to be accurate and complete
  o The effects descriptions have moved from sox_ng.1 to soxeffect_ng.7
  o New manual pages libsoxeffect_ng and libsoxformat_ng on writing handlers
  o Include the PDFs in the distribution tarballs
  o cdda: Add a note about big-/little-endian files
  o pulseaudio: Document that it uses its filename as a device name
  o Make "sox -h foo" give the help for format or effect "foo"

Internal:

  o Source file mp3.c has split into mp3-mad.c, mp3-lame.c and mp3-twolame.c
    and mp3-util.h has gone
  o Fix opusfile detection in the Windows build
  o Fix compilation with only some of mad, lame and twolame
  o Completely rewrite the CMake build support
  o Optimize the Windows exes for speed
  o Remove debian/ again, as they do their own packaging
  o Add lsx_popen() that uses execvp() instead of /bin/sh
  o Make sox_open_memstream_write() get the buffer length right

Thanks to akwizgran, Alfred Wingate, Case@hydrogenaudio, Daniel Adamski,
Benedetto "dettox", Dave Jones, Doug Lee, Jan Stary, jwdevel, Mans Rullgard,
prof-spock, qwertymode, Robert Schultz, Sebastian Ramacher, Stefan Sauer
and others for creative input.


sox_ng-14.7.0	2025-11-18
-------------

New features:

Effects:

  o chorus: Make all parameters optional
  o chorus: Allow an initial -[s|t] to change the default wave shape
  o chorus, phaser: Add -l/q options for linear/quadratic interpolation
  o chorus: Get the initial phase of the offset wave right
  o chorus: Make the frequency of the offset wave more precise
  o dither: Add the new shibata filters from SSRC
  o flanger: Add -n option for no interpolation
  o flanger: Allow an initial -[s|t] to set the wave shape
  o flanger: Allow delay+depth=0
  o saturation: New effect for soft clipping from subtle warmth to crunchy fuzz
  o sinc: Add -d flag to copy through when the lowpass frequency is
    above the Nyquist frequency
  o spectogram: Make -Y give exactly the requested height
  o stat: Add -e flag to output EBU R 128 loudness measurements
  o stat: Add -j flag to output in JSON format
  o stretch: Add sqrt, quarter-cos and half-cos fading types

Formats:

  o mp3: Recognize mp1 and mp2 as separate formats
  o mp2 encoding: Enable VBR encoding with -C -10-10
  o mp2 encoding: Upsample rates lower than 16k instead of failing
  o mp2/mp3: Mix 3 or more channels down to stereo instead of failing
  o wav: Decode the names of unsupported formats instead of spouting hex codes

Bug fixes:

  o chorus: Fetch delayed samples from the past, not the future (!)
  o chorus: Fix several more inaccuracies
  o flanger: Fix range of width from -100-100 to 0-inf
  o phaser: Fix range of regen to -1 to +1
  o stretch: Fix infinite loop by imposing minimum window size of 1ms
  o mp3: Make --help-format report write encodings
  o Make --enable-dl-sndfile and --enable-dl-amrnb work
  o Fix segfault on a mis-spelled effect name after :
  o Fix play -t ao, broken in 14.6.1
  o audioio (Sun audio): Fix compilation and segfault on NetBSD
  o Fix --version only saying "SoX_ng v" on MacOS

Documentation:

  o Reject trailing garbage on numeric arguments
  o Make messages for syntax errors more helpful
  o rate: Document undocumented options
  o Redraw flanger's flow diagram to be more similar to chorus/phaser
  o Make --version include -rc1 or other extensions
  o Largely rewrite the manual section for mp1/mp2/mp3.

Internal:

  o Allow ./configure --without-dolbyb
  o Fix ./configure --with-dyn-default for amr, lame, mad, twolame and sndfile
  o Add ./configure --enable-dl-speexdsp
  o Recognize ffmpeg/lame/madplay's codes for unspecified WAV lengths
  o Update to libdolbyb-1.1
  o Fix issues/issues.sh for http:// remotes and on FreeBSD
  o Add automatic "make win32.exe/win64.exe" rules using MXE
  o Fix build failure if {mad,lame,twolame}.h is found but not the library
  o Make test/twx-wav-byte-rate not fail on 64-bit machines
  o Make CMake work again, though it omits all the optional formats
  o Remove unmaintained msvc files
  o debian/ is back to build .deb packages on Debian, Ubuntu and Mint
    with dpkg-buildpackage -rfakeroot -b

sox_ng-14.6.1   2025-10-13
-------------

Bug fixes:

Effects:

  o flanger: Fix minumum and maximum values of "width" (the mix)
  o noisered: Fix asymmetric drain
  o pulseaudio: Initialize the channel map
  o spectrogram: Don't put a "DC" label on the log frequency axis
  o spectrogram: Fix position of "Frequency (Hz)" on logarithmic axis
  o spectrogram: Fix errors in the logarithmic axis and frequency range code
  o spectrogram: Fix segmentation fault when using -n
  o spectrogram: Fix segmentation fault when -y < 70
  o speexdsp: Fix maximum and minimum values of -agc and -denoise

File formats:

  o Make reading MP2/3 and Ogg files work with -t sndfile
  o Make writing MP3 files work with -t sndfile
  o When writing WAV files >4GB, set the size to "unspecified"
  o Correct WAV's byte rate for TXW's 33333.333Hz sample rate
  o Detect and report the unsupported Sonarc-in-WAV format
  o Fix reading of zero-length AIFF files
  o Fix reading of AMR files with invalid block types
  o Fix OKI ADPCM compression and decompression to respect the standard
  o Make the GSRT padding byte for odd numbers of samples silent
  o Fix ogg output (broken in 14.6.0, fixed in 14.6.0.4)
  o Reject negative sample rates

Internal improvements:

  o Create sparse audio files when the data is zeroes
  o Make the status display adapt to the terminal width
  o Use sigaction() so that SoX is stoppable even when blocked by I/O
  o Give LADSPA_PATH a sensible system default
  o Fix OSS drivers that treat mono output as stereo
  o Fix an input buffer overrun with OSS audio device
  o Fix various floating point exceptions and segmentations faults
  o Make dynamic loading of file format handlers work
  o Fix symlink creation with --enable-replace
  o Always support aligned heap allocation (for the sdm effect on AVX CPUs)
  o Fix setting of -fstack-protector for GCCs that don't have it
  o Fix compilation with versions of libsndfile that don't have MPEG
  o Fix compilation on AIX 7.3, MSYS2/MinGW, Sortix and on MacOS X with old SDKs
  o Make it compile with C89 compilers
  o Avoid slowdown of overdrive due to denormalized floating point values

Operating System specific:

  o On Windows you no longer need to "set AUDIODRIVER=waveaudio" beforehand
  o On Windows delete temporary files and output files with write errors
  o Haiku: fix compilation and add system LADSPA plugin directories
  o Update issues.sh to work on FreeBSD

Documentation:

  o Spell-check and revise the manuals, fix some usage messages
  o Map \f(CW to \fR for nroff
  o echos: Correct the gain_out hint
  o All effects now have extra usage


sox_ng-14.6.0	2025-06-17
-------------

New features:

  o Read NSP format files
  o Read MSP2K (Akai sampler) format files
  o Read and write AIFC a-law and u-law encodings
  o Copy AIFF's MARK and INST chunks more often
  o Copy AIFC's MARK and INST chunks
  o Read and write DSF format and read DFF and WSD formats
  o Add the DSD-related "dop" and "sdm" effects
  o Add reading of Ogg FLAC files (with ffmpeg)
  o SDS format is now autodetected
  o MP3 with CRC protection and MP2 formats are now autodetected
  o AIFF format now supports ID3 tags
  o The ID3 "TCOM" (Composer) tag is now supported
  o Add "softvol" effect, a software gain that avoids clipping and maybe rises
  o Make the 'v' and 'V' keys prefer to adjust softvol if it is active
  o Add "dolbyb" effect to decode and encode Dolby B noise reduction
  o synth: Add "vdelay" combine method to phase-modulate by the synth wave
  o Remove the limit on the number of echo/echos stages (was 7)
  o Remove the limit on the number of channels that phaser can handle (was 4)
  o Raise the limit on the number of chorus stages from 7 to 256
  o Remove unnecessary limits on arguments to echo,echos,chorus,phaser,flanger
  o wget, wget2 and curl are sought at runtime instead of at build time and
    ./configure --with-curl now just makes it prefer curl to wget.
  o Make "echos" run 20% faster
  o Make --multi-threaded the default
  o Error messages have been harmonized. The best was
    sox_ng WARN chorus: chorus: warning >>> gain-out can cause saturation
  o When curl or wget fail to fetch a URL, decode the exit status to a message
  o Don't spew the usage pages when there are invalid options
  o Add flow diagrams to --help-effect chorus/compand/earwax/echo/echos/phaser
  o Make --with-ffmpeg the default configuration

Bug fixes:

  o The "stats" effect's Bit-depth values have been revised to reflect
    what Bit-depth means and handle corner cases like -32768
  o Revise all effects' usage messages to the same format and more helpful
  o "echos" and "chorus" have never worked but now do what they say
  o "bend"'s logarithmic frequency curve is more closely logarithmic
  o Fix "silence" not to add a random selection of fragments at the end
  o Make "firfit" understand frequencies like "10k"
  o Read mono 8-bit MAUD files with an odd number of samples
  o Handle unknown odd-sized chunks in AIFF files
  o Detect and report read errors from short audio files
  o Detect and report write errors to audio files
  o When data read from a pipe is short, report stats for what there was
  o When an fatal error is detected, stop and exit non-zero in all cases
  o No formats or effects are experimental or deprecated any more
  o Multi-channel LADSPA plugins now work
  o The LD_LIBRARY_PATH change has been reverted (it bombed on Solaris)
  o Revert the "Unicode when writing id3 tags" patch which never worked
  o ffmpeg's ADX format is no longer autodetected (too many false positives)
  o Reject parameter values of NaN instead of dumping core
  o Correct the manual and make its mcompand example work

sox_ng-14.5.0.3	2025-01-05
---------------

Bug fixes:

  o Make reading from ffmpeg work on Unix too.
    popen(rb) returns NULL with glibc (!)

sox_ng-14.5.0.2	2024-12-23
---------------

Bug fixes:

  o Make reading from ffmpeg work by popen()ing "rb"

sox_ng-14.5.0.1	2024-12-23
---------------

New features:

  o Add Unicode support on Windows for filenames and command-line arguments

Bug fixes:

  o Make it build for Windows using MXE

sox_ng-14.5.0	2024-12-06
-------------

New features:

  o Add effect speexdsp with automatic gain control and noise reduction
  o Auto-detect MP3 files
  o If ./configured --with-ffmpeg and ffmpeg is installed, autoread formats:
    3g2, 3gp, aac, ac3, adts, adx, ape, apm, aptx, argo_asf, asf, ast, avi,
    dfpwm, dts, dvd, eac3, f4v, flv, gxf, ism, kvag, m4a, m4v, mkv, mlp,
    mp4, mpeg, mpegts, mxf, nut, oga (Ogg with FLAC data), ra, rm, rso, sbc,
    smjpeg, spdif, speex, svcd, tta, vag, vcd, vob, webm, wma, wsaud, wtv
    and yet more with -t ffmpeg
  o Add "stat -a" to give the average power spectrum
  o Add "spectrogram -n" flag to normalize its brightness
  o Add "spectrogram -L" flag to give a logarithmic frequency axis
  o Add "spectrogram -R" flag to specify the frequency range
  o Raise spectrogram's height limit from 8193 to 200000 pixels
  o Lower the minimum speed of the flanger effect from 0.1 to 0.01 Hz
  o Make combine effects work when there's a single file
  o riaa: Add 192kHz sample rate
  o sphere format: Support ALAW encoding
  o SD2 format: Support resource forks
  o ID3 tags: Support unicode when writing
  o WAV files: Read when the number of valid bits is less that the sample size
  o Use posix_fadvise to increase readahead and double its speed
  o Use FFTW to make non-2^n-size spectrograms a hundred times faster
  o Resize Linux pipe buffers to make multi-threaded effects 10-80% faster
  o Reduce sox -t pulseaudio --[input-]buffer latency from up to 2 secs to low
  o Enable building to fetch URLs with curl instead of wget
  o Be able to read files that are still being written by another process
  o Make "make check" run the regression test suite
  o Drop sox_version_info_t's "time" element to get reproducible builds
  o Remove the undocumented and useless "divide" effect
  o Enhance ./configure --enable-stack-protector with =strong and =all and,
    with no --(en|dis)able-stack-protector option, pick the best available

Bug fixes:

  o Fix coreaudio device name truncation on MacOS X
  o Make it compile on Haiku and NetBSD and with gcc-2.95
  o Americanize spelling in the manual
  o Make "make installcheck" work again
  o Fix the delay buffer full flag assigned during drain
  o ./configure --with-{amrnb,amrwb,sndfile}=dyn --without-dyn-default
    linked them statically instead
  o Drop the unreliable pipe-rewinding libc hacks and do it in-house
  o Fix bug introduced in sox_ng-14.4.3: au files with -t ao play short
  o Fix segfault when --norm is passed with no parameter
  o Fix compilation on AIX 7.1, Haiku, NetBSD, OpenBSD and with gcc-2.95

sox_ng-14.4.3.1	2024-09-14
---------------

New features:

  o Document the "sinc -r" flag
  o Added releases.json for freshcode.club's benefit

Bug fixes:

  o Fix detection of opus. The AIX "fix" in 14.4.3-rc1 broke it elsewhere
  o Don't call sox_write from output effect if input buffer is empty
  o Correct the mailing list's address


sox_ng-14.4.3	2024-09-01
-------------

New features:

  o There is a new regression test suite, primarily against the CVEs

Bug fixes:

  o For CVE-2017-11332, CVE-2017-11333, CVE-2017-11358, CVE-2017-11359,
    CVE-2017-15370, CVE-2017-15371, CVE-2017-15372, CVE-2017-15642,
    CVE-2017-18189, CVE-2019-1010004, CVE-2019-13590, CVE-2019-8354,
    CVE-2019-8355, CVE-2019-8356, CVE-2019-8357, CVE-2021-23159,
    CVE-2021-23172, CVE-2021-23210, CVE-2021-33844, CVE-2021-3643,
    CVE-2021-40426, CVE-2022-31650, CVE-2022-31651, CVE-2023-26590,
    CVE-2023-32627, CVE-2023-34318, CVE-2023-34432,
  o spectrogram segfault when width exceeds number of samples
  o segmentation fault in rate.c
  o floating point exception in startwrite()
  o wavpack check errors
  o writing hcom files on bigendian systems
  o Fixes for memory leaks and a double free()s
  o It now compiles under C99 and on AIX
  o Support for uClibc and builds with other non-glibc C libraries
  o Various build system fixes from the software distributions
  o Spelling errors are fixed
  o It now builds on AIX, FreeBSD, OpenBSD and Solaris
  o Almost all compiler warnings are fixed

Copyright:

  o Uncopyrighted files have been attributed
  o Copyrighted files with no license now have licences
  o Multiple copyright notices in single files have been harmonized
  o The lpc10 module was of dubious copyright and is now 3-clause BSD
  o The libgsm module was missing its copyright notice
  o There was an erroneous address for the FSF
  o The copyright of opus.c is GPLv2-only because it's based on oggenc.c
  o Therefore the overall copyright of sox_ng and libsox_ng is GPLv2


sox-14.4.2	2015-02-22
----------

Previously deprecated features that have been removed in this release:

  Deprec-  Feature    [O(ption)]
  ated in  [F(ormat)] [E(ffect)]   Replacement
  -------  ----------------------  ----------------------
  14.3.0   O -1/-2/-3/-4/-8        -b
  14.3.0   O -s/-u/-f              -e
  14.3.0   O -A/-U/-o/-i/-a/-g     -e
  14.4.0   E swap with parameters  remix
  14.4.0   E mixer                 remix
  14.4.1   OpenMP < 3.0            OpenMP >= 3.0
  14.4.1   F ffmpeg                ffmpeg/avconv via pipe

File formats:

  o Add optional support for reading Ogg Opus files. (John Stumpo)
  o Fix for max size text chunks in aiff files. (cbagwell)
  o Add reading support for RF64 WAV files. (Dave Lambley)
  o Work around for libsndfile created RF64 files with invalid
    sizes. (Dave Lambley)
  o Detect MS ADPCM WAV files with invalid blocks. (cbagwell)
  o Detect Sphere files with invalid header sizes. (cbagwell)

Effects:

  o 'Deemph' can now also be used at 48kHz sample rate.  (robs)
  o 'Rate' now much faster in many cases.  (robs)
  o Allow sending spectrograms to stdout. (Ulrich Klauer)
  o Allow use of Dolph window with spectrograms. (robs)
  o Allow mixing time and sample-count arguments for the delay
    effect, and for spectrogram -S and -d. (Ulrich Klauer)
  o Support multi-channel LADSPA plugins. (Eric Wong)
  o Support infinite repetition with repeat. (Ulrich Klauer)
  o Improved pink noise frequency response in synth. (robs)
  o Extended syntax for specifying audio positions to several
    effects. (Ulrich Klauer)
  o Fix integer overflow in mcompand. [3590093] (Guido Aulisi)
  o Add optional latency compenstation for LADSPA plugins. (Eric Wong)

Other new features:

  o New -p option for soxi to display sample precision. (Ulrich Klauer)
  o New libsox example6: give explicit output attributes. (robs)

Internal improvements:

  o Speed optimization for effects that operate on channels
    independently. (Ulrich Klauer)
  o Fix memory leaks. (Ulrich Klauer)
  o Most internal symbols (lsx_*) are no longer exported. (Ulrich Klauer)


sox-14.4.1	2013-02-01
----------

Newly deprecated features (to be removed in future):

  Deprec-  Feature    [O(ption)]                           Removal
  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
  -------  ----------------------  ----------------------  -------
  14.4.1   OpenMP < 3.0            OpenMP >= 3.0           14.4.1
  14.4.1   F ffmpeg                ffmpeg/avconf via pipe  14.4.1

File formats:

  o Fix pipe file-type detection regression. (robs)
  o MAUD write fixes. [3507927] (Carl Eric Codere and Ulrich Klauer)
  o Fix crash when seeking within a FLAC file. [3476843] (Eric Wong)
  o Fix Ogg Vorbis files with certain numbers of channels being
    truncated. (Ulrich Klauer)
  o Fix reading 64-bit float WAVs. [3481510] (nu774 and Ulrich Klauer)
  o Fix potential buffer overrun when writing FLAC files directly via
    sox_write(). [3474924] (Eric Wong)

Audio device drivers:

  o Check whether pulseaudio is available before choosing it as
    default. (robs)

Effects:

  o Restore 8 seconds default for spectrogram, if the input length is
    not known. (Ulrich Klauer)
  o Set output length for splice to unknown instead of 0. (Ulrich Klauer)
  o Increase maximum width for spectrograms. (Ulrich Klauer)
  o Fix memory leaks in LADSPA effect. (Eric Wong)
  o Fix hang in several effects (rate, tempo, and those based on
    dft_filter) when processing long files. [3592482, 3594822] (MrMod)
  o Prevent (m)compand from tampering with their arguments. (Ulrich Klauer)

Other bug fixes:

  o Fix input length calculation for combine methods other than
    concatenate. (Ulrich Klauer)
  o Fix to configure.ac to work with Autoconf 2.69. [3600293] (cbagwell)
  o Use binary mode for pipes on all Windows compilers, rather than
    MSVC only. [3602130] (Ulrich Klauer)


sox-14.4.0	2012-03-04
----------

Previously deprecated features that have been removed in this release:

  Deprec-  Feature    [O(ption)]
  ated in  [F(ormat)] [E(ffect)]   Replacement
  -------  ----------------------  ----------------------
  14.3.0   O --interactive         --no-clobber
  14.3.0   E filter                ~= sinc
  14.3.0   E norm -b, norm -i      gain -B, gain -en
  14.3.0   PLAY_RATE_ARG           SOX_OPTS
  14.2.0   E key alias             pitch
  14.2.0   E pan                   ~= remix
  14.1.0   E resample alias        rate
  14.1.0   E polyphase alias       rate
  14.1.0   E rabbit alias          rate
  14.3.1   F sndfile: sndfile 1.0.11 sndfile > 1.0.11
  14.3.0   F flac: libFLAC < 1.1.3 libFLAC >= 1.1.3
  14.3.1   F mp3: lame 3.97        lame > 3.97

Newly deprecated features (to be removed in future):

  Deprec-  Feature    [O(ption)]                           Removal
  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
  -------  ----------------------  ----------------------  -------
  14.4.0   E mixer                 remix                   14.4.0 + 1 year
  14.4.0   E swap with parameters  remix                   14.4.0

Previously deprecated features (to be removed in future):

  Deprec-  Feature    [O(ption)]                           Removal
  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
  -------  ----------------------  ----------------------  -------
  14.3.0   O -1/-2/-3/-4/-8        -b                      14.4.0
  14.3.0   O -s/-u/-f              -e                      14.4.0
  14.3.0   O -A/-U/-o/-i/-a/-g     -e                      14.4.0

File formats:

  o Mention in man pages that WAV files support floating point encodings.
  o Add support for floating point encodings in AIFF-C files. (Ulrich Klauer)
  o Pad WAV data chunk to an even number of bytes (as required by the
    specification). [3203418] (Ulrich Klauer)
  o Add optional MP2 write support with twolame library. (Paul Kelly)

Audio device drivers:

  o Give pulseaudio driver higher priority than alsa or oss now that
    its proven stable and gives user more features; such as per app
    volume control. (cbagwell)
  o Fix bug when specifying OSX coreaudio device name.  Would only
    search for first 3 devices. (cbagwell)
  o Fix sox hangups are exit when using coreaudio. (cbagwell)
  o Improve buffering in coreaudio driver (Michael Chen)
  o Support enabling play/rec mode when user invokes sox as either
    play or play.exe on windows. (cbagwell)
  o Fix compile of sunaudio driver on OpenBSD (cbagwell)

Effects:

  o Improvements to man pages for tempo effect.  Really made in 14.3.2.
    (Jim Harkins).
  o New upsample effect. (robs)
  o Fix to effects pipeline to let fade effect specify time from end of
    file again. (cbagwell and Thor Andreassen)
  o Fix man page default error for splice effect. (Ulrich Klauer)
  o Enable support for --plot option on biquad and fir effects. (Ulrich Klauer)
  o Effects chain can now be unlimited in length. (Ulrich Klauer)
  o Fix newfile/restart effects when merging or mixing files. (Ulrich Klauer)
  o Fix crashes in compand and mcompand effects. [3420893] (Ulrich Klauer)
  o Let the delay effect gracefully handle the special case that a delay can
    be more than the input length. [3055399] (Ulrich Klauer)
  o New hilbert and downsample effects. (Ulrich Klauer)
  o Fix problem where fade would sometimes fail if specifying a fade-out
    immediately after a fade-in. (robs)
  o Stricter syntax checking for several effects (might reveal bugs hidden
    in existing scripts). (Ulrich Klauer)
  o Calculate output audio length for most effects. (Ulrich Klauer)
  o Fix problems with several effects when the buffer size was not evenly
    divisible by the number of channels. [3420899] (Ulrich Klauer)
  o Complete rewrite of the trim effect with extended syntax (backwards
    compatible) and capabilities. [FR 2941349] (Ulrich Klauer)
  o Fix trim optimization unexpectedly seeking backwards. (Ulrich Klauer)
  o Prevent samples from getting lost at effects chain transitions in
    multiple effects chain/multiple output modes. (Ulrich Klauer)

Misc:

  o Minor improvements to the man page. (Ulrich Klauer)
  o When using pipes (-p) on Windows, set file mode to binary. (cbagwell)
  o Updated .dat format description in soxformat. (Jan Stary)
  o Doxygen documentation for libSoX. (Doug Cook)

Other bug fixes:

  o Fix several memory leaks. [3309913] (Jin-Myung Won and Ulrich Klauer)
  o Fixed crashes in apps that call sox_format_init/quit() multiple times.
   (cbagwell)

Internal improvements:

  o Added use_threads variable to sox_globals. This should be used to enable
    or disable use of parallel effects processing instead of directly calling
    omp_set_num_threads. (Doug Cook)
  o Fix compiler warnings. (Cristian Morales Vega [P. 3072301], Doug Cook)
  o Improve large file support by using 64-bit numbers to count
    samples. (Doug Cook, Thor Andreassen, Ulrich Klauer)


sox-14.3.2	2011-02-27
----------

File formats:

  o Add seek support to mp3 handler for speed improvements.  (Pavel Karneliuk)
  o Fix bug were WavPack header was not updated correctly when closing
    file.  Fixed libsox memory leak when closing WavPack files.
    (David Bryant)
  o Fix RIFF chunk length error when writing 24-bit files. (David Bryant)
  o 24-bit WAV files were leaving channel maps unassigned. Change to use
    common channel mappings based on channel count.  This allows to
    work more seemlessly with other apps such as WavPack and Foobar2000.
    (David Bryant)
  o Fix ffmpeg playback bug caused by alignment requirements on some platforms.
    Closes bug #3017690.  (Reuben Thomas).
  o Fix memory leak in ffmpeg. (Doug Cook)
  o Handle 0 length chunks in WAV files gracefully.  (Beat Jorg)
  o When skipping over chunks, account for word alignment. Helps
    with some Logic Pro generated files.  (D Lambley)
  o Fix incorrect MP3 file length determination with VBR & .5s initial
    silence.  (robs)

Audio device drivers:

  o Fix immediate segfault on OSX while attempting to record. (Adam Fritzler)
  o Fix segfault on OSX playback for some HW that gives smaller then
    requested buffers. (cbagwell)
  o Clean up system resource in coreaudio on close.  Allows running
    back-to-back open()/close()'s without exiting app first. (cbagwell)
  o Add support for 32-bit samples to OSS driver. (Eric Lammerts)
  o Add support for 24 and 32-bit samples to waveaudio (Win32) driver.
    (Doug Cook)
  o Support specifying audio device other than default on OSX (cbagwell)

Effects:

  o F.R. [3051700] spectrogram -r for `raw' spectrogram, no legend.  (robs)
  o Fix -w option on stats effect. (Ronald Sprouse)
  o Fix segfault with some ladspa plugins (Thor Andreassen)
  o Optionally look for png.h in libpng directory to support OpenBSD
    packaging.  Helps enable spectrograph effect. (cbagwell)
  o libpng15 requires application to include zlib.h header file. (cbagwell)
    Add this to spectrograph effect. [3184238]
  o Enable LADSPA effects on all platforms without any external
    dependencies.  Mainly useful for Linux, Windows and OS X which have
    binaries readily available. (cbagwell)
  o Support specifying an absolute end location for trim effect instead
    only an offset from trim begin location. (Ulrich Klauer)
  o Fix regression where MP3 handler required libmad headers to be installed.
    (Samuli Suominen) 
  o Allow dynamic loading of lame to be enabled even if lame header files
    are not installed.  (Doug Cook)

Other new features:

  o Soxi now reports duration of AMR files.  (robs)
  o Document the "multiple" combine option in man pages and in
    usage output (Ulrich Klauer).

Internal improvements:

  o Distribute msvc9 project files that had been in CVS only. (cbagwell)
  o Add msvc10 project files (also compatible with the Windows SDK 7.1).
    (Doug Cook)
  o cmake now compiles waveaudio driver under windows environment. (cbagwell)
    [3072672]

sox-14.3.1	2010-04-11
----------

Newly deprecated features (to be removed in future):

  Deprec-  Feature    [O(ption)]                           Removal
  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
  -------  ----------------------  ----------------------  -------
  14.3.1   F mp3: lame 3.97        lame > 3.97             2011-04-11
  14.3.1   F sndfile: sndfile 1.0.11 sndfile > 1.0.11      14.3.1

Previously deprecated features (to be removed in future):

  Deprec-  Feature    [O(ption)]                           Removal
  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
  -------  ----------------------  ----------------------  -------
  14.2.0   E key alias             pitch                   14.3.1
  14.2.0   E pan                   ~= mixer/remix          14.3.1
  14.3.0   F flac: libFLAC 1.1.2,3 libFLAC > 1.1.3         14.3.1
  14.3.0   PLAY_RATE_ARG           SOX_OPTS                14.3.1
  14.3.0   E norm -b, norm -i      gain -B, gain -en       2010-06-14
  14.3.0   E filter                ~=sinc                  2010-06-14
  14.1.0   E resample alias        rate                    2010-06-14
  14.1.0   E polyphase alias       rate                    2010-06-14
  14.1.0   E rabbit alias          rate                    2010-06-14

LibSoX interface changes:

  o Added new variants of sox_open to allow read/write from/to memory
    buffers (in POSIX 2008 environment); see example5.c.  (robs)

File formats:

  o New Grandstream ring-tone (gsrt) format.  (robs)
  o CVSD encode/decode speed-ups.  (Kimberly Rockwell, P. Chaintreuil)
  o Add ability to select MP3 compression parameters.  (Jim Harkins)
  o Now writes out ID3-tags in MP3 files with lame supports it.  (Doug Cook)
  o Also can write VBR Tag ("XING Header") in MP3 files. (Jim Hark /
    Doug Cook)
  o Increase percision of MP3 encoders to use 24-bits instead of 
    16-bits. (Doug Cook)
  o Fix failed writing 24-bit PAF files (and possibly other libsndfile
    based formats).  (cbagwell)
  o Allow libsndfile to be dlopen()'ed at runtime if --enable-dl-sndfile
    is used. (Doug Cook)
  o Allow amr-nb/amr-wb to be dlopen()'ed at runtime if 
    --enable-dl-amrwb or --enable-dl-amrnb is used. (Doug Cook)
  o amrnb and amrwb formats can optionally use opencore-amr libraries.
    (cbagwell)

Audio device drivers:

  o Add native windows audio driver.  (Pavel Karneliuk, Doug Cook)
  o Add 32-bit support to ALSA driver.  (Pavel Hofman)
  o Make OpenBSD sndio audio driver default over older sunau driver.
   (cbagwell)

Effects:

  o Fix [2254919] silence doesn't trim digital silence correctly.  (robs)
  o Fix [2859842] stats effect crashes on 64-bit arch.  (Ulrich Klauer)

Other new features:

  o Added libSoX example #4: concatenating audio files.  (robs)
  o Show soxi version & usage information when no args given.  (robs)

Other bug fixes:

  o Fix build so that grouped files (e.g. play -r 6k "*.vox" plays all
    at 6k) works.  (robs)
  o Fix build to support auto file type detection with pipes on FreeBSD
    and elsewhere.  (Dan Nelson)
  o Fix simultaneous play & rec not working.  (robs)
  o Fix multi-threading problems on multi-core Windows OS; also, change
    default to single-threaded.
  o Fix mistaken file size with pipe input on Windows.  (Doug Cook)
  o Fix missing documentation for -R (repeatable), and pulseaudio driver.
  o Fix memory leak of format private data.  (Slawomir Testowy)

Internal improvements:

  o Move bit-rot detection support files to sub-directory (could
    previously cause build problems).  (robs)
  o [2859244] Fixes to improve compatibility with MSVC.  (Doug Cook)
  o Added utilities to help any format handler dlopen() external
    libraries at run time instead of link time. (Doug Cook)
  o Compiling with mingw now has feature parity with cygwin. (Doug Cook
    and cbagwell)
   


sox-14.3.0	2009-06-14
----------

Previously deprecated features that have been removed in this release:

  Deprec-  Feature    [O(ption)]
  ated in  [F(ormat)] [E(ffect)]   Replacement
  -------  ----------------------  ----------------------
  14.1.0   E resample *            ~= rate
  14.1.0   E polyphase *           ~= rate
  14.1.0   E rabbit *              ~= rate
  14.2.0   E dither: RPDF,scaled   dither (TPDF only)
  14.1.0   F flac: libFLAC 1.1.1   libFLAC > 1.1.1

  * But interface retained as an alias for `rate'.

LibSoX interface changes:

  o sox_format_init() has been supeseded by sox_init().
  o Removed obsolete error codes (SOX_E...); new sox_strerror()
    function to convert error codes to text.
  o Use of sox_effect_options() is now mandatory when initialising an
    effect (see example0.c for an example of this).
  o sox_flow_effects() has a new (3rd) parameter: a void pointer
    `client_data' that is passed as a new (2nd) parameter to the flow
    callback function.  client_data may be NULL.

File formats:

  o Slight improvement to A-law/u-law conversion accuracy: round LSB
    instead of truncating.  (robs)
  o Fix length in wav header with multi-channel output to pipe.  (robs)
  o Fix [2028181] w64 float format incompatibility.  (Tim Munro)
  o Fix reading AIFF files with pad bytes in COMT chunks. (Joe Holt)
  o Fix AIFF file length bug to stop reading trash data on files that
    have extra chunks at end of file. (Joe Holt)
  o Fix file length being 4 bytes short for AIFF sowt CD tracks. (Joe Holt)
  o Fix [2404566] segfault when converting from MS ADPCM wav file.  (robs)
  o Fix slight FLAC seek inaccuracy e.g. when using `trim' effect.  (robs)
  o Fix mp3 decode sometimes being up to a block short.  (robs)
  o Fix not outputing GSM-in-wav when input is GSM-in-wav.  (robs)

Audio device drivers:

  o New native OpenBSD audio handler for play/recording.  (Alexandre Ratchov)
  o 24-bit support for ALSA handler.  (robs)
  o Warn if ALSA under/overrun.  (robs)

Effects:

  o New `stats' effect; multichannel audio statistics.  (robs)
  o New `sinc' FFT filter effect; replacement for `filter'.  (robs)
  o New `fir' filter effect using external coefficients/file.  (robs)
  o New `biquad' filter effect using external coefficients.  (robs)
  o New `overdrive' effect.  (robs)
  o New `vad' Voice Activity Detector effect.  (robs)
  o `synth' enhancements: can now set common parameters for multiple
    channels, new `pluck' and `tpdf' types, `scientific' note
    notation, [2778142] just intonation.  (robs)
  o New multi-channel support and revised sizing options for `spectrogram'.
    N.B. revised options are not directly backwards compatible -- see the
    man page for details of the new syntax.  (robs)
  o Richer gain/normalise options.  (robs)
  o [2704442] Slight change to `riaa' gain: now norm'd to 0dB @ 1k
    (previously 19.9dB @ DC).  (Glenn Davis)
  o Fix [2487589] `dither' clipping detection & handling.  (robs)
  o Fix `repeat' sometimes stopping repeating too soon.  (robs)
  o Fix `repeat' sometimes repeating wrong audio segments.  (robs)
  o Fix [2332343] 'silence' segfault with certain lengths. (cbagwell)
  o Fix `silence' empty output file with A-law input.  (robs)
  o Fix temporary file problems in Windows (cygwin) with normalise and
    other effects.  (robs)
  o Fix [2779041] spectrogram PNG file is invalid on Windows.  (robs)
  o Fix [2787587] `trim x 0' should produce zero length audio.  (robs)
  o Parallel effects channel processing on some hyper-threading/mult-core
    architectures.  New `--single-threaded' option to disable this.  (robs)

Other new features:

  o Added ability to create shared DLL's on cygwin (cbagwell)
  o New `--guard' & `--norm' options; use temporary files to guard against
    clipping for many, but not currently all, effects.  (robs)
  o New `--ignore-length' option to ignore length in input file header (for
    simple encodings & for mp3); instead, read to end of file.  (robs)
  o New `--temp DIRECTORY' option.  (robs)
  o New `--play-rate-arg ARG' option.  (robs)
  o New SOX_OPTS environment variable; can be used to provide default
    values for above and other options.  (robs)
  o Grouped files, e.g. play -r 6k "*.vox" plays all at 6k.  (robs)
  o Automatically `dither'; new `--no-dither' option to disable this.  (robs)
  o Can now use `v' & `V' keys to adjust volume whilst playing audio (on some
    systems).  (robs)
  o New bitrate, time in seconds, & total options for soxi; bitrate
    and file-size display for sox.  (robs)
  o `Magic' (libmagic) file type detection now selected using `--magic'
    option (where supported).
  o [2003121] In many cases, no longer need to specify -t when inputing
    audio from a `pipe'.  (robs)
  o Support more Shoutcast URL variants.  (robs)
  o Added libSoX example #3: playing audio.  (robs)

Other bug fixes:

  o Fix [2262177] SoX build could fail with parse /etc/issue error.  (robs)
  o Fix "no handler for detected file type `application/octet-stream;
    charset=binary'" with raw files when using libmagic.  (robs)

Internal improvements:

  o Rationalise use of and make repeatable across different platforms
    pseudo random number generators.  (robs)
  o Rationalise effects' options interface (getopt compatible).  (robs)
  o Added stub headers to allow test compilation of all sources on
    linux.  (robs)


sox-14.2.0	2008-11-09
----------

Previously deprecated features that have been removed in this release:

  Deprec-  Feature    [O(ption)]
  ated in  [F(ormat)] [E(ffect)]   Replacement
  -------  ----------------------  ----------------------
  14.0.0   E pitch                 new pitch = old key

File formats:

  o New `.cvu' unfiltered CVSD; supports any bit-rate.  (robs)
  o New `.sox' native format intended for intermediate files.  (robs)
  o Fix WAV write on 64-bit arch.  (robs)
  o Fix writing PRC ADPCM files.  (Silas Brown)
  o Fix problems reading short mp3 files.  (robs)

Effects:

  o N.B. Reduced default bandwidth setting for `rate' effect from 99%
    to 95%; use `rate -s' to be compatible with SoX v14.1.0.  (robs)
  o New options for `rate' effect to configure phase response,
    band-width and aliasing.  (robs)
  o New options for 'dither' effect: RPDF, TPDF, noise-shaping.  (robs)
  o New `riaa' effect: RIAA vinyl playback EQ.  (robs)
  o New `loudness' effect: gain control with ISO 226 loudness
    compensation.  (robs)
  o New `bend' effect; pitch bending.  (robs)
  o New -b option for the norm effect; can be used to fix stereo
    imbalance.  (robs)
  o Wider tempo range for `tempo' effect.  (robs)
  o New --effects-file option to read effects and arguments from
    a file instead of command line. (cbagwell)
  o `filter' effect now supports --plot.  (robs)
  o Improved documentation for the `stat' effect.  (robs)
  o Fix broken audio pass-through with noiseprof effect.  (robs)
  o Fix graph legend display when using --plot octave.  (robs)
  o Fix rare crash with `rate' effect.  (robs)
  o Fix [2190767] `norm' under-amplifying in some cases.  (George Yohng)
  o Fix [2007062] Earwax effect can overflow; should clip. (robs)
