aboutsummaryrefslogtreecommitdiff
path: root/changelog
diff options
context:
space:
mode:
Diffstat (limited to 'changelog')
-rw-r--r--changelog132
1 files changed, 124 insertions, 8 deletions
diff --git a/changelog b/changelog
index 88f086127..53d9e0df5 100644
--- a/changelog
+++ b/changelog
@@ -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)