CHANGELOG
=========

********************************************************************************
  "I would like to thank the people mentioned in brackets in this change log
  very much for their help and support!" - Dirk
********************************************************************************

Version 3.0.24, 2008-07-14

- NEW: Support for separate borders on each side of a paragraph has 
       been added (Robin Dunn)
- NEW: Support for font tag (color, face, size)
- UPD: Handling of margin and padding in paragraphs is improved (Robin Dunn)
- UPD: Updated documentation (CreatePDF, Images)
- FIX: A typo in margin-left has been fixed (Robin Dunn)

Version 3.0.23, 2008-06-26

- UPD: getColor() now understands colors like rgb(255,0,0) (Darryl Dixon)
- FIX: c.warning threw errors if no arguments where passed (Searle)
- FIX: pisa now works with html5lib 0.11.1
       http://code.google.com/p/html5lib/issues/detail?id=74

Version 3.0.22, 2008-06-06

- UPD: Updated documentation
- UPD: Speed optimizations by removing copy.deepcopy (Darryl Dixon)
- FIX: Small fix in CSS parser

Version 3.0.21, 2008-06-05

- FIX: Used a parameter for html5lib that was not supported by html5lib 0.10
- FIX: Now tested against the latest third party packages:
       ReportLab 2.1
       html5lib 0.10
       pyPdf 1.11

Version 3.0.20, 2008-06-02

- NEW: New parameter "encoding" to explicitly set an encoding for the source data
- UPD: Added a programming example to documentation
- FIX: If a Unicode string is passed it will automatically be converted to UTF8
- FIX: Fixes for Google AppEngine support
- FIX: If possible cStringIO will be used instead of StringIO
- FIX: An exception in psaDocument was not handled the right way because
       a context object was expected

Version 3.0.19, 2008-05-31

- NEW: Support for Google AppEngine
- NEW: Support for page break before and after [not yet tested] (Luka Frelih)
- UPD: Reworked parts of the documentation but not yet completed
- UPD: Optimized the command line tool "pisa"
- FIX: TOC bugs regarding entities and additional tags inside the TOC
       entry definitions (Luka Frelih)
- FIX: Default logging didn't work with Python<2.5 (Anders J. Munch)
- FIX: StringIO is used instead of cStringIO to avoid encoding problems
       like the ones we had with GoogleAppEngine

Version 3.0.18, 2008-04-19

- WIN: Updated the windows command line version
- NEW: WSGI support and demo
- NEW: Added simple ASPN Cookbook example
- UPD: Unified setup.py and setup_egg.py (Andreas Gabriel)
- UPD: Better handling of XML and HTML parsing
- UPD: Cleanup of Django sample
- UPD: Cleanup of command line tool options
- UPD: Command line tool doesn't stop batch if error occurred any more
- FIX: 'style' attribute was not evaluated!
- FIX: If a string was passed to pisaDocument it had been converted to StringIO,
       which was not necessary
- FIX: c.addPara(force=True) works again e.g. for forcing empty pages
- FIX: Better handling of CDATA and Comments
- FIX: Better handling of &nbsp;
- FIX: Removed rsplit() for backward compatibility with Python 2.3
- FIX: Handling of inconsistent HTML anchors
- FIX: TurboGears Demo

Version 3.0.17, 2008-03-23

- NEW: Added CSS support for TOC and updated documentation (Jean Baltus)
- UPD: Added "render_to_pdf" to Django demo (Diego Firmenich)
- UPD: Did some refactoring to make CSS parsing more flexible
- UPD: Removed log.exception for warnings
- FIX: Empty entries in TOC (Jean Baltus)
- FIX: Use correct font for <li> now (reported by Gabor Farkas)

Version 3.0.16, 2008-03-16

- Did some researches about support for languages like Farsi, Arabic and Asian
  languages. The dir='rtl' feature seems to be quite time intensive to be
  implemented, maybe I will do it in a later version or on request
- Switched back to HTML parsing by default, but use of XHTML is recommended. Use
  the option "xhtml" in pisaDocument or "-x" in the command line tool
- Added a decorator for use in Turbogears and CherryPy
- Completely switched to Python logging system
- Created a separate download for the fonts in the "test" directory to
  reduce the size of the package
- Just use multiBuild if needed e.g. using pdf:toc
- Bugfix: @font-face threw always a warning about font-weight
- Bugfix: List points have to be always in "Helvetica" (Gabor Farkas)
- Bugfix: Obligatory attributes for tag had not been handle the right way
- Bugfix: Marked some old tag based functionalities like pdf:font, pdf:frame and
  pdf:template as deprecated

Version 3.0.15, 2008-03-13

- Added new package and namespace "ho". With pisa 3.1. we will move away form "sx"
- Added version testing (2.1) for Reportlab Toolkit (Diego Firmenich)
- Added new command <pdf:toc> for support of table of contents, stiling per CSS
  has not been implemented yet (Jean Baltus)
- Added simple barcode support via command <pdf:barcode> (Diego Firmenich)
- Added Python logging. Name of logger "ho.pisa" and "ho.css". Set debugging
  level in command line tool by using "-d" for debugging and "-w" for warnings
- Added complete support for CSS "font"
- Modified the version handling and setup system for pisa distributions (had to
  do with the import errors that where not thrown, reported by Schmitte)
- Updated documentation and added a CSS for HTML version
- Bugfix: CSS "background" URL handling was broken (Luis Bruno)
- Bugfix: CSS "border" now works more standard conform
- Bugfix for compatibility problems with Python 2.3 because of reversed() function
- Bugfix: No exception was thrown if a third party module was missing (Kai Schmitte)
- Bugfix: Changed HTML5 parser from HTMLParser to XHTMLParser so that the
  custom tags of the "pdf" namespace are handled like expected
- Bugfix: Switched from urllib to urllib2 because status errors (like 404) where
  not handled (Kees Hink)
- A lot of smaller bugfixes and testings

Version 3.0.14, 2008-02-13

- Added a sample for Unicode support in exotic languages like "farsi" using
  DejaSans font (Adam Hyde)
- Command line tool generation integrated into setup.py (Andreas Gabriel)
- Bugfix if no path had been set to pisaDocument()
- Bugfix for calculating @frame dimensions
- Bugfix: CSS comments like "//" where allowed (Andreas Gabriel)

Version 3.0.13, 2008-01-22

- Added a demo using cherrypy web server and kid
- Added a demo using django framework
- Modified test-background.html to work with CSS
- Added suport for bold and italic TTF fonts to the @font-face
  CSS section (Robert Klep)
- Added suport for bold and italic Postscript fonts to the @font-face CSS section
- The @-rules are not need a trailing space after ident any more (Robert Klep)
- Fixed the Windows standalone version to work
- Made the 'sx' folder more sharable by modifying __init__.py
- Changed font-weight so that only values starting with '400'are
  considered 'bold' (Robert Klep)
- Added "text-indent" style (Robert Klep)
- Added "-pdf-keep-with-next" style to avoid page break between
  certain elements (Robert Klep)
- Added "-pdf-outline", "-pdf-outline-level" and "-pdf-outline-open" styles to
  create PDF bookmarks. Per default this is defined for
  the tags H1 to H6 (Robert Klep)
- New option to overwrite the default CSS definitions of pisa
- New command line options --css
- New command line options --css-dump to get the default CSS definitions.
  A dump of the recent CSS default may also be found in test/default.css
- Fixed setup.py
- Added EGG installation file support

Version 3.0.12, 2008-01-09

- Moved SVN repository to Holtwick
- Modified copyright notes and links to http://www.htmltopdf.org/
- Added new table attributes "border", "bordercolor", "cellpadding"
- Added support for &nbsp;

Version 3.0.11, 2007-11-13

- New example for loading a page form the web via Python
- New example "test-invoice.html"
- Added support for "align" attribute to <td> and <th>
- Fixed that more than one static frame can use the same named element
- Added -pdf-next-page to specify next page template
- Added -pdf-frame-break: after, before
- Fixed bug for @page without declarations
- Added option for output of errors as PDF (e.g. useful in web applications)
- Set "producer" to "pisa"
- Set author, subject and keywords with <meta>

Version 3.0.10, 2007-11-02

- Fixed some problems with wrong @page and @frame definitions
- New property -pdf-frame-box
- Implemented a pre parser for CSS that cleans up the code with some
  regular expression, like stripping illegal url(http://...)
- Improved online demo
- First release of binary Windows command line version or pisa
- Fixed some issues with named anchors
- Empty documents are now delivered correctly
- Fixed error on list types
- Fixed problem with debugging infos

Version 3.0.9, 2007-10-31

- Modified setup.py for Chesse Shop
- Added bdist_wininst to setup
- Moved w3c into sx package and added license text
- Modified simple.py demo script
- Clean up for first public release

Version 3.0.8, 2007-10-31

- Added <a name> and a bugfix for ReportLab anchors
- Added <a href>
- More documentation about fonts and new font aliases
- Fixed some bugs in tables
- <hr> now uses ReportLabs implementation
- Margin collapse by using spaceBefore and spaceAfter
- Renamed -pdf-page-size to size (CSS3)

Version 3.0.7, 2007-10-30

- Static frames in @frame
- Wrote layout section in documentation
- Updated the documentation CSS
- Renamed @box to @frame
- Added -pdf-page-size and -pdf-page-orientation
- Added @page and @box
- Fixed some problems with font definitions and Unicode
- Font "Times" does not exist, changed default to "Times-Roman"
- Margins, paddings and borders are only applied in display:block elements

Version 3.0.6, 2007-10-29

- Implemented @font-face
- "font-family" can now handle comma separated font names
- Implemented <pdf:font> for embedding TTF and PS fonts
- <link> looks for rel="stylesheet"
- Style "white-space" and support for PRE
- Nested lists and ordered lists, Style "list-style-type"
- Prepared parser for @page and @box

Version 3.0.5, 2007-10-25

- Initial implementation of @font-face
- Warnings are only shown if flag -w is set
- Relative @import implementations
- Workaround for styles beginning with asterics like "*font: small"
- Support for color=transparent (threw Exceptions before)
- For @import with now media, is now set media=all
- Fixed the .1 CSS parser problem
- Removed cssutils again because of problems with @import
- Ignore CDATA in style definitions
- New method c.debug and command line option --debug
- Better URL support
- CSS attributes may now start with hyphen for vendor
  specific styles e.g. "-pdf-page-break"
- Implemented @import
- Implemented @media
- Images are now recalculated to 96DPI too
- 1px = 1/96inch (96dpi) instead of 1px = 1pt = 1/72inch
- Added some new tests like test-css-media.html

Version 3.0.0

- Initial versions of pisa rewrite
