Blame CHANGES

Packit acf257
 * If the URI contains "user:pass@" part, use it for Basic Authorization
Packit acf257
 * Add a test harness.
Packit acf257
 * Don't leak a socket when getHostAddr throws an exception.
Packit acf257
 * Send cookies in request format, not response format.
Packit acf257
 * Moved BrowserAction to be a StateT IO, with instances for
Packit acf257
   Applicative, MonadIO, MonadState.
Packit acf257
 * Add method to control size of connection pool.
Packit acf257
 * Consider both host and port when reusing connections.
Packit acf257
 * Handle response code 304 "not modified" properly.
Packit acf257
 * Fix digest authentication by fixing md5 output string rep.
Packit acf257
 * Make the default user agent string follow the package version.
Packit acf257
 * Document lack of HTTPS support and fail when clients try
Packit acf257
   to use it instead of silently falling back to HTTP.
Packit acf257
 * Add helper to set the request type and body.
Packit acf257
Packit acf257
Version 4000.1.2: release 2011-08-11
Packit acf257
 * Turn off buffering for the debug log.
Packit acf257
 * Update installation instructions.
Packit acf257
 * Bump base dependency to support GHC 7.2.
Packit acf257
Packit acf257
Version 4000.1.1: release 2010-11-28
Packit acf257
 * Be tolerant of LF (instead of CRLF which is the spec) in responses.
Packit acf257
Packit acf257
Version 4000.1.0: release 2010-11-09
Packit acf257
 * Retroactively fixed CHANGES to refer to 4000.x.x instead of
Packit acf257
   4004.x.x.
Packit acf257
 * Fix problem with close looping on certain URLs due to trying
Packit acf257
   to munch the rest of the stream even on EOF. Modified from
Packit acf257
   a fix by Daniel Wagner.
Packit acf257
    * This involves a new class member for HStream and is thus an
Packit acf257
      API change, but one that will only affect clients that
Packit acf257
      define their own payload type to replace String/ByteString.
Packit acf257
 * Applied patch by Antoine Latter to fix problem with 301 and 307
Packit acf257
   redirects.
Packit acf257
Packit acf257
Version 4000.0.10: release 2010-10-29
Packit acf257
 * Bump base dependency to support GHC 7.0.
Packit acf257
 * Stop using 'fail' from the Either monad and instead build Left
Packit acf257
   values explicitly; the behaviour of fail is changing in GHC 7.0
Packit acf257
   and this avoids being sensitive to the change.
Packit acf257
Packit acf257
Version 4000.0.9: release 2009-12-20
Packit acf257
Packit acf257
 * Export headerMap from Network.HTTP.Headers
Packit acf257
   (suggested by David Leuschner.)
Packit acf257
 * Fix Network.TCP.{isTCPConnectedTo,isConnectedTo} to be useful.
Packit acf257
 * Always delay closing non-persistent connections until we reach EOF.
Packit acf257
   Delaying it until then is vital when reading the response out as a 
Packit acf257
   lazy ByteString; all of the I/O may not have happened by the time we
Packit acf257
   were returning the HTTP response. Bug manifested itself occasionally
Packit acf257
   with larger responses. Courtesy of Valery Vorotyntsev; both untiring bug
Packit acf257
   hunt and fix.
Packit acf257
 * drop unused type argument from Network.Browser.BrowserEvent; needlessly general.
Packit acf257
   (patch provided by Daniel Wagner.)
Packit acf257
Packit acf257
Version 4000.0.8: release 2009-08-05
Packit acf257
Packit acf257
 * Incorporated proxy setting lookup and parsing contribution
Packit acf257
   by Eric Kow; provided in Network.HTTP.Proxy
Packit acf257
 * Factor out HTTP Cookies and Auth handling into separate
Packit acf257
   modules Network.HTTP.Cookie, Network.HTTP.Auth
Packit acf257
 * new Network.Browser functionality for hooking up the
Packit acf257
   proxy detection code in Network.HTTP.Proxy:
Packit acf257
Packit acf257
      setCheckForProxy :: Bool -> BrowserAction t ()
Packit acf257
      getCheckForProxy :: BrowserAction t Bool
Packit acf257
Packit acf257
   If you do 'setCheckForProxy True' within a browser
Packit acf257
   session, the proxy-checking code will be called upon.
Packit acf257
   Use 'getCheckForProxy' to get the current setting for
Packit acf257
   this flag.
Packit acf257
Packit acf257
 * Network.Browser: if HTTP Basic Auth is allowed and
Packit acf257
   server doesn't 401-challenge with an WWW-Authenticate:
Packit acf257
   header, simply assume / realm and proceed. Preferable
Packit acf257
   than failing, even if server is the wrong.
Packit acf257
Packit acf257
Version 4000.0.7: release 2009-05-22
Packit acf257
Packit acf257
 * Minor release.
Packit acf257
 * Added 
Packit acf257
     Network.TCP.openSocketStream :: (BufferType t)
Packit acf257
                                  => String {-host-}
Packit acf257
				  -> Socket
Packit acf257
				  -> IO (HandleStream t)
Packit acf257
Packit acf257
   for interfacing to pre-existing @Socket@s. Contributed and
Packit acf257
   suggested by <http://trac.haskell.org/http/ticket/7>.
Packit acf257
Packit acf257
Version 4000.0.6: release 2009-04-21; changes from 4000.0.5
Packit acf257
Packit acf257
 * Network.Browser: use HTTP.HandleStream.sendHTTP_notify, not HTTP.sendHTTP_notify
Packit acf257
   when issuing requests. The latter runs the risk of undoing request normalization.
Packit acf257
 * Network.HTTP.Base.normalizeRequest: when normalizing proxy-bound requests,
Packit acf257
   insert a Host: header if none present. Set it to the destination server authority,
Packit acf257
   not the proxy.
Packit acf257
 * Network.Browser: don't fail on seeing invalid cookie values, but report them
Packit acf257
   as errors and continue.
Packit acf257
Packit acf257
Version 4000.0.5: release 2009-03-30; changes from 4000.0.4
Packit acf257
Packit acf257
 * Get serious about comments and Haddock documentation.
Packit acf257
 * Cleaned up normalization of requests, fixing bugs and bringing together
Packit acf257
   previous disparate attempts at handling this.
Packit acf257
 * RequestMethod now supports custom verbs; use the (Custom String) constructor
Packit acf257
 * Beef up Network.HTTP.Base's support for normalizing requests and URIs:
Packit acf257
 
Packit acf257
    * added splitRequestURI which divides a URI into two; the Authority portion
Packit acf257
      (as a String) and the input URI sans the authority portion. Useful when
Packit acf257
      wanting to split up a request's URI into its Host: and abs_path pieces.
Packit acf257
    * added normalizeRequest :: Bool -> Request ty -> Request ty, which 
Packit acf257
      fixes up a requests URI path and Host: info depending on whether it is
Packit acf257
      destined for a proxy or not (controlled by the Bool.)
Packit acf257
    * moved defaultRequest, defaultRequest_, libUA from Network.Browser
Packit acf257
      to Network.HTTP.Base
Packit acf257
    * added mkRequest :: RequestMethod -> URI -> Bool -> Request ty
Packit acf257
      for constructing normalized&sane Request bases on top of which
Packit acf257
      you can add custom headers, body payload etc.
Packit acf257