Version 0.1.8 (2011-08-15)
  * Minor bug fixes and upates.

Version 0.1.7 (2009-02-14)
  * Fix a segfault which occurs when memcpy is passed a bad length parameter.
  * Fix compilation under MSVC.

Version 0.1.6 (2009-01-27)
  * Minor bug fix in test suite (account for rounding error on x86_64).

Version 0.1.5 (2009-01-11)
  * Optimisation resulting dramatic throughput improvements.

Version 0.1.4 (2008-07-02)
  * Fix bug which causes a segfault with extremely low conversion ratios.

Version 0.1.3 (2008-03-23)
  * Huge improvement to the quality of conversion with the
    SRC_SINC_MEDIUM_QUALITY and SRC_SINC_BEST_QUALITY converters.
  * Minor bug fixes.

Version 0.1.2 (2004-09-12)
  * Fixed where callback based API wasn't being reset properly.
  * Minor bug fixes.

Version 0.1.1 (2004-07-17)
  * Fixed bug in callback based API.
  * Fixed a bug brought to light by aggressive optimisations of gcc-3.4.
  * Minor bug fixes.

Version 0.1.0 (2004-03-14)
  * Added callback based API.
  * Added a pair of functions for doing short to float and float to short
    conversions on an arrays of data.
  * Many minor bug fixes.

