Persistent 0.7, Yesod 0.10 beta

January 25, 2012

GravatarBy Michael Snoyman

I'm very happy to announce the newest release of Persistent. Version 0.7 is now on Hackage, and supports three major changes:

  • The typeclass hierarchy has been split up into PersistStore and PersistQuery. This means that it should be much easier to add backends for data stores like Redis. (Thanks to Greg Weber for this.)
  • There's a much more convenient raw SQL interface with automated data marshaling. (Thanks to Felipe Lessa for this.)
  • The EntityDef and Template Haskell code has been drastically cleaned up and simplified. This makes it easier to add new features as separate TH components, and fixes a number of bugs related to automated migrations with field renames. (I'll take credit here.)

Persistent 0.7 will be used in the upcoming Yesod 0.10... Speaking of which, Yesod 0.10 is now officially in beta! I strongly encourage all users to give this a test drive. Greg has put together a 0.10 upgrade guide, and we'll likely have a blog post giving the typical "here's how I upgraded"

We'll go into the exciting new features of Yesod 0.10 in the actual release announcement, but for testing purposes, there hasn't been a significant number of changes. This release was mostly focused on API cleanup. Remember: the goal is to turn Yesod 0.10 into 1.0!

The only feature we still plan to add before the official release is merging in Nubis's test branch. This is a really nice set of features, not only adding easy, high-level testing to the scaffolding, but in general making the scaffolding a more user-friendly site. Thank you Nubis!

In order to install the beta, you can either install from Github or from the Yesod Yackage site. To install from Github:

  1. cabal update
  2. git clone
  3. cd yesod
  4. git submodule update --init
  5. ./scripts/install

To install from Yackage, add the following line to your ~/.cabal/config file:

remote-repo: yesodweb-yackage:

And then run cabal update && cabal install yesod.


comments powered by Disqus