diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for language-oberon
 
+## 0.3.2  -- 2022-10-23
+
+* Using `autochain` and new imports from grammatical-parsers-0.7
+
 ## 0.3.1  -- 2022-10-09
 
 * Incremented the upper bound of the `input-parsers` dependency
diff --git a/app/Parse.hs b/app/Parse.hs
--- a/app/Parse.hs
+++ b/app/Parse.hs
@@ -32,7 +32,6 @@
 import Options.Applicative
 import qualified Text.Parser.Input.Position as Position
 import Text.Grampa (Ambiguous, Grammar, parseComplete, failureDescription)
-import qualified Text.Grampa.ContextFree.LeftRecursive as LeftRecursive
 import ReprTree
 import System.FilePath (FilePath, addExtension, combine, takeDirectory)
 
diff --git a/language-oberon.cabal b/language-oberon.cabal
--- a/language-oberon.cabal
+++ b/language-oberon.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                language-oberon
-version:             0.3.1
+version:             0.3.2
 synopsis:            Parser, pretty-printer, and more for the Oberon programming language
 description:
    The library and the executable support both the original Oberon and the Oberon-2 programming language, as described
@@ -34,7 +34,7 @@
                         text < 3, containers >= 0.5 && < 1.0, filepath < 1.5, directory < 1.4,
                         parsers >= 0.12.7 && < 0.13, input-parsers >= 0.2.2 && < 0.4,
                         prettyprinter >= 1.2.1 && < 1.8, either == 5.*,
-                        rank2classes >= 1.3 && < 1.5, grammatical-parsers >= 0.5 && < 0.7,
+                        rank2classes >= 1.3 && < 1.5, grammatical-parsers >= 0.7 && < 0.8,
                         deep-transformations == 0.2.*,
                         transformers == 0.5.*,
                         template-haskell >= 2.11 && < 2.20
diff --git a/src/Language/Oberon.hs b/src/Language/Oberon.hs
--- a/src/Language/Oberon.hs
+++ b/src/Language/Oberon.hs
@@ -27,7 +27,6 @@
 import Data.Text (Text, unpack)
 import Data.Text.IO (readFile)
 import Text.Grampa (Ambiguous(Ambiguous), Grammar, ParseResults, parseComplete, failureDescription)
-import qualified Text.Grampa.ContextFree.LeftRecursive as LeftRecursive
 import System.Directory (doesFileExist)
 import System.FilePath (FilePath, addExtension, combine, takeDirectory)
 
diff --git a/src/Language/Oberon/Grammar.hs b/src/Language/Oberon/Grammar.hs
--- a/src/Language/Oberon/Grammar.hs
+++ b/src/Language/Oberon/Grammar.hs
@@ -32,8 +32,7 @@
 import Data.Text (Text, unpack)
 import Text.Grampa
 import Text.Parser.Combinators (sepBy, sepBy1, sepByNonEmpty, try)
-import Text.Grampa.ContextFree.LeftRecursive (autochain)
-import Text.Grampa.ContextFree.LeftRecursive.Transformer (ParserT, lift, tmap)
+import Text.Grampa.ContextFree.SortedMemoizing.Transformer.LeftRecursive (ParserT, autochain, lift, tmap)
 import Text.Parser.Token (braces, brackets, parens)
 
 import qualified Rank2
