[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