@@ -1,3 +1,487 @@
1+pandoc (1.14)
2+
3+ [new features]
4+
5+ * Added `commonmark` as input and output format.
6+
7+ * Added `--verbose` flag for debugging output in PDF production (#1840,
8+ #1653).
9+
10+ * Allow wildcards in `--epub-embed-font` arguments (#1939).
11+
12+ * Added `--latex-engine-opt` option (#969, #1779, Sumit Sahrawat).
13+
14+ * Added `shortcut_reference_links` extension (Konstantin Zudov, #1977).
15+ This is enabled by default for those markdown flavors that
16+ support reading shortcut reference links, namely: `markdown`,
17+ `markdown_strict`, `markdown_github`, `markdown_php`.
18+ If the extension is enabled, the reader parses shortcut reference
19+ links like `[foo]`, and the writer creates such links unless doing
20+ so would cause problems. Users of markdown flavors that support
21+ shortcut reference links should not notice a difference in reading
22+ markdown, but the markdown pandoc produces may differ.
23+ If shortcut links are not desired, the extension can be disabled
24+ in the normal way.
25+
26+ [behavior changes]
27+
28+ * `--toc` is now supported for `docx` output (#458, Nikolay Yakimov).
29+ A "dirty" TOC is created at the beginning of document, after abstract.
30+ It can be regenerated after the document has been opened.
31+
32+ * Only do implicit `-F pandoc-citeproc` when `--bibliography`
33+ option used, not when `bibliography` field in metadata is specified
34+ (#1849).
35+
36+ * Markdown reader:
37+
38+ + Definition lists: don't require indent for first line (#2087).
39+ Previously the body of the definition (after the `:` or `~` marker)
40+ needed to be in column 4. This commit relaxes that requirement,
41+ to better match the behavior of PHP Markdown Extra. So, now
42+ this is a valid definition list:
43+
44+ foo
45+ : bar
46+
47+ This patch also helps resolve a potentially ambiguity with table
48+ captions:
49+
50+ foo
51+
52+ : bar
53+
54+ -----
55+ table
56+ -----
57+
58+ Is "bar" a definition, or the caption for the table? We'll count
59+ it as a caption for the table.
60+ + Disallow headerless pipe tables (#1996), to conform to GFM and PHP
61+ Markdown Extra. Note: If you have been using headerless pipe tables,
62+ this change may cause existing tables to break.
63+ + Allow pipe tables with header but no body (#2017).
64+ + Allow a digit as first character of a citation key (Matthias Troffaes).
65+ See https://github.com/jgm/pandoc-citeproc/issues/97
66+
67+ * LaTeX reader:
68+
69+ + Don't limit includes to `.tex` extension (#1882).
70+ If the extension is not `.tex`, it must be given explicitly in
71+ the `\input` or `\include`.
72+
73+ * Docx reader:
74+
75+ + Allow numbering in the style file. This allows inherited styles
76+ with numbering (lists) (Jesse Rosenthal).
77+
78+ * Org reader: add support for smart punctuation (Craig Bosma).
79+
80+ * HTML writer:
81+
82+ + Add "inline" or "display" class to math spans (#1914).
83+ This allows inline and display math to be styled differently.
84+ + Include raw latex blocks if `--mathjax` specified (#1938).
85+ + Require highlighting-kate >= 0.5.14 (#1903).
86+ This ensures that all code blocks will be wrapped in a `div`
87+ with class `sourceCode`. Also, the default highlighting CSS
88+ now adds `div.sourceCode { x-overflow: auto; }`, which means
89+ that code blocks (even with line numbers) will acquire a scroll
90+ bar on screens too small to display them (e.g. mobile phones).
91+ See also jgm/highlighting-kate#65.
92+
93+ * LaTeX writer:
94+
95+ + Use a declaration for tight lists (Jose Luis Duran, Joseph
96+ Harriott). Previously, pandoc hard-coded some commands to make
97+ tight lists in LaTeX. Now we use a custom command instead,
98+ allowing the styling to be changed in a macro in the header.
99+
100+ * MediaWiki writer:
101+
102+ + Use `File:` instead of the deprecated `Image:` for images and
103+ other media files (Greg Rundlett).
104+
105+ * Append newline to the LineBreak in Dokuwiki, HTML, EPUB,
106+ LaTeX, MediaWiki, OpenDocument, Texinfo writers (#1924, Tim Lin).
107+
108+ * RST writer:
109+
110+ + Normalize headings to sequential levels (Nikolay Yakimov).
111+ This is pretty much required by docutils.
112+ + Treat headings in block quotes, etc as rubrics (Nikolay Yakimov).
113+ + Better handling of raw latex inline (#1961). We use
114+ `` :raw-latex:`...` `` and add a definition for this role to
115+ the template.
116+
117+ * EPUB writer:
118+
119+ + Remove `linear=no` from cover `itemref` (#1609).
120+ + Don't use `sup` element for epub footnotes (#1995).
121+ Instead, just use an a element with class `footnoteRef`.
122+ This allows more styling options, and provides better results
123+ in some readers (e.g. iBooks, where anything inside the a
124+ tag breaks popup footnotes).
125+ + Take TOC title from `toc-title` metadata field.
126+
127+ * Docx writer:
128+
129+ + Implemented `FirstParagraph` style (Jesse Rosenthal).
130+ Following the ODT writer, we add the `FirstParagraph` style to the
131+ first text paragraph following an image, blockquote, table, heading,
132+ or beginning of document. This allows it to be styled differently.
133+ The default is for it to be the same as `Normal`.
134+ + Added `BodyText` style (Jesse Rosenthal).
135+ We apply a `BodyText` style to all unstyled paragraphs. This is,
136+ essentially, the same as `Normal`, except that since not everything
137+ inherits from `BodyText` (the metadata won't, for example, or
138+ the headers or footnote numbers), we can change the text in the body
139+ without having to make exceptions for everything. If we do want to
140+ change *everything*, we can still do it through `Normal`.
141+ + Altered `Blockquote` style slightly (Jesse Rosenthal).
142+ Since `BlockQuote` derives from `BodyText`, we just want to specify
143+ by default that it won't indent, regardless of what `BodyText` does.
144+ Note that this will not produce any visible difference in the default
145+ configuration.
146+ + Take TOC title from `toc-title` metadata field (Nikolay Yakimov).
147+ + Added a style to figure images (Nikolay Yakimov).
148+ Figures with empty captions use style `Figure`.
149+ Figures with nonempty captions use style `Figure with Caption`, which
150+ is based on `Figure`, and additionally has `keepNext` set.
151+
152+ * ODT writer: Added figure captions (Nikolay Yakimov).
153+ The following styles are used for figures:
154+ `Figure` -- for figure with empty caption),
155+ `FigureWithCaption` (based on `Figure`) -- for figure with caption,
156+ `FigureCaption` (based on `Caption`) -- for figure captions.
157+ Also, `TableCaption` (based on `Caption`) is used for table captions.
158+
159+ [API changes]
160+
161+ * New `Text.Pandoc.Error` module with `PandocError` type
162+ (Matthew Pickering).
163+
164+ * All readers now return `Either PandocError Pandoc` instead of `Pandoc`
165+ (Matthew Pickering). This allows better handling of errors.
166+
167+ * Added `Text.Pandoc.Writers.CommonMark`, exporting `writeCommonMark`.
168+
169+ * Added `Text.Pandoc.Readers.CommonMark`, exporting `readCommonMark`.
170+
171+ * Derive `Data` and `Typeable` instances for `MediaBag`, `Extension`,
172+ `ReaderOptions`, `EPUBVersion`, `CiteMethod`, `ObfuscationMethod`,
173+ `HTMLSlideVariant`, `TrackChanges`, `WriterOptions` (Shabbaz
174+ Youssefi).
175+
176+ * New `Ext_shortcut_reference_links` constructor for `Extension`
177+ (Konstantin Zudov).
178+
179+ [bug fixes]
180+
181+ * Markdown reader:
182+
183+ + Allow smart `'` after inline math (#1909, Nikolay Yakimov).
184+ + Check for tex macros after indented code (#1973).
185+ + Rewrote `charsInBalancedBrackets` for efficiency.
186+ + Make sure a closing `</div>` doesn't get included in a
187+ definition list item (#2127).
188+ + Don't parse bracketed text as citation if it might be a link,
189+ image, or footnote (Nikolay Yakimov).
190+ + Require space after key in mmd title block (#2026, Nikolay
191+ Yakimov). Require space after key-value delimiter colon in mmd title
192+ block.
193+ + Require nonempty value in mmd title block (Nikolay Yakimov).
194+ + Disable all metadata block extensions when parsing
195+ metadata field values (#2026, Nikolay Yakimov). Otherwise we
196+ could get a mmd title block inside YAML metadata, for example.
197+
198+ * HTML reader:
199+
200+ + Improve self-closing tag detection in `htmlInBalanced` (#2146).
201+ + Handle tables with `<th>` in body rows (#1859, mb21).
202+ + Fixed `htmlTag` (#1820). If the tag parses as a comment, we check
203+ to see if the input starts with `<!--`. If not, it's bogus comment
204+ mode and we fail `htmlTag`.
205+
206+ * DocBook reader: look inside "info" elements for section titles (#1931).
207+
208+ * Docx reader:
209+
210+ + Parse images in deprecated vml format (Jesse Rosenthal).
211+ + Allow sub/superscript verbatims (Jesse Rosenthal).
212+ Verbatim usually shuts off all other run styles, but we don't want it
213+ to shut off sub/superscript.
214+
215+ * LaTeX reader:
216+
217+ + Handle `tabular*` environment (#1850).
218+ Note that the table width is not actually parsed or taken into
219+ account, but pandoc no longer chokes on it.
220+ + Ignore options in `\lstinline` rather than raising error (#1997).
221+ + Add some test cases for simple tables (Mathias Schenner).
222+ + Handle valign argument in tables (Mathias Schenner) (currently
223+ we just ignore this).
224+ + Allow non-empty colsep in tables (Mathias Schenner).
225+ The `tabular` environment allows non-empty column separators
226+ with the "@{...}" syntax. Previously, pandoc would fail to
227+ parse tables if a non-empty colsep was present. With this
228+ commit, these separators are still ignored, but the table gets
229+ parsed. A test case is included.
230+ + Recognize `\newpage` as a block command.
231+ + Allow block content in \title{} (#2001).
232+ + Check for block-level newcommand aliases in blockCommand (Nikolay
233+ Yakimov).
234+ + Test for para starting with latex macro (Nikolay Yakimov).
235+ + Guard against para starting with inline macro (Nikolay Yakimov).
236+ + Test for `^^` character escapes (Nikolay Yakimov).
237+ + Properly gobble spaces after `\\` (#2007).
238+
239+ * Textile reader:
240+
241+ + Handle newlines in table cells, and empty cells (#1919).
242+
243+ * Org reader: Allow image links with non-image targets (Hans-Peter Deifel).
244+ This matches behavior of Org-Mode for links like
245+ `[[http://example.com][https://www.haskell.org/static/img/logo.png]]`.
246+
247+ * Docbook writer: don't print empty id attributes (thanks to Steve Horne).
248+
249+ * HTML writer:
250+
251+ + Fixed list-style-type for numbered example lists.
252+ Should be "decimal," not "example" (#1902).
253+ + Do not omit missing `alt` attribute on `img` tag (#1131,
254+ Konstantin Zudov).
255+ + Allow multiple colgroups in table (#2122).
256+ + In revealjs, ensure that lists in speaker notes don't add "fragment"
257+ classes, which can cause additional keypresses to be needed to
258+ advance a slide (#1394).
259+
260+ * LaTeX writer:
261+
262+ + Don't escape `$` in URL (#1913).
263+ + Don't use listings in headers (Matthew Pickering, #1963).
264+ + Recognize book documentclass if set in metadata (#1971).
265+ This sets `--chapters` implicitly if the documentclass in metadata
266+ is a book documentclass. Previously this was done only if a book
267+ documentclass was set in a variable.
268+ + Add a `\label` in `\hyperdef` for Div, Span (or links don't work).
269+
270+ * Texinfo writer:
271+
272+ + Fix wrapping by using breakable spaces (Tim Lin).
273+
274+ * RST writer:
275+
276+ + Fixed toc depth in RST writer. Previously the depth was being
277+ rendered as a floating point number with a decimal point.
278+
279+ * Markdown writer:
280+
281+ + Improved escaping (#2086). `<` should not be escaped as `\<`, for
282+ compatibility with original Markdown. We now escape `<` and `>`
283+ with entities. Also, we now backslash-escape square brackets.
284+ + Avoid introducing spurious list items through wrapping (#1946).
285+ + Don't emit span tags if plain or raw HTML disabled.
286+
287+ * MediaWiki writer: convert spaces to underscores in wikilink URL (#1982).
288+ This mimics MediaWiki itself.
289+
290+ * AsciiDoc writer:
291+
292+ + Insert some needed blank lines (#1860).
293+ + Avoid wrapping after list marker (#1858).
294+
295+ * EPUB writer:
296+
297+ + Properly handle internal links to IDs in spans, divs (#1884).
298+ + Use plain writer for metadata dc: fields (#2121).
299+ This gives better results when we have, e.g. multiple paragraphs.
300+ Note that tags aren't allowed in these fields.
301+
302+ * ICML writer: Better handling of raw blocks and inlines (#1951).
303+ Previously these were always escaped and printed verbatim.
304+ Now they are ignored unless the format is "icml", in which
305+ case they are passed through unescaped.
306+
307+ * Custom writer:
308+
309+ + Raise error if loadstring returns an error status.
310+ + Raise `PandocLuaException` instead of using 'error'.
311+ Eventually we'll change the return type so that no exception
312+ is involved, but at least this can be trapped.
313+ + Use UTF-8 aware bytestring conversion.
314+ + Set foreign encoding to UTF-8 (Nikolay Yakimov, #2101, #1634).
315+ Also factored out ByteString, since it's only used as an intermediate
316+ representation.
317+
318+ * Docx writer:
319+
320+ + Copy hyphenation settings from reference.docx (Nikolay Yakimov).
321+ + Filter out illegal XML characters (#1992, Matthew Pickering).
322+ + Added `noProof` to docx syntax highlighting `SourceCode` style.
323+ + Added footnotes id -1 and 0 (Jesse Rosenthal).
324+ Word uses, by default, footnotes with id -1 and 0 for separators. If a
325+ user modifies `reference.docx`, they will end up with a `settings.xml`
326+ file that references these footnotes, but no such footnotes in the
327+ document. This will produce a corruption error. Here we add these to the
328+ document and `settings.xml` file, so future modifications won't break
329+ the file.
330+ + Handle lists correctly inside table cells (Jesse Rosenthal).
331+ Previously we didn't transform lists inside table cells.
332+ + Set firstRow information in tables (Nikolay Yakimov).
333+ + Don't replace `SourceCode` style in `reference.docx` if it is defined
334+ there (Nikolay Yakimov, #1872). If `--no-highlight` specified, remove
335+ any `SourceCode` and `*Tok` styles in `reference.docx`.
336+ + Attempt to match international style names (#1607, Nikolay Yakimov).
337+ + Set these styles as custom (Nikolay Yakimov): `Author`, `Abstract`,
338+ `Compact`, `Image Caption`, `Table Caption`, `Definition Term`,
339+ `Definition`, `First Paragraph`.
340+ + Rename these styles to correspond with Word `Normal.dotm` (Nikolay
341+ Yakimov): `Block Quote -> Block Text`, `Link -> Hyperlink`,
342+ `Footnote Ref -> Footnote Reference`.
343+ + Added `Caption` style (Nikolay Yakimov).
344+ + Changed these styles' inheritance (Nikolay Yakimov):
345+ `Image Caption <- Caption`, `Table Caption <- Caption`.
346+ + Remove `SourceCode` style from `reference.docx` (#1872).
347+ This is added automatically by the docx writer.
348+ + Added toc heading style to `reference.docx` (Nikolay Yakimov).
349+
350+ * `Text.Pandoc.PDF`
351+
352+ + Don't suggest "Try xelatex" if xelatex already in use (mb21, #1832).
353+ + More comprehensible errors on image conversion (#2067).
354+ EPS can't be supported without shelling out to something like
355+ ImageMagick, but at least we can avoid mysterious error messages.
356+
357+ * `Text.Pandoc.Shared`:
358+
359+ + Make safeRead safe (#1801, Matthew Pickering).
360+ + Addded `mapLeft`, `hush` (Matthew Pickering).
361+
362+ * `Text.Pandoc.Pretty`: Remove partial function (Matthew Pickering).
363+
364+ * `Text.Pandoc.SelfContained`:
365+
366+ + Add `;charset=utf-8` to script mime type if missing (#1842).
367+ + Improved building of data URIs (#1940). Now base64 is used except
368+ for 'text/*' mime types.
369+ + `cssURLs` no longer tries to fetch fragment URLs (#2121).
370+ + Properly handle data URIs in css urls (#2129).
371+ Use a proper CSS parser (adds dependency on `text-css`).
372+
373+ * `Text.Pandoc.UTF8`: Better handling of bare CRs in input files (#2132).
374+ Previously we just stripped them out; now we convert
375+ other line ending styles to LF line endings.
376+
377+ * `Text.Pandoc.ImageSize`:
378+
379+ + Fixed some exif header parsing bugs (#1834).
380+ + Make imageSize return an Either, not a Maybe (#1834).
381+ Use `runGetOrFail` (with `binary >= 0.7`) to return Left on
382+ parse failure (rather than `error`).
383+ + Improved warnings when image size can't be determined.
384+ + Removed error landmines (Matthew Pickering).
385+
386+ * Added woff2 to MIME types (Alfred Wechselberger).
387+
388+ * pandoc: When a binary input format is used, warn that
389+ file arguments past the first one are being ignored
390+ (Matthew Pickering).
391+
392+ [template changes]
393+
394+ * LaTeX template:
395+
396+ + Define `\tightlist` macro if not defined.
397+ + Use `\providecommand` for `tightlist`. This avoids a conflict
398+ when memoir class is used (thanks to Joseph Harriott).
399+ + Degrade gracefully if `\paragraph` not defined.
400+ + Include `grffile` together with `graphicx` (#2074).
401+ This properly handles filenames containing spaces and dots.
402+ + Redefine `\paragraph`, `\subparagraph`... to behave more
403+ like section headers (#1658).
404+
405+ * LaTeX, Beamer templates: use `bibliography` instead of `biblio-files`
406+ (#1661). Also use `\addbibresource` instead of `\bibliography` for
407+ biblatex.
408+
409+ * EPUB templates:
410+
411+ + Use `div`, not `p`, for "rights" on title page.
412+ + Added header-includes, include-before, include-after (#1987).
413+
414+ * OpenDocument template: use `text:p` instead of `text:h` for title.
415+ Using `text:h` causes problems with numbering. Closes #2059.
416+ Thansk to @nkalvi for diagnosing this.
417+
418+ * reveal.js template:
419+
420+ + Link to non-minified css, js. The minified versions no longer
421+ ship with the library.
422+ + Correctly include style CSS (#1949).
423+ + New configurable options options: `center`, `maxScale`, `slideNuber`
424+ (Dmitry Smirnov, pandoc-templates#89).
425+ + Moved custom CSS after theme. This allows custom CSS to modify
426+ themes, instead of being replaced by them.
427+
428+ [under the hood improvements]
429+
430+ * Removed pre-built `reference.docx` and `reference.odt` (Nikolay
431+ Yakimov). Instead the repository now includes the component text files,
432+ and the zipped binaries are built from these using a helper
433+ program, `make-reference-files`. The new component files are in
434+ `extra-source-files`. This should make maintenance of these components
435+ easier going forward.
436+
437+ * `Text.Pandoc.Parsing`: Added new `<+?>` combinator (Nikolay Yakimov).
438+
439+ * `make_deb.sh` fixes:
440+
441+ + Detect architecture.
442+ + Add Installed-Size to debian package control file (#1900).
443+ + Use `fakeroot` to get permissions right.
444+ + Use `mkdir` and `cp` instead of `install`.
445+ + Set permissions of directories to 755.
446+ + Install in `/usr` rather than `/usr/local`.
447+ + Compress man pages.
448+ + Combine copyright files for `pandoc`, `pandoc-citeproc`.
449+
450+ * Added `Text.Pandoc.Compat.Locale` and `old-locale` flag
451+ to assist with transition to `time` 1.5.
452+
453+ * Updated CONTRIBUTING.md with information about issue tags (Matthew
454+ Pickering).
455+
456+ * Updated travis installs to the new sudo-less syntax (Tim Lin).
457+
458+ * Updated dependency version bounds.
459+
460+ * EPUB tests: don't use `joinPath`, which varies across platforms.
461+ Instead, use a forward-slash to join paths, regardless of the
462+ platform. This matches the way `MediaBag` now works.
463+
464+ * Clarify JSON input and output in usage message (Caleb McDaniel).
465+
466+ * Improved INSTALL instructions.
467+
468+ * Always build man pages. Removed make-pandoc-man-pages flag.
469+
470+ * Makefile: removed man target, now that we generate man pages by default.
471+
472+ * README:
473+
474+ + Various minor formatting and consistency fixes for the program
475+ options (Andreas Lööw).
476+ + Fix typos (J. Lewis Muir).
477+ + Add documentation on backtick_code_blocks (#2135, Nikolay Yakimov).
478+ + Add note on in-field markup in biblio databases (Nick Bart).
479+ + Fixed misleading example of raw HTML block.
480+ + Added YAML biblio format to table, and note on `pandoc-citeproc`'s
481+ `--bib2json` and `--bib2yaml` options (Nick Bart).
482+ + Make definition lists for options all "loose" for consistency.
483+ + Remove obsolete reference to `mods2yaml` (Nick Bart).
484+
1485pandoc (1.13.2.1)
2486
3487 * Updated to build with ghc 7.10.1.