Version 1.2.0 (2010/04/18)
--------------------------
Changes:
* Changed the HEX file format. The lines containing "data" and "fsk " blocks,
  before the contents of the block itself, had the number of elements in
  a block written as a 2nd number in a line (after the IRG length). From now
  on, number of elements is not written to a HEX file (information about
  block's length is instead stored in the comment part of each line).
  Old HEX files that include block lengths are no longer supported by liba8cas.
* Simplified API a bit - there is no longer a distinction between "standard"
  and "non-standard" block types when it comes to adjustable parameters:
  - A8CAS_PARAM_STD_BLOCK_HEADER_DEVIATION and
    A8CAS_PARAM_NONSTD_BLOCK_HEADER_DEVIATION are replaced by
    A8CAS_PARAM_BLOCK_HEADER_DEVIATION;
  - A8CAS_PARAM_NONSTD_BLOCK_HEADER_LENGTH is replaced by
    A8CAS_PARAM_BLOCK_HEADER_LENGTH.
  Old parameter names are left functional, but are considered obsolete and will
  be removed in version 2 of the library.
* Removed upper limit for A8CAS_PARAM_BLOCK_HEADER_LENGTH (previously
  A8CAS_PARAM_NONSTD_BLOCK_HEADER_LENGTH). The parameter now can be set to any
  even value not less than 10, and it affects encoding of both standard 0x55 55
  and non-standard blocks.
* Migrated the project to the CMake build system.
Fixes:
* Fixed a bug in the byte-level read/write interface that slipped by in the
  previous version. Reading and writing using A8CAS_read/write_bytes/signals()
  functions is again functional.
* Fixed the build process - previously all project using liba8cas linked
  directly to the liba8cas.so.x.x.x file instead of the liba8cas.so.x symlink.
  It caused such project to be recompiled after updating liba8cas, thus
  defeating the actual purpose of a shared library.

Version 1.1.0 (2010/04/09)
--------------------------
New features:
* Functions for adjusting read/write parameters: A8CAS_set_param,
  A8CAS_get_param.
* A set of parameters to adjust - allow to influence the internal workings
  of the CAS/HEX encoder. The adjustable parameters are needed to support
  tapes with baudrate changing mid-way (Miecze Valdgira II).
Changes:
* Rewritten the CAS encode algorithm, to support tapes with baudrate changing
  mid-way (Miecze Valdgira II).

Version 1.0.0 (2010/03/01)
--------------------------
First stable release - with stabilised library interface.
New features:
* Function A8CAS_set_log_stream for redirecting (or turning off) a stream for
  log messages produced by liba8cas
* Support for loading/saving "raw" files. New format: A8CAS_FORMAT_RAW.
  Now it is possible to read/write any binary file (BAS, XEX) as a tape image.
  This allows conversion of such files to tape images and back again.
Bugfixes:
* A8CAS_close didn't work properly on files which had a read/write error
  previously.

Version 0.5.0 (2010/02/20)
--------------------------
New features:
* New functions for reading and writing data blocks on a byte-level:
  A8CAS_read_bytes, A8CAS_read_signals, A8CAS_write_bytes. Useful to implement
  reading with SIO patch in Atari800.
* Functions A8CAS_set_PWM_tolerance, A8CAS_PWM_tolerance to adjust the "error
  tolerance" parameter when reading PWM turbo tapes. Seems to help a bit with
  some tapes.
Changes:
* Seeking in sound files is now not block-based, but sample-based.
* A8CAS_errnum enumerator reorganised.
Bugfixes:
* Fixed an error in upsampling when reading with audio

Version 0.4.0 (2010/01/21)
--------------------------
New features:
* Better support for Turbo 2600 blocks (two different 12-byte headers
  supported).
* Preliminary supoprt for reading files from PWM-encoded turbo tapes (AST,
  Turbo Blizzard, Turbo 2000 etc.) - only from sound files. New function
  A8CAS_switch_PWM_decoding() to switch between normal<->turbo mode of reading.

Bugfixes:
* Fixed some timing errors when reading a tape with audio - allows to read
  tapes with baudrate of 2600.

Version 0.3.0 (2010/01/11)
--------------------------
* Compiled successfully on MS Windows.
* Bugfix: under rare circumstances encoding to CAS/HEX looped infinitely.

Version 0.2.1 (2010/01/10)
--------------------------
* Bugfix: blocks of data shorter than 26 signals were not recognised as data
  blocks or completely ignored.

Version 0.2.0 (2010/01/09)
--------------------------
* Added support for non-standard Turbo 2600 blocks. Turbo 2600 is a system for
  reading and writing tapes with baudrates up to 2600. It was created around
  1985 by "Zakład Elektroniczny SZOK" from Świebodzin, Poland.
  A Turbo 2600 block contains a non-standard 12-byte header and non-standard
  way of computing a checksum.

Version 0.1.0 (2010/01/07)
--------------------------
* First public release.
