                                          W3C Sample Code Library Release Notes
   W3ClibwwwRELEASE
   
   If you are reading the text version of this document then you can find a
   HTML version in
   
        Library/User/ReleaseNotes.html

   The main features in this release are:
   
      Full HTTP/1.1 sample implementation
      
      Advanced use of HTTP/1.1 Pipelining and persistent connections
      
      Persistent cache manager
      
   The focus for version 5.1 was to implement a high-performance HTTP/1.1
   client used as a testbed for the "Network Performance Effects of HTTP/1.1,
   CSS1, and PNG" paper. Note that this code is sample code so please take it
   as that and nothing more!
   
   NOTECheck out the latest WWW APIs and a complete list of public functions
   
   
   ___________________________________
   
   This is the set of things that have been done for the next release.
   
      Added a simple "single user lock" on the persistent cache as it gets
      confused if multiple users are using it.
      
      On Unic, the header files are now installed when running "make install".
      The default location is "/usr/local/include/w3c-libwww".
      
      On Unix, aset of icons that can be used when browsing local file
      directories are also installed - the default location is
      "/usr/local/share/w3c-libwww"
      
      These are the patches that I have recieved for the current release. They
      will be applied to this upcoming release.
      
      Fixed a few bugs that make Arena run on top of the latest version
      
      Made the distinction between Transfer-Encoding and
      Content-Transfer-Encoding clear - they were somewhat mixed up before.
      Libwww also now supports multiple transfer-codings as well as multiple
      content-codings as required by HTTP/1.1.
      
      Changed the Stream Stack to not call the SaveLocally stream any more but
      instead return an ErrorStream. The reason for this is that there are
      several places in the stram stack building algorithm where we might want
      to save the file to local file: when there is a content type that we
      don't understand, a content-encoding, or a transfer-encoding (or a
      combiunation of these) that we don't understand. Now we can make sure
      that the SaveLocally stream is only called once
      
      Added support for "identity" transfer-coding and content-coding
      
      Added support for Allow header when doing PUT and POST
      
      Fixed a problem handling wrong HTTP responses from NCSA HTTPD dereived
      servers (they don't include a version number when responding to an
      HTTP/1.1 request)
      
      PUT now works much more reliable, and it also works on Windows (at least
      NT, I haven't tested it on 95).
      
      Fixed a refresh problem in the Line Mode Browser which caused it to
      sometimes render the screen twice.
      
      Changed the referer HTTP header field to use relative URIs instead of
      absolute. This saves a lot of bytes on the wire
      
      Added support for logging the charset media type parameter
      
      Added support for logging when the ALT tag is missing from inlined images
      
      Extended the log class to support arbitrary log files
      
      Fixed some problems in the HTRelative function in HTParse.
      
      Added support for linking against a POSIX Regular Expression (regex)
      library. This is used in the Robot, for example, to support regular
      expressions on URIs to include and exclude from a traversal. The code has
      been tested with the GNU regex library.
      
      Added more logging features to the webbot
      
      Fixed bug in ouputstream that caused buffer to be overwritten in some
      cases when blocked on write
      
      Lots of bug fixes in the pipelining code and increased performance
      
      Better logging facilities with support for multiple log objects including
      referer logging, Common Log File format logging and general logging
      filters.
      
      Lots of bug fixes
      
      Fixed a problem in HTRules.c as described in this bug report
      
      Fixed coredump problem in HTGetTmpFileName() as described in this bug
      report. This affects also the HTCache module which relies on temporary
      file names
      
      Made the persistent cache more robust which in some cases will save a
      segmentation fault
      
      Fixed problem in sysdep.h as reported in this bug report
      
      Fixed problem where a request was not flushed if using blocking sockets
      as reported by this bug report.
      
      A limitation in the current persistent cache is that it only works in
      non-preemptive mode. Hence if using blocking sockets then the cache
      should be disabled. This is now the default behavior in the libwww
      profiles.
      
      Bug fixed that caused the maxsock variable used in select() not to be
      decreased when deleting a socket in the default event manager
      
      Changed the connection management so that it complies with the Connection
      Management draft by Jim Gettys and Alan Freier. The HTTP client now
      closes idle connections after 60 seconds which is a heuristic period
      chosen by Jeff Mogul in the paper "The Case for Persistent-Connection
      HTTP". The number can be dynamically changed using the
      HTHost_setPersistTimeout() and the HTHost_persistTimeout() methods. This
      could be made more advanced so that we take into account any information
      given in the "Keep-Alive" header but isn't for now.
      
      Fixed a problem when a HTTP/1.1 server sent a response including a
      Connection: close header using the close of the TCP connection as a
      delimiter. This problem was pointed out in this bug report
      
      Fixed security hole handling HTTP 305 proxy redirection codes. The proxy
      location returned in the responses was enabled as a permanent proxy
      without any notification. The operation now requires explicit
      acknowledgement from the user
      
      Fixed potential (but small) security whole handling parsing a new rules
      file. This operation now requires explicit acknowledgement from the user.
      
      Added support pipelining
      
      Support for zlib based decompression in content encoding
      
      A whole bunch of them...
      
   
   ___________________________________
   
                                                                 libwww@w3.org,
           @(#) $Id: ReleaseNotes.html,v 1.58 1998/03/23 17:52:57 frystyk Exp $
                                                                               
   
