[Haskell-cafe] ANN: Happstack 0.4.1
matt at mattelder.org
Mon Dec 21 01:44:23 EST 2009
On 12/19/09, Jeremy Shaw <jeremy at n-heptane.com> wrote:
> Happstack 0.4.1 STABLE is now available.
> We recommend that all users of Happstack update to 0.4.1
> immediately. Migration from Happstack 0.3 should be trivial. There was
> one race condition in happstack-state which could cause a state event
> to fail under heavy congestion.
> Happstack is the Haskell Application Server Stack. It is a scalable
> framework for developing web applications. It is similar in purpose to
> Django, RoR, Turbogears, Grails, Seaside, etc.
> Using less buzzwords, it is a collection of libraries which can be
> used to develop a self-contained server application which does not
> require SQL or Apache (though it can integrate with both).
> It includes:
> * an HTTP server
> * a rich DSL for deconstructing HTTP Requests and generating
> * HTML/XML/etc templating via HStringTemplate, HSP, or Text.XHtml
> * a persistent data store based on user defined Haskell data types
> with ACID properties and state migration
> * and more!!
> Happstack's modular nature means it is easy to integrate unrelated 3rd
> party modules such as Pandoc, or to add support for an alternative
> templating system. Additionally, it does not exclude you from using
> SQL, or supporting other protocols besides HTTP.
> SUPPORTED PLATFORMS:
> Happstack supports GHC 6.8, 6.10, and 6.12, under GNU/Linux,
> FreeBSD, OS X, and Windows.
> GHC 6.12 currently requires a minor patch to HJScript. Details here:
> 1. ensure that ~/.cabal/bin is in your $PATH
> 2. cabal update
> 3. cabal install happstack
> * see SUPPORTED PLATFORMS for information about GHC 6.12
> NOTABLE CHANGES:
> For a complete list of changes see:
> * happstack-contrib has been completely removed. If you were
> using something in it, please complain on the mailing list.
> * removed Happstack.Server.S3 -- newer, better maintained S3
> libraries are on hackage now
> * removed unsupported spread-based multimaster support
> * now with sendfile() support! On supported platforms sendfile
> allows files to be served from the disk to the network in a
> zero-copy fashion. This means faster transfers, less memory and
> CPU usage, and no file handle leaks. (hopefully). sendfile uses
> native sendfile() support on Linux, Windows, OS X, and
> FreeBSD. Other platforms will use a sendfile emulation mode. We
> recommend that you use sendFile instead of sendFileStrict or
> sendFileLazy, unless you have specific needs and know some reason
> why you must use sendFileStrict or sendFileLazy.
> * FileServe internals majorly refactored. FileServe now provides
> a modular way of building your own fileServe-like functions. Also
> includes functions for serving a single file instead of the
> contents of a directory.
> * added more complete list of mime-types
> * automatically redirect from foo to foo/ if foo is a directory
> * filter . and .. from request path, but allow filenames and
> directories which start with .
> * ServerMonad instance for ErrorT
> * Added ServerMonad, FilterMonad, and WebMonad for XMLGenT
> * Added secure flag to cookies. Defaults to False.
> * fix supportsIPv6 to work with newer versions of network library
> * simpleHTTPWithSocket + bindPort for H.S.SimpleHTTP (you can
> use this to start the server as root, bind to the socket, and then
> drop privileges.)
> * Fixed Accept-Encoding parser to accepts encodings with a - in
> them. Added additional tests to acceptEncodingParserTest
> * fix so basicAuth sets correct response code and headers.
> * SimpleHTTP: added trailingSlash. Guard which checks that
> Request URI ends with a /
> * decode body of PUT requests not just POST
> * added ifModifiedSince guard
> * added host and withHost guards to SimpleHTTP (similar to dir
> and path, but for the requested hostname)
> * happstack-state: Correct an embarrassing race condition bug.
> * happstack-data: Exported getSafeGet and getSafePut
> * happstack: add state transition code to guestbook (add email
> to form, handler, and state), and tar of example _local state before
> * happstack-state: now has experimental replication support using
> Amazon Web Services. This support is disabled by default. This
> feature is highly experimental, may not work, and may even be
> completely removed in future versions (though, hopefully not).
> Alex Jacobson
> David Himmelstrup / Lemmih
> Matthew Elder / mae
> Antoine Latter
> Erik Hesselink
> Pasqualino 'Titto' Assini
> Nils / McManiaC
> Thomas Hartman
> Creighton Hogg / wchogg
> John MacFarlane
> Jochem Berndsen / koeien
> And everyone who filed bug reports, tested RC1 and RC2, and anyone
> else I missed.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
Sent from my mobile device
Need somewhere to put your code? http://patch-tag.com
Want to build a webapp? http://happstack.com
More information about the Haskell-Cafe