[Haskell-cafe] ANN: Happstack 0.4.1

Michael Hartl mikehartl at web.de
Sun Dec 20 06:45:44 EST 2009


What is the relationship between HAppS and Happstack? I actually thought
that Happstack was the former name of HAppS, but now it seems that I'm
wrong...?

Regards

Am Samstag, den 19.12.2009, 18:17 -0600 schrieb Jeremy Shaw:
> 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




More information about the Haskell-Cafe mailing list