=======
CHANGES
=======

2.0.0 (2012-12-21)
------------------

- Implemented ``saveState`` and ``restoreState`` directives. (LP #666194)

- Implemented ``storyPlace`` directive. (LP #665941)

- Implemented ``clip`` attribute of ``path`` directive. See RML example 041.

- Added ``h4``, ``h5``, and ``h6`` directives.

- Implemented ``codesnippet`` directive.

- Implemented ``pageBreakBefore``, ``frameBreakBefore``, ``textTransform``,
  and ``endDots`` attributes for paragraph styles.

- Added ``maxLineLength`` and ``newLineChars`` attributes to the ``pre``
  directive.

- Implemented ``pageNumber`` element for all ``draw*String`` elements.

- Implemented ``NamedString`` directive.

- Implemented ``startIndex`` and ``showIndex`` directive. Also hooked up
  ``index`` in paragraphs properly. You can now create real book indexes.

- Implemented ``ol``, ``ul``, and ``li`` directives, which allow highly
  flexible lists to be created. Also implemented a complimentary ``listStyle``
  directive.

- Implemented the following doc-programming directives:

    * docAssert
    * docAssign
    * docElse
    * docIf
    * docExec
    * docPara
    * docWhile

- Added ``encName`` attribute to ``registerCidFont`` directive.

- Renamed ``bookmark`` to ``bookmarkPage``.

- Created a new canvas directive called ``bookmark``.

- Added ``img`` directive, which is a simple image flowable.

- Implemented crop marks support fully.

- Added ``pageLayout`` and ``pageMode`` to ``docInit`` directive.

- Implemented all logging related directives.

- Implemented ``color`` directive inside the ``initialize`` directive.

- Renamed ``pdfInclude`` to documented ``includePdfPages`` and added `pages`
  attribute, so that you can only include specific pages.

- Don't show "doc" namespace in reference snippets.

- Create a list of RML2PDF and z3c.rml differences.

- Implemented the ``ABORT_ON_INVALID_DIRECTIVE`` flag, that when set ``True``
  will raise a ``ValueError`` error on the first occurence of a bad tag.

- Implemented ``setFontSize`` directive for page drawings.

- Implemented ``plugInGraphic`` which allows inserting graphics rendered in
  Python.

- Added `href` and `destination` to table cells and rectangles.

- Bug: Due to a logic error, bad directives were never properly detected and
  logged about.

- Bug: Overwriting the default paragraph styles did not work properly.

- Bug: Specifying a color in any tag inside the paragraph would fail, if the
  color was a referenced name.

- Bug: Moved premature ``getName`` evaluation into runtime to properly handle
  synamic content now. This is now properly done for any paragraph and
  draw string variant.

- Bug: Fixed DTD generator to properly ignore Text Nodes as attributes. Also
  text nodes were not properly documented as element PCDATA.


1.1.0 (2012-12-18)
------------------

- Upgrade to ReportLab 2.6. This required some font changes and several
  generated PDFs did not match, since some default fonts changed to sans-serif.

- Added ``pdfInclude`` directive from Alex Garel. (LP #969399).

- Switched to Pillow (from PIL).

- Switched RML highlighting in RML Reference from SilverCity to Pygments.

- Bug: Addressed a bug in ReportLab 2.6 that disallowed 3-D pie charts from
  rendering.

- Bug: Properly reset pdfform before rendering a document.

- Bug: Reset fonts properly before a rendering.


1.0.0 (2012-04-02)
------------------

- Using Python's ``doctest`` module instead of depreacted
  ``zope.testing.doctest``.


0.9.1 (2010-07-22)
------------------

- I found a more complete paragraph border patch from Yuan Hong. Now the DTD
  is updated, the border supports a border radius and the tag-para.rml sample
  has been updated.


0.9.0 (2010-07-22)
------------------

- Upgraded to ReportLab 2.4. This required some font changes and several
  generated PDFs did not match, since some default fonts changed.

- Upgraded to latest lxml. This only required a trivial change. Patch by Felix
  Schwarz.

- Implemented ``linePlot3D`` directive. Patch by Faisal Puthuparackat.

- Added paragraph border support. Patch by Yuan Hong.

- Bug: Fixed version number in reference.pt. Patch by Felix Schwarz.

- Bug: Write PDF documents in binary mode. Patch by Felix Schwarz.


0.8.0 (2009-02-18)
------------------

- Bug: Use python executable as a part of the subprocess command.

- Add support for RML's `pageNumber` element.


0.7.3 (2007-11-10)
------------------

- Make sure that the output dir is included in the distribution.


0.7.2 (2007-11-10)
------------------

- Upgraded to work with ReportLab 2.1 and lxml 1.3.6.

- Fix sub-process tests for a pure egg setup.


0.7.1 (2007-07-31)
------------------

- Bug: When the specified page size (within the ``pageInfo`` element) was a
  word or set thereof, the processing would fail. Thanks to Chris Zelenak for
  reporting the bug and providing a patch.


0.7.0 (2007-06-19)
------------------

- Feature: Added a Chinese PDF sample file to ``tests/expected`` under the
  name ``sample-shipment-chinese.pdf``.

- Feature: Added another tag that is commonly needed in projects. The
  ``<keepTogether>`` tag will keep the child flowables in the same frame.
  When necessary, the frame break will be automatic. Patch by Yuan Hong.

- Feature: Added the "alignment" attribute to the ``blockTable``
  directive. This attribute defines the horizontal alignment for a table that
  is not 100% in width of the containing flowable. Patch by Yuan Hong.

- Feature: When creating Chinese PDF documents, the normal TTF for Chinese
  printing is 'simsun'. However, when bold text is neeed, we switch to
  'simhei'. To properly register this, we need the
  ``reportlab.lib.fonts.addMapping`` function. This is missing in the reportlab
  RML specification, so a new directive has been defined::

    <addMapping faceName="simsun" bold="1" italic="0" psName="simhei" />

  Patch by Yuan Hong.

- Feature: The ``para`` and ``paraStyle`` directive now support the "wordWrap"
  attribute, which allows for selecting a different wrod wrapping
  algorithm. This is needed because some far-East Asian languages do not use
  white space to separate words. Patch by Yuan Hong.

- Bug: Handle Windows drive letters correctly. Report and fix by Yuan Hong.


0.6.0 (2007-06-19)
------------------

- Bug: Fixed setup.py to include all dependencies.

- Bug: Added test to show that a blocktable style can be applied multiple
  times. A user reported that this is not working, but I could not replicate
  the problem.

- Update: Updated the expected renderings to ReportLab 2.1. There were some
  good layout fixes that broke the image comparison.


0.5.0 (2007-04-01)
------------------

- Initial Release
