[Haskell] Re: [Haskell-cafe] ANN: Happstack 0.4.1

Matthew Elder matt at mattelder.org
Mon Dec 21 01:44:23 EST 2009


Hooray!


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
> Responses
>     * 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.
>
> HOMEPAGE:
>
>     http://www.happstack.com/
>
> 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:
>
>
> http://groups.google.com/group/haskell-server-pages/browse_thread/thread/56f388fdbaec1420
>
> INSTALL:
>
>     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:
>
>      http://www.patch-tag.com/r/mae/happstack/snapshots/all/history
>
>    Removed:
>
>       * 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
>
>    fileServe:
>
>       * 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 .
>
>    happstack-server:
>
>       * 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)
>
>   other:
>
>       * 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
> transition
>
>   experimental:
>
>       * 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).
>
> THANKS:
>
>   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
>   MightByte
>
>   And everyone who filed bug reports, tested RC1 and RC2, and anyone
> else I missed.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

-- 
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 mailing list