aboutsummaryrefslogtreecommitdiff
path: root/changelog
diff options
context:
space:
mode:
Diffstat (limited to 'changelog')
-rw-r--r--changelog1212
1 files changed, 826 insertions, 386 deletions
diff --git a/changelog b/changelog
index 57587f3db..fde6873ec 100644
--- a/changelog
+++ b/changelog
@@ -1,18 +1,476 @@
-[pending release 1.12]
+pandoc (1.12.3.1)
+
+ * Relaxed version constraint on binary, allowing the use of binary 0.5.
+
+pandoc (1.12.3)
+
+ * The `--bibliography` option now sets the `biblio-files` variable.
+ So, if you're using `--natbib` or `--biblatex`, you can just use
+ `--bibliography=foo.bib` instead of `-V bibliofiles=foo`.
+
+ * Don't run pandoc-citeproc filter if `--bibliography` is
+ used together with `--natbib` or `--biblatex` (Florian Eitel).
+
+ * Template changes:
+
+ + Updated beamer template to include booktabs.
+ + Added `abstract` variable to LaTeX template.
+ + Put `header-includes` after `title` in LaTeX template (#908).
+ + Allow use of `\includegraphics[size]` in beamer.
+ This just required porting a macro definition from the default
+ LaTeX template to the default beamer template.
+
+ * `reference.docx`: Include `FootnoteText` style.
+ Otherwise Word ignores the style, even when specified in the `pPr`.
+ (#901)
+
+ * `reference.odt`: Tidied `styles.xml`.
+
+ * Relaxed version bounds for dependencies.
+
+ * Added `withSocketsDo` around http conduit code in `openURL`,
+ so it works on Windows (#1080).
+
+ * 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
+ multiline table cells.
+ + Citation keys may now start with underscores, and may contain
+ underscores adjacent to internal punctuation.
+
+ * LaTeX reader:
+
+ + Add support for `Verb` macro (jrnold) (#1090).
+ + Support babel-style quoting: `` "`..."' ``.
+
+ * Properly handle script blocks in strict mode. (That is,
+ `markdown-markdown_in_html_blocks`.) Previously a spurious
+ `<p>` tag was being added (#1093).
+
+ * Docbook reader: Avoid failure if `tbody` contains no `tr` or `row`
+ elements.
+
+ * LaTeX writer:
+
+ + Factored out function for table cell creation.
+ + Better treatment of footnotes in tables.
+ Notes now appear in the regular sequence, rather than in the
+ table cell. (This was a regression in 1.10.)
+
+ * HTML reader: Parse name/content pairs from meta tags as metadata.
+ Closes #1106.
+
+ * Moved `fixDisplayMath` from Docx writer to `Writer.Shared`.
+
+ * OpenDocument writer: Fixed `RawInline`, `RawBlock` so they don't escape.
+
+ * ODT writer: Use mathml for proper rendering of formulas.
+ Note: LibreOffice's support for this seems a bit buggy. But
+ it should be better than what we had before.
+
+ * RST writer: Ensure no blank line after def in definition list (#992).
+
+ * Markdown writer: Don't use tilde code blocks with braced attributes in
+ `markdown_github` output. A consequence of this change is that the
+ backtick form will be preferred in general if both are enabled. That
+ is good, as it is much more widespread than the tilde form. (#1084)
+
+ * Docx writer: Fixed problem with some modified reference docx files.
+ Include `word/_rels/settings.xml.rels` if it exists, as well as other
+ `rels` files besides the ones pandoc generates explicitly.
+
+ * HTML writer:
+
+ + With `--toc`, headers no longer link to themselves (#1081).
+ + Omit footnotes from TOC entries. Otherwise we get doubled
+ footnotes when headers have notes!
+
+ * EPUB writer:
+
+ + Avoid duplicate notes when headings contain notes.
+ This arose because the headings are copied into the metadata
+ "title" field, and the note gets rendered twice. We strip the
+ note now before putting the heading in "title".
+ + Strip out footnotes from toc entries.
+ + Fixed bug with `--epub-stylesheet`. Now the contents of
+ `writerEpubStylesheet` (set by `--epub-stylesheet`)
+ should again work, and take precedence over a stylesheet specified
+ in the metadata.
+
+ * `Text.Pandoc.Pretty`: Added `nestle`. API change.
+
+ * `Text.Pandoc.MIME`: Added `wmf`, `emf`.
+
+ * `Text.Pandoc.Shared`: `fetchItem` now handles image URLs beginning
+ with `//`.
+
+ * `Text.Pandoc.ImageSize`: Parse EXIF format JPEGs. Previously
+ we could only get size information for JFIF format, which led
+ 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
+ continuation lines containing raw HTML (or even verbatim raw HTML).
+
+pandoc (1.12.2)
+
+ * Metadata may now be included in YAML blocks in a markdown document.
+ For example,
+
+ ---
+ title:
+ - type: main
+ text: My Book
+ - type: subtitle
+ text: An investigation of metadata
+ creator:
+ - role: author
+ text: John Smith
+ - role: editor
+ text: Sarah Jones
+ identifier:
+ - scheme: DOI
+ text: doi:10.234234.234/33
+ publisher: My Press
+ rights: (c) 2007 John Smith, CC BY-NC
+ cover-image: img/mypic.jpg
+ ...
+
+ Metadata may still be provided using `--epub-metadata`; it will
+ be merged with the metadata in YAML blocks.
+
+ * EPUB writer:
+
+ + `meta` tags are now used instead of `opf` attributes for EPUB3.
+ + Insert "svg" property as needed in opf (EPUB 3).
+ + Simplify `imageTypeOf` using `getMimeType`.
+ + Add properties attribute to `cover-image` item for EPUB 3.
+ + Don't include node for `cover.xhtml` if no cover!
+ + Ensure that same identifier is used throughout (#1044).
+ If an identifier is given in metadata, we use that; otherwise
+ we generate a random uuid.
+ + Add cover reference to guide element (EPUB 2) (Shaun Attfield).
+ Fixes an issue with Calibre putting the cover at the end of the book
+ if the spine has `linear="no"`. Apparently this is best practice
+ for other converters as well:
+ <http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.6>.
+ + Allow `stylesheet` in metadata. The value is a path to the stylesheet.
+ + Allow partial dates: `YYYY`, `YYYY-MM`.
+
+ * Markdown writer: Fix rendering of tight sublists (#1050).
+ Previously a spurious blank line was included after a tight sublist.
+
+ * ODT writer: Add `draw:name` attribute to `draw:frame` elements (#1069).
+ This is reported to be necessary to avoid an error from recent
+ versions of Libre Office when files contain more than one image
+ Thanks to wmanley for reporting and diagnosing the problem.
+
+ * ConTeXt writer: Don't hardcode figure/table placement and numbering.
+ Instead, let this be set in the template, using `\setupfloat`.
+ Thanks to on4aa and Aditya Mahajan for the suggestion (#1067).
+
+ * Implemented CSL flipflopping spans in DOCX, LaTeX, and HTML writers.
+
+ * Fixed bug with markdown intraword emphasis. Closes #1066.
+
+ * Docbook writer: Hierarchicalize block content in metadata.
+ Previously headers just disappeared from block-level metadata
+ when it was used in templates. Now we apply the 'hierarchicalize'
+ transformation. Note that a block headed by a level-2 header will
+ turn into a `<sect1>` element.
+
+ * OpenDocument writer: Skip raw HTML (#1035).
+ Previously it was erroneously included as verbatim text.
+
+ * HTML/EPUB writer, footnotes: Put `<sup>` tag inside `<a>` tags.
+ This allows better control of formatting, since the `<a>`
+ tags have a distinguishing class (#1049).
+
+ * Docx writer:
+
+ + Use mime type info returned by fetchItem.
+ + Fixed core metadata (#1046).
+ Don't create empty date nodes if no date given.
+ Don't create multiple `dc:creator` nodes; instead separate by
+ semicolons.
+ + Fix URL for core-properties in `_rels/.rels` (#1046).
+
+ * Plain writer: don't print `<span>` tags.
+
+ * LaTeX writer:
+
+ + Fix definition lists with internal links in terms (#1032).
+ This fix puts braces around a term that contains an internal
+ link, to avoid problems with square brackets.
+ + Properly escape pdftitle, pdfauthor (#1059).
+ + Use booktabs package for tables (thanks to Jose Luis Duran).
+
+ * Updated beamer template. Now references should work properly
+ (in a slide) when `--biblatex` or `--natbib` is used.
+
+ * LaTeX reader:
+
+ + Parse contents of curly quotes or matched `"` as quotes.
+ + Support `\textnormal` as span with class `nodecor`.
+ This is needed for pandoc-citeproc.
+ + Improved citation parsing. This fixes a run-time error that occured
+ with `\citet{}` (empty list of keys). It also ensures that empty keys
+ don't get produced.
+
+ * MediaWiki reader: Add automatic header identifiers.
+
+ * HTML reader:
+
+ + Use pandoc `Div` and `Span` for raw `<div>`, `<span>` when
+ `--parse-raw`.
+ + Recognize `svg` tags as block level content (thanks to MinRK).
+ + Parse LaTeX math if appropriate options are set.
+
+ * Markdown reader:
+
+ + Yaml block must start immediately after `---`. If there's a blank
+ line after `---`, we interpreted it as a horizontal rule.
+ + Correctly handle empty bullet list items.
+ + Stop parsing "list lines" when we hit a block tag.
+ This fixes exponential slowdown in certain input, e.g.
+ a series of lists followed by `</div>`.
+
+ * 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).
+ + Fixed bug in `openURL` with `data:` URIs. Previously the base-64
+ encoded bytestring was returned. We now decode it so it's a proper
+ image!
+
+ * DocBook reader: Handle numerical attributes starting with decimal.
+ Also use `safeRead` instead of `read`.
+
+ * `Text.Pandoc.Parsing`:
+
+ + Generalized type of `registerHeader`, using new type classes
+ `HasReadeOptions`, `HasIdentifierList`, `HasHeaderMap`.
+ These allow certain common functions to be reused
+ even in parsers that use custom state (instead of `ParserState`),
+ such as the MediaWiki reader.
+ + Moved inlineMath, displayMath from Markdown reader to Parsing.
+ Generalize their types and export them from Parsing. (API change.)
+
+ * `Text.Pandoc.Readers.TexMath`: Export `readTeXMath'`, which attends
+ to display/inline. Deprecate `readTeXMath`, and use `readTeXMath'`
+ in all the writers. Require `texmath >= 0.6.5.2`.
+
+ * `Text.Pandoc.MIME`:
+
+ + Add entry for `jfif`.
+ + In looking up extensions, drop the encoding info.
+ E.g. for 'image/jpg;base64' we should lookup 'image/jpg'.
+
+ * Templates: Changed how array variables are resolved. Previously if
+ `foo` is an array (which might be because multiple values were set on
+ the command line), `$foo$` would resolve to the concatenation of the
+ elements of foo. This is rarely useful behavior. It has been changed
+ so that the first value is rendered. Of course, you can still iterate
+ 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".
+
+ * Don't look for slidy files in data files with `--self-contained`.
+
+ * Allow `https:` command line arguments to be downloaded.
+
+ * Fixed `make_osx_package.sh` so data files embedded in `pandoc-citeproc`.
+
+pandoc (1.12.1)
+
+ * `Text.Pandoc.Definition`: Changed default JSON serialization format.
+ Instead of `{"Str": "foo"}`, for example, we now have `{"t": "Str",
+ "c": "foo"}`. This new format is easier to work with outside of Haskell.
+ Incidentally, "t" stands for "tag", "c" for "contents".
+
+ * MediaWiki reader: Trim contents of `<math>` tags, to avoid problems
+ when converting to markdown (#1027).
+
+ * LaTeX reader:
+
+ + Ensure that preamble doesn't contribute to the text of
+ the document.
+ + Fixed character escaping in \url{}. Previously `\~` wasn't handled
+ properly, among others.
+ + Parse `{groups}` as `Span`. This is needed for accurate conversion of
+ bibtex titles, since we need to know what was protected from
+ titlecase conversions.
+
+ * LaTeX writer:
+
+ + Specially escape non-ascii characters in labels.
+ Otherwise we can get compile errors and other bugs when
+ compiled with pdflatex (#1007). Thanks to begemotv2718 for the fix.
+ + Add link anchors for code blocks with identifiers (#1025).
+
+ * Throughout the code, use `isURI` instead of `isAbsoluteURI`.
+ It allows fragments identifiers.
+
+ * Slide formats:
+
+ + A Div element with class "notes" is treated as speaker
+ notes. Currently beamer goes to `\note{}`, revealjs to
+ `<aside class="notes">`, and the notes are simply suppressed in
+ other formats (#925).
+ + Fixed `. . .` (pause) on HTML slide formats. Closes #1029.
+ The old version caused a pause to be inserted before the first
+ material on a slide. This has been fixed.
+ + Removed data files for s5, slideous, slidy.
+ Users of s5 and slideous will have to download the needed
+ files, as has been documented for some time in the README.
+ By default, slidy code will be sought on the web, as before.
+
+ * HTML writer: Insert command to typeset mathjax only in slideous output
+ (#966, #1012).
+
+ * RST writer: Skip spaces after display math. Otherwise we get indentation
+ problems, and part of the next paragraph may be rendered as part of the
+ math.
+
+ * OpenDocument writer: Fix formatting of strikeout code (#995),
+ thanks to wilx. don't use `font-face-decls` variable.
+
+ * Fixed test suite so it works with cabal sandboxes.
+
+pandoc (1.12.0.2)
+
+ * Removed `stringable` dependency.
+
+pandoc (1.12.0.1)
+
+ * Allow `--metadata` to be repeated for the same key to form a list.
+ This also has the effect that `--bibliography` can be repeated,
+ as before.
+
+ * Handle boolean values in `--metadata`. Note that anything not parseable
+ as a YAML boolean or string is treated as a literal string.
+ You can get a string value with "yes", or any of the strings interpretable
+ as booleans, by quoting it:
+
+ -M boolvalue=yes -M stringvalue='"yes"'
+
+ * LaTeX writer: Don't print references if `--natbib` or `--biblatex`
+ option used.
+
+ * DOCX writer: Add `settings.xml` to the zip container. Fixes a bug
+ in which docx files could not be read by some versions of Word
+ and LibreOffice (#990).
+
+ * Fixed a regression involving slide shows with bibliographies.
+ The Div container around references messed up the procedure for carving
+ a document into slides. So we now remove the surrounding Div in
+ `prepSlides`.
+
+ * More informative error message when a filter is not found in path.
+
+ * Depend on pandoc-types 1.12.1. This provide `ToJSONFilter`
+ instances for `Data a => a -> [a]` and `Data a => a -> IO [a]`.
+
+ * Don't use unicode_collation in building OSX package:
+ it adds something like 50MB of dependencies to the package.
+
+ * Declare alex and happy as build-tools (#986).
+
+pandoc (1.12)
+
+ [new features]
+
+ * Much more flexible metadata, including arbitrary fields and structured
+ values. Metadata can be specified flexibly in pandoc markdown using
+ YAML metadata blocks, which may occur anywhere in the document:
+
+ ---
+ title: Here is my title.
+ abstract: |
+ This is the abstract.
+
+ 1. It can contain
+ 2. block content
+ and *inline markup*
+
+ tags: [cat, dog, animal]
+ ...
+
+ Metadata fields automatically populate template variables.
+
+ * Added `opml` (OPML) as input and output format. The `_note` attribute,
+ used in OmniOutliner and supported by multimarkdown, is supported.
+ We treat the contents as markdown blocks under a section header.
+
+ * Added `haddock` (Haddock markup) as input format (David Lazar).
+
+ * Added `revealjs` output format, for reveal.js HTML 5 slide shows.
+ (Thanks to Jamie F. Olson for the initial patch.)
+ Nested vertical stacks are used for hierarchical structure.
+ Results for more than one level of nesting may be odd.
+
+ * Custom writers can now be written in lua.
+
+ pandoc -t data/sample.lua
+
+ will load the script sample.lua and use it as a custom writer.
+ (For a sample, do `pandoc --print-default-data-file sample.lua`.)
+ Note that pandoc embeds a lua interpreter, so lua need not be
+ installed separately.
* New `--filter/-F` option to make it easier to run "filters"
(Pandoc AST transformations that operate on JSON serializations).
Filters are always passed the name of the output format, so their
behavior can be tailored to it. The repository
- <https://github.com/jgm/pandoc-filters-python> contains
+ <https://github.com/jgm/pandocfilters> contains
a python module for writing pandoc filters in python, with
a number of examples.
+ * Added `--metadata/-M` option.
+ This is like `--variable/-V`, but actually adds to metadata, not
+ just variables.
+
* Added `--print-default-data-file` option, which allows printing
of any of pandoc's data files. (For example,
`pandoc --print-default-data-file reference.odt` will print
`reference.odt`.)
+ * Added syntax for "pauses" in slide shows:
+
+ This gives
+
+ . . .
+
+ me pause.
+
+ * New markdown extensions:
+
+ + `ignore_line_breaks`: causes intra-paragraph line breaks to be ignored,
+ rather than being treated as hard line breaks or spaces. This is useful
+ for some East Asian languages, where spaces aren't used between words,
+ but text is separated into lines for readability.
+ + `yaml_metadata_block`: Parse YAML metadata blocks. (Default.)
+ + `ascii_identifiers`: This will force `auto_identifiers` to use ASCII
+ only. (Default for `markdown_github`.) (#807)
+ + `lists_without_preceding_blankline`: Allow lists to start without
+ preceding blank space. (Default for `markdown_github`.) (#972)
+
+ [behavior changes]
+
* `--toc-level` no longer implies `--toc`.
Reason: EPUB users who don't want a visible TOC may still want
to set the TOC level for in the book navigation.
@@ -24,265 +482,244 @@
which URLs it is fetching, but not giving the full header). In
addition, there are better error messages when fetching a URL fails.
- * citeproc support has been removed from core pandoc (API changes).
-
- + The `--bibliography`, `--csl`, and `--citation-abbreviation`
- options have been removed.
- + Markdown and LaTeX citations as still parsed, but an external
- filter, `pandoc-citeproc`, is now needed to process
- them against a bibliography and CSL stylesheet. The bibliography
- and stylesheet should be specified in the document's YAML metadata
- (`bibliography` and `csl` fields), and the filter called with
- `pandoc --filter pandoc-citeproc`.
- + The `Text.Pandoc.Biblio` module has been removed, and the Markdown
- and LaTeX readers no longer process citations. Users of the
- pandoc library who want citation support will need to use
- `Text.CSL.Pandoc` from `pandoc-citations`.
- + All bibliography-related fields have been removed from
- `ReaderOptions` and `WriterOptions`: `writerBiblioFiles`,
- `readerReferences`, `readerCitationStyle`.
- + Note that a Cite element is now created in parsing markdown whether
- or not there is a matching reference (indeed, pandoc has no way of
- knowing, since the `--bibliography` option has been removed).
- By default citations will print as `???`.
- + The `pandoc-citeproc` script will put the bibliography at the
- end of the document, as before. However, it will be put inside a Div
- element with class "references", allowing users some control
- over the styling of references. A final header, if any, will
- be included in the Div.
- * The markdown writer will not print a bibliography if the
- `citations` extension is enabled. (If the citations are formatted
- as markdown citations, it is redundant to have a bibliography,
- since one will be generated automatically.)
-
- * All slide formats: Support incremental slide view for definition lists.
-
- * Added syntax for "pauses" in beamer or reaveljs slide shows.
+ * Citation support is no longer baked in to core pandoc. Users who
+ need citations will need to install and use a separate filter
+ (`--filter pandoc-citeproc`). This filter will take `bibliography`,
+ `csl`, and `citation-abbreviations` from the metadata, though it
+ may still be specified on the command line as before.
+
+ * A `Cite` element is now created in parsing markdown whether or not
+ there is a matching reference.
+
+ * The `pandoc-citeproc` script will put the bibliography at the
+ end of the document, as before. However, it will be put inside a `Div`
+ element with class "references", allowing users some control
+ over the styling of references. A final header, if any, will
+ be included in the `Div`.
+
+ * The markdown writer will not print a bibliography if the
+ `citations` extension is enabled. (If the citations are formatted
+ as markdown citations, it is redundant to have a bibliography,
+ since one will be generated automatically.)
+
+ * Previously we used to store the directory of the first input file,
+ even if it was local, and used this as a base directory for finding
+ images in ODT, EPUB, Docx, and PDF. This has been confusing to many
+ users. So we now look for images relative to the current
+ working directory, even if the first file argument is in another
+ directory. Note that this change may break some existing workflows.
+ If you have been assuming that relative links will be interpreted
+ relative to the directory of the first file argument, you'll need
+ to make that the current directory before running pandoc. (#942)
+
+ * Better error reporting in some readers, due to changes in `readWith`:
+ the line in which the error occured is printed, with a caret pointing
+ to the column.
+
+ * All slide formats now support incremental slide view for definition lists.
+
+ * Parse `\(..\)` and `\[..\]` as math in MediaWiki reader.
+ Parse `:<math>...</math>` as display math. These notations are used with
+ the MathJax MediaWiki extension.
+
+ * All writers: template variables are set automatically from metadata
+ fields. However, variables specified on the command line with
+ `--variable` will completely shadow metadata fields.
+
+ * If `--variable` is used to set many variables with the same name,
+ a list is created.
+
+ * Man writer: The `title`, `section`, `header`, and `footer` can now
+ all be set individually in metadata. The `description` variable has been
+ removed. Quotes have been added so that spaces are allowed in the
+ title. If you have a title that begins
- This gives
+ COMMAND(1) footer here | header here
- . . .
+ pandoc will still parse it into a title, section, header, and
+ footer. But you can also specify these elements explicitly (#885).
- a pause.
+ * Markdown reader
- [note - no longer seems to work in recente revealjs - perhaps
- this should be reverted]
+ + Added support for YAML metadata blocks, which can come anywhere
+ in the document (not just at the beginning). A document can contain
+ multiple YAML metadata blocks.
+ + HTML span and div tags are parsed as pandoc Span and Div elements.
- * Slidy: Use slidy.js rather than slidy.js.gz.
- Reason: some browsers have trouble with the gzipped js file,
- at least on the local file system (#795).
+ * Markdown writer
- * Added `revealjs` output format, for reveal.js HTML 5 slide shows.
- Thanks to Jamie F. Olson for the initial patch.
- Nested vertical stacks are used for hierarchical structure.
- Results for more than one level of nesting may be odd.
+ + Allow simple tables to be printed as grid tables,
+ if other table options are disabled. This means you can do
+ `pandoc -t markdown-pipe_tables-simple_tables-multiline_tables`
+ and all tables will render as grid tables.
+ + Support YAML title block (render fields in alphabetical order
+ to make output predictable).
- * Use new flexible metadata type.
+ [API changes]
- + Depend on `pandoc-types` 1.12. This changes the type of
- `Meta` to allow structured metadata. (API change: existing
- code that pattern-matches on `Meta` will have to be revised.)
- + Revised readers and writers to use the new `Meta` type.
- + Variables completely shadow metadata.
- If many variables with the same name are set, a list is created.
+ * `Meta` in `Text.Pandoc.Definition` has been changed to allow
+ structured metadata. (Note: existing code that pattern-matches
+ on `Meta` will have to be revised.) Metadata can now contain
+ indefinitely many fields, with content that can be a string,
+ a Boolean, a list of `Inline` elements, a list of `Block`
+ elements, or a map or list of these.
+
+ * A new generic block container (`Div`) has been added to `Block`,
+ and a generic inline container (`Span`) has been added to `Inline`.
+ These can take attributes. They will render in HTML, Textile,
+ MediaWiki, Org, RST and and Markdown (with `markdown_in_html`
+ extension) as HTML `<div>` and `<span>` elements; in other formats
+ they will simply pass through their contents. But they can be
+ targeted by scripts.
* `Format` is now a newtype, not an alias for String.
Equality comparisons are case-insensitive.
- * New generic block container (`Div`) and inline container
- (`Span`) elements have been added. These can take attributes.
- They will render in HTML, Textile, MediaWiki, Org, RST and
- and Markdown (with `markdown_in_html` extension) as HTML `<div>`
- and `<span>` elements; in other formats they will simply pass through
- their contents. But they can be targeted by scripts.
+ * Added `Text.Pandoc.Walk`, which exports hand-written tree-walking
+ functions that are much faster than the SYB functions from
+ `Text.Pandoc.Generic`. These functions are now used where possible
+ in pandoc's code. (`Tests.Walk` verifies that `walk` and `query`
+ match the generic traversals `bottomUp` and `queryWith`.)
+
+ * Added `Text.Pandoc.JSON`, which provides `ToJSON` and `FromJSON`
+ instances for the basic pandoc types. They use GHC generics and
+ should be faster than the old JSON serialization using
+ `Data.Aeson.Generic`.
+
+ * Added `Text.Pandoc.Process`, exporting `pipeProcess`.
+ This is a souped-up version of `readProcessWithErrorcode` that
+ uses lazy bytestrings instead of strings and allows setting
+ environment variables. (Used in `Text.Pandoc.PDF`.)
+
+ * New module `Text.Pandoc.Readers.OPML`.
+
+ * New module `Text.Pandoc.Writers.OPML`.
+
+ * New module `Text.Pandoc.Readers.Haddock` (David Lazar).
+ This is based on Haddock's own lexer/parser.
+
+ * New module `Text.Pandoc.Writers.Custom`.
+
+ * In `Text.Pandoc.Shared`, `openURL` and `fetchItem` now return an
+ Either, for better error handling.
- * `Text.Pandoc`
+ * Made `stringify` polymorphic in `Text.Pandoc.Shared`.
- + Make `toJsonFilter` an alias for `toJSONFilter` from `Text.Pandoc.JSON`.
+ * Removed `stripTags` from `Text.Pandoc.XML`.
+
+ * `Text.Pandoc.Templates`:
+
+ + Simplified `Template` type to a newtype.
+ + Removed `Empty`.
+ + Changed type of `renderTemplate`: it now takes a JSON context
+ and a compiled template.
+ + Export `compileTemplate`.
+ + Export `renderTemplate'` that takes a string instead of a compiled
+ template.
+ + Export `varListToJSON`.
+
+ * `Text.Pandoc.PDF` exports `makePDF` instead of `tex2pdf`.
+
+ * `Text.Pandoc`:
+
+ + Made `toJsonFilter` an alias for `toJSONFilter` from `Text.Pandoc.JSON`.
+ Removed `ToJsonFilter` typeclass. `ToJSONFilter` from
`Text.Pandoc.JSON` should be used instead. (Compiling against
pandoc-types instead of pandoc will also produce smaller executables.)
* Removed the deprecated `jsonFilter` function.
+ Added `readJSON`, `writeJSON` to the API (#817).
- * Most of `Text.Pandoc.Readers.TeXMath` has been moved to the
- `texmath` module (0.6.4). (This allows `pandoc-citeproc` to
- handle simple math in bibliography fields.)
-
- [ TODO - systematic documentation of pandoc-types API changes,
- including .JSON, .Walk and changes to .Definition, .Builder.
- Include the new Format newtype, and the new Span and Div
- elements.]
-
- * Added `Text.Pandoc.Walk` (in `pandoc-types`), which exports
- hand-written tree-walking functions that are orders of magnitude
- faster than the SYB functions from `Text.Pandoc.Generic`.
- These functions are now used where possible in pandoc's code.
- Added `Tests.Walk` to verify that `walk` and `query` match
- the generic traversals `bottomUp` and `queryWith`.
- (API change.)
+ * `Text.Pandoc.Options`:
- * Added `Text.Pandoc.Process`, exporting `pipeProcess`.
- This is a souped-up version of `readProcessWithErrorcode` that
- uses lazy bytestrings instead of strings and allows setting
- environment variables. (Used in `Text.Pandoc.PDF`.)
+ + Added `Ext_lists_without_preceding_blankline`,
+ `Ext_ascii_identifiers`, `Ext_ignore_line_breaks`,
+ `Ext_yaml_metadataBlock` to `Extension`.
+ + Changed `writerSourceDirectory` to `writerSourceURL` and changed the
+ type to a `Maybe`. `writerSourceURL` is set to 'Just url' when the
+ first command-line argument is an absolute URL. (So, relative links
+ will be resolved in relation to the first page.) Otherwise, 'Nothing'.
+ + All bibliography-related fields have been removed from
+ `ReaderOptions` and `WriterOptions`: `writerBiblioFiles`,
+ `readerReferences`, `readerCitationStyle`.
- * Added `Text.Pandoc.Compat.Monoid`.
- This allows pandoc to compile with `base` < 4.5, where `Data.Monoid`
- doesn't export `<>`. Thanks to Dirk Ullirch for the patch.
+ * 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`.
+
- * Added `Text.Pandoc.Compat.TagSoupEntity`.
- This allows pandoc to compile with `tagsoup` 0.13.x.
- Thanks to Dirk Ullrich for the patch.
+ [bug fixes]
+
+ * In markdown, don't autolink a bare URI that is followed by `</a>`
+ (#937).
* `Text.Pandoc.Shared`
- + `openURL` now follows redirects (#701).
- + `openURL` and `fetchItem` now return an Either, for
- better error handling. (API change.)
- + `readDefaultDataFile`: normalize the paths.
- This fixes bugs in `--self-contained` on pandoc compiled with
- `embed_data_files` (#833).
+ + `openURL` now follows redirects (#701), properly handles `data:`
+ URIs, and prints diagnostic output to stderr rather than stdout.
+ + `readDefaultDataFile`: normalize the paths. This fixes bugs in
+ `--self-contained` on pandoc compiled with `embed_data_files` (#833).
+ Fixed `readDefaultDataFile` so it works on Windows.
+ Better error messages for `readDefaultDataFile`. Instead of
listing the last path tried, which can confuse people who are
using `--self-contained`, so now we just list the data file name.
- + URL-escape pipe characters.
- Even though these are legal, `Network.URI` doesn't regard them
- as legal in URLs. So we escape them first (#535).
- + `openURL`: Print diagnostic output to stderr, not stdout.
- + `openURL`: Properly handle `data:` URIs.
- + `stringify`: Generalized type.
-
- * `Text.Pandoc.Biblio`
-
- + Override citeproc-hs's `endWithPunct`.
- The new version correctly sees a sentence ending in '.)' as ending
- with punctuation. This fixes a bug which led such sentences to receive
- an extra period at the end: '.).'. Thanks to Steve Petersen for
- reporting.
- + Don't interfere with Notes that aren't citation notes.
- This fixes a bug in which notes not generated from citations were
- being altered (e.g. first letter capitalized) (#898).
- + Only capitalize footnote citations when they have a prefix.
- + Changes in suffix parsing. A suffix beginning with a digit gets 'p'
- inserted before it before passing to citeproc-hs, so that bare numbers
- are treated as page numbers by default. A suffix not beginning with
- punctuation has a space added at the beginning (rather than a comma and
- space, as was done before for not-author-in-text citations).
- The result of these changes (and the last commit) is that
- `\citep[23]{item1}` in LaTeX will be interpreted properly,
- with '23' treated as a locator of type 'page'.
-
- * New module `Text.Pandoc.JSON` in pandoc-types.
-
- + This provides `ToJSON` and `FromJSON` instances for the basic
- pandoc types. They use GHC generics and should be faster than the
- old JSON serialization using `Data.Aeson.Generic`.
+ + URL-escape pipe characters. Even though these are legal, `Network.URI`
+ doesn't regard them as legal in URLs. So we escape them first (#535).
- * New module `Text.Pandoc.Writers.Shared` for shared functions used
- only in writers.
+ * Mathjax in HTML slide shows: include explicit "Typeset" call.
+ This seems to be needed for some formats (e.g. slideous) and won't
+ hurt in others (#966).
- + Added `metaToJSON`. This is used in writers to create a
- JSON object for use in the templates from the pandoc metadata
- and variables.
- + Added `getField`, `setField`, `defField` for working with JSON
- template contexts.
+ * `Text.Pandoc.PDF`
- * Added `Text.Pandoc.Asciify` utility module.
- This exports functions to create ASCII-only versions of identifiers.
-
- * `Text.Pandoc.ImageSize`: Handle EPS (#903). This change will make
- EPS images properly sized on conversion to Word.
+ + On Windows, create temdir in working directory, since the system
+ temp directory path may contain tildes, which can cause
+ problems in LaTeX (#777).
+ + Put temporary output directory in `TEXINPUTS` (see #917).
+ + `makePDF` tries to download images that are not found locally,
+ if the first argument is a URL (#917).
+ + If compiling with `pdflatex` yields an encoding error, offer
+ the suggestion to use `--latex-engine=xelatex`.
- * `Text.Pandoc.SelfContained`
+ * Produce automatic header identifiers in parsing textile, RST,
+ and LaTeX, unless `auto_identifiers` extension is disabled (#967).
- + Strip off fragment, query of relative URL before treating as
- a filename. This fixes `--self-contained` when used with CSS
- files that include web fonts using the method described here:
+ * `Text.Pandoc.SelfContained`: Strip off fragment, query of relative URL
+ before treating as a filename. This fixes `--self-contained` when used
+ with CSS files that include web fonts using the method described here:
<http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/>
- (#739).
- + Handle `src` in `embed`, `audio`, `source`, `input` tags.
-
- * Added `Text.Pandoc.Writers.Custom` and custom output formats.
+ (#739). Handle `src` in `embed`, `audio`, `source`, `input` tags.
- pandoc -t data/sample.lua
+ * `Text.Pandoc.Parsing`: `uri` parser no longer treats punctuation before
+ percent-encoding, or a `+` character, as final punctuation.
- will load the script sample.lua and use it as a custom writer.
- `data/sample.lua` is provided as an example. (This can be printed
- with `pandoc --print-default-data-file sample.lua`.)
-
- * Added OPML reader and writer.
-
- + New module `Text.Pandoc.Readers.OPML`.
- The `_note` attribute is supported. This is unofficial, but
- used e.g. in OmniOutliner and supported by multimarkdown.
- We treat the contents as markdown blocks under a section
- header.
- + New module `Text.Pandoc.Writers.OPML`.
-
- * Added Haddock reader.
+ * `Text.Pandoc.ImageSize`: Handle EPS (#903). This change will make
+ EPS images properly sized on conversion to Word.
- + New module `Text.Pandoc.Readers.Haddock` (David Lazar).
- This is based on Haddock's own lexer/parser.
+ * Slidy: Use slidy.js rather than slidy.js.gz.
+ Reason: some browsers have trouble with the gzipped js file,
+ at least on the local file system (#795).
* Markdown reader
- + Added `ignore_line_breaks` markdown extension.
- This causes intra-paragraph line breaks to be ignored,
- rather than being treated as hard line breaks or spaces.
- This is useful for some East Asian languages, where spaces
- aren't used between words, but text is separated into lines
- for readability.
+ Properly handle blank line at beginning of input (#882).
+ Fixed bug in unmatched reference links. The input
`[*infile*] [*outfile*]` was getting improperly parsed:
"infile" was emphasized, but "*outfile*" was literal (#883).
- + Check for blank lines first in blocks. (And skip them. This
- might speed things up in some cases.)
- + Implemented `Ext_ascii_identifiers` (#807).
+ Allow internal `+` in citation identifiers (#856).
- + Added support for YAML metadata blocks, which can come anywhere
- in the document (not just at the beginning). A document can contain
- multiple YAML metadata blocks.
- + Improved strong/emph parsing, using the strategy of
- <https://github.com/jgm/Markdown>. The new parsing algorithm requires
- no backtracking, and no keeping track of nesting levels.
- It will give different results in some edge cases, but these should
- not affect normal uses.
+ Allow `.` or `)` after `#` in ATX headers if no `fancy_lists`.
+ Do not generate blank title, author, or date metadata elements.
Leave these out entirely if they aren't present.
- + HTML span and div tags are parsed as pandoc Span and Div elements.
+ + Allow backtick code blocks not to be preceded by blank line (#975).
- * RST reader
-
- + Don't insert paragraphs where docutils doesn't.
- `rst2html` doesn't add `<p>` tags to list items (even when they are
- separated by blank lines) unless there are multiple paragraphs in the
- list. This commit changes the RST reader to conform more closely to
- what docutils does (#880).
- + Improved metadata. Treat initial field list as metadata when
- standalone specified. Previously ALL fields "title", "author",
- "date" in field lists were treated as metadata, even if not at
- the beginning. Use `subtitle` metadata field for subtitle.
- + Fixed 'authors' metadata parsing in reST. Semicolons separate
- different authors.
-
- * Textile reader
+ * Textile reader:
+ Correctly handle entities.
- + Improved handling of `<pre>` blocks.
- + Fixed a bug in which `<pre>` in certain contexts was
- not recognized as a code block (#927).
- + Remove internal HTML tags in code blocks, rather than printing
- them verbatim.
- * Parse attributes on `<pre>` tag for code blocks.
-
- * HTML reader
+ + Improved handling of `<pre>` blocks (#927). Remove internal HTML tags
+ in code blocks, rather than printing them verbatim. Parse attributes
+ on `<pre>` tag for code blocks.
- + Handle non-simple tables (#893). Column widths are read from
- `col` tags if present, otherwise divided equally.
+ * HTML reader: Handle non-simple tables (#893). Column widths are read from
+ `col` tags if present, otherwise divided equally.
* LaTeX reader
@@ -292,11 +729,25 @@
+ Skip positional options after `\begin{figure}`.
+ Support `\v{}` for hacek (#926).
+ Don't add spurious ", " to citation suffixes.
- This is added when needed in `Text.Pandoc.Biblio` anyway.
+ This is added when needed in pandoc-citeproc.
+ Allow spaces in alignment spec in tables, e.g. `{ l r c }`.
+ Improved support for accented characters (thanks to Scott Morrison).
+ Parse label after section command and set id (#951).
+ * RST reader:
+
+ + Don't insert paragraphs where docutils doesn't.
+ `rst2html` doesn't add `<p>` tags to list items (even when they are
+ separated by blank lines) unless there are multiple paragraphs in the
+ list. This commit changes the RST reader to conform more closely to
+ what docutils does (#880).
+ + Improved metadata. Treat initial field list as metadata when
+ standalone specified. Previously ALL fields "title", "author",
+ "date" in field lists were treated as metadata, even if not at
+ the beginning. Use `subtitle` metadata field for subtitle.
+ + Fixed 'authors' metadata parsing in reST. Semicolons separate
+ different authors.
+
* MediaWiki reader
+ Allow space before table rows.
@@ -309,6 +760,8 @@
+ Skip attributes on table rows. Previously we just crashed if
rows had attributes, now we ignore them.
+ Ignore attributes on headers.
+ + Allow `Image:` for images (#971).
+ + Parse an image with caption in a paragraph by itself as a figure.
* LaTeX writer
@@ -326,51 +779,33 @@
+ Scale LaTeX tables so they don't exceed columnwidth.
+ Avoid problem with footnotes in unnumbered headers (#940).
- * Beamer writer
-
- + When creating beamer slides, add `allowframebreaks` option
- to the slide if it is one of the header classes. It's recommended
+ * Beamer writer: when creating beamer slides, add `allowframebreaks` option
+ to the slide if it is one of the header classes. It is recommended
that your bibliography slide have this attribute:
-
+
# References {.allowframebreaks}
-
+
This causes multiple slides to be created if necessary, depending
on the length of the bibliography.
- * ConTeXt writer
-
- + Properly handle tables without captions. The old output only
- worked in MkII. This should work in MkIV as well (#837).
+ * ConTeXt writer: Properly handle tables without captions. The old output
+ only worked in MkII. This should work in MkIV as well (#837).
- * MediaWiki writer
+ * MediaWiki writer: Use native mediawiki tables instead of HTML (#720).
- + Use native mediawiki tables instead of HTML (#720).
-
- * HTML writer
+ * HTML writer:
+ Fixed `--no-highlight` (Alexander Kondratskiy).
+ Don't convert to lowercase in email obfuscation (#839).
+ + Ensure proper escaping in `<title>` and `<meta>` fields.
- * Man writer
-
- + Offer more fine-grained control in template.
- Now the `title`, `section`, `header`, and `footer` can all be set
- individually in metadata. The `description` variable has been
- removed. Quotes have been added so that spaces are allowed in the title.
- If you have a title that begins
-
- COMMAND(1) footer here | header here
-
- pandoc will parse it as before into a title, section, header, and
- footer. But you can also specify these elements explicitly (#885).
-
- * AsciiDoc writer
+ * AsciiDoc writer:
+ Support `--atx-headers` (Max Rydahl Andersen).
+ Don't print empty identifier blocks `([[]])` on headers (Max
Rydahl Andersen).
- * ODT writer
+ * ODT writer:
+ Fixing wrong numbered-list indentation in open document format
(Alexander Kondratskiy) (#369).
@@ -379,7 +814,7 @@
nonconforming `contextual-spacing` attribute, which is provided by
LibreOffice itself and seems well supported.
- * Docx writer
+ * Docx writer:
+ Fixed rendering of display math in lists.
In 1.11 and 1.11.1, display math in lists rendered as a new list
@@ -388,8 +823,8 @@
containing list item is (#784).
+ Use `w:br` with `w:type` `textWrapping` for linebreaks.
Previously we used `w:cr` (#873).
- + Use Compact style for Plain block elements.
- This differentiates between tight and loose lists (#775).
+ + Use Compact style for Plain block elements, to
+ differentiate between tight and loose lists (#775).
+ Ignore most components of `reference.docx`.
We take the `word/styles.xml`, `docProps/app.xml`,
`word/theme/theme1.xml`, and `word/fontTable.xml` from
@@ -413,124 +848,128 @@
margin fields.
+ If resource not found, skip it, as in Docx writer (#916).
- * Markdown writer
+ * RTF writer:
+
+ + Properly handle characters above the 0000-FFFF range.
+ Uses surrogate pairs. Thanks to Hiromi Ishii for the patch.
+ + Fixed regression with RTF table of contents.
+ + Only autolink absolute URIs. This fixes a regression, #830.
+
+ * Markdown writer:
- + Allow simple tables to be printed as grid tables,
- if other table options are disabled. This means you can do
- `pandoc -t markdown-pipe_tables-simple_tables-multiline_tables`
- and all tables will render as grid tables.
- + Put multiple authors on separate lines in pandoc titleblock.
- Also, don't wrap long author entries, as new lines get treated
- as new authors.
+ Only autolink absolute URIs. This fixes a regression, #830.
+ Don't wrap attributes in fenced code blocks.
- + Support YAML title block (render fields in alphabetical order
- to make output predictable).
+ Write full metadata in MMD style title blocks.
+ + Put multiple authors on separate lines in pandoc titleblock.
+ Also, don't wrap long author entries, as new lines get treated
+ as new authors.
- * RTF writer
+ * `Text.Pandoc.Templates`:
- + Properly handle characters above the 0000-FFFF range.
- Uses surrogate pairs. Thanks to Hiromi Ishii for the patch.
- + Fixed regression with RTF table of contents.
- + Only autolink absolute URIs. This fixes a regression, #830.
+ + Fixed bug retrieving default template for markdown variants.
+ + Templates can now contain "record lookups" in variables;
+ for example, `author.institution` will retrieve the `institution`
+ field of the `author` variable.
+ + More consistent behavior of `$for$`. When `foo` is not a list,
+ `$for(foo)$...$endfor$` should behave like $if(foo)$...$endif$.
+ So if `foo` resolves to "", no output should be produced.
+ See pandoc-templates#39.
- * `Text.Pandoc.PDF`
+ * Citation processing improvements (now part of pandoc-citeproc):
- + On Windows, create temdir in working directory.
- Reason: the path to the system temp directory may contain tildes,
- which causes problems in LaTeX when the username is more than
- eight characters (#777).
- + Put temporary output directory in `TEXINPUTS`.
- This will help later when we try to download external resources.
- We can put them in the temp directory (see #917).
- + `Text.Pandoc.PDF` exports `makePDF` instead of `tex2pdf`.
- (API change.)
- + `makePDF` walks the pandoc AST and checks for the existence of
- images in the local directory. If they are not found, it attempts
- to find them, either in the directory containing the first source
- file, or at an absolute URL, or at a URL relative to the base URL
- of the first command line argument (#917).
- + If compiling with `pdflatex` yields an encoding error, offer
- the suggestion to use `--latex-engine=xelatex`.
+ + Fixed `endWithPunct` The new version correctly sees a sentence
+ ending in '.)' as ending with punctuation. This fixes a bug which
+ led such sentences to receive an extra period at the end: '.).'.
+ Thanks to Steve Petersen for reporting.
+ + Don't interfere with Notes that aren't citation notes.
+ This fixes a bug in which notes not generated from citations were
+ being altered (e.g. first letter capitalized) (#898).
+ + Only capitalize footnote citations when they have a prefix.
+ + Changes in suffix parsing. A suffix beginning with a digit gets 'p'
+ inserted before it before passing to citeproc-hs, so that bare numbers
+ are treated as page numbers by default. A suffix not beginning with
+ punctuation has a space added at the beginning (rather than a comma and
+ space, as was done before for not-author-in-text citations).
+ The result is that `\citep[23]{item1}` in LaTeX will be interpreted
+ properly, with '23' treated as a locator of type 'page'.
+ + Many improvements to citation rendering, due to fixes in citeproc-hs
+ (thanks to Andrea Rossato).
+ + Warnings are issued for undefined citations, which are rendered
+ as `???`.
+ + Fixed hanging behavior when locale files cannot be found.
+
+ [template changes]
+
+ * DocBook: Use DocBook 4.5 doctype.
+
+ * Org: '#+TITLE:' is inserted before the title.
+ Previously the writer did this.
+
+ * LaTeX: Changes to make mathfont work with xelatex.
+ We need the mathspec library, not just fontspec, for this.
+ We also need to set options for setmathfont (#734).
- * `Text.Pandoc.UTF8`
+ * LaTeX: Use `tex-ansi` mapping for `monofont`.
+ This ensures that straight quotes appear as straight, rather than
+ being treated as curly. See #889.
- + Use strict bytestrings in reading. The use of lazy bytestrings seemed
- to cause problems using pandoc on 64-bit Windows 7/8 (#874).
+ * Made `\includegraphics` more flexible in LaTeX template.
+ Now it can be used with options, if needed. Thanks to Bernhard Weichel.
+
+ * LaTeX/Beamer: Added `classoption` variable.
+ This is intended for class options like `oneside`; it may
+ be repeated with different options. (Thanks to Oliver Matthews.)
+
+ * Beamer: Added `fonttheme` variable. (Thanks to Luis Osa.)
+
+ * LaTeX: Added `biblio-style` variable (#920).
+
+ * DZSlides: title attribute on title section.
+
+ * HTML5: add meta tag to allow scaling by user (Erik Evenson)
+
+ [under-the-hood improvements]
+
+ * Markdown reader:Improved strong/emph parsing, using the strategy of
+ <https://github.com/jgm/Markdown>. The new parsing algorithm requires
+ no backtracking, and no keeping track of nesting levels. It will give
+ different results in some edge cases, but these should not affect normal
+ uses.
+
+ * Added `Text.Pandoc.Compat.Monoid`.
+ This allows pandoc to compile with `base` < 4.5, where `Data.Monoid`
+ doesn't export `<>`. Thanks to Dirk Ullirch for the patch.
+
+ * Added `Text.Pandoc.Compat.TagSoupEntity`.
+ This allows pandoc to compile with `tagsoup` 0.13.x.
+ Thanks to Dirk Ullrich for the patch.
+
+ * Most of `Text.Pandoc.Readers.TeXMath` has been moved to the
+ `texmath` module (0.6.4). (This allows `pandoc-citeproc` to
+ handle simple math in bibliography fields.)
+
+ * Added `Text.Pandoc.Writers.Shared` for shared functions used
+ only in writers. `metaToJSON` is used in writers to create a
+ JSON object for use in the templates from the pandoc metadata
+ and variables. `getField`, `setField`, and `defField` are
+ for working with JSON template contexts.
+
+ * Added `Text.Pandoc.Asciify` utility module.
+ This exports functions to create ASCII-only versions of identifiers.
* `Text.Pandoc.Parsing`
- + Further improvements to URI parser.
- Don't treat punctuation before percent-encoding as final punctuation.
- Don't treat '+' as final punctuation.
+ Generalized state type on `readWith` (API change).
- + Specialize readWith to `String` input.
- + Better error reporting in `readWith`: On error have it print the line
- in which the error occurred, with a caret pointing to the column.
+ + Specialize readWith to `String` input. (API change).
+ In `ParserState`, replace `stateTitle`, `stateAuthors`, `stateDate`
with `stateMeta` and `stateMeta'`.
- * `Text.Pandoc.XML`
-
- + Removed `stripTags`. (API change.)
-
- * `Text.Pandoc.Options`
-
- + Added `Ext_yaml_metadata_block`. (API change.)
- + Added `Ext_ascii_identifiers`. (API change.)
- This will force `Ext_auto_identifiers` to use ASCII only.
- Set as default for github markdown.
- + Changed `writerSourceDir` to `writerSourceURL` and changed
- the type to a `Maybe`. Previously we used to store the directory
- of the first input file, even if it was local, and used this as a
- base directory for finding images in ODT, EPUB, Docx, and PDF.
- This has been confusing to many users. It seems better to look for
- images relative to the current working directory, even if the first
- file argument is in another directory. `writerSourceURL` is set
- to 'Just url' when the first command-line argument is an absolute
- URL. (So, relative links will be resolved in relation to the first
- page.) Otherwise, 'Nothing'. The ODT, EPUB, Docx, and PDF
- writers have been modified accordingly. Note that this change may
- break some existing workflows. If you have been assuming that
- relative links will be interpreted relative to the directory of
- the first file argument, you'll need to make that the current
- directory before running pandoc. API change (#942).
-
- * `Text.Pandoc.Templates`
-
- + Changed type of `renderTemplate`: it now takes a JSON context
- and a compiled template. (API change.)
- + Export `compileTemplate`. (API change.)
- + Export `renderTemplate'` that takes a string instead of a compiled
- template. (API change.)
- + Export `varListToJSON`. (API change.)
- + Removed `Empty`.
- + Simplified `Template` type to a newtype.
- + Templates can now contain "record lookups" in variables;
- for example, `author.institution` will retrieve the `institution`
- field of the `author` variable.
- + Fixed bug retrieving default template for markdown variants.
+ * `Text.Pandoc.UTF8`: use strict bytestrings in reading. The use of lazy
+ bytestrings seemed to cause problems using pandoc on 64-bit Windows
+ 7/8 (#874).
- * Default template changes
-
- + DocBook: Use DocBook 4.5 doctype.
- + Org: '#+TITLE:' is inserted before the title.
- Previously the writer did this.
- + LaTeX: Changes to make mathfont work with xelatex.
- We need the mathspec library, not just fontspec, for this.
- We also need to set options for setmathfont (#734).
- + LaTeX: Use `tex-ansi` mapping for `monofont`.
- This ensures that straight quotes appear as straight, rather than
- being treated as curly. See #889.
- + Made `\includegraphics` more flexible in LaTeX template.
- Now it can be used with options, if needed. Thanks to Bernhard Weichel.
- + LaTeX/Beamer: Added `classoption` variable.
- This is intended for class options like `oneside`; it may
- be repeated with different options. (Thanks to Oliver Matthews.)
- + Beamer: Added `fonttheme` variable. (Thanks to Luis Osa.)
- + LaTeX: Added `biblio-style` variable (#920).
- + DZSlides: title attribute on title section.
+ * Factored out `registerHeader` from markdown reader, added to
+ `Text.Pandoc.Parsing`.
* Removed `blaze_html_0_5` flag, require `blaze-html` >= 0.5.
Reason: < 0.5 does not provide a monoid instance for Attribute,
@@ -554,12 +993,13 @@
* Various small documentation improvements.
Thanks to achalddave and drothlis for patches.
-
+
* Removed comment that chokes recent versions of CPP (#933).
-
+
* Removed support for GHC version < 7.2, since pandoc-types now
requires at least GHC 7.2 for GHC generics.
+
pandoc (1.11.1)
* Markdown reader:
@@ -572,7 +1012,7 @@ pandoc (1.11.1)
paragraphs. The unmatched quotes now get turned into literal
left double quotes. (No `Quoted` inline is generated, however.)
Closes #99 (again).
-
+
* HTML writer: Fixed numbering mismatch between TOC and sections.
`--number-offset` now affects TOC numbering as well
as section numbering, as it should have all along. Closes #789.
@@ -607,7 +1047,7 @@ pandoc (1.11)
* Added `--number-offset` option. (See README for description.)
* Added `--default-image-extension` option. (See README for description.)
-
+
* `--number-sections` behavior change: headers with class `unnumbered`
will not be numbered.
@@ -658,7 +1098,7 @@ pandoc (1.11)
+ Better support for Verbatim and minted environments. Closes #763.
* Markdown reader:
-
+
+ `-` in an attribute context = `.unnumbered`. The point of this
is to provide a way to specify unnumbered headers in non-English
documents.
@@ -684,7 +1124,7 @@ pandoc (1.11)
Closes #723.
* Textile reader:
-
+
+ Handle attributes on headers.
* LaTeX reader:
@@ -717,7 +1157,7 @@ pandoc (1.11)
`unnumbered` class.
* Textile writer:
-
+
+ Support header attributes.
* Markdown writer:
@@ -731,11 +1171,11 @@ pandoc (1.11)
use `pandoc -t markdown-citations`.
* RST writer:
-
+
+ Support `:number-lines:` in code blocks.
* Docx writer:
-
+
+ Better treatment of display math. Display math inside a
paragraph is now put in a separate paragraph, so it will render
properly (centered and without extra blank lines around it).
@@ -753,7 +1193,7 @@ pandoc (1.11)
edited. Closes #414.
* EPUB writer:
-
+
+ Fix section numbering. Previously the numbering restarted from 1
in each chapter (with `--number-sections`), though the numbers in
the table of contents were correct.
@@ -776,7 +1216,7 @@ pandoc (1.11)
section number.
* `Text.Pandoc.Pretty`:
-
+
+ Fixed `chomp` so it works inside `Prefixed` elements.
+ Changed `Show` instance so it is better for debugging.
@@ -846,7 +1286,7 @@ pandoc (1.10.1)
Thanks to Nick Bart for the suggestion of using @{}.
* `Text.Pandoc.Parsing`:
-
+
+ More efficient version of `anyLine`.
+ Type of `macro` has changed; the parser now returns `Blocks`
instead of `Block`.
@@ -869,7 +1309,7 @@ pandoc (1.10.0.5)
Thanks to Andrew Lee for pointing out the bug.
* Markdown reader: Fixed regressions in fenced code blocks. Closes #722.
-
+
+ Tilde code fences can again take a bare language string
(`~~~ haskell`), not just curly-bracketed attributes
(`~~~ {.haskell}`).
@@ -900,7 +1340,7 @@ pandoc (1.10.0.5)
`hsb2hs`.
* Changes to `make-windows-installer.bat`.
-
+
+ Exit batch file if any of the cabal-dev installs fail.
+ There's no longer any need to reinstall `highlighting-kate`.
+ Don't start with a `cabal update`; leave that to the user.
@@ -1652,19 +2092,19 @@ pandoc (1.9.4.2)
checks for the base version that intelligibly enable encoding/decoding
when needed. Fixes a bug with multilingual filenames when pandoc was
compiled with ghc 7.4 (#540).
-
+
* Don't generate an empty H1 after hrule slide breaks.
We now use a slide-level header with contents `[Str "\0"]` to mark
an hrule break. This avoids creation of an empty H1 in these
contexts. Closes #484.
-
+
* Docbook reader: Added support for "bold" emphasis. Thanks to mb21.
-
+
* In make_osx_package.sh, ensure citeproc-hs is built with the
embed_data_files flag.
-
+
* MediaWiki writer: Avoid extra blank lines after sublists (Gavin Beatty).
-
+
* ConTeXt writer: Don't escape `&`, `^`, `<`, `>`, `_`,
simplified escapes for `}` and `{` to `\{` and `\}` (Aditya Mahajan).
@@ -1675,7 +2115,7 @@ pandoc (1.9.4.2)
* Added some missing exports and tests to the cabal file
(Alexander V Vershilov).
-
+
* Compile with `-rtsopts` and `-threaded` by default.
pandoc (1.9.4.1)
@@ -1693,7 +2133,7 @@ pandoc (1.9.4.1)
+ Use microtype if available.
* Biblio:
-
+
+ Add comma to beginning of bare suffix, e.g. `@item1 [50]`.
Motivation: `@item1 [50]` should be as close as possible to
`[@item1, 50]`.
@@ -1997,12 +2437,12 @@ pandoc (1.9.1.1)
pandoc (1.9.1)
* LaTeX reader:
-
+
+ Fixed regression in 1.9; properly handle escaped $ in latex math.
+ Put LaTeX verse environments in blockquotes.
* Markdown reader:
-
+
+ Limit nesting of strong/emph. This avoids exponential lookahead
in parasitic cases, like `a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**`.
+ Improved attributes syntax (inn code blocks/spans):
@@ -2221,7 +2661,7 @@ pandoc (1.9)
</sidebar>
will not be wrapped in `<para>` tags.
-
+
* The LaTeX parser has been completely rewritten; it is now much more
accurate, robust, and extensible. However, there are two important
changes in how it treats unknown LaTeX. (1) Previously, unknown
@@ -3397,7 +3837,7 @@ pandoc (1.5.1.1)
[ John MacFarlane ]
- * Fixed uniqueIdent in Shared so that header identifiers work as
+ * Fixed uniqueIdent in Shared so that header identifiers work as
advertized in the README and are are valid XHTML names.
pandoc (1.5.1)
@@ -4639,7 +5079,7 @@ pandoc (0.46) unstable; urgency=low
HTML reader now uses rawHtmlBlock', which excludes </html> and </body>,
since these are handled in parseHtml. (Resolves Issue #38.)
- + Fixed bug (emph parser was looking for <IT> tag, not <I>).
+ + Fixed bug (emph parser was looking for `<IT>` tag, not `<I>`).
+ Don't interpret contents of style tags as markdown.
(Resolves Issue #40.)
@@ -4724,15 +5164,15 @@ pandoc (0.45) unstable; urgency=low
+ readTeXMath is now used for default HTML output in HTML, S5, RTF,
and Docbook, if no other method for displaying math in HTML is
specified. Enclosing $'s are no longer printed by default.
- + By default, math is put inside <span class="math">. This way it can be
+ + By default, math is put inside `<span class="math">`. This way it can be
distinguished from the surrounding text, e.g. put in a different
font.
* New --gladtex and --mimetex options for display of math in HTML:
- + If --gladtex is specified, math is output between <eq> tags, so
+ + If --gladtex is specified, math is output between `<eq>` tags, so
it can be processed by gladTeX.
- + If --mimetex is specified, math is put in <img> tags with a link
+ + If --mimetex is specified, math is put in `<img>` tags with a link
to the mimetex CGI script (or any other script that takes TeX math
as input and outputs an image). The URL of the script may be
specified, but defaults to /cgi-bin/mimetex.cgi.
@@ -4746,13 +5186,13 @@ pandoc (0.45) unstable; urgency=low
+ Fixed bug: parser for minimized attributes should not swallow
trailing spaces.
+ Simplified HTML attribute parsing.
- + Changed parsing of code blocks in HTML reader: <code> tag is no
- longer needed. <pre> suffices. All HTML tags in the code block
+ + Changed parsing of code blocks in HTML reader: `<code>` tag is no
+ longer needed. `<pre>` suffices. All HTML tags in the code block
(e.g. for syntax highlighting) are skipped, because they are not
- portable to other output formats. A <code>...</code> block not
- surrounded by <pre> now counts as inline HTML, not a code block.
+ portable to other output formats. A `<code>...</code>` block not
+ surrounded by `<pre>` now counts as inline HTML, not a code block.
+ Remove just one leading and one trailing newline from contents of
- <pre>...</pre> in codeBlock parser.
+ `<pre>...</pre>` in codeBlock parser.
* Markdown reader:
@@ -5074,8 +5514,8 @@ pandoc (0.43) unstable; urgency=low
end code block with a nonindented line.)
+ Changed definition of 'emph': italics with '_' must not
be followed by an alphanumeric character. This is to help
- prevent interpretation of e.g. [LC_TYPE]: my_type as
- '[LC<em>TYPE]:my</em>type'.
+ prevent interpretation of e.g. `[LC_TYPE]: my_type` as
+ `[LC<em>TYPE]:my</em>type`.
+ Improved Markdown.pl-compatibility in referenceLink: the two parts
of a reference-style link may be separated by one space, but not
more... [a] [link], [not] [a link].
@@ -5083,7 +5523,7 @@ pandoc (0.43) unstable; urgency=low
Markdown.pl: the marker for the end of the code section is a clump
of the same number of `'s with which the section began, followed
by a non-` character. So, for example,
- ` h ``` i ` -> <code>h ``` i</code>.
+ ` h ``` i ` -> `<code>h ``` i</code>`.
+ Split 'title' into 'linkTitle' and 'referenceTitle', since the
rules are slightly different.
+ Rewrote 'para' for greater efficiency.
@@ -5190,7 +5630,7 @@ pandoc (0.41) unstable; urgency=low
[ John MacFarlane ]
* Fixed bugs in HTML reader:
- + Skip material at end *only if* </html> is present (previously,
+ + Skip material at end *only if* `</html>` is present (previously,
only part of the document would be parsed if an error was
found; now a proper error message is given).
+ Added new constant eitherBlockOrInline with elements that may
@@ -5399,9 +5839,9 @@ pandoc (0.4) unstable; urgency=low
may cause documents to be parsed differently. Users should take
care in upgrading.
+ Changed autoLink parsing to conform better to Markdown.pl's
- behavior. <google.com> is not treated as a link, but
- <http://google.com>, <ftp://google.com>, and <mailto:google@google.com>
- are.
+ behavior. `<google.com>` is not treated as a link, but
+ `<http://google.com>`, `<ftp://google.com>`, and
+ `<mailto:google@google.com>` are.
+ Cleaned up handling of embedded quotes in link titles. Now these are
stored as a '"' character, not as '&quot;'.
+ Use lookAhead parser for the 'first pass' (looking for reference keys),
@@ -5465,7 +5905,7 @@ pandoc (0.4) unstable; urgency=low
been removed, since they are written programatically. This change
introduces a new dependency on the xhtml package.
+ Fixed two bugs in email obfuscation involving improper escaping
- of '&' in the <noscript> section and in --strict mode. Resolves
+ of '&' in the `<noscript>` section and in `--strict` mode. Resolves
Issue #9.
+ Fixed another bug in email obfuscation: If the text to be obfuscated
contains an entity, this needs to be decoded before obfuscation.
@@ -5497,8 +5937,8 @@ pandoc (0.4) unstable; urgency=low
+ Links in markdown output are now printed as inline links by default,
rather than reference links. A --reference-links option has been added
that forces links to be printed as reference links. Resolves Issue #4.
- + Use autolinks when possible. Instead of [site.com](site.com),
- use <site.com>.
+ + Use autolinks when possible. Instead of `[site.com](site.com)`,
+ use `<site.com>`.
* LaTeX writer:
@@ -5714,7 +6154,7 @@ pandoc (0.3) unstable; urgency=low
only non-alphanumeric characters can be escaped. Strict mode
follows Markdown.pl in only allowing a select group of punctuation
characters to be escaped.
- + Modified HTML reader to skip a newline following a <br> tag.
+ + Modified HTML reader to skip a newline following a `<br>` tag.
Otherwise the newline will be treated as a space at the beginning
of the next line.
@@ -5744,7 +6184,7 @@ pandoc (0.3) unstable; urgency=low
* Moved handling of "smart typography" from the writers to the Markdown
and LaTeX readers. This allows great simplification of the writers
and more accurate smart quotes, dashes, and ellipses. DocBook can
- now use '<quote>'. The '--smart' option now toggles an option in
+ now use `<quote>`. The '--smart' option now toggles an option in
the parser state rather than a writer option. Several new kinds
of inline elements have been added: Quoted, Ellipses, Apostrophe,
EmDash, EnDash.