diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+0.11.0
+------
+* Support Cabal 3.6.3
+* Tested with ghc 9.2.7
+
 0.10.0, 0.10.1
 --------------
 * Support Cabal 3.0
diff --git a/cabal-lenses.cabal b/cabal-lenses.cabal
--- a/cabal-lenses.cabal
+++ b/cabal-lenses.cabal
@@ -1,25 +1,27 @@
-cabal-version: >=1.10.0
-name: cabal-lenses
-version: 0.10.1
-license: BSD3
-license-file: LICENSE
-maintainer: daniel.trstenjak@gmail.com
-author: Daniel Trstenjak
-tested-with: ghc ==7.6.2 ghc ==7.6.3 ghc ==7.8.3 ghc ==7.10.1
-             ghc ==8.0.1 ghc ==8.2.1 ghc ==8.4.2 ghc ==8.6.3 ghc ==8.8.3
-             ghc ==8.10.1
-synopsis: Lenses and traversals for the Cabal library.
+cabal-version:      >=1.10.0
+name:               cabal-lenses
+version:            0.11.0
+license:            BSD3
+license-file:       LICENSE
+maintainer:         daniel.trstenjak@gmail.com
+author:             Daniel Trstenjak
+tested-with:
+    ghc ==7.6.2 ghc ==7.6.3 ghc ==7.8.3 ghc ==7.10.1 ghc ==8.0.1
+    ghc ==8.2.1 ghc ==8.4.2 ghc ==8.6.3 ghc ==8.8.3 ghc ==8.10.1 ghc ==9.2.7
+
+synopsis:           Lenses and traversals for the Cabal library.
 description:
     Lenses and traversals (compatible with the <https://hackage.haskell.org/package/lens lens> library) for
     the <https://hackage.haskell.org/package/Cabal Cabal> library.
-category: Utils, Development
-build-type: Simple
+
+category:           Utils, Development
+build-type:         Simple
 extra-source-files:
     README.md
     CHANGELOG
 
 source-repository head
-    type: git
+    type:     git
     location: https://github.com/dan-t/cabal-lenses
 
 library
@@ -33,20 +35,22 @@
         CabalLenses.Traversals.BuildInfo
         CabalLenses.Traversals.Dependency
         CabalLenses.Utils
-    cpp-options: -DCABAL
-    hs-source-dirs: lib
+
+    cpp-options:      -DCABAL
+    hs-source-dirs:   lib
     other-modules:
         CabalLenses.Traversals.Internal
         Paths_cabal_lenses
+
     default-language: Haskell2010
-    ghc-options: -W
+    ghc-options:      -W
     build-depends:
         base >=4.8 && <5,
-        lens >=4.0.1 && <4.20,
+        lens >=4.0.1 && <5.3,
         unordered-containers >=0.2.3.3 && <0.3,
-        Cabal >=3.0.0.0 && <4.0,
+        Cabal >=3.6.3.0 && <4.0,
         system-filepath >=0.4.9 && <0.5,
         system-fileio >=0.3.12 && <0.4,
-        strict >=0.3.2 && <0.4,
+        strict >=0.3.2 && <0.6,
         text >=1.1.0.1 && <1.3,
         transformers >=0.4.1.0 && <0.6
diff --git a/lib/CabalLenses/CondVars.hs b/lib/CabalLenses/CondVars.hs
--- a/lib/CabalLenses/CondVars.hs
+++ b/lib/CabalLenses/CondVars.hs
@@ -10,6 +10,7 @@
 
 import qualified Distribution.PackageDescription as PD
 import Distribution.PackageDescription (Condition(..))
+import Distribution.Types.Flag (PackageFlag(..))
 import qualified Distribution.System as S
 import Distribution.System (OS(..), Arch(..))
 import Distribution.Compiler (CompilerFlavor(..), buildCompilerFlavor)
@@ -49,7 +50,7 @@
    where
       flags = HM.fromList $ map nameWithDflt (PD.genPackageFlags pkgDescrp)
 
-      nameWithDflt PD.MkFlag { PD.flagName = name, PD.flagDefault = dflt } =
+      nameWithDflt MkPackageFlag { PD.flagName = name, PD.flagDefault = dflt } =
          (PD.unFlagName name, dflt)
 
 
@@ -84,7 +85,7 @@
          | otherwise
          = cflavor == compilerFlavor condVars
 
-      hasVar (PD.Flag name)
+      hasVar (PD.PackageFlag name)
          | Just v <- HM.lookup (PD.unFlagName name) (flags condVars)
          = v
 
diff --git a/lib/CabalLenses/Traversals/BuildInfo.hs b/lib/CabalLenses/Traversals/BuildInfo.hs
--- a/lib/CabalLenses/Traversals/BuildInfo.hs
+++ b/lib/CabalLenses/Traversals/BuildInfo.hs
@@ -16,8 +16,9 @@
 
 -- | A traversal for all 'BuildInfo' of all 'Section'
 allBuildInfo :: Traversal' GenericPackageDescription BuildInfo
-allBuildInfo f (GenericPackageDescription descrp flags lib subLibs foreignLibs exes tests benchs) =
+allBuildInfo f (GenericPackageDescription descrp gpdVers flags lib subLibs foreignLibs exes tests benchs) =
    GenericPackageDescription <$> pure descrp
+                             <*> pure gpdVers
                              <*> pure flags
                              <*> (_Just . traverseData . libBuildInfoL) f lib
                              <*> pure subLibs
diff --git a/lib/CabalLenses/Traversals/Dependency.hs b/lib/CabalLenses/Traversals/Dependency.hs
--- a/lib/CabalLenses/Traversals/Dependency.hs
+++ b/lib/CabalLenses/Traversals/Dependency.hs
@@ -19,8 +19,9 @@
 
 -- | A traversal for all 'Dependency' of all 'Section'.
 allDependency :: Traversal' GenericPackageDescription Dependency
-allDependency f (GenericPackageDescription descrp flags lib subLibs foreignLibs exes tests benchs) =
+allDependency f (GenericPackageDescription descrp gpdVers flags lib subLibs foreignLibs exes tests benchs) =
    GenericPackageDescription <$> pure descrp
+                             <*> pure gpdVers
                              <*> pure flags
                              <*> (_Just . traverseDependency) f lib
                              <*> pure subLibs
@@ -32,8 +33,9 @@
 
 -- | A traversal for all 'Dependency' of all 'Section' that match 'CondVars'.
 allDependencyIf :: CondVars -> Traversal' GenericPackageDescription Dependency
-allDependencyIf condVars f (GenericPackageDescription descrp flags lib subLibs foreignLibs exes tests benchs) =
+allDependencyIf condVars f (GenericPackageDescription descrp gpdVers flags lib subLibs foreignLibs exes tests benchs) =
    GenericPackageDescription <$> pure descrp
+                             <*> pure gpdVers
                              <*> pure flags
                              <*> (_Just . traverseDependencyIf condVars) f lib
                              <*> pure subLibs
diff --git a/lib/CabalLenses/Version.hs b/lib/CabalLenses/Version.hs
--- a/lib/CabalLenses/Version.hs
+++ b/lib/CabalLenses/Version.hs
@@ -14,15 +14,18 @@
 versionBranchL = iso versionNumbers mkVersion
 
 
-intervals :: Iso' VersionRange [VersionInterval]
-intervals = iso asVersionIntervals toVersionRange
-   where
-      toVersionRange []        = anyVersion
-      toVersionRange intervals = fromVersionIntervals . mkVersionIntervals $ intervals
+--intervals :: Iso' VersionRange [VersionInterval]
+--intervals = iso asVersionIntervals toVersionRange
+--   where
+--      toVersionRange []        = anyVersion
+--      toVersionRange intervals = fromVersionIntervals . VersionIntervals $ intervals
 
 
 lowerBound :: Lens' VersionInterval LowerBound
-lowerBound = _1
+lowerBound = lens getLowerBound setLowerBound
+   where
+      getLowerBound (VersionInterval lowerBound _)            = lowerBound
+      setLowerBound (VersionInterval _ upperBound) lowerBound = VersionInterval lowerBound upperBound
 
 
 version :: Lens' LowerBound Version
@@ -40,7 +43,10 @@
 
 
 upperBound :: Lens' VersionInterval UpperBound
-upperBound = _2
+upperBound = lens getUpperBound setUpperBound
+   where
+      getUpperBound (VersionInterval _ upperBound)            = upperBound
+      setUpperBound (VersionInterval lowerBound _) upperBound = VersionInterval lowerBound upperBound
 
 
 noLowerBound :: LowerBound
