aboutsummaryrefslogtreecommitdiff
path: root/changelog
diff options
context:
space:
mode:
Diffstat (limited to 'changelog')
-rw-r--r--changelog489
1 files changed, 482 insertions, 7 deletions
diff --git a/changelog b/changelog
index fe3b1845b..f58a38a38 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,468 @@
+pandoc (1.13)
+
+ * Added Docx reader (API change) (Jesse Rosenthal). Includes conversion
+ of Word equations to latex in pandoc `Math` elements. Note that metadata
+ is taken from paragraphs at the beginning styled with `Author`,
+ `Title`, `Subtitle`, `Date`, and `Abstract`.
+
+ * Added EPUB reader (API change) (Matthew Pickering). Includes conversion
+ of MathML math to latex in pandoc `Math` elements.
+
+ * Added txt2tags reader (Matthew Pickering). Txt2tags is a lightweight
+ markup format described at <http://txt2tags.org/>.
+
+ * Added `--extract-media` option to extract media contained in a zip
+ container (docx or epub) while adjusting image paths to point to the
+ extracted images.
+
+ * Added module `Text.Pandoc.MediaBag`, exporting `MediaBag`, `lookupMedia`,
+ `insertMedia`, `mediaDirectory`, `extractMediaBag`. The docx and epub
+ readers return a pair of a `Pandoc` document and a `MediaBag` with
+ the media resources they contain. This can be extracted using
+ `--extract-media`. Writers that incorporate media (PDF, Docx,
+ ODT, EPUB, RTF, or HTML formats with `--self-contained`) will look
+ for resources in the `MediaBag` generated by the reader, in addition to
+ the file system or web.
+
+ * Markdown reader:
+
+ + Changed behavior of the `markdown_attribute` extension, to bring
+ it in line with PHP markdown extra and multimarkdown. Setting
+ `markdown="1"` on an outer tag affects all contained tags,
+ recursively, until it is reversed with `markdown="0"` (#1378).
+ + Fixed small bug in HTML parsing with `markdown_attribute`, which
+ caused incorrect tag nesting for input like
+ `<aside markdown="1">*hi*</aside>`.
+ + Fixed regression with intraword underscores (#1121).
+ + Slight rewrite of `enclosure`/`emphOrStrong` code.
+ + Revamped raw HTML block parsing in markdown (#1330).
+ We no longer include trailing spaces and newlines in the
+ raw blocks. We look for closing tags for elements (but without
+ backtracking). Each block-level tag is its own `RawBlock`;
+ we no longer try to consolidate them (though `--normalize` will do so).
+ + Combine consecutive latex environments. This helps when you have
+ two minipages which can't have blank lines between them (#690, #1196).
+ + Support smallcaps through span.
+ `<span style="font-variant:small-caps;">foo</span>` will be
+ parsed as a `SmallCaps` inline, and will work in all output
+ formats that support small caps (#1360).
+ + Prevent spurious line breaks after list items (#1137). When the
+ `hard_line_breaks` option was specified, pandoc would formerly
+ produce a spurious line break after a tight list item.
+ + Fixed table parsing bug (#1333).
+ + Handle `c++` and `objective-c` as language identifiers in
+ github-style fenced blocks (#1318).
+ + Inline math must have nonspace before final `$` (#1313).
+
+ * Revised markdown definition list syntax (#1429).
+
+ + This change brings pandoc's definition list syntax into alignment
+ with that used in PHP markdown extra and multimarkdown (with the
+ exception that pandoc is more flexible about the definition markers,
+ allowing tildes as well as colons).
+ + Lazily wrapped definitions are now allowed.
+ + Blank space is required between list items.
+ + The space before a definition is used to determine whether it is
+ a paragraph or a "plain" element.
+ + For backwards compatibility, a new extension,
+ `compact_definition_lists`, has been added that restores the behavior
+ of pandoc 1.12.x, allowing tight definition lists with no blank space
+ between items, and disallowing lazy wrapping.
+ + WARNING: THIS CHANGE MAY BREAK EXISTING DOCUMENTS! Either check your
+ documents for definition lists without blank space between items,
+ or use `markdown+compact_definition_lists` for the old behavior.
+
+ * LaTeX reader:
+
+ + Handle comments at the end of tables. This resolves the issue
+ illustrated in <http://stackoverflow.com/questions/24009489>.
+ + Correctly handle table rows with too few cells. LaTeX seems to
+ treat them as if they have empty cells at the end (#241).
+ + Handle leading/trailing spaces in `\emph` better.
+ `\emph{ hi }` gets parsed as `[Space, Emph [Str "hi"], Space]`
+ so that we don't get things like `* hi *` in markdown output.
+ Also applies to `\textbf` and some other constructions (#1146).
+ + Don't assume preamble doesn't contain environments (#1338).
+ + Allow (and discard) optional argument for `\caption` (James Aspnes).
+
+ * HTML reader: adjust `blockTags` and `eitherBlockOrInline`.
+
+ + Parse `div` and `span` elements even without `--parse-raw`.
+ Motivation: these now generate native pandoc Div and Span
+ elements, not raw HTML.
+ + Parse EPUB-specific elements if the `epub_html_exts`
+ extension is enabled. These include `switch`, `footnote`,
+ `rearnote`, `noteref`.
+ + Added `audio` and `source` in `eitherBlockOrInline`.
+ + Moved `video`, `svg`, `progress`, `script`, `noscript`, `svg` from
+ `blockTags` to `eitherBlockOrInline`.
+ + `map` and `object` were mistakenly in both lists; they have been removed
+ from `blockTags`.
+ + Fixed major parsing problem with HTML tables. Table cells were
+ being combined into one cell (#1341).
+ + Fixed performance issue with malformed HTML tables.
+ We let a `</table>` tag close an open `<tr>` or `<td>` (#1167).
+ + Support `--trace`.
+ + Allow space between `<col>` and `</col>`.
+ + Ignore `DOCTYPE` and `xml` declarations.
+
+ * Rewrote Haddock reader to use `haddock-library` (#1346).
+
+ + This brings pandoc's rendering of haddock markup in line
+ with the new haddock.
+ + Fixed line breaks in `@` code blocks.
+ + alex and happy are no longer build-depends.
+
+ * MediaWiki reader:
+
+ + Don't parse backslash escapes inside `<source>` (#1445).
+ + Tightened up template parsing.
+ The opening `{{` must be followed by an alphanumeric or `:`.
+ This prevents the exponential slowdown in #1033.
+ + Support `--trace`.
+ + Support "Bild" for images.
+
+ * DocBook reader:
+
+ + Better handle elements inside code environments. Pandoc's document
+ model does not allow structure inside code blocks, but at least this way
+ we preserve the text (#1449).
+ + Support `<?asciidoc-br?>` (#1236).
+ Note, this is a bit of a kludge, to work around the fact that xml-light
+ doesn't parse `<?asciidoc-br?>` correctly. We preprocess the input,
+ replacing that instruction with `<br/>`, and then parse that as a line
+ break. Other XML instructions are simply removed from the input stream.
+ Eventually we should move to a better xml parser, or get this one fixed.
+
+ * Org reader:
+
+ + Make tildes create inline code (#1345). Also relabeled `code` and
+ `verbatim` parsers to accord with the org-mode manual.
+ + Support for inline LaTeX. Inline LaTeX is now accepted and parsed by the
+ org-mode reader. Both math symbols (like `\tau`) and LaTeX commands (like
+ `\cite{Coffee}`), can be used without any further escaping (Albert
+ Krewinkel).
+ + Respect `:exports` header argument in code blocks (Craig Bosma).
+ + Fixed tight lists with sublists (#1437).
+
+ * `Text.Pandoc.Readers.TexMath`: Removed deperated `readTeXMath`.
+ Renamed `readTeXMath'` to `texMathToInlines`. (API change.)
+
+ * `Text.Pandoc`:
+
+ + Added `Reader` data type (API change) (Matthew Pickering).
+ + `readers` now associates names of readers with `Reader`
+ structures. This allows inclusion of readers, like the docx
+ reader, that take binary rather than textual input (Matthew
+ Pickering).
+
+ * Added DokuWiki markup writer (API change) (Clare Macrae).
+
+ * Added Haddock writer. (API change.)
+
+ * EPUB writer:
+
+ + Avoid excess whitespace in `nav.xhtml`. This should improve
+ TOC view in iBooks (#1392).
+ + Fixed regression on cover image.
+ In 1.12.4 and 1.12.4.2, the cover image would not appear properly,
+ because the metadata id was not correct. Now we derive the id from the
+ actual cover image filename, which we preserve rather than using
+ "cover-image."
+ + Keep newlines between block elements. This allows
+ easier diff-ability (#1424).
+ + Use `stringify` instead of custom `plainify`.
+ + Use `renderTags'` for all tag rendering. This properly handles tags
+ that should be self-closing. Previously `<hr/>` would appear in EPUB
+ output as `<hr></hr>` (#1420).
+ + Better handle HTML media tags.
+ + Handle multiple dates with OPF `event` attributes. Note: in EPUB3 we
+ can have only one dc:date, so only the first one is used.
+
+ * LaTeX writer:
+
+ + Use `\(..\)` instead of `$..$` for inline math (#1464).
+ + Use `\nolinkurl` in email autolinks. This allows them to be styled
+ using `\urlstyle{tt}`. Thanks to Ulrike Fischer for the solution.
+ + Use `\textquotesingle` for `'` in inline code. Otherwise we get
+ curly quotes in the PDF output (#1364).
+ + Correctly handle figures in notes. Notes can't contain figures in
+ LaTeX, so we fake it to avoid an error (#1053).
+ + Fixed strikeout + highlighted code (#1294).
+ Previously strikeout highlighted code caused an error.
+ + Put table captions above tables, to match the conventional
+ standard. (Previously they appeared below tables.)
+
+ * RTF writer:
+
+ + Improved image embedding: `fetchItem'` is now used to get the
+ images, and calculated image sizes are indicated in the RTF.
+ + Avoid extra paragraph tags in metadata (#1421).
+
+ * HTML writer:
+
+ + Deactivate "incremental" inside slide speaker notes (#1394).
+
+ * MediaWiki writer:
+
+ + Minor renaming of `st` prefixed names.
+
+ * AsciiDoc writer:
+
+ + Double up emphasis and strong emphasis markers in intraword
+ contexts, as required by asciidoc (#1441).
+
+ * Markdown writer:
+
+ + Updated definition lists, so they match the current markdown reader's
+ behavior. (Thus, they match PHP markdown extra, and a blank line is
+ always used between items.) The old behavior
+ can be activated with the `compact_definition_lists` extension.
+ + Horizontal rules are now a line across the whole page.
+ + Avoid wrapping that might start a list, blockquote, or header (#1013).
+ + Use span with style for `SmallCaps` (#1360).
+ + Use Span instead of (hackish) `SmallCaps` in `plainify`.
+ + Don't use braced attributes for fenced code (#1416).
+ If `Ext_fenced_code_attributes` is not set, the first class
+ attribute will be printed after the opening fence as a bare word.
+ + Prettier pipe tables. Columns are now aligned (#1323).
+ + Respect the `raw_html` extension. `pandoc -t markdown-raw_html`
+ no longer emits any raw HTML, including span and div tags
+ generated by Span and Div elements.
+ + Separate adjacent lists of the same kind with an HTML comment (#1458).
+
+ * Plain writer: Revised output, largely following the style of Project
+ Gutenberg.
+
+ + Emphasis is rendered with `_underscores_`, strong emphasis
+ with ALL CAPS.
+ + Headings are rendered differently, with space to set them off,
+ not with setext style underlines. Level 1 headers are ALL CAPS.
+ + Math is rendered using unicode when possible, but without the
+ distracting emphasis markers around variables.
+ + Footnotes use a regular `[n]` style.
+ + Added tests.
+
+ * PDF writer:
+
+ + Moved `withTempDir` to `Text.Pandoc.Shared`, which now exports it.
+ + Fixed treatment of data uris for images (#1062).
+
+ * Docx writer:
+
+ + Header and footer are now carried over from `reference.docx`.
+ + Take over document formatting from `reference.docx`.
+ This includes margins, page size, page orientation.
+ + Use Compact style for empty table cells (#1353).
+ Otherwise we get overly tall lines when there are empty
+ table cells and the other cells are compact.
+ + Create overrides per-image for `media/` in ref docx.
+ This should be somewhat more robust and cover more types of images.
+ + Improved `entryFromArchive` to avoid parse. No need to parse the XML
+ if we're just going to render it right away!
+ + Make images work in `reference.docx` headers/footers.
+ All media from reference.docx are copied into result.
+ Added defaults for common image types to `[Content Types]`.
+ Avoid redundant XML parse + write for entries taken over from
+ `reference.docx`, for better performance.
+ + Section numbering carries over from reference.docx (#1305).
+ + Simplified `abstractNumId` numbering. Instead of sequential numbering,
+ we assign numbers based on the list marker styles.
+ + Include abstract (if present) with `Abstract` style (#1451).
+ + Include subtitle (if present) with `Subtitle` style, rather
+ than tacking it on to the title (#1451).
+
+ * Org writer:
+
+ + Write empty span elements with an id attribute as org anchors.
+ For example `Span ("uid",[],[]) []` becomes `<<uid>>`.
+
+ * Custom lua writers:
+
+ + Custom writers now work with `--template`.
+ + Removed HTML header scaffolding from `sample.lua`.
+ + Made citation information availabel in lua writers.
+
+ * `Text.Pandoc.ImageSize`:
+
+ + Use default instead of failing if image size not found
+ in exif header (#1358).
+ + ignore unknown exif header tag rather than crashing.
+ Some images seem to have tag type of 256, which was causing
+ a runtime error.
+
+ * `Text.Pandoc.Highlighting`: Let `.numberLines` work even if no language
+ is given (#1287, jgm/highlighting-kate#40).
+
+ * `Text.Pandoc.Pretty`: Added `blanklines`, which guarantees a certain
+ number of blank lines (and no more).
+
+ * `Text.Pandoc.Shared`:
+
+ + Added `collapseFilePath`, which removes intermediate `.` and
+ `..` from a path (Matthew Pickering).
+ + Added `fetchItem'`, which works like `fetchItem` but searches
+ a `MediaBag` before looking on the net or file system.
+ + Added `withTempDir` (API change).
+ + `fetchItem`: unescape URI encoding before reading local file (#1427).
+ + `fetchItem`: strip a fragment like `?#iefix` from the extension before
+ doing mime lookup, to improve mime type guessing.
+ + Improved log of `fetchItem`: absolute URIs are fetched from the net;
+ other things are treated as relative URIs if `sourceURL` is `Just _`,
+ otherwise as file paths on the local file system.
+ + `fetchItem` now properly handles links without a protocol (#1477).
+ + `fetchItem` now escapes characters not allowed in URIs before trying
+ to parse the URIs.
+ + Added `removeFormatting` (API change).
+ + Added `extractSpaces` (from HTML reader) and generalized its type
+ so that it can be used by the docx reader (Matthew Pickering).
+ + Added `ordNub` (API change).
+ + Fixed runtime error with `compactify'DL` on certain lists (#1452).
+ + Added `capitalize` (Artyom Kazak), and replaced uses of
+ `map toUpper` (which give bad results for many languages).
+
+ * `Text.Pandoc.Templates`:
+
+ + Fail informatively on template syntax errors.
+ With the move from parsec to attoparsec, we lost good error
+ reporting. In fact, since we weren't testing for end of input,
+ malformed templates would fail silently. Here we revert back to
+ Parsec for better error messages.
+ + Added `ordNub` (API change) (#1022).
+
+ * `Text.Pandoc.Options`:
+
+ + Added `writerMediaBag` to `WriterOptions` (API change).
+ + Removed deprecated and no longer used `readerStrict` in
+ `ReaderOptions`. This is handled by `readerExtensions` now
+ (API change).
+ + Removed `Ext_fenced_code_attributes` from `markdown_github`
+ extensions (API change)`.
+ + Added `Ext_compact_definition_lists` (API change).
+ + Added `Ext_epub_html_exts` (API change).
+ + Added `Ext_native_divs` and `Ext_native_spans` (API change).
+ This allows users to turn off the default pandoc behavior of
+ parsing contents of div and span tags in markdown and HTML
+ as native pandoc Div blocks and Span inlines.
+
+ * `Text.Pandoc.Parsing`
+
+ + Generalized `readWith` to `readWithM` (Matthew Pickering) (API change).
+ + Export `runParserT` and `Stream` (Matthew Pickering).
+ + Added `HasQuoteContext` type class (Matthew Pickering).
+ + Generalized types of `mathInline`, `smartPunctuation`, `quoted`,
+ `singleQuoted`, `doubleQuoted`, `failIfInQuoteContext`,
+ `applyMacros` (Matthew Pickering).
+ + Added custom `token` (Matthew Pickering).
+ + Simplified `dash` and `ellipsis` (#1419).
+ + Removed `(>>~)` in favor of the equivalent `(<*)` (Matthew Pickering).
+ + Generalized functions to use `ParsecT` (Matthew Pickering).
+ + Added `stateInHtmlBlock` to `ParserState`. This is used to keep
+ track of the ending tag we're waiting for when we're parsing inside
+ HTML block tags. (API change.)
+ + Added `stateMarkdownAttribute` to `ParserState`. This is used
+ to keep track of whether the markdown attribute has been set in
+ an enclosing tag. (API change.)
+ + Added `isbn` and `pmid` to list of recognized schemes (Matthew
+ Pickering).
+
+ * Added `Text.Pandoc.Compat.Directory` to allow building against
+ different versions of the `directory` library.
+
+ + Added `Text.Pandoc.Compat.Except` to allow building against
+ different verions of `mtl`.
+
+ * Templates:
+
+ + Added haddock template.
+ + EPUB3: Added `type` attribute to `link` tags. They are supposed to
+ be "advisory" in HTML5, but kindlegen seems to require them.
+ + LaTeX: Made `\subtitle` work properly (#1327).
+ + LaTeX/Beamer: remove conditional around date (#1321).
+ + LaTeX: Added `lot` and `lof` variables, which can be set to
+ get `\listoftables` and `\listoffigures` (#1407). Note that
+ these variables can be set at the command line with `-Vlot -Vlof`
+ or in YAML metadata.
+
+ * Code cleanup in some writers, using Reader monad to avoid
+ passing options parameter around (Matej Kollar).
+
+ * Rewrote normalize for efficiency (#1385).
+
+ + Added `normalizeInlines`, `normalizeBlocks`.
+ + `normalize` is now `Pandoc -> Pandoc` instead of
+ `Data a :: a -> a`. Some users may need to change their uses of
+ `normalize` to the newly exported `normalizeInlines` or
+ `normalizeBlocks`.
+ + `normalize`: consolidate adjacent `RawBlock`s when possible.
+
+ * `--filter`:
+
+ + Don't search PATH for a filter with an explicit path.
+ This fixed a bug wherein `--filter ./caps.py` would run `caps.py` from
+ the system path, even if there was a `caps.py` in the working directory.
+ + Respect shebang if filter is executable (#1389).
+ + Don't print misleading error message.
+ Previously pandoc would say that a filter was not found,
+ even in a case where the filter had a syntax error.
+
+ * Avoid `import Prelude hiding (catch)` (#1309, thanks to Michael Thompson).
+
+ * Don't strip path off of `writerSourceURL`: the path is needed to
+ resolve relative URLs when we fetch resources (#750).
+
+ * README:
+
+ + Made headers for all extensions so they have IDs and can be linked
+ to (Beni Cherniavsky-Paskin).
+ + Fixed typos (Phillip Alday).
+ + Fixed documentation of attributes (#1315).
+ + Clarified documentation on small caps (#1360).
+ + Better documentation for `fenced_code_attributes` extension
+ (Caleb McDaniel).
+ + Documented fact that you can put YAML metadata in a separate file
+ (#1412).
+
+ * Changed `http-conduit` flag to `https`. Depend on `http-client`
+ and `http-client-tls` instead of `http-conduit`. (Note: pandoc still
+ depends on `conduit` via `yaml`.)
+
+ * Require `highlighting-kate >= 0.5.8.5` (#1271, #1317, Debian #753299).
+ This change to highlighting-kate means that PHP fragments no longer need
+ to start with `<?php`. It also fixes a serious bug causing failures with
+ ocaml and fsharp.
+
+ * Require latest `texmath`. This fixes `\tilde{E}` and allows
+ `\left` to be used with `]`, `)` etc. (#1319), among many other
+ improvements.
+
+ * Improved readability in `pandoc.hs`.
+
+ * Miscellaneous code cleanups (Artyom Kazak).
+
+ * Require latest `zip-archive`. This has fixes for unicode path names.
+
+ * Benchmarks:
+
+ + Made benchmarks compile again (Artyom Kazak).
+ + Fixed so that the failure of one benchmark does not prevent others
+ from running (Artyom Kazak).
+ + Use `nfIO` instead of the `getLength` trick to force full evaluation.
+ + Changed benchmark to use only the test suite, so that benchmarks
+ run more quickly.
+
+ * Windows build script:
+
+ + Add `-windows` to file name.
+ + Use one install command for pandoc, pandoc-citeproc.
+ + Force install of pandoc-citeproc.
+
+ * `make_osx_package`: Call zip file pandoc-VERSION-osx.zip.
+ The zip should not be named SOMETHING.pkg.zip, or OSX finder
+ will extract it into a folder named SOMETHING.pkg, which it
+ will interpret as a defective package (#1308).
+
+
pandoc (1.12.4.2)
* Require highlighting-kate >= 0.5.8. Fixes a performance regression.
@@ -107,6 +572,10 @@ pandoc (1.12.4)
+ Implemented correct parsing rules for inline markup (#1175, Matthew
Pickering).
+ Use Builder (Matthew Pickering).
+ + Fixed list parsing bug (#1500).
+ + Don't allow inline formatting to extend over newlines.
+ This matches the behavior of RedCarpet, avoids some ugly bugs,
+ and improves performance.
* DocBook reader:
@@ -252,8 +721,14 @@ pandoc (1.12.4)
in your template, the word `true` will appear, which may be
unexpected. (Previously nothing would appear.)
- * `Text.Pandoc.SelfContained`: Handle `poster` attribute in `video`
- tags (#1188).
+ * `Text.Pandoc.SelfContained`:
+
+ + `mkSelfContained` now takes just two arguments, `WriterOptions` and
+ the string.
+ * It no longer looks in data files. This only made sense when we
+ had copies of slidy and S5 code there.
+ * `fetchItem'` is used instead of the nearly duplicate `getItem`.
+ + Handle `poster` attribute in `video` tags (#1188).
* `Text.Pandoc.Parsing`:
@@ -393,7 +868,7 @@ pandoc (1.12.3)
* Added `Cite` function to `sample.lua`.
* Markdown reader:
-
+
+ Fixed regression in title blocks (#1089).
If author field was empty, date was being ignored.
+ Allow backslash-newline hard line breaks in grid and
@@ -472,7 +947,7 @@ pandoc (1.12.3)
to squished images in Word documents. Closes #976.
* Removed old `MarkdownTest_1.0.3` directory (#1104).
-
+
pandoc (1.12.2.1)
* Markdown reader: Fixed regression in list parser, involving
@@ -604,7 +1079,7 @@ pandoc (1.12.2)
* Slides: Preserve `<div class="references">` in references slide.
* `Text.Pandoc.Writer.Shared`:
-
+
+ Fixed bug in `tagWithAttrs`. A space was omitted before key-value
attributes, leading to invalid HTML.
+ `normalizeDate`: Allow dates with year only (thanks to Shaun Attfield).
@@ -643,7 +1118,7 @@ pandoc (1.12.2)
over the values using `$for(foo)$`. This has the result that you can
override earlier settings using `-V` by putting new values later on the
command line, which is useful for many purposes.
-
+
* `Text.Pandoc`: Don't default to `pandocExtensions` for all writers.
* Allow "epub2" as synonym for "epub", "html4" for "html".
@@ -1004,7 +1479,7 @@ pandoc (1.12)
* The `Text.Pandoc.Biblio` module has been removed. Users of the
pandoc library who want citation support will need to use
`Text.CSL.Pandoc` from `pandoc-citeproc`.
-
+
[bug fixes]