userver-0.4.6
  o Released June 20, 2004
  o TBB - fixes to compile on IA64 with EPOLL
  o TBB - fixed problems with epoll/epoll2 caused by move to new
	  info/connection data structures (check if epoll_ctlv works)
  o TBB - changed a couple of %d's to %zd for size_t printfs in trace.c
  o TBB - changed the way Not found, etc are handled.
	  created reply_status_fill and let it fill in the buffer
	  and be written properly by the rest of the system
	  (fixes problems with 1.0 vs 1.1 and AIO)
  o TBB - added info_map_valid function to use to see if
	  the connection has been closed (changed send_do_io)
  o TBB - changed print_time to work use info_map_valid
  o TBB - added more stats for epoll/epoll2/epoll_ctlv
  o TBB - changed Makefile.base to include more test scripts
  o TBB - added more tests to the Makefile (e.g., epoll/epoll2/epoll_ctlv)
  o TBB - check return value on aio_sock_init
  o TBB - added code for using epoll with edge triggering USE_EPOLL_ET
  o TBB - added code for handling read before write for AIO
  o TBB - modified parsing code to improve handling of methods
	  that are not implemented
  o TBB - added more information about AIO options to the man page.
  o TBB - added more information about AIO to the NOTES file.
  o CAB - removed the src/docs directory from the distribution; there is
	  now a utility called makedocs (source included) which creates and
	  populates the src/docs directory during the build process
  o CAB - fixed pid file bug (e.g. --pid-filename="%s" would crash us)
  o CAB - now delete pid file at exit
  o TBB - added support for SKIP_HEADER with AIO
  o TBB - changed the way EPOLL_CTL_DEL is done/used when using epoll_ctlv
          (we no longer put them in the ctlv array but instead issue epoll_ctl
	   calls immediately)
  o TBB - changed the way AIO events and preposting are handled to be more 
          state machine driven
  o TBB - added --ignore-fd-setsize option which can be used when not using
          select and/or SEND.

userver-0.4.5
  o Released May 5, 2004
  o TBB - minor changes to fix compile problems on CYGWIN
  o TBB - fixed a couple of off by one errors in new code for
	  mapping sds to info (was causing segfaults under some conditions)
  o TBB - did more work on timing out idle connections (needs more testing)
  o TBB - fixed problem with listening sockets for poll case
  o TBB - adding stuff for preposting aio reads before aio accepts
  o TBB - added code to do cleanup (gets called by installing with atexit)
  o TBB - changed the way repeat_accept works to avoid running over num_idle
  o TBB - changed the way cached header buffers are allocated
  o TBB - tried to do some alignment without much success
	  (see posix_memalign calls) - for some reason they fail
	  under some tests
  o TBB - added new aio test suite that allows us to use remove clients
  o TBB - added code to handle aio_sock_write and aio_sock_writev
	  returning 0 bytes (indicating that the client
	  connection has been closed)
  o TBB - fixed problem with HTTP/1.0 requests with aio
  o TBB - added code to allow memory alignment specification
  o TBB - fixing problem with new accept requests exceed --aio-accept-thold
  o TBB - added some of the new test scripts into the distribution
  o TBB - fixed problem with HTTP 1.0 requests and aio
	  Thanks to Brian Lynn for pointing out the problem
  o TBB - now try to have header specify correct HTTP version on reply
  o TBB - limit the number of bytes being returned on an error
	  in reply_status (used for errors)
	  Thanks to Michel Arboi for pointing out the problem and
	  Amol Shukla for the fix.
  o TBB - added new HTTP 1.0 tests to Makefile for AIO
  o TBB - fixed problem with when/where select_timeout gets set if using
	  stats_interval


userver-0.4.4
  o Released April 5, 2004
  o TBB - changed the order in which some of the initialization is done
  o TBB - changed how some of the signals are used (no longer use SIGUSR1
	  and no longer install a default handler for SIGALRM)
  o TBB - added a testaio target to the Makefile
  o TBB - added more debugging output for aio code
  o TBB - added more stats for aio
  o TBB - fixed the event mask used to call aio_wait
  o TBB - recompiled on CYWIN and did a few small changes to compile
  o TBB - fixed a major bug in the caching code.
	  The problem was that under certain circumstances files
	  that were in the cache _and_being_served_ could be ejected.
	  I've implemented reference counting and only evict files
	  with a reference count of zero.  If we are ever in
	  a situation where we can't find a file to evict with a reference
	  count of zero we print an appropriate message and exit.
	  The reason for crashing is that the cache is sized too small
	  and performance could really be hurt.
	  That is, you should resize the cache and rerun the experiment.
  o TBB - mods to write trace files for multiple processes to different files
	  now when -p # is used they get written to userver-#.trace
  o TBB - added code to permit setting cpu mask on Linux 2.6.x systems
	  (i.e., --use-cpu-mask option combined with sched_setaffinity)
  o TBB - added Louay Gammo's code to do aperture control with the SEND kernel
	  and added information about --auto-accept-aperture to man page
  o TBB - mods to use new version of epoll_ctlv we've created
  o TBB - modified how connection/info data structure is indexed
  o TBB - modified how lru data structure is indexed
  o TBB - small mod to how idle connections are timed out (still needs
	  some more work).

userver-0.4.3:
  o Released January 27, 2004
  o TBB - added stuff to try a new epoll_ctlv system call we're exploring
  o TBB - updates for 2.6.1 on IA64
  o TBB - changed aio code to use memory regions
  o TBB - added some code to aio_fake.c to fake some memory
	  region use and checks
  o TBB - small changes to the way poll is working because there may
	  be a bug/problem with 2.6.0 returning events that we haven't
	  expressed an interest in
  o TBB - added changes so that output from different processes (-p #)
	  will be written to different files (userver-#.log)
  o TBB - added support for aio_sock_writev and added code for testing
	  to aio_fake.c
  o TBB - fixed up printing of stats and trace files when using aio_fake.c

userver-0.4.2:
  o Released January 21, 2004
  o TBB - slight reorg to some of the makefiles and added comments
  o TBB - reworked the testsend target for testing the userver
	  with the SEND kernel
  o TBB - created interest_set_change routine in order to move towards
	  a more efficient implementation of epoll changed all
	  select/poll/epoll code to use this instead of fuctions
	  interest_set_add_readable/writable
	  interest_set_del_readable/writable
	  interest_set_done
  o TBB - added --use-epoll2 option
	  this is used to explore fewer calls to epoll_ctl at the
	  possible expense of more events that we are not interested
	  in from epoll_wait
	  (see the man page -- userver.1 userver.txt for details)
  o TBB - added functions to call _syscalls for epoll so that
	  they show up in gprof (called sys_epoll_ctl, sys_epoll_wait,
	  and sys_epoll_create)
  o TBB - added the number of open connections to the --stats-interval output
  o TBB - added FSM_LISTENING state and put listening sockets into this state
  o TBB - added more running stats and improved code for formatting that output
  o TBB - added and fixed up some of the stats for the aio code
  o TBB - added the ability to do running stats for socket aio

userver-0.4.1:
  o Released December 30, 2003
  o TBB - reordered the CHANGELOG so it goes from most recent to
	  oldest versions
  o TBB - fixed some SEND kernel related code to work with multiple listeners
  o TBB - modifying a few things for epoll to work with the 2.6.0 kernel
	  (this still needs a bit of work as it may be a bit inefficient)
  o TBB - adding some simple running performance stats (to be expanded later)
	  this is enabled by using --stats-interval=N where N is the
	  interval between stats in seconds

userver-0.4.0:
  o Released November 18, 2003
  o TBB - incremented the sub version number because this version
	  reflects some pretty major changes
  o TBB - changed the way that versioning is done in the Makefile
  o TBB - added info to the man page about specifying IP address and port
	  as in --ip-addr 127.0.0.1:6806
  o TBB - minor mods so things will compile again on CYGWIN
  o TBB - fairly major reworkings so that we can support an
	  asynchronous I/O model.
  o TBB - added a check to the close_idle_conns function to try to ensure that
	  it doesn't close down any listening sockets.
	  The SEND and AIO interfaces may not provide information about which
	  listening socket (i.e., the one we call accept on) a new connection
	  comes from (i.e., the parent) so we may not be able to call
	  lru_acess on that socket - which could make it stale and a candidate
	  to be closed. Another possible solution would be to call lru_access
	  at the time an accept call is made (whether successful or not).
  o TBB - implemented a simple fake aio layer that helps to do a bit of
	  debugging of the aio_layer code and to provide a bit of an
	  example of how the layer is used and what the underlying
	  implementations need to provide.
  o TBB - trying to restructure to make it easier to support other
	  non http servers and to support dynamic requests
  o TBB - setting better defaults for the maximum connections and
	  the maximum fds
  o TBB - info.req.read_buf has been added and --read_buffer-size option
	  this was needed for AIO and could be useful for other
	  types of services
  o TBB - changed info.rep.file_buf to info.rep.reply_buf
	  and added --reply-buffer-size option
  o TBB - reorganizing to try to permit filling of reply_buf
	  and then having the rest of the code just drain it.
  o TBB - changed he way the parsing of requests is done to be more
	  compliant with the protocol
  o TBB - made some changes to give slightly better default options
	  (e.g., enable --use-sendfile and --use-tcp-cork if they are available)
	  Caching is also now turned on (but the cache table size, cache
	  size etc. will still need to be adjusted)
  o TBB - changed the way versioning gets done (versions are now controlled in
	  Makefile.base)
  o TBB - changed some of the default behaviour for --use-socket-aio
	  (i.e., caching is on and should use mmapped caching)
  o TBB - added code to register and deregister memory for socket aio.

userver-0.3.3:
  o Released October 9, 2003
  o TBB - adding code to allow server to listen on multiple interfaces/sockets
	  NOTE!: this isn't quite working yet with the SEND kernel code
  o TBB - added some simple regression testing to Makefile
	  (see test*: targets in the Makefile)
	  NOTE: requires httperf
  o TBB - added include directory to the distribution to show examples
	  of how to compile with larger FD_SETSIZE
  o TBB - changed the way the --version flag works
	  (thanks to Ian Wienand <ianw@gelato.unsw.edu.au>) for pointing
	  out the problem.
  o TBB - added some code to support "special" sockets, i.e., those that
	  should not be treated like regular client connections.
	  These might be back end processors like another server, an external
	  CGI or PHP process, etc.

userver-0.3.2:
  o Released October 3, 2003
  o TBB - cleaned up select_loop, poll_loop, epoll_loop, send_loop
	  to use more common code.
  o TBB - added some of the test scripts and httperf log file generator
	  code to the distribution
  o TBB - cleaned up, commented and added usage for the scripts
	  in the scripts directory
  o TBB - updated the README in the scripts directory
  o TBB - fixed incorrect closing of connections for special escape uri's
  o DP  - Added some code to optimize transfer of zero-byte file.
  o DP  - Added some code to trace accept, read, write, close, and
	  reply rates at the server side (uses special escape uri's)
  o TBB - Used inet_pton instead of inet_aton on Solaris
  o TBB - Added docs (test files) directory to the distribution

userver-0.3.1:
  o Released August 25, 2003
  o TBB - Modified some comparisons of sd (socket descriptor) with FD_SETSIZE
  o TBB - Added new option, --version to print version of the server
  o TBB - Print ifconfig info on Linux
	  (for experimental config info e.g., txqueuelen)
  o TBB - Print /proc/cpuinfo on Linux
	  (for experimental config info)
  o TBB - Added stats for ListenOverflows and ListenDrops from
	  /proc/net/netstat
  o TBB - Fixed glitch in getting args for --full-read
  o TBB - Use full path now for ifconfig
  o TBB - Added code to track replies per cache entry

userver-0.3.0:
  o Released August 1, 2003
