diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,17 @@
 # Revision history for text-ascii
 
-## 1.0 -- 2021-10-31
+## 1.2.1 -- 2023-01-20
+
+* Dependency bump
+
+## 1.2 -- 2021-11-07
+
+* Add instances of `Factorial`, `FactorialMonoid`, `LeftCancellative`,
+  `LeftGCDMonoid`, `LeftReductive`, `MonoidNull`, `OverlappingGCDMonoid`,
+  `PositiveMonoid`, `RightCancellative`, `RightGCDMonoid`, `RightReductive` and
+  `StableFactorial` for `AsciiText`.
+
+## 1.1 -- 2021-10-31
 
 * Support GHC 9.2.
 * Remove support for GHCs below 8.10.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -52,18 +52,15 @@
 
 We support the latest three releases of GHC. Currently, these are:
 
-* 8.10.4
-* 9.0.1
-* 9.2.1
+* 9.4
+* 9.6
+* 9.8
 
 We check on the following platforms:
 
 * Windows
 * Linux
 * MacOS
-
-Currently, there is no support for GHC 9.2.1 with Windows in our CI. We will fix
-this as soon as possible.
 
 ## What can I do with this?
 
diff --git a/src/Text/Ascii.hs b/src/Text/Ascii.hs
--- a/src/Text/Ascii.hs
+++ b/src/Text/Ascii.hs
@@ -205,8 +205,8 @@
 
 -- $setup
 -- >>> :set -XNoImplicitPrelude
--- >>> :set -XQuasiQuotes
--- >>> :set -XOverloadedStrings
+-- >>> :seti -XQuasiQuotes
+-- >>> :seti -XOverloadedStrings
 -- >>> import Text.Ascii
 -- >>> import Text.Ascii.Char (char, upcase, AsciiCase (Lower), caseOf)
 -- >>> import Prelude ((.), ($), (<>), (==), (<), (/=), (-), max, even)
diff --git a/src/Text/Ascii/Internal.hs b/src/Text/Ascii/Internal.hs
--- a/src/Text/Ascii/Internal.hs
+++ b/src/Text/Ascii/Internal.hs
@@ -27,6 +27,12 @@
 import Data.Coerce (coerce)
 import Data.Hashable (Hashable)
 import qualified Data.List.NonEmpty as NE
+import Data.Monoid.Factorial (FactorialMonoid)
+import Data.Monoid.GCD (LeftGCDMonoid, RightGCDMonoid)
+import Data.Monoid.Monus (OverlappingGCDMonoid)
+import Data.Monoid.Null (MonoidNull, PositiveMonoid)
+import Data.Semigroup.Cancellative (LeftCancellative, LeftReductive, RightCancellative, RightReductive)
+import Data.Semigroup.Factorial (Factorial, StableFactorial)
 import Data.Word (Word8)
 import GHC.Exts (IsList (Item, fromList, fromListN, toList))
 import Numeric (showHex)
@@ -124,7 +130,31 @@
       -- | @since 1.0.0
       Monoid,
       -- | @since 1.0.0
-      Show
+      Show,
+      -- | @since 1.2
+      Factorial,
+      -- | @since 1.2
+      FactorialMonoid,
+      -- | @since 1.2
+      LeftCancellative,
+      -- | @since 1.2
+      LeftGCDMonoid,
+      -- | @since 1.2
+      LeftReductive,
+      -- | @since 1.2
+      MonoidNull,
+      -- | @since 1.2
+      OverlappingGCDMonoid,
+      -- | @since 1.2
+      PositiveMonoid,
+      -- | @since 1.2
+      RightCancellative,
+      -- | @since 1.2
+      RightGCDMonoid,
+      -- | @since 1.2
+      RightReductive,
+      -- | @since 1.2
+      StableFactorial
     )
     via ByteString
 
diff --git a/src/Text/Ascii/Unsafe.hs b/src/Text/Ascii/Unsafe.hs
--- a/src/Text/Ascii/Unsafe.hs
+++ b/src/Text/Ascii/Unsafe.hs
@@ -47,6 +47,12 @@
 import Data.Coerce (coerce)
 import Data.Hashable (Hashable)
 import Data.Kind (Type)
+import Data.Monoid.Factorial (FactorialMonoid)
+import Data.Monoid.GCD (LeftGCDMonoid, RightGCDMonoid)
+import Data.Monoid.Monus (OverlappingGCDMonoid)
+import Data.Monoid.Null (MonoidNull, PositiveMonoid)
+import Data.Semigroup.Cancellative (LeftCancellative, LeftReductive, RightCancellative, RightReductive)
+import Data.Semigroup.Factorial (Factorial, StableFactorial)
 import Data.Word (Word8)
 import GHC.Exts (IsList)
 import GHC.Read (expectP, lexP, parens, readPrec)
@@ -104,7 +110,31 @@
       -- | @since 1.0.1
       TraversableStream,
       -- | @since 1.0.1
-      Show
+      Show,
+      -- | @since 1.2
+      Factorial,
+      -- | @since 1.2
+      FactorialMonoid,
+      -- | @since 1.2
+      LeftCancellative,
+      -- | @since 1.2
+      LeftGCDMonoid,
+      -- | @since 1.2
+      LeftReductive,
+      -- | @since 1.2
+      MonoidNull,
+      -- | @since 1.2
+      OverlappingGCDMonoid,
+      -- | @since 1.2
+      PositiveMonoid,
+      -- | @since 1.2
+      RightCancellative,
+      -- | @since 1.2
+      RightGCDMonoid,
+      -- | @since 1.2
+      RightReductive,
+      -- | @since 1.2
+      StableFactorial
     )
     via a
   deriving stock
@@ -187,7 +217,7 @@
 -- >>> :set -XNoImplicitPrelude
 -- >>> :set -XQuasiQuotes
 -- >>> import Text.Ascii.Unsafe
--- >>> import Text.Ascii (ascii)
+-- >>> import Text.Ascii.QQ
 -- >>> import Prelude ((.), ($))
 
 -- | Yield the first character of the text.
diff --git a/text-ascii.cabal b/text-ascii.cabal
--- a/text-ascii.cabal
+++ b/text-ascii.cabal
@@ -1,10 +1,10 @@
 cabal-version:      3.0
 name:               text-ascii
-version:            1.1
+version:            1.2.1
 synopsis:           ASCII string and character processing.
 description:
   A total-by-default, tested and documented library for
-  working with ASCII text. Low on dependencies , high on usability.
+  working with ASCII text. Low on dependencies, high on usability.
 
 homepage:           https://github.com/haskell-text/text-ascii
 license:            Apache-2.0
@@ -12,9 +12,9 @@
 author:             Koz Ross
 maintainer:         koz.ross@retro-freedom.nz
 bug-reports:        https://github.com/haskell-text/text-ascii/issues
-copyright:          (C) Koz Ross 2021
+copyright:          (C) Koz Ross 2021-3
 category:           Text
-tested-with:        GHC ==8.10.5 || ==9.0.1 || ==9.2.1
+tested-with:        GHC ==9.4.8 || ==9.6.4 || ==9.8.1
 build-type:         Simple
 extra-source-files:
   CHANGELOG.md
@@ -29,20 +29,22 @@
     Text.Ascii.Unsafe
 
   build-depends:
-    , base              >=4.14     && <5
-    , bytestring        ^>=0.11.0.0
-    , case-insensitive  ^>=1.2.1.0
-    , deepseq           ^>=1.4.0.0
-    , hashable          ^>=1.3.0.0
-    , megaparsec        ^>=9.0.1
-    , optics-core       ^>=0.4
-    , optics-extra      ^>=0.4
-    , template-haskell  >=2.16.0.0 && <3.0.0.0
-    , text              ^>=1.2.4.1
+    , base               >=4.17  && <5
+    , bytestring         ^>=0.12
+    , case-insensitive   ^>=1.2
+    , deepseq            >=1.4.8 && <1.6.0
+    , hashable           ^>=1.4
+    , megaparsec         ^>=9.6
+    , monoid-subclasses  ^>=1.2
+    , optics-core        ^>=0.4
+    , optics-extra       ^>=0.4
+    , template-haskell   >=2.19  && <3.0
+    , text               ^>=2.1
 
   ghc-options:
     -Wall -Wcompat -Wincomplete-record-updates
     -Wincomplete-uni-patterns -Wredundant-constraints
+    -Wmissing-deriving-strategies
 
   hs-source-dirs:   src
   default-language: Haskell2010
