diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+1.3.0
+-----
+* Support 'cabal new-build'
+* Add 'libs' subcommand for outputing the libs used by an 'update' run
+* Bugfix for missing upper/lower bounds
+
 1.1.0
 -----
 * By default 'update' now only widens the lower and upper bounds.
diff --git a/cabal-bounds.cabal b/cabal-bounds.cabal
--- a/cabal-bounds.cabal
+++ b/cabal-bounds.cabal
@@ -1,5 +1,5 @@
 name: cabal-bounds
-version: 1.2.0
+version: 1.3.0
 cabal-version: >=1.9.2
 build-type: Simple
 license: BSD3
@@ -78,10 +78,14 @@
         unordered-containers >=0.2.3.3 && <0.3,
         transformers >=0.3.0.0 && <0.6,
         either >=4.1.1 && <4.5,
-        cabal-lenses >=0.4.6 && <0.5,
+        cabal-lenses >=0.5.0 && <0.6,
         Cabal >=1.18.0 && <1.25,
         filepath >=1.3 && <1.5,
-        directory >=1.2 && <1.4
+        directory >=1.2 && <1.4,
+        aeson >=1.2.3.0 && <1.3,
+        lens-aeson >=1.0.2 && <1.1,
+        bytestring >= 0.10.8.2 && <1.0,
+        text >=1.1.0.1 && <1.3
     cpp-options: -DCABAL
     hs-source-dirs: lib
     other-modules:
@@ -93,6 +97,7 @@
         CabalBounds.Update
         CabalBounds.Dump
         CabalBounds.HaskellPlatform
+        CabalBounds.Types
     ghc-options: -W
 
 executable cabal-bounds
diff --git a/lib/CabalBounds/Args.hs b/lib/CabalBounds/Args.hs
--- a/lib/CabalBounds/Args.hs
+++ b/lib/CabalBounds/Args.hs
@@ -7,6 +7,7 @@
    , defaultDrop
    , defaultUpdate
    , defaultDump
+   , defaultLibs
    ) where
 
 import System.Console.CmdArgs hiding (ignore)
@@ -50,11 +51,17 @@
                  , output     :: Maybe String
                  , cabalFiles :: [FilePath]
                  }
+          | Libs { output          :: Maybe String
+                 , fromFile        :: FilePath
+                 , haskellPlatform :: String
+                 , cabalFile       :: Maybe FilePath
+                 , setupConfigFile :: Maybe FilePath
+                 }
           deriving (Data, Typeable, Show, Eq)
 
 
 get :: IO Args
-get = cmdArgsRun . cmdArgsMode $ modes [dropArgs, updateArgs, dumpArgs]
+get = cmdArgsRun . cmdArgsMode $ modes [dropArgs, updateArgs, dumpArgs, libsArgs]
    &= program "cabal-bounds"
    &= summary summaryInfo
    &= help "A command line program for managing the bounds/versions of the dependencies in a cabal file."
@@ -108,6 +115,16 @@
    }
 
 
+defaultLibs :: Args
+defaultLibs = Libs
+   { output          = def
+   , fromFile        = def
+   , haskellPlatform = def
+   , cabalFile       = def
+   , setupConfigFile = def
+   }
+
+
 dropArgs :: Args
 dropArgs = Drop
    { upper      = def &= explicit &= name "upper" &= name "U"
@@ -137,7 +154,7 @@
    , upperComp       = def &= explicit &= name "uppercomp"
                            &= help "Only the upper bound is updated with the specified version component. (major1, major2 or minor)"
    , missing         = def &= help "Only the dependencies having missing bounds are updated."
-   , fromFile        = def &= typ "FILE" &= help "Update bounds by the library versions spedified in the given file."
+   , fromFile        = def &= typ "FILE" &= help "Update bounds by the library versions specified in the given file."
    , haskellPlatform = def &= explicit &= typ "VERSION" &= name "haskell-platform"
                            &= help "Update bounds by the library versions of the specified haskell platform version"
    , setupConfigFile = def &= CmdArgs.ignore
@@ -149,6 +166,16 @@
    { output     = def &= explicit &= typ "FILE" &= name "output" &= name "o"
                       &= help "Save libraries with lower bounds to file, if empty, then it's written to stdout."
    , cabalFiles = def &= args &= typ "CABAL-FILE"
+   }
+
+
+libsArgs :: Args
+libsArgs = Libs
+   { output     = def &= explicit &= typ "FILE" &= name "output" &= name "o"
+                      &= help "Save the libraries cabal-bounds would use for its update run to file, if empty, then they're written to stdout."
+   , fromFile        = def &= typ "FILE" &= help "Use the library versions specified in the given file."
+   , haskellPlatform = def &= explicit &= typ "VERSION" &= name "haskell-platform"
+                           &= help "Use the library versions of the specified haskell platform version"
    }
 
 
diff --git a/lib/CabalBounds/Dump.hs b/lib/CabalBounds/Dump.hs
--- a/lib/CabalBounds/Dump.hs
+++ b/lib/CabalBounds/Dump.hs
@@ -9,11 +9,8 @@
 import Data.Maybe (fromMaybe)
 import qualified CabalLenses as CL
 import CabalBounds.Dependencies (Dependencies(..), allDependency, filterDependency)
+import CabalBounds.Types
 import Control.Lens
-
-type LibName    = String
-type LibVersion = [Int]
-type Library    = (LibName, LibVersion)
 
 
 dump :: Dependencies -> [GenericPackageDescription] -> [Library]
diff --git a/lib/CabalBounds/Main.hs b/lib/CabalBounds/Main.hs
--- a/lib/CabalBounds/Main.hs
+++ b/lib/CabalBounds/Main.hs
@@ -1,4 +1,4 @@
-{-# Language StandaloneDeriving, PatternGuards, CPP #-}
+{-# Language StandaloneDeriving, PatternGuards, CPP, OverloadedStrings #-}
 
 module CabalBounds.Main
    ( cabalBounds
@@ -22,17 +22,23 @@
 import qualified CabalBounds.Update as U
 import qualified CabalBounds.Dump as D
 import qualified CabalBounds.HaskellPlatform as HP
+import CabalBounds.Types
 import qualified CabalLenses as CL
 import qualified System.IO.Strict as SIO
 import System.FilePath ((</>))
 import System.Directory (getCurrentDirectory)
 import Control.Monad.Trans.Either (EitherT, runEitherT, bimapEitherT, hoistEither, left, right)
 import Control.Monad.IO.Class
+import Control.Lens
 import qualified Data.HashMap.Strict as HM
 import Data.List (foldl', sortBy, find)
 import Data.Function (on)
 import Data.Char (toLower)
 import Data.Maybe (fromMaybe)
+import qualified Data.Aeson as Aeson
+import Data.Aeson.Lens
+import qualified Data.ByteString.Lazy as BS
+import qualified Data.Text as T
 
 #if MIN_VERSION_Cabal(1,22,0) == 0
 import Distribution.Simple.Configure (ConfigStateFileErrorType(..))
@@ -47,10 +53,11 @@
 #endif
 
 
-type Error           = String
+type Error = String
 type SetupConfigFile = FilePath
-type LibraryFile     = FilePath
-type CabalFile       = FilePath
+type PlanFile = FilePath
+type LibraryFile = FilePath
+type CabalFile = FilePath
 
 
 cabalBounds :: A.Args -> IO (Maybe Error)
@@ -82,18 +89,33 @@
                        else right $ A.cabalFiles args
 
       pkgDescrps <- packageDescriptions cabalFiles
-      let libs = sortBy (compare `on` (map toLower . fst)) $ D.dump (DP.dependencies args) pkgDescrps
+      let libs = sortLibraries $ D.dump (DP.dependencies args) pkgDescrps
       case A.output args of
            Just file -> liftIO $ writeFile file (prettyPrint libs)
            Nothing   -> liftIO $ putStrLn (prettyPrint libs))
    where
-      prettyPrint []     = "[]"
-      prettyPrint (l:ls) =
-         "[ " ++ show l ++ "\n" ++ foldl' (\str l -> str ++ ", " ++ show l ++ "\n") "" ls ++ "]";
-
       args = ignoreBaseLibrary args'
 
+cabalBounds args@A.Libs {} =
+   leftToJust <$> runEitherT (do
+      cabalFile <- findCabalFile $ A.cabalFile args
+      libs      <- sortLibraries . toList <$> libraries (A.haskellPlatform args) (A.fromFile args) (A.setupConfigFile args, cabalFile)
+      let libs' = filter ((/= "base") . fst) libs
+      case A.output args of
+           Just file -> liftIO $ writeFile file (prettyPrint libs')
+           Nothing   -> liftIO $ putStrLn (prettyPrint libs'))
 
+
+sortLibraries :: [Library] -> [Library]
+sortLibraries = sortBy (compare `on` (map toLower . fst))
+
+
+prettyPrint :: [Library] -> String
+prettyPrint []     = "[]"
+prettyPrint (l:ls) =
+   "[ " ++ show l ++ "\n" ++ foldl' (\str l -> str ++ ", " ++ show l ++ "\n") "" ls ++ "]";
+
+
 findCabalFile :: Maybe CabalFile -> EitherT Error IO CabalFile
 findCabalFile Nothing = do
    curDir <- liftIO getCurrentDirectory
@@ -102,16 +124,6 @@
 findCabalFile (Just file) = right file
 
 
-findSetupConfigFile :: Maybe SetupConfigFile -> CabalFile -> EitherT Error IO SetupConfigFile
-findSetupConfigFile Nothing cabalFile = do
-   distDir <- liftIO $ CL.findDistDir cabalFile
-   case distDir of
-        Just dir -> right $ dir </> "setup-config"
-        Nothing  -> left "Couldn't find 'dist' directory! Have you already build the project?"
-
-findSetupConfigFile (Just confFile) _ = right confFile
-
-
 ignoreBaseLibrary :: A.Args -> A.Args
 ignoreBaseLibrary args =
    case find (== "base") (A.ignore args) of
@@ -132,18 +144,27 @@
 packageDescriptions files = mapM packageDescription files
 
 
-libraries :: HP.HPVersion -> LibraryFile -> (Maybe SetupConfigFile, CabalFile) -> EitherT Error IO U.Libraries
-libraries "" "" (maybeConfFile, cabalFile) = do
-   confFile <- findSetupConfigFile maybeConfFile cabalFile
-   installedLibraries confFile
+libraries :: HP.HPVersion -> LibraryFile -> (Maybe SetupConfigFile, CabalFile) -> EitherT Error IO Libraries
+libraries "" "" (Just confFile, _) = do
+   librariesFromSetupConfig confFile
 
+libraries "" "" (Nothing, cabalFile) = do
+   distDir <- liftIO $ CL.findDistDir cabalFile
+   case distDir of
+        Just distDir -> librariesFromSetupConfig $ distDir </> "setup-config"
+        Nothing      -> do
+           newDistDir <- liftIO $ CL.findNewDistDir cabalFile
+           case newDistDir of
+                Just newDistDir -> librariesFromPlanFile $ newDistDir </> "cache" </> "plan.json"
+                Nothing         -> left "Couldn't find 'dist' nor 'dist-newstyle' directory! Have you already build the cabal project?"
+
 libraries hpVersion libFile _ = do
    hpLibs       <- haskellPlatformLibraries hpVersion
    libsFromFile <- librariesFromFile libFile
    right $ HM.union hpLibs libsFromFile
 
 
-librariesFromFile :: LibraryFile -> EitherT Error IO U.Libraries
+librariesFromFile :: LibraryFile -> EitherT Error IO Libraries
 librariesFromFile ""      = right HM.empty
 librariesFromFile libFile = do
    contents <- liftIO $ SIO.readFile libFile
@@ -157,7 +178,7 @@
          = left "Invalid format of library file given to '--fromfile'. Expected file with content of type '[(String, [Int])]'."
 
 
-haskellPlatformLibraries :: HP.HPVersion -> EitherT Error IO U.Libraries
+haskellPlatformLibraries :: HP.HPVersion -> EitherT Error IO Libraries
 haskellPlatformLibraries hpVersion =
    case hpVersion of
         ""         -> right HM.empty
@@ -167,13 +188,13 @@
                 | otherwise                           -> left $ "Invalid haskell platform version '" ++ version ++ "'"
 
 
-installedLibraries :: SetupConfigFile -> EitherT Error IO U.Libraries
-installedLibraries ""       = right HM.empty
-installedLibraries confFile = do
+librariesFromSetupConfig :: SetupConfigFile -> EitherT Error IO Libraries
+librariesFromSetupConfig ""       = right HM.empty
+librariesFromSetupConfig confFile = do
    binfo <- liftIO $ tryGetConfigStateFile confFile
    bimapEitherT show buildInfoLibs (hoistEither binfo)
    where
-      buildInfoLibs :: LocalBuildInfo -> U.Libraries
+      buildInfoLibs :: LocalBuildInfo -> Libraries
       buildInfoLibs = HM.fromList
                     . map (\(P.PackageName n, v) -> (n, newestVersion v))
                     . filter ((not . null) . snd)
@@ -181,6 +202,38 @@
 
       newestVersion :: [PI.InstalledPackageInfo] -> V.Version
       newestVersion = maximum . map (P.pkgVersion . PI.sourcePackageId)
+
+
+librariesFromPlanFile :: PlanFile -> EitherT Error IO Libraries
+librariesFromPlanFile planFile = do
+   contents <- liftIO $ BS.readFile planFile
+   let json = Aeson.decode contents :: Maybe Aeson.Value
+   case json of
+        Just json -> do
+           -- get all ids: ["bytestring-0.10.6.0-2362d1f36f12553920ce3710ae4a4ecb432374f4e5feb33a61b7414b43605a0df", ...]
+           let ids = json ^.. key "install-plan" . _Array . traversed . key "id" . _String
+
+           -- transform ids into: [["2362d1f36f12553920ce3710ae4a4ecb432374f4e5feb33a61b7414b43605a0df", "0.10.6.0", "bytestring"], ...]
+           let ids' = map (reverse . T.split (== '-')) ids
+
+           -- remove too short ids or ids of inplace libs
+           let ids'' = filter (\id -> length id >= 3 && (id !! 0) /= "inplace") ids'
+
+           -- drop the hash: [["0.10.6.0", "bytestring"], ...]
+           let ids''' = map (drop 1) ids''
+
+           -- transform verions into: [[0, 10, 6, 0], ...]
+           let versions = map (T.split (== '.') . head) ids'''
+           let versions' = map (map (\s -> read (T.unpack s) :: Int)) versions
+           let versions'' = map (\v -> V.Version { V.versionBranch = v, V.versionTags = [] }) versions'
+
+           let names = map (reverse . tail) ids'''
+           let names' = map (T.intercalate "-") names
+           let names'' = map T.unpack names'
+
+           right . HM.fromList $ zip names'' versions''
+
+        Nothing   -> left $ "Couldn't parse json file '" ++ planFile ++ "'"
 
 
 leftToJust :: Either a b -> Maybe a
diff --git a/lib/CabalBounds/Types.hs b/lib/CabalBounds/Types.hs
new file mode 100644
--- /dev/null
+++ b/lib/CabalBounds/Types.hs
@@ -0,0 +1,16 @@
+
+module CabalBounds.Types where
+
+import qualified Data.HashMap.Strict as HM
+import qualified Distribution.Version as V
+import Control.Lens
+import qualified CabalLenses as CL
+
+type LibName    = String
+type LibVersion = [Int]
+type Library    = (LibName, LibVersion)
+type Libraries  = HM.HashMap LibName V.Version
+
+toList :: Libraries -> [Library]
+toList libs =
+   map (\(name, version) -> (name, version ^. CL.versionBranchL)) $ HM.toList libs
diff --git a/lib/CabalBounds/Update.hs b/lib/CabalBounds/Update.hs
--- a/lib/CabalBounds/Update.hs
+++ b/lib/CabalBounds/Update.hs
@@ -12,6 +12,7 @@
 import CabalBounds.Bound (UpdateBound(..))
 import CabalBounds.Dependencies (Dependencies(..), filterDependency, dependencyIf)
 import CabalBounds.VersionComp (VersionComp(..))
+import CabalBounds.Types
 import qualified CabalLenses as CL
 import Data.List (foldl')
 import qualified Data.HashMap.Strict as HM
@@ -22,11 +23,6 @@
 #endif
 
 
-type LibName    = String
-type LibVersion = V.Version
-type Libraries  = HM.HashMap LibName LibVersion
-
-
 update :: UpdateBound -> [CL.Section] -> Dependencies -> Libraries -> D.GenericPackageDescription -> D.GenericPackageDescription
 update bound sections deps libs pkgDescrp =
    foldl' updateSection pkgDescrp sections
@@ -57,10 +53,15 @@
       lowerBound_   = fromMaybe CL.noLowerBound $ versionRange_ ^? CL.intervals . _head . CL.lowerBound
 
       updateIf f newBound oldBound
-         | f oldBound newBound = newBound
-         | otherwise           = oldBound
+         | oldBound /= CL.noLowerBound
+         = if f oldBound newBound
+              then newBound
+              else oldBound
 
+         | otherwise
+         = newBound
 
+
 updateDependency (UpdateUpper comp ifMissing) libs dep =
    fromMaybe dep $
       if ifMissing && upperBound_ /= V.NoUpperBound
@@ -78,8 +79,14 @@
       upperBound_   = fromMaybe V.NoUpperBound $ versionRange_ ^? CL.intervals . _last . CL.upperBound
 
       updateIf f newBound oldBound
-         | f oldBound newBound = newBound
-         | otherwise           = oldBound
+         | oldBound /= V.NoUpperBound
+         = if f oldBound newBound
+              then newBound
+              else oldBound
+
+         | otherwise
+         = newBound
+
 
 updateDependency (UpdateBoth lowerComp upperComp ifMissing) libs dep =
     updateDependency (UpdateLower lowerComp ifMissing) libs $
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -35,6 +35,7 @@
          Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "A")) >>= Proc.waitForProcess
          Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "B")) >>= Proc.waitForProcess
          Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "C")) >>= Proc.waitForProcess
+         Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "D")) >>= Proc.waitForProcess
          Proc.runCommand "cabal install" >>= Proc.waitForProcess
 
          [distDir] <- glob $ "dist" </> "dist-sandbox-*"
@@ -45,12 +46,11 @@
          Dir.setCurrentDirectory buildDir
          Proc.runCommand "cabal sandbox delete" >>= Proc.waitForProcess
 
-         Dir.removeDirectoryRecursive $ buildDir </> "dist"
          Dir.setCurrentDirectory prevDir
 
 
 tests :: T.TestTree
-tests = T.testGroup "Tests" [dropTests, updateTests, dumpTests]
+tests = T.testGroup "Tests" [dropTests, updateTests, dumpTests, libsTests]
 
 
 dropTests :: T.TestTree
@@ -116,6 +116,12 @@
    ]
 
 
+libsTests :: T.TestTree
+libsTests = T.testGroup "Libs Tests"
+   [ test "Libs" $ defaultLibs
+   ]
+
+
 test :: String -> Args -> T.TestTree
 test testName args =
    G.goldenVsFileDiff testName diff goldenFile outputFile command
@@ -140,9 +146,14 @@
                                 , output     = Just outputFile
                                 }
 
+              Libs {}   -> args { cabalFile       = Just inputFile
+                                , output          = Just outputFile
+                                , setupConfigFile = Just setupConfigFile
+                                }
+
       diff ref new    = ["diff", "-u", ref, new]
-      goldenFile      = "tests" </> "goldenFiles" </> testName <.> (if isDumpTest then "hs" else "cabal")
-      outputFile      = "tests" </> "outputFiles" </> testName <.> (if isDumpTest then "hs" else "cabal")
+      goldenFile      = "tests" </> "goldenFiles" </> testName <.> (if hasHsOutput then "hs" else "cabal")
+      outputFile      = "tests" </> "outputFiles" </> testName <.> (if hasHsOutput then "hs" else "cabal")
 
       inputFile       = "tests" </> "inputFiles" </> (inputFileName testName)
          where
@@ -151,4 +162,9 @@
             inputFileName _                         = "original.cabal"
 
       setupConfigFile = "tests" </> "inputFiles"  </> "setup-config"
-      isDumpTest      = case args of Dump {} -> True; _ -> False
+
+      hasHsOutput =
+         case args of
+              Dump {} -> True
+              Libs {} -> True
+              _       -> False
diff --git a/tests/goldenFiles/DropBothIgnoreA.cabal b/tests/goldenFiles/DropBothIgnoreA.cabal
--- a/tests/goldenFiles/DropBothIgnoreA.cabal
+++ b/tests/goldenFiles/DropBothIgnoreA.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOfAll.cabal b/tests/goldenFiles/DropBothOfAll.cabal
--- a/tests/goldenFiles/DropBothOfAll.cabal
+++ b/tests/goldenFiles/DropBothOfAll.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOfAllExes.cabal b/tests/goldenFiles/DropBothOfAllExes.cabal
--- a/tests/goldenFiles/DropBothOfAllExes.cabal
+++ b/tests/goldenFiles/DropBothOfAllExes.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOfExe.cabal b/tests/goldenFiles/DropBothOfExe.cabal
--- a/tests/goldenFiles/DropBothOfExe.cabal
+++ b/tests/goldenFiles/DropBothOfExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOfLib.cabal b/tests/goldenFiles/DropBothOfLib.cabal
--- a/tests/goldenFiles/DropBothOfLib.cabal
+++ b/tests/goldenFiles/DropBothOfLib.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOfOtherExe.cabal b/tests/goldenFiles/DropBothOfOtherExe.cabal
--- a/tests/goldenFiles/DropBothOfOtherExe.cabal
+++ b/tests/goldenFiles/DropBothOfOtherExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOfTest.cabal b/tests/goldenFiles/DropBothOfTest.cabal
--- a/tests/goldenFiles/DropBothOfTest.cabal
+++ b/tests/goldenFiles/DropBothOfTest.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A -any,
         B -any,
-        C -any
+        C -any,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropBothOnlyBase.cabal b/tests/goldenFiles/DropBothOnlyBase.cabal
--- a/tests/goldenFiles/DropBothOnlyBase.cabal
+++ b/tests/goldenFiles/DropBothOnlyBase.cabal
@@ -16,7 +16,8 @@
         base -any,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base -any,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base -any,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base -any,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base -any,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperIgnoreA.cabal b/tests/goldenFiles/DropUpperIgnoreA.cabal
--- a/tests/goldenFiles/DropUpperIgnoreA.cabal
+++ b/tests/goldenFiles/DropUpperIgnoreA.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOfAll.cabal b/tests/goldenFiles/DropUpperOfAll.cabal
--- a/tests/goldenFiles/DropUpperOfAll.cabal
+++ b/tests/goldenFiles/DropUpperOfAll.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOfAllExes.cabal b/tests/goldenFiles/DropUpperOfAllExes.cabal
--- a/tests/goldenFiles/DropUpperOfAllExes.cabal
+++ b/tests/goldenFiles/DropUpperOfAllExes.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOfExe.cabal b/tests/goldenFiles/DropUpperOfExe.cabal
--- a/tests/goldenFiles/DropUpperOfExe.cabal
+++ b/tests/goldenFiles/DropUpperOfExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOfLib.cabal b/tests/goldenFiles/DropUpperOfLib.cabal
--- a/tests/goldenFiles/DropUpperOfLib.cabal
+++ b/tests/goldenFiles/DropUpperOfLib.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOfOtherExe.cabal b/tests/goldenFiles/DropUpperOfOtherExe.cabal
--- a/tests/goldenFiles/DropUpperOfOtherExe.cabal
+++ b/tests/goldenFiles/DropUpperOfOtherExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOfTest.cabal b/tests/goldenFiles/DropUpperOfTest.cabal
--- a/tests/goldenFiles/DropUpperOfTest.cabal
+++ b/tests/goldenFiles/DropUpperOfTest.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1,
         B >=0.2,
-        C >=0.1
+        C >=0.3,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/DropUpperOnlyBase.cabal b/tests/goldenFiles/DropUpperOnlyBase.cabal
--- a/tests/goldenFiles/DropUpperOnlyBase.cabal
+++ b/tests/goldenFiles/DropUpperOnlyBase.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/Dump.hs b/tests/goldenFiles/Dump.hs
--- a/tests/goldenFiles/Dump.hs
+++ b/tests/goldenFiles/Dump.hs
@@ -1,4 +1,5 @@
 [ ("A",[0,1])
 , ("B",[0,2])
-, ("C",[0,1])
+, ("C",[0,3])
+, ("D",[0,7])
 ]
diff --git a/tests/goldenFiles/Libs.hs b/tests/goldenFiles/Libs.hs
new file mode 100644
--- /dev/null
+++ b/tests/goldenFiles/Libs.hs
@@ -0,0 +1,8 @@
+[ ("A",[0,3])
+, ("B",[0,3,0,1])
+, ("C",[0,2,5])
+, ("D",[0,8,2])
+, ("ghc-prim",[0,4,0,0])
+, ("integer-gmp",[1,0,0,0])
+, ("rts",[1,0])
+]
diff --git a/tests/goldenFiles/UpdateBothIgnoreA.cabal b/tests/goldenFiles/UpdateBothIgnoreA.cabal
--- a/tests/goldenFiles/UpdateBothIgnoreA.cabal
+++ b/tests/goldenFiles/UpdateBothIgnoreA.cabal
@@ -15,8 +15,9 @@
     build-depends:
         base >=3,
         A >=0.1 && <0.2,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.7 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -26,8 +27,9 @@
     build-depends:
         base >=3,
         A >=0.1 && <0.2,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -43,8 +45,9 @@
     build-depends:
         base >=3,
         A >=0.1 && <0.2,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -61,8 +64,9 @@
     build-depends:
         base >=3,
         A >=0.1 && <0.2,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -77,8 +81,9 @@
     build-depends:
         base >=3,
         A >=0.1 && <0.2,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateBothOfAll.cabal b/tests/goldenFiles/UpdateBothOfAll.cabal
--- a/tests/goldenFiles/UpdateBothOfAll.cabal
+++ b/tests/goldenFiles/UpdateBothOfAll.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.7 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -76,9 +80,10 @@
     main-is: TestMain2.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateBothOfAllExes.cabal b/tests/goldenFiles/UpdateBothOfAllExes.cabal
--- a/tests/goldenFiles/UpdateBothOfAllExes.cabal
+++ b/tests/goldenFiles/UpdateBothOfAllExes.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateBothOfExe.cabal b/tests/goldenFiles/UpdateBothOfExe.cabal
--- a/tests/goldenFiles/UpdateBothOfExe.cabal
+++ b/tests/goldenFiles/UpdateBothOfExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateBothOfLibrary.cabal b/tests/goldenFiles/UpdateBothOfLibrary.cabal
--- a/tests/goldenFiles/UpdateBothOfLibrary.cabal
+++ b/tests/goldenFiles/UpdateBothOfLibrary.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.7 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateBothOfOtherExe.cabal b/tests/goldenFiles/UpdateBothOfOtherExe.cabal
--- a/tests/goldenFiles/UpdateBothOfOtherExe.cabal
+++ b/tests/goldenFiles/UpdateBothOfOtherExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateBothOfTest.cabal b/tests/goldenFiles/UpdateBothOfTest.cabal
--- a/tests/goldenFiles/UpdateBothOfTest.cabal
+++ b/tests/goldenFiles/UpdateBothOfTest.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A ==0.3.*,
-        B >=0.3.0.1 && <0.4,
-        C >=0.2.5 && <0.3
+        A >=0.1 && <0.4,
+        B >=0.2 && <0.4,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateLowerOfAll.cabal b/tests/goldenFiles/UpdateLowerOfAll.cabal
--- a/tests/goldenFiles/UpdateLowerOfAll.cabal
+++ b/tests/goldenFiles/UpdateLowerOfAll.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -76,9 +80,10 @@
     main-is: TestMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateLowerOfAllExes.cabal b/tests/goldenFiles/UpdateLowerOfAllExes.cabal
--- a/tests/goldenFiles/UpdateLowerOfAllExes.cabal
+++ b/tests/goldenFiles/UpdateLowerOfAllExes.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateLowerOfExe.cabal b/tests/goldenFiles/UpdateLowerOfExe.cabal
--- a/tests/goldenFiles/UpdateLowerOfExe.cabal
+++ b/tests/goldenFiles/UpdateLowerOfExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateLowerOfLibrary.cabal b/tests/goldenFiles/UpdateLowerOfLibrary.cabal
--- a/tests/goldenFiles/UpdateLowerOfLibrary.cabal
+++ b/tests/goldenFiles/UpdateLowerOfLibrary.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateLowerOfOtherExe.cabal b/tests/goldenFiles/UpdateLowerOfOtherExe.cabal
--- a/tests/goldenFiles/UpdateLowerOfOtherExe.cabal
+++ b/tests/goldenFiles/UpdateLowerOfOtherExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateLowerOfTest.cabal b/tests/goldenFiles/UpdateLowerOfTest.cabal
--- a/tests/goldenFiles/UpdateLowerOfTest.cabal
+++ b/tests/goldenFiles/UpdateLowerOfTest.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMajor1Lower.cabal b/tests/goldenFiles/UpdateMajor1Lower.cabal
--- a/tests/goldenFiles/UpdateMajor1Lower.cabal
+++ b/tests/goldenFiles/UpdateMajor1Lower.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A <0.2,
         B <0.3,
-        C <0.4
+        C <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A <0.2,
         B <0.3,
-        C <0.4
+        C <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A <0.2,
         B <0.3,
-        C <0.4
+        C <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A <0.2,
         B <0.3,
-        C <0.4
+        C <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A <0.2,
         B <0.3,
-        C <0.4
+        C <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMajor1LowerAndUpper.cabal b/tests/goldenFiles/UpdateMajor1LowerAndUpper.cabal
--- a/tests/goldenFiles/UpdateMajor1LowerAndUpper.cabal
+++ b/tests/goldenFiles/UpdateMajor1LowerAndUpper.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A ==0.*,
         B ==0.*,
-        C ==0.*
+        C ==0.*,
+        D ==0.*
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A ==0.*,
         B ==0.*,
-        C ==0.*
+        C ==0.*,
+        D ==0.*
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A ==0.*,
         B ==0.*,
-        C ==0.*
+        C ==0.*,
+        D ==0.*
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A ==0.*,
         B ==0.*,
-        C ==0.*
+        C ==0.*,
+        D ==0.*
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A ==0.*,
         B ==0.*,
-        C ==0.*
+        C ==0.*,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMajor1Upper.cabal b/tests/goldenFiles/UpdateMajor1Upper.cabal
--- a/tests/goldenFiles/UpdateMajor1Upper.cabal
+++ b/tests/goldenFiles/UpdateMajor1Upper.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <1,
         B >=0.2 && <1,
-        C >=0.1 && <1
+        C >=0.3 && <1,
+        D >=0.7 && <1
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <1,
         B >=0.2 && <1,
-        C >=0.1 && <1
+        C >=0.3 && <1,
+        D ==0.*
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <1,
         B >=0.2 && <1,
-        C >=0.1 && <1
+        C >=0.3 && <1,
+        D ==0.*
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <1,
         B >=0.2 && <1,
-        C >=0.1 && <1
+        C >=0.3 && <1,
+        D ==0.*
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <1,
         B >=0.2 && <1,
-        C >=0.1 && <1
+        C >=0.3 && <1,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMajor2Lower.cabal b/tests/goldenFiles/UpdateMajor2Lower.cabal
--- a/tests/goldenFiles/UpdateMajor2Lower.cabal
+++ b/tests/goldenFiles/UpdateMajor2Lower.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3,
-        C >=0.2 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3,
-        C >=0.2 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2 && <0.4,
+        D ==0.8.*
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3,
-        C >=0.2 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2 && <0.4,
+        D >=0.8
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3,
-        C >=0.2 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2 && <0.4,
+        D >=0.8
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -76,9 +80,10 @@
     main-is: TestMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3,
-        C >=0.2 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2 && <0.4,
+        D >=0.8 && <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMajor2Upper.cabal b/tests/goldenFiles/UpdateMajor2Upper.cabal
--- a/tests/goldenFiles/UpdateMajor2Upper.cabal
+++ b/tests/goldenFiles/UpdateMajor2Upper.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D >=0.7 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMinorLower.cabal b/tests/goldenFiles/UpdateMinorLower.cabal
--- a/tests/goldenFiles/UpdateMinorLower.cabal
+++ b/tests/goldenFiles/UpdateMinorLower.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -76,9 +80,10 @@
     main-is: TestMain2.hs
     build-depends:
         base >=3,
-        A >=0.3,
-        B >=0.3.0.1,
-        C >=0.2.5 && <0.4
+        A ==0.1.*,
+        B ==0.2.*,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMinorLowerAndUpper.cabal b/tests/goldenFiles/UpdateMinorLowerAndUpper.cabal
--- a/tests/goldenFiles/UpdateMinorLowerAndUpper.cabal
+++ b/tests/goldenFiles/UpdateMinorLowerAndUpper.cabal
@@ -14,9 +14,10 @@
         CabalBounds.Lenses
     build-depends:
         base >=3,
-        A >=0.3 && <0.3.1,
-        B ==0.3.0.1.*,
-        C ==0.2.5.*
+        A >=0.1 && <0.3.1,
+        B >=0.2 && <0.3.0.2,
+        C >=0.2.5 && <0.4,
+        D >=0.7 && <0.8.3
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -25,9 +26,10 @@
     main-is: ExeMain1.hs
     build-depends:
         base >=3,
-        A >=0.3 && <0.3.1,
-        B ==0.3.0.1.*,
-        C ==0.2.5.*
+        A >=0.1 && <0.3.1,
+        B >=0.2 && <0.3.0.2,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -42,9 +44,10 @@
     main-is: ExeMain2.hs
     build-depends:
         base >=3,
-        A >=0.3 && <0.3.1,
-        B ==0.3.0.1.*,
-        C ==0.2.5.*
+        A >=0.1 && <0.3.1,
+        B >=0.2 && <0.3.0.2,
+        C >=0.2.5 && <0.4,
+        D ==0.8.2.*
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -60,9 +63,10 @@
     main-is: TestMain1.hs
     build-depends:
         base >=3,
-        A >=0.3 && <0.3.1,
-        B ==0.3.0.1.*,
-        C ==0.2.5.*
+        A >=0.1 && <0.3.1,
+        B >=0.2 && <0.3.0.2,
+        C >=0.2.5 && <0.4,
+        D ==0.8.2.*
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -76,9 +80,10 @@
     main-is: TestMain2.hs
     build-depends:
         base >=3,
-        A >=0.3 && <0.3.1,
-        B ==0.3.0.1.*,
-        C ==0.2.5.*
+        A >=0.1 && <0.3.1,
+        B >=0.2 && <0.3.0.2,
+        C >=0.2.5 && <0.4,
+        D >=0.8.2 && <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateMinorUpper.cabal b/tests/goldenFiles/UpdateMinorUpper.cabal
--- a/tests/goldenFiles/UpdateMinorUpper.cabal
+++ b/tests/goldenFiles/UpdateMinorUpper.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.3.1,
         B >=0.2 && <0.3.0.2,
-        C >=0.1 && <0.2.6
+        C ==0.3.*,
+        D >=0.7 && <0.8.3
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.3.1,
         B >=0.2 && <0.3.0.2,
-        C >=0.1 && <0.2.6
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.3.1,
         B >=0.2 && <0.3.0.2,
-        C >=0.1 && <0.2.6
+        C ==0.3.*,
+        D <0.8.3
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.3.1,
         B >=0.2 && <0.3.0.2,
-        C >=0.1 && <0.2.6
+        C ==0.3.*,
+        D <0.8.3
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.3.1,
         B >=0.2 && <0.3.0.2,
-        C >=0.1 && <0.2.6
+        C ==0.3.*,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperFromFile.cabal b/tests/goldenFiles/UpdateUpperFromFile.cabal
--- a/tests/goldenFiles/UpdateUpperFromFile.cabal
+++ b/tests/goldenFiles/UpdateUpperFromFile.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <2.3,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.6
+        C >=0.3 && <0.6,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <2.3,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.6
+        C >=0.3 && <0.6,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <2.3,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.6
+        C >=0.3 && <0.6,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <2.3,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.6
+        C >=0.3 && <0.6,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <2.3,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.6
+        C >=0.3 && <0.6,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperOfAll.cabal b/tests/goldenFiles/UpdateUpperOfAll.cabal
--- a/tests/goldenFiles/UpdateUpperOfAll.cabal
+++ b/tests/goldenFiles/UpdateUpperOfAll.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D >=0.7 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperOfAllExes.cabal b/tests/goldenFiles/UpdateUpperOfAllExes.cabal
--- a/tests/goldenFiles/UpdateUpperOfAllExes.cabal
+++ b/tests/goldenFiles/UpdateUpperOfAllExes.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperOfExe.cabal b/tests/goldenFiles/UpdateUpperOfExe.cabal
--- a/tests/goldenFiles/UpdateUpperOfExe.cabal
+++ b/tests/goldenFiles/UpdateUpperOfExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperOfLibrary.cabal b/tests/goldenFiles/UpdateUpperOfLibrary.cabal
--- a/tests/goldenFiles/UpdateUpperOfLibrary.cabal
+++ b/tests/goldenFiles/UpdateUpperOfLibrary.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D >=0.7 && <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperOfOtherExe.cabal b/tests/goldenFiles/UpdateUpperOfOtherExe.cabal
--- a/tests/goldenFiles/UpdateUpperOfOtherExe.cabal
+++ b/tests/goldenFiles/UpdateUpperOfOtherExe.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/goldenFiles/UpdateUpperOfTest.cabal b/tests/goldenFiles/UpdateUpperOfTest.cabal
--- a/tests/goldenFiles/UpdateUpperOfTest.cabal
+++ b/tests/goldenFiles/UpdateUpperOfTest.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.4,
         B >=0.2 && <0.4,
-        C >=0.1 && <0.3
+        C ==0.3.*,
+        D <0.9
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/inputFiles/original.cabal b/tests/inputFiles/original.cabal
--- a/tests/inputFiles/original.cabal
+++ b/tests/inputFiles/original.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D >=0.7
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <0.9
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D -any
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A >=0.1 && <0.2,
         B >=0.2 && <0.3,
-        C >=0.1 && <0.4
+        C >=0.3 && <0.4,
+        D <1.0
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
diff --git a/tests/inputFiles/setup-config-build-env/setup-config.cabal b/tests/inputFiles/setup-config-build-env/setup-config.cabal
--- a/tests/inputFiles/setup-config-build-env/setup-config.cabal
+++ b/tests/inputFiles/setup-config-build-env/setup-config.cabal
@@ -16,7 +16,8 @@
         base >=3,
         A ==0.3,
         B ==0.3.0.1,
-        C ==0.2.5
+        C ==0.2.5,
+        D ==0.8.2
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -27,7 +28,8 @@
         base >=3,
         A ==0.3,
         B ==0.3.0.1,
-        C ==0.2.5
+        C ==0.2.5,
+        D ==0.8.2
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -44,7 +46,8 @@
         base >=3,
         A ==0.3,
         B ==0.3.0.1,
-        C ==0.2.5
+        C ==0.2.5,
+        D ==0.8.2
     cpp-options: -DCABAL
     hs-source-dirs: src
     other-modules:
@@ -62,7 +65,8 @@
         base >=3,
         A ==0.3,
         B ==0.3.0.1,
-        C ==0.2.5
+        C ==0.2.5,
+        D ==0.8.2
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
@@ -78,7 +82,8 @@
         base >=3,
         A ==0.3,
         B ==0.3.0.1,
-        C ==0.2.5
+        C ==0.2.5,
+        D ==0.8.2
     hs-source-dirs: src
     other-modules:
         Paths_setup_config
