summaryrefslogtreecommitdiff
path: root/changelog
diff options
context:
space:
mode:
Diffstat (limited to 'changelog')
-rw-r--r--changelog1940
1 files changed, 1940 insertions, 0 deletions
diff --git a/changelog b/changelog
new file mode 100644
index 000000000..32df9cbe4
--- /dev/null
+++ b/changelog
@@ -0,0 +1,1940 @@
+pandoc (1.2.1)
+
+ [ John MacFarlane ]
+
+ * Fixed regression with --preserveTabs. Brought back optPreserveTabs.
+ The trick of setting tabStop to 0 to mean "preserve tabs" had a bad
+ side effect: strings of 0 spaces were interpreted as indentation.
+ So, with --preserve-tabs, unindented paragraphs were treated as
+ code. Resolves Issue #138.
+
+ * HTML writer: wrap sections in divs. Resolves Issue #70.
+
+ + hierarchicalize has been rationalized; it builds a hierarchical
+ representation of the document from the headers, and simultaneously
+ gives each section a unique identifier based on the heading title.
+ + Identifiers are now attached to the divs rather than
+ to the headers themselves.
+ + Table of content backlinks go to the beginning of the table, rather
+ than to the section reference that was clicked.
+ + Code for constructing identifiers has been moved to Text.Pandoc.Shared
+ from the HTML writer, since it is now consumed only by
+ hierarchicalize.
+ + In --strict mode, pandoc just prints bare headings, as before
+ (unless --toc has been specified).
+ + In s5 output, it does not wrap sections in divs, as that seems to
+ confuse the s5 javascript.
+
+ * Man writer: break lines at end of each sentence. groff expects this
+ and treats '.' and '?' differently when followed by line ending as
+ opposed to ordinary space. Also, don't escape periods. Instead, use
+ zero-width character \& to avoid unwanted interpretation of periods
+ at start of line. Resolves Issue #148.
+
+ * Markdown writer: Added '#' and '>' to list of characters to be
+ escaped in markdown output. Removed '<', as it is not an officially
+ escapable character. This partially resolves Issue #96.
+
+ * Make --smart the default for man output format. Otherwise we have
+ trouble dividing lists of endlines into sentences.
+
+ * DocBook writer: Use language attribute to indicate source language
+ in code blocks.
+
+ * RST reader:
+
+ + Allow # to continue list, even if the list was started with an
+ explicit marker. For example:
+
+ A. my list
+ #. continued
+
+ Resolves Issue #140.
+ + Allow continuation lines in line blocks. Also added test cases for
+ line blocks for RST reader. Resolves Issue #149.
+ + Allow explicit links with spaces in URL: `link <to this>`_
+
+ * Improved LaTeX reader's coverage of math modes. Remove displaymath*
+ (which is not in LaTeX) and recognize all the amsmath environments
+ that are alternatives to eqnarray, namely equation, equation*,
+ gather, gather*, gathered, multline, multline*, align, align*,
+ alignat, alignat*, aligned, alignedat, split. Resolves Issue #103.
+ Thanks to shreevatsa.public for the patch.
+
+ * Markdown reader:
+
+ + Allow -, _, :, . in markdown attribute names. These are legal in
+ XML attribute names.
+ + Use non-breaking spaces in abbreviations.
+ + Markdown reader: improved efficiency of abbreviation parsing.
+ Instead of a separate abbrev parser, we just check for
+ abbreviations each time we parse a string. This gives a huge
+ performance boost with -S. Resolves Issue #141.
+
+ * Improved efficiency of shared parsers: hexNum, htmlComment,
+ whitespace, indentSpaces.
+
+ * Export HTMLMathMethod in Text.Pandoc.
+
+ * Export languagesByExtension in Text.Pandoc.Highlighting.
+
+ * Added new Haskell version of markdown2pdf, due to
+ Paulo Tanimoto. This should be more portable than the old
+ shell script.
+
+ * Made 'pandoc -v' more explicit about compiler options.
+ Resolves Issue #139.
+
+ * pandoc.hs: Made --strict compatible with --standalone, --toc.
+
+ * Use Paths_pandoc to get version number, instead of hard-coding it
+ into Text/Pandoc.hs.
+
+pandoc (1.2)
+
+ [ John MacFarlane ]
+
+ * Added support for literate Haskell. lhs support is triggered by
+ '+lhs' suffixes in formats. For example, 'latex+lhs' is literate
+ Haskell LaTeX. '.lhs' files are treated by default as literate
+ markdown.
+
+ + Added stateLiterateHaskell to parser state.
+ + Added parser for lhsCodeBlock to Markdown, RST, LaTeX readers.
+ + Added parser for |inline lhs| to LaTeX reader.
+ + Added writerLiterateHaskell to WriterOptions.
+ + Added lhs support to Markdown, RST, LaTeX, HTML writers.
+ + Added definition of code environment to LaTeX header.
+ + Added tests (run only if highlighting support compiled in).
+ + Documented lhs features in man page and README.
+
+ * In Text.Pandoc.Definition, added processWith, processWithM,
+ and queryWith, and deprecated processPandoc and queryPandoc
+ for these more general functions.
+
+ * Fixed bug in mediawiki writer: improper closing tags in tables.
+ Thanks to Benct Philip Jonsson for reporting the bug.
+
+ * Added --email-obfuscation option.
+
+ + Added writer option for email obfuscation.
+ + Implemented email obfuscation options in HTML writer.
+ + Added option to option parser.
+ + Documented in README and pandoc man page.
+ + Resolves Issue #97.
+
+ * LaTeX writer: fixed bug with empty table cells.
+ Resolves Issue #107. Thanks to rodja.trappe for the patch.
+
+ * Fixed bug with header spacing in Markdown and RST writers.
+ A null header (Meta [] [] []) should not cause a blank line
+ at the beginning of output. But a blank line is needed between
+ a non-null header and the main text.
+
+ * Markdown reader: Relax spacing rules for $$ in display math. Now
+ space and newlines are allowed after the opening $$ and before the
+ closing $$. However, the display math cannot contain an entirely
+ blank line. Resolves Issue #105.
+
+ * Markdown reader: Gobble space after Plain blocks containing only
+ raw html inline. Otherwise following header blocks are not parsed
+ correctly, since the parser sees blank space before them. Resolves
+ Issue #124.
+
+ * Markdown reader: Allow " as well as '' to end a latex double-quote.
+
+ * Conditionally depend on syb and base >= 4 if ghc >= 6.10.
+ Resolves Issue #109.
+
+ * Fixed problems in RST and markdown output due to bug in pretty-1.0.1.0
+
+ + Added hang' function to Text.Pandoc.Shared; this will be used instead
+ of hang, which doesn't work properly in pretty-1.0.1.0. When pretty
+ is upgraded, we can go back to hang.
+ See http://article.gmane.org/gmane.comp.lang.haskell.general/16687
+ + Use hang' (and some different techniques) in RST and markdown writers.
+ Some output is now a bit different.
+
+ * Brought citeproc support up to date for citeproc-hs-0.2.
+ (Patch by Andrea Rossato.)
+
+ * Moved all haskell source to src subdirectory. Renamed Main.hs to
+ pandoc.hs.
+
+ * Rewrote hsmarkdown in Haskell for portability (src/hsmarkdown.hs).
+ For now, keeping the old shell script too.
+
+ * Added TemplateHaskell to Extensions for executable, removed
+ -threaded for library. Thanks to duncan.coutts for the bug report.
+ Resolves Issue #121.
+
+ * Moved some Extra-Source-Files to Data-Files.
+
+ * Moved tabFilter to Shared.
+
+ * In pandoc.hs, removed optPreserveTabs; instead, tabstop of 0 means
+ preserve tabs.
+
+ * Minor code cleanup based on hlint suggestions.
+
+pandoc (1.1)
+
+ [ John MacFarlane ]
+
+ * Main.hs:
+
+ + Changed date on copyright message in Main.hs.
+ + Have the '-v' option print syntax highlighting languages
+ separated by commas, and wrapped in lines, instead of in five
+ columns as before.
+
+ * Added --jsmath option. Resolves Issue #68.
+
+ + Added --jsmath option to Main.hs
+ + Added JsMath to HTMLMathMethod in Text.Pandoc.Shared.
+ + Handle math appropriately in HTML writer when JsMath selected.
+ + Documented the option in README and man page.
+
+ * Text.Pandoc.Shared: Changed compactify to use a better heuristic
+ for tight and loose lists. Final Para is changed to Plain if all
+ other list items *end* with a Plain block. Addresses Issue #99.
+
+ * HTML reader:
+
+ + Added colons to protocols in unsanitaryURI. Closes Issue #88.
+ + HTML reader: Don't interpret contents of <pre> blocks as markdown.
+ Added rawVerbatimBlock parser. Resolves Issue #94.
+
+ * Markdown reader:
+
+ + Allow URLs with spaces in them in links and references, but escape
+ them as "%20".
+ + Allow blank space at the end of horizontal rules.
+
+ * RST reader: Modified 'unknownDirective' parser to handle comment
+ blocks correctly, and added tests for comment blocks. Resolves Issue
+ #86. Closes Debian Bug #500662.
+
+ * HTML writer:
+
+ + Include classes on tr elements in HTML output:
+ "header", "odd", "even". This allows tables to be styled with
+ lines in alternating colors. Resolves Issue #91.
+ + Enclose all LaTeXMathML bits in <span class="LaTeX">.
+ This prevents parts of the document that are not math from being
+ interpreted as math by LaTeXMathML.js.
+
+ * OpenDocument and ODT writers: Added support for HorizontalRule elements,
+ which were formerly ignored. Resolves Issue #95.
+
+ * Text.Pandoc.Shared: Modified wrappedTeX to eliminate the line break
+ between a footnote and immediately following nonspace characters in
+ LaTeX and ConTeXt output. (This gets interpreted as a space, which
+ is not desired in cases like "text^[note]---".) Resolves Issue #93.
+
+ * Windows installer: Don't require admin privileges to run
+ installer. Modified pandoc-setup.iss, and changed modpath.iss to
+ modify HKCU path if user lacks admin privileges. Also fixed case
+ where oldpath is empty (previously this led to the new path
+ beginning with a semicolon).
+
+ * Updated INSTALL instructions for Arch packages and OS X install using
+ cabal-install.
+
+ * Removed the (now unneeded) debian directory.
+ Removed empty Codec and System directories.
+
+ * Moved odt-styles/ to data/. Removed unneeded variable in Makefile.
+
+ * Modified Setup.hs so that the "test" target returns an error status
+ when tests fail, and "build" returns a success status if
+ the build succeeds. Resolves Issue #100.
+
+ * Added BUGS to files in tarball.
+
+
+pandoc (1.0.0.1)
+
+ [ John MacFarlane ]
+
+ * Removed spurious reference to pdf output format from pandoc(1) man page.
+
+pandoc (1.0)
+
+ [ Andrea Rossato ]
+
+ * Added new OpenDocument writer.
+
+ * Added support for SmallCaps inline element.
+
+ * Added support for integrating pandoc with citeproc-hs.
+
+ + Added Cite element to definition and writers.
+ + Added Text.Pandoc.Biblio module
+ + Note: This support is included only if the 'citeproc'
+ Cabal configuration flag is set.
+
+ * Made Pandoc data structure an instance of Typeable.
+ Added new processPandoc and queryPandoc functions, to query
+ or transform matching elements in a Pandoc structure.
+
+ [ Peter Wang ]
+
+ * Added new Texinfo writer.
+
+ [ John MacFarlane ]
+
+ * Changes to Texinfo writer:
+
+ + No space between paragraph and following @verbatim (provides more
+ pleasing appearance in text formats)
+ + Blank line consistently after list environments.
+ + Removed deVerb.
+ + Use @code instead of @verb for inline code (this solves the character
+ escaping problem for texi2dvi and texi2pdf).
+ + Added news of Texinfo writer to README.
+ + Added Texinfo to list of formats in man page, and removed extra 'groff'.
+ + Added texi & texinfo extensions to Main.hs, and fixed bug in determining
+ default output extension.
+ + Modified disallowedInNode in Texinfo writer to correct list of disallowed characters.
+
+ * Added tests for OpenDocument writer.
+
+ * Added ODT writer (using zip-archive library to package output of
+ OpenDocument writer). Added odt-styles directory with default ODT styles.
+
+ * Added new mediawiki writer and tests.
+
+ * Markdown reader: Added support for delimited code blocks, with optional
+ syntax highlighting using highlighting-kate (if the 'highlighting'
+ configuration option is selected).
+
+ + Currently highlighting is supported only in the HTML writer.
+ + Delimited code blocks can have attributes; using the language name as
+ class triggers highlighting.
+ + New Attributes parameter in CodeBlock structure.
+ + --version now indicates whether syntax highlighting support is compiled
+ in, and prints a list of supported languages
+
+ * Removed debian directory. Pandoc is no longer a native debian package.
+
+ * Changes to build process: pandoc can now be built from the repository
+ using Cabal. No unix tools are needed (so, pandoc can be built on Windows
+ without Cygwin).
+
+ + Include shell scripts themselves in repo, rather than generating from wrappers.
+ Removed wrappers directory and wrappers Makefile target.
+ + Text/Pandoc/ASCIIMathML.hs, Text/Pandoc/DefaultHeaders.hs,
+ and Text/Pandoc/Writers/S5.hs are no longer built in Makefile
+ from templates in the templates/ directory. Instead, they use template
+ haskell to read data at compile time from the relevant files in data/.
+ Template haskell functions go in a new module, Text.Pandoc.TH.
+ + man pages are now generated in Setup.hs hook, not by Makefile
+ + Makefile 'tarball' target now calls Cabal's 'sdist'
+ + Added "Extra-Source-Files" to pandoc.cabal, so sdist contains everything needed
+ + Added "Build-Type" field to pandoc.cabal to avoid warning.
+ + Added to "Extra-source-files" and "Extra-tmp-files" in pandoc.cabal,
+ so 'sdist' and 'clean' will work properly.
+ + Setup.hs now generates man pages in a postbuild hook.
+ + Added dependency-checking to Setup.hs, so it only rebuilds things
+ that need rebuilding.
+ + Added 'library' and 'executable' configuration flags.
+ Cabal can now be told to build just the library or just the executable.
+ + CABALOPTS may now be specified with 'make' to pass Cabal configuration flags.
+ For example: CABALOPTS=-fhighlighting make
+
+ * Rewrote test suite so it doesn't depend on perl or unix tools.
+
+ + Replaced old runtests.pl with a Haskell script RunTests.hs.
+ + Added Diff.hs module to be used by RunTests.hs instead of unix 'diff'.
+ + Added test hook to Setup.hs, so tests may be run from cabal.
+ + Changed Makefile's 'test' target to run tests via cabal.
+ + Removed old generate.sh.
+ + Since we no longer have 'sed' to filter out raw HTML sections
+ from the docbook writer test, or raw LaTeX sections from the
+ context writer test, we now just include these sections.
+ They can be taken out if it is necessary to process the files.
+ + Updated latex and context writer tests to remove extra spaces
+ after '\\item'
+ + Added a markdown table reader test.
+ + Added markdown-reader-more.txt to test suite, for additional test cases
+ for raw ConTeXt environments and more.
+
+ * Compatibility fixes for CPP, Cabal, and haddock:
+
+ + Use CPP in "Extensions" field in pandoc.cabal.
+ + Removed use of backslash string continuations in source files.
+
+ * Removed pandoc.cabal.ghc66. We now require Cabal >= 1.2, GHC >= 6.8,
+ base >= 3.
+
+ * Require parsec < 3.
+ The compatibility module in parsec 3.0.0 gives far worse performance than
+ parsec 2.1. Eventually pandoc will be upgraded to use the new bytestring
+ version of parsec, and then we'll go to parsec 3.0.0.
+
+ * Removed Text.Regex dependencies by rewriting using plain Haskell
+ (Text.Pandoc.Writers.RTF, Text.Pandoc.Writers.HTML, Main.hs)
+
+ * Moved Text.Pandoc.Writers.DefaultHeaders -> Text.Pandoc.DefaultHeaders.
+
+ * Makefile:
+
+ + Added 'configure' as dependency of 'uninstall-all'.
+ (It uses the Cabal build program.)
+ + Makefile: only use --with-hc-pkg if GHC_PKG is defined.
+ Note that Cabal will automatically choose the ghc-pkg appropriate
+ for the compiler selected, so normally specifying GHC by itself
+ is sufficient.
+
+ * Removed Text.Pandoc.UTF8 module; instead, depend on utf8-string and use
+ its IO and conversion functions.
+
+ * Added -Wall to ghc-options in pandoc.cabal. Cleaned up modules so that
+ everything is -Wall clean.
+
+ + Added pragma to HTML writer to avoid deprecation warning for use of "start" attribute.
+ + Added pragma to Text/Pandoc/Shared.hs to get rid of "orphan instance" warnings.
+ (These are caused by the Lift instance for ByteString.)
+
+ * Changed the comment used to replace unsafe HTML if sanitize-html option
+ selected.
+
+ * Made -c/--css option repeatable on the command line (like -H, -A, -B).
+
+ * Moved XML-formatting functions to new unexported module Text.Pandoc.XML.
+
+ * Escape '\160' as "&#160;", not "&nbsp;" in XML.
+ "nbsp" isn't a predefined XML entity.
+
+ * Fixed bug in RST reader, which would choke on: "p. one\ntwo\n".
+ Added some try's in ordered list parsers.
+
+ * Man writer: don't escape " as \".
+
+ * Allow newline before URL in markdown link references. Resolves Issue #81.
+ Added tests for this issue in new "markdown-reader-more" tests.
+ Changed RunTests.hs to run these tests.
+
+ * Support for display math. Resolves Issue #47.
+
+ + Added a DisplayMath/InlineMath selector to Math inlines.
+ + Markdown parser yields DisplayMath for $$...$$.
+ + LaTeX parser yields DisplayMath when appropriate. Removed
+ mathBlock parsers, since the same effect is achieved by the math
+ inline parsers, now that they handle display math.
+ + Writers handle DisplayMath as appropriate for the format.
+ + Modified tests accordingly; added new tests for display math.
+
+ * Use LaTeXMathML instead of ASCIIMathML. LaTeXMathML is closer
+ to LaTeX in its display of math, and supports many non-math LaTeX environments.
+
+ + Changed -m option to use LaTeXMathML rather than ASCIIMathML.
+ + Modified HTML writer to print raw TeX when LaTeXMathML is
+ being used instead of suppressing it.
+ + Removed ASCIIMathML files from data/ and added LaTeXMathML.
+ + Replaced ASCIIMathML with LaTeXMathML in source files.
+ + Modified README and pandoc man page source.
+ + Added --latexmathml option (kept --asciimathml as a synonym
+ for backwards compatibility)
+
+ * Markdown reader: Parse setext headers before atx headers.
+ Test case:
+ # hi
+ ====
+ parsed by Markdown.pl as an H1 header with contents "# hi".
+
+ * Markdown reader: Treat "mixed" lists the same way as Markdown.pl does.
+ The marker on the first list item determines the type of the whole
+ list. Thus, a list like
+ 1. one
+ - two
+ * three
+ gets parsed as a single ordered list. (Previous versions of pandoc
+ treated this as an ordered list with an unordered sublist.)
+
+ * Markdown smart typography:
+
+ + Em dashes no longer eat surrounding whitespace. Resolves Issue #69.
+ + Use nonbreaking spaces after known abbreviations in markdown parser.
+ Thus, for example, "Mr. Brown" comes out as "Mr.~Brown" in LaTeX, and does
+ not produce a sentence-separating space. Resolves Issue #75.
+
+ * Markdown writer: Print unicode \160 literally, rather than as &nbsp;.
+
+ * Treat '\ ' in (extended) markdown as nonbreaking space.
+ Print nonbreaking space appropriately in each writer (e.g. ~ in LaTeX).
+
+ * The '--sanitize-html' option now examines URIs in markdown links
+ and images, and in HTML href and src attributes. If the URI scheme
+ is not on a whitelist of safe schemes, it is rejected. The main point
+ is to prevent cross-site scripting attacks using 'javascript:' URIs.
+ See http://www.mail-archive.com/markdown-discuss@six.pairlist.net/msg01186.html
+ and http://ha.ckers.org/xss.html. Resolves Issue #62.
+
+ * HTML writer:
+
+ + Override Text.XHtml's stringToHtml function,
+ so that characters below 0xff are not converted to numerical entity
+ references. Also convert '\160' to "&nbsp;". This should aid readability
+ and editability of the HTML source. It does presuppose that the HTML
+ will be served as UTF-8.
+ + In code blocks, change leading newlines to <br /> tags.
+ (Some browsers ignore them.) Resolves Issue #71.
+ See http://six.pairlist.net/pipermail/markdown-discuss/2008-May/001297.html
+ + Use style attributes rather than css classes for strikethrough
+ and ordered list styles. This works better when fragments, rather than
+ standalone documents, are generated.
+
+ * HTML reader: Count anything that isn't a known block (HTML) tag as an
+ inline tag (rather than the other way around). Added "html", "head", and
+ "body" to list of block tags. Resolves Issue #66, allowing
+ <lj> to count as an inline tag.
+
+ * RTF writer: Fixed bug. Extra spaces were being printed after emphasized,
+ boldface, and other inline elements. Resolves Issue #64.
+
+ * LaTeX reader: improvements in raw LaTeX parsing.
+
+ + "loose punctuation" (like {}) parsed as Space
+ + Para elements must contain more than Str "" and Space elements
+ + Added parser for "\ignore" command used in literate haskell.
+ + Reworked unknownCommand and rawLaTeXInline: when not in "parse raw"
+ mode, these parsers simply strip off the command part and allow
+ the arguments to be parsed normally. So, for example,
+ \blorg{\emph{hi}} will be parsed as Emph "hi" rather than
+ Str "{\\emph{hi}}".
+ + Parse lhs "code" environments as verbatim.
+ Refactored parsers for verbatim environments.
+ + Removed specialEnvironment parser.
+ + parse '{}', if present, after \textless, \textgreater,
+ \textbar, \textbackslash, \ldots.
+ + Parse unescaped special characters verbatim rather than
+ changing them to spaces. This way arguments of unknown
+ commands will appear in braces.
+
+ * Parse raw ConTeXt environments as TeX in markdown reader.
+ Resolves Issue #73.
+
+ * Moved BlockWrapper and wrappedBlocksToDoc from ConTeXt writer to Shared.
+
+ * Made some structural changes to parsing of raw LaTeX environments.
+ Previously there was a special block parser for LaTeX environments.
+ It returned a Para element containing the raw TeX inline. This has
+ been removed, and the raw LaTeX environment parser is now used in the
+ rawLaTeXInline parser. The effect is exactly the same, except that we
+ can now handle consecutive LaTeX and ConTeXt environments not separated
+ by spaces. This new flexibility is required by the example in
+ Issue #73:
+
+ \placeformula \startformula
+ L_{1} = L_{2}
+ \stopformula
+
+ API change: The LaTeX reader now exports rawLaTeXEnvironment' (which
+ returns a string) rather than rawLaTeXEnvironment (which returns a block
+ element). This is more likely to be useful in other applications.
+
+ * Use \textsubscr instead of \textsubscript for LaTeX subscript macro.
+ \textsubscript conflicts with a definition in the memoir class.
+ Resolves Issue #65.
+
+ * Removed unneeded space after "\\item" in LaTeX and ConTeXt output.
+
+ * Added amsmath package to default LaTeX header. Resolves Issue #48.
+
+ * Added \setupitemize[autointro] to ConTeXt header, to prevent orphaned
+ list introduction lines.
+
+ * Changed Float to Double in definition of Table element.
+ (Double is more efficient in GHC.)
+
+ * Fixed bug in Markdown parser: regular $s triggering math mode.
+ For example: "shoes ($20) and socks ($5)."
+ The fix consists in two new restrictions:
+
+ + the $ that ends a math span may not be directly followed by a digit.
+ + no blank lines may be included within a math span.
+
+ Thanks to Joseph Reagle for noticing the bug.
+
+ * Use Data.List's 'intercalate' instead of custom 'joinWithSep'.
+ Removed 'joinWithSep' from Text.Pandoc.Shared.
+
+ * Updated README and man pages. Acknowledge contributors in README.
+ Added paragraph to README about producing S5 with separate CSS/javascript.
+
+ * Updated INSTALL to reflect new build system (including configuration
+ options) and document new dependencies. Added note to INSTALL that
+ Cabal >= 1.2 is required for build. Resolves Issue #74.
+
+ * Fixed some haddock documentation errors.
+
+ * Small fix to markdown2pdf man page: only input needs to be piped through iconv.
+
+pandoc (0.46) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Made -H, -A, and -B options cumulative: if they are specified
+ multiple times, multiple files will be included.
+
+ * Added optional HTML sanitization using a whitelist.
+ When this option is specified (--sanitize-html on the command line),
+ unsafe HTML tags will be replaced by HTML comments, and unsafe HTML
+ attributes will be removed. This option should be especially useful
+ for those who want to use pandoc libraries in web applications, where
+ users will provide the input.
+
+ + Main.hs: Added --sanitize-html option.
+
+ + Text.Pandoc.Shared: Added stateSanitizeHTML to ParserState.
+
+ + Text.Pandoc.Readers.HTML:
+ - Added whitelists of sanitaryTags and sanitaryAttributes.
+ - Added parsers to check these lists (and state) to see if a given
+ tag or attribute should be counted unsafe.
+ - Modified anyHtmlTag and anyHtmlEndTag to replace unsafe tags
+ with comments.
+ - Modified htmlAttribute to remove unsafe attributes.
+ - Modified htmlScript and htmlStyle to remove these elements if
+ unsafe.
+
+ + Modified README and man pages to document new option.
+
+ * Improved handling of email addresses in markdown and reStructuredText.
+ Consolidated uri and email address parsers. (Resolves Issue #37.)
+
+ + New emailAddress and uri parsers in Text.Pandoc.Shared.
+ - uri parser uses parseURI from Network.URI.
+ - emailAddress parser properly handles email addresses with periods
+ in them.
+
+ + Removed uri and emailAddress parsers from Text.Pandoc.Readers.RST
+ and Text.Pandoc.Readers.Markdown.
+
+ * Markdown reader:
+
+ + Fixed emph parser so that "*hi **there***" is parsed as a Strong
+ nested in an Emph. (A '*' is only recognized as the end of the
+ emphasis if it's not the beginning of a strong emphasis.)
+
+ + Moved blockQuote parser before list parsers for performance.
+
+ + Modified 'source' parser to allow backslash-escapes in URLs.
+ So, for example, [my](/url\(1\)) yields a link to /url(1).
+ Resolves Issue #34.
+
+ + Disallowed links within links. (Resolves Issue #35.)
+ - Replaced inlinesInBalanced with inlinesInBalancedBrackets, which
+ instead of hard-coding the inline parser takes an inline parser
+ as a parameter.
+ - Modified reference and inlineNote to use inlinesInBalancedBrackets.
+ - Removed unneeded inlineString function.
+ - Added inlineNonLink parser, which is now used in the definition of
+ reference.
+ - Added inlineParsers list and redefined inline and inlineNonLink parsers
+ in terms of it.
+ - Added failIfLink parser.
+
+ + Better handling of parentheses in URLs and quotation marks in titles.
+ - 'source' parser first tries to parse URL with balanced parentheses;
+ if that doesn't work, it tries to parse everything beginning with
+ '(' and ending with ')'.
+ - source parser now uses an auxiliary function source'.
+ - linkTitle parser simplified and improved, under assumption that it
+ will be called in context of source'.
+
+ + Make 'block' conditional on strictness state, instead of using
+ failIfStrict in block parsers. Use a different ordering of parsers
+ in strict mode (raw HTML block before paragraph) for performance.
+ In non-strict mode use rawHtmlBlocks instead of htmlBlock.
+ Simplified htmlBlock, since we know it's only called in strict
+ mode.
+
+ + Improved handling of raw HTML. (Resolves Issue #36.)
+ - Tags that can be either block or inline (e.g. <ins>) should
+ be treated as block when appropriate and as inline when
+ appropriate. Thus, for example,
+ <ins>hi</ins>
+ should be treated as a paragraph with inline <ins> tags, while
+ <ins>
+ hi
+ </ins>
+ should be treated as a paragraph within <ins> tags.
+ - Moved htmlBlock after para in list of block parsers. This ensures
+ that tags that can be either block or inline get parsed as inline
+ when appropriate.
+ - Modified rawHtmlInline' so that block elements aren't treated as
+ inline.
+ - Modified para parser so that paragraphs containing only HTML tags and
+ blank space are not allowed. Treat these as raw HTML blocks instead.
+
+ + Fixed bug wherein HTML preceding a code block could cause it to
+ be parsed as a paragraph. The problem is that the HTML parser
+ used to eat all blank space after an HTML block, including the
+ indentation of the code block. (Resolves Issue #39.)
+ - In Text.Pandoc.Readers.HTML, removed parsing of following space
+ from rawHtmlBlock.
+ - In Text.Pandoc.Readers.Markdown, modified rawHtmlBlocks so that
+ indentation is eaten *only* on the first line after the HTML
+ block. This means that in
+ <div>
+ foo
+ <div>
+ the foo won't be treated as a code block, but in
+ <div>
+
+ foo
+
+ </div>
+ it will. This seems the right approach for least surprise.
+
+ * RST reader:
+
+ + Fixed bug in parsing explicit links (resolves Issue #44).
+ The problem was that we were looking for inlines until a '<' character
+ signaled the start of the URL; so, if you hit a reference-style link,
+ it would keep looking til the end of the document. Fix: change
+ inline => (notFollowedBy (char '`') >> inline). Note that this won't
+ allow code inlines in links, but these aren't allowed in resT anyway.
+
+ + Cleaned up parsing of reference names in key blocks and links.
+ Allow nonquoted reference links to contain isolated '.', '-', '_', so
+ so that strings like 'a_b_' count as links.
+
+ + Removed unnecessary check for following link in str.
+ This is unnecessary now that link is above str in the definition of
+ 'inline'.
+
+ * HTML reader:
+
+ + Modified rawHtmlBlock so it parses </html> and </body> tags.
+ This allows these tags to be handled correctly in Markdown.
+ HTML reader now uses rawHtmlBlock', which excludes </html> and </body>,
+ since these are handled in parseHtml. (Resolves Issue #38.)
+
+ + Fixed bug (emph parser was looking for <IT> tag, not <I>).
+
+ + Don't interpret contents of style tags as markdown.
+ (Resolves Issue #40.)
+ - Added htmlStyle, analagous to htmlScript.
+ - Use htmlStyle in htmlBlockElement and rawHtmlInline.
+ - Moved "script" from the list of tags that can be either block or
+ inline to the list of block tags.
+
+ + Modified rawHtmlBlock to use anyHtmlBlockTag instead of anyHtmlTag
+ and anyHtmlEndTag. This fixes a bug in markdown parsing, where
+ inline tags would be included in raw HTML blocks.
+
+ + Modified anyHtmlBlockTag to test for (not inline) rather than
+ directly for block. This allows us to handle e.g. docbook in
+ the markdown reader.
+
+ * LaTeX reader: Properly recognize --parse-raw in rawLaTeXInline.
+ Updated LaTeX reader test to use --parse-raw.
+
+ * HTML writer:
+
+ + Modified rules for automatic HTML header identifiers to
+ ensure that identifiers begin with an alphabetic character.
+ The new rules are described in README. (Resolves Issue #33.)
+
+ + Changed handling of titles in HTML writer so you don't get
+ "titleprefix - " followed by nothing.
+
+ * ConTeXt writer: Use wrappers around Doc elements to ensure proper
+ spacing. Each block element is wrapped with either Pad or Reg.
+ Pad'ed elements are guaranteed to have a blank line in between.
+
+ * RST writer:
+
+ + Refactored RST writer to use a record instead of a tuple for state,
+ and to include options in state so it doesn't need to be passed as
+ a parameter.
+
+ + Use an interpreted text role to render math in restructuredText.
+ See http://www.american.edu/econ/itex2mml/mathhack.rst for the
+ strategy.
+
+ [ Recai Oktaş ]
+
+ * Debian packaging changes:
+
+ + Remove the empty 'include' directory in -dev package, which lintian
+ complains about.
+ + Bump Standarts-Version to 3.7.3.
+ + Use new 'Homepage:' field to specify the upstream URL on suggestion of
+ lintian.
+
+ -- Recai Oktaş <roktas@debian.org> Tue, 08 Jan 2008 05:13:31 +0200
+
+pandoc (0.45) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Simplified parsing of reference keys and notes in markdown and RST
+ readers: The Reference data structure from Text.Pandoc.Shared is no
+ longer needed, since referenceKey and noteBlock parses return strings
+ (as many blank lines as were occupied by the key or note) and update
+ state themselves. getPosition and setPosition are now used to ensure
+ that error messages will give the correct line number. This yields
+ cleaner (and slightly faster) code, with more accurate parsing error
+ messages.
+
+ * Added new Math inline element:
+
+ + Markdown and LaTeX readers now convert TeX math into Math elements,
+ not TeX.
+ + This allows math to be treated differently from raw TeX in output.
+ TeX elements are no longer printed in output formats other than
+ Markdown, LaTeX, and ConTeXt. But Math elements are always printed.
+
+ * New default handling of math in writers:
+
+ + New module Text.Pandoc.Readers.TeXMath exports readTeXMath, which
+ parses raw TeX math and outputs a string of Pandoc inlines that
+ tries to render it as far as possible using unicode characters,
+ lapsing into literal TeX when needed.
+ + readTeXMath is now used for default HTML output in HTML, S5, RTF,
+ and Docbook, if no other method for displaying math in HTML is
+ specified. Enclosing $'s are no longer printed by default.
+ + By default, math is put inside <span class="math">. This way it can be
+ distinguished from the surrounding text, e.g. put in a different
+ font.
+
+ * New --gladtex and --mimetex options for display of math in HTML:
+
+ + If --gladtex is specified, math is output between <eq> tags, so
+ it can be processed by gladTeX.
+ + If --mimetex is specified, math is put in <img> tags with a link
+ to the mimetex CGI script (or any other script that takes TeX math
+ as input and outputs an image). The URL of the script may be
+ specified, but defaults to /cgi-bin/mimetex.cgi.
+ + HTMLMathMethod structure in WriterOptions keeps track of how to
+ display math in HTML output.
+ + Updated README with a description of the four options for displaying
+ math in HTML.
+
+ * HTML reader:
+
+ + Fixed bug: parser for minimized attributes should not swallow
+ trailing spaces.
+ + Simplified HTML attribute parsing.
+ + Changed parsing of code blocks in HTML reader: <code> tag is no
+ longer needed. <pre> suffices. All HTML tags in the code block
+ (e.g. for syntax highlighting) are skipped, because they are not
+ portable to other output formats. A <code>...</code> block not
+ surrounded by <pre> now counts as inline HTML, not a code block.
+ + Remove just one leading and one trailing newline from contents of
+ <pre>...</pre> in codeBlock parser.
+
+ * Markdown reader:
+
+ + Removed support for box-style block quotes.
+ + Require space before title in links and references.
+ This fixes a bug in parsing URLs like http://silly/url(withparen).
+ + Improved and simplified setextHeader parser.
+ + Fixed logic in smart quote parsing, adding some needed 'try'
+ statements.
+ + Fixed smart quote parsing so that unicode characters 8216 and 8217
+ are recognized as single quotes, and 8220 and 8221 as double quotes.
+
+ * RST reader:
+
+ + Fixed bug in parsing of code blocks. Previously a full tab indent
+ was required, but RST allows code to be indented any amount.
+ Resolves Issue #27.
+ + Allow field lists to be indented.
+ + Parse the contents of field lists instead of treating as a raw string.
+ + Represent field lists as definition lists instead of blockquotes.
+ + Fixed bug in which metadata would be overridden if the document
+ contained multiple field lists.
+ + Parse fields associated with '.. image::' blocks, and use 'alt'
+ field, if given, for image alt and title attributes.
+
+ * LaTeX reader:
+
+ + Modified specialChar so that '"' characters are parsed.
+ + Fixed a bug in parsing of \[ \] math blocks (thanks to Mark Kalderon).
+
+ * HTML writer:
+
+ + Changes in handling of math (see above).
+ + Don't produce HTML for table of contents if there are
+ no headers. (This would be an empty list, which is invalid XHTML.)
+
+ * Markdown writer:
+
+ + Don't print title attribute if title is empty. (This differs from
+ the behavior of Markdown.pl, and agrees with PHP Markdown. But John
+ Gruber has indicated that he prefers this behavior.) Adjusted test
+ suite accordingly.
+ + Fixed incorrect line wrapping in paragraphs including hard line
+ breaks. Resolves Issue #25.
+ + Fixed bug in markdown writer: If an ordered list item began with
+ a marker greater than 3 characters in width, and the item took more
+ than one line, it would appear on the line after the list marker,
+ e.g.:
+
+ (12)
+ My list item.
+ Multiline.
+
+ Now it works as follows:
+
+ (12) My list item.
+ Multiline.
+
+ * RST writer
+
+ + Fixed bug in RST writer's handling of ordered lists. Previously,
+ list items with multiple lines would not always line up with
+ single-line list items. Now, list items are nested the length of
+ the list marker + 1. This looks better and ensures that list items
+ all line up. (Note that list markers are padded to the length of
+ the longest list marker in the series.)
+ + Use 3-space indent for unordered lists.
+ + If label for a link reference contains a colon, surround it by `
+ signs so it won't be interpreted as the end of the link label.
+
+ * LaTeX writer:
+
+ + Cleaner output for footnotes. Footnotes now always begin on a new
+ line, and the final } is on a line by itself only when it needs to
+ be (i.e. only when the note ends with a Verbatim environment).
+ + Added writer options to state, so state doesn't need to be passed as
+ a parameter.
+ + Text wrapping now provided, using wrapTeXIfNeeded.
+
+ * ConTeXt writer: many improvements for more idiomatic ConTeXt output
+ (thanks to Idris Samawi Hamid for suggestions).
+
+ + PrettyPrint module now used for output.
+ + Writer options are now in state, so they don't have to be passed as
+ a parameter.
+ + Text wrapping now provided, using wrapTeXIfNeeded.
+ + Better treatment of footnotes: footnotes are always on lines by
+ themselves, and the final } is on a line by itself only when
+ it needs to be (after \stoptyping).
+ + Use \subject, \subsubject, ... or \section, \subsection, ... for headings,
+ depending on whether --number-sections option is selected.
+ + Extra blank line inserted after \stopitemize
+ + Use new, "official" definition of blockquote environment. Also, use
+ blank line after \startblockquote to balance blank line at the end.
+ + Both itemized and enumerated lists are now generated using
+ \start-stopitemize, with appropriate options. Removed definitions
+ of ltxenum and ltxitem, which are no longer needed. Provided
+ defaults for itemized lists in the preamble. State keeps track of
+ ordered list level, so that when default numbering is specified,
+ the appropriate scheme can be used.
+ + Changed \useurl to \useURL.
+ + Changed link color from red to blue.
+ + Use \subsubsubsubsection etc., since these are supported
+ (up to at least sub x 5).
+
+ * Text.Pandoc.Shared:
+
+ + Save and restore position in parseFromString, so that accurate
+ error messages can be given.
+ + Improved efficiency of romanNumeral parser.
+ + Added wrappedTeX and wrapTeXIfNeeded functions. These ensure
+ that footnotes occur on lines by themselves (to make them
+ easier to see and move) and do not screw up line wrapping.
+
+ * Text.Pandoc.UTF8: modified fromUTF8 to strip out the BOM
+ if present. Windows Notepad and other applications insert a
+ BOM at the beginning of a UTF8 file.
+
+ * Main.hs (tabFilter): Treat '\r' at end of line as newline (in
+ addition to "\r\n" and '\n').
+
+ * Added a writer option for wrapped text and a command-line option
+ '--no-wrap', which disables text wrapping and minimizes whitespace
+ in HTML. (Resolves Issue #26.)
+
+ + Added support for '--no-wrap' to Main.hs.
+ + Added wrapIfNeeded function to Text.Pandoc.Shared.
+ + Use wrapIfNeeded instead of wrapped in the RST, Man, Docbook, and
+ Markdown writers.
+ + Added render and renderFragment helpers to HTML writer.
+
+ * Modified html2markdown to run tidy only if the HTML cannot be
+ parsed. Previously html2markdown piped all input through tidy
+ before passing it to pandoc. This caused problems on certain pages
+ (e.g. http://daringfireball.com/markdown) which have well-formed
+ XHTML that causes tidy to choke. The solution is to pipe through
+ tidy only if pandoc cannot parse the input by itself. This means
+ that a temp file is now always used, even when input comes from a
+ local file or standard input.
+
+ * Removed 'version' constant from Main.hs; added 'pandocVersion' to
+ Text.Pandoc library.
+
+ * pandoc.cabal:
+
+ + Modified to work with GHC 6.8 and Cabal configurations. (For GHC
+ 6.8, pretty and containers must be added to Build-Depends, and it
+ is desirable to use the -O2 compiler option.) Cabal configurations
+ allows one to select options depending on the compiler version.
+ For GHC 6.6, the splitBase option can be disabled.
+ + pandoc.cabal.ghc66 is provided for users with older versions of
+ Cabal, which do not support configurations.
+ + Use Ghc-Prof-Options to ensure that '-auto-all' is used when
+ '--enable-(executable|library)-profiling' is specified. Updated
+ PROFILING instructions accordingly.
+
+ * Makefile:
+
+ + Makefile now checks GHC version. If GHC is 6.6, pandoc.cabal.ghc66
+ is copied to pandoc.cabal, and the old pandoc.cabal is copied
+ to pandoc.cabal.orig. Otherwise, pandoc.cabal is copied to
+ pandoc.cabal.orig but otherwise unmodified. This way, the Makefile
+ will work properly with either GHC 6.6 or 6.8.
+ + Changed BUILDCONF to point to dist/setup-config, not .setup-config.
+ This is where current versions of Cabal put it.
+ + Added $(BUILDCMD) target, so setup doesn't get compiled every time.
+ + Removed dependency of templates on ./templates, which is circular
+ now that templates is a subdirectory of the top-level.
+
+ * MacPorts Portfile:
+
+ + Modified to install the pandoc library in addition to programs.
+ + Installation must be done manually rather than using Makefile's
+ install-all.
+ + Note that the library must be registered in the activate phase,
+ after the library files have been copied out of the destroot.
+ Cabal generates a 'register.sh' script that will do this.
+
+ * debian/control: Added libghc6-network-dev, libghc6-xhtml-dev, and
+ libghc6-mtl-dev as dependencies for libghc6-pandoc-dev.
+ Closes: #445235
+
+ * debian/rules: Converted to UTF-8.
+
+ * Changed pandoc home page to http://johnmacfarlane.net/pandoc/.
+
+ * Updated ASCIIMathML.js to latest version.
+
+ * Directory structure:
+
+ + Moved everything from src into the top-level directory.
+ + Changed references to source directory in Makefile and
+ pandoc.cabal.*.
+ + Moved ASCIIMathML.js, headers, and ui into templates directory.
+ + Modified fillTemplates.pl to reflect new paths.
+
+ [ Recai Oktaş ]
+
+ * Makefile: Fixed the issue of having two copies of the library
+ documentation under some usage scenarios.
+
+ * Replaced 'ghc' with '$(GHC)' in Makefile, and made GHC
+ and GHC_PKG configurable through the environment, to support
+ unusual ghc installations. For example:
+ GHC=/opt/ghc/bin/ghc GHC_PKG=/opt/ghc/bin/ghc-pkg make
+
+ -- Recai Oktaş <roktas@debian.org> Sun, 07 Oct 2007 20:51:43 +0300
+
+pandoc (0.44) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Fixed bug in HTML writer: when --toc was used, anchors were put around
+ headers, which is invalid XHTML (block content within inline element).
+ Now the anchors are put inside the header tags. Resolves Issue #23.
+
+ * Added xmlns attribute to html element in html writer tests.
+ This attribute is added by more recent versions of the
+ xhtml library (>= 3000), and is required for valid XHTML.
+
+ [ Recai Oktaş ]
+
+ * On configure, compile 'Setup.hs' to 'setup' and use 'setup' as the build
+ command instead of 'runhaskell', which, on some platforms (such as s390,
+ alpha, m68k), throws the following error:
+
+ runhaskell Setup.hs configure --prefix=/usr
+ ghc-6.6.1: not built for interactive use
+
+ This causes a serious FTBFS bug. Closes: #440668.
+
+ -- Recai Oktaş <roktas@debian.org> Mon, 03 Sep 2007 18:24:02 +0300
+
+pandoc (0.43) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * The focus of this release is performance. The markdown parser
+ is about five times faster than in 0.42, based on benchmarks
+ with the TextMate manual.
+
+ * Main.hs: Replaced CRFilter and tabFilter with single function
+ tabFilter, which operates on the whole string rather than breaking
+ it into lines, and handles dos-style line-endings as well as tabs.
+
+ * Added separate LaTeX reader and native reader tests; removed
+ round-trip tests.
+
+ * Text.Pandoc.Shared:
+
+ + Removed tabsToSpaces and tabsInLine (they were used only in Main.hs.)
+ + General code cleanup (to elimante warnings when compiling with -Wall.)
+ + Added 'wrapped' function, which helps wrap text into paragraphs,
+ using the prettyprinting library.
+ + Rewrote charsInBalanced and charsInBalanced'.
+ - Documented restriction: open and close must be distinct characters.
+ - Rearranged options for greater efficiency.
+ - Bug fix: Changed inner call to charsInBalanced inside
+ charsInBalanced' to charsInBalanced'.
+ + anyLine now requires that the line end with a newline (not eof).
+ This is a harmless assumption, since we always add newlines to the
+ end of a block before parsing with anyLine, and it yields a 10% speed
+ boost.
+ + Removed unnecessary 'try' in anyLine.
+ + Removed unneeded 'try' from romanNumeral parser.
+ + Use notFollowedBy instead of notFollowedBy' in charsInBalanced.
+ + Removed unneeded 'try' in parseFromString.
+ + Removed unneeded 'try' from stringAnyCase. (Now it behaves
+ like 'string'.)
+ + Changed definition of 'enclosed' in Text.Pandoc.Shared so that
+ 'try' is not automatically applied to the 'end' parser. Added
+ 'try' in calls to 'enclosed' where needed. Slight speed increase.
+
+ * Writers:
+
+ + Replaced individual wrapping routines in RST, Man, and Markdown
+ writers with 'wrapped' from Text.Pandoc.Shared.
+ + Rewrote LaTeX writer to use the prettyprinting library,
+ so we get word wrapping, etc.
+ + Modified latex writer tests for new latex writer using prettyprinter.
+ + Fixed bug in LaTeX writer: autolinks would not cause
+ '\usepackage{url}' to be put in the document header. Also, changes
+ to state in enumerated list items would be overwritten.
+ + In Markdown writer, escape paragraphs that begin with ordered list
+ markers, so they don't get interpreted as ordered lists.
+
+ * Text.Pandoc.Reades.LaTeX:
+
+ + Fixed bug in LaTeX reader, which wrongly assumed that the roman
+ numeral after "enum" in "setcounter" would consist entirely of
+ "i"s. 'enumiv' is legitimate.
+ + LaTeX command and environment names can't contain numbers.
+ + Rearranged order of parsers in inline for slight speed improvement.
+ + Added '`' to special characters and 'unescapedChar'.
+
+ * Text.Pandoc.Readers.RST:
+
+ + Removed unneeded try's in RST reader; also minor code cleanup.
+ + Removed tabchar.
+ + Rearranged parsers in inline (doubled speed).
+
+ * Text.Pandoc.Readers.Markdown:
+
+ + Skip notes parsing if running in strict mode. (This yields a nice
+ speed improvement in strict mode.)
+ + Simplify autolink parsing code, using Network.URI to test for
+ URIs. Added dependency on network library to debian/control and
+ pandoc.cabal.
+ + More perspicuous definition of nonindentSpaces.
+ + Removed unneeded 'try' in 'rawLine'.
+ + Combined linebreak and whitespace into a new whitespace parser, to
+ avoid unnecessary reparsing of space characters.
+ + Removed unnecessary 'try' in 'codeBlock', 'ellipses', 'noteMarker',
+ 'multilineRow', 'dashedLine', 'rawHtmlBlocks'.
+ + Use lookAhead in parsers for setext headers and definition lists
+ to see if the next line begins appropriately; if not, don't waste
+ any more time parsing.
+ + Don't require blank lines after code block. (It's sufficient to
+ end code block with a nonindented line.)
+ + Changed definition of 'emph': italics with '_' must not
+ be followed by an alphanumeric character. This is to help
+ prevent interpretation of e.g. [LC_TYPE]: my_type as
+ '[LC<em>TYPE]:my</em>type'.
+ + Improved Markdown.pl-compatibility in referenceLink: the two parts
+ of a reference-style link may be separated by one space, but not
+ more... [a] [link], [not] [a link].
+ + Fixed markdown inline code parsing so it better accords with
+ Markdown.pl: the marker for the end of the code section is a clump
+ of the same number of `'s with which the section began, followed
+ by a non-` character. So, for example,
+ ` h ``` i ` -> <code>h ``` i</code>.
+ + Split 'title' into 'linkTitle' and 'referenceTitle', since the
+ rules are slightly different.
+ + Rewrote 'para' for greater efficiency.
+ + Rewrote link parsers for greater efficiency.
+ + Removed redundant 'referenceLink' in definition of inline (it's
+ already in 'link').
+ + Refactored escapeChar so it doesn't need 'try'.
+ + Refactored hrule for performance in Markdown reader.
+ + More intelligent rearranging of 'inline' so that most frequently
+ used parsers are tried first.
+ + Removed tabchar parser, as whitespace handles tabs anyway.
+
+ * Text.Pandoc.CharacterReferences:
+
+ + Refactored.
+ + Removed unnecessary 'try's for a speed improvement.
+ + Removed unnecessary '&' and ';' from the entity table.
+
+ * Build process:
+
+ + Makefile: Get VERSION from cabal file, not Main.hs.
+ + Modified MacPorts Portfile:
+ - Depend on haddock
+ - Build and install libraries and library documentation in
+ addition to pandoc executable
+ - Added template item for md5 sum in Portfile.in.
+ - Incorporated changes from MacPorts repository (r28278).
+ + FreeBSD port: Don't try to generate distinfo in Makefile.
+ It can be made using 'make makesum' in FreeBSD.
+ + Make both freebsd and macports targets depend on tarball.
+
+ * Website and documentation:
+
+ + Updated INSTALL instructions.
+ + Added pandocwiki demo to website.
+ + Removed local references to Portfile, since pandoc is now in the
+ MacPorts repository.
+
+ -- Recai Oktaş <roktas@debian.org> Sun, 02 Sep 2007 15:50:11 +0300
+
+pandoc (0.42) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Main.hs: Use utf8 conversion on the extra files loaded with
+ the -H, -C, -B, and -A options. This fixes problems with unicode
+ characters in these files.
+
+ * Exposed Text.Pandoc.ASCIIMathML, since it is imported in
+ Text.Pandoc.Readers.HTML and without it we get a linking error when
+ using the library.
+
+ * Markdown reader:
+
+ + Added new rule for enhanced markdown ordered lists: if the list
+ marker is a capital letter followed by a period (including a
+ single-letter capital roman numeral), then it must be followed by
+ at least two spaces. The point of this is to avoid accidentally
+ treating people's initials as list markers: a paragraph might begin,
+ "B. Russell was an English philosopher," and this shouldn't be
+ treated as a list. Documented change in README.
+ + Blocks that start with "p. " and a digit are no longer treated
+ as ordered lists (it's a page number).
+ + Added a needed 'try' to listItem.
+ + Removed check for a following setext header in endline.
+ A full test is too inefficient (doubles benchmark time), and the
+ substitute we had before is not 100% accurate.
+ + Don't use Code elements for autolinks if --strict specified.
+
+ * LaTeX writer: When a footnote ends with a Verbatim environment, the
+ close } of the footnote cannot occur on the same line or an error occurs.
+ Fixed this by adding a newline before the closing } of every footnote.
+
+ * HTML writer:
+ + Removed incorrect "{}" around style information in HTML tables.
+ Column widths now work properly in HTML.
+ + If --strict option is specified (and --toc is not), don't include
+ identifiers in headers, for better Markdown compatibility.
+
+ * Build process:
+
+ + Separated $(web_dest) and website targets.
+ + In website, index.txt is now constructed from template index.txt.in.
+ + Added freebsd target to Markefile. This creates the freebsd Makefile
+ from Makefile.in, and creates distinfo. Removed Makefile and distinfo
+ from the repository.
+ + Added macport target to Makefile. Portfile is built from template
+ Portfile.in.
+ + Removed OSX package targets. (Too many difficulties involving
+ dependencies on dynamic libraries.)
+ + More complete INSTALL instructions for all architectures.
+
+ * Website:
+ + Added a programming demo, pandocwiki.
+
+ [ Recai Oktaş ]
+
+ * Do not forget to close pandoc's ITP. Closes: #391666
+
+ -- Recai Oktaş <roktas@debian.org> Sun, 26 Aug 2007 22:51:32 +0300
+
+pandoc (0.41) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Fixed bugs in HTML reader:
+ + Skip material at end *only if* </html> is present (previously,
+ only part of the document would be parsed if an error was
+ found; now a proper error message is given).
+ + Added new constant eitherBlockOrInline with elements that may
+ count either as block-level or as inline. Modified isInline and
+ isBlock to take this into account.
+ + Modified rawHtmlBlock to accept any tag (even an inline tag):
+ this is innocuous, because rawHtmlBlock is tried only if a regular
+ inline element can't be parsed.
+ + Added a necessary 'try' in definition of 'para'.
+
+ * Fixed bug in markdown ordered list parsing. The problem was that
+ anyOrderedListStart did not check for a space following the
+ ordered list marker. So in 'A.B. 2007' the parser would be
+ expecting a list item, but would not find one, causing an error.
+ Fixed a similar bug in the RST reader. Resolves Issue #22.
+
+ * Refactored RST and Markdown readers using parseFromString.
+
+ * LaTeX reader will now skip anything after \end{document}.
+
+ * Fixed blockquote output in markdown writer: previously, block
+ quotes in indented contexts would be indented only in the first
+ line.
+
+ * Added note to INSTALL about variations in versions of the xhtml
+ library that can lead to failed tests (thanks to Leif LeBaron).
+
+ -- Recai Oktaş <roktas@debian.org> Sun, 19 Aug 2007 23:26:07 +0300
+
+pandoc (0.4) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Added two new output formats: groff man pages and ConTeXt. By
+ default, output files with extensions ".ctx" and ".context" are
+ assumed to be ConTeXt, and output files with single-digit extensions
+ are assumed to be man pages.
+
+ * Enhanced ordered lists (documented in README, under Lists):
+ + The OrderedList block element now stores information about
+ list number style, list number delimiter, and starting number.
+ + The readers parse this information when possible.
+ + The writers use this information to style ordered lists.
+ + The enhancement can be disabled using the --strict option.
+
+ * Added support for tables (with a new Table block element). Two kinds
+ of tables are supported: a simple table with one-line rows, and a
+ more complex variety with multiline rows. All output formats are
+ supported, but only markdown tables are parsed at the moment. The
+ syntax is documented in README.
+
+ * Added support for definition lists (with a new DefinitionList block
+ element). All output and input formats are supported. The syntax is
+ documented in README.
+
+ * Added support for superscripts and subscripts (with new Superscript
+ and Subscript inline elements). All input and output
+ formats. The syntax is documented in README.
+
+ * Added support for strikeout (with a new Strikeout inline element).
+ All input and output formats are supported. Thanks to Bradley Kuhn,
+ who contributed a patch. The syntax is documented in README. Resolves
+ Issue #18.
+
+ * Added a --toc|--table-of-contents option. This causes an automatically
+ generated table of contents (or an instruction that creates one) to
+ be inserted at the beginning of the document. Not supported in S5,
+ DocBook, or man page writers.
+
+ * Modified the -m|--asciimathml option:
+
+ + If an optional URL argument is provided, a link is inserted
+ instead of the contents of the ASCIIMathML.js script.
+ + Nothing is inserted unless the document actually contains
+ LaTeX math.
+
+ * Removed Blank block element as unnecessary.
+
+ * Removed Key and Note blocks from the Pandoc data structure. All
+ links are now stored as explicit links, and note contents are
+ stored with the (inline) notes.
+
+ + All link Targets are now explicit (URL, title) pairs; there
+ is no longer a 'Ref' target.
+ + Markdown and RST parsers now need to extract data from key and
+ note blocks and insert them into the relevant inline elements.
+ Other parsers have been simplified, since there is no longer any need
+ to construct separate key and note blocks.
+ + Markdown, RST, and HTML writers need to construct lists of
+ notes; Markdown and RST writers need to construct lists of link
+ references (when the --reference-links option is specified); and
+ the RST writer needs to construct a list of image substitution
+ references. All writers have been rewritten to use the State monad
+ when state is required.
+ + Several functions (generateReference, keyTable,
+ replaceReferenceLinks, replaceRefLinksBlockList, and some auxiliaries
+ used by them) have been removed from Text.Pandoc.Shared, since
+ they are no longer needed. New functions and data structures
+ (Reference, isNoteBlock, isKeyBlock, isLineClump) have been
+ added. The functions inTags, selfClosingTag, inTagsSimple, and
+ inTagsIndented have been moved to the DocBook writer, since that
+ is now the only module that uses them. NoteTable is now exported
+ in Text.Pandoc.Shared.
+ + Added stateKeys and stateNotes to ParserState; removed stateKeyBlocks,
+ stateKeysUsed, stateNoteBlocks, stateNoteIdentifiers, stateInlineLinks.
+ + Added writerNotes and writerReferenceLinks to WriterOptions.
+
+ * Added Text.Pandoc module that exports basic readers, writers,
+ definitions, and utility functions. This should export everything
+ needed for most uses of Pandoc libraries. The haddock documentation
+ includes a short example program.
+
+ * Text.Pandoc.ASCIIMathML is no longer an exported module.
+
+ * Added Text.Pandoc.Blocks module to help in printing markdown
+ and RST tables. This module provides functions for working with
+ fixed-width blocks of text--e.g., placing them side by side, as
+ in a table row.
+
+ * Refactored to avoid reliance on Haskell's Text.Regex library, which
+ (a) is slow, and (b) does not properly handle unicode. This fixed
+ some strange bugs, e.g. in parsing S-cedilla, and improved performance.
+
+ + Replaced 'gsub' with a general list function 'substitute'
+ that does not rely on Text.Regex.
+ + Rewrote extractTagType in HTML reader so that it doesn't use
+ regexs.
+ + In Markdown reader, replaced email regex test with a custom email
+ autolink parser (autoLinkEmail). Also replaced selfClosingTag regex
+ with a custom function isSelfClosingTag.
+ + Modified Docbook writer so that it doesn't rely on Text.Regex for
+ detecting 'mailto' links.
+ + Removed escapePreservingRegex and reamped entity-handling
+ functions in Text.Pandoc.Shared and Text.Pandoc.CharacterReferences to
+ avoid reliance on Text.Regex (see below on character reference
+ handling changes).
+
+ * Renamed Text.Pandoc.Entities as Text.Pandoc.CharacterReferences.
+
+ * Changed handling of XML entities. Entities are now parsed (and unicode
+ characters returned) in the Markdown and HTML readers, rather than being
+ handled in the writers. In HTML and Docbook writers, UTF-8 is now used
+ instead of entities for characters above 128. This makes the HTML and
+ DocBook output much more readable and more easily editable.
+
+ + Removed sgmlHexEntity, sgmlDecimalEntity, sgmlNamedEntity, and
+ sgmlCharacterEntity regexes from Text.Pandoc.Shared.
+ + Renamed escapeSGMLChar to escapeCharForXML. Added escapeStringForXML.
+ Moved both functions to Text.Pandoc.Writers.Docbook.
+ + Added characterReference parser to Text.Pandoc.CharacterReferences.
+ This parses a string and return a unicode character.
+ + Rewrote decodeCharacterReferences to use the new parser instead of
+ Text.Regex.
+ + Added new charRef parser for Markdown and HTML, which replaces the
+ old 'entity' parser. Added '&' as a special character in Markdown reader.
+ + Modified HTML and Markdown readers to call decodeEntities on all raw
+ strings (e.g. authors, dates, link titles), to ensure that no
+ unprocessed entities are included in the native representation of
+ the document. (In the HTML reader, most of this work is done by a
+ change in extractAttributeName.)
+ + In XML and Markdown output, escape unicode nonbreaking space as '&nbsp;',
+ since a unicode non-breaking space is impossible to distinguish visually
+ from a regular space. (Resolves Issue #3.)
+ + Removed encodeEntitiesNumerical.
+ + Use Data.Map for entityTable and (new) reverseEntityTable, for a
+ slight performance boost over the old association list.
+ + Removed unneeded decodeEntities from 'str' parser in HTML and
+ Markdown readers.
+
+ * Text.Pandoc.UTF8: Renamed encodeUTF8 to toUTF8, decodeUTF8 to
+ fromUTF8, for clarity.
+
+ * Replaced old haskell98 module names replaced by hierarchical module
+ names, e.g. List by Data.List. Removed haskell98 from dependencies
+ in pandoc.cabal, and added mtl (needed for state monad). Substituted
+ xhtml for html.
+
+ * Refactored and cleaned up character escaping in writers, using
+ backslashEscapes and escapeStringUsing functions.
+
+ * Instead of adding "\n\n" to the end of an input string in Main.hs,
+ this is now done in the readers. This makes the libraries behave
+ the way you'd expect from the pandoc program. Resolves Issue #10.
+
+ * URLs and email addresses in autolinks are now typeset as Code.
+
+ * In Main.hs, changed putStr to putStrLn -- mainly because MacOS X
+ doesn't display the whole output unless there's a line ending.
+
+ * Major code cleanup in all modules, for greater consistency, concision,
+ and readability.
+
+ * HTML reader:
+
+ + Fixed several bugs (extractTagType, attribute parsing).
+ + Remove Null blocks in lists of blocks when possible.
+ + Allow HTML comments as raw HTML inline.
+
+ * Markdown reader:
+
+ + Ordered list items may no longer begin with uppercase letters, or
+ letters greater than 'n'. (This prevents first initials and page
+ reference, e.g. 'p. 400', from being parsed as beginning lists.)
+ Also, numbers beginning list items may no longer end with ')',
+ which is now allowed only after letters. Note: These changes
+ may cause documents to be parsed differently. Users should take
+ care in upgrading.
+ + Changed autoLink parsing to conform better to Markdown.pl's
+ behavior. <google.com> is not treated as a link, but
+ <http://google.com>, <ftp://google.com>, and <mailto:google@google.com>
+ are.
+ + Cleaned up handling of embedded quotes in link titles. Now these are
+ stored as a '"' character, not as '&quot;'.
+ + Use lookAhead parser for the 'first pass' (looking for reference keys),
+ instead of parsing normally, then using setInput to reset input. This
+ yields a slight performance boost.
+ + Fixed several bugs in smart quote recognition.
+ + Fixed bug in indentSpaces (which didn't properly handle
+ cases with mixed spaces and tabs).
+ + Consolidated 'text', 'special', and 'inline' into 'inline'.
+ + Fixed bug which allowed URL and title to be separated by multiple blank
+ lines in links and reference keys. They can be on separate lines but
+ can't have blank lines between them.
+ + Correctly handle bracketed text inside inline footnotes and links,using
+ new function inlinesInBalanced. Resolves Issue #14.
+ + Fixed bug in footnotes: links in footnotes were not being
+ processed. Solution: three-stage parse. First, get all the
+ reference keys and add information to state. Next, get all the
+ notes and add information to state. (Reference keys may be needed
+ at this stage.) Finally, parse everything else.
+ + Replaced named constants like 'emphStart' with literals.
+ + Removed an extra occurance of escapedChar in definition of inline.
+
+ * RST reader:
+
+ + Allow the URI in a RST hyperlink target to start on the line
+ after the reference key.
+ + Added 'try' in front of 'string', where needed, or used a different
+ parser. This fixes a bug where ````` would not be correctly parsed as
+ a verbatim `.
+ + Fixed slow performance in parsing inline literals in RST reader. The
+ problem was that ``#`` was seen by 'inline' as a potential link or image.
+ Fix: inserted 'notFollowedBy (char '`')' in link parsers.
+ Resolves Issue #8.
+ + Use lookAhead instead of getInput/setInput in RST reader. Removed
+ unneeded getState call, since lookAhead automatically saves and
+ restores the parser state.
+ + Allow hyperlink target URIs to be split over multiple lines, and
+ to start on the line after the reference. Resolves Issue #7.
+ + Fixed handling of autolinks.
+
+ * LaTeX reader:
+
+ + Replaced 'choice [(try (string ...), ...]' idiom with 'oneOfStrings',
+ for clarity.
+ + Added clauses for tilde and caret. Tilde is \ensuremath{\sim}, and
+ caret is \^{}, not \^ as before.
+ + Added parsing for \url.
+ + Parse \texttt{} as code, provided there's nothing fancy inside.
+
+ * HTML writer:
+
+ + Modified HTML writer to use the Text.XHtml library. This results
+ in cleaner, faster code, and it makes it easier to use Pandoc in
+ other projects, like wikis, which use Text.XHtml. Two functions are
+ now provided, writeHtml and writeHtmlString: the former outputs an
+ Html structure, the latter a rendered string. The S5 writer is also
+ changed, in parallel ways (writeS5, writeS5String).
+ + The Html header is now written programmatically, so it has been
+ removed from the 'headers' directory. The S5 header is still
+ needed, but the doctype and some of the meta declarations have
+ been removed, since they are written programatically. This change
+ introduces a new dependency on the xhtml package.
+ + Fixed two bugs in email obfuscation involving improper escaping
+ of '&' in the <noscript> section and in --strict mode. Resolves
+ Issue #9.
+ + Fixed another bug in email obfuscation: If the text to be obfuscated
+ contains an entity, this needs to be decoded before obfuscation.
+ Thanks to thsutton for the patch. Resolves Issue #15.
+ + Changed the way the backlink is displayed in HTML footnotes.
+ Instead of appearing on a line by itself, it now generally
+ appears on the last line of the note. (Exception: when the
+ note does not end with a Plain or Para block.) This saves space
+ and looks better.
+ + Added automatic unique identifiers to headers:
+ - The identifier is derived from the header via a scheme
+ documented in README.
+ - WriterState now includes a list of header identifiers and a table
+ of contents in addition to notes.
+ - The function uniqueIdentifiers creates a list of unique identifiers
+ from a list of inline lists (e.g. headers).
+ - This list is part of WriterState and gets consumed by blockToHtml
+ each time a header is encountered.
+ + Include CSS for .strikethrough class in header only if strikethrough
+ text appears in the document.
+ + If the 'strict' option is specified, elements that do not appear in
+ standard markdown (like definition lists) are passed through as
+ raw HTML.
+ + Simplified treatment of autolinks, using pattern matching instead of
+ conditionals.
+
+ * Markdown writer:
+
+ + Links in markdown output are now printed as inline links by default,
+ rather than reference links. A --reference-links option has been added
+ that forces links to be printed as reference links. Resolves Issue #4.
+ + Use autolinks when possible. Instead of [site.com](site.com),
+ use <site.com>.
+
+ * LaTeX writer:
+
+ + Rewrote to use the State monad. The preamble now includes only those
+ packages that are actually required, given the document's content.
+ Thus, for example, if strikeout is not used, ulem is not required.
+ Modified LaTeXHeader accordingly.
+ + Modified LaTeX writer to insert '\,' between consecutive quotes.
+ + Removed unused function tableRowColumnWidths.
+ + Simplified code for escaping special characters.
+ + Leave extra blank line after \maketitle.
+ + Include empty '\author{}' when no author specified to avoid LaTeX
+ errors.
+ + Include fancyvrb code in header only if needed -- that is, only
+ if there is actually code in a footnote.
+ + Use \url{} for autolinks.
+ + Include [mathletters] option in ucs package, so that basic unicode
+ Greek letters will work correctly.
+
+ * RST writer: Force blank line before lists, so that sublists will
+ be handled correctly.
+
+ * Docbook writer: Fixed a bug: email links with text, like
+ [foo](me@bar.baz), were being incorrectly treated as autolinks.
+
+ * Removed Text.ParserCombinators.Pandoc and moved all its functions to
+ Text.Pandoc.Shared.
+
+ * Text.Pandoc.Shared:
+
+ + Added defaultWriterOptions.
+ + Added writerTableOfContents to WriterOptions.
+ + Added writerIgnoreNotes option to WriterOptions. This is needed
+ for processing header blocks for a table of contents, since notes on
+ headers should not appear in the TOC.
+ + Added prettyprinting for native Table format.
+ + Removed some unneeded imports.
+ + Moved escape and nullBlock parsers from
+ Text.ParserCombinators.Pandoc, since the latter is for
+ general-purpose parsers that don't depend on Text.Pandoc.Definition.
+ + Moved isHeaderBlock from Text.Pandoc.Writers.HTML.
+ + Moved Element, headerAtLeast, and hierarchicalize from Docbook
+ writer, because HTML writer now uses these in constructing a table
+ of contents.
+ + Added clauses for new inline elements (Strikeout, Superscript,
+ Subscript) to refsMatch.
+ + Removed backslashEscape; added new functions escapeStringUsing and
+ backslashEscapes.
+ + Moved failIfStrict from markdown reader, since it is now used also
+ by the HTML reader.
+ + Added a 'try' to the definition of indentSpaces.
+ + In definition of 'reference', added check to make sure it's not a note
+ reference.
+ + Added functions: camelCaseToHyphenated, toRomanNumeral,
+ anyOrderedListMarker, orderedListmarker, orderedListMarkers,
+ charsInBalanced', withHorizDisplacement, romanNumeral
+ + Fixed a bug in the anyLine parser. Previously it would parse an empty
+ string "", but it should fail on an empty string, or we get an error
+ when it is used inside "many" combinators.
+ + Removed followedBy' parser, replacing it with the lookAhead parser from
+ Parsec.
+ + Added some needed 'try's before multicharacter parsers, especially in
+ 'option' contexts.
+ + Removed the 'try' from the 'end' parser in 'enclosed', so that
+ 'enclosed' behaves like 'option', 'manyTill', etc.
+ + Added lineClump parser, which parses a raw line block up to and
+ including any following blank lines.
+ + Renamed parseFromStr to parseFromString.
+ + Added a 'try' to the 'end' parser in 'enclosed'. This makes errors in
+ the use of 'enclosed' less likely. Removed some now-unnecessary 'try's
+ in calling code.
+ + Removed unneeded 'try' in blanklines.
+ + Removed endsWith function and rewrote calling functions to use
+ isSuffixOf instead.
+ + Added >>~ combinator.
+ + Fixed bug in normalizeSpaces: Space:Str "":Space should compress to
+ Space.
+
+ * Refactored runtests.pl; added separate tests for tables.
+
+ * Shell scripts:
+
+ + Added -asxhtml flag to tidy in html2markdown. This will
+ perhaps help the parser, which expects closing tags.
+ + Modified markdown2pdf to run pdflatex a second time if --toc or
+ --table-of-contents was specified; otherwise the table of
+ contents won't appear.
+ + Modified markdown2pdf to print a helpful message if the 'ulem'
+ LaTeX package is required and not found.
+
+ * Changes to build process:
+
+ + Dropped support for compilation with GHC 6.4. GHC 6.6 or higher
+ is now required.
+ + Removed cabalize and Pandoc.cabal.in. The repository now contains
+ pandoc.cabal itself.
+ + Pandoc.cabal has been changed to pandoc.cabal, because HackageDB
+ likes the cabal file to have the same name as the tarball.
+ + Expanded and revised the package description in pandoc.cabal.
+ Revised the package synopsis.
+ + The tarball built by 'make tarball' now contains files built from
+ templates (including man pages and shell scripts), so pandoc can
+ be built directly using Cabal tools, without preprocessing.
+ + Executable binaries are now stripped before installing.
+ + Man pages are now generated from markdown sources, using pandoc's
+ man page writer.
+ + Use HTML version of README (instead of RTF) in Mac OS X installer.
+ + Instead of testing for the existence of a pandoc symlink in build-exec,
+ use ln -f.
+
+ * Documentation:
+
+ + Updated README and man pages with information on new features.
+ + Updated INSTALL instructions with some useful clarifications and
+ links.
+ + Updated web content.
+
+ * Added FreeBSD port.
+
+ [ Recai Oktaş ]
+
+ * debian/control:
+
+ + Changed pandoc's Build-Depends to include libghc6-mtl-dev and
+ libghc6-xhtml-dev. Removed libghc6-html-dev.
+ + Suggest texlive-latex-recommended | tetex-extra instead of
+ tetex-bin. This brings in fancyvrb and unicode support.
+
+ -- Recai Oktaş <roktas@debian.org> Tue, 16 Jan 2007 00:37:21 +0200
+
+pandoc (0.3) unstable; urgency=low
+
+ [ John MacFarlane ]
+
+ * Changes in pandoc options:
+
+ + Allow options to follow or precede arguments.
+ + Changed '--smartypants' to '--smart' and adjusted symbols accordingly.
+ + Added '--strict' option.
+ + Added '-o/--output' option.
+ + Added '--dump-args' and '--ignore-args' options (for use in wrappers).
+ + Modified '-v' and '-h' output to go to STDERR, not STDOUT, and return
+ error conditions. This is helpful for writing wrappers.
+ + Added copyright message to '-v' output, modeled after FSF messages.
+ + Reformatted usage message so that it doesn't wrap illegibly.
+ + Removed extra blanks after '-h' and '-D' output.
+
+ * Added docbook writer.
+
+ * Added implicit setting of default input and output format based
+ on input and output filename extensions. These defaults are
+ overridden if explicit input and output formats are specified using
+ '-t', '-f', '-r', or '-w' options. Documented in pandoc(1) man page
+ and README.
+
+ * Allow ordered list items to begin with (single) letters, as well
+ as numbers. The list item marker may now be terminated either by
+ '.' or by ')'. This extension to standard markdown is documented
+ in README.
+
+ * Revised footnote syntax. (See README for full details.) The
+ '[^1]' format now standard in markdown extensions is supported,
+ as are inline footnotes with this syntax: '^[My note.]'.
+ The earlier footnote syntax '^(1)' is no longer supported.
+
+ * Improved HTML representation of footnotes. All footnotes
+ are now auto-numbered and appear in an ordered list at the
+ end of the HTML document. Since the default appearance is now
+ acceptable, the old footnote styles have been removed from the
+ HTML header.
+
+ * Bug fixes:
+
+ + Fixed a serious bug in the markdown, LaTeX, and RST readers.
+ These readers ran 'runParser' on processed chunks of text to handle
+ embedded block lists in lists and quotation blocks. But then
+ any changes made to the parser state in these chunks was lost,
+ as the state is local to the parser. So, for example, footnotes
+ didn't work in quotes or list items. The fix: instead of calling
+ runParser on some raw text, use setInput to make it the input, then
+ parse it, then use setInput to restore the input to what it was
+ before. This is shorter and more elegant, and it fixes the problem.
+ + Fixed bug in notFollowedBy' combinator (adding 'try' before
+ 'parser'). Adjusted code that uses this combinator accordingly.
+ + Fixed bug in RTF writer that caused improper indentation on
+ footnotes occurring in indented blocks like lists.
+ + Fixed parsing of metadata in LaTeX reader. Now the title, author,
+ and date are parsed correctly. Everything else in the preamble
+ is skipped.
+ + Modified escapedChar in LaTeX reader to allow a '\' at the end of a
+ line to count as escaped whitespace.
+ + Modified LaTeX reader to produce inline links rather than reference
+ links. Otherwise, links in footnotes aren't handled properly.
+ + Fixed handling of titles in links in Markdown reader, so that
+ embedded quotation marks are now handled properly.
+ + Fixed Markdown reader's handling of embedded brackets in links.
+ + Fixed Markdown reader so that it only parses bracketed material
+ as a reference link if there is actually a corresponding key.
+ + Revised inline code parsing in Markdown reader to conform to
+ markdown standard. Now any number of `s can begin inline code,
+ which will end with the same number of `s. For example, to
+ have two backticks as code, write ``` `` ```. Modified Markdown
+ writer accordingly.
+ + Fixed bug in text-wrapping routine in Markdown and RST writers.
+ Now LineBreaks no longer cause wrapping problems.
+ + Supported hexadecimal numerical entity references as well as
+ decimal ones.
+ + Fixed bug in Markdown reader's handling of underscores and other
+ inline formatting markers inside reference labels: for example,
+ in '[A_B]: /url/a_b', the material between underscores was being
+ parsed as emphasized inlines.
+ + Changed Markdown reader's handling of backslash escapes so that
+ only non-alphanumeric characters can be escaped. Strict mode
+ follows Markdown.pl in only allowing a select group of punctuation
+ characters to be escaped.
+ + Modified HTML reader to skip a newline following a <br> tag.
+ Otherwise the newline will be treated as a space at the beginning
+ of the next line.
+
+ * Made handling of code blocks more consistent. Previously, some
+ readers allowed trailing newlines, while others stripped them.
+ Now, all readers strip trailing newlines in code blocks. Writers
+ insert a newline at the end of code blocks as needed.
+
+ * Modified readers to make spacing at the end of output more consistent.
+
+ * Minor improvements to LaTeX reader:
+
+ + '\thanks' now treated like a footnote.
+ + Simplified parsing of LaTeX command arguments and options.
+ commandArgs now returns a list of arguments OR options (in
+ whatever order they appear). The brackets are included, and
+ a new stripFirstAndLast function is provided to strip them off
+ when needed. This fixes a problem in dealing with \newcommand
+ and \newenvironment.
+
+ * Revised RTF writer:
+
+ + Default font is now Helvetica.
+ + An '\f0' is added to each '\pard', so that font resizing works
+ correctly.
+
+ * Moved handling of "smart typography" from the writers to the Markdown
+ and LaTeX readers. This allows great simplification of the writers
+ and more accurate smart quotes, dashes, and ellipses. DocBook can
+ now use '<quote>'. The '--smart' option now toggles an option in
+ the parser state rather than a writer option. Several new kinds
+ of inline elements have been added: Quoted, Ellipses, Apostrophe,
+ EmDash, EnDash.
+
+ * Changes in HTML writer:
+
+ + Include title block in header even when title is null.
+ + Made javascript obfuscation of emails even more obfuscatory,
+ by combining it with entity obfuscation.
+
+ * Changed default ASCIIMathML text color to black.
+
+ * Test suite:
+
+ + Added --strip-trailing-cr option to diff in runtests.pl, for
+ compatibility with Windows.
+ + Added regression tests with footnotes in quote blocks and lists.
+
+ * Makefile changes:
+
+ + osx-pkg target creates a Mac OS X package (directory). New osx
+ directory contains files needed for construction of the package.
+ + osx-dmg target creates a compressed disk image containing the package.
+ + win-pkg target creates Windows binary package.
+ + tarball target creates distribution source tarball.
+ + website target generates pandoc's website automatically, including
+ demos. New 'web' directory containts files needed for construction
+ of the website (which will be created as the 'pandoc' subdirectory
+ of 'web').
+ + Makefile checks to see if we're running Windows/Cygwin; if so,
+ a '.exe' extension is added to each executable in EXECS.
+
+ * Removed all wrappers except markdown2pdf and html2markdown.
+
+ * Added new wrapper hsmarkdown, to be used as a drop-in replacement
+ for Markdown.pl. hsmarkdown calls pandoc with the '--strict'
+ option and disables other options.
+
+ * Added code to html2markdown that tries to determine the character
+ encoding of an HTML file, by parsing the "Content-type" meta tag.
+
+ + If the encoding can't be determined, then if the content is local,
+ the local encoding is used; if it comes from a URL, UTF-8 is used
+ by default.
+ + If input is from STDIN, don't try to determine character encoding.
+ + Encoding can be specified explicitly using '-e' option.
+
+ * Improved warning messages in wrappers:
+
+ + Print warning if iconv not available
+ + More user-friendly error messages in markdown2pdf, when
+ pdflatex fails.
+
+ * Code cleanup:
+
+ + Renamed 'Text/Pandoc/HtmlEntities' module to
+ 'Text/Pandoc/Entities'. Also changed function names so as
+ not to be HTML-specific.
+ + Refactored SGML string escaping functions from HTML and Docbook
+ writers into Text/Pandoc/Shared. (escapeSGML, stringToSGML)
+ + Removed 'BlockQuoteContext' from ParserContext, as it isn't
+ used anywhere.
+ + Removed splitBySpace and replaced it with a general, polymorphic
+ splitBy function.
+ + Refactored LaTeX reader for clarity (added isArg function).
+ + Converted some CR's to LF's in src/ui/default/print.css.
+ + Added license text to top of source files.
+ + Added module data for haddock to source files.
+ + Reformatted code for consistency.
+
+ * Rewrote documentation and man pages. Split README into INSTALL
+ and README.
+
+ * Split LICENSE into COPYING and COPYRIGHT.
+
+ * Removed TODO, since we now maintain ToDo on the wiki.
+
+ * Made COPYRIGHT in top level a symlink to debian/copyright, to avoid
+ duplication.
+
+ [ Recai Oktaş ]
+
+ * Revamped build process to conform to debian standards and created
+ a proper debian package. Closes: #391666.
+
+ * Modified build process to support GHC 6.6.
+
+ + The package can still be compiled using GHC 6.4.2, though because
+ of dependencies the "make deb" target works only with GHC 6.6+.
+ + The script 'cabalize' is used to create an appropriate
+ 'Pandoc.cabal' from 'Pandoc.cabal.in', depending on the GHC and
+ Cabal versions.
+
+ * Refactored template processing (fillTemplates.pl).
+
+ * Modified wrapper scripts to make them more robust and portable.
+ To avoid code duplication and ensure consistency, wrappers are
+ generated via a templating system from templates in src/wrappers.
+
+ + Wrappers now accept multiple filenames, when appropriate.
+ + Spaces and tabs allowed in filenames.
+ + getopts shell builtin is used for portable option parsing.
+ + Improved html2markdown's web grabber code, making it more robust,
+ configurable and verbose. Added '-e', '-g' options.
+
+ -- Recai Oktaş <roktas@debian.org> Fri, 05 Jan 2007 09:41:19 +0200
+
+pandoc (0.2) unstable; urgency=low
+
+ * Fixed unicode/utf-8 translation
+
+ -- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400
+
+pandoc (0.1) unstable; urgency=low
+
+ * Initial creation of debian package
+
+ -- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400