- Forgot a file in the MANIFEST.


  - Added most of the CGI environment variables into the Env hash.
  - docroot now defaults to undef which turns off file serving.
  - Added support for CGI via CaptureSTDOUT() and ProcessSTDOUT().
  - Fixed bugs with / on directories.
  - Added support for RegisterRegex.
  - Fixed bug with _date and missing Sep(tember) entry in the date.
  - Fixed bug with some error conditions.
  - Added support for OPTIONS.


  - If you register a callback /some/path/index.foo, AND you set the index
    list to include index.foo then /some/path/ will resolve to the callback.
    Thanks to John Jones for this request.


  - Fixed Response to normalize the output so that the tests can come out the
    same for each run.  Basically, cookies were printing out in a different
    order then what was hard coded in the test.


  - Added PHP style session support.
  - Moved to more object oriented model: object for request, object for reply.

  - Added cookie support.


  - Fixed more of the required HTTP/1.1 headers.  Thanks again to Jamie Lockier.


  - Fixed bug in Windows support and nonblocking.  Turns out that ActivePerl
    doesn't like the Blocking=>0 call in IO::Socket::INET creation, and 
    my call to ioctl was wrong.  This should fix everyone who was having


  - Fixed bug with interaction with Internet Explorer.  I was parsing the
    headers incorrectly.


  - Fixed directory listing code when the file name contains :.  This confused
    Mozilla (and likely other browsers) thinking that everything before the :
    was a protocol name (http:..).  Now we append the path of the request on
    those files.

  - Added support for Digest Authentication.

  - Added more of the required HTTP/1.1 headers.  Added support for HEAD,
    and TRACE.  Thanks to Jamie Lockier for pointing out those deficiencies.

  - Added support for Basic Authentication.  Thanks to Alan Barclay for this

  - Added the ability to present other tokens on the Server: line using the
    AddServerTokens function. Thanks to Darren Chamberlain for this feature.

  - Big bug.  If you write too fast then sometimes syswrite returns undef
    even though it was not *really* an error.  Use select to wait on this.
    Hopefully this won't create more problems.

  - Fixed but in writing.  If there was an error on write the server was
    sent spinning into an endless loop.
  - Fixed bug in win32 nonblocking.  Thanks to Bytewolf and dliouville
    for finding this.

  - Fixed IO::Socket::SSL interface problem.  Accessing multiple pages
    would result in SSL errors about not having a context.  The lesson
    for the day is: Forking does weird things.  In this case it
    *appears* that the SSL part of the socket was being closed when we
    sent the web page.  Much reading shows us the SSL_no_shutdown option
    to close does not shutdown the SSL.  This seems to fix the problem.
  - Reworked forking inner loop.  There were some performance issues.

  - Removed a rogue debug statement.

  - Added code to detect a failed Start() and throw errors if Process()
    was called.
  - Fixed problem where a failed Start() would cause Stop() to crater
    since the socket and selects might be undefined.

  - Fixed bug with SSL support.  I had hard coded paths and a bad check
    for the SSL options.

  - Allow for the reponse to be a FileHandle that _send will read and send
    in one go.  This should make serving files faster (at least big files).
  - Fixed typo and mistake in logic with IO::Socket::SSL check.
  - Fixed logic to check for IO::Socket::SSL (didn't work very well with
  - Added tests for make test.
  - Fixed bug in read code where it would not finish reading a request.
  - If IO::Socket::SSL is installed, you can run a secure server.
  - Added a preforking server type "forking" (default is "single").  You can
    confiugre the number of child processes via the numproc config option.

  - Auto-find the mime.types in the module directories.
  - Port scanning for embeded on the fly servers.
  - Redirects directories without / to same dir with /:  foo/bar -> foo/bar/
  - Lists directories
  - Serves files
  - Allow for registering of functions to URLs so that it gets called when
    the URL is requested.