summaryrefslogtreecommitdiff
path: root/changelog
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2018-01-17 11:02:39 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2018-01-17 11:02:39 -0800
commit8ec82f89f8f3c88fdb50f56456b3f62ed2117319 (patch)
tree8e78dcf5886eb8a1d24f6dd1e11b9d1bec96876c /changelog
parent1bc2186425cc61f75f6da32b91660c50f4a6dd0d (diff)
Update changelog.
Diffstat (limited to 'changelog')
-rw-r--r--changelog209
1 files changed, 209 insertions, 0 deletions
diff --git a/changelog b/changelog
index 483ef6d83..ad84fb672 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,212 @@
+pandoc (2.1.1)
+
+ * Markdown reader:
+
+ + Don't coalesce adjacent raw LaTeX blocks if they are separated by a
+ blank line. See lierdakil/pandoc-crossref#160.
+ + Improved `inlinesInBalancedBrackets` (#4272, jgm/pandoc-citeproc#315).
+ The change both improves performance and fixes a regression whereby
+ normal citations inside inline notes and figure captions were not
+ parsed correctly.
+
+ * RST reader:
+
+ + Better handling for headers with an anchor (#4240). Instead of creating a
+ Div containing the header, we put the id directly on the header.
+ This way header promotion will work properly.
+ + Add aligned environment when needed in math (#4254). `rst2latex.py`
+ uses an `align*` environment for math in `.. math::` blocks, so this
+ math may contain line breaks. If it does, we put the math in an
+ `aligned` environment to simulate `rst2latex.py`'s behavior.
+
+ * HTML reader: Fix col width parsing for percentages < 10% (#4262,
+ n3fariox).
+
+ * LaTeX reader:
+
+ + Advance source position at end of stream.
+ + Pass through macro defs in `rawLaTeXBlock` even if the `latex_macros`
+ extension is set (#4246). This reverts to earlier behavior and is
+ probably safer on the whole, since some macros only modify things in
+ included packages, which pandoc's macro expansion can't modify.
+ + Fixed pos calculation in tokenizing escaped space.
+ + Allow macro definitions inside macros (#4253). Previously we went into
+ an infinite loop with
+ ```
+ \newcommand{\noop}[1]{#1}
+ \noop{\newcommand{\foo}[1]{#1}}
+ \foo{hi}
+ ```
+ + Fix inconsistent column widths (#4238). This fixes a bug whereby column
+ widths for the body were different from widths for the header in some
+ tables.
+
+ * Docx reader (Jesse Rosenthal):
+
+ + Parse hyperlinks in `instrText` tags (#3389, #4266). This was a form of
+ hyperlink found in older versions of word. The changes introduced for
+ this, though, create a framework for parsing further fields in MS Word
+ (see the spec, ECMA-376-1:2016, §17.16.5, for more on these fields).
+ We introduce a new module, `Text.Pandoc.Readers.Docx.Fields` which
+ contains a simple parsec parser. At the moment, only simple hyperlink
+ fields are accepted, but that can be extended in the future.
+
+
+ * Powerpoint writer (Jesse Rosenthal):
+
+ + Change reference to `notesSlide` to `endNotesSlide`.
+ This will prevent confusion when speakers notes are implemented.
+ + Move image sizing into `picProps`. Rather than passing around
+ attributes, we can have image sizing in the picProps and then
+ pass it along to write to XML.
+ + Improve table placement.
+ + Make our own `_rels/.rels` file. The toplevel .rels file could
+ have a thumbnail image if taken from the template. Rather than
+ removing it from the inherited file, it's easier to just make our own.
+ + Import reference-doc images properly. There was a glob error that
+ was leading to images from the reference-doc pptx not being imported.
+ + Move `Presentation.hs` out of `PandocMonad`.
+ + Ignore anchor links to nowhere. We don't convert a `#target`
+ `ExternalTarget` to an `InternalTarget` if `target` is not in the
+ `AnchorMap`. We just remove the link. This prevents broken links.
+ + Refactor into separate modules. This separates the conversion into
+ separate modules (T.P.W.Powerpoint.Presentation, which defineds the
+ Presentation datatype and goes Pandoc->Presentation)
+ and (T.P.W.Pandoc.Output, which goes Presentation->Archive).
+ Text.Pandoc.Writers.Powerpoint a thin wrapper around the two modules.
+ + Avoid overlapping blocks in column output. Just as a slide can't
+ have an image and text on the same slide because
+ of overlapping, we can't have both in a single column. We run
+ `splitBlocks` on the text in the column and discard the rest.
+ + Position images correctly in two-column layout.
+ You can have two images side-by-side, or text alongside an image. The
+ image will be fit correctly within the column.
+ + Make content shape retrieval environment-aware. We put
+ `getContentShape` and `getContentShapeSize` inside the P monad,
+ so that we can (in the future) make use of knowledge of what slide
+ environment we're in to get the correct shape. This will allow us, for
+ example, to get individual columns for a two-column layout, and place
+ images in them appropriately.
+ + Improve image handling. We now determine image and caption placement
+ by getting the dimensions of the content box in a given layout.
+ This allows for images to be correctly sized and positioned in a
+ different template. Note that images without captions and headers are
+ no longer full-screened. We can't do this dependably in different
+ layouts, because we don't know where the header is (it could be to
+ the side of the content, for example).
+ + Read presentation size from reference file. Our presentation size is
+ now dependent on the reference/template file we use. This will make it
+ easier to set different output sizes by supplying different reference
+ files.
+ + Handle (sub)headers above slidelevel correctly. Above the slidelevel,
+ subheaders will be printed in bold and given a bit of extra space
+ before them. Note that at the moment, no distinction is made between
+ levels of headers above the slide header, though that can be changed.
+ (It has to be changed in pandoc, since PowerPoint has no concept of
+ paragraph or character classes.)
+ + Check for required files. Since we now import from reference/dist
+ file by glob, we need to make sure that we're getting the files we
+ need to make a non-corrupt Powerpoint. This performs that check.
+ + Improve templating using `--reference-doc`. Templating should work
+ much more reliably now.
+ + Include Notes slide in TOC.
+ + Set notes slide header with slide-level. It used to be hardcoded to 2.
+ This will set it to the appropriate slide-level.
+ + Add table of contents. This is triggered by the `--toc` flag. Note
+ that in a long slide deck this risks overrunning the text box. The user
+ can address this by setting `--toc-depth=1`.
+ + Set notes slide number correctly. Previously, this hadn't been aware
+ of a metadata slide.
+ + Ignore internal links without targets. If the user entered an
+ internal link without a corresponding anchor, it would produce a
+ corrupted file. Now we check the anchor map, and make sure the target
+ is in the file. If it isn't, we ignore it.
+ + Clean up adding metadata slide. We want to count the slide numbers
+ correctly if it's in there.
+ + Add anchor links. For anchor-type links (`[foo](#bar)`) we produce
+ an anchor link. In powerpoint these are links to slides, so we keep
+ track of a map relating anchors to the slides they occur on.
+ + Make the slide number available to the blocks. For anchors,
+ block-processing functions need to know what slide number
+ they're in. We make the envCurSlideId available to blocks.
+ + Move curSlideId to environment. It really isn't a moving state, and
+ that can be misleading.
+ + Allow setting `toc-title` in metadata.
+
+ * Markdown writer:
+
+ + Fix cell width calculation (#4265). Previously we could get
+ ever-lengthening cell widths when a table was run repeatedly through
+ `pandoc -f markdown -t markdown`.
+
+ * LaTeX writer:
+
+ + Escape `&` in lstinline (Robert Schütz).
+
+ * ConTeXt writer:
+
+ + Use xtables instead of Tables (#4223, Henri Menke).
+ Default to xtables for context output. Natural Tables are used
+ if the new `ntb` extension is set.
+
+ * HTML writer:
+
+ + Fixed footnote backlinks with `--id-prefix` (#4235).
+
+ * `Text.Pandoc.Extensions`: Added `Ext_ntb` constructor (API change,
+ Henri Menke).
+
+ * `Text.Pandoc.ImageSize`: add derived `Eq` instance to `Dimension`
+ (Jesse Rosenthal, API change).
+
+ * Lua filters (Albert Krewinkel):
+
+ + Make `PANDOC_READER_OPTIONS` available.
+ The options which were used to read the document are made available to
+ Lua filters via the `PANDOC_READER_OPTIONS` global.
+ + Add lua module `pandoc.utils.run_json_filter`, which runs a JSON filter
+ on a Pandoc document.
+ + Refactor filter-handling code into `Text.Pandoc.Filter.JSON`,
+ `Text.Pandoc.Filter.Lua`, and `Text.Pandoc.Filter.Path`.
+ + Improve error messages. Provide more context about the task
+ which caused an error.
+
+ * data/pandoc.lua (Albert Krewinkel):
+
+ + Add attr, listAttributes accessors (Albert Krewinkel). Elements with
+ attributes got an additional `attr` accessor. Attributes were
+ accessible only via the `identifier`, `classes`, and `attributes`,
+ which was in conflict with the documentation, which indirectly states
+ that such elements have the an `attr` property.
+ + Accept single block as singleton list. Every constructor which accepts
+ a list of blocks now also accepts a single block element for convenience.
+ Furthermore, strings are accepted as shorthand for `{pandoc.Str "text"}`
+ in constructors.
+ + Drop `_VERSION`. Having a `_VERSION` became superfluous, as this module
+ is closely tied to the pandoc version, which is available via
+ `PANDOC_VERSION`.
+ + Accept singleton inline as a list. Every constructor which accepts a
+ list of inlines now also accepts a single inline element for convenience.
+ + Fix access to Attr components. Accessing an Attr value (e.g.,
+ ` Attr().classes`) was broken; the more common case of accessing it via
+ an Inline or Block element was unaffected by this.
+
+ * Move `metaValueToInlines` to from Docx writer to
+ `Text.Pandoc.Writers.Shared`, so it can be used by other writers
+ (Jesse Rosenthal).
+
+ * MANUAL.txt:
+
+ + Clarify otherlangs in LaTeX (#4072).
+ + Clarify `latex_macros` extension.
+ + Recommend use of `raw_attribute` extension in header includes (#4253).
+
+ * Allow latest QuickCheck, tasty, criterion.
+
+ * Remove custom prelude and ghc 7.8 support.
+
+ * Reduce compiler noise (exact paths for compiled modules).
+
pandoc (2.1)
* Allow filters and lua filters to be interspersed (#4196). Previously