All notable changes to this project will be documented in this file. This project adheres to the Package Versioning Policy.
- Allow building against bytestring version 0.11.x.
- Update our Cabal file to "cabal-version: >= 1.10" so that we can legally use the other-extensions field.
- Define a proper
MonadFail
instance forCGIT
. This is necessary to compile successfully withghc-8.8.x
Since that change affects our public API, a major version bump is necessary. - The build no longer supports ghc prior to version 8.x.
- Drop obsolete Network.CGI.Compat module. The code in that module relied on
obsolete functions and types from
network
which have been dropped there in the latest 3.x release. Re-writing the Compat module to use the new types felt like it would defeat the purpose of the module, so we've dropped it instead. - Dropped the dependency on
network
altogether. We neednetwork-uri
, really. Giving up support for ancient versions ofnetwork
allows us to drop thenetwork-uri
flag, too, simplifying our builds. - Dropped support for versions of
mtl
prior to 2.2.x. That version was released almost 5 years ago, so we can probably drop the compatibility code (and theold-mtl
Cabal flag) without surprising anyone. - Added new
cookieHttpOnly
flag to theCookies
type. When set, the client's browser will prevent client side scripts from accessing the cookie.
- Our error handling functions
throwCGI
,catchCGI
,tryCGI
, andhandleExceptionCGI
are deprecated. These functions are trivial aliases for the corresponding functions from theexceptions
library'sMonadCatch
class. Users should directly use those functions. They are more general and have better documentation. - Relax version constraints to allow building with network 2.8.x.
- Bumped upper version bounds for containers and time.
- Updated to exceptions 0.10.x. This meant extending our
MonadMask
instance to provide thegeneralBracket
method that was added to the class in recent versions of the exceptions library. - The doctest suite would not work reliably with different versions of Cabal. Instead of going all out with a custom written build system to support it properly, we now run doctests as part of our CI builds but not as a part of the Cabal build any more.
- Fixed several compiler warnings in our code.
- Bumped QuickCheck upper bound to version < 2.10
- Bumped doctest to version < 0.12
- Cookie.hs: cookieExpires now has type
Maybe UTCTime
rather thanMaybe CalendarTime
- Protocol.hs: URL decoding functions no longer decode UTF-8 encoding
- Functor and Applicative instance of CGIT no longer constrain Functor or Applicative parameter to be an instance of Monad
- CGI.hs haddock: Use web.archive.org link for CGI specification
- Added support for building with mtl < 2.2.1 via flags
- Bumped exceptions version to < 0.9
- MonadMask instance for CGIT
- Applicative instance for CGI Monad
- Deduplicate shared with
multipart
code
- GHC 7.8.3 support