diff options
Diffstat (limited to 'changelog')
-rw-r--r-- | changelog | 132 |
1 files changed, 124 insertions, 8 deletions
@@ -1,4 +1,4 @@ -pandoc (1.7) +pandoc (1.8) [new features] @@ -37,6 +37,30 @@ pandoc (1.7) and native Pandoc, use `encodeJSON` and `decodeJSON` from `Text.JSON.Generic`. + * A new `jsonFilter` function in `Text.Pandoc` makes it easy + to write scripts that transform a JSON-encoded pandoc document. + For example: + + > -- removelinks.lhs - removes links from document + > import Text.Pandoc + > main = interact $ jsonFilter $ bottomUp removeLink + > where removeLink (Link xs _) = Emph xs + > removeLink x = x + + * Attributes are now allowed in inline `Code` elements. + Thus, `` `x >>= y >> z`{.haskell} ``. The `Code` inline + has an extra argument place for attributes, just like + `CodeBlock`. Inline code will be highlighted in HTML output, + if pandoc is compiled with highlighting support. + Resolves Issue #119. + + * URLs in autolinks now use class "url" so they can be styled. + + * New `RawBlock` and `RawInline` elements (replacing `RawHtml`, + `HtmlInline`, and `TeX`) provide lots of flexibility in writing + scripts to transform Pandoc documents. One can now control + exactly how each element is rendered in each output format. + * A new `--mathjax` option has been added for displaying math in HTML using MathJax. Resolves issue #259. @@ -55,7 +79,25 @@ pandoc (1.7) * Footnotes are now supported in the RST reader. (Note, however, that pandoc ignores the numeral or symbol used in the note; footnotes are put in an auto-numbered ordered list.) - Resolves issue #258. + Resolves Issue #258. + + * A new `--normalize` option causes pandoc to normalize the AST + before writing the document. This means that, for example, + `*hi**there*` will be rendered as `<em>hithere</em>` + instead of `<em>hi</em><em>there</em>`. This is not the default, + because there is a significant performance penalty. + + * A new `--chapters` command-line option causes headers + in DocBook, LaTeX, and ConTeXt to start with "chapter" (level one). + Resolves Issue #265. + + * In DocBook output, `<chapter>` is now used for top-level + headers if the template contains `<book>`. Resolves Issue #265. + + * A new `--listings` option in `pandoc` and `markdown2pdf` causes + the LaTeX writer to use the listings package for code blocks. + (Thanks to Josef Svennigsson for the pandoc patch, and Etienne + Millon for the markdown2pdf patch.) * `markdown2pdf` now supports `--data-dir`. @@ -86,6 +128,11 @@ pandoc (1.7) programs to supply output in Pandoc format, without depending on the whole pandoc package. + * Added `Attr` field to `Code`. + + * Removed `RawHtml`, `HtmlInline`, and `TeX` elements; added generic + `RawBlock` and `RawInline`. + * Moved generic functions to `Text.Pandoc.Generic`. Deprecated `processWith`, replacing it with two functions, `bottomUp` and `topDown`. Removed previously deprecated functions `processPandoc` and `queryPandoc`. @@ -94,6 +141,12 @@ pandoc (1.7) * `Text.Pandoc` now exports association lists `readers` and `writers`. + * Added `Text.Pandoc.Readers.Native`, which exports `readNative`. + `readNative` can now read full pandoc documents, block lists, blocks, + inline lists, or inlines. It will interpret `Str "hi"` + as if it were `Pandoc (Meta [] [] []) [Plain [Str "hi"]]`. + This should make testing easier. + * Removed deprecated `-C/--custom-header` option. Use `--template` instead. @@ -116,16 +169,26 @@ pandoc (1.7) * Added support for `lang` in `html` tag in the HTML template, so you can do `pandoc -s -V lang=es`, for example. + * `Text.Pandoc.Writers.RTF` now exports `rtfEmbedImage`. + Images are embedded in RTF output when possible (png, jpeg). + Resolves Issue #275. + * Added `Text.Pandoc.Pretty`. This is better suited for pandoc than the `pretty` package. Changed all writers that used `Text.PrettyPrint.HughesPJ` to use `Text.Pandoc.Pretty` instead. + * Rewrote `writeNative` using the new prettyprinting module. It is + now much faster. The output has been made more consistent and compressed. + `writeNative` is also now sensitive to writerStandalone`, and will simply + `print a block list if writerStandalone` is False. + * Removed `Text.Pandoc.Blocks`. `Text.Pandoc.Pretty` allows you to define blocks and concatenate them, so a separate module is no longer needed. * `Text.Pandoc.Shared`: - + Added `writerColumns` and `writerHtml5` to `WriterOptions`. + + Added `writerColumns`, `writerChapters`, and `writerHtml5` to + `WriterOptions`. + Added `normalize`. + Removed unneeded prettyprinting functions: `wrapped`, `wrapIfNeeded`, `wrappedTeX`, `wrapTeXIfNeeded`, `hang'`, @@ -188,10 +251,18 @@ pandoc (1.7) This makes it easy to set the font size using `markdown2pdf`: `markdown2pdf -V fontsize=12pt input.txt`. + * Fixed problem with strikeout in LaTeX headers when using + hyperref, by adding a command to the default LaTeX template + that disables `\sout` inside pdf strings. Thanks to Joost Kremers + for the fix. + * The `COLUMNS` environment variable no longer has any effect. [Under-the-hood improvements] + * Pandoc now compiles with GHC 7. (This alone leads to a + significant performance improvement, 15-20%.) + * Completely rewrote HTML reader using tagsoup as a lexer. The new reader is faster and more accurate. Unlike the old reader, it does not get bogged down on some input @@ -200,16 +271,34 @@ pandoc (1.7) * Replaced `escapeStringAsXML` with a faster version. + * Rewrote `spaceChar` and some other parsers in Text.Pandoc.Parsing + for a significant performance boost. + + * Improved performance of all readers by replacing some uses + of `oneOf` or `noneOf` with more efficient parsers, and by + rearranging parsers in lists (e.g. moving the RST whitespace + parser to the top of the list of inline parsers). + * Simplified Text.Pandoc.CharacterReferences by using entity lookup functions from TagSoup. * Remove duplications in documentation by generating the pandoc man page from README, using `MakeManPage.hs`. - * Improvements to testing framework: Removed old `tests/RunTests.hs`. - `cabal test` now runs `test-pandoc`, which is built from - `src/test-pandoc.hs` when the `tests` Cabal flag is set. - This allows the testing framework to have its own dependencies. + * README now includes a full description of markdown syntax, + including non-pandoc-specific parts. A new `pandoc_markdown` + man page is extracted from this, so you can look up markdown + syntax by doing `man pandoc_markdown`. + + * Completely revised test framework (with help from Nathan Gass). + The new test framework is built when the `tests` Cabal flag is set. It + includes the old integration tests, but also some new unit and quickcheck + tests. Test output has been much improved, and you can now specify a glob + pattern after `cabal test` to indicate which tests should be run; + for example `cabal test citations` will run all the citation tests. + + * Added a shell script, `stripansi.sh`, for filtering ANSI control + sequences from test output: `cabal test | ./stripansi.sh > test.log`. * Added `Interact.hs` to make it easier to use ghci while developing. `Interact.hs` loads `ghci` from the `src` directory, specifying @@ -222,6 +311,12 @@ pandoc (1.7) * Added `stats.sh`, to make it easier to collect and archive benchmark and lines-of-code stats. + * Added upper bounds to all cabal dependencies. + + * Include man pages in extra-source-files. This allows users to + install pandoc from the tarball without needing to build the man + pages. + [Bug fixes] * Filenames are encoded as UTF8. Resolves Issue #252. @@ -248,6 +343,18 @@ pandoc (1.7) + Better handling of intraword underscores, avoiding exponential slowdowns in some cases. Resolves Issue #182. + * RST reader: + + + Field lists now allow spaces in field names, and + block content in field values. (Thanks to Lachlan Musicman + for pointing out the bug.) + + Definition list items are now always `Para` instead of + `Plain`, matching behavior of `rst2xml.py`. + + In image blocks, the description is parsed properly and + used for the alt attribute, not also the title. + + Skip blank lines at beginning of file. Resolves + Debian #611328. + * LaTeX reader: + Improved parsing of preamble. @@ -263,11 +370,20 @@ pandoc (1.7) * OpenDocument writer: don't print raw TeX. - * Markdown writer: Fixed bug in `Image`. URI was getting unescaped twice! + * Markdown writer: + + + Fixed bug in `Image`. URI was getting unescaped twice! + + Avoid printing extra blank lines at the end if there are + no notes or references. * LaTeX and ConTeXt: Escape `[` and `]` as `{[}` and `{]}`. This avoids unwanted interpretation as an optional argument. + * ConTeXt writer: Fixed problem with inline code. Previously + `}` would be rendered `\type{}}`. Now we check the string for '}' and '{'. + If it contains neither, use \type{}; otherwise use \mono{} with an escaped + version of the string. + * `:` now allowed in HTML tags. Resolves Issue #274. pandoc (1.6) |