diff --git a/json-feed.cabal b/json-feed.cabal
--- a/json-feed.cabal
+++ b/json-feed.cabal
@@ -1,20 +1,16 @@
--- This file has been generated from package.yaml by hpack version 0.17.0.
---
--- see: https://github.com/sol/hpack
-
-name:           json-feed
-version:        0.0.1
-synopsis:       JSON Feed
-description:    This is an implementation of the JSON Feed spec in Haskell. The spec is available at <https://jsonfeed.org>. JSON Feed is similar to the Atom and RSS feed formats, but it is serialized as JSON rather than XML.
-category:       Web
-homepage:       https://github.com/tfausak/json-feed#readme
-bug-reports:    https://github.com/tfausak/json-feed/issues
-maintainer:     Taylor Fausak
-license:        MIT
-license-file:   LICENSE.markdown
-build-type:     Simple
-cabal-version:  >= 1.10
-
+name: json-feed
+version: 0.0.2
+cabal-version: >=1.10
+build-type: Simple
+license: MIT
+license-file: LICENSE.markdown
+maintainer: Taylor Fausak
+homepage: https://github.com/tfausak/json-feed#readme
+bug-reports: https://github.com/tfausak/json-feed/issues
+synopsis: JSON Feed
+description:
+    This is an implementation of the JSON Feed spec in Haskell. The spec is available at <https://jsonfeed.org>. JSON Feed is similar to the Atom and RSS feed formats, but it is serialized as JSON rather than XML.
+category: Web
 extra-source-files:
     feeds/allenpike.com.json
     feeds/daringfireball.net.json
@@ -29,42 +25,40 @@
     feeds/timetable.manton.org.json
 
 source-repository head
-  type: git
-  location: https://github.com/tfausak/json-feed
+    type: git
+    location: https://github.com/tfausak/json-feed
 
 library
-  hs-source-dirs:
-      library
-  ghc-options: -Wall
-  build-depends:
-      aeson
-    , base < 9
-    , bytestring
-    , mime-types
-    , network-uri
-    , tagsoup
-    , text
-    , time
-  exposed-modules:
-      JsonFeed
-  default-language: Haskell2010
+    exposed-modules:
+        JsonFeed
+    build-depends:
+        aeson >=1.0.2.1 && <1.1,
+        base >=4.9.1.0 && <4.10,
+        bytestring >=0.10.8.1 && <0.11,
+        mime-types >=0.1.0.7 && <0.2,
+        network-uri >=2.6.1.0 && <2.7,
+        tagsoup ==0.14.*,
+        text >=1.2.2.1 && <1.3,
+        time >=1.6.0.1 && <1.7
+    default-language: Haskell2010
+    hs-source-dirs: library
+    ghc-options: -Wall
 
 test-suite test
-  type: exitcode-stdio-1.0
-  main-is: test.hs
-  hs-source-dirs:
-      tests
-  ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N
-  build-depends:
-      aeson
-    , base < 9
-    , bytestring
-    , mime-types
-    , network-uri
-    , tagsoup
-    , text
-    , time
-    , filepath
-    , hspec
-    , json-feed
-  default-language: Haskell2010
+    type: exitcode-stdio-1.0
+    main-is: test.hs
+    build-depends:
+        aeson >=1.0.2.1 && <1.1,
+        base >=4.9.1.0 && <4.10,
+        bytestring >=0.10.8.1 && <0.11,
+        mime-types >=0.1.0.7 && <0.2,
+        network-uri >=2.6.1.0 && <2.7,
+        tagsoup ==0.14.*,
+        text >=1.2.2.1 && <1.3,
+        time >=1.6.0.1 && <1.7,
+        filepath >=1.4.1.1 && <1.5,
+        hspec >=2.4.1 && <2.5,
+        json-feed >=0.0.2 && <0.1
+    default-language: Haskell2010
+    hs-source-dirs: tests
+    ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N
