diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+2.8.8
+---
+
+- Support GHC 9.8 (see [#249](https://github.com/GetShopTV/swagger2/pull/249));
+
 2.8.7
 ---
 
diff --git a/src/Data/Swagger/Internal/Schema.hs b/src/Data/Swagger/Internal/Schema.hs
--- a/src/Data/Swagger/Internal/Schema.hs
+++ b/src/Data/Swagger/Internal/Schema.hs
@@ -40,6 +40,7 @@
 import Data.Int
 import Data.IntSet (IntSet)
 import Data.IntMap (IntMap)
+import qualified Data.List as L
 import Data.List.NonEmpty.Compat (NonEmpty)
 import Data.Map (Map)
 import Data.Proxy
@@ -686,6 +687,7 @@
 
 gdatatypeSchemaName :: forall d. Datatype d => SchemaOptions -> Proxy d -> Maybe T.Text
 gdatatypeSchemaName opts _ = case orig of
+  dtn   | L.isPrefixOf "Tuple" dtn -> Nothing -- special case for new TupleNNN types in GHC 9.8
   (c:_) | isAlpha c && isUpper c -> Just (T.pack name)
   _ -> Nothing
   where
diff --git a/swagger2.cabal b/swagger2.cabal
--- a/swagger2.cabal
+++ b/swagger2.cabal
@@ -1,6 +1,6 @@
 cabal-version:       >=1.10
 name:                swagger2
-version:             2.8.7
+version:             2.8.8
 
 synopsis:            Swagger 2.0 data model
 category:            Web, Swagger
@@ -23,17 +23,17 @@
   , CHANGELOG.md
   , examples/*.hs
 tested-with:
-  GHC ==8.4.4
-   || ==8.6.5
+  GHC ==8.6.5
    || ==8.8.4
-   || ==8.10.4
    || ==8.10.7
    || ==9.0.2
-   || ==9.2.3
+   || ==9.2.8
+   || ==9.6.4
+   || ==9.8.1
 
 custom-setup
   setup-depends:
-                base < 4.19
+                base < 4.20
               , Cabal < 3.11
               , cabal-doctest >=1.0.6 && <1.1
 
@@ -62,21 +62,21 @@
 
   -- GHC boot libraries
   build-depends:
-      base             >=4.9       && <4.19
-    , bytestring       >=0.10.8.1  && <0.12
+      base             >=4.9       && <4.20
+    , bytestring       >=0.10.8.1  && <0.13
     , containers       >=0.5.7.1   && <0.7
-    , template-haskell >=2.11.1.0  && <2.21
+    , template-haskell >=2.11.1.0  && <2.22
     , time             >=1.6.0.1   && <1.14
     , transformers     >=0.5.2.0   && <0.7
 
   build-depends:
       mtl              >=2.2.2   && <2.4
-    , text             >=1.2.3.0 && <2.1
+    , text             >=1.2.3.0 && <2.2
 
   -- other dependencies
   build-depends:
       base-compat-batteries     >=0.11.1   && <0.14
-    , aeson                     >=2.0.0.0  && <2.2
+    , aeson                     >=2.0.0.0  && <2.3
     , aeson-pretty              >=0.8.7    && <0.9
     -- cookie 0.4.3 is needed by GHC 7.8 due to time>=1.4 constraint
     , cookie                    >=0.4.3    && <0.5
@@ -123,7 +123,7 @@
 
   -- test-suite only dependencies
   build-depends:
-      hspec                >=2.5.5   && <2.11
+      hspec                >=2.5.5   && <2.12
     , HUnit                >=1.6.0.0 && <1.7
     , quickcheck-instances >=0.3.19  && <0.14
     , utf8-string          >=1.0.1.1 && <1.1
