diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,7 +1,15 @@
+## 0.2.1.0
+
+* Add back some missing changes from 0.1.1.0
+
 ## 0.2.0.0
 
 * Drop system-filepath
 
+## 0.1.1.0
+
+`gitRepoDev` added.
+
 ## 0.1.0.0
 
-* Initial release
+Initial release
diff --git a/Yesod/GitRepo.hs b/Yesod/GitRepo.hs
--- a/Yesod/GitRepo.hs
+++ b/Yesod/GitRepo.hs
@@ -8,6 +8,7 @@
     , grRefresh
     , grContent
     , gitRepo
+    , gitRepoDev
     , Route (..)
     ) where
 
@@ -93,6 +94,18 @@
 instance ParseRoute (GitRepo a) where
     parseRoute ([], []) = Just GitRepoRoute
     parseRoute _ = Nothing
+
+-- | Like 'gitRepo', but intended to be used in a dev environment. It just uses
+-- a hard-coded @FilePath@ and reloads the contents on each request.
+--
+-- Since 0.1.1
+gitRepoDev :: FilePath
+           -> (FilePath -> IO a)
+           -> IO (GitRepo a)
+gitRepoDev fp refresh = return GitRepo
+    { grRefresh = return ()
+    , grContent = refresh fp
+    }
 
 instance YesodSubDispatch (GitRepo a) (HandlerT site IO) where
     yesodSubDispatch env _req send = do
diff --git a/yesod-gitrepo.cabal b/yesod-gitrepo.cabal
--- a/yesod-gitrepo.cabal
+++ b/yesod-gitrepo.cabal
@@ -1,6 +1,7 @@
 name:                yesod-gitrepo
-version:             0.2.0.0
+version:             0.2.1.0
 synopsis:            Host content provided by a Git repo
+description:         See README.md
 homepage:            https://github.com/snoyberg/yesod-gitrepo
 license:             MIT
 license-file:        LICENSE
