ANN: updates to happstack-server, happstack-server-tls, happstack, and happstack-state

5 views
Skip to first unread message

Jeremy Shaw

unread,
Feb 16, 2012, 1:57:15 PM2/16/12
to HAppS
Hello,

I just uploaded a couple new Happstack packages. Here are the interesting changes:

 1. happstack-server-tls 

 This is a brand new package. I have split the SSL/TLS/https:// code out of happstack-server and into a separate package. This fixes several issues:

  * you can now easily avoiding building TLS support if you don't need it -- which is important on platforms like OS X, where it is not trivial to build
  * you can now create a server that only listens for https://
  * if your app requires https:// you can explicitly depend on happstack-server-tls. (There was no way to explicitly depend on a version of happstack-server that was build with TLS, you just had to hope for the best)

 Someone has suggested this workaround for building cyptopp on OS X:


Can we do better? Perhaps our Setup.hs should do this for the user? Or maybe we can link against the static version? If nothing else, we will just have to document it..

 2. happstack-server

 * split TLS support out into a new package. The Conf type has now reverted back to its pre-TLS form. Invoking SSL is now done by explicitly calling simpleHTTPS.
 * Added FromReqURI instances for Text and lazy Text
 * fixed two cases where decoding of multipart/form-data would fail.
 * better handling of decoding of unicode characters in paths
 * do not convert + to ' ' in path segments
 * allow empty cookies
 * added Happstack.Server.I18N
 * added strict, lookText' and lookTexts' (for strict Text)

 3. happstack-data

 * In base >= 4.4, the Show instance for TypeRep no longer shows the fully qualified name of the type. This makes it difficult to read old serialized data. happstack-data/happstack-state now use a special show function that maintains backwards compatibility

 4. happstack-state

 * moved Happstack.State.ClockTime from happstack into happstack-state

 5. happstack

 * moved the 'happstack' command out of happstack into happstack-init. happstack-init is now unmaintained until someone with the time and interest to maintain it comes along.

Is there anything else you would like to see in Happstack 7? 

The primary change between what is currently on Hackage and what will be in 7 is that we will officially deprecate happstack-state in favor of acid-state. That mostly involves removing happstack-state from the happstack.cabal.

- jeremy
Reply all
Reply to author
Forward
0 new messages