Pandoc Versions Save

Universal markup converter

3.1.7

8 months ago
Click to expand changelog
  • Org reader:

    • Don’t parse alphabetical lists unless the fancy_lists extension is enabled (#9042).
    • Allow escaping commas in macro arguments (Amneesh Singh).
  • JATS reader:

    • Support for <permissions> metadata (#9037, Julia Diaz). metadata objects with multiple fields are created, matching the structure in JATS.
    • Correct name of JATS element attrib.
  • Markdown reader:

    • Support images with wikilink syntax, e.g. ![[foo|bar]], when one of the wikilinks extension is enabled (#8853).
    • Allow a citation or reference link to be parsed after a ! (#8254).
    • Fix dropped ! before nonexistent reference (#9038).
  • LaTeX writer:

    • Fix regression in escaping URLs (#9043).
    • Use \cite and \bibitem to link up citations, even with citeproc. (#9031). This will give us better accessibility; when tagging is enabled, the citation can be linked to the bibliography entry. This changes some of the details of the layout and the default template. We now make CSLReferences a special enumitem list that will contain \bibitems. Internal links inside citations to ids beginning in ref- are creating using \cite instead of \hyperref.
    • Use \phantomsection and \label instead of \hypertarget (#9022).
    • Use \hyperref for LaTeX internal links, \hyperlink for beamer (since \hyperref doesn’t seem to work) (#9022).
    • Backslash-escape % and # in URLs (#9014).
  • JATS writer:

    • Fix placement of ref-list when no title is specified for the reference section (#9017). (In this case we place it in back with an empty title.)
  • Man writer:

    • Avoid a .PP right after a section heading (#9020). This is at best a no-op (in groff man and mandoc) and at worst (in some formatters) may create extra whitespace.
    • We revert the fanciness introduced in #7506, which employs a custom font name V and a macro that makes this act like boldface in a terminal and monospace in other formats. Unfortunately, this code uses a mechanism that is not portable (and does not work in mandoc) (#9020).
    • Instead of using V for inline code, we simply use CR. Note that \f[CR] is emitted instead of plain \f[C], because there is no C font in man. (This produces warnings in recent versions of groff, #9020.)
    • For code blocks, we now use the .EX and .EE macros, together with .IP for spacing and indentation. This gives more standard code that can be better interpreted e.g. by mandoc (#9020).
  • Man template: don’t emit .hy, regardless of setting of hyphenate variable (#9020).

  • LaTeX template: special redefinition of \st for CJK (#9019). soul’s version raises on error on CJK text.

  • Use latest skylighting-format-blaze-html (#7248). This works around a longstanding iOS Safari bug that caused long lines to be displayed in a different font size in highlighted code.

  • Allow skylighting 0.14 (and require it in pandoc core).

  • Allow text 2.1.

3.1.6.2

8 months ago
Click to expand changelog
  • Org reader: allow example lines to end immediately after the colon (Brian Leung).

  • Docx reader:

    • Omit “Table NN” from caption (#9002).
    • Avoid spurious block quotes in list items (#8836).
  • JATS reader: Fix display of block elements (#8889, Julia Diaz). A number of block elements, like disp-quote, list, and disp-formula, were always treated as inlines if appearing inside paragraphs, even if their usage granted a separate block.

  • HTML reader: avoid duplicate id on header and div (#8991).

  • Typst writer:

    • Use ~ for nonbreaking space, and escape literal ~ (#9010).
    • Put the label in right place for Div, use #block (#8991). Previously we were putting the label at the beginning of the Div’s contents, but according to the documentation such a label gets attached to the preceding element. We now use an explicit #block and add the label at the end.
  • LaTeX writer:

    • Improve escaping of URIs in href, url (#8992).
    • Improve internal links and targets (#8744). We no longer wrap section headings in a \hypertarget. This is unnecessary (hyperref creates an anchor based on the label) and it interferes with tagging. In addition, we now use \hyperref rather than \hyperlink for internal links. Currently \hypertarget is still being used for link anchors not on headings. Thanks to @u-fischer.
  • HTML format templates (style.html): Fix typo in clause for svg (Jackson Schuster).

  • Use lastest texmath, typst-symbols, typst. Targets typst 0.7.

3.1.6.1

8 months ago
Click to expand changelog
  • HTML reader: properly calculate RowHeadColumns (#8984). This fixes a bug in the calculation of the number of header columns in table row. It also changes the algorithm for determining the table body’s RowHeadColumns based on the numbers of head columns in each row. Previously we used the max, and #8634 switched to the min, which led to bad results. Now we only set RowHeadColumns to a non-zero value if all rows have the same number of head columns.

  • OpenDocument writer:

    • Implement syntax highlighting for inline and block code (#6710).
    • Support highlighted text in ODT/OpenDocument writers for Span with class mark (#8960). The color can be adjusted by modifying the Highlighted style.
  • Typst writer: escape // so it doesn’t get interpreted as a comment (#8966).

  • ChunkedHTML writer: Fix regression including MathJax script (#8967). The fix for #8620 caused the script to be included when the table of contents but not the body text of a page contains math. But it broke the case where the table of contents doesn’t contain math but the page does. This patch fixes the issue.

  • Text.Pandoc.SelfContained:

    • Retain attributes in SVG tag when referring to another SVG’s content using <use> (#8969).
    • Allow units in width and height for SVG. Units are optional but allowed.
    • Don’t coerce calculated SVG dimensions to Int.
    • fix calculation of SVG width and height. We were computing width and height from viewBox incorrectly (#8969).
    • Add clause for SVG to default CSS for HTML (#8969).
    • Ensure that width and height attributes don’t get specified twice is both the img tag and the svg include them (#8965).
    • Omit unnecessary attributes xmlns, xmlns:xlink, and version on SVG element (#8965).
    • Use 20 character rather than 40 character hashes for generated IDs (#8965).
  • Use pandoc-types 1.23.1. This fixes a regression with toJSONFilter (#8976), which in 1.23.0.1 no longer worked on pure values of type a -> [a].

  • Use ghc 9.6 for release builds (#8947).

  • Fix some links in FAQs (Diogo Almiro).

3.1.6

9 months ago
Click to expand changelog
  • Fix new variant of the vulnerability in CVE-2023-35936. Guilhem Moulin noticed that the fix to CVE-2023-35936 was incomplete. An attacker could get around it by double-encoding the malicious extension to create or override arbitrary files.

  • --embed-resources: Use inline SVG instead of data uris for SVG images in HTML5 (#8948). Note that SelfContained does not have access to the writer name, so we check for HTML5 by determining whether the document starts with <DOCTYPE! html>. This means that inline SVG won’t be used when generating document fragments.

  • Fix regression on short boolean arguments (#8956). In 3.1.5 boolean arguments were allowed an optional argument (true|false). This created a regression for uses of fused short arguments, e.g. -somyfile.html, which was equivalent to -s -omyfile.html, but now raised an error because pandoc attempted to parse o as a boolean true or false. This change allows the fused short arguments to be used again. Note that -strue will be interpreted as -s with an argument true, not as -s -t -rue. It is best to use long option names with the optional boolean values, to avoid confusion.

  • Make --epub-title-page’s argument optional. It takes a boolean argument, and now that all of our boolean flags take such an argument, we can make this one optional for consistency.

  • Improve errors for illegal output formats. Previously if you did pandoc -s -t bbb, it would give you an error about the missing bbb template instead of saying that bbb is not a supported output format.

  • Improve errors for incorrect command-line option values (#8879). Always give the name of the relevant argument.

  • Fix typo on error message for incorrect --preserve-tabs argument. Thanks @fsoedjede

  • Docx reader: use SVG version of image if present (#7244). Previously the backup PNG was exported even if an SVG was present, but the SVG should be preferred.

  • Typst reader: fix regression in recognition of display math (#8949). The last release caused all math to be parsed as inline math.

  • JATS writer: don’t use <code> for inline code (#8889). It is intended for block-level code.

  • HTML writer: don’t make line blocks sensitive to --wrap (#8952).

  • RST writer: fix figure handling (#8930, #8871). This fixes a number of regressions from pandoc 2.x. Properly handle caption, alt attribute in figures. No longer treat a paragraph with a single image in it as a figure (we have a dedicated Figure element now).

  • Docx writer: Copy “mirror margins” property from reference.docx (#8946).

  • Text.Pandoc.UTF8: Deprecate decodeArg which is now a no-op. This was needed for old base versions which we no longer support.

  • Use released skylighting, typst.

  • Allow latest commonmark-extensions. This allows entities in wikilinks.

  • Switch back to using ghc 9.2 for linux and Windows binary releases (#8947, #8955). With ghc 9.4+, we were getting AVX instructions in the amd64 binary, which aren’t supported on older hardware. For maximum compatibility we switch back to ghc 9.2, which doesn’t cause the problem. (As documented, ghc should not be emiting these instructions, so we aren’t clear on the diagnosis, but the cure has been tested.)

  • Change Windows release build to use cabal instead of stack.

3.1.5

9 months ago
Click to expand changelog
  • Allow all boolean flags to take an optional true or false value (#8788, Sam S. Almahri). The default is true if no value is specified, so this is fully backwards-compatible.

  • Support --id-prefix for markdown output (#8878)

  • Markdown reader:

    • Add strictness annotations to fix a memory leak (#8762).
  • Typst reader:

    • Use typst-hs 0.3.0.0, which is more robust, fixes many bugs, and targets typst 0.6.
    • Package loading is now supported, as long as the package has been cached or is local.
    • Rewrite Typst reader in a way that makes it easier to extend.
    • Filter out CR in raw.
    • Handle block content for link element.
    • Handle block-level content in text element.
    • Handle style, align, place in inline contexts too.
    • Improve info message for skipped elements.
  • Add typst reader tests (#8942).

  • MediaWiki reader:

    • Revise treatment of “link trail.” Previously we only included ASCII letters. That is correct for English but not for, e.g., Spanish (see comment in #8525). A safer approach is to include all letters except those in the CJK unified ideograph ranges.
  • AsciiDoc writer:

    • Make modern AsciiDoc the target for asciidoc (#8936). The AsciiDoc community now regards the dialect parsed by asciidoctor as the official AsciiDoc syntax, so it should be the target of our asciidoc format. The asciidoc output format now behaves like asciidoctor used to. asciidoctor is a deprecated synonynm. For the old asciidoc behavior (targeting the Python script), use asciidoc_legacy. The templates have been consolidated. Instead of separate default.asciidoctor and default.asciidoc templates, there is just default.asciidoc.
    • Text.Pandoc.Writers.AsciiDoc API changes:
      • writeAsciiDoc now behaves like writeAsciiDoctor used to.
      • writeAsciiDoctor is now a deprecated synonym for writeAsciiDoc.
      • New exported function writeAsciiDocLegacy behaves like writeAsciDoc used to.
    • Update line-through for asciidoc writer to custom inline style (#8933, Kevin Broch).
  • Typst writer:

    • Support unlisted class in headings (#8941).
    • Consolidate bibliography files into one #bibliography command (#8937).
    • Improve handling of autolinks (#8931).
  • Docx writer:

    • Make relative widths work in tables. This didn’t work before because we were missing an attribute that tells Word to used fixed widths rather than computing optimal ones.
  • DokuWiki writer: fix lists with Div elements (#8920). The DokuWiki writer doesn’t render Divs specially, so their presence in a list (e.g. because of custom-styles) need not prevent a regular DokuWiki list from being used. (Falling back to raw HTML in this case is pointless because no new information is given.)

  • LaTeX writer:

    • Fix babel name for fa (should be persian).
    • Prevent babel language from being imported twice (#8925).
  • Text.Pandoc.Class:

    • Add toTextM [API change]. This is like Text.Pandoc.UTF8.toText, except:

      • it takes a file path as first argument, in addition to bytestring contents
      • it raises an informative error with source position if the contents are not UTF8-encoded

    This replaces utf8ToText whenever we have the filename and are in a PandocMonad instance. This will lead to more informative error messages for UTF8-encoding, indicating the file path and byte offset where the error occurs (#8884).

  • Remove invalid term “Subject” from Turkish translations (#8921).

  • stack.yaml: add pkg-config to nix packages (#8927, pacien).

  • Allow aeson 2.2.

  • MANUAL: Add clarification on –section-divs. Closes #8882.

3.1.4

10 months ago
Click to expand changelog
  • Fix a security vulnerability in MediaBag and T.P.Class.IO.writeMedia. This vulnerability, discovered by Entroy C, allows users to write arbitrary files to any location by feeding pandoc a specially crafted URL in an image element. The vulnerability is serious for anyone using pandoc to process untrusted input. The vulnerability does not affect pandoc when run with the --sandbox flag.

  • Allow epub-title-page to be used in defaults files (#8908).

  • Issue Extracting info message (in --verbose mode) when using --extract-media or extracting media temporarily in PDF production.

  • HTML reader: Update TableBody RowHeadColumns caculation (#8634, Ruqi). This change sets RowHeadColumns to the minimum value of each row, which gives better results in cases where rows have different numbers of leading th tags.

  • Dokuwiki reader: retain image query parameters as attributes (#8887, echo0).

  • Textile reader: Add support for link references (#8706, Stephen Altamirano). Textile supports what it calls “link alias”, which are analogous to Markdown’s reference-style links.

  • LaTeX reader: support alt text on images (#8743, Albert Krewinkel).

  • Commonmark reader: Make implicit_figures work again. Support for this (introduced in #6350) disappeared when we made an architectural change.

  • JATS reader:

    • Add footer and multiple body parsing to table reader (#8765, Noah Malmed).
    • Parse references title from ref-list (#8365).
  • JATS writer:

    • Make --number-sections work.
    • Include title in ref-list (#8364). Previously the reference title ended up in a separate section at the back of the body instead of in the ref-list in the back matter.
  • Mediawiki writer: allow highlighting to work for F# language (Adelar da Silva Queiróz).

  • LaTeX writer: Fix escaping of & in \href and \url (#8903).

  • Docx writer:

    • Fix localization of “Abstract” title (#8702).
    • Allow abstract-title to be specified in docx metadata (#8794).
  • ChunkedHTML writer: Make math work in top-level page (#8915).

  • Text.Pandoc.Logging: add new log message type ScriptingWarning [API change] (Albert Krewinkel).

  • Lua: report warnings from Lua scripts (Albert Krewinkel). Lua’s warning system is plugged into pandoc’s reporting architecture. Warnings that are raised with the Lua warn function are now reported together with other messages.

  • Use crypton-connection instead of connection (#8896, Felix Yan). Follows the change introduced in tls 1.7.0.

  • Bump versions for skylighting-core, skylighting.

  • Include lua/module/sample.svg in cabal extra-source-files (Felix Yan).

  • Add Nynorsk (New Norwegian) translations (Per Christian Gaustad).

  • Add tests for fillMediaBag/extractMedia.

  • INSTALL.md:

    • Mention alternatives to LaTeX to generate PDF (Norwid Behrnd).
    • Update Linux install links (harabat).
  • pandoc-extras.md: add to “Academic publishing workflows” (#8696, Vladimir Alexiev).

3.1.3

10 months ago
Click to expand changelog
  • New output format: typst.

  • New module: Text.Pandoc.Readers.Typst [API change].

  • DocBook reader:

    • Support more emphasis roles (Albert Krewinkel). The role “bf” is taken to indicate “bold face”, i.e., “strongly emphasized” text, while “underline” leads to underlined text.
  • JATS reader:

    • Improve title and label parsing in the JATS reader (#8718, Noah Malmed.)
    • Add rowspan, colspan and alignment to cells in jats table reader (#8408, Noah Malmed)
  • Org reader (Albert Krewinkel):

    • Require abstract environment to use lowercase.
    • Treat #+NAME as synonym for #+LABEL (#8578).
  • ODT reader:

    • Allow lists in table cells (#8892).
    • Allow frames inside spans (#8886).
  • RST reader:

    • Fix sorting on anonymous keys (#8877). This fixes a link resolution bug bug affecting RST documents with anonymous links.
  • HTML reader:

    • Fix iframe with data URI of an image (#8856). In this case we don’t want to try to parse the data at the URL. Instead, create an image inside a div.
  • RTF reader:

    • Fix bug in table parsing (#8767). In certain cases, text before a table was being incorporated into the table itself.
  • Docx reader:

    • Introduce support for Intense Quote (Stephan Meijer).
  • Markdown reader:

    • Disallow escaping of ~ and " in markdown_strict (#8777, Albert Krewinkel). This matches the behavior of the legacy Markdown.pl as well as what is described in the manual.
  • LaTeX reader: ignore args to column type in \multicolumn (#8789).

  • HTML writer:

    • Use first paragraph in task item as checkbox label (#8729, Albert Krewinkel).
  • Ms writer:

    • Coerce titles to inlines (#8835). Block-level formatting is not allowed inside .TL.
  • LaTeX writer:

    • Fix width for multicolumn simple table (#8831).
  • Jira writer:

    • Use first code block class as highlighting language (#8814, Albert Krewinkel). The writer no longer searches the list of classes for a known programming language but always uses the first class in that list as the language identifier.
  • OpenDocument writer:

    • Handle row header column cells as header cells (#8764, Michael Stahl).
    • Fix invalid text:p inside text:p from meta (#8256).
  • ODT writer:

    • Don’t add settings.xml (Michael Stahl). This will cause defaults to be used, which is what we want.
    • Don’t add unnecessary Configurations2 directory (Michael Stahl).
    • Don’t add thumbnail (Michael Stahl).
    • Put manifest.version on directory file-entry (Michael Stahl). See ODF 1.3 part 2, 4.16.14.1.
    • Stop validator complaints by producing ODF 1.3 (Michael Stahl).
  • MediaWiki writer:

    • Remove links from inside links in mediawiki writer (#8739, Wout Gevaert).
  • Typst writer:

    • Omit bibliography if citations not enabled (#8763). With this change, the typst writer will omit the #bibliography command when citations is not enabled. (If you want to use pandoc’s own --citeproc, you should combine it with -t typst-citations to disable native typst citations.
    • Use <..> for labels, create internal links.
    • Use #footnote for notes (#8893).
    • Fix alignment issue in lists. It’s an aesthetic issue only; the first line had an extra space indent after the list marker.
  • Commonmark writer:

    • Use shortcut reference links: commonmark supports these.
  • EPUB template: add lang attribute to <html> (Gabriel Lewertoski).

  • Template styles.html: fix task-list styling in reveal.js (#8731, Albert Krewinkel).

  • LaTeX template: Fix \babelfont (#8728).

  • Text.Pandoc.Parsing:

    • Remove unnecessary ‘spaces’ in parseFromString.
  • Text.Pandoc.ImageSize: Drop BOM at start of SVG if present. Otherwise our code can fail to determine image size.

  • Lua subsystem:

    • Fix value of PANDOC_SCRIPT_FILE for custom readers & writers (#8781, Albert Krewinkel). The value did not hold the actual file path for scripts in the custom folder of the datadir.
  • Fix YAML in translation files for cs and pl (#8787).

  • Fix pdf output via typst (#8754). One must now use typst compile rather than typst.

  • MANUAL.txt:

    • Added note that the user will need to create the user data dir (#8727).
    • Add wikilinks to non-default extensions (Ilona).
    • Update link to custom djot writer (Albert Krewinkel).
    • Better link to citation syntax.
    • Fix typo (sdhoward).
    • Note that # fancy list markers don’t work with commonmark (#8772, William Lupton).
    • Add commonmark fenced_div note (#8773, William Lupton).
    • Move highlighting documentation, with minor adjustments (William Lupton).
    • Fix inaccurate statement about spaces and tabs in template syntax (Frank Seifferth).
  • Update documentation for org-mode (Christian Christiansen, #8716).

  • doc/lua-filter.md:

    • Fix typos (#8734, perro tuerto).
    • Fix anchor (Toni Dietze).
    • Use full field name in example (#8857, Matt Dodson).
    • Fix copy-paste error (#8798, thron7).
  • CONTRIBUTING.md: update info on ghc versions.

  • INSTALL.md:

    • Fix cabal install instructions (Albert Krewinkel).
    • Use more relevant link to NetBSD/pkgsrc entry (Charlotte Koch).
    • Fix Windows install instructions for winget (#8799).
  • Tests: Rename test/docx/block_quotes_parse_indent.native for consistency (Stephan Meijer).

  • Add tls constraint on cabal.project. This is needed to avoid problems caused by the transition to crypton.

  • Require texmath 0.12.8.

3.1.2

1 year ago
Click to expand changelog
  • Add a Lua REPL (Albert Krewinkel). This can be started with pandoc lua -i. It is also possible to instruct a filter to open the REPL at a certain point, for debugging (see pandoc.cli.repl).

  • Support typst as a --pdf-engine.

  • Add typst writer (#8713). New module Text.Pandoc.Writers.Typst, exporting writeTypst [API change].

  • Org reader:

  • DocBook reader:

    • Handle “book” for xref references (#8712, Andres Freund) This also adds a test xref to book and part.
    • Handle <part> (#8712).
  • HTML reader:

    • Fix behavior with -native_spans-raw_html (#8711). Previously with this configuration, <span>s were not treated as inline elements at all.
  • HTML writer:

    • Avoid duplicate classes (#8705).
    • Use img element instead of embed for .svg.gz and .png.gz etc. (#8699).
    • HTML writer footnotes changes (#8695): when --reference-location=section or =block, use an aside element for the notes rather than a section. When --reference-location=section, include the aside element inside the section element, rather than outside. (In slide shows, this option causes footnotes on a slide to be displayed at the bottom of the slide.)
  • EPUB writer:

    • Use different structure for epub footnotes (#8676, see #8672, #5583). Many EPUB readers are thrown off by pandoc’s current footnote output. Both the ol and the fact that the footnote backlink is at the end of the note seem to pose problems. With this commit, we now create a list of aside (or div) elements, instead of an ordered list. Each element begins with a note number that is linked back to the note reference. (So, the backlink occurs at the beginning rather than the end.) Thanks to @Porges and @lewer.
  • Docx writer:

    • Include abstract title (#8702). Uses localized term for abstract.
  • Markdown writer:

    • Use implicit figures if there’s a caption but no alt (#8689, Albert Krewinkel).
  • Jira reader (Albert Krewinkel):

    • Add panel title as nested div (#8681).
    • Require jira-wiki-markup 1.5.1 (#8680). This fixes a bug in the parser that caused text between two exclamation marks to be parsed as an image. The first ! of image markup must now be followed by a non-space character; otherwise, the enclosed text is parsed as normal content.
  • Ms writer:

    • Fix handling of Figure (#8660).
  • ICML writer:

    • Fix images with data (#8675). The Contents element should be inside Properties.
  • LaTeX writer:

    • Add Chinese to Babel languages.
    • Fix background image in Beamer when there are figure environments (#8671, Martín Pozo).
  • LaTeX template:

    • Add babelfonts variable to default LaTeX template. This allows specifying certain fonts to be used with certain babel languages. Thanks to Frederik Elwert.
    • Fix highlight/underline with lualatex (#8707). We need the lua-ul package instead of soul, which doesn’t work with lualatex.
  • Lua (Albert Krewinkel):

    • Add pandoc.cli.repl function
    • Fix json.encode for nested AST elements. Ensures that objects with nested AST elements can be encoded as JSON.
    • Auto-generate docs for pandoc modules.
    • Load text module as pandoc.text. This only affects the name in the Lua-internal documentation. It is still possible to load the modules via require 'text', although this is deprecated.
    • Move docs from module text to pandoc.text The latter is easier to use and more consistent with the other modules.
    • Keep the Lua stack clean A metatable used during initialization was not properly removed from the stack. Likewise, accessing the CommonState from Lua previously led to the pollution of the Lua stack with a left-over value.
    • Add function pandoc.format.from_path.
    • Allow to get the JSON encoding of log messages.
  • Text.Pandoc.Format: Add new function formatFromFilePaths [API change] (#8710, Albert Krewinkel).

  • The old Text.Pandoc.App.FormatHeuristics module has been removed.

  • In --version, use Windows %APPDATA% variable to describe user data dir (#8686, Pablo Rodríguez).

  • Text.Pandoc.App.CommandLineOptions: don’t lowercase arg to --from/--read (Albert Krewinkel). This prevented users to use custom writers with uppercase characters in their filenames. Format-normalization, including lower-casing of format identifiers, happens during format parsing.

  • Documentation:

    • Add doc/nix.md.
    • Add doc/extras.md. This was formally in the website repo.
    • doc/lua-filters.md: improve docs for pandoc.zip.
  • Factor out make_macos_release.sh from the release candidate workflow. Use cabal instead of stack to build the macos binary.

  • Modify linux/make_artifacts.sh so it will work on cirrus.

  • Switch to hslua-2.3

  • Depend on latest releases of texmath, doclayout.

3.1.1

1 year ago
Click to expand changelog
  • EPUB reader: Give additional information in error if the epub zip container can’t be unpacked.

  • TSV reader: don’t gobble tabs as whitespace (#8661).

  • Org reader: accept empty tables (#8659).

  • LaTeX reader: fix multiplication syntax for tabular (#8658). We recognized *{6}{...} but not *6{...} or *6c.

  • Docx reader: parse image alt texts in LibreOffice generated files. LibreOffice tags images slightly differently than Word; this change lets the parses take that difference into account when looking for an image description (alt text).

  • DocBook reader:

    • Fix <xref> references to tables in DocBook files (#8626, Pavol Otto).
    • Parse figure as a Figure element in the AST (#8668).
  • JATS reader: avoid generating duplicate figure captions (#8669).

  • RST reader: align with spec in syntax for role names (#8653). In particular, we now allow colons in row names.

  • Add note on converting from .doc format to FAQs (#8654).

  • Trap error in getAppUserDataDirectory (#8648). This can raise an error if pandoc is run in a non-user environment.

  • LaTeX writer: do not use longtable foot with Beamer (#8638, Albert Krewinkel). The table foot is made part of the table body, as otherwise it won’t show up in the output. The root cause for this is that longtable cannot detect page breaks in Beamer.

  • LaTeX template: Add CJKsansfont and CJKmonofont for XeLaTeX (#8656, Yudong Jin). CJKsansfont and CJKmonofont will be set for xelatex only if CJKmainfont is also provided.

  • URL style in ConTeXt (#8612, Thomas Hodgson). Previously, a URL like this would be in monospace text: \useURL[url1][https://example.com]. Now, it will match the main text unless the linkstyle variable is set, which controls the styling of all links. Closes #8602.

  • Asciidoc writer: Properly escape | in table cells (#8665).

  • asciidoc{,tor} template: fix revision date when author is unset (#8637, arcnmx). Revision line syntax is only valid in combination with an author line, so the date attribute must be set explicitly when the author is missing

  • HTML writer: allow “track” element to be treated as block-level HTML (#8629).

  • Include needed polyfill when MathJaX is used (#8625).

  • JATS writer: include alt-text in <graphic>, <inline-graphic> elements (#8631, Albert Krewinkel).

  • Chunked HTML writer: Retain metadata in processing sections for chunked HTML (#8620). Previously we suppressed metadata in all but the top page, in order to prevent the title block from being printed on every page. This prevented use of custom variables set by metadata fields. This commit moves to a better solution: a conditional in the default template restricts the title block to the top page.

  • Lua API:

    • Add new function pandoc.system.cputime (Albert Krewinkel). The function returns the CPU time consumed by pandoc and can be used to benchmark Lua computations.
    • Add module pandoc.json to handle JSON encoding (#8605, Albert Krewinkel).
  • Use pandoc-lua-marshal 0.2.1 (Albert Krewinkel). All major AST elements now have __tojson metamethods that return the JSON representation of an element. This allows to JSON-encode these elements with libraries that respect the __tojson metamethod, including dkjson.

  • Use latest zip-archive. This allows pandoc to open certain epubs that it could not open before.

  • Use commonmark-extensions 0.2.3.4. This fixes some bugs involving definition lists and inline formatting.

  • Use latest skylighting-format-context

  • MANUAL.txt:

    • Document chunk-template in defaults file.
    • Remove obsolete “raw content in a style” section.
    • Revise documentation for --mathml to reflect support in all major browsers (#8667).
  • docs/custom-readers.md: Update JSON parsing example. The example now uses the built-in pandoc.json library to parse the API output.

  • doc/press.md: Add article on CiTO in J Cheminform by @egonw.

  • doc/lua-filters.md: fix typo in run_json_filter (Morgan Willcock).

3.1

1 year ago
Click to expand changelog
  • Fix regression with --print-highlight-style option (#8586).

  • Add new --chunk-template option (#8581), allowing more control over the filenames in chunked HTML output.

  • Text.Pandoc.App: Add optChunkTemplate constructor to Opt [API change].

  • Text.Pandoc.Options: add writerChunkTemplate constructor to WriterOptions [API change].

  • Text.Pandoc.Chunks: add Data, Typeable, Generic, ToJSON, FromJSON instances for PathTemplate [API change].

  • Text.Pandoc.Citeproc: Fix bug in metaValueToReference (#8611). This bug caused us to get some repeated content when converting MetaBlock to Inlines.

  • Textile reader:

    • Support footnote backlinks (#8585, Stephen Altamirano).
    • Don’t allow brackets in URLs (#8582).
  • ODT reader: fix blockquote indent detection (#3437, Daniel Kessler).

  • LaTeX writer: include short figure/table caption if one is given (Albert Krewinkel). Short captions are used by LaTeX when generating the list of figures or list of tables. Adding a short caption will now overwrite the full caption in these lists.

  • Powerpoint writer: fix handling of simple figures (#8565, Albert Krewinkel). This ensures that simple figures are displayed in the same way as before the introduction of a dedicated Figure constructor in the AST.

  • Improve handling of % in bib(la)tex parsing (#8597, #8595).

  • Use released skylighting 0.13.2.1

  • INSTALL.md: direct people to cabal install pandoc-cli.

  • doc/lua-filters.md: document ‘Figure’ type and constructor (Albert Krewinkel). Fix typos (Martin Joerg).

  • Fix link in manual (#8583, Salim B).