diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -59,7 +59,7 @@
 
 ### 3.1.9
 
-- Many and various updates to documentation and package description (inlcuding
+- Many and various updates to documentation and package description (including
   the homepage links).
 - Add an `Eq` instance for `ParseError`
 - Fixed a regression from 3.1.6: `runP` is again exported from module
diff --git a/parsec.cabal b/parsec.cabal
--- a/parsec.cabal
+++ b/parsec.cabal
@@ -1,6 +1,6 @@
 cabal-version:  1.12
 name:           parsec
-version:        3.1.15.0
+version:        3.1.15.1
 
 synopsis:       Monadic parser combinators
 description:    Parsec is designed from scratch as an industrial-strength parser
@@ -26,7 +26,7 @@
 category:       Parsing
 
 build-type:     Simple
-tested-with:    GHC ==9.2.1 || ==9.0.1 || ==8.10.7 || ==8.8.4 || ==8.6.5 || ==8.4.4 || ==8.2.2 || ==8.0.2 || ==7.10.3 || ==7.8.4 || ==7.6.3 || ==7.4.2 || ==7.4.1
+tested-with:    GHC ==9.2.2 || ==9.0.2 || ==8.10.7 || ==8.8.4 || ==8.6.5 || ==8.4.4 || ==8.2.2 || ==8.0.2 || ==7.10.3 || ==7.8.4 || ==7.6.3 || ==7.4.2
 
 extra-source-files: ChangeLog.md, README.md
 
@@ -64,11 +64,10 @@
         Text.ParserCombinators.Parsec.Token
 
     build-depends:
-        base       >= 4.5.0   && < 4.17,
-        mtl        >= 1.1.1   && < 2.3,
+        base       >= 4.5.1.0 && < 4.18,
+        mtl        >= 2.1.3.1 && < 2.4,
         bytestring >= 0.9.2.1 && < 0.12,
-        text      (>= 0.11.3.1 && < 0.12)
-               || (>= 1.0.0.0  && < 1.3)
+        text      (>= 1.2.3.0  && < 1.3)
                || (>= 2.0 && < 2.1)
 
     default-language: Haskell2010
@@ -97,6 +96,11 @@
 
         if impl(ghc >= 7.10)
             ghc-options: -fno-warn-trustworthy-safe
+
+    if impl(ghc >= 9.0)
+        -- these flags may abort compilation with GHC-8.10
+        -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
+        ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
 
 test-suite parsec.
     type: exitcode-stdio-1.0
diff --git a/src/Text/Parsec/ByteString.hs b/src/Text/Parsec/ByteString.hs
--- a/src/Text/Parsec/ByteString.hs
+++ b/src/Text/Parsec/ByteString.hs
@@ -10,7 +10,7 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- Convinience definitions for working with 'C.ByteString's.
+-- Convenience definitions for working with 'C.ByteString's.
 --
 -----------------------------------------------------------------------------
 
diff --git a/src/Text/Parsec/ByteString/Lazy.hs b/src/Text/Parsec/ByteString/Lazy.hs
--- a/src/Text/Parsec/ByteString/Lazy.hs
+++ b/src/Text/Parsec/ByteString/Lazy.hs
@@ -10,7 +10,7 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- Convinience definitions for working with lazy 'C.ByteString's.
+-- Convenience definitions for working with lazy 'C.ByteString's.
 --
 -----------------------------------------------------------------------------
 
diff --git a/src/Text/Parsec/Language.hs b/src/Text/Parsec/Language.hs
--- a/src/Text/Parsec/Language.hs
+++ b/src/Text/Parsec/Language.hs
@@ -98,7 +98,7 @@
 -- Haskell
 -----------------------------------------------------------
 
--- | A lexer for the haskell language.
+-- | A lexer for the Haskell language.
 
 haskell :: TokenParser st
 haskell      = makeTokenParser haskellDef
@@ -135,7 +135,7 @@
 -- Mondrian
 -----------------------------------------------------------
 
--- | A lexer for the mondrian language.
+-- | A lexer for the Mondrian language.
 
 mondrian :: TokenParser st
 mondrian    = makeTokenParser mondrianDef
diff --git a/src/Text/Parsec/Prim.hs b/src/Text/Parsec/Prim.hs
--- a/src/Text/Parsec/Prim.hs
+++ b/src/Text/Parsec/Prim.hs
@@ -322,7 +322,7 @@
           | errorIsUnknown err = unParser (k x) s cok cerr cok cerr
           | otherwise =
             let
-                 -- if (k x) consumes, those go straigt up
+                 -- if (k x) consumes, those go straight up
                  pcok = cok
                  pcerr = cerr
 
diff --git a/src/Text/Parsec/Text.hs b/src/Text/Parsec/Text.hs
--- a/src/Text/Parsec/Text.hs
+++ b/src/Text/Parsec/Text.hs
@@ -10,7 +10,7 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- Convinience definitions for working with 'Text.Text'.
+-- Convenience definitions for working with 'Text.Text'.
 --
 -----------------------------------------------------------------------------
 
diff --git a/src/Text/Parsec/Token.hs b/src/Text/Parsec/Token.hs
--- a/src/Text/Parsec/Token.hs
+++ b/src/Text/Parsec/Token.hs
@@ -330,7 +330,7 @@
 -- defined using the definitions in the @language@ record.
 --
 -- The use of this function is quite stylized - one imports the
--- appropiate language definition and selects the lexical parsers that
+-- appropriate language definition and selects the lexical parsers that
 -- are needed from the resulting 'GenTokenParser'.
 --
 -- >  module Main where
diff --git a/test/Bugs/Bug9.hs b/test/Bugs/Bug9.hs
--- a/test/Bugs/Bug9.hs
+++ b/test/Bugs/Bug9.hs
@@ -24,7 +24,7 @@
     result :: [String]
     result = parseErrors parseTopLevel "4 >> 5"
 
--- Syntax analaysis
+-- Syntax analysis
 
 parseTopLevel :: Parser Expr
 parseTopLevel = parseExpr <* eof
