diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
 User-visible changes in hledger-web (see also hledger):
 
-0.24 (unreleased)
+0.24.1 (2015/1/10)
+
+- add missing modules to fix cabal tests (#232)
+
+0.24 (2014/12/25)
 
 General:
 - fix: add missing hs/js files to package
diff --git a/hledger-web.cabal b/hledger-web.cabal
--- a/hledger-web.cabal
+++ b/hledger-web.cabal
@@ -1,5 +1,5 @@
 name:           hledger-web
-version: 0.24
+version: 0.24.1
 stability:      stable
 category:       Finance
 synopsis:       A web interface for the hledger accounting tool.
@@ -90,6 +90,8 @@
                 templates/homepage.julius
                 templates/homepage.lucius
                 templates/normalize.lucius
+                tests/HomeTest.hs
+                tests/TestImport.hs
                 CHANGES
 
 source-repository head
@@ -110,7 +112,7 @@
 
 
 library
-    cpp-options:   -DVERSION="0.24"
+    cpp-options:   -DVERSION="0.24.1"
     if flag(dev) || flag(library-only)
         cpp-options: -DDEVELOPMENT
  
@@ -154,8 +156,8 @@
                      Hledger.Web.Options
                      -- Setup -- stops yesod devel complaining, requires build-depends: Cabal
     build-depends:
-                     hledger              == 0.24
-                   , hledger-lib          == 0.24
+                     hledger              == 0.24.*
+                   , hledger-lib          == 0.24.*
                    , base                 >= 4 && < 5
                    , blaze-html
                    , blaze-markup
@@ -199,7 +201,7 @@
     if flag(library-only)
         Buildable: False
 
-    cpp-options:   -DVERSION="0.24"
+    cpp-options:   -DVERSION="0.24.1"
     if flag(dev)
         cpp-options: -DDEVELOPMENT
 
@@ -224,9 +226,9 @@
     main-is:         main.hs
 
     build-depends:
-                     hledger-lib          == 0.24
-                   , hledger              == 0.24
-                   , hledger-web          == 0.24
+                     hledger-lib          == 0.24.*
+                   , hledger              == 0.24.*
+                   , hledger-web          == 0.24.1
                    , base                 >= 4 && < 5
                    , blaze-html
                    , blaze-markup
@@ -272,7 +274,7 @@
     hs-source-dirs:    tests
     main-is:           main.hs
     build-depends: 
-                     hledger-web          == 0.24
+                     hledger-web          == 0.24.1
                    , base
                    , hspec
                    , yesod
diff --git a/tests/HomeTest.hs b/tests/HomeTest.hs
new file mode 100644
--- /dev/null
+++ b/tests/HomeTest.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE OverloadedStrings #-}
+module HomeTest
+    ( homeSpecs
+    ) where
+
+import TestImport
+
+homeSpecs :: Specs
+homeSpecs =
+  ydescribe "Some hledger-web tests" $
+
+    yit "serves a reasonable-looking register page" $ do
+      get RegisterR
+      statusIs 200
+      bodyContains "accounts"
+
+      -- post "/" $ do
+      --   addNonce
+      --   fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference
+      --   byLabel "What's on the file?" "Some Content"
+
+      -- statusIs 200
+      -- htmlCount ".message" 1
+      -- htmlAllContain ".message" "Some Content"
+      -- htmlAllContain ".message" "text/plain"
diff --git a/tests/TestImport.hs b/tests/TestImport.hs
new file mode 100644
--- /dev/null
+++ b/tests/TestImport.hs
@@ -0,0 +1,12 @@
+{-# LANGUAGE OverloadedStrings #-}
+module TestImport
+    ( module Yesod.Test
+    , module Foundation
+    , Specs
+    ) where
+
+import Yesod.Test
+
+import Foundation
+
+type Specs = YesodSpec App
