The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.13   2010-06-01

- Fixed handling of a very pathological case for table parsing, which caused
  the parser to die. Instead, it will now keep going. Your output may be
  bizarre, but the parser should not die.

- Fixed handling of a tab character next to a cell delimiter. This caused the
  parser to become very confused and go into an endless loop. Now such tabs
  are simply stripped from the output (just like other whitespace next to a
  cell delimiter).


0.12   2010-05-25

- Allow setting the handler class when calling Test::Markdent::parse_ok().


0.11   2010-05-25

- Moved Test::Markdent into lib (from t/lib), since it is useful to anyone who
  wants to write a Markdent dialect.


0.10   2010-05-19

- Split all HTML generating code into ::Document and ::Fragment classes. This
  means that Markdent::Handler::HTMLStream is now
  Markdent::Handler::HTMLStream::Document and
  Markdent::Handler::HTMLStream::Fragment. Similarly, Markdent::Simple is now
  Markdent::Simple::Document and Markdent::Simple::Fragment.

  This was done to make it easy to turn a snippet of Markdown into a snippet
  of HTML. Previously, you could only generate a complete HTML document.


0.09   2010-02-15

- The Theory dialect parser would parse text in brackets as a table caption
  even if no table followed, for example:

  [Not a caption]

  Just some text


0.08   2009-12-06

- Added a missing dependency, MooseX::Role::Parameterized.


0.07   2009-11-27

- You can now include a header marker at the beginning and/or end of the
  table. This matches how MySQL outputs tables from its CLI tool.

  +------+-------------+------------------------------+--------+
  | id   | name        | description                  | price  |
  +------+-------------+------------------------------+--------+
  |    1 | gizmo       | Takes care of the doohickies |   1.99 |
  |    2 | doodad      | Collects *gizmos*            |  23.80 |
  |   10 | dojigger    | Foo                          | 102.98 |
  | 1024 | thingamabob | Self-explanatory, no?        |   0.99 |
  +------+-------------+------------------------------+--------+

  Suggested by David Wheeler.


0.06   2009-11-27

- Added a new handler, Markdent::Handler::HTMLFilter, which removes all HTML
  events (except for entities) from the event stream.

- Added a new role, Markdent::Role::FilterHandler, to make it easier to write
  filtering handlers.


0.05   2009-11-27

- Theory-style tables no longer need to have header rows. They can just
  consist of a body.

- Theory-style header rows can use equals signs (=) in the marker:
  
  | Header 1 | Header 2 |
  +==========+==========+
  | Body 1   | Body 2   |


0.04   2009-11-26

- Added Markdent::Manual, a start at more comprehensive high-level docs on how
  to use Markdent.

- Fixed some parsing bugs where some match methods did not return true, which
  could cause failures if the handler's handle_event method didn't return
  true. Now all match methods explicitly return true when they match (as they
  should).

- Added a new handler, Multiplexer, which lets you multiplex the event stream
  to more than one handler at a time.


0.03   2009-11-26

- Added Markdent::Handler::CaptureEvents and Markdent::CapturedEvents. In my
  benchmarks, thawing a Markdent::CaptureEvents object and replaying its
  events to generate HTML for a bunch of documents was about 6x faster than
  parsing from scratch.

- Started implementing some Markdown extensions proposed by David Wheeler as
  the "Theory" dialect. This includes a nice syntax for tables. For now this
  only includes the table extension.

- Made it easy to specify a dialect for a parser by writing

    my $parser = Markdent::Parser->new( dialect => 'Theory' );

- HTML comments are now parsed as comments, not text or HTML tags. There are
  two events for this, HTMLCommentBlock and HTMLComment. The block version is
  for standalone comments, the other is for comments embedded in text.

- Made tag balancing a bit more generic with the Markdent::Role::BalancedEvent
  role, which makes it easier to compare start & end events to see if they're
  balanced.

- Refactored some parser internals to improve subclassability.


0.02   2009-11-24

- Fixed some cases of nested strong and em in the Standard dialect's
  parser. It was broken for cases like this:

  *This **is a test***.

  This should turn into HTML like

  <em>This <strong>is a test</strong></em>

  but instead turned into

  <em>This</em> <em>is a test</em>*.

- Added some missing test dependencies.

- There is now a separate class for each type of event, all of which do the
  Markdent::Role::Event role.


0.01   2009-11-21

- First version, released on an unsuspecting world. Still rather alpha, and
  internals are subject to lots of change.