DOMPDF 0.6.1 March 10, 2014 Change highlights since 0.6.0 Prior to this release dompdf was vulnerable to an information disclosure vulnerability. Thanks to Portcullis Computer Security Ltd. for reporting the issue. DOMPDF 0.6.0 February 06, 2014 Change highlights since 0.5.2 • Fonts: Fully Unicode support (with embedded fonts); DejaVu fonts pre-installed; php-font-lib now provides font handling and sub-setting • CSS: float support, border radius, transparency, @page, @font-face, generated content, fixed-positioning, transformations • HTML: HTML5 Parser cleans your HTML syntax • Images: Expanded image handling (including alpha transparency); added support for Data-URI image sources • Performance Improvements = DOMPDF 0.6.0 beta 3 = == New Features == === HTML/CSS/Images support === * Limited support for CSS float (disabled by default). See [http://code.google.com/p/dompdf/source/browse/tags/dompdf_0-6-0_beta3/dompdf/dompdf_config.inc.php#301 DOMPDF_ENABLE_CSS_FLOAT] (r407, r408, r415, r438, r457, r459, r471) * Support for nth-child selectors (r407, r419) * Support for @font-face (r407, r413) * Font sub-setting now available (disabled by default). See [http://code.google.com/p/dompdf/source/browse/tags/dompdf_0-6-0_beta3/dompdf/dompdf_config.inc.php#134 DOMPDF_ENABLE_FONTSUBSETTING] (r466, r468, r469) * Added an HTML5 Parser to enable improved document parsing/correction (disabled by default). See [http://code.google.com/p/dompdf/source/browse/tags/dompdf_0-6-0_beta3/dompdf/dompdf_config.inc.php#316 DOMPDF_ENABLE_HTML5PARSER] (r429, r430, r431, r441) * Added support for ID in anchors tags (r373) * Added a message for broken images and updated the broken_image.png file to something less aggressive (r377) * Added support for transparent PNG in background-image and improved background-image handling (r380, r404, r450, r453) * Improved absolute positioning (r387, r409, r459, r460) * Added support for the "rem" CSS unit (r389) * Improved support for the "ex" CSS unit (r390) * When parsing tables, TR elements not contained by TBODY, TFOOT, or THEAD are automatically encapsulated by TBODY (r390) * Added support for the CSS declaration word-wrap: break-word (r391) * Added support for @page :left, :right, :first, :odd, and :even (r393) * Added support for CSS visibility and empty-cells properties (r393) * Type selectors (e.g. h1) are now case insensitive (r417) * Image type detection is now based on file header instead of filename extension (r422) * Added support for HTML5-style charset metatag (``) (r430) * Added support for nested CSS counters (r438) * Replaced TTF2UFM with php-font-lib and remove all dependencies on TTF2UFM (r447) * Table columns widths are now consistent across pages (r462) * Added limited support for table captions (r456) * Reduced rendering time by using caches (r469) === Installation / configuration / debugging === * Added frame (i.e. discreet document element) count to the sample website debugger output (r399) * DOMPDF_ENABLE_REMOTE is no longer needed for stylesheet references that use a URL with domain component (r407) * Added a ready-to-use web-based font installer to the sample website (www/fonts.php) (r417, r418) * Added the Unicode-compatible [http://dejavu-fonts.org DejaVu Fonts] as part of the base installation (r388) === Major bug fixes === * Fixes compatibility with the Symfony framework autoloader (disabled by default). See [http://code.google.com/p/dompdf/source/browse/tags/dompdf_0-6-0_beta3/dompdf/dompdf_config.inc.php#310 DOMPDF_AUTOLOAD_PREPEND] (r374) * Fixes errors in how margins were collapsed between siblings (r375) * Improves the way lines are aligned vertically (see the css_baseline example) (r375) * Corrects the bounding box used for drawing backgrounds (r377) * Fixes the z-index rendering process (r377, r378, r379, r393) * Adds support for color styling inheritance (r390) * Fixes bugs with nested tables and HTML attributes (r393) * Fixes handling of URLs with non-ascii chars in the CPDF adapter (r394) * Fixes a rgb()-style color parsing bug (r402) * Fixes RLE4 compressed bitmap image support (r405) * Fixes bug that caused generated content to occasionally display multiple times (r406) * Improves background image clipping (r417) * Fixes table layout bug caused by zero-height rows (r464) * Fixes layout bug caused by 100% width tables centered with margin auto (r465) For a full list of modifications since DOMPDF 0.6.0 beta 2 see the changes listed on this page of the [http://code.google.com/p/dompdf/source/list?num=88&start=472&path=/trunk repository changelog]. === Known Issues === * Table cells cannot be split over multiple pages * CSS float support is not yet perfected For a full list of known issues, see the [http://code.google.com/p/dompdf/issues/list issue tracker]. === Installation Notes === * Starting with DOMPDF 0.6.0 the dompdf.php script will no longer allow conversion of HTML document on the local file system that are located outside of the path specified by [http://code.google.com/p/dompdf/source/browse/tags/dompdf_0-6-0_beta3/dompdf/dompdf_config.inc.php#109 DOMPDF_CHROOT] * If you are installing DOMPDF on top of an existing installation you should remove any existing font metrics. This can be done manually or through the sample website (www/fonts.php). * When upgrading to a new version of DOMPDF you must replace dompdf_config.inc.php with the new one. To simplify the upgrade process you can store your configuration settings in dompdf_config.custom.inc.php (which does not need to be overwritten). === DOMPDF 0.6 Roadmap === * Improve Unicode support * Improve page breaks inside or outside tables * Improve support for CSS float * Reduce memory usage ---- = DOMPDF 0.6.0 beta 2 = == New Features == === HTML/CSS/Images support === * CSS3: opacity, 2D transforms * CSS2: outline, letter-spacing, z-index, position: relative, overflow: hidden * CSS Pseudo elements :before and :after with generated content * CSS2 pseudo-selectors (last-child, disabled, checked, enabled) * CSS3 attribute selectors (ends-width, starts-width, contains) * Improves absolute positioning * Adds fixed positioning * CMYK colors and CMYK Jpeg images * 32bit PNG with alpha channel (Cpdf backend) * BMP images (8, 24 and 32 bit) * Adds support for image embedding via “data” URI * Adds support for ordered list * Adds support for embedding PDF !JavaScript * Uses the HTML document title element and certain meta tags to populate the PDF’s meta information (title, author, keywords and subject) * Uses the “alt” attribute of an image when the image is inaccessible * Supports loading system fonts === Installation / configuration === * The demo page now shows the HTML file and the PDF document in an iframe * Adds a setup/configuration tool that provides information about the server configuration, dompdf parameters, and installed fonts. * The font metrics cache files can now be cleared using the setup/config tool * Adds a debug tool that shows side-by-side the HTML file, the rendered PDF, and a console showing memory consumption, rendering time, warning, and debug messages * Adds examples showing new features * Moves ttf2ufm out of the DOMPDF code repository and into an [http://code.google.com/p/ttf2ufm/ external project] * Disables inline PHP support by default * Disables direct input in the examples page for non-localhost access * Adds configuration option to help debugging (see DEBUG_LAYOUT) which draws rectangles around the different types of blocks and frames == Major bug fixes == * Addresses memory leaks from running eval() on the font metrics cache * Reduces memory consumption caused by the font metrics (when using the Cpdf backend) * Updates text wrapping to prevent splitting text into more lines than needed ([http://code.google.com/p/dompdf/issues/detail?id=198 issue 198]) * Implements a check against an infinite loop caused by table cells larger than a page * Improves text height and width calculations as well as placement (improves, for example, justified text rendering for text that is not iso-8859-1) * Updates the fallback MBString functions * Supports PHP 5.3 and includes improved compatibility with older versions of PHP 5 * Improves image placement * Addresses problems with table flow caused by empty table cells * Addresses warning/errors caused by unrecognized CSS rules or selectors For a full list of modifications since DOMPDF 0.6.0 beta 1 see the [http://code.google.com/p/dompdf/source/list?path=/tags/dompdf_0-6-0_beta2&num=104 repository changelog] == Known Issues == * Table cells cannot be split over multiple pages * Column widths of tables that span more than one page may not be consistent across pages == Installation Notes == * Starting with dompdf 0.6.0 dompdf.php will no longer allow conversion of HTML document on the local file system that are located outside of the path specified by DOMPDF_CHROOT * The format of the font metrics cache has changed as of this release. You should manually remove any existing font metrics prior to upgrading or use the setup/configuration tool to do so immediately after. * Inline PHP is *disabled* by default now (see DOMPDF_ENABLE_PHP) * Because additional configuration options have been added you will need to replace your dompdf_config.inc.php file with the new one. You may modify this file or copy your configuration settings to dompdf_config.custom.inc.php.