@@ -1,3 +1,261 @@
1+pandoc (1.19)
2+
3+ * Changed resolution of filter paths.
4+
5+ + We now first treat the argument of `--filter` as a full (absolute
6+ or relative) path, looking for a program there. If it's found,
7+ we run it.
8+ + If not, and if it is a simple program name or a relative path,
9+ we try resolving it relative to `$DATADIR/filters`.
10+ + If this fails, then we treat it as a program name and look in
11+ the user's PATH.
12+ + Removed a hardcoded '/' that may have caused problems with Windows
13+ paths.
14+
15+ Previously if you did `--filter foo` and you had `foo` in your
16+ path and also an executable `foo` in your working directory,
17+ the one in the path would be used. Now the one in the working
18+ directory is used.
19+
20+ In addition, when you do `--filter foo/bar.hs`, pandoc will now
21+ find a filter `$DATADIR/filters/foo/bar.hs` -- assuming there
22+ isn't a `foo/bar.hs` relative to the working directory.
23+
24+ * Allow `file://` URIs as arguments (#3196). Also improved default reader
25+ format detection. Previously with a URI ending in .md or .markdown,
26+ pandoc would assume HTML input. Now it treats these as markdown.
27+
28+ * Allow to overwrite top-level division type heuristics (#3258,
29+ Albert Krewinkel). Pandoc uses heuristics to determine the most
30+ reasonable top-level division type when emitting LaTeX or Docbook markup.
31+ It is now possible to overwrite this implicitly set top-level division
32+ via the `top-level-division` command line parameter.
33+
34+ * Text.Pandoc.Options [API change] (#3197): The type of the
35+ `writerTopLevelDivision` field in of the `WriterOptions` data type is
36+ altered from `Division` to `Maybe Division`. The field's default value
37+ is changed from `Section` to `Nothing`.
38+
39+ * Improved error if they give wrong arg to `--top-level-division`.
40+
41+ * DocBook reader: Fixed xref lookup (#3243).
42+ It previously only worked when the qnames lacked the docbook
43+ namespace URI.
44+
45+ * HTML reader:
46+
47+ + Improved table parsing (#3027). We now check explicitly for non-1
48+ rowspan or colspan attributes, and fail when we encounter them.
49+ Previously we checked that each row had the same number of cells,
50+ but that could be true even with rowspans/colspans.
51+ And there are cases where it isn't true in tables that
52+ we can handle fine -- e.g. when a tr element is empty.
53+ So now we just pad rows with empty cells when needed.
54+ + Treat `<math>` as MathML by default unless something else
55+ is explicitly specified in xmlns. Provided it parses as MathML,
56+ of course. Also fixed default which should be to inline math if no
57+ display attribute is used.
58+ + Only treat "a" element as link if it has href (#3226). Otherwise
59+ treat as span.
60+
61+ * Docx reader (Jesse Rosenthal):
62+
63+ + Add a placeholder value for CHART. We wrap `[CHART]` in a
64+ `<span class="chart">`. Note that it maps to inlines because, in docx,
65+ anything in a drawing tag can be part of a larger paragraph.
66+ + Be more specific in parsing images We not only want `w:drawing`,
67+ because that could also include charts. Now we specify
68+ `w:drawing/pic:pic`. This shouldn't change behavior at all, but it's
69+ a first step toward allowing other sorts of drawing data as well.
70+ + Abstract out function to avoid code repetition.
71+ + Update tests for img title and alt (#3204).
72+ + Handle Alt text and titles in images. We use the "description" field
73+ as alt text and the "title" field as title. These can be accessed
74+ through the "Format Picture" dialog in Word.
75+ + Docx reader utils: handle empty namespace in `elemName`.
76+ Previously, if given an empty namespace `(elemName ns "" "foo")`
77+ `elemName` would output a QName with a `Just ""` namespace. This is
78+ never what we want. Now we output a `Nothing`. If someone *does* want a
79+ `Just ""` in the namespace, they can enter the QName value explicitly.
80+
81+ * ODT reader/writer:
82+
83+ + Inline code when text has a special style (Hubert Plociniczak). When
84+ a piece of text has a text `Source_Text` then we assume that this is a
85+ piece of the document that represents a code that needs to be inlined.
86+ Adapted the writer to also reflect that change. Previously it was just
87+ writing a 'preformatted' text using a non-distinguishable font style.
88+ Code blocks are still not recognized by the ODT reader. That's a
89+ separate issue.
90+ + Infer table's caption from the paragraph (#3224, Hubert Plociniczak).
91+ ODT's reader always put empty captions for the parsed tables. This commit
92+
93+ 1. checks paragraphs that follow the table definition
94+ 2. treats specially a paragraph with a style named 'Table'
95+ 3. does some postprocessing of the paragraphs that combines
96+ tables followed immediately by captions
97+
98+ The ODT writer used the `TableCaption` style for the caption
99+ paragraph. This commit follows the OpenOffice approach which
100+ allows for appending captions to table but uses a built-in style
101+ named `Table` instead of `TableCaption`. Users of a custom
102+ `reference.odt` should change the style's name from `TableCaption`
103+ to `Table`.
104+
105+ * ODT reader: Infer tables' header props from rows (#3199, Hubert
106+ Plociniczak). ODT reader simply provided an empty header list
107+ which meant that the contents of the whole table, even if not empty,
108+ was simply ignored. While we still do not infer headers we at least
109+ have to provide default properties of columns.
110+
111+ * Markdown reader:
112+
113+ + Allow reference link labels starting with `@...` if `citations`
114+ extension disabled (#3209). Example: in
115+
116+ [link text][@a]
117+
118+ [@a]: url
119+
120+ `link text` isn't hyperlinked because `[@a]` is parsed as a citation.
121+ Previously this happened whether or not the `citations` extension was
122+ enabled. Now it happens only if the `citations` extension is enabled.
123+ + Allow alignments to be specified in Markdown grid tables. For example,
124+
125+ +---------------+---------------+--------------------+
126+ | Right | Left | Centered |
127+ +==============:+:==============+:==================:+
128+ | Bananas | $1.34 | built-in wrapper |
129+ +---------------+---------------+--------------------+
130+
131+ + Allow Small Caps elements to be created using bracketed spans
132+ (as they already can be using HTML-syntax spans) (#3191, Kolen Cheung).
133+
134+ * LaTeX reader:
135+
136+ + Don't treat `\vspace` and `\hspace` as block commands (#3256).
137+ Fixed an error which came up, for example, with `\vspace`
138+ inside a caption. (Captions expect inlines.)
139+ + Improved table handling. We can now parse all of the tables emitted
140+ by pandoc in our tests. The only thing we don't get yet are
141+ alignments and column widths in more complex tables. See #2669.
142+ + Limited support for minipage.
143+ + Allow for `[]`s inside LaTeX optional args. Fixes cases like:
144+
145+ \begin{center}
146+ \begin{tikzpicture}[baseline={([yshift=+-.5ex]current bounding box.center)}, level distance=24pt]
147+ \Tree [.{S} [.NP John\index{i} ] [.VP [.V likes ] [.NP himself\index{i,*j} ]]]
148+ \end{tikzpicture}
149+ \end{center}
150+ + Handle BVerbatim from fancyvrb (#3203).
151+ + Handle hungarumlaut (#3201).
152+ + Allow beamer-style `<...>` options in raw LaTeX (also in Markdown)
153+ (#3184). This allows use of things like `\only<2,3>{my content}` in
154+ Markdown that is going to be converted to beamer.
155+
156+ * Use pre-wrap for code in dzslides template (Nicolas Porcel).
157+ Otherwise overly long code will appear on every slide.
158+
159+ * Org reader (Albert Krewinkel):
160+
161+ + Respect column width settings (#3246). Table column properties can
162+ optionally specify a column's width with which it is displayed in
163+ the buffer. Some exporters, notably the ODT exporter in org-mode v9.0,
164+ use these values to calculate relative column widths. The org reader now
165+ implements the same behavior. Note that the org-mode LaTeX and HTML
166+ exporters in Emacs don't support this feature yet, which should be kept
167+ in mind by users who use the column widths parameters.
168+ + Allow HTML attribs on non-figure images (#3222). Images which are the
169+ only element in a paragraph can still be given HTML attributes, even if
170+ the image does not have a caption and is hence not a figure.
171+ The following will add set the `width` attribute of the image to `50%`:
172+
173+ #+ATTR_HTML: :width 50%
174+ [[file:image.jpg]]
175+
176+ + Support `ATTR_HTML` for special blocks (#3182).
177+ Special blocks (i.e. blocks with unrecognized names) can be prefixed
178+ with an `ATTR_HTML` block attribute. The attributes defined in that
179+ meta-directive are added to the `Div` which is used to represent the
180+ special block.
181+ + Support the `todo` export option. The `todo` export option allows to
182+ toggle the inclusion of TODO keywords in the output. Setting this to
183+ `nil` causes TODO keywords to be dropped from headlines. The default
184+ is to include the keywords.
185+ + Add support for todo-markers. Headlines can have optional todo-markers
186+ which can be controlled via the `#+TODO`, `#+SEQ_TODO`, or `#+TYP_TODO`
187+ meta directive. Multiple such directives can be given, each adding a
188+ new set of recognized todo-markers. If no custom todo-markers are
189+ defined, the default `TODO` and `DONE` markers are used. Todo-markers
190+ are conceptually separate from headline text and are hence excluded
191+ when autogenerating headline IDs. The markers are rendered as spans
192+ and labelled with two classes: One class is the markers name, the other
193+ signals the todo-state of the marker (either `todo` or `done`).
194+
195+ * LaTeX writer:
196+
197+ + Use `\autocites*` when "suppress-author" citation used.
198+ + Ensure that simple tables have simple cells (#2666). If cells contain
199+ more than a single Plain or Para, then we need to set nonzero widths
200+ and put contents into minipages.
201+ + Remove invalid inlines in sections (#3218, Hubert Plociniczak).
202+
203+ * Markdown writer:
204+
205+ + Fix calculation of column widths for aligned multiline tables
206+ (#1911, Björn Peemöller). This also fixes excessive CPU and memory
207+ usage for tables when `--columns` is set in such a way that cells
208+ must be very tiny. Now cells are guaranteed to be big enough so that
209+ single words don't need to line break, even if this pushes the
210+ line length above the column width.
211+ + Use bracketed form for native spans when `bracketed_spans`
212+ enabled (#3229).
213+ + Fixed inconsistent spacing issue (#3232). Previously a tight bullet
214+ sublist got rendered with a blank line after, while a tight ordered
215+ sublist did not. Now we don't get the blank line in either case.
216+ + Fix escaping of spaces in super/subscript (#3225). Previously two
217+ backslashes were inserted, which gave a literal backslash.
218+ + Adjust widths in Markdown grid tables so that they match on round-trip.
219+
220+ * Docx writer:
221+
222+ + Give full detail when there are errors converting tex math.
223+ + Handle title text in images (Jesse Rosenthal). We already handled alt
224+ text. This just puts the image "title" into the docx "title" attr.
225+ + Fixed XML markup for empty cells (#3238). Previously the Compact
226+ style wasn't being applied properly to empty cells.
227+
228+ * Text.Pandoc.Pretty:
229+
230+ + Fixed some bugs that caused blank lines in tables (#3251).
231+ The bugs caused spurious blank lines in grid tables when we
232+ had things like ``blankline $$ blankline``.
233+ + Add exported function `minOffet` [API change] (Björn Peemöller).
234+ + Added error message for illegal call to `block` (Björn Peemöller).
235+
236+ * Text.Pandoc.Shared: Put `warn` in MonadIO.
237+
238+ * Export Text.Pandoc.getDefaultExtensions [API change] (#3178).
239+
240+ * In --version, trap error in `getAppUserDataDirectory` (#3241).
241+ This fixes a crash with `pandoc --version` on unusual systems with
242+ no real user (e.g. SQL Server 2016).
243+
244+ * Added weigh-pandoc for memory usage diagnostics (#3169).
245+
246+ * Use correct mime types for woff and woff2 (#3228).
247+
248+ * Remove make_travis_yml.hs (#3235, Kolen Cheung).
249+
250+ * changelog: Moved an item that was misplaced in the 1.17.2 section to
251+ the 1.18 section where it belongs.
252+
253+ * CONTRIBUTING.md: minor change in wording and punctuation (#3252,
254+ Kolen Cheung).
255+
256+ * Further revisions to manual for `--version` changes (#3244).
257+
258+
1259pandoc (1.18)
2260
3261 * Added `--list-input-formats`, `--list-output-formats`,