diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,6 +4,12 @@
 
 * Expose document mode in HTML document
 
+## 2.1.2
+
+* Upgrade containers, data-default, and extra for GHC 9.10
+* Fix redundant greater check in 12.2.5.52 Comment end bang state
+* Do not use def to initialize empty DList
+
 ## 2.1.1
 
 * Support updated bytestring and text versions for resolver >= 23.1
diff --git a/src/Zenacy/HTML/Internal/Lexer.hs b/src/Zenacy/HTML/Internal/Lexer.hs
--- a/src/Zenacy/HTML/Internal/Lexer.hs
+++ b/src/Zenacy/HTML/Internal/Lexer.hs
@@ -1642,10 +1642,7 @@
 doCommentEndBang :: Lexer s -> ST s ()
 doCommentEndBang x@Lexer {..} = do
   c <- nextWord x
-  if | c == chrGreater -> do
-         state x StateData
-         emit x
-     | c == chrHyphen -> do
+  if | c == chrHyphen -> do
          tokenCommentAppend chrHyphen lexerToken
          tokenCommentAppend chrHyphen lexerToken
          tokenCommentAppend chrExclamation lexerToken
diff --git a/src/Zenacy/HTML/Internal/Parser.hs b/src/Zenacy/HTML/Internal/Parser.hs
--- a/src/Zenacy/HTML/Internal/Parser.hs
+++ b/src/Zenacy/HTML/Internal/Parser.hs
@@ -283,7 +283,7 @@
   table    <- newSTRef []
   aa       <- defaultAA
   aaRef    <- newSTRef aa
-  warn     <- newSTRef def
+  warn     <- newSTRef D.empty
   iframe   <- newSTRef False
   textMap  <- newSTRef def
   pure $ Parser
diff --git a/zenacy-html.cabal b/zenacy-html.cabal
--- a/zenacy-html.cabal
+++ b/zenacy-html.cabal
@@ -1,5 +1,5 @@
 cabal-version: >= 1.10
-version: 2.1.1
+version: 2.1.2
 name:
   zenacy-html
 synopsis:
@@ -61,10 +61,10 @@
   build-depends:
     base              == 4.*,
     bytestring        >= 0.10.6.0 && < 0.13,
-    containers        >= 0.5.7.1 && < 0.7,
-    data-default      >= 0.7.1.1 && < 0.8,
+    containers        >= 0.5.7.1 && < 0.8,
+    data-default      >= 0.7.1.1 && < 0.9,
     dlist             >= 0.8 && < 1.1,
-    extra             >= 1.4 && < 1.8,
+    extra             >= 1.4 && < 1.9,
     mtl               >= 2.1 && < 2.4,
     pretty-show       >= 1.6 && < 1.11,
     safe              >= 0.3.14 && < 0.4,
