diff --git a/pandoc-lua-engine.cabal b/pandoc-lua-engine.cabal
--- a/pandoc-lua-engine.cabal
+++ b/pandoc-lua-engine.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                pandoc-lua-engine
-version:             0.5.2
+version:             0.5.3
 build-type:          Simple
 license:             GPL-2.0-or-later
 license-file:        COPYING.md
@@ -125,7 +125,7 @@
                      , hslua-module-zip      >= 1.1.5   && < 1.3
                      , lpeg                  >= 1.1     && < 1.2
                      , mtl                   >= 2.2     && < 2.4
-                     , pandoc                >= 3.9     && < 3.10
+                     , pandoc                >= 3.10    && < 3.11
                      , pandoc-lua-marshal    >= 0.3     && < 0.4
                      , pandoc-types          >= 1.22    && < 1.24
                      , parsec                >= 3.1     && < 3.2
diff --git a/src/Text/Pandoc/Lua/Module/Pandoc.hs b/src/Text/Pandoc/Lua/Module/Pandoc.hs
--- a/src/Text/Pandoc/Lua/Module/Pandoc.hs
+++ b/src/Text/Pandoc/Lua/Module/Pandoc.hs
@@ -154,6 +154,7 @@
   , mkCitation
   , mkListAttributes
   , mkRow
+  , mkTableBody
   , mkTableFoot
   , mkTableHead
   , mkSimpleTable
diff --git a/test/lua/module/pandoc.lua b/test/lua/module/pandoc.lua
--- a/test/lua/module/pandoc.lua
+++ b/test/lua/module/pandoc.lua
@@ -273,7 +273,7 @@
     test('unsupported extension', function ()
       assert.error_matches(
         function () pandoc.read('foo', 'gfm+empty_paragraphs') end,
-        'The extension empty_paragraphs is not supported for gfm'
+        'The extension \'empty_paragraphs\' is not supported for gfm'
       )
     end),
     test('read with other indented code classes', function()
@@ -297,7 +297,7 @@
     test('failing read', function ()
       assert.error_matches(
         function () pandoc.read('foo', 'nosuchreader') end,
-        'Unknown input format nosuchreader'
+        'Unknown input format \'nosuchreader\''
       )
     end),
     group 'read_env' {
@@ -364,21 +364,21 @@
       test('unsupported extension', function ()
         assert.error_matches(
           function () pandoc.read('foo', 'gfm+empty_paragraphs') end,
-          'The extension empty_paragraphs is not supported for gfm'
+          'The extension \'empty_paragraphs\' is not supported for gfm'
         )
       end),
       test('unknown extension', function ()
         local format_spec = { format = 'markdown', extensions = {'nope'}}
         assert.error_matches(
           function () pandoc.read('x', format_spec) end,
-          'The extension nope is not supported for markdown'
+          'The extension \'nope\' is not supported for markdown'
         )
       end),
       test('fails on invalid extension', function ()
         local format_spec = { format = 'markdown', extensions = {'nope'}}
         assert.error_matches(
           function () pandoc.read('nu-uh', format_spec) end,
-          'The extension nope is not supported for markdown'
+          'The extension \'nope\' is not supported for markdown'
         )
       end),
     },
@@ -458,7 +458,7 @@
       local format_spec = { format = 'plain', extensions = {'nope'}}
       assert.error_matches(
         function () pandoc.write(doc, format_spec) end,
-        'The extension nope is not supported for plain'
+        'The extension \'nope\' is not supported for plain'
       )
     end),
   },
