diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -1,19 +1,10 @@
-{-# LANGUAGE CPP #-}
-
 module Main ( main ) where
 
 import Distribution.Package
 import Distribution.PackageDescription
-#if MIN_VERSION_Cabal(2,2,0)
 import Distribution.PackageDescription.Parsec
-#else
-import Distribution.PackageDescription.Parse
-#endif
 import Distribution.PackageDescription.PrettyPrint
-#if MIN_VERSION_Cabal(1,25,0)
-import Distribution.Types.Dependency
 import Distribution.Types.LegacyExeDependency
-#endif
 import Distribution.Verbosity
 import Distribution.Version
 import System.Environment
@@ -25,6 +16,7 @@
 -- See https://github.com/peti/jailbreak-cabal/commit/99eac40deb481b185fd93fd307625369ff5e1ec0
 stripVersionRestrictions :: GenericPackageDescription -> GenericPackageDescription
 stripVersionRestrictions pkg = pkg { condLibrary = fmap relaxLibraryTree (condLibrary pkg)
+                                   , condSubLibraries = map (\(n, l) -> (n, relaxLibraryTree l)) (condSubLibraries pkg)
                                    , condExecutables = map (fmap relaxExeTree) (condExecutables pkg)
                                    , condTestSuites = map (fmap relaxTestTree) (condTestSuites pkg)
                                    }
@@ -59,20 +51,7 @@
   relax :: a -> a
 
 instance DependencyType Dependency where
-#if MIN_VERSION_Cabal(2,5,0)
   relax (Dependency d _ deps) = Dependency d anyVersion deps
-#else
-  relax (Dependency d _     ) = Dependency d anyVersion
-#endif
 
-#if MIN_VERSION_Cabal(1,25,0)
-
 instance DependencyType LegacyExeDependency where
   relax (LegacyExeDependency d _) = LegacyExeDependency d anyVersion
-
-#endif
-
-#if !MIN_VERSION_Cabal(2,0,0)
-readGenericPackageDescription :: Verbosity -> String -> IO GenericPackageDescription
-readGenericPackageDescription = readPackageDescription
-#endif
diff --git a/jailbreak-cabal.cabal b/jailbreak-cabal.cabal
--- a/jailbreak-cabal.cabal
+++ b/jailbreak-cabal.cabal
@@ -1,19 +1,19 @@
 name:                   jailbreak-cabal
-version:                1.3.4
+version:                1.3.5
 synopsis:               Strip version restrictions from Cabal files
 description:            Strip version restrictions from build dependencies in Cabal files.
 category:               Distribution
 stability:              stable
-homepage:               https://github.com/peti/jailbreak-cabal#readme
+homepage:               https://github.com/peti/jailbreak-cabal
 bug-reports:            https://github.com/peti/jailbreak-cabal/issues
-author:                 Peter Simons, Joel Taylor, Nikolay Amiantov, aszlig
+author:                 Peter Simons, Jeremy Shaw, Joel Taylor, Kosyrev Serge, Nikolay Amiantov, aszlig
 maintainer:             simons@cryp.to
 license:                BSD3
 license-file:           LICENSE
 build-type:             Simple
 cabal-version:          >= 1.10
-tested-with:            GHC == 7.0.4, GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3
-                      , GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.3
+tested-with:            GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2,
+                        GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.1
 
 source-repository head
   type: git
@@ -21,5 +21,5 @@
 
 executable jailbreak-cabal
   main-is: Main.hs
-  build-depends: base < 5, Cabal == 1.20.* || == 1.24.* || >= 2.2
+  build-depends: base < 5, Cabal == 3.*
   default-language: Haskell2010
