diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+# 0.1.1.4
+
+ - Add support for `Cabal-1.22.*` and `base-4.8.*`
+
 # 0.1.1.3
 
  - Allow `optparse-applicative-0.11.*` and `haskell-src-exts-1.16.*`
diff --git a/packunused.cabal b/packunused.cabal
--- a/packunused.cabal
+++ b/packunused.cabal
@@ -1,5 +1,5 @@
 name:                packunused
-version:             0.1.1.3
+version:             0.1.1.4
 synopsis:            Tool for detecting redundant Cabal package dependencies
 homepage:            https://github.com/hvr/packunused
 bug-reports:         https://github.com/hvr/packunused/issues
@@ -68,9 +68,9 @@
   other-extensions:    CPP, RecordWildCards
   ghc-options:         -Wall -fwarn-tabs -fno-warn-unused-do-bind
   build-depends:
-    base                 >=4.5  && <4.8,
-    Cabal                >=1.14 && <1.21,
-    optparse-applicative < 0.12,
+    base                 >=4.5  && <4.9,
+    Cabal                >=1.14 && <1.23,
+    optparse-applicative >=0.8  && <0.12,
     directory            >=1.1  && <1.3,
     filepath             ==1.3.*,
     haskell-src-exts     >=1.13 && <1.17,
diff --git a/packunused.hs b/packunused.hs
--- a/packunused.hs
+++ b/packunused.hs
@@ -10,6 +10,9 @@
 import           Data.Monoid
 import           Data.Version (Version(Version), showVersion)
 import           Distribution.InstalledPackageInfo (exposedModules, installedPackageId)
+#if MIN_VERSION_Cabal(1,21,0)
+import           Distribution.InstalledPackageInfo (exposedName)
+#endif
 import           Distribution.ModuleName (ModuleName)
 import qualified Distribution.ModuleName as MN
 import           Distribution.Package (InstalledPackageId(..), packageId, pkgName)
@@ -165,7 +168,11 @@
 
             unused = [ installedPackageId ipinfo
                      | ipinfo <- unignored
+#if MIN_VERSION_Cabal(1,21,0)
+                     , let expmods = map exposedName $ exposedModules ipinfo
+#else
                      , let expmods = exposedModules ipinfo
+#endif
                      , not (any (`elem` allmods) expmods)
                      ]
 
