summaryrefslogtreecommitdiff
path: root/changelog
diff options
context:
space:
mode:
Diffstat (limited to 'changelog')
-rw-r--r--changelog412
1 files changed, 411 insertions, 1 deletions
diff --git a/changelog b/changelog
index ee7227ff1..b3283d297 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,412 @@
+pando (1.8.0.1)
+
+ * Revised Interact.hs so that it works with the CPP macros
+ in the UTF8 module.
+
+ * Revised Setup.hs so that we don't call MakeManPage.hs unless
+ the man pages are out of date.
+
+pandoc (1.8)
+
+ [new features]
+
+ * Support for citations using Andrea Rossato's `citeproc-hs` 0.3.
+ You can now write, for example,
+
+ Water is wet [see @doe99, pp. 33-35; also @smith04, ch. 1].
+
+ and, when you process your document using `pandoc`, specifying
+ a citation style using `--csl` and a bibliography using `--bibliography`,
+ the citation will be replaced by an appropriately formatted
+ citation, and a list of works cited will be added to the end
+ of the document.
+
+ This means that you can switch effortlessly between different citation
+ and bibliography styles, including footnote, numerical, and author-date
+ formats. The bibliography can be in any of the following formats: MODS,
+ BibTeX, BibLaTeX, RIS, EndNote, EndNote XML, ISI, MEDLINE, Copac, or JSON.
+ See the README for further details.
+
+ Citations are supported in the markdown reader, using a special
+ syntax, and in the LaTeX reader, using natbib or biblatex syntax.
+ (Thanks to Nathan Gass for the natbib and biblatex support.)
+
+ * New `textile` reader and writer. Thanks to Paul Rivier for contributing
+ the `textile` reader, an almost complete implementation of the textile
+ syntax used by the ruby [RedCloth library](http://redcloth.org/textile).
+ Resolves Issue #51.
+
+ * New `org` writer, for Emacs Org-mode, contributed by Puneeth Chaganti.
+
+ * New `json` reader and writer, for reading and writing a JSON
+ representation of the native Pandoc AST. These are much faster
+ than the `native` reader and writer, and should be used for
+ serializing Pandoc to text. To convert between the JSON representation
+ 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.hs - removes links from document
+ import Text.Pandoc
+ main = interact $ jsonFilter $ bottomUp removeLink
+ where removeLink (Link xs _) = Emph xs
+ removeLink x = x
+
+ To use this to remove links while translating markdown to LaTeX:
+
+ pandoc -t json | runghc removelinks.hs | pandoc -f json -t latex
+
+ * Attributes are now allowed in inline `Code` elements, for example:
+
+ In this code, `ulist ! [theclass "special"] << elts`{.haskell} is...
+
+ The attribute syntax is the same as for delimited code blocks.
+ `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.
+
+ * New `RawBlock` and `RawInline` elements (replacing `RawHtml`,
+ `HtmlInline`, and `TeX`) provide lots of flexibility in writing
+ scripts to transform Pandoc documents. Scripts can now change
+ how each element is rendered in each output format.
+
+ * You can now define LaTeX macros in markdown documents, and pandoc
+ will apply them to TeX math. For example,
+
+ \newcommand{\plus}[2]{#1 + #2}
+ $\plus{3}{4}$
+
+ yields `3+4`. Since the macros are applied in the reader, they
+ will work in every output format, not just LaTeX.
+
+ * LaTeX macros can also be used in LaTeX documents (both in math
+ and in non-math contexts).
+
+ * A new `--mathjax` option has been added for displaying
+ math in HTML using MathJax. Resolves issue #259.
+
+ * Footnotes are now supported in the RST reader. (Note, however,
+ that unlike docutils, pandoc ignores the numeral or symbol used in
+ the note; footnotes are put in an auto-numbered ordered list.)
+ 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`.
+
+ * URLs in autolinks now have class "url" so they can be styled.
+
+ * Improved prettyprinting in most formats. Lines will be wrapped
+ more evenly and duplicate blank lines avoided.
+
+ * New `--columns` command-line option sets the column width for
+ line wrapping and relative width calculations for tables.
+
+ * Made `--smart` work in HTML, RST, and Textile readers, as well
+ as markdown.
+
+ * Added `--html5` option for HTML5 output.
+
+ * Added support for listings package in LaTeX reader
+ (Puneeth Chaganti).
+
+ * Added support for simple tables in the LaTeX reader.
+
+ * Added support for simple tables in the HTML reader.
+
+ * Significant performance improvements in many readers and writers.
+
+ [API and program changes]
+
+ * Moved `Text.Pandoc.Definition` from the `pandoc` package to a new
+ auxiliary package, `pandoc-types`. This will make it possible for other
+ 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`.
+
+ * Added `Text.Pandoc.Builder`, for building `Pandoc` structures.
+
+ * `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.
+
+ * `--biblio-file` has been replaced by `--bibliography`.
+ `--biblio-format` has been removed; pandoc now guesses the format
+ from the file extension (see README).
+
+ * pandoc will treat an argument as a URI only if it has an
+ `http(s)` scheme. Previously pandoc would treat some
+ Windows pathnames beginning with `C:/` as URIs.
+
+ * The `--sanitize-html` option and the `stateSanitize` field in
+ `ParserState` have been removed. Sanitization is better done in the
+ resulting HTML using `xss-sanitize`, which is based on pandoc's
+ sanitization, but improved.
+
+ * pandoc now adds a newline to the end of its output in fragment
+ mode (= not `--standalone`).
+
+ * Added support for `lang` in `html` tag in the HTML template,
+ so you can do `pandoc -s -V lang=es`, for example.
+
+ * `highlightHtml` in `Text.Pandoc.Highlighting` now takes
+ a boolean argument that selects between "inline" and
+ "block" HTML.
+
+ * `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`, `writerChapters`, and `writerHtml5` to
+ `WriterOptions`.
+ + Added `normalize`.
+ + Removed unneeded prettyprinting functions:
+ `wrapped`, `wrapIfNeeded`, `wrappedTeX`, `wrapTeXIfNeeded`, `hang'`,
+ `BlockWrapper`, `wrappedBlocksToDoc`.
+ + Made `splitBy` take a test instead of an element.
+ + Added `findDataFile`, refactored `readDataFile`.
+ + Added `stringify`. Rewrote `inlineListToIdentifier` using `stringify`.
+ + Fixed `inlineListToIdentifier` to treat '\160' as ' '.
+
+ * `Text.Pandoc.Readers.HTML`:
+
+ + Removed `rawHtmlBlock`, `anyHtmlBlockTag`, `anyHtmlInlineTag`,
+ `anyHtmlTag`, `anyHtmlEndTag`, `htmlEndTag`, `extractTagType`,
+ `htmlBlockElement`, `htmlComment`
+ + Added `htmlTag`, `htmlInBalanced`, `isInlineTag`, `isBlockTag`,
+ `isTextTag`
+
+ * Moved `smartPunctuation` from `Text.Pandoc.Readers.Markdown`
+ to `Text.Pandoc.Readers.Parsing`, and parameterized it with
+ an inline parser.
+
+ * Ellipses are no longer allowed to contain spaces.
+ Previously we allowed '. . .', ' . . . ', etc. This caused
+ too many complications, and removed author's flexibility in
+ combining ellipses with spaces and periods.
+
+ * Allow linebreaks in URLs (treat as spaces). Also, a string of
+ consecutive spaces or tabs is now parsed as a single space. If you have
+ multiple spaces in your URL, use `%20%20`.
+
+ * `Text.Pandoc.Parsing`:
+
+ + Removed `refsMatch`.
+ + Hid `Key` constructor.
+ + Removed custom `Ord` and `Eq` instances for `Key`.
+ + Added `toKey` and `fromKey` to convert between `Key` and `[Inline]`.
+ + Generalized type on `readWith`.
+
+ * Small change in calculation of relative widths of table columns.
+ If the size of the header > the specified column width, use
+ the header size as 100% for purposes of calculating
+ relative widths of columns.
+
+ * Markdown writer now uses some pandoc-specific features when `--strict`
+ is not specified: `\` newline is used for a hard linebreak instead of
+ two spaces then a newline. And delimited code blocks are used when
+ there are attributes.
+
+ * HTML writer: improved gladTeX output by setting ENV appropriately
+ for display or inline math (Jonathan Daugherty).
+
+ * LaTeX writer: Use `\paragraph`, `\subparagraph` for level 4,5 headers.
+
+ * LaTeX reader:
+
+ + `\label{foo}` and `\ref{foo}` now become `{foo}` instead of `(foo)`.
+ + `\index{}` commands are skipped.
+
+ * Added `fontsize` variable to default LaTeX template.
+ 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
+ (Issues #277, 255). And it handles namespaces in tags
+ (Issue #274).
+
+ * 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 rewriting parsers.
+
+ * Simplified Text.Pandoc.CharacterReferences by using
+ entity lookup functions from TagSoup.
+
+ * `Text.Pandoc.UTF8` now uses the unicode-aware IO functions
+ from `System.IO` if base >= 4.2. This gives support for
+ windows line endings on windows.
+
+ * Remove duplications in documentation by generating the
+ pandoc man page from README, using `MakeManPage.hs`.
+
+ * 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
+ all the options needed to load pandoc modules (including
+ specific package dependencies, which it gets by parsing
+ dist/setup-config).
+
+ * Added `Benchmark.hs`, testing all readers + writers using criterion.
+
+ * 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.
+
+ * Handle curly quotes better in `--smart` mode. Previously, curly quotes
+ were just parsed literally, leading to problems in some output formats.
+ Now they are parsed as `Quoted` inlines, if `--smart` is specified.
+ Resolves Issue #270.
+
+ * Text.Pandoc.Parsing: Fixed bug in grid table parser.
+ Spaces at end of line were not being stripped properly,
+ resulting in unintended LineBreaks.
+
+ * Markdown reader:
+
+ + Allow HTML comments as inline elements in markdown.
+ So, `aaa <!-- comment --> bbb` can be a single paragraph.
+ + Fixed superscripts with links: `^[link](/foo)^` gets
+ recognized as a superscripted link, not an inline note followed by
+ garbage.
+ + Fixed regression, making markdown reference keys case-insensitive again.
+ Resolves Issue #272.
+ + Properly handle abbreviations (like `Mr.`) at the end of a line.
+ + Better handling of intraword underscores, avoiding exponential
+ slowdowns in some cases. Resolves Issue #182.
+ + Fixed bug in alignments in tables with blank rows in the header.
+
+ * 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.
+ Previously you'd get unexpected behavior on a document that
+ contained `\begin{document}` in, say, a verbatim block.
+ + Allow spaces between `\begin` or `\end` and `{`.
+ + Support `\L` and `\l`.
+ + Skip comments inside paragraphs.
+
+ * LaTeX writer:
+
+ + Escape strings in `\href{..}`.
+ + In nonsimple tables, put cells in `\parbox`.
+
+ * OpenDocument writer: don't print raw TeX.
+
+ * 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)
[ John MacFarlane ]
@@ -408,7 +817,8 @@ pandoc (1.5)
+ Removed stLink, link template variable. Reason: we now always
include hyperref in the template.
- * Latex template:
+ * LaTeX template:
+
+ Only show \author if there are some.
+ Always include hyperref package. It is used not just for links but
for toc, section heading bookmarks, footnotes, etc. Also added