What has changed?

In the latest release of iText 7, there have been a couple of fixes for certain bugs that had the potential to adversely affect document creation.

The first bug was causing SvgConverter to create invalid graphics instructions that caused text position bugs in some viewers. (Safari and View on macOS, and Documents on iOS. The issue was that SvgConverter was creating invalid content streams due to having unallowed operators in the BT/ET ('Begin Text'/'End Text')  sequence in certain situations. 

Below is an example of one of the invalid streams we found while investigating this bug:

To resolve this bug the logic of TextLeafSvgRenderer was rewritten from scratch to ensure valid stream generation, so all platforms and viewers render the document in the same way. 

The second issue was a bug in how the 'path' element's 'd' property (a property to specify the shape of a path) was handled. The SVG 2.0 specification allows a 'd' property with a 'none' default value, which means that the element does not render or contribute to the bounding box of ancestor container elements. In our 7.2.1 release, we have taken measures to explicitly allow a path object with that property. 

How is the user impacted?

As these are bug fixes, not much will change for the average user in terms of how they code their applications, all SVG creation elements work as they did before due to all changes being made to the backend of the library.