@@ -1,2001 +1,5 @@
11# Revision history for pandoc
22
3−## pandoc 2.14.0.3 (2021-06-22)
4−
5− * Text.Pandoc.MediaBag `insertMediaBag`: ensure we get a sane mediaPath
6− for URLs (#7391). In earlier 2.14.x versions, we'd get
7− incorrect paths for resources downloaded from URLs when the
8− media are extracted (including in PDF production).
9− * Text.Pandoc.Parsing: improve `emailAddress` (#7398).
10− Previously the parser would accept characters in domains
11− that are illegal in domains, and this sometimes caused it
12− to gobble bits of the following text.
13− * txt2tags reader: modify the email address parser so
14− it still includes form parameters, even after the change to
15− `emailAddress` in Text.Pandoc.Parsing.
16− * Text.Pandoc.Readers.Metadata: Fix regression with comment-only YAML
17− metadata blocks (#7400).
18− * reveal.js writer and template: better handling of options. Previously
19− it was impossible to specify false values for options that default to
20− true (e.g. `center`); setting the option to false just caused the portion
21− of the template setting the option to be omitted. Now we prepopulate
22− all the variables with their default values, including them all
23− unconditionally and allowing them to be overridden.
24− * Markdown writer: Fix regression in code blocks with attributes (#7397).
25− Code blocks with a single class but nonempty attributes
26− were having attributes drop as a result of #7242.
27− * LaTeX writer:
28− + Add strut at end of minipage if it contains line breaks.
29− Without them, the last line is not as tall as it should be in
30− some cases.
31− + Always use a minipage for cells with line breaks, when
32− width information is available (#7393). Otherwise the way we treat them
33− can lead to content that overflows a cell.
34− + Use `\strut` instead of `~` before `\\` in empty line.
35− * Use lts-18.0 stack resolver.
36− * Require skylighting 0.10.5.2 (adding support for Swift).
37− * Require commonmark 0.2.1.
38− * Rephrase section on unsafe HTML in manual.
39− * Create SECURITY.md
40−
41−## pandoc 2.14.0.2 (2021-06-13)
42−
43− * Fix MediaBag regressions (#7345). iIn the 2.14 release `--extract-media`
44− stopped working as before; there could be mismatches between the
45− paths in the rendered document and the extracted media.
46− This patch makes several changes that restore the earlier behavior
47− (while keeping the same API). The `mediaPath` in 2.14 was always
48− constructed from the SHA1 hash of the media contents. Now, we
49− preserve the original path unless it's an absolute path or contains
50− `..` segments (in that case we use a path based on the SHA1 hash of
51− the contents).
52−
53− In Text.Pandoc.MediaBag, `mediaDirectory` and `mediaItems` now use the
54− `mediaPath`, rather than the mediabag key, for the first component of the
55− tuple. This makes more sense, I think, and fits with the documentation of
56− these functions; eventually, though, we should rework the API so that
57− `mediaItems` returns both the keys and the MediaItems.
58−
59− In Text.Pandoc.Class.IO, rewriting of source paths in `extractMedia` has
60− been fixed.
61−
62− In Text.Pandoc.Class.PandocMonad, `fillMediaBag` has been modified so that
63− it doesn't modify image paths (that was part of the problem in #7345).
64−
65− We now do path normalization (e.g. `\` separators on Windows) in
66− writing the media.
67−
68− * Text.Pandoc.PDF:
69−
70− + Text.Pandoc.PDF: Fix regression in 2.14 for generation of PDFs with
71− SVGs (#7344).
72− + Only print relevant part of environment on `--verbose`. Since
73− `--verbose` output might be put in an issue, we want to avoid
74− spilling out secrets in environment variables.
75−
76− * Markdown reader: fix pipe table regression in 2.11.4 (#7343).
77− Previously pipe tables with empty headers (that is, a header
78− line with all empty cells) would be rendered as headerless
79− tables. This broke in 2.11.4. The fix here is to produce an
80− AST with an empty table head when a pipe table has all empty
81− header cells.
82−
83− * LaTeX reader: don't allow optional `*` on symbol control sequences
84− (#7340). Generally we allow optional starred variants of LaTeX commands
85− (since many allow them, and if we don't accept these explicitly,
86− ignoring the star usually gives acceptable results). But we
87− don't want to do this for `\(*\)` and similar cases.
88−
89− * Docx reader: handle absolute URIs in Relationship Target (#7374).
90−
91− * Docx writer: fix handling of empty table headers (Albert Krewinkel,
92− #7369). A table header which does not contain any cells is now treated as
93− an empty header.
94−
95− * LaTeX writer: Fix regression in table header position (#7347).
96− In recent versions the table headers were no longer bottom-aligned
97− (if more than one line). This patch fixes that by using minipages
98− for table headers in non-simple tables.
99−
100− * CommonMark writer:
101−
102− + Do not use simple class for fenced-divs (Jan Tojnar, amends #7242.)
103− + Do not throw away attributes when `Ext_attributes` is enabled.
104− `Ext_attributes` covers at least the following:
105− `Ext_fenced_code_attributes`, `Ext_header_attributes`,
106− `Ext_inline_code_attributes`, `Ext_link_attributes`.
107−
108− * Markdown writer:
109−
110− + Allow `pipe_tables` to be disabled for commonmark formats
111− (`commonmark_x`, `gfm`) (#7375).
112− + Re-use functions from Text.Pandoc.Markdown.Inline (Jan Tojnar).
113−
114− * DocBook writer: Remove non-existent admonitions (Jan Tojnar).
115− `attention`, `error` and `hint` are reStructuredText specific.
116−
117− * HTML writer: Don't omit width attribute on div (#7342).
118−
119− * Text.Pandoc.MIME, `extensionFromMimeType`: add a few special cases.
120− When we do a reverse lookup in the MIME table, we just get the
121− last match, so when the same mime type is associated with several
122− different extensions, we sometimes got weird results, e.g. `.vs`
123− for `text/plain`. These special cases help us get the most standard
124− extensions for mime types like `text/plain`.
125−
126− * Lua utils: fix handling of table headers in `from_simple_table` (Albert
127− Krewinkel, #7369). Passing an empty list of header cells now results
128− in an empty table header.
129−
130− * Text.Pandoc.Citeproc:
131−
132− + Avoid duplicate classes and attributes on references div.
133− + Fix regression in citeproc processing (#7376). If inline
134− references are used (in the metadata `references` field), we
135− should still only include in the bibliography items that are
136− actually cited (unless `nocite` is used).
137−
138− * Require citeproc 0.4.0.1. This fixes a bug which led to doubled
139− "et al." in some (rare) circumstances.
140−
141− * MANUAL.txt:
142−
143− + Mention GladTeX for EPUB export (Sebastian Humenda).
144− This updates the manual and the web site about the GladTeX usage.
145− + More details and a useful link for YAML syntax.
146−
147− * CONTRIBUTING.md: update modules overview (Albert Krewinkel).
148−
149− * using-the-pandoc-api.md: switch from String to Text (Albert Krewinkel).
150−
151−
152−## pandoc 2.14.0.1 (2021-06-01)
153−
154− * Commonmark reader: Fix regression in 2.14 with YAML metdata block parsing,
155− which could cause the document body to be omitted after metadata (#7339).
156−
157− * HTML reader: fix column width regression in 2.14 (#7334).
158− Column widths specified with a style attribute were off by a factor of 100.
159−
160− * Markdown reader: in `rebasePaths`, check for both Windows and Posix
161− absolute paths. Previously Windows pandoc was treating
162− `/foo/bar.jpg` as non-absolute.
163−
164− * Text.Pandoc.Logging: In rendering `LoadedResource`, use relative paths.
165−
166− * Docx writer: fix regression on captions (#7328). The "Table Caption"
167− style was no longer getting applied. (It was overwritten by "Compact.")
168−
169− * Use commonmark-extensions 0.2.1.2
170−
171−## pandoc 2.14 (2021-05-28)
172−
173− * Change reader types, allowing better tracking of source positions
174− [API change]. Previously, when multiple file arguments were provided,
175− pandoc simply concatenated them and passed the contents to the readers,
176− which took a Text argument. As a result, the readers had no way of knowing
177− which file was the source of any particular bit of text. This meant that
178− we couldn't report accurate source positions on errors or include accurate
179− source positions as attributes in the AST. More seriously, it meant that
180− we couldn't resolve resource paths relative to the files containing them
181− (see e.g. #5501, #6632, #6384, #3752).
182−
183− * Add `rebase_relative_paths` extension (#3752). When enabled, this
184− extension rewrites relative image and link paths by prepending
185− the (relative) directory of the containing file. This
186− behavior is useful when your input sources are split
187− into multiple files, across several directories, with files
188− referring to images stored in the same directory. The
189− extension can be enabled for all markdown and commonmark-based formats.
190−
191− * Add Text.Pandoc.Sources (exported module), with a `Sources` type and a
192− `ToSources` class. A `Sources` wraps a list of `(SourcePos, Text)` pairs
193− [API change]. A parsec `Stream` instance is provided for `Sources`. The
194− module also exports versions of parsec's `satisfy` and other Char parsers
195− that track source positions accurately from a `Sources` stream (or any
196− instance of the new `UpdateSourcePos` class).
197−
198− * Text.Pandoc.Parsing
199−
200− + Export the modified Char parsers defined in Text.Pandoc.Sources
201− instead of the ones parsec provides. Modified parsers to use a
202− `Sources` as stream [API change].
203− + Improve include file functions [API change]. Remove old
204− `insertIncludedFileF`. Give `insertIncludedFile` a more general type,
205− allowing it to be used where `insertIncludedFileF` was.
206− + Add parameter to the `citeKey` parser from
207− Text.Pandoc.Parsing, which controls whether the `@{..}`
208− syntax is allowed [API change].
209−
210− * Text.Pandoc.Error: Modified the constructor `PandocParsecError` to take a
211− `Sources` rather than a `Text` as first argument, so parse error locations
212− can be accurately reported.
213−
214− * Fix source position reporting for YAML bibliographies (#7273).
215−
216− * Issue error message when reader or writer format is malformed
217− (#7231). Previously we exited with an error status but (due to a bug)
218− no message.
219−
220− * Smarter smart quotes (#7216, #2103). Treat a leading `"` with no
221− closing `"` as a left curly quote. This supports the practice, in
222− fiction, of continuing paragraphs quoting the same speaker without an
223− end quote. It also helps with quotes that break over lines in line blocks.
224−
225− * Markdown reader:
226−
227− + Use MetaInlines not MetaBlocks for multimarkdown metadata fields.
228− This gives better results in converting to e.g. pandoc markdown.
229− + Implement curly-brace syntax for Markdown citation keys (#6026).
230− The change provides a way to use citation keys that contain
231− special characters not usable with the standard citation key syntax.
232− Example: `@{foo_bar{x}'}` for the key `foo_bar{x}`. It also allows
233− separating citation keys from immediately following text, e.g. `@{foo}A`.
234−
235− * RST reader:
236−
237− + Seek include files in the directory of the file
238− containing the include directive, as RST requires (#6632).
239− + Use `insertIncludedFile` from Text.Pandoc.Parsing
240− instead of reproducing much of its code.
241−
242− * Org reader: Resolve org includes relative to the directory containing the
243− file containing the INCLUDE directive (#5501).
244−
245− * ODT reader: Treat tabs as spaces (#7185, niszet).
246−
247− * Docx reader:
248−
249− + Add handling of vml image objects (#7257, mbrackeantidot).
250− + Support new table features (Emily Bourke, #6316): column
251− spans, row spans, multiple header rows, table description
252− (parsed as a simple caption), captions, column widths.
253−
254− * LaTeX reader:
255−
256− + Improved siunitx support (#6658, #6620).
257− + Better support for `\xspace` (#7299).
258− + Improve parsing of `\def` macros. We previously set "verbatim mode"
259− even for parsing the initial `\def`; this caused problems
260− for `\def` nested inside another `\def`.
261− + Implement `\newif`.
262−
263− * ConTeXt writer: improve ordered lists (#5016, Denis Maier).
264− Change ordered list from itemize to enumerate. Add new
265− itemgroup for ordered lists. Remove manual insertion of
266− width attributes. Use tabular figures in ordered list
267− enumerators.
268−
269− * HTML reader:
270−
271− + Don't fail on unmatched closing "script" tag (Albert Krenkel, #7282).
272− + Keep h1 tags as normal headers (#2293, Albert Krewinkel).
273− The tags `<title>` and `<h1 class="title">` often contain the same
274− information, so the latter was dropped from the document. However, as
275− this can lead to loss of information, the heading is now always
276− retained. Use `--shift-heading-level-by=-1` to turn the `<h1>`
277− into the document title, or a filter to restore the previous behavior.
278− + Handle relative lengths (e.g. `2*`) in HTML column widths (#4063).
279− See <https://www.w3.org/TR/html4/types.html#h-6.6>.
280−
281− * DocBook/JATS readers:
282−
283− + Fix mathml regression caused by the switch in XML libraries (#7173).
284− + Fix "phrase" in DocBook: take classes from "role" not "class" (#7195).
285−
286− * DocBook reader: ensure that first and last names are separated (#6541).
287−
288− * Jira reader (Albert Krewinkel, #7218):
289−
290− + Support "smart" links: `[alias|https://example.com|smart-card]` syntax.
291− + Allow spaces and most unicode characters in attachment links.
292− + No longer require a newline character after `{noformat}`.
293− + Only allow URI path segment characters in bare links.
294− + The `file:` schema is no longer allowed in bare links; these
295− rarely make sense.
296−
297− * Plain writer: handle superscript unicode minus (#7276).
298−
299− * LaTeX writer:
300−
301− + Better handling of line breaks in simple tables (#7272).
302− Now we also handle the case where they're embedded in other elements,
303− e.g. spans.
304− + For beamer output, support `exampleblock` and `alertblock` (#7278).
305− A block will be rendered as an `exampleblock` if the heading
306− has class `example` and an `alertblock` if it has class `alert`.
307− + Separate successive quote chars with thin space (#6958,
308− Albert Krewinkel). Successive quote characters are separated with
309− a thin space to improve readability and to prevent unwanted ligatures.
310− Detection of these quotes sometimes had failed if the second quote
311− was nested in a span element.
312− + Separate successive quote chars with thin space (#6958, Albert
313− Krewinkel).
314−
315− * EPUB Writer: Fix belongs-to-collection XML id choice (#7267, nuew).
316− The epub writer previously used the same XML id for both the book
317− identifier and the epub collection. This causes an error on epubcheck.
318−
319− * BibTeX/BibLaTeX writer: Handle `annote` field (#7266).
320−
321− * ZimWiki writer: allow links and emphasis in headers (#6605,
322− Albert Krewinkel).
323−
324− * ConTeXt writer:
325−
326− + Support blank lines in line blocks (#6564, Albert Krewinkel,
327− thanks to @denismaier).
328− + Use span identifiers as reference anchors (#7246, Albert Krewinkel).
329−
330− * HTML writer:
331−
332− + Keep attributes from code nested below `pre` tag (#7221,
333− Albert Krewinkel). If a code block is defined with `<pre><code
334− class="language-x">…</code></pre>`, where the `<pre>` element has no
335− attributes, then the attributes from the `<code>` element are used
336− instead. Any leading `language-` prefix is dropped in the code's
337− `class` attribute are dropped to improve syntax highlighting.
338− + Ensure headings only have valid attribs in HTML4 (#5944, Albert
339− Krewinkel).
340− + Parse `<header>` as a Div (Albert Krewinkel).
341−
342− * Org writer:
343−
344− + Inline latex envs need newlines (#7252, tecosaur).
345− As specified in https://orgmode.org/manual/LaTeX-fragments.html, an
346− inline \begin{}...\end{} LaTeX block must start on a new line.
347− + Use LaTeX style maths deliminators (#7196, tecosaur).
348−
349− * JATS writer (Albert Krewinkel):
350−
351− + Use either styled-content or named-content for spans (#7211).
352− If the element has a content-type attribute, or at least one class,
353− then that value is used as `content-type` and the span is put inside
354− a `<named-content>` element. Otherwise a `<styled-content>` element
355− is used instead.
356− + Reduce unnecessary use of `<p>` elements for wrapping (#7227).
357− The `<p>` element is used for wrapping in cases were the contents
358− would otherwise not be allowed in a certain context. Unnecessary
359− wrapping is avoided, especially around quotes (`<disp-quote>` elements).
360− + Convert spans to `<named-content>` elements (#7211). Spans with
361− attributes are converted to `<named-content>` elements instead of
362− being wrapped with `<milestone-start/>` and `<milestone-end>`
363− elements. Milestone elements are not allowed in documents using the
364− articleauthoring tag set, so this change ensures the creation of valid
365− documents.
366− + Add footnote number as label in backmatter (#7210). Footnotes in the
367− backmatter are given the footnote's number as a label. The
368− articleauthoring output is unaffected from this change, as footnotes
369− are placed inline there.
370− + Escape disallows chars in identifiers. XML identifiers must start
371− with an underscore or letter, and can contain only a limited set
372− of punctuation characters. Any IDs not adhering to these rules are
373− rewritten by writing the offending characters as `Uxxxx`,
374− where `xxxx` is the character's hex code.
375−
376− * Jira writer: use `{color}` when span has a color attribute
377− (Albert Krewinkel, tarleb/jira-wiki-markup#10).
378−
379− * Docx writer:
380−
381− + Autoset table width if no column has an explicit width (Albert
382− Krewinkel).
383− + Extract Table handling into separate module (Albert Krewinkel).
384− + Support colspans and rowspans in tables (Albert Krewinkel, #6315).
385− + Support multirow table headers (Albert Krewinkel).
386− + Improve integration of settings from reference.docx (#1209).
387− This change allows users to create a reference.docx that
388− sets `w:proofState` for spelling or grammar to `dirty`,
389− so that spell/grammar checking will be triggered on the
390− generated docx.
391− + Copy over more settings from reference.docx (#7240). From settings.xml
392− in the reference-doc, we now include: `zoom`, `embedSystemFonts`,
393− `doNotTrackMoves`, `defaultTabStop`, `drawingGridHorizontalSpacing`,
394− `drawingGridVerticalSpacing`, `displayHorizontalDrawingGridEvery`,
395− `displayVerticalDrawingGridEvery`, `characterSpacingControl`,
396− `savePreviewPicture`, `mathPr`, `themeFontLang`, `decimalSymbol`,
397− `listSeparator`, `autoHyphenation`, `compat`.
398− + Set zoom to 100% by default in settings.xml.
399− + Align math options more with current Word defaults (e.g. Cambria Math
400− font).
401− + Remove `rsid`s from default settings.xml. Word will add these
402− when revisions are made.
403−
404− * Ms writer: Handle tables with multiple paragraphs (#7288).
405− Previously they overflowed the table cell width. We now set line lengths
406− per-cell and restore them after the table has been written.
407−
408− * Markdown writer:
409−
410− + Use cleaner braceless syntax for code blocks with a
411− single class (#7242, Jan Tojnar).
412− + Add quotes properly in markdown YAML metadata fields (#7245).
413− This fixes a bug, which caused the writer to look at the *last*
414− rather than the *first* character in determining whether quotes
415− were needed. So we got spurious quotes in some cases and
416− didn't get necessary quotes in others.
417− + Use `@{..}` syntax for citations when needed.
418− + Use fewer unneeded escapes for `#` (see #6259).
419− + Improve escaping of `@`. We need to escape literal `@` before
420− `{` because of the new citation syntax.
421−
422− * Commonmark writer: Use backslash escapes for `<` and `|`...
423− instead of entities (#7208).
424−
425− * Powerpoint writer: allow `monofont` to be specified in metadata
426− (#7187).
427−
428− * LaTeX template:
429−
430− + Use non-starred names for xcolor color names (#6109).
431− This should make svgnames and x11names work properly.
432− + Fix bad vertical spacing after bibliography (#7234, badumont).
433− + List of figures before list of tables (#7235, Julien Dutant).
434− + Move CSL macro definitions before header-includes so they can be
435− overridden (#7286).
436− + Improve treatment of CSL `entry-spacing` (#7296).
437− Previously with the default template settings (`indent` variable
438− not set), we would get interparagraph spaces separating bib
439− entries even with `entry-spacing="0"`. On the other hand,
440− setting `entry-spacing="2"` gave ridiculously large spacing.
441− This change makes the spacing caused by `entry-spacing` a multiple
442− of `\parskip` by default, which gives aesthetically reasonable
443− output. Those who want a larger or smaller unit (e.g. because
444− they use `indent` which sets `\parskip` to 0) may
445− `\setlength{\cslentryspacingunit}{10pt}` in header-includes
446− to override the defaults.
447− + Move title, author, date up to top of preamble (#7295).
448− This allows header-includes to use them, and puts them
449− in a position where you can see them immediately.
450− + Define commands for zero width non-joiner character
451− (#6639, Albert Krewinkel). The zero-width non-joiner character
452− is used to avoid ligatures (e.g. in German).
453−
454− * ConTeXt template:
455−
456− + Define `enumerate` itemgroup (#5016, Denis Maier).
457− + List of figures before list of tables (#7235, Julien Dutant).
458−
459− * reveal.js template:
460−
461− + Support `toc-title` (#7171, Florian Kohrt).
462− + Use `hash: true` by default rather than `history: true` (#6968).
463−
464− * HTML-based slide shows: add support for `institute` (#7289, Thomas
465− Hodgson).
466−
467− * Text.Pandoc.Extensions: Add constructor `Ext_rebase_relative_paths` to
468− `Extensions` [API change].
469−
470− * Text.Pandoc.XML.Light: add Eq, Ord instances for Content,
471− Element, Attr, CDataKind [API change].
472−
473− * Text.Pandoc.MediaBag:
474−
475− + Change type to use a `Text` key instead of `[FilePath]`.
476− We normalize the path and use `/` separators for consistency.
477− + Export `MediaItem` type [API change].
478− + Change `MediaBag` type to a map from Text to MediaItem [API change].
479− + `lookupMedia` now returns a `MediaItem` [API change].
480− + Change `insertMedia` so it sets the `mediaPath` to a filename based on
481− the SHA1 hash of the contents. This will be used when contents
482− are extracted.
483−
484− * Text.Pandoc.Class.PandocMonad:
485−
486− + Remove `fetchMediaResource` [API change]. Use `fetchItem` to get
487− resources in `fillMediaBag`.
488− + Add informational message in `downloadOrRead` indicating what path
489− local resources have been loaded from.
490−
491− * Text.Pandoc.Logging:
492−
493− + Remove single quotes around paths in messages.
494− + Add LoadedResource constructor to LogMessage [API change].
495− This is for INFO-level messages telling where image data has been
496− loaded from. (This can vary because of the resource path.)
497−
498− * Text.Pandoc.Asciify: simplify code and export `toAsciiText` [API change].
499− Instead of encoding a giant (and incomplete) map, we now
500− just use unicode-transforms to normalize the text to
501− a canonical decomposition, and manipulate the result.
502−
503− * App: allow tabs expansion even if file-scope is used (Albert Krewinkel,
504− #6709). Tabs in plain-text inputs are now handled correctly, even if
505− the `--file-scope` flag is used.
506−
507− * Add new internal module Text.Pandoc.Writers.GridTable (Albert Krewinkel).
508−
509− * Text.Pandoc.Highlighting: Change type of `languagesByExtension`, adding
510− a parameter for a `SyntaxMap` [API change] (Jan Tojnar, #7241).
511− Languages defined using `--syntax-definition` were not recognized by
512− `languagesByExtension`. This patch corrects that, allowing the writers
513− to see all custom definitions. The LaTeX writer still uses the default
514− syntax map, but that's okay in that context, since
515− `--syntax-definition` won't create new listings styles.
516−
517− * Text.Pandoc.Citeproc:
518−
519− + Ensure that CSL-related attributes are passed on to a Div with id
520− 'refs'. Otherwise things like `entry-spacing` won't work when
521− such Divs are used.
522− + Use metadata's `lang` for the lang parameter of citeproc, overriding
523− `localeLanguage`.
524− + Recognize locators spelled with a capital letter (#7323).
525− + Add a comma and a space in front of the suffix if it doesn't start
526− with space or punctuation (#7324).
527− + Don't detect math elements as locators (#7321).
528−
529− * Remove Text.Pandoc.BCP47 module [API change]. Use types and functions
530− from UnicodeCollation.Lang instead. This is a richer implementation
531− of BCP 47.
532−
533− * Text.Pandoc.Shared:
534−
535− + Fix regression in grid tables for wide characters (#7214).
536− In the translation from String to Text, a char-width-sensitive
537− `splitAt'` was dropped. This commit reinstates it and uses it to make
538− `splitTextByInstances` char-width sensitive.
539− + Add `getLang` (formerly in the now-removed BCP47) [API change].
540−
541− * Text.Pandoc.SelfContained: use `application/octet-stream`
542− for unknown mime types instead of halting with an error (#7202).
543−
544− * Lua filters: respect Inlines/Blocks filter functions in `pandoc.walk_*`
545− (Albert Krewinkel).
546−
547− * Add text as build-depend for trypandoc (#7193, Roman Beránek).
548−
549− * Bump upper-bounds for network-uri, time, attoparsec.
550−
551− * Use citeproc 0.4.
552−
553− * Use texmath 0.12.3.
554−
555− * Use jira-wiki-markup 1.3.5 (Albert Krewinkel).
556−
557− * Require latest skylighting (fixes a bug in XML syntax highlighting).
558−
559− * Use latest xml-conduit.
560−
561− * Use latest commonmark, commonmark-extensions, commonmark-pandoc.
562−
563− * Use haddock-library-1.10.0 (Albert Krewinkel).
564−
565− * Allow compilation with base 4.15 (Albert Krewinkel).
566−
567− * MANUAL:
568−
569− + Add information about `lang` and bibliography sorting.
570− + Add info about YAML escape sequences, link to spec (#7152,
571− Albert Krewinkel).
572− + Note that `institute` variable works for HTML-based slides.
573− + Update documentation on citation syntax.
574− + Add citation example for locators and suffixes (Tristan Stenner)
575−
576− * Updated and fixed typos in documentation (Charanjit Singh,
577− Anti-Distinctlyminty, Tatiana Porras, obcat).
578−
579− * Add instructions for installing pandoc-types before compiling filter.
580−
581− * INSTALL: add note that parallel installations should be avoided
582− (#6865).
583−
584− * Remove `biblatex-nussbaum.md` test. It is basically the same
585− as `biblaetx-quotes.md`.
586−
587− * Command tests: fail if a file contains no tests---and fix a
588− test that failed in that way!
589−
590− * Use smaller images in tests, reducing the size of the source tarball by 8 MB.
591−
592−
593−## pandoc 2.13 (2021-03-21)
594−
595− * Support `yaml_metadata_block` extension for `commonmark`, `gfm` (#6537).
596− This supported is a bit more limited than with pandoc's
597− `markdown`. The YAML block must be the first thing in the input,
598− and the leaf notes are parsed in isolation from the rest of
599− the document. So, for example, you can't use reference
600− links if the references are defined later in the document.
601−
602− * Fix fallback to default partials when custom templates are used.
603− If the directory containing a template does not contain the partial,
604− it should be sought in the default templates, but this was not
605− working properly (#7164).
606−
607− * Handle `nocite` better with `--biblatex` and `--natbib` (#4585).
608− Previously the nocite metadata field was ignored with these formats.
609− Now it populates a `nocite-ids` template variable and causes a
610− `\nocite` command to be issued.
611−
612− * Text.Pandoc.Citeproc: apply `fixLinks` correctly (#7130). This is code
613− that incorporates a prefix like `https://doi.org/` into a following link
614− when appropriate.
615−
616− * Text.Pandoc.Shared:
617−
618− + Remove `backslashEscapes`, `escapeStringUsing` [API change]. Replace
619− these inefficient association list lookups with more efficient escaping
620− functions in the writers that used them (for a 10-25% performance boost
621− in org, haddock, rtf, texinfo writers).
622− + Remove `ToString`, `ToText` typeclasses [API change]. These were needed
623− for the transition from String to Text, but they are no longer used and
624− may clash with other things.
625− + Simplify `compactDL`.
626−
627− * Text.Pandoc.Parsing:
628−
629− + Change type of `readWithM` so that it is no longer polymorphic
630− [API change]. The `ToText` class has been removed, and now that we've
631− completed the transition to Text we no longer need this to operate
632− on Strings.
633− + Remove `F` type synonym [API change]. Muse and Org were defining their
634− own `F` anyway.
635−
636− * Text.Pandoc.Readers.Metadata:
637−
638− + Export `yamlMetaBlock` [API change].
639− + Make `yamlBsToMeta`, `yamlBsToRefs` polymorphic on the parser state
640− [API change].
641−
642− * Markdown reader: Fix regression with `tex_math_backslash` (#7155).
643−
644− * MediaWiki reader: Allow block-level content in notes (ref) (#7145).
645−
646− * Jira reader (Albert Krewinkel):
647−
648− + Fixed parsing of autolinks (i.e., of bare URLs in the text).
649− Previously an autolink would take up the rest of a line, as spaces
650− were allowed characters in these items.
651− + Emoji character sequences no longer cause parsing failures. This was
652− due to missing backtracking when emoji parsing fails.
653− + Mark divs created from panels with class "panel".
654−
655− * RST reader: fix logic for ending comments (#7134). Previously comments
656− sometimes got extended too far.
657−
658− * DocBook writer: include Header attributes as XML attributes on
659− section (Erik Rask). Attributes with key names that are not allowed
660− as XML attributes are dropped, as are attributes with invalid values
661− and `xml:id` (DocBook 5) and `id` (DocBook 4).
662−
663− * Docx writer:
664−
665− + Make `nsid` in `abstractNum` deterministic. Previously we assigned
666− a random number, but we don't need random values, so now we just
667− assign a value based on the list marker.
668− + Use integral values for `w:tblW` (#7141).
669−
670− * Jira writer (Albert Krewinkel):
671−
672− + Block quotes are only rendered as `bq.` if they do not contain a
673− linebreak.
674− + Jira writer: improve div/panel handling. Include div attributes in
675− panels, always render divs with class `panel` as panels, and
676− avoid nesting of panels.
677−
678− * HTML writer: Add warnings on duplicate attribute values.
679− This prevents emitting invalid HTML. Ultimately it would be good to
680− prevent this in the types themselves, but this is better for now.
681−
682− * Org writer: Prevent unintended creation of ordered list items (#7132,
683− Albert Krewinkel). Adjust line wrapping if default wrapping would cause
684− a line to be read as an ordered list item.
685−
686− * JATS templates: support 'equal-contrib' attrib for authors (Albert
687− Krewinkel). Authors who contributed equally to a paper may be marked
688− with `equal-contrib`.
689−
690− * reveal.js template: replace JS comment with HTML (#7154, Florian Kohrt).
691−
692− * Text.Pandoc.Logging: Add `DuplicateAttribute` constructor to `LogMessage`.
693− [API change]
694−
695− * Use `-j4` for linux release build. This speeds up the build dramatically
696− on arm.
697−
698− * cabal.project: remove ghcoptions. Move flags to top level, so they can
699− be set differently on the command line.
700−
701− * Require latest texmath, skylighting, citeproc, jira-wiki-markup.
702− (The latest skylighting fixes a bad bug with Haskell syntax highlighting.)
703− Narrow version bounds for texmath, skylighting, and citeproc, since
704− the test output depend on them.
705−
706− * Use doclayout 0.3.0.2. This significantly reduces the time and memory
707− needed to compile pandoc.
708−
709− * Use `foldl'` instead of `foldl` everywhere.
710−
711− * Update bounds for random (#7156, Alexey Kuleshevich).
712−
713− * Remove uses of some partial functions.
714−
715− * Don't bake in a larger stack size for the executable.
716−
717− * Test improvements:
718−
719− + Use `getExecutablePath` from base, avoiding the dependency on
720− `executable-path`.
721− + Factor out `setupEnvironment` in Helpers, to avoid code duplication.
722− + Fix finding of data files by setting teh `pandoc_datadir` environment
723− variable when we shell out to pandoc. This avoids the need to use
724− `--data-dir` for the tests, which caused problems finding `pandoc.lua`
725− when compiling without the `embed_data_files` flag (#7163).
726−
727− * Benchmark improvements:
728−
729− + Build `+RTS -A8m -RTS` into default ghc-options for benchmark.
730− This is necessary to get accurate benchmark results; otherwise we
731− are largely measuring garbage collecting, some not related to the
732− current benchmark.
733− + Allow specifying BASELINE file in 'make bench' for comparison
734− (otherwise the latest benchmark is chosen by default).
735− + Force `readFile` in benchmarks early (Bodigrim).
736−
737− * CONTRIBUTING: suggest using a `cabal.project.local` file (#7153,
738− Albert Krewinkel).
739−
740− * Add ghcid-test to Makefile. This loads the test suite in ghcid.
741−
742−
743−## pandoc 2.12 (2021-03-08)
744−
745− * `--resource-path` now accumulates if specified multiple
746− times (#6152). Resource paths specified later on the command line are
747− prepended to those specified earlier. Thus,
748− `--resource-path foo --resource-path bar:baz` is equivalent to
749− `--resource-path bar:bas:foo`. (The previous behavior was
750− for the last `--resource-path` to replace all the rest.)
751− `resource-path` in defaults files behaves the same way: it
752− will be prepended to the resource path set by earlier
753− command line options or defaults files. This change
754− facilitates the use of multiple defaults files: each can
755− specify a directory containing resources it refers to
756− without clobbering the resource paths set by the others.
757−
758− * Allow defaults files to refer to the home directory, the
759− user data directory, and the directory containing the defaults file
760− itself (#5871, #5982, #5977). In fields that expect file paths
761− (and only in these fields),
762−
763− + `${VARIABLE}` will expand to the value of the environment variable
764− `VARIABLE` (and in particular `${HOME}` will expand to the path
765− of the home directory). A warning will be raised for undefined
766− variables.
767− + `${USERDATA}` will expand to the path of the user data
768− directory in force when the defaults file is being processed.
769− + `${.}` will expand to the directory containing the defaults file.
770− (This allows default files to be placed in a directory containing
771− resources they make use of.)
772−
773− * When downloading content from URL arguments, be sensitive to
774− the character encoding (#5600). We can properly handle UTF-8 and latin1
775− (ISO-8859-1); for others we raise an error. Fall back to latin1 if
776− no charset is given in the mime type and UTF-8 decoding fails.
777−
778− * Allow abbreviations that don't end in a period to be
779− specified using `--abbreviations` (#7124).
780−
781− * Add new unexported module Text.Pandoc.XML.Light, as well
782− as Text.Pandoc.XML.Light.Types, Text.Pantoc.XML.Light.Proc,
783− Text.Pandoc.XML.Light.Output. (Closes #6001, #6565, #7091).
784−
785− This module exports definitions of `Element` and `Content`
786− that are isomorphic to xml-light's, but with Text
787− instead of String. This allows us to keep most of the code in existing
788− readers that use xml-light, but avoid lots of unnecessary allocation.
789−
790− We also add versions of the functions from xml-light's
791− Text.XML.Light.Output and Text.XML.Light.Proc that operate on our
792− modified XML types, and functions that convert xml-light types to our
793− types (since some of our dependencies, like texmath, use xml-light).
794−
795− We export functions that use xml-conduit's parser to produce an
796− `Element` or `[Content]`. This allows existing pandoc code to use
797− a better parser without much modification.
798−
799− The new parser is used in all places where xml-light's parser was
800− previously used. Benchmarks show a significant performance improvement
801− in parsing XML-based formats (with docbook, opml, jats, and docx
802− almost twice as fast, odt and fb2 more than twice as fast).
803−
804− In addition, the new parser gives us better error reporting than
805− xml-light. We report XML errors, when possible, using the new
806− `PandocXMLError` constructor in `PandocError`.
807−
808− These changes revealed the need for some changes in the tests. The
809− docbook-reader.docbook test lacked definitions for the entities it used;
810− these have been added. And the docx golden tests have been updated,
811− because the new parser does not preserve the order of attributes.
812−
813− * DocBook reader:
814−
815− + Avoid expensive tree normalization step, as it is not necessary
816− with the new XML parser.
817− + Support `informalfigure` (#7079) (Nils Carlson).
818−
819− * Docx reader:
820−
821− + Use Map instead of list for Namespaces. This gives a speedup of
822− about 5-10%. With this and the XML parsing changes, the docx reader
823− is now about twice as fast as in the previous release.
824−
825− * HTML reader:
826−
827− + Small performance tweaks.
828− + Also, remove exported class `NamedTag(..)` [API change]. This was just
829− intended to smooth over the transition from String to Text and is no
830− longer needed.
831− + As a result, the functions `isInlineTag` and `isBlockTag`
832− are no longer polymorphic; they apply to a `Tag Text` [API change].
833− + Do a lookahead to find the right parser to use. This takes
834− benchmarks from 34ms to 23ms, with less allocation.
835− + Fix bad handling of empty `src` attribute in `iframe` (#7099).
836− If `src` is empty, we simply skip the `iframe`.
837− If `src` is invalid or cannot be fetched, we issue a warning
838− nd skip instead of failing with an error.
839−
840− * JATS reader:
841−
842− + Avoid tree normalization, which is no longer necessary given the
843− new XML parser.
844−
845− * LaTeX reader:
846−
847− + Don't export `tokenize`, `untokenize` [API change]. These are internal
848− implementation details, which were only exported for testing.
849− They don't belong in the public API.
850− + Improved efficiency of the parser. With these changes the reader
851− is almost twice as fast as in the last release in our benchmarks.
852− + Code cleanup, removing some unnecessary things.
853− + Rewrite `withRaw` so it doesn't rely on fragile assumptions
854− about token positions (which break when macros are expanded)
855− (#7092). This requires the addition of `sEnableWithRaw` and
856− `sRawTokens` in `LaTeXState`, and a new combinator `disablingWithRaw`
857− to disable collecting of raw tokens in certain contexts.
858− Add `parseFromToks` to Text.Pandoc.Readers.LaTeX.Parsing.
859− Fix parsing of single character tokens so it doesn't mess
860− up the new raw token collecting. These changes slightly increase
861− allocations and have a small performance impact.
862− + Handle some bibtex/biblatex-specific commands that used to be
863− dealt with in pandoc-citeproc (#7049).
864− + Optimize `satisfyTok`, avoiding unnecessary macro expansion steps.
865− Benchmarks after this change show 2/3 of the run time and 2/3 of the
866− allocation of the Feb. 10 benchmarks.
867− + Removed `sExpanded` in state. This isn't actually needed and checking
868− it doesn't change anything.
869− + Improve `braced'`. Remove the parameter, have it parse the
870− opening brace, and make it more efficient.
871− + Factor out pieces of the LaTeX reader to make the module smaller.
872− This reduces memory demands when compiling. Created
873− Text.Pandoc.Readers.{LaTeX,Math,Citation,Table,Macro,Inline}.
874− Changed Text.Pandoc.Readers.LaTeX.SIunitx to export a command map
875− instead of individual commands.
876− + Handle table cells containing `&` in `\verb` (#7129).
877−
878− * Make Text.Pandoc.Readers.LaTeX.Types an unexported module [API change].
879−
880− * Markdown reader:
881−
882− + Improved handling of mmd link attributes in references (#7080).
883− Previously they only worked for links that had titles.
884− + Improved efficiency of the parser (benchmarks show a 15% speedup).
885−
886− * OPML reader:
887−
888− + Avoid tree normalization, which is no longer necessary with the
889− new XML parser.
890−
891− * ODT reader:
892−
893− + Finer-grained errors on parse failure (#7091).
894− + Give more information if the zip container can't be unpacked.
895−
896− * Org reader:
897−
898− + Support `task_lists` extension (Albert Krewinkel, #6336).
899− + Fix bug in org-ref citation parsing (Albert Krewinkel, #7101).
900− The org-ref syntax allows to list multiple citations separated by
901− comma. Previously commas were accepted as part of the citation id,
902− so all citation lists were parsed as one single citation.
903−
904− * RST reader:
905−
906− + Use `getTimestamp` instead of `getCurrentTime` to fetch timestamp.
907− Setting `SOURCE_DATE_EPOCH` will allow reproducible builds.
908− + RST reader: fix handling of header in CSV tables (#7064).
909− The interpretation of this line is not affected by the delim option.
910−
911− * Jira reader:
912−
913− + Modified the Doc parser to skip leading blank lines. This fixes
914− parsing of documents which start with multiple blank lines (Albert
915− Krewinkel, #7095).
916− + Prevent URLs within link aliases to be treated as autolinks (Albert
917− Krewinkel, #6944).
918−
919− * Text.Pandoc.Shared
920−
921− + Remove formerly exported functions that are no longer used in the
922− code base: `splitByIndices`, `splitStringByIndicies`, `substitute`,
923− and `underlineSpan` (which had been deprecated in April 2020)
924− [API change].
925− + Export `handleTaskListItem` (Albert Krewinkel) [API change].
926− + Change `defaultUserDataDirs` to `defaultUserDataDir` [API
927− change]. We determine what is the default user data directory
928− by seeing whether the XDG directory and/or legacy
929− directory exist.
930−
931− * BibTeX writer:
932−
933− + BibTeX writer: use doclayout and doctemplate. This change allows
934− bibtex/biblatex output to wrap as other formats do,
935− depending on the settings of `--wrap` and `--columns` (#7068).
936−
937− * CSL JSON writer:
938−
939− + Output `[]` if no references in input, instead of raising a
940− PandocAppError as before.
941−
942− * Docx writer:
943−
944− + Use `getTimestamp` instead of `getCurrentTime` for timestamp.
945− Setting `SOURCE_DATE_EPOCH` will allow reproducible builds.
946−
947− * EPUB writer:
948−
949− + Use `getTimestamp` instead of `getCurrentTime` for timestamp.
950− Setting `SOURCE_DATE_EPOCH` will allow reproducible builds (#7093).
951− This does not suffice to fully enable reproducible in EPUB, since
952− a unique id is still being generated for each build.
953− + Support `belongs-to-collection` metadata (#7063) (Nick Berendsen).
954−
955− * JATS writer:
956−
957− + Escape special chars in reference elements (Albert Krewinkel).
958− Prevents the generation of invalid markup if a citation element
959− contains an ampersand or another character with a special meaning
960− in XML.
961−
962− * Jira writer:
963−
964− + Use Span identifiers as anchors (Albert Krewinkel).
965− + Use `{noformat}` instead of `{code}` for unknown languages (Albert
966− Krewinkel). Code blocks which are not marked as a language supported
967− by Jira are rendered as preformatted text via `{noformat}` blocks.
968−
969− * LaTeX writer:
970−
971− + Adjust hypertargets to beginnings of paragraphs (#7078).
972− Use `\vadjust pre` so that the hypertarget takes you to the beginning
973− of the paragraph rather than one line down.
974− This makes a particular difference for links to citations using
975− `--citeproc` and `link-citations: true`.
976− + Change BCP47 lang tag from `jp` to `ja` (Mauro Bieg, #7047).
977− + Use function instead of map for accent lookup (should be
978− more efficient).
979− + Split the module to make it easier to compile on low-memory
980− systems: added Text.Pandoc.Writers.LaTeX.{Util,Citation,Lang}.
981−
982− * Markdown writer:
983−
984− + Handle math right before digit. We insert an HTML comment to
985− avoid a `$` right before a digit, which pandoc will not recognize
986− as a math delimiter.
987− + Split the module to make it easier to compile on low-memory
988− systems: added Text.Pandoc.Writers.Markdown.{Types,Inline}.
989−
990− * ODT writer:
991−
992− + Use `getTimestamp` instead of `getCurrentTime` for timestamp.
993− Setting `SOURCE_DATE_EPOCH` will allow reproducible builds.
994− + Update default ODT style (Lorenzo). Previously, the "First paragraph"
995− style inherited from "Standard" but not from "Text body." Now
996− it is adjusted to inherit from "Text body", to avoid some ugly
997− spacing issues. It may be necessary to update a custom `reference.odt`
998− in light of this change.
999−
1000− * Org writer:
1001−
1002− + Support `task_lists` extension (Albert Krewinkel, #6336).
1003−
1004− * Pptx writer:
1005−
1006− + Use `getTimestamp` instead of `getCurrentTime` for timestamp.
1007− Setting `SOURCE_DATE_EPOCH` will allow reproducible builds.
1008−
1009− * JATS templates: tag `author.name` as `string-name` (Albert Krewinkel).
1010− The partitioning the components of a name into surname, given names,
1011− etc. is not always possible or not available. Using `author.name`
1012− allows to give the full name as a fallback to be used when
1013− `author.surname` is not available.
1014−
1015− * Add default templates for bibtex and biblatex, so that
1016− the variables `header-include`, `include-before`, `include-after`
1017− (or alternatively the command line options
1018− `--include-in-header`, `--include-before-body`, `--include-after-body`)
1019− may be used.
1020−
1021− * LaTeX template:
1022−
1023− + Update to iftex package (#7073) (Andrew Dunning)
1024− + Wrap url colours in braces (#7121) (Loïc Grobol).
1025−
1026− * revealjs template: Add 'center' option for vertical slide centering.
1027− (maurerle, #7104).
1028−
1029− * Text.Pandoc.XML: Improve efficiency of `fromEntities`.
1030−
1031− * Text.Pandoc.MIME
1032−
1033− + Add exported function `getCharset` [API change].
1034−
1035− * Text.Pandoc.UTF8: change IO functions to return Text, not String
1036− [API change]. This affects `readFile`, `getContents`, `writeFileWith`,
1037− `writeFile`, `putStrWith`, `putStr`, `putStrLnWith`, `putStrLn`.
1038− `hPutStrWith`, `hPutStr`, `hPutStrLnWith`, `hPutStrLn`, `hGetContents`.
1039− This avoids the need to uselessly create a linked list of characters
1040− when emiting output.
1041−
1042− * Text.Pandoc.App
1043−
1044− + Add `parseOptionsFromArgs` [API change, new exported function].
1045− + Add fields for CSL options to `Opt` [API change]:
1046− `optCSL`, `optbibliography`, `optCitationAbbreviations`.
1047−
1048− * Text.Pandoc.Citeproc.BibTeX
1049−
1050− + `Text.Pandoc.Citeproc.writeBibTeXString` now returns
1051− `Doc Text` instead of `Text` (#7068).
1052− + Correctly handle `pages` (= `page` in CSL) (#7067).
1053− + Correctly handle BibLaTeX `langid` (= `language` in CSL, #7067).
1054− + In BibTeX output, protect foreign titles since there's no language
1055− field (#7067).
1056− + Clean up BibTeX parsing (#7049). Previously there was a messy code
1057− path that gave strange results in some cases, not passing through raw
1058− tex but trying to extract a string content. This was an artefact of
1059− trying to handle some special bibtex-specific commands in the BibTeX
1060− reader. Now we just handle these in the LaTeX reader and simplify
1061− parsing in the BibTeX reader. This does mean that more raw tex will
1062− be passed through (and currently this is not sensitive to the
1063− `raw_tex` extension; this should be fixed).
1064−
1065− * Text.Pandoc.Citeproc.MetaValue
1066−
1067− + Correctly parse "raw" date value in markdown references metadata.
1068− (See jgm/citeproc#53.)
1069−
1070− * Text.Pandoc.Citeproc
1071−
1072− + Use https URLs for links (Salim B, #7122).
1073−
1074− * Text.Pandoc.Class
1075−
1076− + Add `getTimestamp` [API change]. This attempts to read the
1077− `SOURCE_DATE_EPOCH` environment variable and parse a UTC time
1078− from it (treating it as a unix date stamp, see
1079− https://reproducible-builds.org/specs/source-date-epoch/). If the
1080− variable is not set or can't be parsed as a unix date stamp, then the
1081− function returns the current date.
1082−
1083− * Text.Pandoc.Error
1084−
1085− + Add `PandocUnsupportedCharsetError` constructor for
1086− `PandocError` [API change].
1087− + Export `renderError` [API change].
1088− + Refactor `handleError` to use `renderError`. This allows us render
1089− error messages without exiting.
1090−
1091− * Text.Pandoc.Extensions
1092−
1093− + `Ext_task_lists` is now supported by org (and turned
1094− on by default) (Albert Krewinkel, #6336).
1095− + Remove `Ext_fenced_code_attributes` from allowed commonmark attributes
1096− (#7097). This attribute was listed as allowed, but it didn't actually
1097− do anything. Use `attributes` for code attributes and more.
1098−
1099− * Lua subsystem:
1100−
1101− + Always load built-in Lua scripts from default data-dir (Albert
1102− Krewinkel). The Lua modules `pandoc` and `pandoc.List` are now always
1103− loaded from the system's default data directory. Loading from a
1104− different directory by overriding the default path, e.g. via
1105− `--data-dir`, is no longer supported to avoid unexpected behavior
1106− and to address security concerns.
1107− + Add module "pandoc.path" (Albert Krewinkel, #6001, #6565).
1108− The module allows to work with file paths in a convenient and
1109− platform-independent manner.
1110− + Use strict evaluation when retrieving AST value from the stack
1111− (Albert Krewinkel, #6674).
1112−
1113− * Text.Pandoc.PDF
1114−
1115− + Disable `smart` extension when building PDF via LaTeX.
1116− This is to prevent accidental creation of ligatures like
1117− `` ?` `` and `` !` `` (especially in languages with quotations like
1118− German), and similar ligature issues. (See jgm/citeproc#54.)
1119−
1120− * Text.Pandoc.CSV:
1121−
1122− + Fix parsing of unquoted values (#7112). Previously we didn't allow
1123− unescaped quotes in unquoted values, but they are allowed
1124− in CSV.
1125−
1126− * Test suite:
1127−
1128− + Use a more robust method for testing the executable. Many
1129− of our tests require running the pandoc executable. This
1130− is problematic for a few different reasons. First,
1131− cabal-install will sometimes run the test suite after
1132− building the library but before building the executable,
1133− which means the executable isn't in place for the tests.
1134− One can work around that by first building, then building
1135− and running the tests, but that's fragile. Second, we
1136− have to find the executable. So far, we've done that using
1137− a function `findPandoc` that attempts to locate it
1138− relative to the test executable (which can be located
1139− using findExecutablePath). But the logic here is delicate
1140− and work with every combination of options. To solve both
1141− problems, we add an `--emulate` option to the
1142− `test-pandoc` executable. When `--emulate` occurs as the
1143− first argument passed to `test-pandoc`, the program simply
1144− emulates the regular pandoc executable, using the rest of
1145− the arguments (after `--emulate`). Thus, `test-pandoc
1146− --emulate -f markdown -t latex` is just like `pandoc -f
1147− markdown -t latex`. Since all the work is done by library
1148− functions, implementing this emulation just takes a couple
1149− lines of code and should be entirely reliable. With this
1150− change, we can test the pandoc executable by running the
1151− test program itself (locatable using `findExecutablePath`)
1152− with the `--emulate` option. This removes the need for the
1153− fragile `findPandoc` step, and it means we can run our
1154− integration tests even when we're just building the
1155− library, not the executable. [Note: part of this change
1156− involved simplifying some complex handling to set
1157− environment variables for dynamic library paths. I have
1158− tested a build with `--enable-dynamic-executable`, and it
1159− works, but further testing may be needed.]
1160− + Print accurate location if a test fails (Albert
1161− Krewinkel). Ensures that tasty-hunit reports the location
1162− of the failing test instead of the location of the helper
1163− `test` function.
1164−
1165− * Documentation: Update URLs and use `https` where possible (#7122,
1166− Salim B).
1167−
1168− * Add `doc/libraries.md`, a description of libraries that support pandoc.
1169−
1170− * MANUAL.txt
1171−
1172− + MANUAL: block-level formatting is not allowed in line blocks (#7107).
1173− + Clarify `tex_math_dollars` extension. Note that no blank lines
1174− are allowed between the delimiters in display math.
1175− + Add MANUAL section on reproducible builds.
1176− + Document no template fallback for absolute path (#7077, Nixon
1177− Enraght-Moony.)
1178− + Improve docs for cite-method.
1179− + Update README and man page.
1180−
1181− * Makefile: in `make bench`, create CSV files for comparison and compare
1182− against previous benchmark run. Add timestamp to CSV filenames.
1183−
1184− * cabal.project: don't explicitly set -trypandoc.
1185− If we do, this can't be overridden on the cabal command line.
1186−
1187− * doc/lua-filters.md: improve documentation for
1188− `pandoc.mediabag.insert`, `pandoc.mediabag.fetch`,
1189− `directory`, `normalize` (Albert Krewinkel).
1190−
1191− * Allow base64-bytestring-1.2.* (Dmitrii Kovanikov)
1192−
1193− * Require jira-wiki-markup 1.3.3 (Albert Krewinkel)
1194−
1195− * Require citeproc 0.3.0.8, which correctly titlecases when titles
1196− contain non-ASCII characters.
1197−
1198− * Use skylighting 0.10.4. This version of skylighting uses xml-conduit
1199− rather than hxt. This speeds up parsing of XML syntax definitions
1200− fourfold, and removes four packages from pandoc's dependency graph:
1201− hxt-charproperties, hxt-unicode, hxt-regex-xmlschema, hxt.
1202−
1203− * Add script `tools/parseTimings.pl` to help pin down which
1204− modules take the most time and memory to compile.
1205−
1206− * Avoid unnecessary use of NoImplicitPrelude pragma (#7089) (Albert
1207− Krewinkel)
1208−
1209− * Benchmarks
1210−
1211− + Use the lighter-weight tasty-bench instead of criterion.
1212− + Run writer benchmarks for binary formats too.
1213− + Alphabetize benchmarks.
1214− + Don't run benchmarks for bibliography formats
1215− (yet; we need a special input for them).
1216− + Show allocation data
1217− + Clean up benchmark code.
1218− + Allow specifying patterns using `-p blah'.
1219−
1220− * trypandoc: add 2 second timeout.
1221−
1222− * Use `-split-sections` in creating linux release binary.
1223− This reduces executable size significantly (by about 30%).
1224−
1225− * Remove `weigh-pandoc`. It's not really useful any more, now that our
1226− regular benchmarks include data on allocation.
1227−
1228− * Improve linux package build process and add script to
1229− automate building an arm64 binary package.
1230−
1231−
1232−## pandoc 2.11.4 (2021-01-22)
1233−
1234− * Add `biblatex`, `bibtex` as output formats (closes #7040).
1235−
1236− * Recognize more extensions as markdown by default (#7034):
1237− `mkdn`, `mkd`, `mdwn`, `mdown`, `Rmd`.
1238−
1239− * Implement defaults file inheritance (#6924, David Martschenko).
1240− Allow defaults files to inherit options from other defaults files by
1241− specifying them with the following syntax:
1242− `defaults: [list of defaults files or single defaults file]`.
1243−
1244− * Fix infinite HTTP requests when writing epubs from URL source (#7013).
1245− Due to a bug in code added to avoid overwriting the cover image
1246− if it had the form `fileX.YYY`, pandoc made an endless sequence
1247− of HTTP requests when writing epub with input from a URL.
1248−
1249− * Org reader:
1250−
1251− + Allow multiple pipe chars in todo sequences (Albert Krewinkel, #7014).
1252− Additional pipe chars, used to separate "action" state from "no further
1253− action" states, are ignored. E.g., for the following sequence, both
1254− `DONE` and `FINISHED` are states with no further action required:
1255− `#+TODO: UNFINISHED | DONE | FINISHED`.
1256− + Restructure output of captioned code blocks (Albert Krewinkel, #6977).
1257− The Div wrapper of code blocks with captions now has the class
1258− "captioned-content". The caption itself is added as a Plain block
1259− inside a Div of class "caption". This makes it easier to write filters
1260− which match on captioned code blocks. Existing filters will need to be
1261− updated.
1262− + Mark verbatim code with class `verbatim` (Dimitri Sabadie, #6998).
1263−
1264− * LaTeX reader:
1265−
1266− + Handle `filecontents` environment (#7003).
1267− + Put contents of unknown environments in a Div when `raw_tex` is not
1268− enabled (#6997). (When `raw_tex` is enabled, the whole environment is
1269− parsed as a raw block.) The class name is the name of the environment.
1270− Previously, we just included the contents without the surrounding Div,
1271− but having a record of the environment's boundaries and name can be
1272− useful.
1273−
1274− * Mediawiki reader:
1275−
1276− + Allow space around storng/emph delimiters (#6993).
1277−
1278− * New module Text.Pandoc.Writers.BibTeX, exporting
1279− writeBibTeX and writeBibLaTeX. [API change]
1280−
1281− * LaTeX writer:
1282−
1283− + Revert table line height increase in 2.11.3 (#6996).
1284− In 2.11.3 we started adding `\addlinespace`, which produced less dense
1285− tables. This wasn't an intentional change; I misunderstood a comment in
1286− the discussion leading up to the change. This commit restores the earlier
1287− default table appearance. Note that if you want a less dense table, you
1288− can use something like `\def\arraystretch{1.5}` in your header.
1289−
1290− * EPUB writer:
1291−
1292− + Adjust internal links to identifiers defined in raw HTML sections
1293− after splitting into chapters (#7000).
1294− + Recognize `Format "html4"`, `Format "html5"` as raw HTML.
1295− + Adjust internal links to images, links, and tables after splitting into
1296− chapters. Previously we only did this for Div and Span and Header
1297− elements (see #7000).
1298−
1299− * Ms writer:
1300−
1301− + Don't justify text inside table cells.
1302−
1303− * JATS writer:
1304−
1305− + Use `<element-citation>` if `element_citations`
1306− extension is enabled (Albert Krewinkel).
1307− + Fix citations (Albert Krewinkel, #7018). By default
1308− we use formatted citations.
1309− + Ensure that `<disp-quote>` is always wrapped in `<p>` (#7041).
1310−
1311− * Markdown writer:
1312−
1313− + Cleaned up raw formats. We now react appropriately
1314− to `gfm`, `commonmark`, and `commonmark_x` as raw formats.
1315−
1316− * RST writer:
1317−
1318− + Fix bug with dropped content from inside spans with a class in
1319− some cases (#7039).
1320−
1321− * Docx writer:
1322−
1323− + Handle table header using styles (#7008). Instead of hard-coding
1324− the border and header cell vertical alignment, we now let this
1325− be determined by the Table style, making use of Word's
1326− "conditional formatting" for the table's first row. For
1327− headerless tables, we use the tblLook element to tell Word
1328− not to apply conditional first-row formatting.
1329−
1330− * Commonmark writer:
1331−
1332− + Implement start number on ordered lists (#7009). Previously they always
1333− started at 1, but according to the spec the start number is respected.
1334−
1335− * HTML writer:
1336−
1337− + Fix implicit_figure at end of footnotes (#7006).
1338−
1339− * ConTeXt template: Remove `\setupthinrules` from default template.
1340− The width parameter this used is not actually supported,
1341− and the command didn't do anything.
1342−
1343− * Text.Pandoc.Extensions:
1344−
1345− + Add `Ext_element_citations` constructor (Albert Krewinkel).
1346−
1347− * Text.Pandoc.Citeproc.BibTeX: New unexported function
1348− `writeBibtexString`.
1349−
1350− * Text.Pandoc.Citeproc:
1351−
1352− + Use finer grained imports (Albert Krewinkel).
1353− + Factor out and export `getStyle` [API change].
1354− + Export `getReferences` [API change, #7106].
1355− + Factor out getLang.
1356−
1357− * Text.Pandoc.Parsing: modify `gridTableWith'` for headerless tables.
1358− If the table lacks a header, the header row should be an empty
1359− list. Previously we got a list of empty cells, which caused
1360− an empty header to be emitted instead of no header. In LaTeX/PDF
1361− output that meant we got a double top line with space between.
1362−
1363− * ImageSize: use `viewBox` for SVG if no length, width attributes (#7045).
1364− This change allows pandoc to extract size information from more SVGs.
1365−
1366− * Add simple default.nix.
1367−
1368− * Use commonmark 0.1.1.3.
1369−
1370− * Use citeproc 0.3.0.5.
1371−
1372− * Update default CSL to use latest chicago-author-date.csl.
1373−
1374− * CONTRIBUTING.md: add note on GNU xargs.
1375−
1376− * MANUAL.txt:
1377−
1378− + Update description of `-L`/`--lua-filter`.
1379− + Document use of citations in note styles (#6828).
1380−
1381−## pandoc 2.11.3.2 (2020-12-29)
1382−
1383− * HTML reader: use renderTags' from Text.Pandoc.Shared (Albert Krewinkel).
1384− A side effect of this change is that empty `<col>` elements are written
1385− as self-closing tags in raw HTML blocks.
1386−
1387− * Asciidoc writer: Add support for writing nested tables (#6972, timo-a).
1388− Asciidoc supports one level of nesting. If deeper tables are to be
1389− written, they are omitted and a warning is issued.
1390−
1391− * Docx writer: fix nested tables with captions (#6983).
1392− Previously we got unreadable content, because docx seems
1393− to want a `<w:p>` element (even an empty one) at the end of
1394− every table cell.
1395−
1396− * Powerpoint writer: allow arbitrary OOXML in raw inline elements
1397− (Albert Krewinkel). The raw text is now included verbatim in the
1398− output. Previously is was parsed into XML elements, which prevented
1399− the inclusion of partial XML snippets.
1400−
1401− * LaTeX writer: support colspans and rowspans in tables (#6950,
1402− Albert Krewinkel). Note that the multirow package is needed for
1403− rowspans. It is included in the latex template under a variable,
1404− so that it won't be used unless needed for a table.
1405−
1406− * HTML writer: don't include p tags in CSL bibliography entries
1407− (#6966). Fixes a regression in 2.11.3.
1408−
1409− * Add `meta-description` variable to HTML templates (#6982). This
1410− is populated by the writer by stringifying the `description`
1411− field of metadata (Jerry Sky). The `description` meta tag will
1412− make the generated HTML documents more complete and SEO-friendly.
1413−
1414− * Citeproc: fix handling of empty URL variables (`DOI`, etc.).
1415− The `linkifyVariables` function was changing these to links
1416− which then got treated as non-empty by citeproc, leading
1417− to wrong results (e.g. ignoring nonempty URL when empty DOI is present).
1418− See jgm/citeproc#41.
1419−
1420− * Use citeproc 0.3.0.3. Fixes an issue in author-only citations when
1421− both an author and translator are present, and an issue with
1422− citation group delimiters.
1423−
1424− * Require texmath 0.12.1. This improves siunitx support in math,
1425− fixes bugs with `\*mod` family operators and arrays, and avoids
1426− italicizing symbols and operator names in docx output.
1427−
1428− * Ensure that the perl interpreter used for filters with `.pl`
1429− extension (wuffi).
1430−
1431− * MANUAL: note that textarea content is never parsed as Markdown
1432− (Albert Krewinkel).
1433−
1434−
1435−## pandoc 2.11.3.1 (2020-12-18)
1436−
1437− * Added some missing files to extra-source-files and data
1438− files, so they are included in the sdist tarball. Closes #6961.
1439− Cleaned up some extraneous data and test files, and added
1440− a CI check to ensure that the test and data files included
1441− in the sdist match what is in the git repository.
1442−
1443− * Use citeproc 0.3.0.1, which avoids removing nonbreaking
1444− space at the end of the `initialize-with` attribute. (Some
1445− journals require nonbreaking space after initials, and this
1446− makes that possible.)
1447−
1448−## pandoc 2.11.3 (2020-12-17)
1449−
1450− * With `--bibliography` (or `bibliography` in metadata), a
1451− URL may now be provided, and pandoc will fetch the resource.
1452− In addition, if a file path is provided and it is not
1453− found relative to the working directory, the resource
1454− path will be searched (#6940).
1455−
1456− * Add `sourcepos` extension for `commonmark`, `gfm`, `commonmark_x`
1457− (#4565). With the `sourcepos` extension set set, `data-pos`
1458− attributes are added to the AST by the commonmark reader. No other
1459− readers are affected. The `data-pos` attributes are put on elements
1460− that accept attributes; for other elements, an enlosing Div or Span
1461− is added to hold the attributes.
1462−
1463− * Change extensions for `commonmark_x`: replace `auto_identifiers`
1464− with `gfm_auto_identifiers` (#6863). `commonmark_x` never actually
1465− supported `auto_identifiers` (it didn't do anything), because the
1466− underlying library implements gfm-style identifiers only. Attempts
1467− to add the `auto_identifiers` extension to `commonmark` will now
1468− fail with an error.
1469−
1470− * HTML reader:
1471−
1472− + Split module into several submodules (Albert Krewinkel). Reducing
1473− module size should reduce memory use during compilation.
1474− + Support advanced table features (Albert Krewinkel):
1475− block level content in captions, row and colspans,
1476− body headers, row head columns, footers, attributes.
1477− + Disable round-trip testing for tables. Information for cell
1478− alignment in a column is not preserved during round-trips (Albert
1479− Krewinkel).
1480− + Allow finer grained options for tag omission (Albert Krewinkel).
1481− + Simplify list attribute handling (Albert Krewinkel).
1482− + Pay attention to `lang` attributes on body element (#6938).
1483− These (as well as `lang` attributes on the html element) should update
1484− lang in metadata.
1485− + Retain attribute prefixes and avoid duplicates (#6938).
1486− Previously we stripped attribute prefixes, reading `xml:lang` as
1487− `lang` for example. This resulted in two duplicate `lang`
1488− attributes when `xml:lang` and `lang` were both used. This commit
1489− causes the prefixes to be retained, and also avoids invald
1490− duplicate attributes.
1491−
1492− * Commonmark reader:
1493−
1494− + Refactor `specFor`.
1495− + Set input name to `""` to avoid clutter in sourcepos output.
1496−
1497− * Org reader:
1498−
1499− + Parse `#+LANGUAGE` into `lang` metadata field (#6845, Albert
1500− Krewinkel).
1501− + Preserve targets of spurious links (#6916, Albert
1502− Krewinkel). Links with (internal) targets that the reader doesn't
1503− know about are converted into emphasized text. Information on the
1504− link target is now preserved by wrapping the text in a Span of class
1505− `spurious-link`, with an attribute `target` set to the link's
1506− original target. This allows to recover and fix broken or unknown
1507− links with filters.
1508−
1509− * DocBook reader:
1510−
1511− + Table text width support (#6791, Nils Carlson).
1512− Table width in relation to text width is not natively supported
1513− by docbook but is by the docbook `fo` stylesheets through an XML
1514− processing instruction, `<?dbfo table-width="50%"?>`.
1515−
1516− * LaTeX reader:
1517−
1518− + Improve parsing of command options (#6869, #6873).
1519− In cases where we run into trouble parsing inlines til the
1520− closing `]`, e.g. quotes, we return a plain string with the
1521− option contents. Previously we mistakenly included the brackets
1522− in this string.
1523− + Preserve center environment (#6852, Igor Pashev).
1524− The contents of the `center` environment are put in a `Div`
1525− with class `center`.
1526− + Don't parse `\rule` with width 0 as horizontal rule. These are
1527− sometimes used as spacers in LaTeX.
1528− + Don't apply theorem default styling to a figure inside (#6925).
1529− If we put an image in italics, then when rendering to Markdown
1530− we no longer get an implicit figure.
1531−
1532− * Dokuwiki reader:
1533−
1534− + Handle unknown interwiki links better (#6932).
1535− DokuWiki lets the user define his own Interwiki links. Previously
1536− pandoc reacted to these by emitting a google search link, which is
1537− not helpful. Instead, we now just emit the full URL including the
1538− wikilink prefix, e.g. `faquk>FAQ-mathml`. This at least gives users
1539− the ability to modify the links using filters.
1540−
1541− * Markdown writer:
1542−
1543− + Properly handle boolean values in writing YAML metadata (#6388).
1544− + Ensure that a new csl-block begins on a new line (#6921).
1545− This just looks better and doesn't affect the semantics.
1546−
1547− * RST writer:
1548−
1549− + Better image handling (#6948). An image alone in its paragraph
1550− (but not a figure) is now rendered as an independent image, with an
1551− `alt` attribute if a description is supplied. An inline image that
1552− is not alone in its paragraph will be rendered, as before, using a
1553− substitution. Such an image cannot have a "center", "left", or
1554− "right" alignment, so the classes `align-center`, `align-left`, or
1555− `align-right` are ignored. However, `align-top`, `align-middle`,
1556− `align-bottom` will generate a corresponding `align` attribute.
1557−
1558− * Docx writer:
1559−
1560− + Keep raw openxml strings verbatim (#6933, Albert Krewinkel).
1561− + Use Content instead of Element. This allows us to inject
1562− raw OpenXML into the document without reparsing it into an
1563− Element, which is necessary if you want to inject an open
1564− tag or close tag.
1565− + Fix bullets/lists indentation, so that the first level is slightly
1566− indented to the right instead of right on the margin (cholonam).
1567− + Support bold and italic in "complex script" (#6911).
1568− Previously bold and italics didn't work properly in LTR
1569− text. This commit causes the w:bCs and w:iCs attributes
1570− to be used, in addition to w:b and w:i, for bold and
1571− italics respectively.
1572−
1573− * ICML writer:
1574−
1575− + Fix image bounding box for custom widths/heighta (Mauro Bieg, #6936).
1576−
1577− * LaTeX writer:
1578−
1579− + Improve table spacing (#6842, #6860).
1580− Remove the `\strut` that was added at the end of minipage
1581− environments in cells. Replace `\tabularnewline` with
1582− `\\ \addlinespace`.
1583− + Improve calculation of column spacing (#6883).
1584− + Extract table handling into separate module (Albert Krewinkel).
1585− + Fix bug with nested `csl-` display Spans (#6921).
1586− + Improve longtable output (#6883). Don't create minipages for
1587− regular paragraphs. Put width and alignment information in the
1588− longtable column descriptors.
1589−
1590− * OpenDocument writer:
1591−
1592− + Support for table width as a percentage of text width
1593− (#6792, Nils Carson).
1594− + Implement Div and Span ident support (#6755, Nils Carson).
1595− Spans and Divs containing an ident in the Attr will become bookmarks
1596− or sections with idents in OpenDocument format.
1597− + Add two extensions, `xrefs_name` and `xrefs_number` (#6774, Nils
1598− Carlson). Links to headings, figures and tables inside the
1599− document are substituted with cross-references that will use the
1600− name or caption of the referenced item for `xrefs_name` or the
1601− number for `xrefs_number`. For the `xrefs_number` to be useful
1602− heading numbers must be enabled in the generated document and
1603− table and figure captions must be enabled using for example the
1604− `native_numbering` extension. In order for numbers and reference
1605− text to be updated the generated document must be refreshed.
1606−
1607− * JATS writer:
1608−
1609− + Support advanced table features (Albert Krewinkel).
1610− + Support author affiliations (#6687, Albert Krewinkel).
1611−
1612− * Docbook writer:
1613−
1614− + Use correct id attribute consistently (Jan Tojnar).
1615− DocBook5 should always use `xml:id` instead of `id`.
1616− + Handle admonition titles better (Jan Tojnar).
1617− Docbook reader produces a `Div` with `title` class for `<title>`
1618− element within an “admonition” element. Markdown writer then turns
1619− this into a fenced div with `title` class attribute. Since fenced
1620− divs are block elements, their content is recognized as a
1621− paragraph by the Markdown reader. This is an issue for Docbook
1622− writer because it would produce an invalid DocBook document from
1623− such AST – the `<title>` element can only contain “inline”
1624− elements. Handle this special case separately by unwrapping
1625− the paragraph before creating the `<title>` element.
1626− + Add XML namespaces to top-level elements (#6923, Jan Tojnar).
1627− Previously, we only added `xmlns` attributes to chapter
1628− elements, even when running with `--top-level-division=section`.
1629− These namespaces are now added to part and section elements too,
1630− when they are the selected top-level divisions.
1631− We do not need to add namespaces to documents produced with
1632− `--standalone` flag, since those will already have xmlns attribute on
1633− the root element in the template.
1634−
1635− * HTML writer:
1636−
1637− + Fix handling of nested `csl-` display spans (#6921).
1638− Previously inner Spans used to represent CSL display attributes were
1639− not rendered as div tags as intended.
1640−
1641− * EPUB writer:
1642−
1643− + Include title page in landmarks (#6919).
1644− Note that the toc is also included if `--toc` is specified.
1645− + Add frontmatter type on body element for nav.xhtml (#6918).
1646−
1647− * EPUB templates: use preserveAspectRatio="xMidYMid" for cover image (#6895,
1648− Shin Sang-jae). This change affects both the epub2 and the epub3
1649− templates. It avoids distortion of the cover image by requiring that the
1650− aspect ratio be preserved.
1651−
1652− * LaTeX template:
1653−
1654− + Include `csquotes` package if `csquotes` variable set.
1655− + Put back `amssymb`. We need it for checkboxes in todo lists,
1656− and maybe for other things. In this location it seems compatible
1657− with the cases that prompted #6469 and PR #6762.
1658− + Disable language-specific shorthands in babel (#6817, #6887).
1659− Babel defines "shorthands" for some languages, and these can
1660− produce unexpected results. For example, in Spanish, `1.22`
1661− gets rendered as `122`, and `et~al.` as `etal`.
1662− One would think that babel's `shorthands=off` option (which
1663− we were using) would disable these, but it doesn't. So we
1664− remove `shorthands=off` and add some code that redefines
1665− the shorthands macro. Eventually this will be fixed in babel,
1666− I hope, and we can revert to something simpler.
1667−
1668− * JATS template: allow array of persistent institute ids in `pid`
1669− (Albert Krewinkel).
1670−
1671− * Text.Pandoc.Parsing: minor code and efficiency improvements.
1672−
1673− * Text.Pandoc.Extension:
1674−
1675− + Add `Ext_sourcepos` constructor for `Extension` [API change].
1676− + Add `Ext_xrefs_name` and `Ext_xrefs_number` constructors for
1677− `Extension` (Nils Carson) [API change].
1678−
1679− * Text.Pandoc.Citeproc:
1680−
1681− + Fix truncation of `[Citation]` list in `Cite` inside footnotes (#6890).
1682− This affected author-in-text citations in footnotes. It didn't cause
1683− problems for the printed output, but for filters that expected the
1684− citation id and other information.
1685− + Allow the use of both inline and external references (#6951),
1686− as with pandoc-citeproc. References defined in the document's
1687− metadata take priority over references with the same id defined in
1688− an external bibliography.
1689− + Use `fetchItem` to get external bibliography (#6940).
1690− + Ensure that BCP47 lang codes can be used. We ignore the variants
1691− and just use the base lang code and country code when passing off
1692− to citeproc.
1693− + Citeproc BibTeX parser: revert change in `getRawField`
1694− which was made (for reasons forgotten) when transferring
1695− this code from pandoc-citeproc. The change led to `--` in
1696− URLs being interpreted as en-dashes, which is unwanted (#6874).
1697−
1698− * Text.Pandoc.ImageSize:
1699−
1700− + Default to DPI 72 if the format specifies DPI of 0 (#6880).
1701− This shouldn't happen, in general, but it can happen with
1702− JPEGs that don't conform to the spec. Having a DPI of 0
1703− will blow up size calculations (division by 0).
1704− + ImageSize: use JuicyPixels to determine size for png, jpeg, and
1705− gif, instead of doing our own binary parsing (#6936). This
1706− gives more reliable results.
1707−
1708− * Text.Pandoc.CSS:
1709−
1710− + Remove `foldOrElse` (internal module) (Albert Krewinkel).
1711−
1712− * Use skylighting 0.10.2 (#6625).
1713−
1714− * Use citeproc 0.3. This fixes issues with references with
1715− duplicate ids (jgm/citeproc#36).
1716−
1717− * Use doctemplates 0.9. This fixes issues with boolean
1718− metadata values in the Markdown writer (#6388)
1719− and in `meta-json` (#6650). It also fixes
1720− issues with nested for loops in templates.
1721−
1722− * Add translations zh-Hans.yaml and zh-Hant.yaml (#6904, #6909,
1723− Kolen Cheung, taotieren).
1724−
1725− * Add tests: True to cabal.project.
1726− This fixes some CI failures for cabal.
1727−
1728− * Normalize test/tables/*.native (#6888, Kolen Cheung).
1729−
1730− * Move executable to `app` directory to avoid problems with cabal repl.
1731−
1732− * CONTRIBUTING: add section "How can I help?" (#6892, Albert Krewinkel).
1733− Also adds a paragraph aimed at highlighting the importance of feature
1734− maintenance.
1735−
1736− * MANUAL: Document that --number-sections works in `ms` (#6935).
1737−
1738−
1739−## pandoc 2.11.2 (2020-11-19)
1740−
1741− * Default to using ATX (`##`-style) headings for Markdown output
1742− (#6662, Aner Lucero). Previously we used Setext (underlined) headings
1743− by default for levels 1--2.
1744−
1745− * Add option `--markdown-headings=atx|setext`, and deprecate
1746− `--atx-headers` (#6662, Aner Lucero).
1747−
1748− * Support `markdown-headings` in defaults files.
1749−
1750− * Fix corner case in YAML metadata parsing (#6823). Previously YAML
1751− metadata would sometimes not get recognized if a field ended with a
1752− newline followed by spaces.
1753−
1754− * `--self-contained`: increase coverage (#6854).
1755− Previously we only self-contained attributes for certain tag names
1756− (`img`, `embed`, `video`, `input`, `audio`, `source`, `track`,
1757− `section`). Now we self-contain any occurrence of `src`,
1758− `data-src`, `poster`, or `data-background-image`, on any tag; and
1759− also `href` on `link` tags.
1760−
1761− * Markdown reader:
1762−
1763− + Fix detection of locators following in-text citations.
1764− Prevously, if we had `@foo [p. 33; @bar]`, the `p. 33` would be
1765− incorrectly parsed as a prefix of `@bar` rather than a suffix of
1766− `@foo`.
1767− + Improve period suppression algorithm for citations in notes
1768− in note citation styles (#6835).
1769− + Don't increment `stateNoteNumber` for example list references.
1770− This helps with #6836 (a bug in which example list references
1771− disturb calculation of citation note number and affect when
1772− `ibid` is triggered).
1773−
1774− * LaTeX reader:
1775−
1776− + Move `getNextNumber` from Readers.LaTeX to Readers.LaTeX.Parsing.
1777− + Fix negative numbers in siunitx commands. A change in pandoc 2.11
1778− broke negative numbers, e.g. `\SI{-33}{\celcius}` or `\num{-3}`.
1779− This fixes the regression.
1780−
1781− * DocBook reader: drop period in formalpara title
1782− and put it in a div with class `formalpara-title`, so that
1783− people can reformat with filters (#6562).
1784−
1785− * Man reader: improve handling of `.IP` (#6858). We now better handle
1786− `.IP` when it is used with non-bullet, non-numbered lists, creating a
1787− definition list. We also skip blank lines like groff itself.
1788−
1789− * Bibtex reader: fall back on `en-US` if locale for LANG not found.
1790− This reproduces earlier pandoc-citeproc behavior (jgm/citeproc#26).
1791−
1792− * JATS writer:
1793−
1794− + Wrap all tables (Albert Krewinkel).
1795− All `<table>` elements are put inside `<table-wrap>` elements, as the
1796− former are not valid as immediate child elements of `<body>`.
1797− + Move Table handling to separate module (Albert Krewinkel).
1798− Adds two new unexported modules:
1799− Text.Pandoc.Writers.JATS.Types, Text.Pandoc.Writers.JATS.Table.
1800−
1801− * Org writer:
1802−
1803− + Replace org #+KEYWORDS with #+keywords (TEC).
1804− As of ~2 years ago, lower case keywords became the standard (though
1805− they are handled case insensitive, as always).
1806− + Update org supported languages and identifiers according to the
1807− current list contained in
1808− <https://orgmode.org/worg/org-contrib/babel/languages/index.html>
1809− (TEC).
1810−
1811− * Only use `filterIpynbOutput` if input format is ipynb (#6841).
1812− Before this change content could go missing from divs with class
1813− `output`, even when non-ipynb was being converted.
1814−
1815− * When checking reader/writer name, check base name now that we permit
1816− extensions on formats other than markdown.
1817−
1818− * Text.Pandoc.PDF: Fix `changePathSeparators` for Windows (#6173).
1819− Previously a path beginning with a drive, like `C:\foo\bar`, was
1820− translated to `C:\/foo/bar`, which caused problems.
1821− With this fix, the backslashes are removed.
1822−
1823− * Text.Pandoc.Logging:
1824−
1825− + Add constructor `ATXHeadingInLHS` to `LogMessage` [API change].
1826− + Add constructor `EnvironmentVariableUndefined` to
1827− `LogMessage` [API change].
1828−
1829− * Fix error that is given when people specify `doc` output (#6834,
1830− gison93).
1831−
1832− * LaTeX template: add a `\break` after parbox in `CSLRightInline`.
1833− This should fix spacing problems between entries with numeric styles.
1834− Also fix number of params on `CSLReferences`.
1835−
1836− * reveal.js template: Put quotes around `controlsLayout`,
1837− `controlsBackArrows`, and `display`, since these require strings.
1838− Add `showSlideNumber`, `hashOneBasedIndex`, `pause`.
1839−
1840− * Use citeproc 0.2. This fixes a bug with title case around parentheses.
1841−
1842− * pandoc.cabal: remove 'static' flag.
1843− This isn't really necessary and can be misleading (e.g. on macOS,
1844− where a fully static build isn't possible). cabal's new option
1845− `--enable-executable-static` does the same. On stack you can add
1846− something like this to the options for your executable in package.yaml:
1847−
1848− ld-options: -static -pthread
1849−
1850− * Remove obsolete bibutils flag setting in `linux/make_artifacts.sh`.
1851−
1852− * Manual:
1853−
1854− + Correct `link-citation` -> `link-citations`.
1855− + Add a sentence about `pagetitle` for HTML (#6843, Alex Toldaiev).
1856−
1857− * INSTALL.md: Remove references to `pandoc-citeproc` (#6857).
1858−
1859− * CONTRIBUTING: describe hlint and how it's used (#6840, Albert
1860− Krewinkel).
1861−
1862−## pandoc 2.11.1.1 (2020-11-07)
1863−
1864− * Citeproc: improve punctuation in in-text note citations (#6813).
1865− Previously in-text note citations inside a footnote would sometimes have
1866− the final period stripped, even if it was needed (e.g. on the end of
1867− 'ibid').
1868−
1869− * Use citeproc 0.1.1.1. This improves the decision about when
1870− to use `ibid` in cases where citations are used inside
1871− a footnote (#6813).
1872−
1873− * Support `nocase` spans for `csljson` output.
1874−
1875− * Require latest commonmark, commonmark-extensions.
1876− This fixes a bug with `autolink_bare_uris` and commonmark.
1877−
1878− * LaTeX reader: better handling of `\\` inside math in table cells (#6811).
1879−
1880− * DokuWiki writer: translate language names for code elements
1881− and improve whitespace (#6807).
1882−
1883− * MediaWiki writer: use `syntaxhighlight` tag instead of deprecated
1884− `source` for highlighted code (#6810). Also support `startFrom`
1885− attribute and `numberLines`.
1886−
1887− * Lint code in PRs and when committing to master (#6790,
1888− Albert Krewinkel).
1889−
1890− * doc/filters.md: describe technical details of filter invocations (#6815,
1891− Albert Krewinkel).
1892−
1893−
1894−## pandoc 2.11.1 (2020-11-03)
1895−
1896− * DocBook Reader: fix duplicate bibliography bug (#6773, Nils Carlson).
1897−
1898− * HTML reader:
1899−
1900− + Parse contents of iframes (#6770).
1901− + Parse inline svg as image unless `raw_html` is set in the reader (in
1902− which case the svg is passed through as raw HTML) (#6770).
1903−
1904− * LaTeX reader:
1905−
1906− + Fix bug parsing macro arguments (#6796). If `\cL` is
1907− defined as `\mathcal{L}`, and `\til` as `\tilde{#1}`, then
1908− `\til\cL` should expand to `\tilde{\mathcal{L}}`, but
1909− pandoc was expanding it to `\tilde\mathcal{L}`. This is
1910− fixed by parsing the arguments in "verbatim mode" when the
1911− macro expands arguments at the point of use.
1912− + Properly support optional (cite) argument for
1913− `\blockquote` from `csquotes` (#6802).
1914−
1915− * LaTeX writer: Improved calculation of table column widths.
1916− We now have LaTeX do the calculation, using `\tabcolsep`.
1917− So we should now have accurate relative column widths no
1918− matter what the text width. The default template has been modified to load
1919− the calc package if tables are used.
1920−
1921− * HTML writer: Fix duplicate "class" attribute for table
1922− rows (Andy Morris).
1923−
1924− * Text.Pandoc.Filter: allow shorter YAML representation of Citeproc
1925− (Albert Krewinkel). The map-based YAML representation of filters expects
1926− `type` and `path` fields. The path field had to be present for all filter
1927− types, but is not used for citeproc filters. The field can now be omitted
1928− when type is "citeproc", as described in the MANUAL.
1929−
1930− * Text.Pandoc.Error: Add `PandocBibliographyError` constructor
1931− for `PandocError` [API change]. This ensures that bibliography parsing
1932− errors generate messages that include the bibliography file name --
1933− otherwise it can be quite mysterious where it is coming from.
1934−
1935− * Citeproc: properly handle `csl` field with `data:` URI (#6783).
1936− This is used with the JATS writer, so this fixes a regression
1937− in pandoc 2.11 with JATS output and citeproc.
1938−
1939− * Allow `citation-abbreviations` in defaults file.
1940−
1941− * JATS templates: ensure `jats_publishing` output is valid
1942− (Albert Krewinkel).
1943−
1944− * LaTeX template: Fix `CSLRightInline`, so that it does not
1945− run over the right margin.
1946−
1947− * HTML template: default CSS tweaks (Mauro Bieg and John
1948− MacFarlane).
1949−
1950− - Fix margin before codeblock
1951− - Add `monobackgroundcolor` variable, making the background color
1952− and padding of code optional.
1953− - Ensure that backgrounds from highlighting styles take precedence over
1954− monobackgroundcolor
1955− - Remove list markers from TOC
1956− - Add margin-bottom where needed
1957− - Remove italics from blockquote styling
1958− - Change borders and spacing in tables to be more consistent with other
1959− output formats
1960− - Style h5, h6
1961− - Set font-size for print media to 12pt.
1962− - Reduce interline space.
1963− - Reduce interparagraph space.
1964− - Reduce line width.
1965− - Remove the special `line-height: 1` for table cells.
1966− - Remove the special line-height for pre.
1967− - Ensure that there is a bit more space before a heading
1968− than after.
1969− - Slightly reduced space after title header.
1970− - Add CSS example to MANUAL
1971−
1972− * man template: Change comment that triggers `tbl` from
1973− `.\"t` to `'\" t`, as specified in groff_man(7) (#6803).
1974−
1975− * Use latest commonmark, commonmark-extensions.
1976− This fixes a bug with nested blocks in footnotes with the
1977− `footnote` extension to `commonmark`. See jgm/commonmark-hs#63.
1978−
1979− * Citeproc: use comma for in-text citations inside footnotes.
1980− When an author-in-text citation like `@foo` occurs in a footnote,
1981− we now render it with: `AUTHOR NAME + COMMA + SPACE + REST`.
1982− Previously we rendered: `AUTHOR NAME + SPACE + "(" + REST + ")"`.
1983− This gives better results. Note that normal citations are still
1984− rendered in parentheses.
1985−
1986− * Use latest citeproc:
1987−
1988− + citeproc no longer capitalizes notes, so we do it
1989− in pandoc when appropriate.
1990− + Closes #6783.
1991−
1992− * Clarify manual on `--track-changes` (#6801).
1993−
1994− * Add `doc/jats.md` to document pandoc's handling of JATS
1995− (#6794, Albert Krewinkel).
1996−
1997− * Fix code example in lua-filters.md (#6795).
1998−
19993## pandoc 2.11.0.4 (2020-10-21)
20004
20015 * Commonmark writer: fix regression with fenced divs (#6768).