aboutsummaryrefslogtreecommitdiff
path: root/changelog.md
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-10-22 09:43:11 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2021-10-22 09:43:11 -0700
commite10f495a0163738a09c3fd18fce11788832c82b7 (patch)
tree8db92c77661759cad9958359465d90f22b49a05d /changelog.md
parentee34252219cca23fd180e4602318ca264f8efa06 (diff)
downloadpandoc-e10f495a0163738a09c3fd18fce11788832c82b7.tar.gz
Provisional changelog updates.
There's still some time before a new release, but this is a start.
Diffstat (limited to 'changelog.md')
-rw-r--r--changelog.md414
1 files changed, 413 insertions, 1 deletions
diff --git a/changelog.md b/changelog.md
index 3b7f5b270..2dcf75e3f 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,416 @@
-# Revision history for pandoc
+[#](#) Revision history for pandoc
+
+## pandoc 2.15 (NODATE)
+
+ * Add `--sandbox` option (#5045).
+
+ + Add sandbox feature for readers. When this option is used,
+ readers and writers only have access to input files (and
+ other files specified directly on command line). This restriction
+ is enforced in the type system.
+ + Filters, PDF production, custom writers are unaffected. This
+ feature only insulates the actual readers and writers, not
+ the pipeline around them in Text.Pandoc.App.
+ + Note that when `--sandboxed` is specified, readers won't have
+ access to the resource path, nor will anything have access to
+ the user data directory.
+
+ * `--self-contained`: Fix bug that caused everything to be made a data
+ URI (#7635, #7367). We only need to use data URIs in certain cases, but
+ due to a bug they were being used always.
+
+ * Pandoc will now fall back to latin1 encoding for inputs that can't be
+ read as UTF-8. This is what it did previously for content fetched
+ from the web and not marked as to content type. It makes sense to do
+ the same for local files. In this case a `NotUTF8Encoded` warning
+ will be issued, indicating that pandoc is interpreting the input as latin1.
+
+ * Markdown reader:
+
+ + Don't parse links or bracketed spans as citations (#7632).
+ Previously pandoc would parse `[link to (@a)](url)` as a
+ citation; similarly `[(@a)]{#ident}`. This is undesirable. One should
+ be able to use example references in citations, and even if `@a` is
+ not defined as an example reference, `[@a](url)` should be a link
+ containing an author-in-text citation rather than a normal citation
+ followed by literal `(url)`.
+ + Fix interaction of `--strip-comments` and list parsing (#7521).
+ Use of `--strip-comments` was causing tight lists to be rendered as
+ loose (as if the comment were a blank line).
+ + Fix parsing bug for math in bracketed spans and links (#7623).
+ This affects math with unbalanced brackets (e.g. `$(0,1]$`)
+ inside links, images, bracketed spans.
+ + Fix code blocks using `--preserve-tabs` (#7573). Previously they
+ did not behave as the equivalent input with spaces would.
+
+ * DocBook reader:
+
+ + Honor linenumbering attribute (Samuel Tardieu).
+ The attribute DocBook `linenumbering="numbered"` on code blocks
+ maps to the `numberLines` class internally.
+
+ * LaTeX reader:
+
+ + Implement siunitx v3 commands (#7614).
+ We support `\unit`, `\qty`, `\qtyrange`, and `\qtylist`
+ as synonynms of `\si`, `\SI`, `\SIrange`, and `\SIlist`.
+ + Properly handle `\^` followed by group closing (#7615).
+ + Recognize that `\vadjust` sometimes takes "pre" (#7531).
+ + Ignore (and gobble parameters of) CSLReferences environment (#7531).
+ Otherwise we get the parameters as numbers in the output.
+ + Restrict `\endinput` to current file (Simun Schuster).
+
+ * RST reader: handle escaped colons in reference definitions (#7568).
+
+ * HTML reader:
+
+ + Handle empty tbody element in table (#7589).
+
+ * Ipynb reader (Kolen Cheung):
+
+ + Get cell output mime from `raw_mimetype` in addition to `format`.
+ (`format` is what the spec calls for, but `raw_mimetype` is
+ often used in practice; see jupyter/nbformat#229).
+ + Add more formats that can be handled as "raw" cells.
+ + Fix mime type for `rst`.
+ + Support `text/markdown`, which is now a supported mime type for raw
+ output (#7561).
+
+ * RTF reader:
+
+ + Support `\binN` for binary image data.
+ + If doc begins with {\rtf1 ... } only parse its contents.
+ Some documents seem to have non-RTF (e.g. XML) material after the
+ `{\rtf1 ... }` group.
+ + Ignore `\pgdsc` group. Otherwise we get style names treated as test.
+ + Better handling of `\*` and bookmarks. We now ensure that groups
+ starting with `\*` never cause text to be added to the document.
+ In addition, bookmarks now create a span between the start
+ and end of the bookmark, rather than an empty span.
+
+ * Docx reader:
+
+ + Avoid blockquote when parent style has more indent (Milan Bracke).
+ When a paragraph has an indentation different from the parent (named)
+ style, it used to be considered a blockquote. But this only makes sense
+ when the paragraph has more indentation. So this commit adds a check
+ for the indentation of the parent style.
+ + Fix handling of empty fields (Milan Bracke). Some fields only
+ have an `instrText` and no content, Pandoc didn't understand these,
+ causing other fields to be misunderstood because it seemed like
+ a field was still open when it wasn't.
+ + Implement PAGEREF fields (Milan Bracke). These fields, often used
+ in tables of contents, can be a hyperlink.
+ + Fix handling of nested fields (Milan Bracke). Fields delimited by
+ `fldChar` elements can contain other fields. Before, the nested
+ fields would be ignored, except for the end, which would be
+ considered the end of the parent field.
+ + Add placeholder for word diagram instead of just omitting it (Ezwal).
+
+ * Org reader: don't parse a list as first item in a list item (#7557).
+
+ * Docx writer:
+
+ + Make id used in `native_numbering` predictable (#7551).
+ If the image has the id IMAGEID, then we use the id ref_IMAGEID
+ for the figure number. This allows one to create a filter that
+ adds a figure number with figure name, e.g.
+ `<w:fldSimple w:instr=" REF ref_superfig "><w:r><w:t>Figure X</w:t>
+ </w:r></w:fldSimple>`.
+ If an image lack an id, an id of the form `ref_fig1` is used.
+ + Ensure we have unique ids for `wp:docPr` and `pic:cNvPr` elements
+ (#7527, #7503).
+ + Handle SVG images (#4058). This change has several parts:
+ - In Text.Pandoc.App, if the writer is docx, we fill the media
+ bag and attempt to convert any SVG images to PNG, adding these
+ to the media bag. The PNG backups have the same filenames as
+ the SVG images, but with an added .png extension. If the conversion
+ cannot be done (e.g. because rsvg-convert is not present),
+ a warning is omitted.
+ - In Text.Pandoc.Writers.Docx, we now use Word 2016's syntax for
+ including SVG images. If a PNG fallback is present in the media bag,
+ we include a link to that too.
+
+ * Powerpoint writer (Emily Bourke):
+
+ + Add support for more layouts (#5097). Up til now, four layouts
+ were supported: "Title Slide" (used for the automatically generated
+ metadata slide), "Section Header" (used for headings above slide
+ level), "Two Column" (used when there's a columns div), "Title and
+ Content" (used for all other slides). We now support three
+ additional layouts: "Comparison", "Content with Caption", and
+ "Blank". The manual describes the logic that determines which
+ layout is used for a slide. Layouts may be customized in the
+ reference doc.
+ + Support specifying slide background images using a `background-image`
+ attribute on the slide's heading. Only the "stretch" mode is supported,
+ and the background image is centred around the slide in the image's
+ larger axis, matching the observed default behaviour of PowerPoint.
+ + Add support for incremental lists (through same methods as in
+ other slide writers) (#5689).
+ + Copy embedded fonts from reference doc.
+ + Include all themes in output archive.
+ + Fix list level numbering (#4828, #4663). In PowerPoint,
+ the content of a top-level list is at the same level as the content
+ of a top-level paragraph: the only difference is that a list style
+ has been applied. Previously, the writer incremented the paragrap
+ h level on each list, turning what should be top-level lists into
+ second-level lists.
+ + Line up list continuation paragraphs. This commit
+ changes the `marL` and `indent` values used for plain paragraphs
+ and numbered lists, and changes the spacing defined in the
+ reference doc master for bulleted lists. For paragraphs, there is
+ now a left-indent taken from the `otherStyle` in the master.
+ For numbered lists, the number is positioned where the text would be
+ if this were a plain paragraph, and the text is indented to the next
+ level. This means that continuation paragraphs line up nicely with
+ numbered lists. Existing reference docs may need to be modified so
+ that `otherStyle` and `bodyStyle` indent levels match, for this
+ feature to work with them.
+ + Consolidate text runs when possible (jgm). This slims down the output
+ files by avoiding unnecessary text run elements.
+ + Support footers in the reference doc.
+ There is one behaviour which may not be immediately obvious: if the
+ reference doc specifies a fixed date (i.e. not automatically updating),
+ and there’s a date specified in the metadata for the document, the
+ footer date is replaced by the metadata date.
+ + Fix presentation rel numbering. Before now, the numbering of `rId`s
+ was inconsistent when making the presentation XML and when making
+ the presentation relationships XML.
+ + Don’t add relationships unnecessarily. Before now, for any layouts
+ added to the output from the default reference doc, the relationships
+ were unconditionally added to the output. However, if there was already
+ a layout in slideMaster1 at the same index then that results in
+ duplicate relationships.
+ + If slide level is 0, don't insert a slide break between a heading
+ and a following table, "columns" div, or paragraph starting
+ with an image.
+ + Fix capitalisation of `notesMasterId`.
+ + Restructure tests.
+
+ * Asciidoc writer:
+
+ + Translate numberLines attribute to `linesnum` switch (Samuel Tardieu).
+ + Improve escaping for `--` in URLs (#7529).
+
+ * LaTeX writer:
+
+ + Make babel use more idiomatic (#7604, hseg). Use babel's
+ bidi implementation. Import babel languages individually instead
+ of as package options. Move `header-includes` to after
+ `babel` setup so it can be modified.
+ + Use babel, not polyglossia, with xelatex. Previously polyglossia
+ worked better with xelatex, but that is no longer the case, so
+ we simplify the code so that babel is used with all latex
+ engines. This involves a change to the default LaTeX template.
+
+ * Markdown writer:
+
+ + Avoid bad wraps at the Doc Text level. Previously we tried to
+ do this at the Inline list level, but it makes more sense to
+ intervene on breaking spaces at the Doc Text level.
+ + Use `underline` class rather than `ul` for underline.
+ This only affects output with `bracketed_spans` enabled.
+ The markdown reader parses spans with either `.ul` or `.underline` as
+ Underline elements, but we're moving towards preferring the latter.
+
+ * RST writer:
+
+ + Properly handle anchors to ids with spaces or leading underscore
+ (#7593). In this cases we need the quoted form, e.g.
+ ```
+ .. _`foo bar`:
+
+ .. _`_foo`:
+ ```
+ Side note: rST will "normalize" these identifiers anyway,
+ ignoring the underscore.
+
+ * HTML writer:
+
+ + Render `\ref` and `\eqref` as inline math, not display (see #7589).
+ + Pass through `\ref` and `\eqref` if MathJax is used (#7587).
+ + Pass through inline math environments with KaTeX.
+ + Support `--reference-location` for HTML output (#7461,
+ Francesco Mazzoli).
+ + Set "hash" to True by default (for reveal.js) (#7574). See #6968
+ where the motivation for setting "hash" to True is explained.
+
+ * Native writer: Use pretty-show to format native output (#7580).
+ Previously we used our own homespun formatting. But this produces
+ over-long lines that aren't ideal for diffs in tests.
+ Performance is slower by about a factor of 10, but this isn't
+ really a problem because native isn't suitable as a serialization
+ format. (For serialization you should use json, because the reader
+ is so much faster than native.)
+
+ * Org writer:
+
+ + Don't indent contents of code blocks. We previously indented them
+ by two spaces, following a common convention. Since the convention
+ is fading, and the indentation is inconvenient for copy/paste, we are
+ discontinuing this practice.
+ + Update list of supported source languages in org writer (#5440).
+
+ * Ipynb writer (Kolen Cheung):
+
+ + Improve round trip identity for raw cell output.
+ See jupyter/nbformat#229. The Jupyter ecosystem, including nbconvert,
+ lab and notebook, deviated from their own spec in nbformat, where
+ they used the key `raw_mimetype` instead of `format`. Moreover,
+ the mime-type of rst used in Jupyter deviated from that suggested by
+ https://docutils.sourceforge.io/FAQ.html and is defined as
+ `text/restructuredtext` when chosen from "Raw NBConvert Format" in
+ Jupyter. The new behavior should matche the real world usage better,
+ hence improving the round-trip "identity" in raw-cell.
+ + Add more formats that can be handled as "raw" cells.
+
+ * EPUB writer:
+
+ + Add EPUB3 subject metadata (authority/term) (nuew).
+ This adds the ability to specify EPUB 3 `authority` and `term` specific
+ refinements to the `subject` tag. Specifying a plain `subject` tag in
+ metadata will function as before.
+ + Treat epub:type "frontispiece" as front matter (#7600).
+
+ * reveal.js template: Fix line numbers in source code (#7634).
+ We need `overflow: visible` for these to work, and reveal's
+ default css disables this. So we re-enable it in the default template.
+
+ * Text.Pandoc.Writers.Shared:
+
+ + Export `splitSentences` as a Doc Text transform [API change].
+ Use this in man/ms.
+
+ We used to attempt automatic sentence splitting in man and ms
+ output, since sentence-ending periods need to be followed by
+ two spaces or a newline in these formats. But it's difficult
+ to do this reliably at the level of `[Inline]`.
+
+ * Text.Pandoc.Translations: small revisions for compatibility
+ with aeson 2.
+
+ * Don't prepend `file://` to `--syntax-definition` on Windows (#6374).
+ This was a fix for a problem in skylighting, but this
+ problem doesn't exist now that we've moved from HXT to xml-conduit.
+
+ * Text.Pandoc.Extensions:
+
+ + Add `Ext_footnotes` to default `gfm` etxensions. Now `gfm`
+ supports footnotes.
+ + Alphabetize Extension constructors (also affects `--list-extensions`).
+
+ * Text.Pandoc.Citeproc.Util: Better implementation of `splitStrWhen`.
+ Previously the citeproc code had two less efficient
+ implementations.
+
+ * Update documentation for definition_list extension (#7594).
+ In 2015, we relaxed indentation requirements for the first
+ line of a definition (see commit d3544dc and issue #2087), but
+ the documnentation wasn't updated to reflect the change.
+
+ * Text.Pandoc.Citeproc.BibTeX: Fix expansion of special strings in series
+ e.g. `newseries` or `library` (#7591). Expansion should not happen
+ when these strings are protected in braces, or when they're
+ capitalized.
+
+ * Text.Pandoc.Logging: add `NotUTF8Encoded` constructor to `LogMessage`
+ [API change].
+
+ * Text.Pandoc.App.FormatHeuristics: remove `.tei.xml` extension for TEI
+ (#7630). This never worked, because `takeExtension`
+ only returns `.xml`. So it won't be missed if we remove it.
+
+ * Text.Pandoc.Image:
+
+ + Generalize `svgToPng` to MonadIO.
+ + `svgToPng`, change first parameter from WriterOptions to Int.
+
+ * Text.Pandoc.Class:
+
+ + Add `readStdinStrict` method to PandocMonad [API change].
+ + Generalize type of `extractMedia` [API change].
+ It was uselessly restricted to PandocIO, instead of any
+ instance of PandocMonad and MonadIO.
+
+ * Text.Pandoc.Class.PandocIO: derive MonadCatch, MonadThrow, MonadMask.
+ This allows us to use `withTempDir` [API change].
+
+ * Add module Text.Pandoc.Class.Sandbox, defining
+ `sandbox`. Exported via Text.Pandoc.Class. [API change]
+
+ * Text.Pandoc.Filter: Generalize type of `applyFilters`
+ from PandocIO to any instance of MonadIO and PandocMonad [API change].
+
+ * Text.Pandoc.PDF: generalize type of `makePDF`:
+ instead of PandocIO, it can be used in any instance of
+ PandocMonad, MonadIO, and MonadMask [API change].
+
+ * Lua subsystem and custom writers: generalize types from PandocIO
+ to any instance of PandocMonad and MonadIO [API change].
+ The type of `runLua` is now
+
+ (PandocMonad m, MonadIO m) => Lua a -> m (Either PandocError a)
+
+ * Text.Pandoc.PDF: Previously we had to run `runIOorExplode` inside
+ `withTempDir`. Now that PandocIO is an instance of MonadMask, this is
+ no longer necessary.
+
+ * Text.Pandoc.App:
+
+ + Reorganize to make it easier to limit IO in main loop.
+ Previously we used liftIO fairly liberally. The code has
+ been restructured to avoid this.
+ + Move output-file writing out of PandocMonad action.
+
+ * Text.Pandoc.App.OutputSettings: Generalize some types
+ so we can run this with any instance of PandocMonad and MonadIO,
+ not just PandocIO.
+
+ * Allow time 1.12.
+
+ * Use skylighting-0.12, skylighting-core-0.12.
+ This fixes highlighting issues with typescript, scala, and other
+ syntaxes that include keyword lists from different syntaxes.
+
+ * Use latest dev version of texmath.
+
+ * Use dev version of citeproc.
+
+ * Require doclayout >= 0.3.1.1. This fixes recognition of "real widths"
+ of emoji characters, which is important for tabular layout.
+
+ * Cut out over 100K of fat in epub test golden files.
+
+ * Make `test/epub/wasteland.epub` valid.
+
+ * Add missing `%` on some command tests.
+ This prevented `--accept` from working properly.
+
+ * Command tests: raise error if command doesn't begin with `%`.
+
+ * OOXML tests: use pretty-printed form to display diffs.
+ Otherwise everything is on one line and the diff is uninformative.
+
+ * Fix compareXML helper in Tests.Writers.OOXML.
+ Given how it is used, we were getting "mine" and "good"
+ flipped in the test results.
+
+ * MANUAL.txt:
+
+ + Clarify `attributes` extension support (William Lupton).
+ + Document formats affected by `--reference-location`.
+ + Document error code 25
+ + Add some more info regarding `--slide-level=0` (Salim B).
+ + Add more to security section of manual.
+ + Mention support of `title-toc` (#7171, Christophe Dervieux).
+
+ * doc/lua-filters.md:
+
+ + Add missing type for Image title (Quinn).
+ + Improve order of Image fields (Quinn).
+ + Rephrase pandoc.path docs (#7548, Quinn).
+ + Do not leak working directory in TikZ filter (Jeroen de Haas).
## pandoc 2.14.2 (2021-08-21)