From 30da1a5b70de8015d0bed81165e8754a40699ea9 Mon Sep 17 00:00:00 2001 From: John MacFarlane <fiddlosopher@gmail.com> Date: Fri, 18 Jan 2013 20:37:30 -0800 Subject: [PATCH] Updated changelog. --- changelog | 699 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 699 insertions(+) diff --git a/changelog b/changelog index d8ec82ce5..a5895b89e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,702 @@ +pandoc (1.10) + + [new features] + + * New input formats: `mediawiki` (MediaWiki markup). + + * New output formats: `epub3` (EPUB v3 with MathML), + `fb2` (FictionBook2 ebooks). + + * New `--toc-depth` option, specifying how many levels of + headers to include in a table of contents. + + * New `--epub-chapter-level` option, specifying the header + level at which to divide EPUBs into separate files. + Note that this normally affects only performance, not the + visual presentation of the EPUB in a reader. + + * Removed the `--strict` option. Instead of using `--strict`, + one can now use the format name `markdown_strict` for either input + or output. This gives more fine-grained control that `--strict` + did, allowing one to convert from pandoc's markdown to strict + markdown or vice versa. + + * It is now possible to enable or disable specific syntax + extensions by appending them (with `+` or `-`) to the writer + or reader name. For example, + + pandoc -f markdown-footnotes+hard_line_breaks + + disables footnotes and enables treating newlines as hard + line breaks. The literate Haskell extensions are now implemented + this way as well, using either `+lhs` or `+literate_haskell`. + For a list of extension names, see the README under + "Pandoc's Markdown." + + * The following aliases have been introduced for specific + combinations of markdown extensions: `markdown_phpextra`, + `markdown_github`, `markdown_mmd`, `markdown_strict`. These aliases + work just like regular reader and writer names, and can be modified + with extension modifiers as described above. (Note that conversion + from one markdown dialect to another does not work perfectly, + because there are differences in markdown parsers besides + just the extensions, and because pandoc's internal document model is + not rich enough to capture all of the extensions.) + + * New `--html-q-tags` option. The previous default was to use `<q>` + tags for smart quotes in HTML5. But `<q>` tags are also valid HTML4. + Moreover, they are not a robust way of typesetting quotes, since + some user agents don't support them, and some CSS resets (e.g. + bootstrap) prevent pandoc's quotes CSS from working properly. + We now just insert literal quote characters by default in both + `html` and `html5` output, but this option is provided for + those who still want `<q>` tags. + + * The markdown reader now prints warnings (to stderr) about + duplicate link and note references. Closes #375. + + * Markdown syntax extensions: + + + Added pipe tables. Thanks to François Gannaz for the initial patch. + These conform to PHP Markdown Extra's pipe table syntax. A subset + of org-mode table syntax is also supported, which means that you can + use org-mode's nice table editor to create tables. + + + Added support for RST-style line blocks. These are + useful for verse and addresses. + + + Attributes can now be specified for headers, using the same + syntax as in code blocks. (However, currently only the + identifier has any effect in most writers.) For example, + + # My header {#foo} + + See [the header above](#foo). + + + Pandoc will now act as if link references have been defined + for all headers without explicit identifiers. + So, you can do this: + + # My header + + Link to [My header]. + Another link to [it][My header]. + + Closes #691. + + * LaTeX reader: + + + Command macros now work everywhere, including non-math. + Environment macros still not supported. + + `\input` now works, as well as `\include`. TEXINPUTS is used. + Pandoc looks recursively into included files for more included files. + + [behavior changes] + + * The Markdown reader no longer puts the text of autolinks in a + `Code` inline. This means that autolinks will no longer appear + in a monospace font. + + * The character `/` can now appear in markdown citation keys. + + * HTML blocks in strict_markdown are no longer required to begin + at the left margin. Technically this is required, according to + the markdown syntax document, but `Markdown.pl` and other markdown + processors are more liberal. + + * The `-V` option has been changed so that if there are duplicate + variables, those specified later on the command line take precedence. + + * Tight lists now work in LaTeX and ConTeXt output. + + * The LaTeX writer no longer relien on the `enumerate` package. + Instead, it uses standard LaTeX commands to change the list numbering + style. + + * The LaTeX writer now uses `longtable` instead of `ctable`. This allows + tables to be split over page boundaries. + + * The RST writer now uses a line block to render paragraphs containing + linebreaks (which previously weren't supported at all). + + * The markdown writer now applies the `--id-prefix` to footnote IDs. + Closes #614. + + * The plain writer no longer uses backslash-escaped line breaks + (which are not very "plain"). + + * `Text.Pandoc.UTF8`: Better error message for invalid UTF8. + Read bytestring and use `Text`'s decodeUtf8 instead of using + `System.IO.hGetContents`. This way you get a message saying + "invalid UTF-8 stream" instead of "invalid byte sequence." + You are also told which byte caused the problem. + + * Docx, ODT, and EPUB writers now download images specified by a URL + instead of skipping them or raising an error. + + * EPUB writer: + + + The default CSS now left-aligns headers by default, instead of + centering. This is more consistent with the rest of the writers. + + A proper multi-level table of contents is now used in `toc.ncx`. + There is no longer a subsidiary table of contents at the beginning + of each chapter. + + Code highlighting now works by default. + + Section divs are used by default for better semantic markup. + + The title is used instead of "Title Page" in the table of contents. + Otherwise we have a hard-coded English string, which looks + strange in ebooks written in other languages. Closes #572. + + * HTML writer: + + + Put mathjax in span with class "math". Closes #562. + + Put citations in a span with class "citation." In HTML5, also include + a `data-cite` attribute with a space-separated list of citation + keys. + + * `Text.Pandoc.UTF8`: use universalNewlineMode in reading. + This treats both `\r\n` and `\n` as `\n` on input, no matter + what platform we're running on. + + * Citation processing is now done in the Markdown and LaTeX + readers, not in `pandoc.hs`. This makes it easier for library users + to use citations. + + [template changes] + + * HTML: Added css to template to preserve spaces in `<code>` tags. + Thanks to Dirk Laurie. + + * Beamer: Remove English-centric strings in section pages. + Section pages used to have "Section" and a number as well as the + section title. Now they just have the title. Similarly for part + and subsection. Closes #566. + + * LaTeX, ConTeXt: Added papersize variable. + + * LaTeX, Beamer templates: Use longtable instead of ctable. + + * LaTeX, Beamer templates: Don't require 'float' package for tables. + We don't actually seem to use the '[H]' option. + + * Markdown, plain: Fixed titleblock so it is just a single string. + Previously separate title, author, and date variables were used, + but this didn't allow different kinds of title blocks. + + * EPUB: + + + Rationalized templates. Previously there were three different + templates involved in epub production. There is now just one + template, `default.epub` or `default.epub3`. It can now be + overridden using `--template`, just like other templates. + The titlepage is now folded into the default template. + A `titlepage` variable selects it. + + UTF-8, lang tag, meta tags, title element. + + * Added scale-to-width feature to beamer template + + [API changes] + + * `Text.Pandoc.Definition`: Added `Attr` field to `Header`. + Previously header identifers were autogenerated by the writers. + Now they are added in the readers (either automatically or explicitly). + + * The readers now take a `ReaderOptions` rather than a `ParserState` + as a parameter. Indeed, not all parsers use the `ParserState` type; + some have a custom state. The motivation for this change was to separate + user-specifiable options from the accounting functions of parser state. + + * New module `Text.Pandoc.Options`. This includes the `WriterOptions` + formerly in `Text.Pandoc.Shared`, and its associated + data types. It also includes a new type `ReaderOptions`, which + contains many options formerly in `ParserState`, and its associated + data types: + + + `ParserState.stateParseRaw` -> `ReaderOptions.readerParseRaw`. + + `ParserState.stateColumns` -> `ReaderOptions.readerColumns`. + + `ParserState.stateTabStop` -> `ReaderOptions.readerTabStop`. + + `ParserState.stateOldDashes` -> `ReaderOptions.readerOldDashes`. + + `ParserState.stateLiterateHaskell` -> `ReaderOptions.readerLiterateHaskell`. + + `ParserState.stateCitations` -> `ReaderOptions.readerReferences`. + + `ParserState.stateApplyMacros` -> `ReaderOptions.readerApplyMacros`. + + `ParserState.stateIndentedCodeClasses` -> + `ReaderOptions.readerIndentedCodeClasses`. + + Added `ReaderOptions.readerCitationStyle`. + + * `WriterOptions` now includes `writerEpubVersion`, `writerEpubChapterLevel`, + `writerEpubStylesheet`, `writerEpubFonts`, `writerReferenceODT`, + `writerReferenceDocx`, and `writerTOCDepth`. `writerEPUBMetadata` has + been renamed `writerEpubMetadata` for consistency. + + * Changed signatures of `writeODT`, `writeDocx`, `writeEPUB`, since they no + longer stylesheet, fonts, reference files as separate parameters. + + * Removed `writerLiterateHaskell` from `WriterOptions`, and + `readerLiterateHaskell` from `ReaderOptions`. LHS is now handled + by an extension (`Ext_literate_haskell`). + + * Removed deprecated `writerXeTeX`. + + * Removed `writerStrict` from `WriterOptions`. Added `writerExtensions`. + Strict is now handled through extensions. + + * `Text.Pandoc.Options` exports `pandocExtensions`, `strictExtensions`, + `phpMarkdownExtraExtensions`, `githubMarkdownExtensions`, + and `multimarkdownExtensions`, as well as the `Extensions` type. + + * New `Text.Pandoc.Readers.MediaWiki` module, exporting + `readMediaWiki`. + + * New `Text.Pandoc.Writers.FB2` module, exporting `writeFB2` + (thanks to Sergey Astanin). + + * `Text.Pandoc`: + + + Added `getReader`, `getWriter` to `Text.Pandoc`. + + `writers` is now an association list `(String, Writer)`. + A `Writer` can be a `PureStringWriter`, an `IOStringWriter`, or + an `IOByteStringWriter`. ALL writers are now in the 'writers' + list, including the binary writers and FB2 writer. This allows + code in `pandoc.hs` to be simplified. + + Changed type of `readers`, so all readers are in IO. + Users who want pure readers can still get them form the reader + modules; this just affects the function `getReader` that looks up + a reader based on the format name. The point of this change is to + make it possible to print warnings from the parser. + + * `Text.Pandoc.Parsing`: + + + `Text.Parsec` now exports all Parsec functions used in pandoc code. + No other module directly imports Parsec. This will make it easier + to change the parsing backend in the future, if we want to. + + `Text.Parsec` is used instead of `Text.ParserCombinators.Parsec`. + + Export the type synonym `Parser`. + + Export `widthsFromIndices`, `NoteTable'`, `KeyTable'`, `Key'`, `toKey'`, + `withQuoteContext`, `singleQuoteStart`, `singleQuoteEnd`, + `doubleQuoteStart`, `doubleQuoteEnd`, `ellipses`, `apostrophe`, + `dash`, `nested`, `F(..)`, `askF`, `asksF`, `runF`, `lineBlockLines`. + + `ParserState` is no longer an instance of `Show`. + + Added `stateSubstitutions` and `stateWarnings` to `ParserState`. + + Generalized type of `withQuoteContext`. + + Added `guardEnabled`, `guardDisabled`, `getOption`. + + Removed `failIfStrict`. + + `lookupKeySrc` and `fromKey` are no longer exported. + + * `Data.Default` instances are now provided for `ReaderOptions`, + `WriterOptions`, and `ParserState`. `Text.Pandoc` re-exports `def`. + Now you can use `def` (which is re-exported by `Text.Pandoc`) instead + of `defaultWriterOptions` (which is still defined). Closes #546. + + * `Text.Pandoc.Shared`: + + + Added `safeRead`. + + Renamed `removedLeadingTrailingSpace` to `trim`, + `removeLeadingSpace` to `triml`, and `removeTrailingSpace` to `trimr`. + + Count `\r` as space in `trim` functions. + + Moved `renderTags'` from HTML reader and `Text.Pandoc.SelfContained` + to `Shared`. + + Removed `failUnlessLHS`. + + Export `compactify'`, formerly in Markdown reader. + + Export `isTightList`. + + Do not export `findDataFile`. + + `readDataFile` now returns a strict ByteString. + + Export `readDataFileUTF8` which returns a String, like the + old `readDataFile`. + + Export `fetchItem` and `openURL`. + + * `Text.Pandoc.ImageSize`: Use strict, not lazy bytestrings. + Removed `readImageSize`. + + * `Text.Pandoc.UTF8`: Export `encodePath`, `decodePath`, + `decodeArg`, `toString`, `fromString`, `toStringLazy`, + `fromStringLazy`. + + * `Text.Pandoc.UTF8` is now an exposed module. + + * `Text.Pandoc.Biblio`: + + + csl parameter now a `String` rather than a `FilePath`. + + Changed type of `processBiblio`. It is no longer in the IO monad. + It now takes a `Maybe Style` argument rather than parameters for CSL + and abbrev filenames. (`pandoc.hs` now calls the functions to parse + the style file and add abbreviations.) + + * Markdown reader now exports `readMarkdownWithWarnings`. + + * `Text.Pandoc.RTF` now exports `writeRTFWithEmbeddedImages` instead of + `rtfEmbedImage`. + + [bug fixes] + + * Make `--ascii` work properly with `--self-contained`. Closes #568. + + * Markdown reader: + + + Fixed link parser to avoid exponential slowdowns. Closes #620. + Previously the parser would hang on input like this: + + [[[[[[[[[[[[[[[[[[hi + + We fixed this by making the link parser parser characters + between balanced brackets (skipping brackets in inline code spans), + then parsing the result as an inline list. One change is that + + [hi *there]* bud](/url) + + is now no longer parsed as a link. But in this respect pandoc behaved + differently from most other implementations anyway, so that seems okay. + + + Look for raw html/latex blocks before tables. + Otherwise the following gets parsed as a table: + + \begin{code} + -------------- + -- My comment. + \end{code} + + Closes #578. + + * RST reader: + + + Added support for `:target:` on `.. image::` blocks + and substitutions. + + Field list fixes: + + - Fixed field lists items with body beginning after a new line + (Denis Laxalde). + - Allow any char but ':' in names of field lists in RST reader + (Denis Laxalde). + - Don't allow line breaks in field names. + - Require whitespace after field list field names. + - Don't create empty definition list for metadata field lists. + Previously a field list consisting only of metadata fields (author, + title, date) would be parsed as an empty DefinitionList, which is + not legal in LaTeX and not needed in any format. + + + Don't recognize inline-markup starts inside words. + For example, `2*2 = 4*1` should not contain an emphasized + section. Added test case for "Literal symbols". Closes #569. + + Allow dashes as separator in simple tables. Closes #555. + + Added support for `container`, `compound`, `epigraph`, + `rubric`, `highlights`, `pull-quote`. + + Added support for `.. code::`. + + Made directive labels case-insensitive. + + Removed requirement that directives begin at left margin. + This was (correctly) not in earlier releases; docutils doesn't + make the requirement. + + Added support for `replace::` and `unicode::` substitutions. + + Ignore unknown interpreted roles. + + Renamed image parser to `subst`, since it now handles all + substitution references. + + * Textile reader: + + + Allow newlines before pipes in table. Closes #654. + + Fixed bug with list items containing line breaks. + Now pandoc correctly handles hard line breaks inside list items. + Previously they broke list parsing. + + Implemented comment blocks. + + Fixed bug affected words ending in hyphen. + + Properly handle links with surrounding brackets. + Square brackets need to be used when the link isn't surrounded by + spaces or punctuation, or when the URL ending may be ambiguous. + Closes #564. + + Removed nullBlock. Better to know about parsing problems than + to skip stuff when we get stuck. + + Allow ID attributes on headers. + + Textile reader: Avoid parsing dashes as strikeout. + Previously the input + + text-- + text-- + text-- + text-- + + would be parsed with strikeouts rather than dashes. This fixes + the problem by requiring that a strikeout delimiting - not be + followed by a -. Closes #631. + + Expanded list of `stringBreakers`. + This fixes a bug on input like "(_hello_)" which should + be a parenthesized emphasized "hello". + The new list is taken from the PHP source of textile 2.4. + + Fixed autolinks. Previously the textile reader and writer + incorrectly implented RST-style autolinks for URLs and email + addresses. This has been fixed. Now an autolink is done this way: + `"$":http://myurl.com`. + + Fixed footnotes bug in textile. This affected notes occuring + before punctuation, e.g. `foo[1].`. Closes #518. + + * LaTeX reader: + + + Better handling of citation commands. + + Better handling of `\noindent`. + + Added a 'try' in rawLaTeXBlock, so we can handle `\begin` without `{`. + Closes #622. + + Made `rawLaTeXInline` try to parse block commands as well. This + is usually what we want, given how `rawLaTeXInline` is used in + the markdown and textile readers. If a block-level LaTeX command + is used in the middle of a paragraph (e.g. `\subtitle` inside a title), + we can treat it as raw inline LaTeX. + + Handle \slash command. Closes #605. + + Basic `\enquote` support. + + Fixed parsing of paragraphs beginning with a group. Closes #606. + + Use curly quotes for bare straight quotes. + + Support obeylines environment. Closes #604. + + Guard against "begin", "end" in inlineCommand and + blockCommand. + + Better error messages for environments. Now it should tell you that + it was looking for \end{env}, instead of giving "unknown parse error." + + * HTML reader: + + + Added HTML 5 tags to list of block-level tags. + + HTML reader: Fixed bug in `htmlBalanced`, which + caused hangs in parsing certain markdown input using + strict mode. + + Parse `<q>` as `Quoted DoubleQuote`. + + Handle nested `<q>` tags properly. + + Modified `htmlTag` for fewer false positives. + A tag must start with `<` followed by `!`,`?`, `/`, or a letter. + This makes it more useful in the wikimedia and markdown parsers. + + * DocBook reader: Support title in "figure" element. Closes #650. + + * MediaWiki writer: + + + Remove newline after `<br/>` in translation of `LineBreak` + There's no particular need for a newline (other than making the + generated MediaWiki source look nice to a human), and in fact + sometimes it is incorrect: in particular, inside an enumeration, list + items cannot have embedded newline characters. (Brent Yorgey) + + Use `<code>` not `<tt>` for Code. + + * Man writer: Escape `-` as `\-`. + Unescaped `-`'s become hyphens, while `\-`'s are left as ascii minus + signs. That is preferable for use with command-line options. See + <http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html>. Thanks + to Andrea Bolognani for bringing the issue to our attention. + + * RST writer: + + + Improved line block output. Use nonbreaking spaces for + initial indent (otherwise lost in HTML and LaTeX). + Allow multiple paragraphs in a single line block. + Allow soft breaks w continuations in line blocks. + + Properly handle images with no alt text. Closes #678. + + Fixed bug with links with duplicate text. We now (a) use anonymous + links for links with inline URLs, and (b) use an inline link instead + of a reference link if the reference link would require a label that + has already been used for a different link. Closes #511. + + Fixed hyperlinked images. Closes #611. Use `:target:` + field when you have a simple linked image. + + Don't add `:align: center` to figures. + + * Texinfo writer: Fixed internal cross-references. + Now we insert anchors after each header, and use `@ref` instead of `@uref` + for links. Commas are now escaped as `@comma{}` only when needed; + previously all commas were escaped. (This change is needed, in part, + because `@ref` commands must be followed by a real comma or period.) Also + insert a blank line in from of `@verbatim` environments. + + * DocBook writer: + + + Made --id-prefix work in DocBook as well as HTML. + Closes #607. + + Don't include empty captions in figures. Closes #581. + + * LaTeX writer: + + + Use `\hspace*` for nonbreaking space after line break, + since `~` spaces after a line break are just ignored. + Closes #687. + + Don't escape `_` in URLs or hyperref identifiers. + + Properly escape strings inside \url{}. Closes #576. + + Use `[fragile]` only for slides containing code rendered + using listings. Closes #649. + + Escape `|` as `\vert` in LaTeX math. This avoids a clash with + highlighting-kate's macros, which redefine `|` as a short verbatim + delimiter. Thanks to Björn Peemöller for raising this issue. + + Use minipage rather than parbox for block containers in tables. + This allows verbatim code to be included in grid tables. + Closes #663. + + Prevent paragraphs containing only linebreaks or spaces. + + * HTML writer: + + + Included `highlighting-css` for code spans, too. + Previously it was only included if used in a code block. Closes #653. + + Improved line breaks with `<dd>` tags. We now put a newline between + `</dd>` and `<dd>` when there are multiple definitions. + + Changed mathjax cdn url so it doesn't use https. (This caused + problems when used with `--self-contained`.) See #609. + + * EPUB writer: + + + `--number-sections` now works properly. + + Don't strip meta and link elements in epub metadata. + Patch from aberrancy. Closes #589. + + Fixed a couple validation bugs. + + Use ch001, ch002, etc. for chapter filenames. This improves sorting + of chapters in some readers, which apparently sort ch2 after ch10. + Closes #610. + + * ODT writer: properly set title property (Arlo O'Keeffe). + + * Docx writer: + + + Fixed bug with nested lists. Previously a list like + + 1. one + - a + - b + 2. two + + would come out with a bullet instead of "2." + Thanks to Russell Allen for reporting the bug. + + Use `w:cr` in `w:r` instead of `w:br` for linebreaks. + This seems to fix a problem viewing pandoc-generated + docx files in LibreOffice. + + Use integer ids for bookmarks. Closes #626. + + Added nsid to abstractNum elements. This helps when merging + word documents with numbered or bulleted lists. Closes #627. + + Use separate footnotes.xml for notes. + This seems to help LibreOffice convert the file, even though + it was valid docx before. Closes #637. + + Use rIdNN identifiers for r:embed in images. + + Avoid reading image files again when we've already processed them. + + Fixed typo in `referenc.docx` that prevented image captions from + working. Thanks to Huashan Chen. + + * `Text.Pandoc.Parsing`: + + + Fixed bug in `withRaw`, which didn't correctly handle the case + where nothing is parsed. + + Made `emailAddress` parser more correct. Now it is based on RFC 822, + though it still doesn't implement quoted strings in email addresses. + + Revised URI parser. It now allows many more schemes, allows + uppercase URIs, and better handles trailing punctuation and + trailing slashes in bare URIs. Added many tests. + + Simplified and improved singleQuoteStart. This makes `'s'`, `'l'`, + etc. parse properly. Formerly we had some English-centric heuristics, + but they are no longer needed. Closes #698. + + * `Text.Pandoc.Pretty`: Added wide punctuation range to `charWidth`. + This fixes bug with Chinese commas in markdown and reST tables, and + a bug that caused combining characters to be dropped. + + * `Text.Pandoc.MIME`: Added MIME types for .wof and .eot. Closes #640. + + * `Text.Pandoc.Biblio`: + + + Run `mvPunc` and `deNote` on metadata too. + This fixed a bug with notes on titles using footnote styles. + + Fixed bug in fetching CSL files from CSL data directory. + + * `pandoc.hs`: Give correct value to `writerSourceDirectory` when a URL + is provided. It should be the URL up to the path. + + * Fixed/simplified diff output for tests. + Biblio: Make sure mvPunc and deNote run on metadata too. + This fixed a bug with notes on titles using footnote styles. + + [under the hood improvements] + + * We no longer depend on `utf8-string`. Instead we use functions + defined in `Text.Pandoc.UTF8` that use `Data.Text`'s conversions. + + * Use `safeRead` instead of using `reads` directly (various modules). + + * "Implicit figures" (images alone in a paragraph) are now handled + differently. The markdown reader gives their titles the prefix `fig:`; the + writers look for this before treating the image as a figure. Though this + is a bit of a hack, it has two advantages: (i) implicit figures can be + limited to the markdown reader, and (ii) they can be deactivated by turning + off the `implicit_figures` extension. + + * `catch` from `Control.Exception` is now used instead of the + old Preface `catch`. + + * `Text.Pandoc.Shared`: Improved algorithm for `normalizeSpaces` + and `oneOfStrings` (which is now non-backtracking). + + * `Text.Pandoc.Biblio`: Remove workaround for `toCapital`. + Now citeproc-hs is fixed upstream, so this is no longer needed. + Closes #531. + + * Textile reader: Improved speed of `hyphenedWords`. + This speeds up the textile reader by about a factor of 4. + + * Use `Text.Pandoc.Builder` in RST reader, for more flexibility, + better performance, and automatic normalization. + + * Major rewrite of markdown reader: + + + Use `Text.Pandoc.Builder` instead of lists. This also + means that everything is normalized automatically. + + Move to a one-pass parsing strategy, returning values in the reader + monad, which are then run (at the end of parsing) against the final + parser state. + + * In HTML writer, we now use `toHtml` instead of pre-escaping. + We work around the problem that blaze-html unnecessarily escapes `'` + by pre-escaping just the `'` characters, instead of the whole string. + If blaze-html later stops escaping `'` characters, we can simplify + `strToHtml` to `toHtml`. Closes #629. + + * Moved code for embedding images in RTFs from `pandoc.hs` to the + RTF writer (which now exports `writeRTFWithEmbeddedImages`). + + * Moved citation processing from `pandoc.hs` into the readers. + This makes things more convenient for library users. + + * The man pages are now built by an executable `make-pandoc-man-pages`, + which has its own stanza in the cabal file so that dependencies can be + handled by Cabal. Special treatment in `Setup.hs` ensures that this + executable never gets installed; it is only used to create the man pages. + + * The cabal file has been modified so that the pandoc library is used + in building the pandoc executable. (This required moving `pandoc.hs` + from `src` to `.`.) This cuts compile time in half. + + * The `executable` and `library` flags have been removed. + + * `-threaded` has been removed from ghc-options. + + * Version bounds of dependencies have been raised, and the + `blaze_html_0_5` flag now defaults to True. Pandoc now compiles on + GHC 7.6. + + * We now require base >= 4.2. + + * Integrated the benchmark program into cabal. One can now do: + + cabal configure --enable-benchmarks && cabal build + cabal bench --benchmark-option='markdown' --benchmark-option='-s 20' + + The benchmark now uses README + testsuite, so benchmark results + from older versions aren't comparable. + + * Integrated test suite with cabal. + To run tests, configure with `--enable-tests`, then `cabal test`. + You can specify particular tests using `--test-options='-t markdown'`. + No output is shown unless tests fail. The Haskell test modules + have been moved from `src/` to `tests/`. + + * Moved all data files and templates to the `data/` subdirectory. + + * Added an `embed_data_files` cabal flag. This causes all + data files to be embedded in the binary, so that the binary + is self-sufficient and can be relocated anywhere, copied on + a USB key, etc. The Windows installer now uses this. + (Since we no longer have the option to build the executable + without the library, this is the only way to get a relocatable + binary on Windows.) + + * Removed pcre3.dll from windows package. + It isn't needed unless highlighting-kate is compilled with the + `pcre-light` flag. By default, regex-prce-builtin is used. + + pandoc (1.9.4.2) * Don't encode/decode file paths if base >= 4.4.