Release 2.0
-----------

Bump to code from WebRTC M131 version.

Changes include:

  * Minor (breaking) API changes upstream
  * Various improvements to the AEC implementation
  * Transient suppression is removed
  * ExperimentalAgc and ExperimentalNs are removed
  * iSAC and the webrtc-audio-coding library were removed
  * abseil-cpp dependency bumped to 20240722
  * NEON runtime detection dropped following upstream
  * Fixes for building on i686 and MIPS
  * Support for BSDs is added
  * Other build-system cleanups
  * Patches to upstream are now also tracked in patches/


Release 1.3
-----------

Fix for generate pkg-config file.


Release 1.2
-----------

Improvements for building with abseil-cpp as a subproject, and pkg-config
improvements for abseil dependency detection.


Release 1.1
-----------

Build fixes for various platforms.


Release 1.0
-----------

This is an API breaking release (as a reminder, the AudioProcessing module does
not provide a stable public API, so we expose whatever API exists in the
upstream project).

In order to make package management easier with these inevitable breakages, the
package is now suffixed with a version (currently it is
webrtc-audio-processing-1). When the next API break happens, we will bump the
major version, allowing incompatible versions to coexist. This also means that
the previous version can also coexist with this one. Non-breaking changes will
see a minor version update only.

Changes:
  * The code base is now updated to correspond to the version shipping with the
    Chromium 88.0.4290.1 tag
  * There are a very large number changes to the underlying AEC implementation
    since the last update was a while ago. Most visibly the use of the AEC3
    canceller by default, the deletion of the beamformer code
  * The autotools build system is replaced by meson
  * The pkg-config name is changed as described above


Release 0.3
-----------

Minor build fixes.


Release 0.2
-----------

Updated AudioProcessing code to be more current.

Contains API breaking changes.

Upstream changes include:

  * Rewritten AGC and voice activity detection
  * Intelligibility enhancer
  * Extended AEC filter
  * Beamformer
  * Transient suppressor
  * ARM, NEON and MIPS optimisations (MIPS optimisations are not hooked up)

API changes:

  * We no longer include a top-level audio_processing.h. The webrtc tree format
    is used, so use webrtc/modules/audio_processing/include/audio_processing.h
  * The top-level module_common_types.h has also been moved to
    webrtc/modules/interface/module_common_types.h
  * C++11 support is now required while compiling client code
  * AudioProcessing::Create() does not take any arguments any more
  * AudioProcessing::Destroy() is gone, use standard C++ "delete" instead
  * Stream parameters are now configured via StreamConfig and ProcessingConfig
    rather than set_sample_rate(), set_num_channels(), etc.
  * AudioFrame field names have changed
  * Use config API for newer audio processing options
  * Use ProcessReverseStream() instead of AnalyzeReverseStream(), particularly
    when using the intelligibility enhancer
  * GainControl::set_analog_level_limits() is broken. The AGC implementation
    hard codes 0-255 as the volume range

Other notes:

  * The new audio processing parameters are not all tested, and a few are not
    enabled upstream (in Chromium) either
  * The rewritten AGC appears to be less sensitive, and it might make sense to
    initialise the capture volume to something reasonable (33% or 50%, for
    example) to make sure there is sufficient energy in the stream to trigger
    the AGC mechanism


Release 0.1
-----------

Initial release, consisting of the WebRTC AudioProcessing module with a
distributor-friendly build system.
