git.iko.soy/typeable/pandoc
on master help sign in
changelog.md: add preliminary changes for 2.11 (provisional).
3982d36John MacFarlane
changelog.md+382
@@ -1,5 +1,387 @@
1# Revision history for pandoc
1# Revision history for pandoc
2
2
3+## pandoc 2.11 (YYYY-MM-DD)
4+
5+ * Add `--citeproc` (`-C`) option to trigger built-in citation processing.
6+ It is no longer necessary to use the external `pandoc-citeproc`
7+ filter. `--citeproc` behaves like a filter and can be positioned
8+ relative to other filters as they appear on the command line.
9+
10+ The new built-in citation processing uses the citeproc library,
11+ a reimplementation of CSL citation processing that fixes many
12+ of the shortcomings of pandoc-citeproc. In general, citation
13+ processing should work much the same as it did with pandoc-citeproc,
14+ but with greater fidelity to CSL styles and better performance.
15+ (The tests from the pandoc-citeproc package have been carried
16+ over to pandoc.) The following differences should be noted:
17+
18+ - At this point, only some of the writers (HTML, ms, LaTeX) properly
19+ interpret CSL display styles. You should get decent output in
20+ all formats (at least as good as with pandoc-citeproc), but
21+ indentation and block-alignment may not be right.
22+
23+ - pandoc-citeproc searches the `~/.csl` directory for `.csl`
24+ styles. Pandoc instead searches the `csl` subdirectory of
25+ the pandoc user data directory (e.g., `~/.pandoc/csl` or
26+ `~/.local/share/pandoc/csl`). Users who already keep
27+ CSL styles in `~/.csl` may find it convenient to add a
28+ symlink.
29+
30+ - Some of the bibliography formats supported by pandoc-citeproc (via
31+ hs-bibutils) are no longer supported: Copac, EndNote,
32+ ISI, MEDLINE, MODS, and RIS. If you use one of these formats,
33+ you may use the `bibutils` utility to convert to CSL JSON
34+ or BibTeX. We now support only BibTeX, BibLaTeX, CSL JSON,
35+ and pandoc's YAML/Markdown analogue of CSL JSON.
36+
37+ - pandoc-citeproc would always retrieve the independent parent
38+ of a dependent style by doing an HTTP request. pandoc will
39+ now first seek the independent parent locally (in the resource
40+ path or in the `csl` subdirectory of the pandoc user data
41+ directory) before resorting to HTTP. In addition, you may
42+ omit the `.csl` extension, e.g. `--csl zoology`.
43+
44+ * Add `csljson` as and input and output format. This allows pandoc
45+ to convert between `csljson` and other bibliography formats
46+ (e.g. `-f csljson -t markdown -s` or `-f bibtex -t csljson`),
47+ and to generate formatted versions of CSL JSON bibliographies
48+ (e.g., `pandoc -f csljson --citeproc pl.json -o pl.pdf`).
49+
50+ * Added `bibtex`, `biblatex` as input formats. This allows pandoc
51+ to convert between BibLaTeX and BibTeX and other bibliography formats,
52+ and to generated formatted versions of BibTeX/BibLaTeX bibliographies
53+ (e.g., `pandoc -f biblatex --citeproc pl.bib -o pl.pdf`).
54+
55+ * Raise informative errors when YAML metadata parsing fails (#6730).
56+ Previously the command would succeed, returning empty metadata,
57+ with no errors or warnings.
58+
59+ * Sort languages in `--list-highlight-languages` output (#6718,
60+ Albert Krewinkel). Languages were previously sorted by their
61+ long name, which leads to unexpected results).
62+
63+ * Add CSS to default HTML template (#6601, Mauro Bieg). This
64+ greatly improves the default typography in pandoc's HTML
65+ output. The CSS is sensitive to a number of variables
66+ (e.g. `mainfont`, `fontsize`, `linestretch`): see the manual for
67+ details. To restore the earlier, more spartan output, you can
68+ disable this with `-M document-css=false`.
69+
70+ * Support `--toc-depth` option for ODT writer (#6696, niszet).
71+
72+ * Fix issues with Windows UNC paths with some options (#5127).
73+
74+ * Remove `fenced_code_blocks` and `backtick_code_blocks` from allowed
75+ `commonmark` and `gfm` extensions. These shouldn't really be counted
76+ as extensions, because they can't be disabled in commonmark.
77+ Adjust markdown writer to check for the commonmark variant in addition
78+ to extensions.
79+
80+ * Add these extensions to `gfm` and `commonmark`:
81+ `fenced_code_blocks`, `backtick_code_blocks`, `fenced_code_attributes`.
82+ These can't really be disabled in the reader, but they need to be enabled
83+ in the writer or we just get indented code.
84+
85+ * Make sure proper set of extensions is recognized for `commonmark_x`.
86+
87+ * Allow `gfm_auto_identifiers`, `ascii_identifiers` extensions for `docx`.
88+
89+ * Markdown reader:
90+
91+ + Add `Maybe FilePath` parameter to `yamlToMeta` [API change].
92+ + Export `yamlToRefs` [API change], a version of `yamlToMeta`
93+ specialized to references.
94+ + Set `citationNoteNum` accurately in citations.
95+ + Revise abbreviation support. Don't insert a nonbreaking space after a
96+ potential abbreviation if it comes right before a note or citation.
97+ This causes problems for citeproc's moving of note citations.
98+
99+ * LaTeX reader:
100+
101+ + Support missing siunitx commands (#6658).
102+ + Support `squared`, `cubed`, `tothe` in siunitx (#6657).
103+ + Improved uncertainty handling in slunitx.
104+ + Factored out siunitx stuff into separate unexposed module.
105+ + Fix improper empty cell filtering (#6689, Christian Despres).
106+ + Fix parsing of "show name" in `\newtheorem` (#6734).
107+ Previously we were just treating it as a string and
108+ ignoring accents and formatting.
109+ + Prevent wrong nesting of `\multirow` and `\multicolumn` table
110+ cells (#6603, Laurent P. René de Cotret).
111+ + Table cell parser not consuming spaces correctly (#6596,
112+ Laurent P. René de Cotret).
113+ + Change `SIRange` to `SIrange` (#6617, Emerson Harkin).
114+
115+ * DocBook reader:
116+
117+ + Don't squelch space at end of emphasis and other inline elements;
118+ instead, move it outside the element (#6719).
119+ + Implement table cell alignment (#6698, Nils Carlson).
120+ + Implement column span support for tables (#6492, Nils Carlson).
121+ + Update list of block level tags (#6610).
122+
123+
124+ * JATS reader:
125+
126+ + Don't squelch space at end of emphasis and other inline elements;
127+ instead, move it outside the element (#6719).
128+
129+ * RST reader:
130+
131+ + Apply `.. class::` directly to following Header rather than creating
132+ a surrounding Div (#6699).
133+
134+ * Docx reader:
135+
136+ + Allow empty dates in comments and tracked changes (#6726, Diego
137+ Balseiro).
138+
139+ * Markdown writer:
140+
141+ + Be less aggressive about using quotes for YAML values,
142+ allowing e.g. a quotation mark or bracket as long as it's not at the
143+ beginning of the line.
144+ + Use double quotes for YAML metadata (#6727).
145+ + Sort YAML metadata keys in Markdown output case-insensitive.
146+
147+
148+ * Asciidoc writer:
149+
150+ + Support asciidoctor's block figures (#6538, argent0).
151+
152+ * LaTeX writer:
153+
154+ + Fix spacing issue with list in definition list.
155+ When a list occurs at the beginning of a definition list definition,
156+ it can start on the same line as the label, which looks bad.
157+ Fix that by starting such lists with an `\item[]`.
158+
159+ * HTML writer:
160+
161+ + Support intermediate table headers (#5314, Albert Krewinkel).
162+ + Support attributes on all table elements (Albert Krewinkel).
163+ + Render table footers if present (#6314, Albert Krewinkel).
164+ + Fix addition of `doc-biblioentry` role.
165+ + Support colspans and rowspans in HTML tables (#6312, Albert Krewinkel).
166+
167+ * ICML writer:
168+
169+ + Support internal document links (#5541, Leonard Rosenthol).
170+ + Changed default link state to invisible (#6676, Leonard Rosenthol).
171+
172+ * Docx writer:
173+
174+ + Better handle list items whose contents are lists (#5948, Michael
175+ Hoffmann). If the first element of a bulleted or ordered list is
176+ another list, then that first item would previously disappear if the
177+ target format is docx.
178+ + Separate adjacent tables (#4315). Word combines adjacent tables,
179+ so to prevent this we insert an empty paragraph between two
180+ adjacent tables.
181+
182+ * Org writer:
183+
184+ + Don't force blank line after headings (#6554).
185+
186+ * OpenDocument writer:
187+
188+ + Implement table cell alignment (#6700 Nils Carson, Mauro Bieg).
189+ + New table cell support with row and column spans (#6682, Nils Carson).
190+ + Syntax highlighting for inline code (#6711, niszet).
191+
192+ * Add Text.Pandoc.Citeproc module, exporting `processCitations`
193+ [API change]. This depends on several other, unexported
194+ modules under Text.Pandoc.Citeproc.
195+
196+ * Add module Text.Pandoc.Writers.CslJson, exporting `writeCslJson`.
197+ [API change]
198+
199+ * Add module Text.Pandoc.Readers.CslJson, exporting `readCslJson`.
200+ [API change]
201+
202+ * Add module Text.Pandoc.Readers.BibTeX, exporting `readBibTeX` and
203+ `readBibLaTeX`. [API change]
204+
205+ * Text.Pandoc.Filter: Add `CiteprocFilter` constructor to Filter.
206+ [API change] This runs the processCitations transformation.
207+ We need to treat it like a filter so it can be placed
208+ in the sequence of filter runs (after some, before others).
209+ In FromYAML, this is parsed from `citeproc` or `{type: citeproc}`,
210+ so this special filter may be specified either way in a defaults file
211+ (or by `citeproc: true`, though this gives no control of positioning
212+ relative to other filters).
213+
214+ * Add new exported module Text.Pandoc.Writers.AnnotatedTable [API change]
215+ (#6655, Christian Despres). This module (which should generally
216+ be imported qualified to avoid name conflicts) provides a
217+ `Table` type that mirrors the structure of a pandoc `Table`,
218+ but with added inferred information so that the writers do not have to
219+ lay out tables themselves. The `toTable` and `fromTable` functions convert
220+ between an annotated `Table` and a regular pandoc `Table`. In addition to
221+ producing a `Table` with coherent and well-formed annotations, the
222+ `toTable` function also normalizes its input table like the table
223+ builder does. Tests ensure that `toTable` normalizes tables exactly
224+ like the table builder, and that its annotations are coherent.
225+
226+ * Text.Pandoc.Logging:
227+
228+ + Remove unused `CouldNotParseYamlMetadata` constructor for `LogMessage`
229+ [API change].
230+ + Add `CiteprocWarning` constructor to `LogMessage` [API change].
231+
232+ * Text.Pandoc.Readers.Metadata: export `yamlBsToRefs` [API change].
233+ These allow specifying an id filter so we parse only references
234+ that are used in the document.
235+
236+ * Text.Pandoc.Parsing:
237+
238+ + Export ParseError [API change].
239+ + Add `stateInNote` and `stateNoteNumber` to `ParserState`
240+ [API change]. These are used to populate note numbers for citation
241+ processing.
242+
243+ * Fix apparent typos in sample.lua (#6729, William Lupton).
244+ Also make the writer less aggressive in escaping quotes.
245+
246+ * Text.Pandoc.Options:
247+
248+ + `defaultMathJaxURL`: use `tex-chtml-full` instead of `tex-mml-chtml`
249+ (#6599, Kolen Cheung). This drops the MathML support (which we
250+ don't need for HTML math rendering) and includes the full JavaScript,
251+ which makes it possible to use `--self-contained` (though there may
252+ still be issues if the required math fonts aren't available). This
253+ change should also reduce latency in pages with lots of formulas.
254+ + Add `/tex-chtml-full.js` to `defaultMathJaxURL` (#6593) Previously we
255+ added this in processing command line options, but not in processing
256+ defaults files, which was inconsistent.
257+
258+ * epub.css: Fix cover page selectors and add note explaining their use
259+ (#6649, a-vrma).
260+
261+ * Add data files needed for Text.Pandoc.Citeproc: these include
262+ `default.csl` in the data directory and a `citeproc` directory that
263+ is only used at compile-time for biblatex localizations. Note that we've
264+ added `file-embed` as a mandatory rather than a conditional depedency,
265+ because of the biblatex localization files.
266+
267+ * Lua filters:
268+
269+ + Add SimpleTable for backwards compatibility (#6575, Albert Krewinkel).
270+ A new type `SimpleTable` is made available to Lua filters. It is
271+ similar to the `Table` type in pandoc versions before 2.10;
272+ conversion functions from and to the new Table type are provided.
273+ Old filters using tables now require minimal changes and can use, e.g.,
274+
275+ if PANDOC_VERSION > {2,10,1} then
276+ pandoc.Table = pandoc.SimpleTable
277+ end
278+
279+ and
280+
281+ function Table (tbl)
282+ tbl = pandoc.utils.to_simple_table(tbl)
283+ …
284+ return pandoc.utils.from_simple_table(tbl)
285+ end
286+
287+ to work with the current pandoc version.
288+
289+ + Make `attr` argument optional in `Table` constructor (Albert Krewinkel).
290+ This changes the Lua API. It is highly unlikely for this change to affect
291+ existing filters, since the documentation for the new Table constructor
292+ (and type) was incomplete and partly wrong before. The Lua API is now
293+ more consistent, as all constructors for elements with attributes now
294+ take attributes as the last parameter.
295+
296+ * MANUAL.txt:
297+
298+ * Add a dedicated Citations section which consolidates the information
299+ the manual used to contain about citation processing, and incorporates
300+ some information formerly found in the pandoc-citeproc man page.
301+ + Add note about lualatex using `selnolig`.
302+ + Remove duplicate `seriespage` (#6568, Blake Eryx).
303+ + Remove lists of support extensions for markdown variants (#6604).
304+ Instead, offer the advice to use `--list-extensions=FORMAT`.
305+ + Fix position of attributes in header (Albert Krewinkel).
306+ + Delete obsolete section on compact and loose lists (#6684).
307+
308+
309+ * doc/lua-filters.md:
310+
311+ + Add info on how to debug Lua filters (#6732, Ian Max Andolina).
312+ + Document Underline type and constructor (Albert Krewinkel).
313+ + Document `body` field (Albert Krewinkel).
314+ + Add missing header attribute
315+ + Add missing Link.title field (Albert Krewinkel).
316+ + Make the setting-the-date example conditional (the-solipsist).
317+ This makes the example a bit more realistic.
318+ + Remove outdated link table example.
319+
320+ * doc/org.md:
321+
322+ + Add section on tables (Albert Krewinkel).
323+ + Add section on handling of unknown directives (Albert Krewinkel).
324+
325+ * CONTRIBUTING.md: fix typo (#6584, Dmitry Volodin).
326+
327+ * Use golden test framework for command tests. This means that
328+ `--accept` can be used to update expected output.
329+
330+ * Use the `smart` extension when generating pandoc's man page (#6613).
331+
332+ * Release-candidate: don't build windows i386.
333+ So far we haven't been able to figure out how to get
334+ stack to use a 32-bit ghc.
335+
336+ * Use `null` instead of deprecated `Builder.isNull`.
337+
338+ * Makefile:
339+
340+ + Fix macospkg target to fetch target from S3 artifacts.
341+ + Fix pandoc-templates target to include all partials.
342+
343+ * Remove duplicated dependency in pandoc.cabal (#6591, Felix Yan).
344+
345+ * Sort build depends in pandoc.cabal alphabetically (#6691,
346+ Albert Krewinkel).
347+
348+ * Add .travis.yml for macos release candidate build (#6622).
349+ We need to build the release candidate on Travis rather
350+ than GitHub actions, because GH has macos 10.15, and
351+ binaries compiled on that OS will not work with 10.13.
352+ This build is only triggered on `rc/*` branches.
353+
354+ * Remove instructions for building pandoc-citeproc from CI and
355+ release binary build instructions. We will no longer distribute
356+ pandoc-citeproc.
357+
358+ * Fix math rendering in trypandoc (this broke after
359+ commit d8ad766d17603784b86fc5c2e1b22864125d04d1).
360+
361+ * Use latest versions of skylighting, commonmark (#6589),
362+ comonmark-extensions, commonmark-pandoc, texmath.
363+
364+ * Relax version bounds for hslua, hslua-module-text, bytestring.
365+
366+ * Use released pandoc-types 1.22. This changes the JSON
367+ encoding slightly for the new table types introduced
368+ in 1.21, so they're more consistent with the rest.
369+ Developers of libraries for pandoc filters will want
370+ to take note.
371+
372+ * Fix hlint suggestions, update hlint.yaml (#6680, Christian Despres).
373+
374+ * Code cleanup (#6678, Joseph C. Sible).
375+
376+ * Add haddocks to functions in Text.Pandoc.Writers.Shared (Albert
377+ Krewinkel).
378+
379+ * Remove duplicate `tshow` definition.
380+
381+ * Linux release candidate build: use ghc-musl container. This simplifies
382+ our build process (over using a customized alpine container).
383+
384+
3## pandoc 2.10.1 (2020-07-23)
385## pandoc 2.10.1 (2020-07-23)
4
386
5 * Add `commonmark_x` output format. This is `commonmark` with a number
387 * Add `commonmark_x` output format. This is `commonmark` with a number