0.9.13
------
- renamed lock routines in all scripts, as they might collide with other
  routines on some Perl installs
- added tag pairs <!CURRENT></!CURRENT>, <!ODD><!/ODD> and <!EVEN></!EVEN>, 
  the first is used in the playlist to do add extra HTML for the currently 
  playing song to the playlist (i.e. bold it). ODD and EVEN can be used 
  in all templates to differentiate formatting odd and even lines inside 
  off <!BLOCK>. See the template files for examples.
- implemented recent song delay, similar to request.pl, into icedj.pl so
  that songs won't be played that are still stored in the history (could 
  happen when reshuffling or after a show)
- fixed show scheduling problems, now queueing overlapping shows again 
  instead of discarting.

0.9.12
------
- fixed bug with stats processing that prevented it to work unless 
  statsinclude was defined
- fixed top request sorting routine
- fixed another possible zombie process piece of code

0.9.11
------
- removed spawning code to update webstats, as IceDJ isn't that time
  critical and i'd rather reduce the possibility for dead children 
  hanging around
- changed cummulative stats processing to properly represent averages
- added statsinclude and statsexclude fields for finer control over
  which files will be processed for statsblock. A whole subdirectory
  can be excluded by specifying the directory

0.9.10
------
- various bug fixes to get multiple stream control working
- updated example.conf relevant to above mentioned bug fixes
- updated statsblock with fields available for multiple stream
  instances

0.9.9
-----
- complete rewrite of icedj.pl (replaces all but CGI scripts with itself)
  - streaming has been removed in favor of spawning a copy of Icecast's
    shout (not included in package)
  - control several instances of shout at any bitrate streaming to any
    server
  - mp3spyupdater moved into iceDJ
  - added cronlike scheduling facility
  - added schedule item to .conf file, pointing to schedule file written
    in crontab like fashion. i.e. there no longer is a show file that
	iceDJ looks for, hence no more showlist field in the .conf file
  - all show scheduling and executing moved into iceDJ
  - maintice moved into iceDJ
  - top moved into iceDJ
- updated request.pl to stop looking for show flag file, since it no
  longer exists
- added a tag to the example conf for hiding fields from webadmin (i.e.
  to have some elements not editable by users of webadmin.pl. Useful
  for offering iceDJ as a service at an ISP)
- conflicting shows are now ignored, instead of queued
- added 'mode' field to .conf file. determines whether icedj runs with
  output on, icedj output only (surpress shout), off, in background or
  verbose output for debugging. Can also be activated from command line
  with --silent, --quiet, --background and --debug
- adjusted serverstats field so that it can specify a URL (for fetching
  stats via the net), path relative to datadir or fully qualified path
- changed statsblock processing so that statsblock is defined by a template
  file (specified by the field statsblock in the .conf file) and can
  contain any of the information provided by Icecast's stats page

0.9.8
-----
- fixed bug in icedj.pl that would put blank links for <!_fieldname>
  fields if the field was blank, instead of not putting a link at all
- added 'streamer' field to conf file to allow choosing between current
  and original streaming method
- renamed icedj.conf to example.conf in /data, because it is used as a
  template for the web admin script
- changed intro in example.conf, it was still referring to 0.9.4 info
- created webadmin.pl for web adminstration of iceDJ (very much alpha)
  - ability to start/stop/reset stream
  - see tail of log
  - create and change conf file
- disabled the pidchecker in iceDJ that checks for the process listed in
  the pidfile, as it seems to be killing the process instead of checking
  on it
- Moved PID kill check so that icedj.pl will kill itself after the next
  song in a show instead of the end of the show, if the PIDFILE 
  dissappears
- Added HUPFILE, so that icedj can be told to reset by a flag file as
  well as KILL -HUP. Added to avoid using kill inside of the web admin
- adding scriptpath to .conf file. This is used by webadmin.pl and
  to call mp3spyupdater with full path, not local path.
- added --silent option to icedj.pl (required for starting from webadmin
  to avoid it spewing startup messages into the webpage)

0.9.7
-----
- fixed request.pl to avoid the spamming hole.
- fixed a bug in request.pl that would prevent requests to be processed
  by non 'special' IP's (Thanks David)
- allow wildcards in block and special IP, such as 255.255.255.*
- tweak to timing code for streaming (Thanks David)
- PIDFILE check in icedj.pl now checks whether the process is actually
  still alive, and only exits if it is
- changed handling of conf checking at startup of icedj/pl, so that it
  spits out the missing required fields
- tweak to streaming code
- 'djscript' field in conf file allows a script/program to be specified
  that gets executed before a song is streamed. The current SONGINFO is
  passed as argument
- 'shuffle' field in conf file sets whether playlist should be shuffled
- history, playlistpage and toppage can be a white-space separated list,
  allowing multiple templates for each 
- changed request.pl/icedj.pl to properly flag that a show is playing 
  when a request is attempted

0.9.6
-----
- changed UniqueID routine to use the full path, not just filename.
  (Courtesy of David Nolan)
- Added script convertuniqueid.pl to convert request logs using the old
  uniqueID format to the new.
- fixed timing problem in the streaming routine to account for time
  spent reading and writing (Courtesy of David Nolan)
- fixed a bug in mp3spyupdater.pl that would cause it to fail resolving
  IP of a CNAME.

0.9.5
-----
- fixed streaming code so that it updates
- fixed bug in page rendering code that wouldn't always create links for
  <!l_fieldname> fields
- fixed bug in top.pl where it tried to read from playlist in the local
  directory, instead of data directory
- added a singal handler to catch broken pipes and try and reconnect to
  to icecast server
- changed mp3updater.pl to not try to determine whether it's on the same
  machine as the streamer, since that can fail with servers that are using
  CNAME's instead of the actual servername. It now only tries to propagate
  to propagate.pl, if the propagateURL field is defined in the conf file.

0.9.4
-----
- first version i'm fairly confident will run without tweaking of the
  perl code
- changed how data dir is handled. I wanted it so that a single set of
  scripts could be used by a number of users with their individual data
  directories. This had to be done in preparation for a web interface 
  and so that this suite could be implemented by and ISP as a service
- renamed the RCFILE for a conf file. This was done since the config file
  will be changed via FTP for web clients and some FTP clients hide dot
  files
- changed how the conf file is provided and evaluated by the scripts. It's
  no longer optional and has to be provided with full path, since all scripts
  except request.pl derive the data dir from this
- request.pl now uses $ENV{'DOCUMENT_ROOT'} to determine data directory
- fixed a number of bugs that would have prevented requests to be processed
- change -HUP code so it'll reconnect to the server if any info was changed 
  in the conf file. This way when you HUP the server and you've changed
  anything in the conf file, it'll update the yp pages with your changes
  as well as reload the playlist
- updated the web page templates to reflect the changes in the scripts

0.9.3
-----
- externalized the Top Ten Show info
- reorganized files by logical grouping on server
- commented out locking routines, so it will work without file locking
  by default (this applies to icedj.pl and request.pl)
- fixed script directive to uniformly use #!/usr/bin/perl

0.9.2
-----
- fixed a bug in icedj which would produce improper logoutput if the
  playlist file wasn't padded with tabs
- made sure that all comment lines in RCFILE are skipped
- fixed absolute reference to playlist to use relative reference
- fixed various inconsistencies in the documentation and examples
- added to documentation
  

0.9.1
-----
- fixed a bug in maintice.pl that would cause it to segfault trying to
  process large HTML files.

0.9
---

- Initial public release
