[kramdown-users] [ANN] kramdown 0.12.0 released

Thomas Leitner t_leitner at gmx.at
Mon Nov 1 05:16:12 EDT 2010


## About kramdown

kramdown (sic, not Kramdown or KramDown, just kramdown) is a *free*
GPL-licensed [Ruby](http://www.ruby-lang.org) library for parsing a
superset of Markdown. It is completely written in Ruby, supports
standard Markdown (with some minor modifications) and various
extensions that have been made popular by the [PHP Markdown Extra]
package and [Maruku].

Homepage for installation instructions and documentation:
   http://kramdown.rubyforge.org


## kramdown 0.12.0 released

Some changes in the last release of kramdown lead to a performance
drop. Therefore some performance optimizations have been done resulting
in about 15% less created objects (which reduces the garbage collection
pressure) and quite a performance gain (this version of kramdown is the
faster than any previous version when using Ruby 1.9.2) -- see the
[tests page](../tests.html) for detailed information.

Aside from the performance optimizations, a Markdown-only parser based
on the kramdown parser has been added

The "internal" API (which is currently everything except the
`Kramdown::Document` class) has changed again and developers may
therefore need to update their extensions! The API changes now allow
parsers and converters to be used without a Kramdown::Document class
since this class is just provided for convenience. All the needed
information is now stored in the element tree itself. Information that
has no direct representation as an element is stored in the options of
the root element (e.g. abbreviation definitions). More information can
be found in the API documentation.

The API should now be relatively stable and once kramdown reaches
1.0.0, the final API will only be changed in backwards compatible ways.

## Changes

* 1 major change:

  - Added Markdown-only parser

* 6 minor changes:

  - Angle brackets can now also be escaped
  - Pipe characters in code spans that appear in tables do not need to
    be escaped anymore
  - New option `toc_levels` for specifying the header levels used for
    the table of contents (requested by Rick Frankel, RF#28672)
  - MathJax instead of jsMath is now used for math output in the HTML
    converter
  - New option `latex_headers` for customizing the header commands for
    the LaTeX converter
  - Removed parsing of HTML doctype in HTML parser

* 6 bug fixes:

  - Fixed output of paragraphs starting with a right angle bracket in
    the kramdown converter
  - Invalid span IALs are now left alone and not removed anymore
  - Option `entity_output` is now respected when outputting a
    non-breaking space for emtpy table cells in the HTML converter
    (reported by Matt Neuburg)
  - Fixed bug where a block IAL before a block HTML element was ignored
    (reported by Matt Neuburg)
  - Fixed bug where block IALs were falsely applied to nested elements
    (reported by Matt Neuburg)
  - Fixed bug RF#28660: Converting `<div><br /></div>` from HTML to
    kramdown resulted in stack trace (reported by Garrett Heaver)

* 1 deprecation note:

  - The option `toc_depth` is replaced by the new option `toc_levels`
    and will be removed in the next version.


More information about the kramdown-users mailing list