
0.97:
* Added support for oggenc and toolame encoders. Huzzah! also added "null"
encoder output, which will still read the data from the disc, but then
throw it away (useful for testing purposes).

Please note that --encoder <encodername>, together with --encopts <options>
should now be used instead of --lame and --lameopts.

0.96.07:

* Changed behavior on incorrect/incomplete cddb entries.  Rather than simply
giving up and exiting, cdstatus will now fill in a placeholder ('unknown'),
in the id3 headers and such for the invalid/missing fields.  This change is
the result of a request by Krist van Besien.

0.96.06:

* Fixed CDDB protocol version negotiation.  Was broken during cddb code
restructuring (oops).  Thanks to ethereal for helping diagnose and correct
this.

* Added 'genre' handling for cddb based id3 tagging.  Had previously attempted
to add this functionality.  At that point had missed the fact that GENRE was
carriage return and linefeed terminated and had parsing issues.  Again, thanks
to ethereal for helping catch this.  All available cddb info is now used for
id3 tagging when encoding to lame.

* Re-added (uncommented) code to adjust global frame display by CD_MSF_OFFSET,
which is 150 frames (2 seconds).

* Added a fix for handling of the last audio track for 'enhanced' music cds
which contain data on disc after the audio.  I have not yet researched this
enough to figure out *why* the offset of the data track has to be adjusted
by 11,400 frames downward, but it is.  Although I was aware of an issue in
handling enhanced audio cds, and had had a couple of bug reports on this,
Robert Woods emailed me with the magic number here, which I tested and have
implemented.  If anyone can provide me with authoritative cdrom format docs
that explain the reason for this number and the need for the adjustment, I
would highly appreciate it, as this mystery fix makes me somewhat nervous.

* Changed the behavior of cdstatus in the event that it is unable to negotiate
the cddb protocol version to the desired level.  Previously, cdstatus would
continue the cddb session even if protocol level negotiation failed.  This was
in error, as cdstatus doesn't actually speak protocol level 1 properly (the
default), and only recognizes level 5 correctly. Now cdstatus will abort if
the protocol version negotiation fails to settle on 5, and will recommend the
use of an alternate server.

* Fixed on-the-fly output directory creation where the 'format' option is
set in the user config file and enclosed by double quotes. Previously not
enclosing this in double quotes (in the config file only) worked around this
bug.  Now works with or without quotes in config file. Quotes are a must on
the command line still.  Bug reported by beta tester Will Swift.

* Added config file support for 3 new options:
rip=<yes|no>
lame=<yes|no>
lameopts=<options to pass to lame unaltered>

The 'rip' flag indicates whether or not data extraction (ripping) should be
enabled. The 'lame' flag indicates whether or not to encode directly to lame,
if set, it automatically turns on ripping. The 'lameopts' option specifies
options to pass directly to lame in addition to the id3 tagging info which is
always passed.  The default is '--preset standard'.  Setting lameopts does not
automatically engage lame encoding, so that users can have persistent lame
settings while toggling lame usage at will.

Added the above 3 options, as well as 'readchunk' to the example config file.
readchunk was previously available but not in the default config file.

The obvious lack of the above 3 options was noted by beta tester Will Swift.

0.96.05:

* Fixed the fact that any non-absolute path was referenced via / instead of
the current working directory.  This was originally needed when cdstatus was
parsing the entire path and manually creating non-existent path elements itself,
cdstatus now uses mkdir -p to make this a lot easier and cleaner, and no longer
needed to start from /. Bug reported by Sebastian Zerbe.

0.96.04:

* Fixed an issue with output to lame when using an --outputdir which contained
spaces in the path.

* Re-added cdstatus.cfg in distribution and updated INSTALL info on usage. It
was supposed to have been there the whole time, and somehow got removed (I'm
still becoming more familiar with the automake/autoconf/configure package).
It's absence was reported by both Will Swift and Ralph Wabel.

* Included a man page, long overdue. Original version was submitted by a user
whose information I have now lost (sorry). Modified to reflect current info.

0.96.03:

* Did some major code reorganization and fixed several potential buffer overflows
possible with invalid cddb server responses, related to the use of strcpy instead
of strncpy. To my knowledge, all of these have been fixed. Also fixed a potential
memory leak.

0.96 beta:

Added support for direct-to-lame encoding. It's not beautiful, well documented,
or well tested at this point.  Please help me fix that (the tested part at least).
I'm asking that those who are willing give this new version a try and help work
out the bugs.  The short version of using it:

--lame 
(turns on lame support)

--lameopts "<options>"
passes <options> to lame for controlling its behavior, i.e. -q0 --abr 192.  Note
that the < > around options is not actually to be typed. If you want to pass more
than a single argument to lame, you *must* enclose the arguments in double quotes.

0.95:

* Added configuration file support via .cdstatus file in users home directory.

* Fixed a few minor/obscure bugs, and revamped a few things to be cleaner
  and/or more portable.

* Converted build process to use the GNU automake/autoconf system with configure.

* Added the ability to automatically accept the first exact/inexact cddb
  entry matching the inserted cdrom, rather than halting for user choice.

See ChangeLog for the nitty-gritty.

0.94b:

* Redid output directory creation and handling.  Will create --outputdir if
  it does not already exist, and handles directory creation and checks
  for existing directories more cleanly.

* Re-wrote writeWavHeader to use a struct for the wave header information
  and then populate that struct and write it out.  Faster, easier, cleaner.

* Re-did a lot of the --format handling to make it cleaner.

* Added a requested --silent feature.  No output (for ripping) unless:
  a) There are multiple cddb matches that must be chosen from, or
  b) there are errors


0.94a:

* Added cddb lookup capability

* Added handling for user-defined filename formats based on cddb data

* re-arranged source and broke up the monolithic processAudio function

Previous changelog not in this file.  Some of it is documented in readme.
The docs in general are kinda lagging behind the codebase at the moment.
