Roadmap

This is a development roadmap for Prince that lists upcoming features and improvements. Feature priority is determined by customer feedback, level of difficulty, resource availability, and compatibility with other development work. Please note that the order of items in the roadmap is not guaranteed and may change at any time.

Last updated 28 March 2024

8ODO

Support the JavaScript DOM element closest method.
Done 2023-01-04

Add new --job command-line option for specifying jobs in JSON format. (ref)
Done 2023-01-16

Support more JavaScript DOM child node methods: before, after, append, remove, replaceWith.
Done 2023-01-20

Support default function parameters in JavaScript.
Done 2023-01-25

Support shorthand and computed property names in JavaScript object initialisers.
Done 2023-02-02

Support the __proto__ property for setting the prototype in JavaScript object initialisers.
Done 2023-02-07

Add new --http-header option for specifying custom HTTP headers. (ref)
Done 2023-02-09

Improve subsetting of OTF fonts (OpenType with CFF outlines). (ref)
Done 2023-03-01

Support JavaScript accessor property syntax for getter/setter functions (needed for plotly.js). (ref, ref)
Done 2023-03-01

Support text-transform case conversion correctly for Turkish language. (ref)
Done 2023-03-06

Support bracket pairing from the revised Unicode bidi algorithm.
Done 2023-03-06

Support ES6 rest parameters in JavaScript. (ref)
Done 2023-03-17

Support explicit directional formatting characters from the revised Unicode bidi algorithm.
Done 2023-05-08

Support unicode-bidi: isolate | isolate-override.
Done 2023-05-08

Support prince-pdf-tag-title: none | <string> | attr() (ref)
Done 2023-05-08

Support the HTML <bdi> element, the "auto" value for the dir attribute, and the CSS :dir() pseudo-class. (ref)
Done 2023-05-15

Support unicode-bidi: plaintext.
Done 2023-06-02

Support the CSS :is() selector, formerly called :matches().
Done 2023-06-05

Support the CSS :where() selector.
Done 2023-06-07

Support the CSS :any-link selector.
Done 2023-06-08

Support css-color-4 syntax for rgb()/rgba() and hsl()/hsla(), except for 'none' components. (ref)
Done 2023-07-05

Support css-color-4 hwb() color function, except for 'none' components.
Done 2023-07-05

Support css-color-4 style syntax for device-cmyk() and cmyk().
Done 2023-07-05

Fix issue where the position of the content top for block containers doesn't take borders and padding into account. (ref)
Done 2023-07-19

Fix issue where long sidenotes can cause Prince to hang. (ref)
Done 2023-08-08

Support JavaScript object destructuring syntax.
Done 2023-08-09

Support the JavaScript String methods startsWith, endsWith, includes, and repeat. (ref)
Done 2023-08-11

Support JavaScript template literals and String.raw. (ref)
Done 2023-09-01

Fix issues with automatic semicolon insertion in JavaScript.
Done 2023-09-11

Support the row-gap and column-gap properties on flex containers. (ref)
Done 2023-09-13

Support the gap shorthand property on flex containers. (ref)
Done 2023-09-20

Support more values for the align-content, justify-content, align-items, and align-self flex properties and support the place-content shorthand property. (ref)
Done 2023-09-28

Allow the --pdf-script option to be specified multiple times and the pdf-script JSON job description field to take an array of multiple values. (ref)
Done 2023-10-05

Support the accent-color property on PDF radio and checkbox form controls. (ref)
Done 2023-10-25

Support JavaScript array destructuring syntax.
Done 2023-11-01

Support JavaScript spread syntax.
Done 2023-11-13

Add a new CSS property -prince-pdf-form-field-font-size: normal | auto (defaulting to normal) that allows text inputs in PDF forms to automatically size the text to fit the available space. (ref)
Done 2023-11-16

Support <input type="prince-pdf-signature"> to create signature fields in PDF forms.
Done 2023-11-16

Support the "inset" CSS shorthand property. (ref)
Done 2023-11-20

Report page numbers containing potentially incorrect cross-references and add a new fail-safe option --fail-incorrect-references. (ref)
Done 2023-11-23

Support text-underline-offset and text-decoration-thickness properties, and the "from-font" value for the text-underline-position property. (ref)
Done 2023-12-05

Support OpenType variable fonts. (ref)
Done 2024-01-23

Support loading very large XML documents and add new command-line option --xml-parse-huge to enable this on Linux systems with versions of libxml2 older than 2.11.0. (ref, ref)
Done 2024-01-24

Fix issue with some Thai fonts that require the OpenType liga feature. (ref)
Done 2024-02-06

Restrict the painting of positioned table cell backgrounds in tables with collapsed borders, so that the background does not overlap with the borders. (This matches browser behaviour).
Done 2024-02-19

Fix issue where percentages are resolved incorrectly in SVG x/y attributes.
Done 2024-02-19

Fix potential crash at program exit if background threads make HTTPS requests using OpenSSL. (ref)
Done 2024-02-22

Fix potential crash affecting break-after: avoid in multi-column layout.
Done 2024-02-22

Update "prince --credits" to include more version information for the libraries that Prince uses.
Done 2024-03-04

Fix precision issue affecting some SVG images. (ref)
Done 2024-03-05

Fix bug affecting the flex row-gap property. (ref)
Done 2024-03-11

Add the Noto CJK fonts to the default serif and sans-serif font families. (ref)
Done 2024-03-11

Support the JavaScript DOM parentElement property.
Done 2024-03-22

Support the JavaScript DOM readyState property and readystatechange event.
Done 2024-03-25

Speed up the JavaScript DOM getComputedStyle() property when the document has not changed since the last call.
Done 2024-03-25

Fix issue affecting zero values specified for variable font axes.
Done 2024-03-28

Support generator functions in JavaScript. (ref)

Support CSS grid layout. (ref, ref, ref)

Support placing footnotes at the bottom of a page float. (ref)

Address issues with layout of flex containers. (ref)

Investigate the practicality of supporting vector-effect. (ref)

Support logical margin properties. (ref)

Support "ch" units. (ref, ref, ref)

Support nested CSS. (ref)

Support async functions in JavaScript. (ref)

Support classes in JavaScript. (ref)

Support the TrueType "kern" table for kerning when the OpenType GPOS table is not present. (ref)

Fix bug in which absolutely positioned (inline?) content can have the wrong z-index. (ref)

Investigate using non-breaking space glyph from font as it may have different width to regular space. (ref)

Support "background-clip: text". (ref)

Fix inconsistency in emoji rendering between PDF and image output. (ref)

Allow fallback to color emoji when no black and white emoji is available. (ref)

Emit a warning when PDF encryption passwords are not valid (Latin-1).

Support Prince on iOS. (ref)

Support legacy RegExp.$n JavaScript properties needed for MathJax 2.

Add a @prince CSS rule for use hiding Prince-specific CSS declarations from other user-agents.

Unicode normalisation issues. (ref)

Support the HTML img srcset attribute. (ref)

Fix bug in which forced left/right page breaks can incorrectly extend a named page sequence. (ref)

Support fragmentation and correct sizing for multi-line flex column containers.

Support the browser hack for fragment URLs in CSS. (ref)

Fix bug in which floats with "display: block" can break paragraphs. (ref)

Improve rendering of adjacent border segments in tables with collapsed borders. (ref)

Investigate stacking order of table cell backgrounds and collapsed borders in the presence of relative positioning. (ref)

Add JavaScript mechanism for checking image resolutions. (ref)

Support text-decoration-skip-ink for underlines that avoid glyph descenders. (ref)

Devise a CSS mechanism for numbering lines. (ref)

Improve Danish hyphenation dictionary.

Allow the prince-pdf-color-options property to be applied to individual elements. (ref)

Provide a mechanism to disable column balancing for all pages, not just the last page. (ref)

Support underlining portions of an Arabic word without breaking cursive connection. (ref)

Support Vietnamese in the Verdana font and other fonts without OpenType positioning tables.

Redesign the way JavaScript environments are isolated/shared between multiple input documents. (ref)

Remove limitation affecting concave float layouts and support shape-outside. (ref, ref, ref, ref, ref, ref, ref)

The root element background should bleed to the trim box if there are no margins, padding, or borders on the page.

Fix hairline cracks between page margin boxes by unifying them into a single rectangle when adjacent boxes have the same background color. (ref)

Fix bug where background images don't apply to table rows. (ref, ref)

Fix bug where padding on lists and list items leads to incorrect placement of list item markers. (ref)

Change the SVG feBlend filter to use PDF transparency groups instead of rasterising when possible.

Investigate whether it is possible to support the "BackgroundImage" source for SVG filters. (ref)

Support the CSS mix-blend-mode property. (ref)

Reduce memory usage when filtering many large images. (ref)

Reduce memory usage when rasterising very large images. (ref)

Investigate issue where overriding counter-reset on list elements produces unexpected behaviour. (ref)

Fix issue affecting layout of tables with a specified height. (ref)

Add padding-inside / padding-outside and border-inside / border-outside properties for duplex page layouts. (ref, ref)

Treat hyphen-minus and the U+2010 hyphen character consistently for hyphenation and word-breaking purposes.

Optimise the window.getComputedStyle method, which recomputes the style environment unnecessarily. (ref)

Support the font-size-adjust property. (ref)

Fix issue where whitespace can collapse incorrectly around generated content returned by a script function that has been delayed due to a counter. (ref)

Support a mechanism for creating file attachment annotations. (ref)

Fix bug where CSS transforms on tables do not affect the table caption. (ref)

Support CSS transforms on SVG elements. (ref)

Support referencing SVG filters from the CSS filter property.

Investigate issue with HTML comments inside script elements. (ref)

Allow linebreaks after em-dashes. (ref)

Support the JavaScript window.onerror event and the link.onload event and related events. (ref, ref)

Add a method for accessing Log.data information from C# and Java wrappers. (ref, ref, ref)

Fix bug affecting the stacking order of absolutely positioned boxes. (ref, ref)

Fix issue where the writing-mode property does not apply to table cells. (ref)

Investigate issue where mixed Chinese and Latin text can be misaligned in vertical writing modes. (ref)

Support vertical-lr writing mode. (ref)

Support the text-emphasis properties. (ref)

Support the prince-tooltip property on SVG elements. (ref, ref)

Support HTMLTextAreaElement.value property (needed for ABC.js).

Support HTML ordered lists that nest without enclosing <li> elements. (ref, ref)

Investigate zero-width space on a line of its own following forced line break. (ref)

Support colgroup elements that don't contain any col elements. (ref, ref)

Support table-specific JavaScript DOM properties, like caption. (ref)

Support alternate catalog locations. (ref)

Support dictionary based line-breaking for Japanese text. (ref)

Support SVGTextContentElement.getNumberOfChars() method (needed for ABC.js).

Try harder to find suitable fallbacks for missing glyphs, eg. by searching all available fonts on the system.

Add warning messages for CSS property values that are syntactically valid but are not recognised by Prince. (ref)

Add option to generate HAR file for profiling HTTP performance of slow documents. (ref)

Fix bug affecting automatically generated anonymous table boxes inside absolutely positioned blocks. (ref)

Change the rendering order of rowspan table cells to fix text search across line break issue in Acrobat.

Support 256-bit PDF encryption.

Fix bug affecting table captions. (ref)

Fix bug affecting inline footnotes. (ref)

Disambiguate document filenames to ensure links work. (ref)

Support the HTML picture tag. (ref)

Support continuation markers for elements that break lines or break pages. (ref)

Support scoped @font-face rules in iframes. (ref)

Investigate layout of blocks with "overflow: hidden" that should be pushed aside by floats. (ref)

Add a mechanism to specify the separator used for inline footnotes. (ref, ref)

Investigate disappearing floats inside relatively positioned table rows. (ref)

Fix bug where floats can overlap, even if they have clear applied. (ref)

Provide a mechanism for breakable spaces of varying widths (eg. thin space, hair space).

Allow prince-script() to be used in the counter-reset and counter-increment properties. (ref)

Fix bug where "page-break-after: always" applied to page floats can also cause a page break before the page float.

Extend getComputedStyle to return used width/height in some cases, for compatibility with web browsers.

Implement JavaScript DOM FileReader and File interfaces.

Support JavaScript canvas measureText method. (ref)

Change column rules so that they don't overlap spanning column floats. (ref)

Fix bug where SVG width behaves differently depending on whether it is specified as an attribute or a style property. (ref)

Support justification of lines that don't contain spaces. (ref)

Handle links in non-repeated SVG background images? (ref)

Support CSS3 properties for control of justification. (ref)

Add a mechanism to return image URLs from prince-script functions. (ref)

Fix issues affecting Windows GUI. (ref, ref, ref)

Support window.frames in the JavaScript DOM.

Support document.cookie in the JavaScript DOM. (ref)

Support document.styleSheets in the JavaScript DOM. (ref)

Support getBBox method in the SVG JavaScript DOM. (ref)

Support PrismJS. (ref, ref)

Support common JavaScript charting/graphing libraries, such as d3, FusionCharts, Highcharts, ApexCharts, and Flot. (ref, ref, ref, ref, ref)

Update Prince wrappers to check if executable exists and is accessible. (ref)

Make footnotes work better inside long table cells. (ref)

Design a mechanism for page headers/footers with dynamic height. (ref)

Design a mechanism for creating tables with a specified height suitable for invoices and other traditional forms. (ref, ref, ref)

Support multiple table header and footer sections similarly to browsers.

Design a mechanism for changing table header/footer content on different pages. (ref)

Design a mechanism for specifying whether table header/footer/caption elements repeat on every page or not. (ref)

Design a mechanism for styling content differently depending on which column it appears in. (ref)

Design a mechanism for changing from one column to two on the second page. (ref)

Design a mechanism to combine identical page references for indexing. (ref, ref, ref)

Design a mechanism for creating landscape pages that doesn't interrupt text flow. (ref, ref)

Design a mechanism for combining page floats and named pages. (ref, ref, ref)

Support the CSS3 border-image property. (ref)

Support TIFF CCITT Group 4 fax encoding format for compressed images. (ref)

Fix bug affecting fallback of the degree celsius character. (ref)

Support the Burmese (Myanmar) script. (ref, ref)

Investigate multiple issues affecting table cell width calculation. (ref, ref, ref)

Fix issues with numbers in JavaScript on 32-bit platforms. (ref)

Support the CSS tab-size property properly instead of just expanding tabs to spaces. (ref, (ref)

Fix bug where bookmarks are out of order due to "float: top". (ref)

Investigate issue involving max-height on blocks containing images. (ref)

Disable ligatures when letter-spacing is enabled.

Investigate potential float bugs. (ref, ref)

Support embedding audio and video files inside PDF output. (ref, ref)

Fix bug where line numbers for error messages in script and style elements are relative to the start tag, not the start of the file.

Support the SVG foreignObject element. (ref, ref, ref, ref, ref)

Fix bug affecting MathML msubsup with empty first element. (ref)

Improve spacing and layout in MathML equations. (ref, ref, ref, ref, ref, ref, ref, ref)

Support line-breaking in inline MathML equations. (ref, ref)

Integrate the STIX Fonts with Prince for improved MathML support. (ref)

Support scoped style elements. (ref)

Provide a mechanism for automatically breaking long words that overlap narrow table cells or columns. (ref)

Be more selective about breaking lines after arbitrary hyphens. (ref)

Support non-printable layers (optional content groups?) in PDF files. (ref, ref, ref, ref)

Support AES encryption for PDF files. (ref)

Links to IDs in the same document should still work even if base URL is different. (ref)

Support percentage values for the prince-border-clip property. (See CSS4). (ref)

Additional ideas for improvements to footnotes. (ref)

Make empty footnote calls not create a line box. (ref)

Allow multiple references to the same footnote. (ref, ref)

Investigate automatic page renumbering in headers/footers. (ref)

Investigate method for controlling hyphenation at the end of right-facing pages, and other hyphenation improvements. (ref, ref, ref, ref, ref, ref)

Support kashidas for the justification of Arabic text. (ref)

Text labelled with the "gb2312" encoding should be decoded using the newer backwards compatible "gb18030" encoding.

Fix bugs affecting string-set applied to display: none elements. (ref)

Enable shrink-to-fit by default, ensure that it isn't fooled by invisible overlapping blocks, and that it applies to all pages. (ref)

Fix bug where letter-spacing is not applied elegantly. (ref)

Fix bug where artificially slanted text is displayed incorrectly on landscape pages. (Note: this appears to be caused by broken printer drivers, and requires generating a new slanted font). (ref)

Support CSS3 sidenotes. (ref)

Support optical alignment and hanging punctuation for neater margins. (ref, ref)

Support graphite font tables. (ref)

Allow non-displayed elements such as title to create PDF bookmarks. (ref)

Fix bug where named strings are not updated in table headers and footers. (ref)

Support the overflow-x and overflow-y properties defined in CSS 3. (ref)

Support digital signatures on PDF files. (ref, ref)

Support the HTML align and valign attributes correctly so that valign inherits and align also applies to blocks. (ref)

Implement proper tab-stops in elements with white-space: pre instead of replacing tabs with eight spaces. (ref, ref)

Support standard icc-color mechanism for including CMYK colors in SVG. (ref)

Specify a scale for pages when crop marks are enabled so that when they are viewed in Acrobat the trim box will fill the window. (ref)

Allow the user to disable HTTP proxying on a host by host basis. (ref, ref)

Print the filename and line number if available when warning of missing glyphs for certain characters.

Support Arabic subtending marks, U+600 to U+603.

Support a list of exceptions in hyphenation pattern resources. (ref, ref)

Provide a mechanism similar to the widows/orphans properties for controlling page breaking in lists and tables. (ref)

Add optional warnings for page breaks that leave too much space at the bottom of pages and content that overlaps the page boundaries.

Support creating multiple PDF output files, for example one PDF file per chapter of the input document.

Support glyph scaling for justification.

Fix bug where internal links to empty anchor elements in a block context don't work. (ref, ref, ref, ref, ref)

Support loading PDF files as images. (ref, ref, ref, ref, ref, ref)

Fix bug where multiple floats can overlap if they are pulled out of their containing block by negative margins. (ref)

Fix bug affecting table headers repeated on multiple pages in tables with collapsed borders. The width of the collapsed bottom border of the table header needs to be recalculated for each page that the table header is repeated on. (ref)

Support making generated PDF files commentable in Acrobat Reader. [This may not be possible as it requires a digital signature from Adobe, and is unnecessary from Adobe Reader X onwards anyway]. (ref)


DONE

Fix bug in which Prince is ignoring fonts on MacOS X if the font name contains the modifier "Book" instead of "Regular" or "Roman". (ref)
Done 2007-05-23

Fix bug in which Windows-style CR/LF newlines in <pre> elements in HTML documents (not XHTML documents) incorrectly cause double line breaks.
Done 2007-05-24

Add further support for the HTML textarea element. Support the rows attribute, change white-space to pre-wrap and clip text that overflows.
Done 2007-05-28

Fix bug affecting the prince-jpeg-quality property when applied to grayscale JPEG images.
Done 2007-05-28

Support the value attribute on the HTML li element, for explicitly specifying the list item number.
Done 2007-05-29

Change @page background to cover entire page box, not just page padding area, for consistency with the CSS3 Paged Media specification.
Done 2007-05-29

Fix bug in which elements containing only floated or positioned content still have a non-zero height, as if the content was still in the normal flow. (ref)
Done 2007-05-31

Fix performance regression in CSS parser.
Done 2007-06-08

Add --media command line argument to select available style sheets based on their media type, eg. "print" or "screen"; default is "print".
Done 2007-06-14

Shrink wide web pages down to fit the paper width by adding a new property to @page rules. (ref)
Done 2007-06-25

Change margin collapsing at the top of first pages. Currently, top margins are thrown away at the top of every page, however they should be kept at the top of first pages, for consistency with browsers and the CSS3 Paged Media spec.
Done 2007-06-25

Support @font-face rules that specify format("truetype") after the URL in the src property.
Done 2007-06-25

Fix bug in which the aspect ratio of images with an explicitly specified width and height is not preserved if the image width is reduced by the max-width property. (ref)
Done 2007-06-27

Fix bug in which tables ignore percentage height values. (ref)
Done 2007-06-27

Fix bug in which user induced column breaks incorrectly cause a page break when there is content preceding the columns. (ref)
Done 2007-06-28

Fix Linux and MacOS X install script so that it can be run from any directory, not just the current directory.
Done 2007-06-29

Release Prince 6.0 rev 2, including packages for Red Hat Enterprise Linux 3 and 4, SUSE Linux Enterprise Server 9, openSUSE Linux 10.2.
Done 2007-06-29


Support HTML anchors that use the name attribute instead of the id attribute.
Done 2007-07-06

Fix bug affecting vertical alignment of inline blocks whose content is longer than their specified height.
Done 2007-07-11

Support the HTML iframe element.
Done 2007-07-11

Support line-breaking between images.
Done 2007-07-12

Support the clear attribute on the HTML br element.
Done 2007-07-12

Detect overlapping content when performing shrink to fit on pages.
Done 2007-07-13

Fix bug in which absolutely positioned content may be duplicated in some situations. (ref)
Done 2007-07-16

Fix bug in which blocks in the normal flow with auto height and overflow not set to visible are not expanding in height to fit descendant floats.
Done 2007-07-17

Fix bug in which images that occupy no space will result in PDF files that cannot be opened by Acrobat.
Done 2007-07-19

Fix bug in which the page-break-inside property is being ignored on tbody elements. (ref)
Done 2007-07-19

Support the old SVG MIME type "image/svg-xml", which was deprecated in November 2000 but is still in use on some pages.
Done 2007-07-26

Fix bug in which images within hyperlinks are not always clickable unless they fall within the bounding box of the link element, which is inconsistent with the behaviour of web browsers. (ref)
Done 2007-07-26

Support HTTP authentication and add two new command line arguments, --http-user and --http-password. (ref)
Done 2007-07-27

Support the alt attribute on the HTML img element.
Done 2007-07-29

Support links and cross-references into and out of footnotes. (ref)
Done 2007-07-30

Add support for a new property for specifying the resolution of background images, similar to the existing image resolution property. (ref, ref, ref, ref)
Done 2007-07-30

Support absolute and relative positioning for elements that are taken out of the normal flow and placed in a page margin box. (ref)
Done 2007-07-31

Support printing in the bleed area of the page when crop marks are enabled and add a new property to control the size of the bleed area. (ref)
Done 2007-08-03

Support SVG background images. (ref, ref, ref, ref)
Done 2007-08-06

Improve performance for formatting long documents with lots of text.
Done 2007-08-10

Enable HTTPS support in libcurl. (ref)
Done 2007-08-13

Allow hyphenation regardless of text alignment. (ref)
Done 2007-08-13

Fix bug affecting large images loaded from data URLs on MacOS X.
Done 2007-08-20

Build a universal binary for MacOS X that runs on Intel and PowerPC systems. (ref, ref, ref)
Done 2007-08-20

Build a Prince package for FreeBSD 4.8.
Done 2007-08-20

Release Prince 6.0 rev 3.
Done 2007-08-21


Support TrueType font subsetting to reduce PDF file size. (ref, ref, ref, ref, ref, ref, ref)
Done 2007-08-27

Support line-breaking between Chinese, Japanese and Korean characters. (ref)
Done 2007-08-28

Improve performance of text hyphenation in multi-column layouts.
Done 2007-08-31

Fix bug where the page background image is not printing in the bleed area when crop marks are enabled and some background properties are being ignored on @page rules. (ref)
Done 2007-09-04

Fix bug affecting links between documents without fragment identifiers when processing multiple input documents. (ref)
Done 2007-09-07

Fix bug where page headers and footers flowed to the start of the document behave strangely when multiple input documents are being processed. (ref)
Done 2007-09-10

Support multiple pseudo-elements in CSS selectors so that generated footnotes and list item markers can be styled. (For example, ::after::marker).
Done 2007-09-17

Fix bug affecting page breaking in tables with table-row-groups that have page-break-inside: avoid. (ref)
Done 2007-09-21

Fix bug affecting page breaking in tables with cells that span many rows. (ref)
Done 2007-09-21

Fix bug affecting tables with baseline aligned cells that overlap the page boundaries in some situations.
Done 2007-09-21

Fix bug in which complex tables can cause an internal error.
Done 2007-09-22

Update the .NET interface for Prince to add new Convert() methods that take an input stream and a filename, or a filename and an output stream, or a string and an output stream. Also, add a helper class that can be used as a HttpResponse filter by ASP.NET pages. (ref)
Done 2007-10-01

Change install script to preserve the existing license file instead of overwriting it.
Done 2007-10-04

Release Prince 6.0 rev 4.
Done 2007-10-04


Add a new caption-page property for controlling whether table captions should be repeated when a table is broken over multiple pages. (ref)
Done 2007-10-09

Stop libcurl from adding "Pragma: no-cache" headers to each HTTP request, which can degrade performance when caching is desired.
Done 2007-10-15

Add new --http-proxy command-line argument for specifying a proxy server to be used when retrieving resources over HTTP.
Done 2007-10-16

Cache failed HTTP requests to avoid repeatedly trying to retrieve the same resource.
Done 2007-10-16

Add support for presentational attributes on the HTML hr element and support for the HTML s (strike-through) element.
Done 2007-10-17

Improve margin collapsing behaviour for blocks that clear floats.
Done 2007-10-29

Improve page breaking of blocks with page-break-before/after: avoid. (ref)
Done 2007-10-29

Fix bug in which "page-break-after: always" is not correctly applying to table rows.
Done 2007-10-29

Fix bug in which some pages will not be matched by the :blank page class, even if they are actually blank.
Done 2007-10-29

Fix bug in which properties applied to page margin boxes are not taking the specificity of the page selector into account when cascading.
Done 2007-10-29

Support the image/pjpeg MIME type as an alias for image/jpeg. (ref)
Done 2007-11-04

Support the HTML meta tag with a name of "Generator" by copying it into the PDF "Creator" metadata field.
Done 2007-11-06

Fix bug affecting string-set with "first" page-policy when multiple documents are in use.
Done 2007-11-17

Apply the page-break-inside property to table rows as well as cells. (ref)
Done 2007-11-17

Fix bug in which page-break-after: avoid can actually cause unwanted page breaks when applied to the last element in a block.
Done 2007-11-20

Improve column balancing and the treatment of page floats and footnotes on pages with columns.
Done 2007-11-20

Don't download Flash content referenced from the HTML object element.
Done 2007-12-11

Support the HTML nowrap attribute on table cells. (ref)
Done 2007-12-18

Support the deprecated HTML strike element.
Done 2007-12-18

Change the table border-spacing property to be inherited.
Done 2007-12-18

Correctly render HTML img elements that have an alt attribute but no src attribute.
Done 2007-12-19

Ensure that center margin box takes full width of page header if an empty element is flowed to it and no left or right margin box has been specified.
Done 2007-12-20

Fix bug affecting interaction between named pages and left/right page breaks. (ref)
Done 2007-12-20

Remember cookies for subsequent HTTP requests in the same session. (ref, ref)
Done 2007-12-21

Fix internal error caused by replaced elements with zero width.
Done 2007-12-21

Fix shrink-wrap issue when float contains table with specified width. (ref)
Done 2007-12-27

Fix page breaking issue when float is immediately followed by page break.
Done 2007-12-27

Fix bug affecting the currentColor keyword in SVG. (ref)
Done 2007-12-28

Add a new @prince-pdf CSS rule that can be used for applying Prince-specific PDF properties.
Done 2007-12-29

Add a new Prince-specific property, "prince-pdf-script", for adding JavaScript to generated PDF files. The primary use case for this property is making PDF files that print automatically when opened.
Done 2007-12-29.

Add a new Prince-specific property, "prince-pdf-page-mode", for specifying whether the PDF bookmarks should be displayed when the PDF file is opened. This property may also specify that the PDF should be displayed fullscreen. (ref)
Done 2007-12-29

Update Prince PHP interface to support basic HTTP authentication. (ref)
Done 2008-01-03

Add a new Prince-specific property, "prince-pdf-print-scaling", for specifying whether pages should be scaled when the PDF file is printed. By default this is left up to the PDF viewing application. (ref)
Done 2008-01-07

Fix bug affecting footnotes and page floats in content that has been flowed into page margin boxes.
Done 2008-01-07

Fix bug affecting internal links on Windows. (ref)
Done 2008-01-09

Fix bug affecting automatic layout for tables with a specified width. (ref)
Done 2008-01-11

Build a Prince package for SUSE 10.
Done 2008-01-14

Build a Prince package for Solaris 10 / Intel. (ref, ref)
Done 2008-01-14

Release Prince 6.0 rev 5.
Done 2008-01-14


Fix bug affecting floats with negative margins that are wider than the page.
Done 2008-01-21

Fix bug affecting the style attribute in SVG. (ref)
Done 2008-01-22

Fix bug affecting style sheets that begin with a UTF-8 byte order mark. (ref)
Done 2008-01-22

Fix bug in which "hyphens: manual" is not enabling processing of soft-hyphens. (ref, ref)
Done 2008-01-24

Improve performance when hyphenation is enabled.
Done 2008-01-26

Avoid breaking after hyphens that follow or precede a number.
Done 2008-01-27

Fix bug causing line breaks after punctuation preceding a hyphenated word when hyphenation is disabled.
Done 2008-01-28

Support "hyphens: prince-expand-all" to debug hyphenation patterns.
Done 2008-01-28

Fix bug affecting hyphenation of words adjacent to certain punctuation characters. (ref)
Done 2008-01-28

Fix bug in which column floats and footnotes are not always placed at the very bottom of the column. (ref)
Done 2008-01-30

Fix bug in which two words joined by punctuation such as em-dashes are treated as one word for hyphenation purposes.
Done 2008-02-01

Fix issue affecting column width in automatic table layout with colspan cells. (ref)
Done 2008-02-04

Fix issue where multiple redundant error messages are produced if an image can't be loaded.
Done 2008-02-05

Change warning level of glyph fallback messages.
Done 2008-02-09

Support the type attribute on HTML lists.
Done 2008-02-14

Support different list marker styles on nested HTML lists.
Done 2008-02-14

Fix bug in which "." is loaded if an HTML img element has no src attribute.
Done 2008-02-17

Fix bug in which sibling selectors are not always correctly applied. (ref)
Done 2008-02-22

Support prince-flow() as well as flow() on the content property. (ref)
Done 2008-02-24

Fix bug in which page-break-after: avoid can actually cause unwanted page breaks when applied to the last row in a table. (ref)
Done 2008-03-04

Build a Prince package for Solaris 10 / Sparc. (ref, ref, ref)
Done 2008-03-05

Fix bug leaving unnecessary page break after page floats within named pages. (ref)
Done 2008-03-05

Add prince-page-group property to control when a named page group starts or restarts.
Done 2008-03-05

Fix bug affecting some tables with cells that span multiple columns. (ref)
Done 2008-03-19

Support rowspan=0 from HTML 4.
Done 2008-03-19

Fix bug affecting borders and margins applied to images.
Done 2008-03-20

Fix bug affecting columns containing large column floats.
Done 2008-03-24

Fix bug affecting width calculation for inline blocks. (ref)
Done 2008-03-24

Improve interaction between columns, page floats and footnotes.
Done 2008-03-26

Fix bug affecting mailto: links.
Done 2008-04-06

Support new prince-trim property to specify the size of the trim box when crop marks are enabled. (ref)
Done 2008-04-07

Fix "bad argument" warning affecting some fonts on MacOS X Leopard. (ref, ref)
Done 2008-04-10

Support external "cookie jar" files for specifying authentication cookies. (ref)
Done 2008-04-10

Change cross-reference links and bookmarks to link to the location of the target content on the page, not just the top of the page on which the content appears.
Done 2008-04-15

Fix bug affecting table cells that span rows and break across multiple pages. (ref)
Done 2008-04-22

Fix bug affecting the width of table cells containing text with soft-hyphens.
Done 2008-04-24

Accept SIGPIPE to avoid zombie processes when running Prince under PHP. (ref, ref)
Done 2008-04-24

Fix bug affecting the width of table cells containing manually hyphenated words.
Done 2008-04-28

Don't use the specified HTTP proxy server for localhost URLs. (ref)
Done 2008-04-28

Support links to local PDF files with PDF open parameters.
Done 2008-04-30

Fix bug in default style sheets affecting HTML valign attribute on table cells. (ref)
Done 2008-05-01

Improve treatment of landscape pages. (ref)
Done 2008-05-01

Build a Prince package for FreeBSD 6.x. (ref, ref)
Done 2008-05-03

Support TrueType Collection fonts on Linux, FreeBSD and Solaris.
Done 2008-05-04

Fix bug in which RPM upgrade can overwrite existing license file. (ref)
Done 2008-05-06

Release Prince 6.0 rev 6.
Done 2008-05-06


Improve performance for documents containing many id attributes. (ref)
Done 2008-05-07

Support the image/x-png MIME type used by Internet Explorer. (ref, ref)
Done 2008-05-09

Fix where some font family names are hidden on Linux, FreeBSD and Solaris.
Done 2008-05-21

Fix bug affecting Prince on Windows 2000. (ref)
Done 2008-05-22

Fix bug creating zombie processes when running Prince from CGI scripts on Windows. (ref)
Done 2008-06-18

Reduce memory usage for documents containing many elements and CSS rules, such as documents with thousands of table cells. (ref)
Done 2008-06-18

Fix bug affecting the layout of inline elements with horizontal borders that span multiple lines.
Done 2008-06-18

Fix bug affecting the width of tables with collapsed borders.
Done 2008-06-18

Support the text-decoration properties on table cells and rows.
Done 2008-07-01

Support the min-width and max-width properties on table cells.
Done 2008-07-01

Fix bug affecting hyphenated words breaking across pages.
Done 2008-07-01

Fix bug where the overflow property is ignored on table cells. (ref)
Done 2008-07-01

Fix bug where the page break properties do not apply inside table cells. (ref)
Done 2008-07-02

Allow block-level tables to be pushed aside by floats.
Done 2008-07-05

Fix bug affecting the hyphenate-before and hyphenate-after properties when using non-ASCII hyphenation patterns such as Russian. (ref)
Done 2008-07-21

Fix bug affecting the resolution of TIFF images.
Done 2008-07-31

Support CMYK TIFF and JPEG images. (ref, ref, ref, ref, ref)
Done 2008-07-31

Update string-set values on each page for content that has been flowed into the page margin boxes. (ref, ref)
Done 2008-08-06

Fix bug on Solaris where bitmap fonts can hide TrueType fonts with the same name.
Done 2008-08-13

Change default styling on HTML <pre> element to add top and bottom margin for compatibility with browsers.
Done 2008-08-13

Change default styling on HTML <br> elements for compatibility with browsers.
Done 2008-08-13

Release Prince 6.0 rev 7.
Done 2008-09-17


Support the image/jpg MIME type as an alias for image/jpeg. (ref)
Done 2008-10-01

Support "date" as a meta tag in HTML and XHTML documents. (ref)
Done 2008-11-11

Support repeating background images using PDF patterns to reduce file size. (ref)
Done 2008-11-13

Support tiling patterns in SVG.
Done 2008-11-13

Fix bug affecting the hyphenation of words with leading punctuation, such as quotes. (ref)
Done 2008-11-17

Ensure that ActiveX/COM interface does not pop-up message boxes on error. (ref)
Done 2008-11-18

Fix bug affecting the width calculation of cells in fixed-width tables.
Done 2008-11-18

Fix bug affecting line-height for inline elements when vertical-align is set.
Done 2008-12-06

Remove support for the text-height property, which has been dropped from CSS 3.
Done 2008-12-06

Fix performance issue where Prince reloads SVG images each time they are referenced.
Done 2008-12-28

Fix bug affecting line height when small-caps are enabled.
Done 2009-01-12

Fix bug where text-decoration does not apply to page margin boxes. (ref)
Done 2009-01-20

Fix bug where progress counter is reset by page breaks in the document. (ref)
Done 2009-01-20

Fix bug where no Accept-Encoding HTTP header was being sent and responses using gzip transfer encoding are not processed correctly.
Done 2009-01-26

Extend page borders into the bleed area as well as page backgrounds. (ref)
Done 2009-01-28

Fix bug where the column-break-before and column-break-after properties are not working. (ref)
Done 2009-02-03

Fix bug where text-decoration does not apply to a span full of nbsp characters. (ref)
Done 2009-02-04

Fix bug where only a limited number of documents can be added to the GUI in one operation. (ref)
Done 2009-02-11

Fix bug affecting HTML files that begin with a UTF-8 byte order mark (BOM). (ref, ref, ref)
Done 2009-02-13

Fix bug where some UTF-8 HTML files are incorrectly processed. (ref)
Done 2009-02-13

Fix bug where a vertical tab character in HTML files terminates parsing.
Done 2009-02-13

Release Prince 6.0 rev 8.
Done 2009-02-16


Support bidirectional text and layout. This includes support for the UNICODE bidirectional layout algorithm, the CSS direction and unicode-bidi properties, and the HTML dir attribute and bdo element. (ref, ref)
Done 2007-12-29

Support text-transform for Greek, Cyrillic and other scripts, not just Latin.
Done 2008-01-18

Fix bug in which list item markers are not displayed on the right-hand side of the list item in a right-to-left context.
Done 2008-02-27

Support bidi mirroring for paired characters such as brackets, parentheses and quotes.
Done 2008-03-03

Support different levels of boldness for the font-weight property. (ref)
Done 2008-03-24

Support Arabic shaping with OpenType fonts.
Done 2008-03-26

Support Latin ligatures with OpenType fonts. (ref, ref)
Done 2008-03-26

Support Devanagari shaping with OpenType fonts.
Done 2008-04-23

Add hyphenation dictionaries for more languages: da, de, el, es, fi, fr, is, it, lt, pl, ru, sl, sv.
Done 2008-05-27

Support the OpenType mset feature for combining marks with base glyphs.
Done 2008-08-31

Fix bug affecting Arabic shaping where the joining class of some letters was being ignored. (ref)
Done 2008-08-31

Support positioning of diacritical marks using the OpenType mark feature. (ref)
Done 2008-08-31

Support positioning of multiple diacritical marks using the OpenType mkmk feature. (ref)
Done 2008-09-02

Support positioning of diacritical marks relative to ligatures.
Done 2008-09-09

Support kerning information found in OpenType fonts for the Latin, Greek and Cyrillic scripts. (ref)
Done 2008-09-12

Support the calt and rlig substitution features for Arabic.
Done 2008-09-12

Support the ccmp substitution feature for all scripts.
Done 2008-09-12

Support for cursive attachment positioning.
Done 2008-09-15

Support small-caps found in OpenType fonts.
Done 2008-09-15

Support Bengali shaping with OpenType fonts.
Done 2008-09-23

Support Gurmukhi (Punjabi) shaping with OpenType fonts.
Done 2008-09-23

Support Gujarati, Oriya, Tamil, Telugu, Kannada and Malayalam shaping with OpenType fonts.
Done 2007-10-24

Support OpenType CFF fonts (.otf files). (ref, ref, ref, ref, ref)
Done 2008-11-07

Synthesize bold and italic fonts in the PDF output when a true bold or italic font is not available. (ref)
Done 2008-11-25

Optimise OpenType layout support by checking in advance whether a font supports a particular feature, eg. kerning or ligatures.
Done 2009-01-08

Fix bug where the "inherit" keyword was not correctly applied to page margin boxes.
Done 2009-01-19

Allow footnotes to be specified using the float property.
Done 2009-01-26

Allow multiple page selectors on the same @page rule. (ref)
Done 2009-02-26

Improve font scanning on Linux.
Done 2009-02-26

Fix bug affecting Date meta element in XHTML. (ref)
Done 2009-04-01

Allow absolutely positioned blocks to extend beyond page border. (ref)
Done 2009-04-13

Break unbalanced columns to fit in blocks with specified height. (ref)
Done 2009-04-15

Fix bug where blocks with specified height could break across pages. (ref)
Done 2009-04-15

Support the box-sizing property.
Done 2009-04-24

Add a new property, prince-pdf-destination, to create named destinations in generated PDF files.
Done 2009-05-06

Fix bug affecting TrueType Collection fonts on Windows. (ref)
Done 2009-05-12

Improve font scanning on MacOS X by using CoreText API. (ref)
Done 2009-05-14

Fix bug where margin box backgrounds do not extend into the page bleed area. (ref)
Done 2009-05-19

Fix bug where page background are rendered incorrectly on landscape pages. (ref)
Done 2009-05-21

Fix bug where Prince could fail to render some arrangements of floating blocks. (ref)
Done 2009-05-21

Support the TeX algorithm for high-quality line-breaking and justification. (ref, ref)
Done 2009-05-21

Allow the last word in a column or page to be hyphenated. (ref, ref)
Done 2009-05-21

Fix bug affecting the height of blocks with "overflow: hidden" containing floats. (ref)
Done 2009-05-22

Support four values for the prince-trim and prince-bleed properties, similar to margins and padding. (ref)
Done 2009-05-24

Fix bug affecting the merging of related font subsets. (ref)
Done 2009-05-24

Add support for times to Date meta element in XHTML. (ref)
Done 2009-05-24

Fix bug where all pages in generated PDF files share the same resources dictionary for fonts and images. (ref)
Done 2009-05-25

Add a new property, prince-pdf-link-type, to control whether web or file links are created in generated PDF files.
Done 2009-05-27

Change the way @font-face rules are processed to follow the latest draft of the CSS3 Fonts module.
Done 2009-06-01

Support the unicode-range descriptor on @font-face rules.
Done 2009-06-01

Allow the page counter to be incremented on block elements. (ref)
Done 2009-06-02

Support counter-reset and counter-increment for the pages counter on block elements. (ref, ref, ref)
Done 2009-06-03

Automatically escape brace characters appearing inside URLs. (ref)
Done 2009-06-03

Support the new email input type defined in HTML5.
Done 2009-06-12

Expand the default fonts style sheet to provide @font-face rules for more supported scripts.
Done 2009-06-22

Add a --log-stats command-line option for printing document statistics such as the total page count. (ref, ref, ref)
Done 2009-06-23

Add an experimental prince-opentype() value to the font-variant property for accessing extra features found in OpenType fonts, such as decorative swashes and old-style numerals. (ref)
Done 2009-06-23

Upgrade to libcurl 7.19.5. (ref)
Done 2009-06-29

Release Prince 7.0 beta 1.
Done 2009-07-02


Add --insecure option to disable checking SSL certificates (already exists as undocumented option --ssl-blindly-trust-server). (ref)
Done 2009-07-08

Fix performance regression affecting multi-column layouts inside positioned blocks and inline blocks. (ref)
Done 2009-07-14

Fix bug affecting text-align on narrow lines. (ref)
Done 2009-07-14

Assume character script is Latin if it would otherwise be "Common", eg. for digits 0-9. This is necessary to correctly apply OpenType substitution features.
Done 2009-07-18

Support the name attribute on HTML anchors even when it differs from the id attribute.
Done 2009-07-19

Support fallback colors using in SVG paint specifications, eg. for the fill property. (ref)
Done 2009-07-20

Extend font-variant prince-opentype() value to support numbered alternates.
Done 2009-07-22

Fix bug affecting system fonts with multiple variant faces on MacOS X, like Hoefler Text.
Done 2009-07-22

Support the shorthand "font" property in SVG, and the font-variant and font-stretch properties. (ref)
Done 2009-07-22

Rename --ssl-ca-cert to --ssl-cacert and add --ssl-capath option for compatibility with curl. (ref)
Done 2009-08-04

Support chaining contextual OpenType substitutions required for complex scripts.
Done 2009-08-05

Fix bug affecting OpenType substitutions with multiple replacement glyphs.
Done 2009-08-12

Support chaining contextual OpenType positioning required for complex scripts.
Done 2009-08-12

Fix bug affecting the hyphenation of the last word in a paragraph containing a float. (ref)
Done 2009-08-14

Fix bug affecting the width of shrink-to-fit boxes (eg. inline blocks, table cells and floats) containing multiple columns. (ref)
Done 2009-08-19

Use the PostScript name as the BaseFont name for embedded OpenType CFF fonts. (ref)
Done 2009-08-20

Fix bug where the SVG fill-opacity property was not inherited. (ref)
Done 2009-08-20

Fix bug where the HTML align attribute on <tr> elements does not affect <th> elements. (ref)
Done 2009-08-29

Add hyphenation dictionaries for more languages: pt.
Done 2009-08-30

Improve performance for long documents using fonts with OpenType layout features. (ref)
Done 2009-09-08

Support the arabic-indic style for counters and lists.
Done 2009-09-15

Fix bug where internal links to documents with /../ or /./ in the path name are not resolved correctly. (ref)
Done 2009-09-21

Fix bug affecting footnote counters in right-to-left text. (ref)
Done 2009-09-21

Fix bug where float inside/outside doesn't work correctly in paragraphs that span page breaks. (ref)
Done 2009-09-23

For Content MathML, don't print the base on <cn> elements if it is decimal. (ref)
Done 2009-09-28

Fix bug causing Prince to hang indefinitely on some justified paragraphs. (ref, ref)
Done 2009-10-01

Support embedding OpenType CFF fonts without requiring PDF 1.6. (ref)
Done 2009-10-12

Put back support for the hyphenate-lines property. (ref)
Done 2009-10-13

Build a Prince package for 64-bit Linux. (ref, ref)
Done 2009-10-21

Release Prince 7.0.
Done 2009-10-21


Treat right-to-left and left-to-right bidi marks as non-printing characters. (ref)
Done 2009-10-16

Improve handling of symbolic fonts with no Unicode charmap, such as Wingdings and barcode fonts. (ref)
Done 2009-10-22

Fix bug affecting unquoted font-family names that include numbers. (ref)
Done 2009-10-22

Add prince-pdf-open-action property to specify actions such as printing that should take place automatically when the PDF file is opened. (ref)
Done 2009-10-23

Change prince-pdf-link-type to apply to bookmark links as well as normal links.
Done 2009-10-23

Ignore invalid intrinsic resolutions in JPEG images.
Done 2009-10-25

Fix bug affecting collapsing borders for footers on tables that span page breaks.
Done 2009-10-26

Fix bug affecting line-breaking of string-set values used in flowed blocks. (ref)
Done 2009-10-27

Add prince-base-url() value to content property for accessing document URL.
Done 2009-10-29

Fix bug affecting some OpenType chaining contextual substitutions.
Done 2009-10-30

Fix bug where hyphenation can prevent ligature formation. (ref)
Done 2009-11-02

Fix bug where margins can collapse through blocks with "overflow: hidden".
Done 2009-11-02

Support OpenType positioning rules with vertical placement.
Done 2009-11-05

Fix bug where non-embedded fonts can still be subset. (ref)
Done 2009-11-09

Fix bug where punctuation interferes with kerning and other OpenType features. (ref)
Done 2009-11-10

Fix bug where words containing apostrophes will not be hyphenated.
Done 2009-11-10

Fix bug affecting Fontconfig on Red Hat Enterprise Linux 4. (ref)
Done 2009-11-11

Support grayscale TIFF and PNG images without expanding them to RGB. (ref)
Done 2009-11-12

Support OpenType extension lookups needed for kerning with the Arno Pro font. (ref)
Done 2009-11-12

Support the OpenType GDEF table, needed for some Arabic and Indic fonts.
Done 2009-11-19

Fix bug affecting preformatted whitespace between spans in HTML documents. (ref)
Done 2009-12-17

Support the WOFF font file format.
Done 2009-12-22

Support multiple x/y/dx/dy and rotate values on text elements in SVG. (ref)
Done 2009-12-30

Add a new --fileroot option for specifying the root directory used to resolve absolute filenames. (ref, ref, ref, ref)
Done 2010-01-02

Support bidirectional text layout in SVG.
Done 2010-01-03

Support the letter-spacing and word-spacing properties in SVG. (ref)
Done 2010-01-04

Fix bug affecting style sheets beginning with a UTF-8 BOM immediately followed by an identifier. (ref)
Done 2010-01-05

Support Unicode characters up to U+30000.
Done 2010-01-05

Add new secret command-line option --no-artificial-fonts to disable synthesised bold and italic fonts. (ref)
Done 2010-01-07

Support internal links in documents with multiple base URLs. (ref)
Done 2010-01-08

Support table-baseline property needed for MathML for CSS.
Done 2010-01-10

Support the border-break property. (ref)
Done 2010-01-11

Support the border-clip property for specifying the length of the top border on the @footnotes area. (ref, ref)
Done 2010-01-11

Support commonly used HTML5 elements, such as section. (ref)
Done 2010-02-03

Release Prince 7.1.
Done 2010-05-05


Calculate the baseline of MathML chunks in order to vertically align them to the baseline of the surrounding block. (ref, ref, ref)
Done 2010-03-03

Fix bug affecting table cells that span rows and break across multiple pages. (ref)
Done 2010-04-05

Fix bug where space before commas in CSS selectors will result in rules being ignored. (ref)
Done 2010-04-26

Handle misidentified images returned over HTTP with incorrect MIME types. (ref, ref, ref, ref)
Done 2010-04-27

Fix bug affecting positioned blocks inside justified paragraphs. (ref)
Done 2010-04-28

Improve line-breaking for Chinese text.
Done 2010-04-29

Add --http-timeout option to avoid waiting indefinitely for slow servers. (ref)
Done 2010-05-03

Support Chinese and Japanese counter styles for list numbering. (ref)
Done 2010-05-23

Support Persian counter styles for list numbering. (ref)
Done 2010-05-23

Fix bug where the type attribute was incorrectly affecting the list-style-type for non-XHTML elements. (ref)
Done 2010-05-23

Remove max-width rule for img elements in the default HTML style sheets. (ref)
Done 2010-05-25

Change default value of prince-image-resolution property to "normal".
Done 2010-06-03

Support the <style> element in SVG. (ref, ref)
Done 2010-06-13

Fix bug affecting non-break space characters in SVG. (ref)
Done 2010-06-15

Support scientific/exponential notation for coordinates in SVG. (ref, ref, ref)
Done 2010-06-15

Support the <switch> element in SVG.
Done 2010-06-16

Fix bug affecting empty inline tables (and <select> elements).
Done 2010-07-21

Fix bug where counter scopes are incorrectly extended outside of parent elements. (ref)
Done 2010-07-24

Add default style sheet rule to hide HTML input elements with type="hidden".
Done 2010-07-27

Fix bug where the width property has no effect on page margin boxes. (ref)
Done 2010-08-03

Support XHTML style and link elements that occur in the document body.
Done 2010-08-11

Respect the xml:base attribute for XHTML link and style elements. (ref)
Done 2010-08-11

Support JavaScript in HTML script elements when the --javascript option is enabled. (ref, ref, ref)
Done 2010-08-12

Add a --script command-line argument for running user JavaScript files.
Done 2010-08-12

Support PDF attachments by adding a new --attach=FILE option and "show-attachments" value for the prince-pdf-page-mode property. (ref)
Done 2010-08-15

Support device-cmyk() as alias for cmyk() color function.
Done 2010-08-25

Support Unicode characters beyond U+30000. (ref)
Done 2010-09-22

Add :nth() page selector. (ref)
Done 2010-10-04

Remove "line-height: none" from HTML sub/sup elements for browser compatibility.
Done 2010-10-19

Fix bug leading to gpos warnings and introducing unnecessary kerning with certain fonts. (ref)
Done 2010-10-30

Support the JavaScript Document Object Model (DOM).
Done 2010-11-16

Support JavaScript regular expressions.
Done 2010-11-16

Fix bug where @charset rules will block @import rules.
Done 2010-12-01

Improve performance for fonts with many OpenType glyph substitution rules, such as the SIL Charis font.
Done 2010-12-18

Fix bug where cmyk() and rgba() background colors are not being applied to table rows and row groups.
Done 2010-12-21

Fix bug where text decoration does not work properly with text-indent. (ref)
Done 2011-02-21

Replace the --log-stats command-line option with a JavaScript API.
Done 2011-02-22

Update the default hyphenation dictionaries. (ref, ref)
Done 2011-03-02

Fix bug where the column-break-before and column-break-after properties only work on direct children of an element with multi-column layout. (ref)
Done 2011-03-03

Allow the column properties to apply to table cells and list items.
Done 2011-03-03

Fix bug where forced page breaks in list items will cause the marker to be repeated.
Done 2011-03-03

Release Prince 8.0 beta 1.
Done 2011-03-20


Fix bug where column floats in nested multi-column layouts go to the outer column, not the inner column. (ref)
Done 2011-03-20

Fix bug affecting "float: prince-column-top-if-necessary" on elements that are not inside columns. (ref)
Done 2011-03-20

Fix bug affecting column floats and footnotes inside other floats, inline and absolutely positioned blocks, and table cells. (ref)
Done 2011-03-23

Fix bug affecting empty leaders. (ref)
Done 2011-03-23

Be more aggressive when packing page floats on pages with balanced columns. (ref)
Done 2011-03-24

Change page vertical margin percentages to be resolved relative to page height, not width.
Done 2011-03-28

Expand leaders before performing text alignment. (ref)
Done 2011-03-28

Support the prince-link property on pseudo-elements.
Done 2011-04-20

Provide a mechanism to invoke JavaScript from CSS generated content. (ref, ref, ref)
Done 2011-05-04

Support PDF bookmarks on pseudo-elements.
Done 2011-05-10

Fix bug affecting bookmarks in repeating table headers and footers. (ref)
Done 2011-05-10

Reduce memory usage for documents containing many elements. (ref, ref)
Done 2011-05-28

Add prince-pdf-page-layout property to control initial page layout in PDF viewer. (ref, ref)
Done 2011-05-28

Ensure location.href begins with "file://" for local file URLs as jQuery requires this.
Done 2011-06-02

Support inset/outset/ridge/groove/double styles for column rules.
Done 2011-06-02

Fix bug affecting OpenType positioning in the SIL Charis font.
Done 2011-06-06

Add new property, prince-pdf-page-label, to specify PDF page labels.
Done 2011-06-16

Support Unicode escapes in JavaScript strings.
Done 2011-06-22

Enable JavaScript when using Prince Windows GUI. (ref, ref)
Done 2011-06-24

Release Prince 8.0.
Done 2011-09-12


Fix bug affecting page breaking of table rows with specified height. (ref)
Done 2011-07-21

Support NUL characters in JavaScript strings. (ref)
Done 2011-07-28

Allow line-breaking in prince-script() generated content.
Done 2011-08-02

Fix bug causing abort due to big integer values in JavaScript.
Done 2011-08-05

Ignore bogus <!-- comments in JavaScript.
Done 2011-08-06

Support deprecated octal escape codes in JavaScript.
Done 2011-08-07

Support URI encode/decode functions in JavaScript.
Done 2011-08-15

Support zero-width joiner (zwj) character in Arabic text. (ref)
Done 2011-08-17

Create Prince package for FreeBSD 8.2.
Done 2011-08-18

Support "column-span: all". (ref, ref, ref, ref)
Done 2011-08-18

Use absolute path for file:// URLs in location.href property.
Done 2011-08-21

Support the textContent property in the JavaScript DOM. (ref)
Done 2011-08-24

Support inter-character justification for CJK text with new prince-text-justify property. (ref)
Done 2011-08-29

Support CSS3 Transforms. (ref, ref, ref, ref, ref)
Done 2011-08-29

Fix bug where background images are not appearing on tables. (ref, ref)
Done 2011-09-17

Change "page-break-after: left | right" to leave a blank page if necessary at the end of the document, to guarantee an even page count. (ref, ref)
Done 2011-09-22

Support DOM style property on HTML elements. (ref)
Done 2011-09-23

Add a JavaScript API for setting PDF output options.
Done 2011-10-04

Improve scaling of SVG when the viewport height is a percentage. (ref)
Done 2011-10-07

Support "display: none" on SVG elements. (ref, ref)
Done 2011-10-08

Allow overflowing content to continue across multiple pages.
Done 2011-10-10

Support MIME type parameter values in quotes, eg. charset="UTF-8".
Done 2011-10-12

Avoid using CID font encoding in PDF files unless absolutely necessary. (ref, ref)
Done 2011-10-12

Fix bug affecting table cells that span multiple columns. (ref)
Done 2011-10-20

Create RPM for CentOS / Red Hat Enterprise Linux 6. (ref, ref)
Done 2011-11-14

Support the SVG clipPath element and clip-path / clip-rule CSS properties. (ref, ref, ref)
Done 2011-11-18

Fix bug affecting ::first-letter pseudo-element and nested spans. (ref)
Done 2011-12-12

Fix bug affecting prince-column-footnote outside of multi-column layouts. (ref)
Done 2011-12-13

Support new command-line argument -l / --input-list for specifying multiple input files in another file instead of directly on the command-line. (ref)
Done 2011-12-13

Extend prince-linebreak-magic property to apply to \ characters.
Done 2011-12-13

Fix bug affecting Unicode filenames and command-line arguments on Windows.
Done 2011-12-20

Support OpenType fonts with PostScript outlines (OTF/CFF fonts) when installed as system fonts on Windows. (ref)
Done 2011-12-20

Support the ::first-line pseudo-element.
Done 2012-01-16

Rename prince-jpeg-quality property to prince-image-magic and add snap-to-integer-coords value. (ref)
Done 2012-01-21

Change JavaScript Number.toString method to comply with spec. (ref)
Done 2012-01-22

Fix curl HTTP referer issue causing transient 400 errors for some HTTP requests. (ref, ref)
Done 2012-01-30

Fix bug where JavaScript mod operator returns undefined for non-integer values.
Done 2012-02-19

Fix issue affecting the hyphenation of capitalised and uppercase words. (ref, ref, ref)
Done 2012-02-21

Add Math.seedRandom function for seeding the JavaScript random number generator. (ref)
Done 2012-02-21

Expose JavaScript DOM prototype objects, eg. Node, Element, Attribute, etc.
Done 2012-02-22

Change JavaScript DOM method getElementsByTagName to return a live NodeList object.
Done 2012-03-06

Support JavaScript DOM method getElementsByClassName.
Done 2012-03-06

Support JavaScript DOM properties img.src, a.href, and a.name.
Done 2012-03-06

Support evaluating <script> elements when they are added to the DOM.
Done 2012-03-12

Fix bug affecting inline-blocks longer than a page preceded by a float.
Done 2012-03-16

Fix bug affecting floats and hanging text indents.
Done 2012-03-16

Update SSL certificate authority file.
Done 2012-03-31

Support "visibility: hidden" on SVG elements. (ref)
Done 2012-04-09

Fix JavaScript bug where "typeof foo" could return undefined instead of "undefined".
Done 2012-04-17

Check the Panose proportion value in the OS/2 table when computing font-stretch for TrueType/OpenType fonts. (ref)
Done 2012-04-19

Support JavaScript DOM properties input.value and window.location.hash.
Done 2012-04-26

Support { as a literal pattern character in JavaScript regular expressions if it does not form the beginning of a quantifier.
Done 2012-04-29

Support the innerHTML property in the JavaScript DOM. (ref, ref)
Done 2012-04-29

Support named spot colors (separation colors) with new @prince-color CSS rule. (ref, ref, ref, ref)
Done 2012-05-05

Don't parse fragment identifiers (eg. #foo) in relative URLs used on the command-line, treat them as filenames instead. (ref)
Done 2012-05-11

Fix bug where the background image for the footnotes area will be swapped with the background image for the page float bottom area.
Done 2012-05-28

Experimental support for HTML5 with "-i html5" on command-line.
Done 2012-06-04

Release Prince 8.1.
Done 2012-06-28


Fix bug where column-span does not work correctly on tables. (ref)
Done 2012-07-02

Fix bug where column-span on nested elements eats preceding content. (ref)
Done 2012-07-02

Fix bug affecting SVG clipPath elements containing <use> elements. (ref, ref)
Done 2012-07-12

Fix bug where apostrophe must be escaped in relative HTTP URLs. (ref)
Done 2012-07-24

Release Prince 8.1 rev 2.
Done 2012-07-30


Fix bug where text-transform does not apply to ::first-letter and ::first-line. (ref, ref)
Done 2012-07-30

Fix issues affecting links to content on landscape pages. (ref)
Done 2012-08-01

Fix bug where column-span within an element can affect target-counter and string-set values for that element. (ref)
Done 2012-08-03

Support JavaScript DOM property window.location.hash.
Done 2012-08-14

Allow slash escaping underscore in JavaScript regular expressions.
Done 2012-08-14

Fix bug affecting URL encoding of filenames that breaks internal document links. (ref)
Done 2012-08-16

Update Prince PHP wrapper to add convert_file_to_passthru method, support for enabling JavaScript, and disabling font subsetting. (ref, ref)
Done 2012-08-17

Ensure DEB packages have Installed-Size field to avoid ominous warning. (ref)
Done 2012-08-20

Update Prince .NET wrapper to add support for enabling JavaScript, converting multiple input documents, and disabling font subsetting. (ref, ref, ref)
Done 2012-08-23

Fix bug affecting OpenType positioning for the "Cabin" font. (ref)
Done 2012-09-01

Release Prince 8.1 rev 3.
Done 2012-09-06


Fix bug where some JavaScript comments could be misinterpreted as regular expressions.
Done 2012-09-10

Fix bug where JavaScript parseInt function is failing if string contains non-digit characters.
Done 2012-09-10

Change JavaScript Number.toString() method to use lowercase a-z characters when the radix is greater than 10, for consistency with web browsers.
Done 2012-09-11

Change special HTML DOM attributes like script.src to return "" instead of null when they are not present, for consistency with web browsers. (ref)
Done 2012-09-11

Fix internal error triggered by large floats on small pages.
Done 2012-09-13

Fix bug on Solaris where long data URLs can cause CSS parsing to fail. (ref)
Done 2012-09-24

Fix bug affecting CSS3 Transforms where vertical translation offsets are inverted. (ref)
Done 2012-09-24

Workaround issue in MacOS X Preview affecting spot colors. (ref)
Done 2012-09-26

Fix bug where using RGBA colors can cause images to incorrect inherit the opacity value.
Done 2012-09-26

Fix bug where the XHTML q element was using U+201D for German quotes instead of U+201C. (ref)
Done 2012-10-08

Fix bug where debug log messages could cause deadlocks for Prince wrappers. (ref)
Done 2012-10-09

Support the float property on the ::first-letter pseudo-element. (ref)
Done 2012-10-17

Fix bug affecting patterns in SVG that reference other patterns. (ref)
Done 2012-10-18

Fix bug triggered by DOCTYPE declaration with system identifier containing space. (ref)
Done 2012-10-24

Release Prince 8.1 rev 4.
Done 2012-12-21


Fix bug affecting SVG markers on transformed paths. (ref)
Done 2012-11-12

Support a default underline for fonts that recommend an underline of zero thickness, like Hoefler Text on MacOS X.
Done 2013-01-07

Fix OpenType positioning issue causing some kerning pairs to be ignored, eg. "..." for the Vollkorn font.
Done 2013-01-07

Avoid failing with unused_ref error if broken image cannot be loaded.
Done 2013-01-25

Fix bug where non-Base64 data URLs have all whitespace characters stripped. (ref)
Done 2013-02-06

Fix bug causing "Error 21" in Acrobat when saving encrypted PDF files. (ref)
Done 2013-02-15

Release Prince 8.1 rev 5.
Done 2013-03-14


Support the Image constructor in the JavaScript DOM.
Done 2012-08-15

Support the SVG stroke-miterlimit property.
Done 2012-09-11

Support the DOMParser interface in the JavaScript DOM.
Done 2012-09-12

Support the HTML5 canvas element and JavaScript API. (ref, ref, ref)
Done 2012-09-12

Support absolute positioning on the @footnotes area.
Done 2012-09-24

Allow floats and footnotes to break across pages by default.
Done 2012-09-24

Support the max-height property on the @footnotes area. (ref)
Done 2012-09-24

Fix bug where footnotes in table headers and captions are repeated if the table breaks across multiple columns or pages. (ref)
Done 2012-09-24

Support the transform and transform-origin properties on margin boxes.
Done 2012-09-24

Update Prince Java wrapper to add support for converting multiple input documents.
Done 2012-09-25

Add convert method to Java wrapper that takes a filename/URL string for the input document and an OutputStream for the PDF output. (ref)
Done 2012-09-25

Change the prince-link property so that it no longer affects the :link selector.
Done 2012-10-02

Support inline footnotes with "float: prince-inline-footnote | prince-column-inline-footnote". (ref, ref, ref)
Done 2012-10-02

Add a non-breaking space after footnote markers.
Done 2012-10-03

Support the background-size property.
Done 2012-10-10

Support multiple background images on a single element.
Done 2012-10-16

Support the background-clip and background-origin properties.
Done 2012-10-16

Support padding-box as a value for the box-sizing property.
Done 2012-10-16

Fix bug affecting the layout of page margin boxes. (ref, ref, ref)
Done 2012-10-22

Fix bug affecting tables with collapsed borders and cells that span rows across page breaks. (ref)
Done 2012-10-23

Allow a trailing comma in JavaScript object literals.
Done 2012-10-23

Fix bug where JavaScript parseFloat function is failing if string contains non-digit characters.
Done 2012-10-26

Support more JavaScript DOM properties: document.head, script.type, option.selected, option.disabled, input.type, input.checked, input.disabled.
Done 2012-10-26

Support JavaScript DOM properties window.location.host, hostname, port, and pathname.
Done 2012-10-29

Support the JavaScript methods Object.create, Object.defineProperty, and Object.defineProperties.
Done 2012-10-30

Fix bug where nodeName and tagName properties in the JavaScript DOM should return uppercase values for HTML element names. (ref)
Done 2012-10-30

Support CSS background gradients. (ref, ref)
Done 2012-11-09

Fix bug affecting nested SVG patterns/gradients and SVG images used as repeating backgrounds.
Done 2012-11-09

Improve speed of JavaScript evaluation, eg. for generating QR codes. (ref)
Done 2012-11-09

For tables with specified height, take specified row heights into account before dividing table height across rows.
Done 2012-11-12

Fix bug in which shrink to fit blocks such as floats and inline blocks will have an incorrect width when they contain tables with cells that have a specified width. (ref)
Done 2012-11-13

Fix bug where JavaScript RegExp lastIndex property is not writable.
Done 2012-11-16

Support JavaScript DOM properties link.title and link.disabled.
Done 2012-11-16

Support HighlightJS. (ref)
Done 2012-11-16

Update Prince PHP wrapper to add support for converting multiple input documents. (ref)
Done 2012-11-22

Support "text-overflow: clip | ellipsis". (ref)
Done 2013-01-10

Support non-ASCII identifiers in JavaScript.
Done 2013-01-10

Fix warning "get_gpos_adjust: pos_pair_unknown" triggered by complex OpenType fonts, eg. some Hebrew and Syriac fonts.
Done 2013-01-10

Support OpenType font features for rendering Syriac text. (ref)
Done 2013-01-15

Draw crop marks so that they extend into the page bleed area.
Done 2013-03-01

Fix bug where pixel units in SVG are not being treated the same as unitless coordinates.
Done 2013-03-01

Support vertical text layout. (ref, ref)
Done 2013-03-01

Add "prince-footnote-policy" property that can push footnote calls to the next page if there is not enough space to fit the footnote body on the same page. (ref)
Done 2013-03-14

Fix bug where background and border properties do not apply to :blank pages. (ref)
Done 2013-03-18

For SVG images without a viewBox attribute, use the width and height attributes to determine the initial coordinate system. (ref)
Done 2013-03-20

Issue a warning when a footnote ends up on the following page from the footnote marker. (ref)
Done 2013-03-21

Support CSS white-space property and xml:space="preserve" on SVG tspan elements.
Done 2013-03-22

Support SVG tref elements.
Done 2013-03-22

Fix bug affecting CSS3 Transforms where matrix() translation offsets are incorrect scaled and inverted. (ref)
Done 2013-03-22

Fix bug where page floats can overlap with table footers.
Done 2013-03-26

Apply border-break property to table elements. (ref)
Done 2013-04-04

Accept local(FontName) without quotes in @font-face declaration src property. (ref)
Done 2013-04-10

Support the text-decoration properties on SVG text elements.
Done 2013-04-11

Add IDs to generated PDF files to improve support for PDF/A and PDF/X.
Done 2013-04-18

Add Japanese fonts to default serif and sans-serif font families. (ref)
Done 2013-04-30

Support basic media queries. (ref)
Done 2013-05-01

Fix bug affecting :nth-of-type(n+4) and similar CSS3 Selectors.
Done 2013-05-14

Rename border-break property to box-decoration-break. (ref)
Done 2013-05-17

Fix bug where prince-page-group can cause unwanted page breaks for elements that span multiple columns. (ref)
Done 2013-05-20

Make the JavaScript DOM faster, particularly live node lists returned by getElementsByTagName and getElementsByClassName. (ref, ref)
Done 2013-05-20

HTML5: HTML elements should be in the HTML namespace. (ref)
Done 2013-05-23

HTML5: Support SVG elements and attributes with mixed-case names. (ref, ref)
Done 2013-05-23

HTML5: Support the menu element. (ref)
Done 2013-05-23

HTML5: Support the new meta charset syntax. (ref, ref)
Done 2013-05-23

HTML5: Remove redundant warning when HTML elements have identical id and name attributes. (ref)
Done 2013-05-23

HTML5: Fix bug where a null byte in HTML files terminates parsing. (ref)
Done 2013-05-23

HTML5: Fix bug where text between table cells results in new table column. (ref)
Done 2013-05-23

HTML5: Fix issues involving special characters in script elements. (ref)
Done 2013-05-23

Fix DOM method document.createElement so that elements are created in the HTML namespace. (ref)
Done 2013-05-29

Support accessing attributes by name from the Element.attributes DOM property, needed to support jQuery 1.9+. (ref)
Done 2013-05-31

Fix bug affecting some numbers in scientific/exponential notation in SVG.
Done 2013-06-04

Parse documents with no filename as HTML by default, not XML. (ref)
Done 2013-06-04

Enable new HTML5 parser by default for HTML documents.
Done 2013-06-07

Support "position: running(ident)" and "content: element(ident)" for flows from CSS GCPM module.
Done 2013-06-17

Support Typed Array objects in the JavaScript DOM (unsigned ints only, for now).
Done 2013-06-18

Require Prince.addScriptFunc for script functions, and reduce memory usage for documents that use JavaScript but not script functions. (ref)
Done 2013-06-24

Fix bug where negative margin-top can break the layout of following blocks in some circumstances. (ref)
Done 2013-06-26

Add a warning for cyclic @font-face definitions and avoid high memory usage in this situation. (ref)
Done 2013-06-26

Add an experimental --css-dpi=DPI option to change the default DPI value used for pixel measurements. (ref)
Done 2013-06-26

Support PDF/A-1b.
Done 2013-06-26

Fix issues affecting Windows GUI. (ref, ref, ref)
Done 2013-06-26

Release Prince 9.0.
Done 2013-06-28


Support leader(dotted|solid|space) syntax shorthand.
Done 2013-07-08

Fix bug where HTML character references are ignored if they are not followed by a semicolon. (ref)
Done 2013-07-08

Support content(first-letter) for named strings and other generated content.
Done 2013-07-09

Fix bug affecting UTF-8 characters and the UTF-8 byte order mark in CSS style sheets loaded over HTTP. (ref)
Done 2013-07-09

Fix bug where Prince can crash if a UTF-8 document contains invalid characters. (ref, ref)
Done 2013-07-11

Add command-line options and JavaScript API for specifying PDF metadata. (ref, ref)
Done 2013-07-12

Fix bug affecting Prince on 32-bit platforms when the document contains large page floats. (ref)
Done 2013-07-15

Support content(text) as an alias for content() for named strings and other generated content.
Done 2013-07-16

Avoid infinite loop when iframe includes its containing document.
Done 2013-07-16

Fix JavaScript bug where Function("", "body") will incorrectly fail due to empty arguments string.
Done 2013-07-16

Fix JavaScript bug where exceptions inside constructor calls are silently ignored.
Done 2013-07-18

Fix HTML bug where meta/link/title elements inside tables are not taken out to the parent.
Done 2013-07-24

Upgrade statically linked Linux packages to use libxml2 version 2.7.8 or newer, to get fix for apostrophe in referrer URL issue. (ref)
Done 2013-08-27

Release Prince 9.0 rev 2.
Done 2013-08-27


Update MathML operator dictionary to remove space around |abs| bars. (ref)
Done 2013-07-17

Change Debian packages to avoid overwriting license file when upgrading.
Done 2013-08-27

Fix bug where floats breaking across pages can cause other content to be repeated.
Done 2013-08-29

Handle documents with UTF-8 character encoding incorrectly labelled as UTF-16. (ref)
Done 2013-10-03

Fix bug in SVG where transparent shapes are drawn using the previously active color. (ref)
Done 2013-10-04

Fix bug where prince-linebreak-magic and prince-text-replace properties do not apply to the prince-base-url() or prince-script() generated content functions. (ref)
Done 2013-10-27

Fix bug where ::first-letter does not apply to hyphenated words.
Done 2013-10-28

Support RGBA and CMYKA TIFF images. (ref)
Done 2013-11-08

Add new CSS property prince-pdf-paper-tray to enable PickTrayByPDFSize flag. (ref)
Done 2013-11-12

Support "auto" value for prince-bleed and prince-trim properties, and allow a bleed area without enabling crop marks.
Done 2013-11-14

Add prince-mark-length and prince-mark-offset properties to control the appearance and position of crop marks. (ref)
Done 2013-11-16

Fix bug where crop marks may be drawn with an incorrect color.
Done 2013-11-16

Support q/Q length units (0.25mm) used in Japanese typesetting.
Done 2013-11-18

Upgrade MacOS X package to use libxml2 version 2.7.8 or newer, to get fix for apostrophe in referrer URL issue. (ref)
Done 2013-11-20

Release Prince 9.0 rev 3. (partial release)
Done 2013-12-17


Fix bug in HTML parser triggered by nested <a> elements. (ref, ref)
Done 2013-12-17

Release Prince 9.0 rev 4.
Done 2013-12-19


Fix minor bug where CapHeight is ignored in TrueType fonts with an OS/2 table newer than version 2. (ref)
Done 2013-12-28

Fix bug where images in SVG can be incorrectly affected by the fill-opacity property applied to previous shape elements. (ref)
Done 2014-02-18

Support the opacity property on images. (ref, ref)
Done 2014-02-19

Fix slow rendering for some OpenType fonts (caused by ccmp feature in GSUB table). (ref)
Done 2014-02-22

Use dynamic linking for libcurl on MacOS X to fix an issue affecting Mavericks (10.9.1). (ref)
Done 2014-03-01

Create a 64-bit binary for Prince on MacOS X.
Done 2014-03-01

Improve system font scanning on MacOS X to increase speed and fix issues running Prince on Mavericks. (ref)
Done 2014-03-13

Change priority of SVG presentational attributes so they can be overridden by other author styles. (ref)
Done 2014-03-22

Change HTTP authentication so that credentials are only passed if initial request returns 401 response.
Done 2014-04-03

Set a non-zero process exit status for invalid command-line options. (ref)
Done 2014-04-15

Support 16-bit TIFF images. (ref)
Done 2014-04-17

Support Ubuntu 14.04. (ref)
Done 2014-04-22

Document the --no-artificial-fonts command-line argument. (ref)
Done 2014-04-23

Support Debian 7.4 "Wheezy".
Done 2014-04-28

Fix issues affecting "Open Folder" button in Windows GUI. (ref)
Done 2014-05-02

Fix bug where the XHTML q element was using U+201D for German quotes instead of U+201C. (Fixed already, but missing on Windows!) (ref)
Done 2014-05-02

Document that prince-footnote-policy needs to be applied to the paragraph, not the footnote. (ref, ref)
Done 2014-05-03

Release Prince 9.0 rev 5.
Done 2014-05-05


Support the HTML5 template element.
Done 2013-11-07

Support the getComputedStyle method in the JavaScript DOM. (ref)
Done 2013-11-10

Support the setTimeout and clearTimeout methods in the JavaScript DOM.
Done 2013-11-11

Add prince-no-fallback font family to inhibit font fallback, leading to warnings if glyphs are not found. (ref, ref)
Done 2013-11-20

Support querySelector and querySelectorAll methods in the JavaScript DOM. (ref, ref)
Done 2013-12-26

Support the String.trim method in JavaScript, needed for jQuery 2.0.
Done 2013-12-26

Change JavaScript reserved keyword set to match web browsers.
Done 2013-12-26

Support the Node.contains method in the JavaScript DOM. (ref)
Done 2013-12-26

Support the Node.compareDocumentPosition method in the JavaScript DOM. (ref)
Done 2013-12-27

Support the href, rel, and type DOM properties on HTML link elements. (ref)
Done 2014-01-20

Support more HTML DOM element interfaces.
Done 2014-01-20

Support children, firstElementChild, lastElementChild, and childElementCount properties on parent nodes in the JavaScript DOM.
Done 2014-02-22

Fix OpenType GPOS issue affecting mark placement for Ezra SIL Hebrew font. (ref)
Done 2014-04-10

Fix issue where HTML documents containing large comments are slow to load. (ref)
Done 2014-05-23

Fix bug where xml:space is ignored if applied directly to <svg> elements.
Done 2014-05-23

Add default vertical margin to HTML list elements, for consistency with browsers. (ref)
Done 2014-05-26

Parse URLs in compliance with the new WHAT-WG URL specification.
Done 2014-06-04

Add new options for HTTP authentication, including the ability to provide different authentication credentials to different servers. (ref)
Done 2014-06-06

Support NTLM & Kerberos Windows authentication schemes for HTTP requests. (ref, ref, ref, ref, ref, ref, ref, ref)
Done 2014-06-06

Change the border shorthand property so that it does not affect border radius. (ref, ref)
Done 2014-06-13

Don't linebreak CJK text for white-space: nowrap | pre.
Done 2014-06-14

Fix bug where large border-radius settings can result in overlapping curves. (ref)
Done 2014-06-15

Support percentage values on border-radius properties, and clip images with rounded borders. (ref)
Done 2014-06-15

Support translate3d function in CSS transforms if Z coordinate is zero. (ref)
Done 2014-06-27

Remove unnecessary rule applying "max-width: 100%" to SVG elements in default style sheet. (ref)
Done 2014-06-28

Add prince-lang property.
Done 2014-07-02

Support the rebeccapurple color.
Done 2014-07-03

Apply "white-space: nowrap" to HTML nobr element. (ref)
Done 2014-07-08

Support "overflow-wrap / word-wrap: break-word". (ref, ref, ref, ref, ref, ref)
Done 2014-07-11

Update Prince PHP wrapper to use bypass_shell to fix current directory issue affecting cmd.exe on Windows. (ref)
Done 2014-07-22

Support the CSS word-break property.
Done 2014-07-25

Change prince-shrink-to-fit so that it only affects page body content, not page headers and footers. (ref)
Done 2014-08-11

Update Prince wrappers to support error log reporting for all convert methods. (ref)
Done 2014-08-12

Update Prince ActiveX/COM wrapper to add support for converting multiple input documents. (ref)
Done 2014-08-12

Add a --cookie command-line option (and associated Java/.NET API) for specifying cookies and associated site/path/expiry/secure flags. (ref, ref)
Done 2014-08-12

Change default value for --http-timeout option to 60 seconds. (ref)
Done 2014-08-12

Support prince-overprint() color function for CMYK and RGB colors. (ref)
Done 2014-08-15

Change the way local() works in @font-face src property so that it only refers to system fonts and not other @font-face rules. (Add new prince-lookup() value for old behaviour).
Done 2014-08-18

Add overprint mode argument to prince-overprint(), defaulting to overprint-mode-nonzero. (ref)
Done 2014-08-19

Support first-except page-policy value (eg. for string-set).
Done 2014-08-20

Fix bug affecting OpenType substitutions for below-base consonants in Indic scripts such as Bengali. (ref)
Done 2014-09-03

Support font-variant in @font-face rules to handle separate small-caps fonts. (ref)
Done 2014-09-09

Retrieve multiple resources concurrently over HTTP to reduce latency. (ref, ref)
Done 2014-09-09

Change behaviour of height/min-height/max-height properties so that blocks are not pushed to the next page unnecessarily.
Done 2014-09-30

Add --user-agent option to override the user agent string. (ref)
Done 2014-11-17

Change setOptions() method in Java wrapper to take multiple command-line arguments. (ref)
Done 2014-11-17

Fix bug for OpenType shaping of marks following ligatures that affected the Arabic Typesetting font.
Done 2014-11-30

Support ICC color profiles in JPEG, TIFF, and PNG images. (ref)
Done 2014-12-02

Support the <textPath> element in SVG. (ref, ref, ref)
Done 2014-12-03

Fix bug affecting the angle of SVG markers on curved paths. (ref)
Done 2014-12-03

Fix bug where SVG text can have wrong stroke width. (ref)
Done 2014-12-12

Fix bug affecting dx/dy attributes on SVG tspan elements containing right-to-left scripts (eg. Arabic).
Done 2014-12-12

Add PDF metadata required for compliance with PDF/X-3:2003 and PDF/X-4. (ref, ref, ref, ref, ref)
Done 2014-12-12

Fix bug affecting the innerHTML property in the JavaScript DOM when parsing HTML fragments containing table elements.
Done 2014-12-30

Fix bug causing file descriptor leak when loading many XML documents. (ref)
Done 2015-01-05

Fix bug where artificially slanted text (for example, italic Chinese) is invisible in SVG.
Done 2015-01-12

Fix bugs and incompatibilities affecting JavaScript regular expressions.
Done 2015-01-12

Fix bug where the SVG text-anchor property is not respecting bidi direction.
Done 2015-01-13

Fix bug where ::first-line can fail to apply correct to ::before and ::after pseudo-elements.
Done 2015-01-20

Prevent hyphenation after a fixed hyphen, to reduce awkward word breaks.
Done 2015-01-20

Reduce default page margin to 0.75in (54pt) and add --page-size and --page-margin options.
Done 2015-01-20

Fix bug where non-ASCII characters in indentifiers break internal links. (ref)
Done 2015-01-30

Fix bug where JavaScript keywords are not accepted as identifiers in some situations that should be legal. (ref)
Done 2015-01-30

Fix bug where SVG clip paths may not work properly if they have specified clipPathUnits as objectBoundingBox. (ref)
Done 2015-01-30

Fix bug where small scale matrices in SVG can cause rendering problems.
Done 2015-02-06

Fix bug that can cause deadlock for Prince wrappers. (ref)
Done 2015-02-06

Fix bug where long column floats can cause Prince to hang.
Done 2015-02-06

Provide an option to disable JavaScript from the Prince Windows GUI. (ref)
Done 2015-02-06

Try loading image files as SVG if they have an unknown type or extension. (ref)
Done 2015-02-17

Fix bug where very large numbers can cause problems (eg. z-index: 999999999999). (ref)
Done 2015-02-17

Fix bug where XInclude elements do not respect the --baseurl option. (ref)
Done 2015-02-19

Fix bug where XInclude does not support HTTP resources parsed as text.
Done 2015-02-19

Support 1-bit black and white TIFF images. (ref)
Done 2015-02-21

Support the Object.keys JavaScript method (used by HighlightJS and AngularJS). (ref)
Done 2015-02-23

Support UTF-16 encoding for HTML documents. (ref)
Done 2015-03-24

Specify default transparency group for all PDF pages that use opacity.
Done 2015-03-30

Design a mechanism to control the orientation of page headers/footers on landscape pages. (A new CSS property for @page rules called prince-rotate-body). (ref, ref, ref)
Done 2015-03-30

Flip landscape pages to ensure that they end up correctly oriented when printed. (ref, ref)
Done 2015-03-30

Expose positions of formatted elements to the JavaScript DOM (box tracking).
Done 2015-04-06

Fix bug where SVG paths can be stroked even with stroke-width="0". (ref)
Done 2015-04-09

For SVG images without specified width/height, the viewBox should determine the aspect ratio. (ref)
Done 2015-04-09

Fix bug where some options are not escaped by the .NET wrapper. (ref)
Done 2015-04-13

Release Prince 10.
Done 2015-04-25


Reduce memory usage for large documents with many style rules.
Done 2015-05-02

Fix bug where XInclude URLs can fail to work with absolute file paths on Windows. (ref)
Done 2015-05-08

Release Prince 10 rev 2.
Done 2015-06-03


Fix parser bug for CSS :nth-child() selector. (ref)
Done 2015-06-02

Fix broken --fileroot option. (ref)
Done 2015-06-03

Add new --remap option to map HTTP URLs to local file paths.
Done 2015-06-03

Support for grayscale TIFF images with alpha channels.
Done 2015-06-25

Accept Z coordinate for transform-origin property as long as it is zero.
Done 2015-06-25

Fix bug affect SVG shapes that are neither stroked nor filled. (ref)
Done 2015-06-26

Support two-page-left and two-page-right values for prince-pdf-page-layout property. (ref)
Done 2015-06-26

Change @page rules so that prince-rotate-body and shrink-to-fit do not apply to page backgrounds or borders. (ref)
Done 2015-07-04

Fix issue affecting Windows GUI where multiple files will be parsed as XML instead of HTML. (ref)
Done 2015-07-05

Release Prince 10 rev 3.
Done 2015-07-09


Fix bug in SVG paths where coordinates don't need to be separated by spaces if they begin with a decimal point. (ref)
Done 2015-07-14

Add fallback rules for DejaVu LGC and Liberation fonts to default fonts.css file for compatibility with Red Hat and CentOS.
Done 2015-07-15

Fix issue where very large SVG documents can cause Prince to crash.
Done 2015-07-23

Fix issue caused by Japanese fonts on latest public beta of MacOS X. (ref)
Done 2015-07-23

Remove unnecessary dependency on libgcrypt11 from Ubuntu DEB packages. (ref)
Done 2015-07-29

Fix bug affecting SVG text-anchor property in conjunction with dx attribute. (ref)
Done 2015-07-29

Fix bug affecting SVG dx attribute in conjunction with bidirectional text.
Done 2015-07-29

Fix bug affecting text using artificial italics surrounded by text that is not using artificial italics.
Done 2015-07-29

Release Prince 10 rev 4.
Done 2015-08-13


Fix bug where overprint cannot be specified independently for fill and stroke colors. (ref)
Done 2015-09-14

Fix bug where SVG markers can be clipped. (ref)
Done 2015-09-23

Fix bug affecting SSL downloads on some Linux platforms.
Done 2015-09-29

Fix bug that can prevent Prince from running on some Windows platforms. (ref)
Done 2015-10-06

Fix bug where CSS borders ignore opacity from RGBA colors. (ref)
Done 2015-10-06

Fix bug affecting SVG paths. (ref)
Done 2015-10-08

Release Prince 10 rev 5.
Done 2015-10-09


Fix possible crash caused by very large tables. (ref)
Done 2015-10-13

Fix parallel downloads on recent MacOS X versions, where curl uses SecureTransport instead of OpenSSL. (ref)
Done 2015-10-15

Release Prince 10 rev 5 patch 1.
Done 2015-10-15


Fix bug where HTML documents containing carriage returns can lose characters. (ref)
Done 2015-11-06

Fix bug where tables with zero font-size can cause Prince to hang indefinitely.
Done 2015-12-02

Release Prince 10 rev 6.
Done 2015-12-03


Fix bug where CSS matrix() transforms are incorrect. (ref)
Done 2016-02-01

Fix bug where the JavaScript String.trim method could crash. (ref)
Done 2016-02-16

Release Prince 10 rev 7.
Done 2016-02-19


Fix issues affecting multiple comma-separated values for the background properties. (ref)
Done 2015-05-25

Apply prince-text-replace before applying prince-linebreak-magic.
Done 2015-06-07

Avoid line-breaks before hyphens at the beginning of words, eg. "-word".
Done 2015-06-07

Support the CSS filter property on bitmap images. (ref)
Done 2015-07-20

Support tooltips / popups in generated PDF files, via a new prince-tooltip CSS property that can take text from the HTML title attribute. (ref)
Done 2015-07-27

Remove support for "prince input.html output.pdf" and make the -o/--output option mandatory.
Done 2015-08-11

Add new --control interface to use a persistent Prince process for multiple consecutive document conversions to increase throughput. (ref, ref)
Done 2015-08-11

Support JPEG image resolution specified in Exif metadata. (ref)
Done 2015-08-20

Strip ICC profiles and Exif metadata from embedded JPEG images.
Done 2015-08-20

Add new values to prince-image-magic property: jpeg-verbatim, convert-to-jpeg, and recompress-jpeg (replacing jpeg-quality).
Done 2015-08-20

Add better warning messages for invalid CSS style sheet syntax. (ref, ref, ref, ref, ref)
Done 2015-08-20

Make clip paths in SVG (and CSS) clip away content that is entirely invisible, instead of leaving it in the PDF file. (ref)
Done 2015-09-08

Add Korean font names to default font style sheet. (ref, ref)
Done 2015-09-08

Support the CSS filter property on SVG images.
Done 2015-09-26

Support the JavaScript DOM onload/onerror events for script elements.
Done 2015-09-28

Support RequireJS. (ref)
Done 2015-09-28

Fix margin calculation so that fixed-width blocks end up right aligned in a bidi RTL context.
Done 2015-09-29

Support the JSON object in the JavaScript DOM, eg. stringify() and parse().
Done 2015-10-08

Extend Prince JavaScript shell to provide API for document conversions. (ref)
Done 2015-10-08

Fix bug where backgrounds applied to table cells can repeat on the second page even if they are specified as no-repeat. (ref)
Done 2015-10-09

Support CSS Media Queries Level 4.
Done 2015-10-13

Change "page-break-before: left | right" to control whether the first page of the document is treated as a left or right facing page. (ref, ref, ref)
Done 2015-10-13

Optimise conversion of documents with many repeated style rules.
Done 2015-10-13

Use the PostScript name for TrueType fonts if it is present, and add an experimental --force-identity-encoding option. (ref)
Done 2015-10-13

Don't round page sizes to the nearest point (1/72"). (ref)
Done 2015-10-13

Fix issue where calling console.log() from JavaScript can cause deadlocks when Prince is being run from a wrapper library.
Done 2015-10-16

Change XML processing so that XHTML, SVG, and MathML elements must be in their respective namespaces in order to be recognised.
Done 2015-10-20

Support the SVG dominant-baseline property.
Done 2015-10-26

Support the SVG baseline-shift property. (ref)
Done 2015-10-26

Support the CSS @charset rule for Latin1 and Windows-1252 encodings.
Done 2015-10-26

Support CSS style sheets encoded in UTF-16.
Done 2015-10-26

Support hyphenation of words containing punctuation, like "quell'impossibilità" in Italian. (ref)
Done 2015-10-28

Fix issue where nested SVG images with non-zero viewBox are incorrectly positioned. (ref)
Done 2015-10-28

Support preserveAspectRatio="defer" for nested SVG images.
Done 2015-10-28

Support next/previousElementSibling properties on JavaScript DOM nodes. (ref)
Done 2015-11-16

Investigate issue with :blank pages and page-break-after property. (ref, ref)
Done 2015-11-17

Add an auto value to prince-pdf-page-layout and ensure that single-page is explicitly added to the file, as Acrobat Reader does not respect the default value given in the PDF specification. (ref)
Done 2015-11-19

Support the DOM window.top, window.parent, and document.defaultView properties. (ref)
Done 2015-11-23

Support the CSS filter property on arbitrary elements by rasterising them.
Done 2015-11-26

Fix various conformance issues affecting CSS stacking contexts for tables and transformed elements.
Done 2015-11-26

Support rasterising directly to a PNG or JPEG image. (ref)
Done 2015-12-02

Add a new property prince-pdf-color-options to control the conversion between RGB and grayscale color spaces.
Done 2016-01-09

Add a new property prince-pdf-page-colorspace for specifying the color space used to composite pages with transparency. (ref)
Done 2016-01-09

Support global defs in SVG, eg. references to elements outside of the current SVG fragment, either in the same document or other documents. (ref)
Done 2016-01-13

Support internal links to and from SVG content. (ref, ref, ref)
Done 2016-01-18

Change handling of fonts with positive descent metrics to match the behaviour on Windows. (ref)
Done 2016-01-20

Support CSS rem units. (ref, ref)
Done 2016-02-24

Optimise getElementsByTagName and getElementsByClassName by caching live node lists. (ref)
Done 2016-03-01

Support the hyphenate-character property. (Prefixed as prince-hyphenate-character for now).
Done 2016-03-01

Change JavaScript DOM method window.setTimeout so that the second argument is optional. (ref)
Done 2016-03-03

Fix bug affecting setting individual values for the CSS clip property in JavaScript. (ref)
Done 2016-03-18

Support new footnote-display property for a more convenient way of specifying whether footnotes should be block or inline.
Done 2016-03-18

Give more appropriate warnings for unsupported and unknown CSS properties.
Done 2016-03-18

Allow hyphenating words within hyphenated phrases. (ref)
Done 2016-03-21

Support SVG filters. (incomplete) (ref)
Done 2016-04-01

Support Thai line-breaking. (ref, ref)
Done 2016-04-01

Add new option --no-warn-css-properties to suppress warnings for unknown CSS properties. (ref)
Done 2016-04-04

Fix JavaScript DOM bug where innerHTML string includes unnecessary end tags for empty elements like br and img.
Done 2016-04-04

Fix scaling bug affecting SVG filters. (ref)
Done 2016-04-07

Support SVG filters on text elements (not tspan elements).
Done 2016-04-07

Support the JavaScript Object.getPrototypeOf method.
Done 2016-04-08

Split --no-warn-css-properties into three properties: --no-warn-css, --no-warn-css-unknown, and --no-warn-css-unsupported, and only warn about the syntax of property values for known properties. (ref)
Done 2016-04-12

Fix bug where XMLHttpRequest object isn't an event target, causing spurious error messages. (ref)
Done 2016-04-14

Fix bug where Thai word-breaking could occasionally crash.
Done 2016-04-19

Change border-radius so that it doesn't apply to boxes split across pages. (ref)
Done 2016-05-06

Support the new syntax for the border-radius shorthand property.
Done 2016-05-06

Fix bug affecting @page:blank selector combined with page-break-before and multiple input documents. (ref)
Done 2016-05-06

Support creating PDF files larger than 4GB for 64-bit Prince builds. (ref)
Done 2016-05-06

Support CSS4 Selectors such as :matches(), :has(), and :nth-child(... of ...). (ref, ref)
Done 2016-05-09

Disable XInclude by default (it can be enabled with the --xinclude option).
Done 2016-05-27

Disable XML external entity loading (XXE) by default (it can be enabled with the --xml-external-entities or --xxe options).
Done 2016-05-27

Changed default value for widows/orphans property to 1 instead of 2.
Done 2016-05-28

Avoid rasterising SVG where possible when applying filters. (ref)
Done 2016-06-02

Support JavaScript accessor properties with getter/setter functions (needed for mark.js). (ref)
Done 2016-07-13

Support JavaScript Array.every and Array.some methods (needed for mark.js). (ref)
Done 2016-07-14

Support JavaScript DOM method Element.matches aka matchesSelector. (needed for mark.js). (ref)
Done 2016-07-14

Fire DOMContentLoaded event on the window object as well as the document.
Done 2016-07-14

Try harder to work around issue where SVG clipPath element can only contain one path. (ref)
Done 2016-07-15

Support JavaScript Array.reduce method (needed for Char.js). (ref)
Done 2016-07-24

Fix bug affecting viewports on nested SVG elements. (ref)
Done 2016-07-28

Support new URL scheme for PDF actions, eg. pdf-action:GoBack. (ref)
Done 2016-07-29

Support CSS @supports rule and @import condition.
Done 2016-08-02

Support new CSS attr() function syntax, percentage attribute values on properties which support them, and check attr() types earlier.
Done 2016-08-02

Support JavaScript DOM properties for URLs on anchor elements (needed for AngularJS). (ref)
Done 2016-08-02

Fix issue affecting relative positioning on table cells. (ref, ref)
Done 2016-08-04

Support the PDF/X-3:2002 profile. (ref)
Done 2016-08-05

Support the PDF/A-3b profile. (ref)
Done 2016-08-05

Convert CMYK colors and images to sRGB when rasterising or filtering. (ref)
Done 2016-08-05

Tag rasterised images with an sRGB color profile. (ref)
Done 2016-08-05

Fix problems with PDF/A-1b, PDF/X-3, and PDF/X-4 profiles.
Done 2016-08-05

Require output intent and document title for PDF/X profiles.
Done 2016-08-05

Convert 16-bit images to 8-bit automatically when the specified PDF profile does not support them.
Done 2016-08-05

Color correct PNG images according to their gamma or chromacity chunks.
Done 2016-08-05

Add --device-cmyk-profile option.
Done 2016-08-05

Fix bug where table cells with large specified height can lead to unnecessary page breaking. (ref)
Done 2016-08-10

Add new CSS properties prince-device-cmyk-profile and prince-filter-resolution for the @prince-pdf rule.
Done 2016-08-10

Fix bug where box-sizing: padding-box was not correct.
Done 2016-08-23

Fix issue (again) affecting relative positioning on table cells. (ref)
Done 2016-08-26

Add new option --convert-colors to convert all the colors and images to the specified PDF output intent ICC profile. (ref)
Done 2016-09-22

Support PDF/X-1a:2003 profile. (ref)
Done 2016-09-22

Rename the --device-cmyk-profile option to --fallback-cmyk-profile.
Done 2016-09-22

Support JavaScript DOM TypedArray.subarray method needed for Japanese line-breaking script. (ref)
Done 2016-09-24

Fix bug where long floating blocks can be "interleaved" across page breaks. (ref)
Done 2016-09-27

Fix absolute positioning for over-constrained situations in a right-to-left context.
Done 2016-09-27

Fix float margin resolution in right-to-left contexts.
Done 2016-09-27

Fix bug where JavaScript expression "c = [c, c, c]" can be evaluated incorrectly as an array of arrays not array of undefined values.
Done 2016-09-27

Support the JavaScript method Number.toPrecision.
Done 2016-09-27

Support the JavaScript DOM signed integer typed array objects Int{8,16,32}Array.
Done 2016-09-28

Add options to control SSL / TLS settings for HTTPS connections. (ref)
Done 2016-09-28

Support relative base URLs in the HTML base element.
Done 2016-09-28

Support indented JSON output (via third argument of JSON.stringify DOM method).
Done 2016-09-30

Fix bug affecting page breaking on content that spans multiple columns. (ref)
Done 2016-09-30

Default to CMYK output intent if none is specified when generating PDF/X output.
Done 2016-10-06

Check type attribute of script elements to ensure JSON is not executed.
Done 2016-10-06

Fix JavaScript bug where accessing undefined global variables would not throw a reference error.
Done 2016-10-10

Support DOMImplementation.createHTMLDocument method. (ref)
Done 2016-10-11

Support HTMLDocument interface.
Done 2016-10-11

Support document.title property.
Done 2016-10-12

Support opacity for CMYK colors with optional alpha component for cmyk() color function. (ref)
Done 2016-10-13

Fix bug affecting horizontal margins for spans and inline-block elements in right-to-left contexts.
Done 2016-10-13

Fix bug affecting horizontal margins for spans and inline-block elements in right-to-left contexts.
Done 2016-10-13

Change the JavaScript console.log method to insert spaces between its arguments.
Done 2016-10-15

Support the zero-width non-joiner (zwnj) character.
Done 2016-10-16

Fix bug where prince-shrink-to-fit can cause severe slowdown.
Done 2016-10-17

Support JavaScript DOM TypedArray.set method.
Done 2016-10-18

Reencode progressive/interlaced JPEGs that can fail to display correctly in Acrobat. (ref)
Done 2016-10-20

Fix bug where changing filter resolution could lead to a shift in position. (ref)
Done 2016-10-20

Support Array.of and Array.from methods in JavaScript.
Done 2016-10-27

Support Number.MIN_VALUE and MAX_VALUE constants in JavaScript.
Done 2016-10-27

Support new property prince-mark-width to control crop/cross mark thickness. (ref)
Done 2016-11-04

Support JavaScript "debugger" statement as a no-op.
Done 2016-11-07

Updated hyphenation pattern dictionaries.
Done 2016-11-07

Fix escaping of text returned from innerHTML DOM property for unescaped elements like script and style.
Done 2016-11-10

Support HTML input[type="number"] and date consistently with other form inputs. (ref)
Done 2016-11-15

Support the PDF/X-1a:2001 profile. (ref)
Done 2016-11-22

Release Prince 11.
Done 2016-12-03


Fix bug affecting JavaScript regexps with case-insensitive backreferences.
Done 2016-11-25

Fix bug affecting JavaScript functions with nested functions that shadow function arguments.
Done 2016-11-26

Fix bugs affecting JavaScript bitwise operators.
Done 2016-12-04

Support the "name" property on JavaScript function objects.
Done 2016-12-18

Support the JavaScript Object.getOwnPropertyNames method.
Done 2016-12-18

Fix issue where JavaScript arrays with holes shadow prototype properties.
Done 2017-01-01

Fix issue where JavaScript for-in loop can show deleted properties.
Done 2017-01-01

Fix bugs affecting absolute and relative positioning in right-to-left layouts.
Done 2017-01-08

Improve vertical positioning of absolutely positioned boxes.
Done 2017-01-08

Fix bug affecting relative positioning with percentage offsets.
Done 2017-01-08

Fix table layout for percentage widths with horizontal margins.
Done 2017-01-08

Fix bug where CSS angle units are serialised incorrectly in JavaScript.
Done 2017-01-08

Fix bug affecting JavaScript regexps with undefined capture groups.
Done 2017-01-08

Support the JavaScript Array.includes method.
Done 2017-01-08

Change default value of SVG stroke-miterlimit to 4 not 10, and clamp small values to at least 1.
Done 2017-01-10

Fix issue where very long PDF bookmark captions can cause crashes on Windows. (ref)
Done 2017-01-11

Fix issue where attr() functions are serialised incorrectly when element style attributes are accessed from JavaScript. (ref)
Done 2017-01-12

Fix bug where JavaScript typeof null should be "object".
Done 2017-01-24

Fix bug where JavaScript strings should convert to 0 if empty or containing only whitespace.
Done 2017-01-24

Support JavaScript String.localeCompare method.
Done 2017-01-25

Support JavaScript console.warn() and console.info() methods.
Done 2017-01-25

Update Media Queries support to comply with latest CSS specification.
Done 2017-01-25

Support the SVG stop-opacity property / opacity in gradients. (ref, ref, ref, ref)
Done 2017-01-25

Support stroke/fill properly for text-decoration in SVG.
Done 2017-01-25

Fix bugs affecting OpenType font shaping for complex fonts such as Amiri.
Done 2017-02-06

Fix bug affecting the JavaScript DOM splitText method.
Done 2017-02-06

Update character data tables to Unicode 9.
Done 2017-02-15

Fix handling of Windows UNC paths in URLs. (ref)
Done 2017-02-21

Fix bug affecting grayscale PNG images containing a (useless) cHRM chunk.
Done 2017-02-21

Support opacity properly in SVG. (ref, ref, ref)
Done 2017-02-21

Support JavaScript DOMImplementation.createDocument method.
Done 2017-02-22

Update CA root certificates.
Done 2017-02-22

Avoid hyphenating before -ng at the end of an English word.
Done 2017-02-23

Improve line-breaking for paragraphs containing floats.
Done 2017-02-23

Release Prince 11.1.
Done 2017-02-27


Fix bug where non-opaque strokes still knock out the fill on shapes that are filled and stroked.
Done 2017-03-03

Fix bug affecting gradients with opacity that are entirely clipped away.
Done 2017-03-03

Support the CSSStyleDeclaration methods setProperty, setPropertyValue, removeProperty.
Done 2017-03-03

Fix drop-shadow() filter subsurface out-of-bounds exception. (ref)
Done 2017-03-06

Add "pseudo" property to pseudo-element boxes in the box tracking API.
Done 2017-03-06

Speed up CSS selector matching (eg. for Bootstrap).
Done 2017-03-19

Fully support the opacity property in CSS.
Done 2017-03-20

Fix minor issues affecting SVG clip paths and transforms.
Done 2017-04-07

Support SVG masks. (ref)
Done 2017-04-07

Fix issue where some OpenType CFF fonts do not work correctly if they are CID-keyed fonts (often used for CJK scripts). (ref)
Done 2017-04-07

Fix bug in JavaScript Array constructor where some numeric lengths are not processed correctly.
Done 2017-04-12

Support the OpenType "fina" feature for non-Arabic scripts (used by the Google Pacifico font). (ref)
Done 2017-04-12

Fix bug affecting SVG circle arc direction and dashed strokes. (ref)
Done 2017-04-20

Support SVG clipPaths that contain multiple paths by using masks or by drawing and clipping shapes multiple times if masks are not available. (ref)
Done 2017-04-20

Add new --pdf-xmp option and prince-pdf-xmp CSS property for including XMP metadata in PDF files. (ref, ref)
Done 2017-04-21

Support numeric indexing for string objects in JavaScript (also enables the array methods to work on strings). (ref)
Done 2017-04-23

Support JavaScript method Object.getOwnPropertyDescriptor.
Done 2017-05-02

Support JavaScript method Function.prototype.bind.
Done 2017-05-02

Fix bug where box-sizing is not taken into account when calculating the size of shrink-to-fit containers like inline-block and float boxes. (ref)
Done 2017-05-05

Fix support for zwnj characters in Bengali and other Indic scripts. (ref)
Done 2017-05-06

Make minor accuracy improvements to rasterisation and filtering.
Done 2017-05-12

Add --raster-background option to specify whether pages should be rasterised against a white or transparent background.
Done 2017-05-12

Fix issues affecting SVG gradients using object bounding box units.
Done 2017-05-19

Add new @prince-overlay @page region that covers the entire page body area for watermarks and other overlays. (ref)
Done 2017-05-22

Allow the JavaScript setTimeout() method to be called from within other timeouts, up to a notional 10 seconds delay.
Done 2017-05-31

Fix issues affecting SVG patterns using object bounding box units or patternTransform.
Done 2017-06-06

Fix bug with percentage lengths in SVG pattern content.
Done 2017-06-06

Make SVG paint server references fall back in a standard way.
Done 2017-06-06

Fix a problem with clip paths around SVG markers.
Done 2017-06-06

Fix possibility of infinite regress with SVG markers.
Done 2017-06-06

Use correct bounding box for an SVG clip path applied to a clipPath child element.
Done 2017-06-06

Fix SVG radialGradient with percentage length for radius.
Done 2017-06-06

Fix bug where justified text next to a float that fills an entire page can be rendered incorrectly.
Done 2017-06-07

Support new prince-pdf-duplex / PDF.duplex property to specify the PDF viewer preference.
Done 2017-06-10

Add an optional third argument to PDF.attachFile to specify the filename that should be displayed for the attachment in the PDF. (ref)
Done 2017-06-17

Fix bug involving duplicated footnote with word breaking. (ref)
Done 2017-07-04

Release Prince 11.2.
Done 2017-07-26


Fix issue that can cause deadlocks in some situations when running Prince under PHP 7. (ref, ref, ref)
Done 2017-07-04

Release Prince 11.3.
Done 2017-08-14


Fix bug where Prince will not accept gzip transfer encoding when making HTTP requests on Windows.
Done 2017-10-09

Release Prince 11.3.1.
Done 2017-10-09


Fix bug where Prince will crash on Windows 10 after applying Microsoft updates from April 2018.
Done 2018-05-07

Release Prince 11.3.2.
Done 2018-05-07


Fix "ref_already_used" internal error related to images in SVG patterns. (ref)
Done 2018-05-31

Release Prince 11.4.
Done 2018-06-06


Support large sparse arrays efficiently in JavaScript.
Done 2017-06-26

Support the DataView interface to JavaScript DOM typed arrays.
Done 2017-06-26

Expose individual columns in the box tracking API.
Done 2017-06-27

Fix JavaScript bug where whitespace is not trimmed when convering strings to numbers.
Done 2017-07-10

Support octal integer literals in JavaScript.
Done 2017-07-10

Support vertical tab as whitespace character in JavaScript.
Done 2017-07-10

Fix JavaScript bug where carriage return was not treated as a line terminator and would not trigger automatic semicolon insertion.
Done 2017-07-11

Fix bug where percentage widths on table cells that span multiple columns can be resolved incorrectly.
Done 2017-07-14

Support the DOM Document.compatMode property, needed by KaTeX.
Done 2017-07-14

Execute capturing event handlers in the JavaScript DOM.
Done 2017-07-14

Speed up accesses to JavaScript objects that have many properties.
Done 2017-07-14

Support CSS flexbox layout. (ref, ref, ref)
Done 2017-07-31

Workaround bug in MacOS X Preview affecting OpenType CFF fonts. (ref, ref)
Done 2017-08-14

Fix issue where the orphans property can cause footnotes to be unnecessarily moved to the next page.
Done 2017-08-16

Fix issue where nested inline footnotes do not work properly.
Done 2017-08-18

Expose footnotes and page floats area in the box tracking API.
Done 2017-08-22

Expose image URLs in the box tracking API.
Done 2017-08-22

Investigate issues where overflowing content interacts with page and column breaking. (ref, ref)
Done 2017-09-05

Fix some issues affecting CSS clearfix techniques that don't cross page breaks. (ref)
Done 2017-09-05

Support a new --pdf-lang command-line option and PDF.lang JavaScript property for specifying the document language.
Done 2017-09-06

Fix bug affecting mark positioning in Thai text.
Done 2017-09-06

Change "column-count: 1" to behave differently from "column-count: auto", for consistency with browsers.
Done 2017-09-28

Fix issue where Prince attempts to load img elements with empty src attributes.
Done 2017-10-02

Fix bug where the JavaScript Function.bind method does not support a null first argument.
Done 2017-10-08

Fix conformance issues for PDF/A and log numbers that go out of range.
Done 2017-10-17

Fix bug where the getElementsByTagName DOM method does not lowercase its argument.
Done 2017-10-22

Support non-Latin font family names properly. (ref)
Done 2017-11-08

Support the U+2060 word joiner character. (ref, ref)
Done 2017-11-09

Fix issues affecting CSS clearfix techniques that cross page breaks. (ref)
Done 2017-11-10

Support "column-gap: normal".
Done 2017-11-15

Fix some bugs with table minmax width calculation.
Done 2017-11-15

Fix some bugs with resolution of percentage margins and paddings.
Done 2017-11-15

Support SSL client certificates with new command-line options. (ref)
Done 2017-11-21

Don't collapse margins across block formatting context boundaries.
Done 2017-12-10

Fix bug where PDF encryption disallow properties are inverted when set via the control interface.
Done 2017-12-13

Change default PDF encryption key size from 40 bits to 128 bits.
Done 2017-12-13

Support tagged PDF and the PDF/A-1a and PDF/A-3 profiles. (ref, ref, ref, ref, ref)
Done 2017-12-14

Fix bug that could affect the rasterisation of patterns inside filters.
Done 2018-01-19

Fix margin collapsing bugs involving percentage height and min-height values.
Done 2018-01-23

Fix margin collapsing bugs involving empty blocks that establish new block formatting contexts.
Done 2018-01-23

Fix bug that could affect the positioning of nested marks in complex OpenType fonts.
Done 2018-01-23

Support the :checked, :disabled, :enabled, :read-only, and :read-write selectors.
Done 2018-01-31

Support the box-sizing property on flexbox elements.
Done 2018-01-31

Support the PDF/UA-1 profile.
Done 2018-01-31

Improve conformance for XMP metadata parsing.
Done 2018-02-05

Support combined PDF/A-1a+PDF/UA-1 and PDF/A-3a+PDF/UA-1 files.
Done 2018-02-12

Support the tab-size property, although without full tab alignment.
Done 2018-02-13

Make prince-hyphenate-lines stricter and accept prince-hyphenate-limit-lines as an alias to bring it closer to CSS4.
Done 2018-03-12

Support percentage values for the word-spacing property.
Done 2018-03-12

Fix bug where the DOM querySelector methods should be case-insensitive in HTML documents. (ref)
Done 2018-03-22

Fix bug where the DOM attribute methods and others should be case-insensitive in HTML documents. (ref)
Done 2018-03-23

Fix bug where margins are repeated even when box-decoration-break is set to slice. (ref)
Done 2018-03-28

Support PDF object streams to reduce the size of tagged PDFs. (Can be disabled by new command-line argument --no-object-streams or from JavaScript via the PDF.objectStreams boolean property).
Done 2018-04-04

Limit squeezing in justified text so that spans with white-space: nowrap do not get squashed into overlapping themselves.
Done 2018-04-04

Support setting the default zoom level with the prince-pdf-open-action property (only in Acrobat, unfortunately). (ref, ref, ref)
Done 2018-04-17

Support multiple chained actions for the prince-pdf-open-action property. (ref)
Done 2018-04-17

Use PDF compressed object streams to reduce the size of documents containing many link annotation objects and raise default PDF version to 1.5. (ref)
Done 2018-04-23

Allow the DOM innerHTML property to be set to strings containing NUL characters.
Done 2018-05-09

Improve accuracy of text positioning due to PDF font units differing slightly from TrueType font units (1/1000 vs. 1/2048).
Done 2018-05-09

Support the break-before, break-after, and break-inside properties as shorthands for the page/column-break-before/after/inside properties.
Done 2018-05-11

Disable the OpenType "fina" feature by default. (ref)
Done 2018-05-12

Correctly take block height and min-height into account for blocks that cross page breaks.
Done 2018-05-17

Fix bug causing crash on Ubuntu 18.04 virtual machine. (ref)
Done 2018-05-18

Release Prince 12.
Done 2018-05-18


Apply hyphenation to text in white-space: pre-line and pre-wrap blocks.
Done 2018-06-18

Fix bug where links are not affected by CSS transforms. (ref, ref, ref, ref)
Done 2018-06-18

Set the default language field in the PDF when the lang/xml:lang attributes are present even for non-tagged PDF files. (ref)
Done 2018-06-21

Fix masking of SVG image referenced by SVG image element.
Done 2018-06-21

Fix bug affecting SVG feGaussianBlur and feDropShadow filters.
Done 2018-06-21

Fix bug with zero font size text. (ref)
Done 2018-06-22

Avoid unnecessary rasterisation when applying drop shadow filters. (ref)
Done 2018-07-02

Fix bug where the JavaScript String trim function does not trim non-breaking spaces or other Unicode space characters. (ref)
Done 2018-07-15

Fix bug where the JavaScript Number.toFixed function returns the wrong result. (ref)
Done 2018-07-15

Allow the prince-filter-resolution property to apply to individual elements, not just the @prince-pdf rule.
Done 2018-07-16

Clarify warning message about "filter resolution reduced by factor" that applies to overlarge images.
Done 2018-07-16

Set the PDF direction based on the direction and writing-mode of the document root element to support right-to-left books. (ref)
Done 2018-07-18

Support the orientation field in JPEG and TIFF images with the new CSS property "image-orientation: none | from-image". (ref)
Done 2018-07-23

Fix bug in the box tracking API where boxes in columns and flex containers could have the wrong parent.
Done 2018-07-30

Give transformed links and non-rectangular SVG links more accurate clickable areas (eg. for 45deg rotations). (ref)
Done 2018-08-02

Support the JavaScript Number.toExponential method. (ref)
Done 2018-08-06

Support HSL colors with the hsl() and hsla() functions.
Done 2018-08-06

Fix issue affecting whitespace collapsing around newlines in Thai text.
Done 2018-08-17

Fix bug in which tables with max-width set can end up unnecessarily wide. (ref)
Done 2018-08-18

Fix issue introduced in Prince 12 where PNG, GIF, and TIFF files load slower on MacOS. (ref)
Done 2018-08-21

Fix bug where HTML character entities are handled incorrectly if they are the very last thing in the file or innerHTML string. (ref)
Done 2018-08-22

Release Prince 12.1.
Done 2018-08-25


Fix abort caused by Noto Glagolitic font having null offsets in the GSUB header.
Done 2018-08-27

Fix bug affecting zero-sized soft mask images in SVG. (ref)
Done 2018-08-28

Release Prince 12.2.
Done 2018-09-13


Fix bug affecting fonts on MacOS 10.14 (Mojave).
Done 2018-09-27

Release Prince 12.2.1.
Done 2018-09-27


Support prince-pdf-page-layout: two-page as an alias for two-page-left.
Done 2018-10-03

Fix issue where the overflow property incorrectly applies to table rows.
Done 2018-10-15

Fix bug where opacity on an element can affect following filters. (ref)
Done 2018-10-25

Improve performance of tagged PDF for large documents.
Done 2018-11-21

Release Prince 12.3.
Done 2018-11-29


Restrict redirects to HTTP and HTTPS URLs.
Done 2018-12-21

Add a new command-line option --no-redirects which disables redirects entirely.
Done 2018-12-21

Release Prince 12.4.
Done 2019-01-09


Explicitly tag headers and footers as pagination artifacts for all tagged PDFs, not just those in the PDF/UA-1 profile. (ref)
Done 2019-01-21

Fix issues relating to images of unusual size.
Done 2019-01-25

Fix issue where PDF/A validators may not recognise rdf:resource attributes. (ref)
Done 2019-02-06

Fix bug where pdf-xmp option did not work correctly when used through the control interface. (ref)
Done 2019-03-08

Fix "no area" bug. (ref)
Done 2019-03-13

Throw exception for JavaScript with too much recursion.
Done 2019-03-18

Fix bug where the JavaScript "hash" property of anchor elements is incorrectly percent-decoded and not prefixed with "#". (ref)
Done 2019-03-20

Improve performance for very large CSS style sheets. (ref)
Done 2019-03-28

Fix bug in which a forced page break in a very tall fixed height block can cause Prince to hang.
Done 2019-01-08

Release Prince 12.5.
Done 2019-04-17


Support SVG sizing, scaling, and aspect ratios in a manner more compliant with the specifications and interoperable with web browsers.
Done 2018-08-28

Support comment nodes in the JavaScript DOM.
Done 2018-09-13

Add an optional same-window / new-window value to the prince-pdf-link-type property.
Done 2018-09-21

Support target-counter() for the footnote counter to allow multiple references to the same footnote. (ref)
Done 2018-09-27

Initial support for min-content and max-content values on the width and height properties (does not affect auto table layout yet).
Done 2018-10-01

Support SVGs without intrinsic width/height or aspect ratio.
Done 2018-10-02

Improve placement and sizing of SVG images embedded via img, object, background-image, canvas drawImage(), feImage, etc.
Done 2018-10-02

Support the object-fit and object-position properties. (ref)
Done 2018-10-04

Support 2-value syntax for background-repeat.
Done 2018-10-09

Support 3-value and 4-value syntax for background-position.
Done 2018-10-09

Fix some bugs with background-repeat: round|space.
Done 2018-10-09

Fix issues affecting filters applied to SVG root elements in inline and external images.
Done 2018-11-15

Support spot colors in SVG and CSS gradients. (ref)
Done 2018-11-19

Avoid breaking around a non-breaking space character even next to CJK text.
Done 2018-11-20

Extend the prince-pdf-script property to take URL values for external script files.
Done 2018-12-13

Support a new prince-pdf-event-scripts property for adding Acrobat JavaScript events to PDF files (eg. on will-save, will-close, etc.)
Done 2018-12-13

Allow SVG images to be reused without increasing PDF file size. (ref, ref, ref, ref)
Done 2018-12-19

Compute relative font-weight according to CSS2.
Draw text decoration due to ancestors of SVG text elements.
Support SVG filter inheritance using xlink:href.
Fix feTile when filter sub-region has non-zero offset.
Support nested baseline-shift in SVG.
Support equal gradient stops at offset 0.0 and 1.0.
Fix marker 'auto' orientations in some edge cases.
Fix some other SVG conformance issues raised by resvg test suite.
Done 2019-01-21

Fix bug where page floats with "unless-fit" that occur at the end of a block may incorrectly overlap in-flow content.
Done 2019-01-31

Fix issues affecting SVG dominant-baseline auto and use the correct font size for SVG baseline-shift super/sub.
Done 2019-02-07

Support new "background-attachment: fixed bleed" mechanism for extending the @page background into the bleed area.
Done 2019-02-20

Support the CSS3 box-shadow property. (ref, ref)
Done 2019-03-07

Support SVG gradient spreadMethod "repeat" and "reflect" using PostScript function based shading.
Done 2019-03-07

Support fragmentation for multi-page single-column/row flex containers. (ref)
Done 2019-03-08

Fix "make_flex_cross_items: none" internal error affecting flex box layout. (ref)
Done 2019-03-08

Update definition of default serif font-family for CJK languages.
Done 2019-03-27

Draw text-underline below text instead of above and omit text-decoration from images and out of flow elements.
Done 2019-04-04

Avoid inserting unnecessary blank pages after large fixed height blocks that overflow the previous page.
Done 2019-04-17

Add support for the CSS3 text-shadow property. (ref, ref, ref)
Done 2019-04-23

Fix bug affecting "list-style: none inside". (ref)
Done 2019-05-11

Fix bug affecting SVG gradients with transparency inside a CSS transform. (ref)
Done 2019-05-14

Fix bug where the word-break property breaks Arabic text.
Done 2019-05-22

Support CSS variables (aka custom properties). (ref)
Done 2019-05-29

Do not artificially embolden or slant fonts if they are referenced from @font-face rules that already claim they are bold or italic, even if the font data itself does not. (ref, ref, ref, ref)
Done 2019-05-31

Fix bug where large floats that span multiple columns can trigger unpackable block errors. (ref)
Done 2019-06-12

Workaround Acrobat issue where text in some fonts could include a trailing invalid glyph. (ref)
Done 2019-06-13

Add the Takao fonts used for Japanese on Ubuntu to the definitions in fonts.css for the default serif and sans-serif fonts. (ref)
Done 2019-06-25

Change the behaviour of "line-height: normal" to use font metrics in order to more closely match browsers.
Done 2019-07-03

Expand values for prince-pdf-tag-type and move defaults to the HTML style sheet.
Done 2019-07-03

Add CSS properties to specify alternate text and acronym expansion text for tagged PDF. (ref)
Done 2019-07-03

Add @prince-pdf property prince-pdf-display-doc-title: true|false, needed for PDF/UA-1. (ref)
Done 2019-07-03

Support the HTML main element by applying display: block to it in html.css.
Done 2019-07-10

Add new options --fail-dropped-content, --fail-missing-resources, and --fail-missing-glyphs and Prince.failStatus JavaScript variable as a fail-safe mechanism. (ref, ref)
Done 2019-07-25

Fix bug where column floats are not placed at the very bottom of the column area in the presence of spanning floats. (ref)
Done 2019-07-25

Use case-insensitive attribute value tests to support HTML 4 in the default style sheets. (ref)
Done 2019-07-25

Accept -prince- as a vendor prefix for Prince-specific CSS properties and @-prince for at-rules like @-prince-pdf and @-prince-color.
Done 2019-07-25

Change "prince-pdf-page-colorspace: auto" to use the output intent color space or the destination color space when color conversion is enabled.
Done 2019-07-30

Fix issue where fixed heights were not respected for elements with unbalanced multi-column layouts,
Done 2019-07-30

Improve behaviour of prince-snap for column floats.
Done 2019-08-02

Fix issue where a font may not be found for italic Arabic. (ref)
Done 2019-08-13

Allow specifying a PDF output intent without a PDF profile and in the absence of color conversion. (ref)
Done 2019-08-23

Allow the convert-colors option to be disabled for individual elements by means of the prince-pdf-color-conversion property. (ref)
Done 2019-08-23

Support loading hyphenation dictionaries from HTTP URLs. (ref, ref, ref)
Done 2019-08-29

Change shrink-to-fit on @page rules so that it resets after each forced page break, allowing it to apply to individual named pages. (ref)
Done 2019-09-18

Support WOFF2 fonts. (ref, ref)
Done 2019-09-18

Support subsetting for OpenType fonts with CFF outlines. (ref, ref, ref, ref, ref, ref)
Done 2019-09-18

Workaround another bug in MacOS Preview affecting OpenType CFF fonts using more than 255 glyphs. (ref)
Done 2019-09-18

Fix bug affecting fonts with no English font family name. (ref)
Done 2019-09-18

Support the Indic2 OpenType shaping model needed for recent fonts such as Noto Serif Devanagari and Nirmala. (ref, ref)
Done 2019-09-18

Fix issue where Prince demo stamp does not pass Adobe accessibility check. (ref)
Done 2019-10-02

Don't treat blocks with a specified fixed height as page-break-inside: avoid by default. (ref)
Done 2019-10-12

Support the JavaScript Array fill() method. (ref, ref)
Done 2019-10-21

Support the JavaScript Array reduceRight() method.
Done 2019-10-22

Change leaders so that they expand to fill the available space when used in shrink to fit contexts like floats and inline blocks.
Done 2019-10-22

Support an optional second argument to the leader() generated content to specify a minimum width.
Done 2019-10-22

Allow the CSS content property to override MathML and SVG elements. (ref)
Done 2019-10-31

Don't generate empty Lbl tags for lists with no marker content in tagged PDF.
Done 2019-11-12

Support CSS and TrueType font-weight values that aren't multiples of 100. (ref)
Done 2019-11-15

Release Prince 13.
Done 2019-11-19


Fix issue affecting Thai line-breaking support.
Done 2019-11-25

Change @page rules to inherit from the document root element. (ref)
Done 2019-11-29

Support CSS variables in @page rules and margin boxes. (ref)
Done 2019-11-29

Extend prince-pdf-tag-type to support the "Artifact" and "Table" values.
Done 2019-12-05

Fix issue that can affect loading XML documents from Windows UNC paths.
Done 2019-12-12

Release Prince 13.1.
Done 2019-12-18


Fix issue where PNG images can fail to load if they contain large non-essential chunks. (ref)
Done 2019-12-18

Add the Segoe UI Symbol font as a fallback serif font on Windows. (ref, ref)
Done 2020-01-15

Support rendering intents for color conversion. (ref)
Done 2020-01-15

Support custom list markers for PDF/UA. (ref)
Done 2020-01-15

Support "column-span: none" by treating it as "column-span: 1". (ref)
Done 2020-01-16

Fix issue affecting the init feature in some fonts for Indic text following punctuation characters.
Done 2020-01-22

Fix bug affecting the JavaScript Array slice method applied to arrays with undefined values. (ref)
Done 2020-01-23

Fixed bug affecting new versions of the Baekmuk Batang font.
Done 2020-01-28

Create official Prince Docker images. (ref, ref)
Done 2020-01-29

Accept non-empty glyphs with zero contours, which are very rare but technically legal.
Done 2020-01-30

Fix bug affecting XInclude and external entities in XML documents loaded from standard input. (ref)
Done 2020-01-30

Fix bugs affecting DOM attribute methods and namespaces, for example setAttributeNS. (ref)
Done 2020-02-03

Release Prince 13.2.
Done 2020-02-07


Support OpenType reverse chaining contextual single substitutions, as used by the "Numderline" font.
Done 2020-02-02

Fix issue where CMYK colors are unnecessarily assigned a default ICC profile instead of being left as device-dependent. (ref)
Done 2020-02-12

Workaround issue affecting buggy fonts where the loca table offsets point past the end of the glyf table.
Done 2020-02-12

Release Prince 13.3.
Done 2020-02-18


Fix issues affecting the sizing of inline blocks.
Done 2020-02-21

Fix issue where floats can sometimes fail to fit in the available space. (ref)
Done 2020-02-21

Support auto, clip, and scroll values for the overflow property (note: it does not actually scroll, but does establish a new block formatting context). (ref)
Done 2020-02-24

Fix performance regression affecting system fonts on Windows.
Done 2020-02-28

Fix issue affecting some URLs with percent-encoded characters.
Done 2020-02-28

Release Prince 13.4.
Done 2020-03-03


Fix font subsetting issue affecting some TrueType fonts.
Done 2020-03-04

Improve performance for long documents using OpenType fonts.
Done 2020-03-18

Update curl version to fix issue with AltNames on Windows 7. (ref)
Done 2020-03-18

Release Prince 13.5.
Done 2020-03-20


Avoid hairline cracks where possible between box border segments.
Done 2020-04-07

Improve bounding boxes for Bézier curves used in links and clipping paths. (ref)
Done 2020-04-23

Fix issue where spans split because they contain blocks can lose styling. (ref)
Done 2020-05-01

Fix issue where the JavaScript RegExp.prototype object is not a RegExp itself.
Done 2020-05-04

Support --ssl-version TLSv1.3.
Done 2020-05-06

Improve quality of Gaussian blurs and filter accuracy.
Done 2020-05-25

Fix letter-spacing in SVG when used with the text-anchor property.
Done 2020-05-28

Fix bug in JavaScript regexp syntax involving escaped character classes [\]].
Done 2020-07-16

Fix tagged PDF accessibility for the list-style-image property and support the prince-alt-text and prince-expansion-text properties on list item and footnote marker pseudo-elements. (ref)
Done 2020-08-11

Fix issue where inline floats could break tagged PDF reading order.
Done 2020-08-24

Fix bug involving absolutely positioned blocks inside flexboxes in tagged PDF. (ref)
Done 2020-10-05

Fix bug involving absolutely positioned table cells in tagged PDF.
Done 2020-10-05

Don't create span structure elements for non-breaking space characters in tagged PDF. (ref)
Done 2020-10-05

Reduce memory leaks in font shaping and parallel download threads in Prince --control mode. (ref)
Done 2020-10-08

Sign and notarise Prince binaries to avoid warnings on MacOS Catalina. (ref)
Done 2020-11-24

Release Prince 13.6.
Done 2020-12-09


Don't process XIncludes or external entities/DTDs in SVG images.
Done 2020-02-02

Add "baseline" property to line boxes in the JavaScript box tree API.
Done 2020-03-02

Fix issue where JavaScript strings are not represented in UTF-16, breaking scripts like Twemoji. (ref)
Done 2020-03-18

Support the CSS3 font-variant-caps property (small-caps only for now) and make font-variant a shorthand property for this.
Done 2020-04-01

Support the CSS3 font-variant-ligatures property. (ref, ref, ref)
Done 2020-04-01

Support the CSS3 font-kerning property.
Done 2020-04-01

Support font-variant-caps: all-small-caps.
Done 2020-04-07

Use ⯑ as the fallback character for missing glyphs instead of '?'.
Done 2020-04-08

Add "no-embed" option to prince-pdf-color-conversion. (ref)
Done 2020-04-23

Support the font-variant-numeric property.
Done 2020-04-30

Support multipass JavaScript workflow by means of a new Prince.registerPostLayout(func) API and --max-passes command-line option.
Done 2020-05-01

Support the JavaScript Object.setPrototypeOf method. (ref)
Done 2020-05-04

Support -j option as a shorthand for --javascript.
Done 2020-05-25

Support the xlink:href attribute for external scripts in SVG. (ref)
Done 2020-05-28

Support color emoji fonts in CBLC/CBDT format, such as Noto Color Emoji and JoyPixels (limited to 256 emoji per font for now). (ref)
Done 2020-06-11

Normalise filenames to avoid broken links between input documents. (ref, ref)
Done 2020-06-22

Support @font-face rules in external SVG image files. (ref, ref)
Done 2020-06-30

Support CSS calc() expressions for the width and height properties. (ref, ref)
Done 2020-07-06

Support CSS calc() expressions for the min/max-width/height properties. (ref, ref)
Done 2020-07-07

Fix bug where min/max-width/height properties clamp negative values to zero instead of rejecting them.
Done 2020-07-07

Support CSS calc() expressions for margin properties. (ref, ref)
Done 2020-07-08

Support CSS calc() expressions for padding properties. (ref, ref)
Done 2020-07-09

Support CSS calc() expressions for position offset properties (left, right, top, bottom). (ref, ref)
Done 2020-07-09

Support emoji tag sequences (needed for some flag emoji). (ref)
Done 2020-07-11

Support fonts with Big5 encoding and no Unicode cmap. (ref)
Done 2020-07-14

Support the textLength attribute in SVG. (ref)
Done 2020-07-16

Support CSS calc() expressions for background-{image,position,size} properties. (ref, ref)
Done 2020-07-21

Support more than 256 emoji per font. (ref)
Done 2020-07-21

Support emoji when rasterising and in filters. (ref)
Done 2020-07-22

Support CSS calc() expressions for border properties, color values, and the vertical-align property. (ref, ref)
Done 2020-07-28

Support CSS calc() expressions for letter/word-spacing properties. (ref, ref)
Done 2020-07-31

Support CSS calc() expressions for font-size, font-weight, and line-height properties. (ref, ref)
Done 2020-08-05

Add --raster-jpeg-quality option. (ref)
Done 2020-08-05

Support CSS calc() expressions for angles in hsl(), hsla(), and linear-gradient() functions. (ref, ref)
Done 2020-08-07

Support CSS calc() expressions for column properties and box/text-shadow properties. (ref, ref)
Done 2020-08-11

Support CSS calc() expressions for flexbox properties. (ref, ref)
Done 2020-08-12

Support CSS calc() expressions for the clip, z-index, border-spacing, object-position, table-baseline, orphans, widows, table-column/row-span, transform and transform-origin properties. (ref, ref)
Done 2020-08-13

Support color emoji fonts in Apple sbix format (some limitations may apply). (ref)
Done 2020-08-13

Support CSS calc() expressions in filter functions. (ref, ref)
Done 2020-08-17

Support CSS calc() expressions in page, counter, and bookmark properties and content functions. (ref, ref)
Done 2020-08-18

Draw dotted borders with circles instead of squares. (ref)
Done 2020-08-18

Support CSS calc() expressions in text-indent, tab-size, and hyphenation properties. (ref, ref)
Done 2020-08-19

Support language-specific OpenType shaping with the "locl" feature, enabled using the XML/HTML lang attribute.
Done 2020-09-03

Support OpenType shaping for Syriac scripts.
Done 2020-09-03

Support attr() in CSS calc() expressions. (ref, ref)
Done 2020-09-08

Imply emoji presentation when a character is followed by an emoji modifier.
Done 2020-09-11

Drop page float margins at the top of the page area.
Done 2020-09-24

Fix tagged PDF issue affecting floated pseudo-elements. (ref)
Done 2020-10-05

Support SVG-in-OpenType for emoji fonts and color display fonts. (ref, ref)
Done 2020-10-08

Support #index fragment URLs to refer to individual fonts within TrueType Collections (TTC) and WOFF2 collections and use this for --scanfonts.
Done 2020-10-16

Fix bug in which OpenType fonts with CFF outlines can fail to work if they use non-standard names for MacRoman glyphs.
Done 2020-10-16

Support "prince-pdf-tag-type: none" for making wrapper span/block elements transparent in tagged PDF structure tree. (ref)
Done 2020-10-22

Avoid creating structure elements in tagged PDF for ::first-line/letter pseudo-elements by default.
Done 2020-10-22

Speed up Indic text shaping.
Done 2020-10-22

Make the --max-passes option default to --no-max-passes (unlimited passes).
Done 2020-10-26

Support prince-expansion-text() value on the content property for use in tagged PDF. (ref)
Done 2020-10-26

Fix bug where SVG baseline-shift incorrectly affects subsequent tspans with relative positions.
Done 2020-10-29

Support SVG and outline glyphs from the same OpenType font.
Done 2020-10-29

Change image-orientation property default value to "from-image" to match web browsers. (ref)
Done 2020-11-24

Fix issue in which using footnote counters with prince-script() can use the wrong counter value. (ref)
Done 2020-11-24

Add --allow-copy-for-accessibility option as an exception to --disallow-copy and --allow-assembly as an exception to --disallow-modify. (ref)
Done 2020-12-07

Fix issue in which using footnote counters with prince-script() fails in footnote calls. (ref, ref)
Done 2020-12-18

Fix issue affecting pattern transformations that breaks rotated drop shadows. (ref)
Done 2020-12-18

Fix regression in resolving percentage sizes on replaced elements. (ref)
Done 2021-01-07

Add marginTop/Right/Bottom/Left properties to the JavaScript box tracking API to give used margin values.
Done 2021-01-12

Support custom page counters. (ref, ref, ref)
Done 2021-01-13

Fix cursive positioning issue affecting Noto Nastaliq Urdu font. (ref)
Done 2021-01-15

New column and page float features, details to be revealed!
Done

Release Prince 14.
Done 2021-02-04


Support vh/vw/pvh/pvw/vmin/vmax/pvmin/pvmax units relative to the @page area. (ref, ref)
Done 2021-01-18

Add floatPosition property ("TOP" or "BOTTOM") to page float container boxes in the box tree.
Done 2021-01-18

Fix issue affecting the Caudex font caused by duplicate PostScript glyph names. (ref)
Done 2021-01-21

Support break-after properties on the last table cell of a row. (ref)
Done 2021-02-01

Add paddingTop/Right/Bottom/Left and borderTop/Right/Bottom/Left properties to the JavaScript box tracking API to give used padding and border widths.
Done 2021-02-02

Support the "href" attribute without the XLink namespace prefix for compatibility with SVG 2.
Done 2021-02-03

Support ES6 octal and binary literals in JavaScript.
Done 2021-02-03

Fix issue where long content can cause a block with fixed height to break across pages even when "overflow: hidden" is specified. (ref)
Done 2021-02-05

Support break-before properties on the first table cell of a row.
Done 2021-02-09

Fix issue where box-sizing: border-box does not correctly apply to tables with fixed layout. (ref)
Done 2021-02-09

Support PDF/A-2 profiles (without attachments).
Done 2021-02-10

Add new fail-safe options to abort conversion when a PDF profile cannot be used or there is an accessibility tagging error (--fail-pdf-profile-error and --fail-pdf-tag-error). (ref)
Done 2021-02-10

Add new --fail-safe option that enables all of the other fail-safe options.
Done 2021-02-10

Support the JavaScript Array find method.
Done 2021-02-10

Support \u{} character escapes in JavaScript.
Done 2021-02-10

Support the JavaScript Array findIndex method.
Done 2021-02-11

Fix issue affecting the sizing of replaced elements in flex containers. (ref)
Done 2021-02-16

Fix regression affecting nested page floats.
Done 2021-02-17

Fix issue affecting libthai on MacOS. (ref)
Done 2021-02-19

Fix issue with fonts containing GSUB tables with version 1.1. (ref)
Done 2021-02-19

Support Object with valueOf method as valid "length" property value for array-like objects in JavaScript.
Done 2021-02-19

Fix bug affecting image aspect ratios in flexbox. (ref)
Done 2021-02-22

Fix issue where absolutely positioned content in table headers and footers can break tagged PDF. (ref)
Done 2021-02-23

Release Prince 14.1.
Done 2021-02-24


Fix issue with table cell vertical alignment affecting KaTeX. (ref)
Done 2021-04-07

Add warning for fonts with inconsistent weightClass/macStyle values. (ref)
Done 2021-04-08

Fix issue affecting OpenType positioning for some fonts like Markazi Text.
Done 2021-04-09

Reorder Arabic marks correctly according to Unicode rules.
Done 2021-04-14

Don't warn about the font-display property.
Done 2021-04-15

Release Prince 14.2.
Done 2021-04-27


Fix bug affecting the z-index property on tables. (ref)
Done 2021-05-20

Speed up decoding of very large data: URLs.
Done 2021-06-22

Don't strip zero-width space characters in SVG. (ref)
Done 2021-09-07

Fix issue where some HTML named character references must only be recognised as such when followed by a semicolon. (ref)
Done 2021-11-09

Fix bug affecting the size of blur when it is not the first filter. (ref)
Done 2022-01-28

Update library dependencies and CA root certificates.
Done 2022-05-26

Support Ubuntu 22.04.
Done 2022-06-08

Release Prince 14.3.
Done 2022-06-08


Fix issue that could cause crash on Windows in rare circumstances. (ref)
Done 2022-10-14

Release Prince 14.4.
Done 2022-10-14


Support the JavaScript String fromCodePoint method.
Done 2021-03-09

Support the JavaScript String codePointAt method.
Done 2021-03-10

Support the ES6 Map class needed for MathJax 3. (ref)
Done 2021-03-23

Support the ES6 Symbol class and values.
Done 2021-04-23

Support the Sinhala script. (ref, ref)
Done 2021-05-04

Fix issue where "font-variant: prince-opentype(...)" disables Arabic and Indic shaping. (ref)
Done 2021-05-04

Support ES6 iterators.
Done 2021-05-06

Fix performance issue affecting some CFF fonts such as Noto Sans SC.
Done 2021-05-07

Support ES6 for-of loops.
Done 2021-05-14

Apply Unicode mark reordering to more scripts, not just Arabic and Indic scripts.
Done 2021-05-14

Support the JavaScript Object.getOwnPropertySymbols method.
Done 2020-05-19

Fix below-base mark reordering for Thai script.
Done 2021-05-19

Apply correct mark decomposition and reordering for Lao script.
Done 2021-05-19

Support the JavaScript Element classList property and DOMTokenList interface. (ref)
Done 2021-05-20

Fix bug where the JavaScript Function.bind method does not support constructor invocation or arguments.callee properly.
Done 2021-05-25

Fix crash affecting some very large documents. (ref)
Done 2021-05-26

Make JavaScript strings iterable.
Done 2021-06-09

Support MathJax 3. (ref, ref, ref, ref)
Done 2021-06-11

Fix bug affecting rare combination of OpenType GPOS positioning features.
Done 2021-06-22

Support OpenType shaping for the Khmer script. (ref, ref, ref)
Done 2021-06-22

Support JavaScript ES6 arrow functions.
Done 2021-07-27

Support the ES6 Set class.
Done 2021-07-30

Avoid generating some unnecessary Span elements in the tagged PDF structure tree. (ref)
Done 2021-09-10

Support the HTML noscript element.
Done 2021-10-04

Fix incorrect paragraph breaks caused by absolutely positioned blocks inside inline content.
Done 2021-10-08

Fix JavaScript issue where changing the length of large sparse arrays can be very slow.
Done 2021-10-12

Generate interactive PDF forms from HTML forms. (ref, ref)
Done 2021-10-26

Improve treatment of "break-before: avoid" so that it can pull partial content from the previous block instead of pulling the entire block to the next page. (ref, ref, ref)
Done 2021-11-09

Fix bug in flex column layout that can lead to overlapping content. (ref)
Done 2021-11-12

Add stubs for the XMLHttpRequest getResponseHeader and getAllResponseHeaders methods. (ref)
Done 2021-11-19

Support 'align-self: stretch' for flex items in a fragmented flex row container. (ref, ref)
Done 2021-11-30

Support the WebP image format. (ref)
Done 2021-12-09

Speed up style sheets with many class selectors.
Done 2021-12-15

Support JavaScript let/const declarations for ES6 lexical scopes. (ref)
Done 2021-12-16

Speed up JavaScript DOM live node lists returned by getElementsByTagName and getElementsByClassName.
Done 2021-12-16

Cache text to speed up complex font shaping.
Done 2022-01-13

Fix a bug in the sizing of flex items with align-self: stretch. (ref)
Done 2022-01-21

Avoid unnecessarily re-rasterising SVG masks where possible. (ref)
Done 2022-01-25

Fix bug affecting multi-column layouts with zero line-height.
Done 2022-01-27

Fix the enumeration order of JavaScript properties with integer keys.
Done 2022-01-27

Fix bug where run-in elements can break the tagged PDF structure tree. (ref)
Done 2022-01-28

Disable HTML iframes by default and add an --iframes option to enable them.
Done 2022-02-01

Prevent prince-pdf-script and prince-pdf-event-scripts CSS properties from accessing files or URLs and add new command-line options for this purpose.
Done 2022-02-01

Support the AVIF image format. (ref)
Done 2022-02-08

Support the CSS text-decoration-line/color/style properties (the old text-underline/overline/line-through properties still work).
Done 2022-02-15

Support wavy and double text-decoration styles.
Done 2022-02-18

Support the text-underline-position property.
Done 2022-02-18

Rename the --cookiejar option to --cookie-file.
Done 2022-03-29

Preserve leading newlines for white-space: pre, pre-wrap, and pre-line. (ref)
Done 2022-04-06

Improving handling of trailing spaces for white-space: pre-wrap. (ref)
Done 2022-04-06

Workaround Acrobat issue triggered by certain uses of bfrange in PDF ToUnicode mappings. (ref)
Done 2022-04-12

Provide a mechanism for creating PDF annotations. (ref, ref, ref, ref)
Done 2022-04-28

Support fragmentation and correct sizing for multi-line flex row containers (flex-wrap). (ref, ref)
Done 2022-04-28

Fix incorrect positioning of absolute positioned content within inline blocks.
Done 2022-05-06

Add new options --ssl-no-revoke and --ssl-revoke-best-effort for Windows. (ref)
Done 2022-06-02

Add new failsafe option --fail-stripped-transparency if transparent images are used with a PDF profile that does not support opacity.
Done 2022-06-20

Avoid inserting extra P structure element in tagged PDF for paragraphs containing only figures and/or floats. (ref)
Done 2022-07-29

Fix column width issue with auto table layout in shrink-to-fit contexts, like nested tables and floats.
Done 2022-08-08

Rename fonts to avoid name clashes in documents that include multiple subsets of the same font. (ref)
Done 2022-08-08

Fix recently introduced bug where embedded fonts could fail to display correctly if they used exactly 256 glyphs. (ref)
Done 2022-08-08

Add --fail-invalid-license fail-safe option. (ref)
Done 2022-08-29

Fix issue where font subsetting can break PDF Forms. (ref)
Done 2022-09-01

Fix incorrect positioning of absolute positioned content within relatively positioned inline elements.
Done 2022-09-01

Fix issue affecting tagged PDF performance. (ref)
Done 2022-09-02

Improve the display of HTML select elements.
Done 2022-09-02

Provide a universal MacOS binary to support the Apple M1 architecture. (ref)
Done 2022-09-09

Fix the XMP serialisation of the meta "keywords" value. (ref)
Done 2022-09-30

Support Unicode 15.
Done 2022-09-30

Improve the appearance of radio button controls when PDF Forms are not enabled.
Done 2022-09-30

Better support for relatively positioned table cells. (ref)
Done 2022-10-04

Change behaviour of regexp literals to match recent JavaScript specs.
Done 2022-10-05

Add new option --pdf-xmp-metadata to enable the XMP representation of HTML metadata even when the PDF profile does not require it. (Also available via the PDF.xmpMetadata property and and the pdf-xmp-metadata job field). (ref)
Done 2022-10-13

Fix issue with box-decoration-break: slice and spanning cells in tables with collapsing borders. (ref)
Done 2022-10-18

Fix issue where automatic semicolon insertion can affect the use of JavaScript keywords like "return" as property names.
Done 2022-10-18

Improve color space handling of PNG images with sRGB/cHRM/gAMA chunks but not iCCP chunks.
Done 2022-10-28

Embed paletted PNGs as indexed color images instead of expanding them to direct RGB images.
Done 2022-10-28

Release Prince 15.
Done 2022-11-24


Add "Note" and "Reference" PDF tags to the prince-pdf-tag-type property. (ref)
Done 2023-01-24

Fix issue where some fonts with symbol encoding cmaps could use the wrong glyphs when subset.
Done 2023-02-07

Revert to the 8-bit "standard encoding" approach used for text in Prince 14 as the CMap dictionary approach is unfortunately not supported for PDF editing in Acrobat.
Done 2023-02-17

Release Prince 15.1.
Done 2023-02-21


Fix issue where the background and styling on iframe body and html elements could be lost. (ref)
Done 2023-02-24

Improve subsetting of OTF fonts (OpenType with CFF outlines). (ref)
Done 2023-03-01

Support the HTML wbr element. (ref)
Done 2023-03-01

Allow prince-pdf-tag-type: Formula | Figure to apply to non-image elements.
Done 2023-05-08

Workaround issue where table borders can affect Acrobat Reader's "export to Excel" feature. (ref)
Done 2023-07-27

Update libwebp version to fix CVE-2023-4863.
Done 2023-10-05

Fix issue affecting the JavaScript "in" operator and symbol values.
Done 2023-10-10

Update libcurl version to fix CVE-2023-38545.
Done 2023-10-12

Release Prince 15.2.
Done 2023-10-17


Fix issue where form controls are treated as having the wrong min/max width. (ref)
Done 2023-10-25

Make --ssl-revoke-best-effort the default (can be changed with --no-ssl-revoke-best-effort).
Done 2023-10-25

Detect infinite loops when resolving cross-references. (ref)
Done 2023-11-16

Fix issue affecting Prince on Windows if binary path contains non-ASCII characters. (ref)
Done 2023-11-20

Release Prince 15.3.
Done 2024-02-14