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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to