|
1 | 1 | # Revision history for pandoc |
2 | 2 |
|
| 3 | +## pandoc 2.16.2 PROVISIONAL (DATE) |
| 4 | + |
| 5 | + * Add interface for custom readers written in Lua (#7669). |
| 6 | + Users can now do `-f myreader.lua` and pandoc will treat the |
| 7 | + script myreader.lua as a custom reader, which parses an input |
| 8 | + string to a pandoc AST, using the pandoc module defined for |
| 9 | + Lua filters. A sample custom reader can be found in data/creole.lua. |
| 10 | + Also see documentation in `doc/custom-readers.md`. |
| 11 | + |
| 12 | + * New module Text.Pandoc.Readers.Custom, exporting `readCustom` [API change]. |
| 13 | + |
| 14 | + * Allow `plain` to be used in raw attribute syntax. |
| 15 | + |
| 16 | + * Accept empty `--metadata-file` (#7675). |
| 17 | + This was a regression from 2.15 behavior. |
| 18 | + |
| 19 | + * Markdown reader: Improve inlinesInBalancedBrackets. |
| 20 | + This is just a small improvement in terms of performance, but it's simpler |
| 21 | + and more direct code. Also, we avoid parsing interparagraph spaces in |
| 22 | + balanced brackets, as the original did. |
| 23 | + |
| 24 | + * BibTeX reader: Properly handle commented lines in BibTeX/BibLaTeX (#7668). |
| 25 | + |
| 26 | + * RST reader: handle class attribute for for custom roles (#7699, |
| 27 | + willj-dev). Previously the class attribute was ignored, and the name |
| 28 | + of the role used as the class. |
| 29 | + |
| 30 | + * DocBook reader: |
| 31 | + |
| 32 | + + Add `<titleabbr>` support (Rowan Rodrik van der Molen). |
| 33 | + + Support for `<indexterm>` (#7607, Rowan Rodrik van der Molen). |
| 34 | + |
| 35 | + * LaTeX reader: |
| 36 | + |
| 37 | + + Add rudimentary support for `\autoref` (#7693). |
| 38 | + + Add 'uri' class when parsing `\url`, for consistency |
| 39 | + with treatment of autolinks in other formats (#7672). |
| 40 | + |
| 41 | + * JATS reader: Capture `alt-text` in figures (#7703, Albert Krewinkel |
| 42 | + and Aner Lucero). |
| 43 | + |
| 44 | + * MediaWiki writer: use HTML spans for anchors when header has id (#7697). |
| 45 | + We need to generate a span when the header's ID doesn't match |
| 46 | + the one MediaWiki would generate automatically. Note that MediaWiki's |
| 47 | + generation scheme is different from pandoc's (it uses uppercase letters, |
| 48 | + and `_` instead of `-`, for example). This means that in going from |
| 49 | + markdown -> mediawiki, we'll now get spans before almost every heading, |
| 50 | + unless explicit identifiers are used that correspond to the ones MediaWiki |
| 51 | + auto-generates. This is uglier output but it's necessary for internal |
| 52 | + links to work properly. |
| 53 | + |
| 54 | + * Markdown writer: don't create autolinks when this loses information |
| 55 | + (#7692). Previously we sometimes lost attributes when rendering links |
| 56 | + as autolinks. |
| 57 | + |
| 58 | + * JATS writer: |
| 59 | + |
| 60 | + + Ensure figures are wrapped with `<p>` in list items |
| 61 | + (Albert Krewinkel). This prevents the generation of invalid output. |
| 62 | + + Add URL to element citation entries (Albert Krewinkel). |
| 63 | + The URL of a reference, if present, is added in tag `<uri>` to |
| 64 | + element-citation entries. |
| 65 | + |
| 66 | + * HTML writer: Don't create invalid `data-` attribute for empty |
| 67 | + attribute key (#7546). |
| 68 | + |
| 69 | + * LaTeX writer: |
| 70 | + |
| 71 | + + Babel mappings: use `ancientgreek` for `grc`. |
| 72 | + + With `-t latex-smart`, don't generate `\ldots` from ellipsis (#7674). |
| 73 | + Instead just use unicode ellipsis. |
| 74 | + |
| 75 | + * JATS template: fix equal-contrib attribute (Albert Krewinkel). |
| 76 | + The standard requires the value to be either `yes` or `no`, but is was |
| 77 | + set to `true` for authors who contributed equally. |
| 78 | + |
| 79 | + * reveal.js template: Add `disableLayout` variable (Christophe Dervieux). |
| 80 | + |
| 81 | + * Text.Pandoc.Error: sort errors in `handleError` by exit code |
| 82 | + (Albert Krewinkel). |
| 83 | + |
| 84 | + * Text.Pandoc.Writers.Shared: Improve toLegacyTable (#7683, |
| 85 | + Christian Despres). |
| 86 | + |
| 87 | + * Lua subsystem: |
| 88 | + |
| 89 | + + Include lpeg module (#7649, Albert Krewinkel). Compiles the `lpeg` |
| 90 | + library (Parsing Expression Grammars For Lua) into |
| 91 | + the program. Package maintainers may choose to rely on package |
| 92 | + dependencies to make lpeg available, in which case they can compile |
| 93 | + the with the constraint `lpeg +rely-on-shared-lpeg-library`. |
| 94 | + `lpeg` and `re` are always made available in global variables, |
| 95 | + without the need for a `require`. |
| 96 | + |
| 97 | + + Set `lpeg` and `re` as globals; allow shared lib access via require |
| 98 | + The `lpeg` and `re` modules are loaded into globals of the respective |
| 99 | + name, but they are not necessarily registered as loaded packages. This |
| 100 | + ensures that |
| 101 | + |
| 102 | + - the built-in library versions are preferred when setting the globals, |
| 103 | + - a shared library is used if pandoc has been compiled without `lpeg`, |
| 104 | + and |
| 105 | + - the `require` mechanism can be used to load the shared library if |
| 106 | + available, falling back to the internal version if possible and |
| 107 | + necessary. |
| 108 | + |
| 109 | + + Fix argument order in constructor `pandoc.Cite` (Albert Krewinkel). |
| 110 | + This restores the old behavior; argument order had been switched |
| 111 | + accidentally in pandoc 2.15. |
| 112 | + |
| 113 | + + Add Pushable instance for `ReaderOptions` (Albert Krewinkel). |
| 114 | + |
| 115 | + + Allow to pass custom reader options to `pandoc.read` as an |
| 116 | + optional third argument (#7656, Albert Krewinkel). |
| 117 | + The object can either be a table or a ReaderOptions value |
| 118 | + like `PANDOC_READER_OPTIONS`. Creating new ReaderOptions objects is |
| 119 | + possible through the new constructor `pandoc.ReaderOptions`. |
| 120 | + |
| 121 | + + Display Pandoc values using their native Haskell representation |
| 122 | + (Albert Krewinkel). |
| 123 | + |
| 124 | + + Require latest hslua (2.0.1) (#7661, #7657, Albert Krewinkel). |
| 125 | + This fixes issues with |
| 126 | + |
| 127 | + - misleading error messages when a required function parameter is |
| 128 | + omitted; |
| 129 | + - absent properties still being listed in the output of `pairs`; and |
| 130 | + - alias accessing leading to errors instead of returning `nil`, e.g. |
| 131 | + with `(pandoc.Str '').identifier`. |
| 132 | + |
| 133 | + + Add missing space in "package not found" message (#7658, Albert |
| 134 | + Krewinkel). |
| 135 | + |
| 136 | + * Update build files (#7696, Fabián Heredia Montiel). |
| 137 | + Drop old windows 32-bit constraints. |
| 138 | + Update cabal `tested-with` field to correspond to `ci.yml` matrix |
| 139 | + |
| 140 | + * Remove unneeded package dependencies from benchmark target. |
| 141 | + |
| 142 | + * Require ghc >= 8.6, base >= 4.12. |
| 143 | + This allows us to get rid of the old custom prelude and |
| 144 | + some crufty cpp. But the primary reason for this is that |
| 145 | + conduit has bumped its base lower bound to 4.12, making it |
| 146 | + impossible for us to support lower base versions. |
| 147 | + |
| 148 | + * Require Cabal 2.4. Use wildcards to ensure that all pptx tests are |
| 149 | + included (#7677). |
| 150 | + |
| 151 | + * Update bash_completion.tpl (S.P.H.). |
| 152 | + |
| 153 | + * Add `data/creole.lua` as sample custom reader. |
| 154 | + |
| 155 | + * Add doc/custom-readers.md. |
| 156 | + |
| 157 | + * doc/lua-filters.md: add section on global modules, including lpeg |
| 158 | + (Albert Krewinkel). |
| 159 | + |
| 160 | + * MANUAL.txt: update table of exit codes and corresponding errors |
| 161 | + (Albert Krewinkel). |
| 162 | + |
| 163 | + * Use released texmath. |
| 164 | + |
3 | 165 | ## pandoc 2.16.1 (2021-11-02) |
4 | 166 |
|
5 | 167 |
|
|
0 commit comments