diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.6.0.4
+
+* Support Cabal 3.0
+
 ## 1.6.0.3
 
 * Support Cabal 2.2 [#1151](https://github.com/yesodweb/yesod/issues/1511)
diff --git a/Devel.hs b/Devel.hs
--- a/Devel.hs
+++ b/Devel.hs
@@ -286,7 +286,9 @@
 
     -- Find out the name of our package, needed for the upcoming Stack
     -- commands
-#if MIN_VERSION_Cabal(1, 20, 0)
+#if MIN_VERSION_Cabal(3, 0, 0)
+    cabal  <- D.tryFindPackageDesc D.silent "."
+#elif MIN_VERSION_Cabal(1, 20, 0)
     cabal  <- D.tryFindPackageDesc "."
 #else
     cabal  <- D.findPackageDesc "."
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -103,7 +103,7 @@
 
 One important note: I highly recommend putting _all_ of the logic in
 your library, and then providing a `develMain :: IO ()` function which
-yoru `app/devel.hs` script reexports as `main`. I've found this to
+your `app/devel.hs` script reexports as `main`. I've found this to
 greatly simplify things overall, since you can ensure all of your
 dependencies are specified correctly in your `.cabal` file. Also, I
 recommend using `PackageImports` in that file, as the example app
diff --git a/yesod-bin.cabal b/yesod-bin.cabal
--- a/yesod-bin.cabal
+++ b/yesod-bin.cabal
@@ -1,5 +1,5 @@
 name:            yesod-bin
-version:         1.6.0.3
+version:         1.6.0.4
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -25,50 +25,41 @@
         ld-options:      -Wl,-zwxneeded
 
     build-depends:     base               >= 4.3          && < 5
-                     , parsec             >= 2.1          && < 4
-                     , text               >= 0.11
-                     , shakespeare        >= 2.0
-                     , bytestring         >= 0.9.1.4
-                     , time               >= 1.1.4
-                     , template-haskell
-                     , directory          >= 1.2.1
                      , Cabal              >= 1.18
-                     , unix-compat        >= 0.2
-                     , containers         >= 0.2
-                     , attoparsec         >= 0.10
-                     , http-types         >= 0.7
-                     , blaze-builder      >= 0.2.1.4      && < 0.5
-                     , filepath           >= 1.1
-                     , process
-                     , zlib               >= 0.5
-                     , tar                >= 0.4          && < 0.6
-                     , unordered-containers
-                     , yaml               >= 0.8          && < 0.9
-                     , optparse-applicative >= 0.11
-                     , fsnotify           >= 0.0          && < 0.3
-                     , split              >= 0.2          && < 0.3
-                     , file-embed
+                     , bytestring         >= 0.9.1.4
                      , conduit            >= 1.3
                      , conduit-extra      >= 1.3
-                     , resourcet          >= 1.2
-                     , base64-bytestring
+                     , containers         >= 0.2
+                     , data-default-class
+                     , directory          >= 1.2.1
+                     , file-embed
+                     , filepath           >= 1.1
+                     , fsnotify           >= 0.0          && < 0.4
+                     , http-client        >= 0.4.7
+                     , http-client-tls
                      , http-reverse-proxy >= 0.4
+                     , http-types         >= 0.7
                      , network            >= 2.5
-                     , http-client-tls
-                     , http-client        >= 0.4.7
+                     , optparse-applicative >= 0.11
+                     , process
                      , project-template   >= 0.1.1
-                     , unliftio
                      , say
+                     , split              >= 0.2          && < 0.3
                      , stm
+                     , streaming-commons
+                     , tar                >= 0.4          && < 0.6
+                     , text               >= 0.11
+                     , time               >= 1.1.4
                      , transformers
                      , transformers-compat
-                     , warp               >= 1.3.7.5
+                     , unliftio
+                     , unordered-containers
                      , wai                >= 2.0
                      , wai-extra
-                     , data-default-class
-                     , streaming-commons
+                     , warp               >= 1.3.7.5
                      , warp-tls           >= 3.0.1
-                     , unliftio
+                     , yaml               >= 0.8          && < 0.12
+                     , zlib               >= 0.5
 
     ghc-options:       -Wall -threaded -rtsopts
     main-is:           main.hs
