diff --git a/json-feed.cabal b/json-feed.cabal
--- a/json-feed.cabal
+++ b/json-feed.cabal
@@ -1,7 +1,7 @@
-cabal-version: 2.2
+cabal-version: >= 1.10
 
 name: json-feed
-version: 1.0.11
+version: 1.0.12
 
 synopsis: JSON Feed
 description:
@@ -32,50 +32,39 @@
   location: https://github.com/tfausak/json-feed
   type: git
 
-common basics
+library
+  build-depends:
+    base >= 4.13.0 && < 4.16
+    , aeson >= 1.4.7 && < 1.6
+    , bytestring >= 0.10.10 && < 0.11
+    , mime-types >= 0.1.0 && < 0.2
+    , network-uri >= 2.6.3 && < 2.7
+    , tagsoup >= 0.14.8 && < 0.15
+    , text >= 1.2.4 && < 1.3
+    , time >= 1.9.3 && < 1.10
   default-language: Haskell2010
+  exposed-modules: JsonFeed
   ghc-options:
     -Weverything
-    -Wno-all-missed-specialisations
     -Wno-implicit-prelude
+    -Wno-missing-deriving-strategies
     -Wno-missing-exported-signatures
-    -Wno-missing-import-lists
-    -Wno-safe
     -Wno-unsafe
-
-  if impl(ghc >= 8.8)
-    ghc-options:
-      -Wno-missing-deriving-strategies
+  hs-source-dirs: src/lib
 
   if impl(ghc >= 8.10)
     ghc-options:
       -Wno-missing-safe-haskell-mode
       -Wno-prepositive-qualified-module
 
-library
-  import: basics
-
-  build-depends:
-      aeson >= 0.11.2 && < 0.12 || >= 1.0.2 && < 1.6
-    , base >= 4.9.0 && < 4.15
-    , bytestring >= 0.10.8 && < 0.11
-    , mime-types >= 0.1.0 && < 0.2
-    , network-uri >= 2.6.1 && < 2.8
-    , tagsoup >= 0.14 && < 0.15
-    , text >= 1.2.2 && < 1.3
-    , time >= 1.6.0 && < 1.10
-  exposed-modules: JsonFeed
-  hs-source-dirs: src/lib
-
 test-suite test
-  import: basics
-
   build-depends:
     base -any
     , bytestring -any
-    , filepath >= 1.4.1 && < 1.5
-    , hspec >= 2.2.3 && < 2.8
+    , filepath >= 1.4.2 && < 1.5
+    , hspec >= 2.7.6 && < 2.8
     , json-feed -any
+  default-language: Haskell2010
   hs-source-dirs: src/test
   main-is: Main.hs
   type: exitcode-stdio-1.0
