@@ -0,0 +1,248 @@
1+I'm pleased to announce the release of pandoc 1.7.
3+As usual, a source tarball and Windows installer are available
4+at <http://code.google.com/p/pandoc/downloads/list>. You can
5+also use 'cabal install' to get the latest version from HackageDB:
10+Thanks to everyone who contributed by filing bug reports or contributing
11+patches, and especially to Andrea Rossato, Nathan Gass, Paul Rivier, and
12+Puneeth Chaganti for their major contributions to this version.
17+ * New `textile` reader and writer. Thanks to Paul Rivier for contributing
18+ the `textile` reader, an almost complete implementation of the textile
19+ syntax used by the ruby [RedCloth library](http://redcloth.org/textile).
22+ * New `org` writer, for Emacs Org-mode, contributed by Puneeth Chaganti.
24+ * New `json` reader and writer, for reading and writing a JSON
25+ representation of the native Pandoc AST. These are much faster
26+ than the `native` reader and writer, and should be used for
27+ serializing Pandoc to text. To convert between the JSON representation
28+ and native Pandoc, use `encodeJSON` and `decodeJSON` from
31+ * Support for citations using Andrea Rossato's `citeproc-hs` 0.3.
32+ You can now write, for example,
34+ Water is wet [see @doe99, pp. 33-35; also @smith04, ch. 1].
36+ and, when you process your document using `pandoc`, specifying
37+ a citation style using `--csl` and a bibliography using `--bibliography`,
38+ the citation will be replaced by an appropriately formatted
39+ citation, and a list of works cited will be added to the end
42+ This means that you can switch effortlessly between different citation
43+ and bibliography styles, including footnote, numerical, and author-date
44+ formats. The bibliography can be in any of the following formats: MODS,
45+ BibTeX, BibLaTeX, RIS, EndNote, EndNote XML, ISI, MEDLINE, Copac, or JSON.
46+ See the README for further details.
48+ Citations are supported in the markdown reader, using a special
49+ syntax, and in the LaTeX reader, using natbib or biblatex syntax.
50+ (Thanks to Nathan Gass for the natbib and biblatex support.)
52+ * A new `--mathjax` option has been added for displaying
53+ math in HTML using MathJax. Resolves issue #259.
55+ * You can now define LaTeX macros in markdown documents, and pandoc
56+ will apply them to TeX math. For example,
58+ \newcommand{\plus}[2]{#1 + #2}
61+ yields `3+4`. Since the macros are applied in the reader, they
62+ will work in every output format, not just LaTeX.
64+ * Footnotes are now supported in the RST reader. (Note, however,
65+ that pandoc ignores the numeral or symbol used in the note;
66+ footnotes are put in an auto-numbered ordered list.)
69+ * `markdown2pdf` now supports `--data-dir`.
71+ * Improved prettyprinting in most formats. Lines will be wrapped
72+ more evenly and duplicate blank lines avoided.
74+ * New `--columns` command-line option sets the column width for
75+ line wrapping and relative width calculations for tables.
77+ * Made `--smart` work in HTML, RST, and Textile readers, as well
80+ * Added support for listings package in LaTeX reader
83+ * Significant performance improvements in many readers and writers.
85+API and program changes
86+-----------------------
88+ * Moved `Text.Pandoc.Definition` from the `pandoc` package to a new
89+ auxiliary package, `pandoc-types`. This will make it possible for other
90+ programs to supply output in Pandoc format, without depending on the whole
93+ * Moved generic functions to `Text.Pandoc.Generic`. Deprecated
94+ `processWith`, replacing it with two functions, `bottomUp` and `topDown`.
95+ Removed previously deprecated functions `processPandoc` and `queryPandoc`.
97+ * Added `Text.Pandoc.Builder`, for building `Pandoc` structures.
99+ * `Text.Pandoc` now exports association lists `readers` and `writers`.
101+ * Removed deprecated `-C/--custom-header` option.
102+ Use `--template` instead.
104+ * `--biblio-file` has been replaced by `--bibliography`.
105+ `--biblio-format` has been removed; pandoc now guesses the format
106+ from the file extension (see README).
108+ * pandoc will treat an argument as a URI only if it has an
109+ `http(s)` scheme. Previously pandoc would treat some
110+ Windows pathnames beginning with `C:/` as URIs.
112+ * The `--sanitize-html` option and the `stateSanitize` field in
113+ `ParserState` have been removed. Sanitization is better done in the
114+ resulting HTML using `xss-sanitize`, which is based on pandoc's
115+ sanitization, but improved.
117+ * Added `Text.Pandoc.Pretty`. This is better suited for pandoc than the
118+ `pretty` package. Changed all writers that used
119+ `Text.PrettyPrint.HughesPJ` to use `Text.Pandoc.Pretty` instead.
121+ * Removed `Text.Pandoc.Blocks`. `Text.Pandoc.Pretty` allows you to define
122+ blocks and concatenate them, so a separate module is no longer needed.
124+ * `Text.Pandoc.Shared`:
126+ + Added `writerColumns` to `WriterOptions`.
127+ + Added `normalize`.
128+ + Removed unneeded prettyprinting functions:
129+ `wrapped`, `wrapIfNeeded`, `wrappedTeX`, `wrapTeXIfNeeded`, `hang'`,
130+ `BlockWrapper`, `wrappedBlocksToDoc`.
131+ + Made `splitBy` take a test instead of an element.
132+ + Added `findDataFile`, refactored `readDataFile`.
133+ + Added `stringify`. Rewrote `inlineListToIdentifier` using `stringify`.
134+ + Fixed `inlineListToIdentifier` to treat '\160' as ' '.
136+ * `Text.Pandoc.Readers.HTML`:
138+ + Removed `rawHtmlBlock`, `anyHtmlBlockTag`, `anyHtmlInlineTag`,
139+ `anyHtmlTag`, `anyHtmlEndTag`, `htmlEndTag`, `extractTagType`,
140+ `htmlBlockElement`, `htmlComment`
141+ + Added `htmlTag`, `htmlInBalanced`, `isInlineTag`, `isBlockTag`,
144+ * Moved `smartPunctuation` from `Text.Pandoc.Readers.Markdown`
145+ to `Text.Pandoc.Readers.Parsing`, and parameterized it with
148+ * Ellipses are no longer allowed to contain spaces.
149+ Previously we allowed '. . .', ' . . . ', etc. This caused
150+ too many complications, and removed author's flexibility in
151+ combining ellipses with spaces and periods.
153+ * Allow linebreaks in URLs (treat as spaces). Also, a string of
154+ consecutive spaces or tabs is now parsed as a single space. If you have
155+ multiple spaces in your URL, use `%20%20`.
157+ * `Text.Pandoc.Parsing`:
159+ + Removed `refsMatch`.
160+ + Hid `Key` constructor.
161+ + Removed custom `Ord` and `Eq` instances for `Key`.
162+ + Added `toKey` and `fromKey` to convert between `Key` and `[Inline]`.
163+ + Generalized type on `readWith`.
165+ * Small change in calculation of relative widths of table columns.
166+ If the size of the header > the specified column width, use
167+ the header size as 100% for purposes of calculating
168+ relative widths of columns.
170+ * Markdown writer now uses some pandoc-specific features when `--strict`
171+ is not specified: \ newline is used for a hard linebreak instead of
172+ two spaces then a newline. And delimited code blocks are used when
173+ there are attributes.
175+ * HTML writer: improved gladTeX output by setting ENV appropriately
176+ for display or inline math (Jonathan Daugherty).
178+ * LaTeX writer: Use `\paragraph`, `\subparagraph` for level 4,5 headers.
180+ * Added `fontsize` variable to default LaTeX template.
181+ This makes it easy to set the font size using `markdown2pdf`:
182+ `markdown2pdf -V fontsize=12pt input.txt`.
184+ * The `COLUMNS` environment variable no longer has any effect.
186+Under-the-hood improvements
187+---------------------------
189+ * Completely rewrote HTML reader using tagsoup as a lexer. The
190+ new reader is faster and more accurate.
192+ * Replaced `escapeStringAsXML` with a faster version.
194+ * Remove duplications in documentation by generating the
195+ pandoc man page from README, using `MakeManPage.hs`.
197+ * Improvements to testing framework: Removed old `tests/RunTests.hs`.
198+ `cabal test` now runs `test-pandoc`, which is built from
199+ `src/test-pandoc.hs` when the `tests` Cabal flag is set.
200+ This allows the testing framework to have its own dependencies.
202+ * Added `Interact.hs` to make it easier to use ghci while developing.
203+ `Interact.hs` loads `ghci` from the `src` directory, specifying
204+ all the options needed to load pandoc modules (including
205+ specific package dependencies, which it gets by parsing
208+ * Added `Benchmark.hs`, testing all readers + writers using criterion.
210+ * Added `stats.sh`, to make it easier to collect and archive
211+ benchmark and lines-of-code stats.
216+ * Filenames are encoded as UTF8. Resolves Issue #252.
218+ * Handle curly quotes better in `--smart` mode. Previously, curly quotes
219+ were just parsed literally, leading to problems in some output formats.
220+ Now they are parsed as `Quoted` inlines, if `--smart` is specified.
221+ Resolves Issue #270.
225+ + Allow HTML comments as inline elements in markdown.
226+ So, `aaa <!-- comment --> bbb` can be a single paragraph.
227+ + Fixed superscripts with links: `^[link](/foo)^` gets
228+ recognized as a superscripted link, not an inline note followed by
230+ + Fixed regression, making markdown reference keys case-insensitive again.
231+ Resolves Issue #272.
232+ + Properly handle abbreviations (like `Mr.`) at the end of a line.
233+ + Better handling of intraword underscores, avoiding exponential
234+ slowdowns in some cases. Resolves Issue #182.
236+ * LaTeX reader: Improved parsing of preamble.
237+ Previously you'd get unexpected behavior on a document that
238+ contained `\begin{document}` in, say, a verbatim block.
240+ * OpenDocument writer: don't print raw TeX.
242+ * Markdown writer: Fixed bug in `Image`. URI was getting unescaped twice!
244+ * LaTeX and ConTeXt: Escape `[` and `]` as `{[}` and `{]}`.
245+ This avoids unwanted interpretation as an optional argument.
247+ * `:` now allowed in HTML tags. Resolves Issue #274.