Changelog for happstack-0.5.0

Happstack 0.4 * happstack-server: Added support for SendFile with an alternate constructor for 'Response' data Response = Response { rsCode :: Int, rsHeaders :: Headers, rsFlags :: RsFlags, rsBody :: L.ByteString, rsValidator :: Maybe (Response -> IO Response) } | SendFile { rsCode :: Int, rsHeaders :: Headers, rsFlags :: RsFlags, rsValidator :: Maybe (Response -> IO Response), sfHandle :: Handle, -- file handle to send from sfOffset :: Integer, -- offset to start at sfCount :: Integer -- number of bytes to send } deriving (Show,Typeable) * happstack-server: fileServe uses SendFile so the memory efficiency & performance should be much better * happstack-server: added guards 'host' and 'withHost' to SimpleHTTP * happstack-server: nuked Happstack.Server.S3 since other hackage libraries cover this functionality these days Happstack 0.3 * Modularization of the example application using the component system * All packages now require Cabal >= 1.6 * Repository metadata added to cabal description * Moved Combined Logging from Happstack.Server to Happstack.Server.AccessLog.Combined * Added Happstack.Util.Mail: a simple email interface which utilizes a smarthost * SimpleHTTP: look and lookPairs now assume utf-8 from the browser * Space leak fixed in Happstack.Util.Timeout * A fix for an issue where alphanumeric Accept-Encoding Requests made the parser fail * Fixes for some command-line browsers such as links * Guards now have fall-through semantics * Various updates & additions to documentation * Code beautification * Bugfix to Happstack.Util.Cron to accept intervals up to maxBound * addition of a strict version of fileServe "fileServeStrict" * fileServe (lazy) behaves more reliably now and escapes before any filters can be applied Happstack 0.2 * Module namespace refactoring from HAppS to Happstack HAppS.Server -> Happstack.Server HAppS.State -> Happstack.State HAppS.Util -> Happstack.Util HAppS.IxSet -> Happstack.IxSet HAppS.Data -> Happstack.Data HAppS.Contrib -> Happstack.Contrib * Creation of additional package 'happstack' * Code generation tool added for creating "quick start" project folders * Removed dependency of happstack-server on happstack-state * Removed dependency of happstack-server on happstack-ixset * Module Cron module moved from happstack-server to happstack-util * Moved Atom, HList, HListBase from happstack-data to happstack-contrib * Monadic machinery for ServerPartT and WebT trimmed / cleaned / optimized (Daniel Rogers) * New experimental gzip filter in happstack-server (similar to apache mod_deflate) * Builtin support for HSP, HStringTemplate (see example template / release notes) * happstack-server once again builds on Windows * Nearly all the exported functions have been documented! * Cookie fix from happstack-helpers was integrated into the main code * Combined Logging via Happstack.Server NOTICE Happstack 0.1 * Cabal packaging name change: HAppS-Server -> happstack-server HAppS-State -> happstack-state HAppS-Util -> happstack-util HAppS-IxSet -> happstack-ixset HAppS-Data -> happstack-data * Creation of additional package 'happstack-contrib' (HAppS.Contrib) * Moved Facebook module from happstack-server to happstack-contrib * Fixed various warnings * Removed dead modules and many dead code blocks * Turned name resolution off for peers in HTTP.Listen (fixes getNameInfo crash)