diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.4.3
+
+* Fix overly powerful constraints on get404 and getBy404.
+
 ## 1.4.2
 
 * Fix warnings
diff --git a/Yesod/Persist/Core.hs b/Yesod/Persist/Core.hs
--- a/Yesod/Persist/Core.hs
+++ b/Yesod/Persist/Core.hs
@@ -134,7 +134,7 @@
 
 -- | Get the given entity by ID, or return a 404 not found if it doesn't exist.
 #if MIN_VERSION_persistent(2,5,0)
-get404 :: (MonadIO m, PersistStore backend, PersistRecordBackend val backend)
+get404 :: (MonadIO m, PersistStoreRead backend, PersistRecordBackend val backend)
        => Key val
        -> ReaderT backend m val
 #else
@@ -151,7 +151,7 @@
 -- | Get the given entity by unique key, or return a 404 not found if it doesn't
 --   exist.
 #if MIN_VERSION_persistent(2,5,0)
-getBy404 :: (PersistUnique backend, PersistRecordBackend val backend, MonadIO m)
+getBy404 :: (PersistUniqueRead backend, PersistRecordBackend val backend, MonadIO m)
          => Unique val
          -> ReaderT backend m (Entity val)
 #else
diff --git a/yesod-persistent.cabal b/yesod-persistent.cabal
--- a/yesod-persistent.cabal
+++ b/yesod-persistent.cabal
@@ -1,48 +1,55 @@
-name:            yesod-persistent
-version:         1.4.2
-license:         MIT
-license-file:    LICENSE
-author:          Michael Snoyman <michael@snoyman.com>
-maintainer:      Michael Snoyman <michael@snoyman.com>
-synopsis:        Some helpers for using Persistent from Yesod.
-category:        Web, Yesod, Database
-stability:       Stable
-cabal-version:   >= 1.8
-build-type:      Simple
-homepage:        http://www.yesodweb.com/
-description:     API docs and the README are available at <http://www.stackage.org/package/yesod-persistent>
-extra-source-files: README.md ChangeLog.md
+name: yesod-persistent
+version: 1.4.3
+cabal-version: >=1.8
+build-type: Simple
+license: MIT
+license-file: LICENSE
+maintainer: Michael Snoyman <michael@snoyman.com>
+stability: Stable
+homepage: http://www.yesodweb.com/
+synopsis: Some helpers for using Persistent from Yesod.
+description:
+    API docs and the README are available at <http://www.stackage.org/package/yesod-persistent>
+category: Web, Yesod, Database
+author: Michael Snoyman <michael@snoyman.com>
+extra-source-files:
+    README.md
+    ChangeLog.md
 
+source-repository head
+    type: git
+    location: https://github.com/yesodweb/yesod
+
 library
-    build-depends:   base                      >= 4        && < 5
-                   , yesod-core                >= 1.4.0    && < 1.5
-                   , persistent                >= 2.1      && < 2.7
-                   , persistent-template       >= 2.1      && < 2.7
-                   , transformers              >= 0.2.2
-                   , blaze-builder
-                   , conduit
-                   , resourcet                 >= 0.4.5
-                   , resource-pool
-    exposed-modules: Yesod.Persist
-                     Yesod.Persist.Core
-    ghc-options:     -Wall
+    exposed-modules:
+        Yesod.Persist
+        Yesod.Persist.Core
+    build-depends:
+        base ==4.*,
+        yesod-core >=1.4.0 && <1.5,
+        persistent >=2.1 && <2.8,
+        persistent-template >=2.1 && <2.8,
+        transformers >=0.2.2,
+        blaze-builder -any,
+        conduit -any,
+        resourcet >=0.4.5,
+        resource-pool -any
+    ghc-options: -Wall
 
-test-suite test
+test-suite  test
     type: exitcode-stdio-1.0
     main-is: Spec.hs
+    build-depends:
+        base -any,
+        hspec -any,
+        wai-extra -any,
+        yesod-core -any,
+        persistent-sqlite -any,
+        yesod-persistent -any,
+        conduit -any,
+        blaze-builder -any,
+        persistent -any,
+        text -any
     hs-source-dirs: test
-    other-modules: Yesod.PersistSpec
-    build-depends: base
-                 , hspec
-                 , wai-extra
-                 , yesod-core
-                 , persistent-sqlite
-                 , yesod-persistent
-                 , conduit
-                 , blaze-builder
-                 , persistent
-                 , text
-
-source-repository head
-  type:     git
-  location: https://github.com/yesodweb/yesod
+    other-modules:
+        Yesod.PersistSpec
