# Changelog
`pandoc-lua-marshal` uses [PVP Versioning][].
## 0.1.2
Released 2021-12-10.
- Restored backward compatible retrieval of Rows. Cells can be
either a userdata value or a table.
## 0.1.1
Released 2021-12-10.
### Behavior of Lua objects
- Lists of Inline values and lists of Block values are now
pushed with their own metatables (named "Inlines" and
"Blocks").
- The types `Block`, `Blocks`, `Inline`, `Inlines`, and
`Pandoc` now all have a method `walk` that applies a filter
to the document subtree.
- Changed behavior for *Cell* values: these are now pushed as
userdata; the old table-based structure is still accepted
when retrieving a Cell from the stack.
### Haskell code
- Module Text.Pandoc.Lua.Marshal.Cell exports the constructor
function `mkCell`, the type definition `typeCell` and the
fuzzy peeker `peekCellFuzzy`.
- Added a new module `Text.Pandoc.Lua.Marshal.Filter` that
handles Lua filters.
- Added functions for filtering:
- Module Text.Pandoc.Lua.Marshal.Block:
- `walkBlockSplicing`: walk an AST element, applying a
filter on each Block and splicing the result back
into the list.
- `walkBlocks`: walk an AST element, modifying lists of
Block elements by applying the `Blocks` filter
function.
- Module Text.Pandoc.Lua.Marshal.Inline:
- `walkInlineSplicing`: walk an AST element, applying a
filter on each Inline and splicing the result back
into the list.
- `walkInlines`: walk an AST element, modifying lists
of Inline elements by applying the `Inlines` filter
function.
- Module Text.Pandoc.Lua.Marshal.Pandoc:
- `applyFully`: fully apply a filter on a Pandoc
document.
- New internal modules:
- Text.Pandoc.Lua.SpliceList: defines a helper type used to
walk a list of elements in a way that replaces the
element by splicing the function result back into the
list.
The module is a slight rewrite of pandoc’s
`SingletonsList`.
- Text.Pandoc.Lua.Walk: handles walking of the document
tree while modifying elements via filter functions. This
is a re-implementation of large parts of pandoc’s
T.P.Lua.Filter module.
- Text.Pandoc.Lua.Marshal.Shared: provides helper functions
used in multiple Lua type definitions.
## 0.1.0.1
Released 2021-11-28.
- Added test-simpletable.lua to the list of extra-source-files.
## 0.1.0
Released 2021-11-28.
- Released into the wild. May it live long and prosper.
[PVP Versioning]: https://pvp.haskell.org