@@ -1,5 +1,2105 @@
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+
1999+## pandoc 2.11.0.4 (2020-10-21)
2000+
2001+ * Commonmark writer: fix regression with fenced divs (#6768).
2002+ Starting with 2.10.1, fenced divs no longer render with
2003+ HTML div tags in commonmark output. This is a regression
2004+ due to our transition from cmark-gfm. This commit fixes it.
2005+
2006+ * Use released version of citeproc. (This fixes a mis-step
2007+ in the 2.11.0.3 release, which is now deprecated.)
2008+
2009+ * Use latest sylighting, with support for `groovy`.
2010+
2011+ * Document that --html-q-tags requires the smart extension on the reader
2012+ (#6766).
2013+
2014+## pandoc 2.11.0.3 (2020-10-20)
2015+
2016+ * Use latest citeproc (closes #6765). This fixes a problem with
2017+ author-in-text citations for references including both an author
2018+ and an editor. Previously, both were included in the text, but only
2019+ the author should be.
2020+
2021+ * With `--citeproc`, ensure that the final period is removed when
2022+ citations that occur in notes in note-based styles get put in
2023+ parentheses. See jgm/citeproc#20.
2024+
2025+ * Normalize rewritten image paths with `--extract-media` (#6761).
2026+ This change will avoid mixed paths like this one when
2027+ `--extract-media` is used with a Word file:
2028+ ``. Instead we'll get
2029+ ``.
2030+
2031+ * Modify `--version` output. Use space more efficiently and report the
2032+ citeproc and ipynb versions, along with skylighting, texmath, and
2033+ pandoc-types. Drop the word "default" before "user data directory."
2034+
2035+ * DocBook reader: bibliomisc and anchor support (#6754, Nils Carlson).
2036+ Also ensure that bibliodiv without a title no longer results in
2037+ an empty Header.
2038+
2039+ * ConTeXt template: adds `\setupinterlinespace` to fonts larger
2040+ than normal (#6763, Denis Maier).
2041+
2042+ * LaTeX template: Do not load amssymb if not needed (#6469, Angelo Peronio).
2043+ See <https://tex.stackexchange.com/a/549938>.
2044+
2045+ * Relax upper bound on hslua, allow hslua-1.3.* (Albert Krewinkel).
2046+
2047+ * MANUAL:
2048+
2049+ + Improve explanation of "indent" variable (#6767, Cyrus Yip).
2050+ + Remove org from list of input formats supporting raw_tex (#6753,
2051+ Nick Fleisher).
2052+
2053+
2054+## pandoc 2.11.0.2 (2020-10-15)
2055+
2056+ * Fix handling of `xdata` in bibtex/biblatex bibliographies (#6752).
2057+
2058+ * Fix some small typos in the API documentation (#6751, Michael Hoffmann).
2059+
2060+ * Require citeproc 0.1.0.2. This fixes a regression from pandoc-citeproc
2061+ involving spacing between components of a reference in certain styles
2062+ (e.g. `cell.csl`).
2063+
2064+ * Fix typos in comments, doc strings, error messages, and tests
2065+ (Albert Krewinkel, #6738).
2066+
2067+## pandoc 2.11.0.1 (2020-10-13)
2068+
2069+ * LaTeX reader: support more acronym commands (#6746):
2070+ `\acl`, `\aclp`, and capitalized versions of already
2071+ supported commands.
2072+
2073+ * Commonmark reader: add `pipe_table` extension *after* defaults (#6739).
2074+ Otherwise we get bad results for non-table, non-paragraph
2075+ lines containing pipe characters.
2076+
2077+ * Markdown writer: Fix autolinks rendering for gfm (#6740).
2078+ Previously, autolinks rendered as raw HTML, due to the
2079+ `class="uri"` added by pandoc's markdown reader.
2080+
2081+ * LaTeX writer:
2082+
2083+ + Escape option values in lstlistings environment (#6742).
2084+ + Fix handling of `lang` `pt-BR` (#2953). For polyglossia we now
2085+ use `\setmainlanguage[variant=brazilian]{portuguese}` and for babel
2086+ `\usepackage[shorthands=off,main=brazilian]{babel}`.
2087+
2088+ * Depend on latest citeproc (0.1.0.1).
2089+
2090+ + This fixes the citation number issue with ieee.csl and other
2091+ styles that do not explicitly sort bibliographies (#6741). (Pandoc
2092+ was numbering them by their order in the bibliography file,
2093+ rather than the order cited, as required by the CSL spec.)
2094+ + Fixes groupin/collapsing with citation items with prefixes.
2095+
2096+ * default.latex: fix `CSLReference` macro definition.
2097+
2098+ * Fix MANUAL.txt CSL JSON conversion examples.
2099+
2100+ * Fix spelling errors in changelog, MANUAL.txt, `doc/org.md` (#6738).
2101+
2102+
32103## pandoc 2.11 (2020-10-11)
42104
52105 * Add `--citeproc` (`-C`) option to trigger built-in citation processing.
@@ -30,8 +2130,8 @@
302130 - Some of the bibliography formats supported by pandoc-citeproc (via
312131 hs-bibutils) are no longer supported: Copac, EndNote,
322132 ISI, MEDLINE, MODS, and RIS. If you use one of these formats,
33− you may use the `bibutils` utility to convert to CSL JSON
34− or BibTeX. We now support only BibTeX, BibLaTeX, CSL JSON,
2133+ you may use the `bibutils` utility to convert to BibLaTeX.
2134+ We now support only BibTeX, BibLaTeX, CSL JSON,
352135 and pandoc's YAML/Markdown analogue of CSL JSON.
362136
372137 - pandoc-citeproc would always retrieve the independent parent
@@ -267,8 +2367,8 @@
2672367 * Add data files needed for Text.Pandoc.Citeproc: these include
2682368 `default.csl` in the data directory and a `citeproc` directory that
2692369 is only used at compile-time for biblatex localizations. Note that we've
270− added `file-embed` as a mandatory rather than a conditional depedency,
271− because of the biblatex localization files.
2370+ added `file-embed` as a mandatory rather than a conditional
2371+ dependency, because of the biblatex localization files.
2722372
2732373 * Lua filters:
2742374
@@ -505,7 +2605,7 @@
5052605 * Ms writer:
5062606
5072607 + Fix code highlighting with blank lines. Previously blank lines
508− were simply omitted from highligted code.
2608+ were simply omitted from highlighted code.
5092609 + Escape starting periods in ms writer code blocks (#6505, Michael
5102610 Hoffmann). If a line of ms code block output starts with a period (.),
5112611 it should be prepended by `\&` so that it is not interpreted as a roff
@@ -968,7 +3068,7 @@
9683068 * Make it possible to compile using Stack on NixOS (#6439, Mathieu
9693069 Boespflug).
9703070
971− * CI action to check for commit messsage length (Nikolay Yakimov, #6398).
3071+ * CI action to check for commit message length (Nikolay Yakimov, #6398).
9723072
9733073
9743074## pandoc 2.9.2.1 (2020-03-23)
@@ -1535,7 +3635,7 @@
15353635 The main impact of this change is better reflowing of
15363636 content interpolated into templates. Previously,
15373637 interpolated variables were rendered independently and
1538− intepolated as strings, which could lead to overly long
3638+ interpolated as strings, which could lead to overly long
15393639 lines. Now the templates interpolated as Doc values which
15403640 may include breaking spaces, and reflowing occurs after
15413641 template interpolation rather than before.
@@ -2014,7 +4114,7 @@
20144114 a margin and font size according to their level.
20154115 Furthermore this commit allows changing the font with which code is
20164116 formatted via the `monofont` option.
2017− + Start numbering at appopriate numbers (Jesse Rosenthal, #5709).
4117+ + Start numbering at appropriate numbers (Jesse Rosenthal, #5709).
20184118 Starting numbers for ordered lists were previously ignored. Now
20194119 we specify the number if it is something other than 1.
20204120
@@ -3333,7 +5433,7 @@
33335433 * Man/Ms writers: Don't escape `-` as `\-`. The `\-` gets rendered
33345434 in HTML and PDF as a unicode minus sign.
33355435
3336− * Ms writer: Ensure we have a newline after .EN in disply math (#5251).
5436+ * Ms writer: Ensure we have a newline after .EN in display math (#5251).
33375437
33385438 * RST writer: Don't wrap simple table header lines (#5128).
33395439
@@ -3465,7 +5565,7 @@
34655565 + Set default listings language for lua, assembler (#5227, John
34665566 MacFarlane). Otherwise we get an error when trying to compile code
34675567 with lua or assembler code. To change the default dialect
3468− (currenty 5.3 for lua and x86masm for assembler), you can use
5568+ (currently 5.3 for lua and x86masm for assembler), you can use
34695569 `--include-in-header` to inject something like
34705570 `\lstset{defaultdialect=[5.2]Lua}`.
34715571
@@ -7162,7 +9262,7 @@
71629262
71639263 * Removed `hard_line_breaks` extension from `markdown_github` (#3594).
71649264 GitHub has two Markdown modes, one for long-form documents like READMEs
7165− and one for short things like issue coments. In issue comments, a line
9265+ and one for short things like issue comments. In issue comments, a line
71669266 break is treated as a hard line break. In README, wikis, etc., it is
71679267 treated as a space as in regular Markdown. Since pandoc is more likely to
71689268 be used to convert long-form documents from GitHub Markdown,
@@ -7515,7 +9615,7 @@
75159615 top-level `Text.Pandoc` module.
75169616
75179617 + Changed `StringWriter` -> `TextWriter`.
7518− + `getWriter` now retuns a pair of a reader and
9618+ + `getWriter` now returns a pair of a reader and
75199619 `Extensions`, instead of building the extensions into the
75209620 reader (#3659). The calling code must explicitly set
75219621 `readerExtensions` using the `Extensions` returned. The
@@ -8467,7 +10567,7 @@
846710567 + Use `unicode-math` (Vaclav Haisman). Use `mathspec` with only
846810568 XeLaTeX on request.
846910569 + Don't load `fontspec` before `unicode-math` (over there).
8470− The `unicode-math` package loads `fontspec` so explict loading of
10570+ The `unicode-math` package loads `fontspec` so explicit loading of
847110571 `fontspec` before `unicode-math` is not necessary.
847210572 + Use `unicode-math` by default in default.latex template. mathspec will
847310573 be used in xelatex if the `mathspec` variable is set; otherwise
@@ -9148,7 +11248,7 @@
914811248 is now used in parsing RST and Markdown line blocks, DocBook
914911249 `linegroup`/`line` combinations, and Org-mode `VERSE` blocks.
915011250 Previously `Para` blocks with hard linebreaks were used. `LineBlock`s
9151− are handled specially in the following ouput formats: AsciiDoc
11251+ are handled specially in the following output formats: AsciiDoc
915211252 (as `[verse]` blocks), ConTeXt (`\startlines`/`\endlines`),
915311253 HTML (`div` with a style), Markdown (line blocks if `line_blocks`
915411254 is enabled), Org-mode (`VERSE` blocks), RST (line blocks). In
@@ -9295,7 +11395,7 @@
929511395 comma-separated list.
929611396 + Give precedence to later meta lines. The last meta-line of any given
929711397 type is the significant line. Previously the value of the first line
9298− was kept, even if more lines of the same type were encounterd.
11398+ was kept, even if more lines of the same type were encountered.
929911399 + Read LaTeX_header as header-includes. LaTeX-specific header commands
930011400 can be defined in `#+LaTeX_header` lines. They are parsed as
930111401 format-specific inlines to ensure that they will only show up in LaTeX
@@ -9343,7 +11443,7 @@
934311443 be able to figure out internal links to a header in a docx if the
934411444 anchor span was empty. We change that to read the inlines out of the
934511445 first anchor span in a header.
9346− + Let headers use exisiting id. Previously we always generated an id for
11446+ + Let headers use existing id. Previously we always generated an id for
934711447 headers (since they wouldn't bring one from Docx). Now we let it use an
934811448 existing one if possible. This should allow us to recurs through anchor
934911449 spans.
@@ -9922,7 +12022,7 @@
992212022 character. Empty rows where parsed as alignment rows and dropped from
992312023 the output.
992412024 + Fix spacing after LaTeX-style symbols.
9925− The org-reader was droping space after unescaped LaTeX-style symbol
12025+ The org-reader was dropping space after unescaped LaTeX-style symbol
992612026 commands: `\ForAll \Auml` resulted in `∀Ä` but should give `∀ Ä`
992712027 instead. This seems to be because the LaTeX-reader treats the
992812028 command-terminating space as part of the command. Dropping the trailing
@@ -10257,7 +12357,7 @@
1025712357
1025812358 * Entity handling fixes: improved handling of entities like
1025912359 `⟨` that require a trailing semicolon. Allow uppercase
10260− `x` in numerical hexidecimal character references, working
12360+ `x` in numerical hexadecimal character references, working
1026112361 around a tagsoup bug.
1026212362
1026312363 * `stack.yaml` - use lts-4.0, but with older aeson to avoid excessive
@@ -11742,7 +13842,7 @@
1174213842 * `Text.Pandoc.Shared`:
1174313843
1174413844 + Make safeRead safe (#1801, Matthew Pickering).
11745− + Addded `mapLeft`, `hush` (Matthew Pickering).
13845+ + Added `mapLeft`, `hush` (Matthew Pickering).
1174613846
1174713847 * `Text.Pandoc.Pretty`:
1174813848
@@ -11810,7 +13910,7 @@
1181013910
1181113911 + Use `text:p` instead of `text:h` for title.
1181213912 Using `text:h` causes problems with numbering. Closes #2059.
11813− Thansk to @nkalvi for diagnosing this.
13913+ Thanks to @nkalvi for diagnosing this.
1181413914
1181513915 * reveal.js template:
1181613916
@@ -12076,7 +14176,7 @@
1207614176 * RST writer:
1207714177
1207814178 + Ensure blank line after figure.
12079− + Avoid exces whitespace after last list item (#1777).
14179+ + Avoid excess whitespace after last list item (#1777).
1208014180 + Wrap line blocks with spaces before continuations (#1656).
1208114181 + Fixed double-rendering of footnotes in RST tables (#1769).
1208214182
@@ -12138,7 +14238,7 @@
1213814238 + Renumber header and footer relationships to avoid collisions (Jesse
1213914239 Rosenthal). We previously took the old relationship names of the
1214014240 headers and footer in secptr. That led to collisions. We now make
12141− a map of availabl names in the relationships file, and then rename
14241+ a map of available names in the relationships file, and then rename
1214214242 in secptr.
1214314243
1214414244 * ConTeXt writer:
@@ -12861,7 +14961,7 @@
1286114961 different versions of the `directory` library.
1286214962
1286314963 + Added `Text.Pandoc.Compat.Except` to allow building against
12864− different verions of `mtl`.
14964+ different versions of `mtl`.
1286514965
1286614966 * Code cleanup in some writers, using Reader monad to avoid
1286714967 passing options parameter around (Matej Kollar).
@@ -14500,7 +16600,7 @@
1450016600 + Include HTML TOC, even in epub2. The TOC is included in `<spine>`,
1450116601 but `linear` is set to `no` unless the `--toc` option is specified.
1450216602 Include `<guide>` element in OPF. This should allow the TOC to
14503− be useable in Kindles when converted with kindlegen. Closes #773.
16603+ be usable in Kindles when converted with kindlegen. Closes #773.
1450416604
1450516605 * `Text.Pandoc.Parsing`: Optimized `oneOfStringsCI`.
1450616606 This dramatically reduces the speed penalty that comes from enabling the
@@ -15096,7 +17196,7 @@
1509617196 be a parenthesized emphasized "hello".
1509717197 The new list is taken from the PHP source of textile 2.4.
1509817198 + Fixed autolinks. Previously the textile reader and writer
15099− incorrectly implented RST-style autolinks for URLs and email
17199+ incorrectly implemented RST-style autolinks for URLs and email
1510017200 addresses. This has been fixed. Now an autolink is done this way:
1510117201 `"$":http://myurl.com`.
1510217202 + Fixed footnotes bug in textile. This affected notes occurring
@@ -16159,7 +18259,7 @@
1615918259 Items are no longer installed as root.
1616018260 Man pages are zipped and given proper permissions.
1616118261
16162− * Modified windows installer generater to use cabal-dev.
18262+ * Modified windows installer generator to use cabal-dev.
1616318263
1616418264 * Setup: Making man pages now works with cabal-dev (at least on OSX). In
1616518265 Setup.hs we now invoke 'runghc' in a way that points it to the correct