diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,20 @@
 # Changelog for ghc-lib-parser-ex
 
+## 8.10.0.18 released 2021-02-06
+- Update to ghc-8.10.4.
+
+## 9.0.0.1 released 2021-02-05
+- Upgrade Cabal defaults flag to 9.0.1
+
+## 9.0.0.0 released 2021-02-05
+- Update to ghc-9.0.1
+
+## 0.20210201 released 2021-02-01
+- Update to `ghc-lib-0.20210201`
+
+## 0.20210101 released 2021-01-01
+- Update to `ghc-lib-0.20210101`
+
 ## 8.10.0.17 released 2020-12-20
 - Update to ghc-8.10.3.
 
diff --git a/ghc-lib-parser-ex.cabal b/ghc-lib-parser-ex.cabal
--- a/ghc-lib-parser-ex.cabal
+++ b/ghc-lib-parser-ex.cabal
@@ -1,6 +1,6 @@
 cabal-version: >= 1.18
 name:           ghc-lib-parser-ex
-version:        8.10.0.17
+version:        8.10.0.18
 description:    Please see the README on GitHub at <https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme>
 homepage:       https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme
 bug-reports:    https://github.com/shayne-fletcher/ghc-lib-parser-ex/issues
@@ -63,15 +63,15 @@
       uniplate >= 1.5,
       bytestring >= 0.10.8.2,
       containers >= 0.5.8.1
-  if flag(auto) && impl(ghc >= 8.10.0) && impl(ghc < 8.11.0)
+  if flag(auto) && impl(ghc >= 9.0.0) && impl(ghc < 9.0.1)
     build-depends:
-      ghc == 8.10.*,
+      ghc == 9.0.*,
       ghc-boot-th,
       ghc-boot
   else
     if flag(auto)
       build-depends:
-        ghc-lib-parser == 8.10.*
+        ghc-lib-parser == 9.0.*
     else
       if flag(no-ghc-lib)
         build-depends:
diff --git a/src/Language/Haskell/GhclibParserEx/GHC/Hs/Pat.hs b/src/Language/Haskell/GhclibParserEx/GHC/Hs/Pat.hs
--- a/src/Language/Haskell/GhclibParserEx/GHC/Hs/Pat.hs
+++ b/src/Language/Haskell/GhclibParserEx/GHC/Hs/Pat.hs
@@ -31,7 +31,12 @@
 #endif
 
 patToStr :: LPat GhcPs -> String
-#if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900)
+#if defined (GHCLIB_API_HEAD)
+patToStr (L _ (ConPat _ (L _ x) (PrefixCon [] []))) | occNameString (rdrNameOcc x) == "True" = "True"
+patToStr (L _ (ConPat _ (L _ x) (PrefixCon [] []))) | occNameString (rdrNameOcc x) == "False" = "False"
+patToStr (L _ (ConPat _ (L _ x) (PrefixCon [] []))) | occNameString (rdrNameOcc x) == "[]" = "[]"
+patToStr _ = ""
+#elif defined (GHCLIB_API_900)
 patToStr (L _ (ConPat _ (L _ x) (PrefixCon []))) | occNameString (rdrNameOcc x) == "True" = "True"
 patToStr (L _ (ConPat _ (L _ x) (PrefixCon []))) | occNameString (rdrNameOcc x) == "False" = "False"
 patToStr (L _ (ConPat _ (L _ x) (PrefixCon []))) | occNameString (rdrNameOcc x) == "[]" = "[]"
@@ -54,7 +59,9 @@
 #if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900) || defined (GHCLIB_API_810)
   noLoc $
 #endif
-#if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900)
+#if defined (GHCLIB_API_HEAD)
+    ConPat noExtField (noLoc true_RDR) (PrefixCon [] [])
+#elif defined (GHCLIB_API_900)
     ConPat noExtField (noLoc true_RDR) (PrefixCon [])
 #else
     ConPatIn (noLoc true_RDR) (PrefixCon [])
@@ -63,7 +70,9 @@
 #if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900) || defined (GHCLIB_API_810)
   noLoc $
 #endif
-#if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900)
+#if defined (GHCLIB_API_HEAD)
+    ConPat noExtField (noLoc false_RDR) (PrefixCon [] [])
+#elif defined (GHCLIB_API_900)
     ConPat noExtField (noLoc false_RDR) (PrefixCon [])
 #else
     ConPatIn (noLoc false_RDR) (PrefixCon [])
@@ -72,7 +81,9 @@
 #if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900) || defined (GHCLIB_API_810)
   noLoc $
 #endif
-#if defined (GHCLIB_API_HEAD) || defined (GHCLIB_API_900)
+#if defined (GHCLIB_API_HEAD)
+    ConPat noExtField (noLoc $ nameRdrName nilDataConName) (PrefixCon [] [])
+#elif defined (GHCLIB_API_900)
     ConPat noExtField (noLoc $ nameRdrName nilDataConName) (PrefixCon [])
 #else
     ConPatIn (noLoc $ nameRdrName nilDataConName) (PrefixCon [])
