@@ -1,4 +1,4 @@
1−pandoc (1.7)
1+pandoc (1.8)
22
33 [new features]
44
@@ -37,6 +37,30 @@ pandoc (1.7)
3737 and native Pandoc, use `encodeJSON` and `decodeJSON` from
3838 `Text.JSON.Generic`.
3939
40+ * A new `jsonFilter` function in `Text.Pandoc` makes it easy
41+ to write scripts that transform a JSON-encoded pandoc document.
42+ For example:
43+
44+ > -- removelinks.lhs - removes links from document
45+ > import Text.Pandoc
46+ > main = interact $ jsonFilter $ bottomUp removeLink
47+ > where removeLink (Link xs _) = Emph xs
48+ > removeLink x = x
49+
50+ * Attributes are now allowed in inline `Code` elements.
51+ Thus, `` `x >>= y >> z`{.haskell} ``. The `Code` inline
52+ has an extra argument place for attributes, just like
53+ `CodeBlock`. Inline code will be highlighted in HTML output,
54+ if pandoc is compiled with highlighting support.
55+ Resolves Issue #119.
56+
57+ * URLs in autolinks now use class "url" so they can be styled.
58+
59+ * New `RawBlock` and `RawInline` elements (replacing `RawHtml`,
60+ `HtmlInline`, and `TeX`) provide lots of flexibility in writing
61+ scripts to transform Pandoc documents. One can now control
62+ exactly how each element is rendered in each output format.
63+
4064 * A new `--mathjax` option has been added for displaying
4165 math in HTML using MathJax. Resolves issue #259.
4266
@@ -55,7 +79,25 @@ pandoc (1.7)
5579 * Footnotes are now supported in the RST reader. (Note, however,
5680 that pandoc ignores the numeral or symbol used in the note;
5781 footnotes are put in an auto-numbered ordered list.)
58− Resolves issue #258.
82+ Resolves Issue #258.
83+
84+ * A new `--normalize` option causes pandoc to normalize the AST
85+ before writing the document. This means that, for example,
86+ `*hi**there*` will be rendered as `<em>hithere</em>`
87+ instead of `<em>hi</em><em>there</em>`. This is not the default,
88+ because there is a significant performance penalty.
89+
90+ * A new `--chapters` command-line option causes headers
91+ in DocBook, LaTeX, and ConTeXt to start with "chapter" (level one).
92+ Resolves Issue #265.
93+
94+ * In DocBook output, `<chapter>` is now used for top-level
95+ headers if the template contains `<book>`. Resolves Issue #265.
96+
97+ * A new `--listings` option in `pandoc` and `markdown2pdf` causes
98+ the LaTeX writer to use the listings package for code blocks.
99+ (Thanks to Josef Svennigsson for the pandoc patch, and Etienne
100+ Millon for the markdown2pdf patch.)
59101
60102 * `markdown2pdf` now supports `--data-dir`.
61103
@@ -86,6 +128,11 @@ pandoc (1.7)
86128 programs to supply output in Pandoc format, without depending on the whole
87129 pandoc package.
88130
131+ * Added `Attr` field to `Code`.
132+
133+ * Removed `RawHtml`, `HtmlInline`, and `TeX` elements; added generic
134+ `RawBlock` and `RawInline`.
135+
89136 * Moved generic functions to `Text.Pandoc.Generic`. Deprecated
90137 `processWith`, replacing it with two functions, `bottomUp` and `topDown`.
91138 Removed previously deprecated functions `processPandoc` and `queryPandoc`.
@@ -94,6 +141,12 @@ pandoc (1.7)
94141
95142 * `Text.Pandoc` now exports association lists `readers` and `writers`.
96143
144+ * Added `Text.Pandoc.Readers.Native`, which exports `readNative`.
145+ `readNative` can now read full pandoc documents, block lists, blocks,
146+ inline lists, or inlines. It will interpret `Str "hi"`
147+ as if it were `Pandoc (Meta [] [] []) [Plain [Str "hi"]]`.
148+ This should make testing easier.
149+
97150 * Removed deprecated `-C/--custom-header` option.
98151 Use `--template` instead.
99152
@@ -116,16 +169,26 @@ pandoc (1.7)
116169 * Added support for `lang` in `html` tag in the HTML template,
117170 so you can do `pandoc -s -V lang=es`, for example.
118171
172+ * `Text.Pandoc.Writers.RTF` now exports `rtfEmbedImage`.
173+ Images are embedded in RTF output when possible (png, jpeg).
174+ Resolves Issue #275.
175+
119176 * Added `Text.Pandoc.Pretty`. This is better suited for pandoc than the
120177 `pretty` package. Changed all writers that used
121178 `Text.PrettyPrint.HughesPJ` to use `Text.Pandoc.Pretty` instead.
122179
180+ * Rewrote `writeNative` using the new prettyprinting module. It is
181+ now much faster. The output has been made more consistent and compressed.
182+ `writeNative` is also now sensitive to writerStandalone`, and will simply
183+ `print a block list if writerStandalone` is False.
184+
123185 * Removed `Text.Pandoc.Blocks`. `Text.Pandoc.Pretty` allows you to define
124186 blocks and concatenate them, so a separate module is no longer needed.
125187
126188 * `Text.Pandoc.Shared`:
127189
128− + Added `writerColumns` and `writerHtml5` to `WriterOptions`.
190+ + Added `writerColumns`, `writerChapters`, and `writerHtml5` to
191+ `WriterOptions`.
129192 + Added `normalize`.
130193 + Removed unneeded prettyprinting functions:
131194 `wrapped`, `wrapIfNeeded`, `wrappedTeX`, `wrapTeXIfNeeded`, `hang'`,
@@ -188,10 +251,18 @@ pandoc (1.7)
188251 This makes it easy to set the font size using `markdown2pdf`:
189252 `markdown2pdf -V fontsize=12pt input.txt`.
190253
254+ * Fixed problem with strikeout in LaTeX headers when using
255+ hyperref, by adding a command to the default LaTeX template
256+ that disables `\sout` inside pdf strings. Thanks to Joost Kremers
257+ for the fix.
258+
191259 * The `COLUMNS` environment variable no longer has any effect.
192260
193261 [Under-the-hood improvements]
194262
263+ * Pandoc now compiles with GHC 7. (This alone leads to a
264+ significant performance improvement, 15-20%.)
265+
195266 * Completely rewrote HTML reader using tagsoup as a lexer. The
196267 new reader is faster and more accurate. Unlike the
197268 old reader, it does not get bogged down on some input
@@ -200,16 +271,34 @@ pandoc (1.7)
200271
201272 * Replaced `escapeStringAsXML` with a faster version.
202273
274+ * Rewrote `spaceChar` and some other parsers in Text.Pandoc.Parsing
275+ for a significant performance boost.
276+
277+ * Improved performance of all readers by replacing some uses
278+ of `oneOf` or `noneOf` with more efficient parsers, and by
279+ rearranging parsers in lists (e.g. moving the RST whitespace
280+ parser to the top of the list of inline parsers).
281+
203282 * Simplified Text.Pandoc.CharacterReferences by using
204283 entity lookup functions from TagSoup.
205284
206285 * Remove duplications in documentation by generating the
207286 pandoc man page from README, using `MakeManPage.hs`.
208287
209− * Improvements to testing framework: Removed old `tests/RunTests.hs`.
210− `cabal test` now runs `test-pandoc`, which is built from
211− `src/test-pandoc.hs` when the `tests` Cabal flag is set.
212− This allows the testing framework to have its own dependencies.
288+ * README now includes a full description of markdown syntax,
289+ including non-pandoc-specific parts. A new `pandoc_markdown`
290+ man page is extracted from this, so you can look up markdown
291+ syntax by doing `man pandoc_markdown`.
292+
293+ * Completely revised test framework (with help from Nathan Gass).
294+ The new test framework is built when the `tests` Cabal flag is set. It
295+ includes the old integration tests, but also some new unit and quickcheck
296+ tests. Test output has been much improved, and you can now specify a glob
297+ pattern after `cabal test` to indicate which tests should be run;
298+ for example `cabal test citations` will run all the citation tests.
299+
300+ * Added a shell script, `stripansi.sh`, for filtering ANSI control
301+ sequences from test output: `cabal test | ./stripansi.sh > test.log`.
213302
214303 * Added `Interact.hs` to make it easier to use ghci while developing.
215304 `Interact.hs` loads `ghci` from the `src` directory, specifying
@@ -222,6 +311,12 @@ pandoc (1.7)
222311 * Added `stats.sh`, to make it easier to collect and archive
223312 benchmark and lines-of-code stats.
224313
314+ * Added upper bounds to all cabal dependencies.
315+
316+ * Include man pages in extra-source-files. This allows users to
317+ install pandoc from the tarball without needing to build the man
318+ pages.
319+
225320 [Bug fixes]
226321
227322 * Filenames are encoded as UTF8. Resolves Issue #252.
@@ -248,6 +343,18 @@ pandoc (1.7)
248343 + Better handling of intraword underscores, avoiding exponential
249344 slowdowns in some cases. Resolves Issue #182.
250345
346+ * RST reader:
347+
348+ + Field lists now allow spaces in field names, and
349+ block content in field values. (Thanks to Lachlan Musicman
350+ for pointing out the bug.)
351+ + Definition list items are now always `Para` instead of
352+ `Plain`, matching behavior of `rst2xml.py`.
353+ + In image blocks, the description is parsed properly and
354+ used for the alt attribute, not also the title.
355+ + Skip blank lines at beginning of file. Resolves
356+ Debian #611328.
357+
251358 * LaTeX reader:
252359
253360 + Improved parsing of preamble.
@@ -263,11 +370,20 @@ pandoc (1.7)
263370
264371 * OpenDocument writer: don't print raw TeX.
265372
266− * Markdown writer: Fixed bug in `Image`. URI was getting unescaped twice!
373+ * Markdown writer:
374+
375+ + Fixed bug in `Image`. URI was getting unescaped twice!
376+ + Avoid printing extra blank lines at the end if there are
377+ no notes or references.
267378
268379 * LaTeX and ConTeXt: Escape `[` and `]` as `{[}` and `{]}`.
269380 This avoids unwanted interpretation as an optional argument.
270381
382+ * ConTeXt writer: Fixed problem with inline code. Previously
383+ `}` would be rendered `\type{}}`. Now we check the string for '}' and '{'.
384+ If it contains neither, use \type{}; otherwise use \mono{} with an escaped
385+ version of the string.
386+
271387 * `:` now allowed in HTML tags. Resolves Issue #274.
272388
273389pandoc (1.6)