Releases: itext/itext-java
iText Core/Community 7.1.13
The iText Core 7.1.13 release is the fourth quarterly release of 2020 of our innovative PDF library.
This Core release brings initial support for <symbol>
in SVG, which benefits both Core, and pdfHTML (3.0.2). As we've mentioned previously, we continue to work on increasing support for SVG since it is an important topic for us.
Improvements have been made to the way MemoryLimitsAwareHandler works, and we've also made important changes regarding how word-wrapping is handled in the context of languages that use special scripts, such as Thai, Khmer, Lao, and Myanmar.
Besides that, we investigated and fixed a potential vulnerability in the way iText used to parse XMP metadata which affects both Core and the license library, improved the PDF merging so that it does not ignore OCG dictionaries anymore, and added two new Image filters (DCT and JPXDecode).
As for the rest of the changes, expect the typical assortment of performance improvements and convenience additions.
New Features
- Support DCT filter for image bytes decoding
- Support JPXDecode filter for image bytes decoding
- SVG: support symbol element
Improvements
- Wordwrapping: support proper processing of preceding inlineBlock or ImageRenderer
- PDF/A: page transparency check
- PDF/A: "Implementation limits" requirement check
- Refactor MemoryLimitsAwareHandler
- Merging keeps OCG dictionary
- Handling of the PDF document with outlines which don't have correct Parent entry
Bugs
- TrueTypeFont with standard base font is not parsed from PDF correctly
- NPE on empty letter spacing declaration
- Potential security vulnerability in XMP Metadata parsing
iText Core/Community 7.1.12
The iText Core 7.1.12 release is the third quarterly release of 2020 of our innovative PDF library.
This Core release brings initial support for <linearGradient>
in SVG and linear-gradient()
in CSS, which is something that both Core, and pdfHTML (3.0.1) will benefit from. SVG is an important topic for us, so be sure to check our future releases, as even wider support is coming.
As for the rest of the changes, expect the typical ongoing mix of yet even more performance improvements and convenience additions.
A big shout-out to @evileye-uk, @tompecina and @hady-malekpour for their pull requests! It is pretty amazing that after 20 years as an open source project, we still get contributions.
New Features
- Expose image identification API in io module
- Add possibility to remove items from outline tree
- Initial support of linearGradient in SVG and in CSS
Improvements
- itext7-dotnet PR #8: Fix behaviour on systems with alternative minus sign characters (Ported to Java)
- itext7 PR #42: Malformed cross-reference stream fixed
- Process large table's split correctly
- itext7 PR #40: If line.start <=0 then continue replacing whitespaces otherwise it is a GlyphLine which has been created from existing one
Bugs
- Digital Signatures: annotation dictionary incorrectly updated when signing a pre-signed document
- Incorrect appearance for choice fields after the setValue call
- Glyph bbox is calculated incorrectly for type 3 fonts in case font matrix has 1 as multiplier when parsing content stream
- Improve the performance of the replaceSpecialWhitespaceGlyphs method
- layout: KEEP_TOGETHER works incorrectly with floating elements
- Pdf/A compliance checker incorrectly throws exception when a /Configs entry is not present in the /OCProperties dictionary
- SVG: Incorrect default resource resolving
- SVG: Fix Preserve AspectRatio attribute
- Reuse the same instance of ResourceResolver in SVG processing
- When a link occupies more than two areas, a NullPointerException is thrown
- When signing a PDF using an existing signature field, PdfSigner.PreClose does not mark the AcroForm dictionary as modified
iText Core/Community 7.1.11
7.1.11
iText 7.1.11 brings the second quarterly release of 2020 for the iText 7 family.
Other than Core (this project), we're also releasing at the same time, the following open source projects pdfHTML (major 3.0 release!) and RUPS.
New Features
- Improve creation and(or) merging of outlines for documents created in pdfHtml
- Basic implementation of orphan/widow control
Improvements
- itext7-dotnet PR #6 (and i7n-pdfsweep PR #1): Fix missing index and newlines in cleanup regexes (thank you vemoo!)
- itext7 PR #44: Fix null pointer in PdfAcroForm (thank you craftmaster2190!)
- itext7-dotnet PR #4: Path transformation to userspace (thank you Moneema14 for the inspiration!)
- While checking whether a cell with a fixed height should be split, float are compared without any epsilon value, which may cause issues because of float precision inaccuracy
Bugs
- Make fringe attribute in xfdf squre and circle annotations optional
- Several bugs in processing of /TI for choice fields
- setValue method works incorrectly for a choice form field
- NotoSerifKhmer is rendered poorly
- GposLookupType5: mark to ligature positioning results in duplicating the mark
- Fix issue with Khmer text being incorrectly formatted
- Adding a PNG to pdf creates unopenable pdf document
- The FillOpacity is not set correctly on the GraphicsState of TextRenderInfo
iText Core/Community 7.1.10
7.1.10
iText 7.1.10 brings the first quarterly release of 2020 for the iText 7 family, and coincidentally it's on the day that iText, as a project, turns 20! 🎂🥳
Although it's iText's birthday, we are giving away presents left and right, which include new releases of Core, pdfHTML, pdfSweep and RUPS (oof, I really had to take a breather there. It's a lot of goodies!).
New Features
- Allow individual page loading when reading
- Implement scheduledCheck analog for iText Core
- Update BouncyCastle dependency to 1.64
- SVG: Feature: Markers, initial support
Improvements
- Document PdfReader#setMemorySavingMode
Bugs
- When filling unmerged fields iText doesn't distinguish field and widget dictionaries
- Digital Signatures: annotation dictionary incorrectly updated when signing a pre-signed document
- Leading spaces are trimmed in form field appearances
- Adding a field to an existing acroform fails when using the PdfDocument append mode.
- Opening, setting tagged and closing an already tagged pdf rewrites the parenttree dictionary
- Problem with PDF/A end page event
- Fix SignUtils class to handle the case when a certificate doesn't have unsupported critical extensions
- svg: set default stroke width to 1 px value
Tasks
- Make sure that all iTextCore tests extend ExtendedITextTest
- Reorganize samples-internal tests: FormFieldTest
- Reorganize samples-internal tests: FormFieldFlatteningTest
- xfdf: move xfdf message constants to XfdfException class
- Add test category to some itextcore tests
- Deprecate IdelOutputStream
- Reorganize samples-internal tests: InlineImageExtractionTest
- Avoid reading page dictionaries in ParentTreeHandler.registerMcr()
- Optimize PdfPagesTree#loadPage()
- Make PdfDocument#tryInitTagStructure protected
- Improve documentation of PdfEncryption
- Improve javadocs of CompareTool
- Incorrect XRef type in compressed PDFs
- Reorganize samples-internal tests: SmartModeTest
- Resolve layout javadoc warnings
- Reorganize samples-internal tests: FloatsComplexTest
- Add test category to some internal-tests and license tests
- Reorganize samples-internal tests: PartialCleanUpMultipleImageOccurrencesTest
- Update pdftest module dependency on veraPDF
- Improve documentation for XFAFlattener
- Add tests for "overflow" attribute in svg
- Update year to 2020 in the Copyright headers and project info in all repositories
- Fix differences between C# and Java test results in ValidationOff012Test
- Fix getNameTree method so that key order is platform-independent
- Make BouncyCastle non-optional dependency of iText Core
- Default logger listeners are reset once LogListener's resetLoggingContext is called
- Update logback dependencies in Core and add-ons as the currently used 1.1.3 version has security vulnerabilities
iText Core/Community 7.1.9
7.1.9
We're pleased to announce iText 7.1.9, our latest (and last of 2019! 🥳) quarterly release. For this release, we've carried out some essential housekeeping to make sure that we maintain our high code quality standards, and great API documentation.
We also had time to introduce some more cool features, such as enhanced text extraction and improved SVG support.
Improvements
- Support autosize for multiline text fields
- FontSet#addDirectory(String) loads fonts in different order depending on OS case sensitivity
- Add a method to set 'modified' flag in the PdfNameTree class
- Remove redundant throws statements in xfaworker
Bugs
- Tail recursion in PdfReader#readXrefStream() causes stack overflow errors
- kernel: Released objects from object streams cause all this stream objects to be reread
- Fix text extraction inaccuracy for fonts which doesn't specify whitespace character width
- Fix an NPE while comparing two fonts on FontSelector level
- layout: isOriginalNonSplitRenderer is not passed correctly to the split/overflow renderers
- Font selector produces lines with unexpected multiple fonts when calligraphy fonts are present
- SVG: Fix Preserve AspectRatio attribute
Tasks
- Remove unused test methods and commented Xfdf tests
- Port xfdf samples from iText5 to iText7 Java and .NET
- Make sure that all iTextCore tests extend ExtendedITextTest
- Exclude helper classes/methods for internal usage from the public API documentation
- Kernel: define particular unicode ranges and create trimmed test
- Fix ten PdfCanvas methods documentation from javadoc errors report
- Fix fourteen miscellaneous javadoc errors in kernel
- Revise redundant iTextCore throws
- Improve com.itextpdf.io.font.FontCache class tests coverage metrics
- Fix sixteen javadoc warnings related to fonts in kernel module
- Update documentation for PdfCanvas
- Improve JavaDocs for EventCounterHandler
- Cover kernel's WebColors with tests
- Cover Transform with tests
- layout: improve protected method naming for TableRenderer
- Create tests for surrogate pairs in layout and html2pdf
- Make sure that all add-ons extend ExtendedITextTest
- Make it easier to override default font family for the descendants of BasicFontProvider and DefaultFontProvider
- sxp: cover CssPseudoClass... selector items with tests
- Make toString() methods in com.itextpdf.styledxmlparser.css produce valid CSS
- Investigate the causes of different outputs in java and .NET tests
- Add Comment to PdfRichMediaAnnotation
- Add tests to cover TableRenderer and TableWidths classes
iText Core/Community 7.1.8
7.1.8
We're pleased to announce our latest quarterly release iText 7.1.8. Despite the minor release number, we think it counts as a pretty significant update as in addition to various improvements and bug fixes in our layout and kernel modules, iText 7.1.8 adds support for XFDF and better SVG handling.
Please be advised that we did a tiny bit of API breakage on PdfPolyGeomAnnotation, where we had to remove getType(), so if you inherit it, you must override it (sorry!).
A special shout out to JorisJ, who submitted a Pull Request that was incorporated into this release.
New features
- XFDF support (examples: Creating an XFDF file, Filling a form and Filling a form from a list).
Improvement
- SVG: use structural comparison instead of visual comparison in tests.
- Build configuration for porting (with pushing ported branches) custom branches in all autoportable repositories.
- Expose TypographyUtils#isPdfCalligraphAvailable to allow an easy check of whether layout is aware of pdfCallighraph.
- itext7 PR #41: Use starting bytes to check if byte[] is WmfImage.
- Update tests ignored because of SNAPSHOT being written to extracted images.
Bug
- SVG: Incorrect path closing leads to incorrect filling.
- HyphenateResultTest#hindiHyphResult fails on Jenkins on Linux with StackOverflowError.
- IndexOutOfBoundsException in Table widths calculation.
- layout: NPE while splitting a row (applying vertical alignment on a splitted cell).
- PdfLayer#getIntents fails in case of multiple intents for the layer instance.
- RegexBasedLocationExtractionStrategy returns height of 0 on rotated page.
- kernel: incorrect page boundary keys are used for VIEW_CLIP, PRINT_AREA, PRINT_CLIP constants.
- Reduce stack size requirements when hyphenating strings in some of the languages.
Tasks
- Exclude private parameterless constructors from code coverage analysis.
iText Core/Community 7.1.7
barcodes
- Improve the way data is encoded in DataMatrix barcodes
forms
- Improve handling of empty Signature Form Fields
- Improve robustness with improperly created form fields
- Better support for multiple/different fonts
kernel
- Improve the performance of SmartMode copying (performance boost in merge)
- Avoid resources depletion due to decompression bombs
- Improve the performance when handling multiple PdfDocument instances from a single PdfReader
- Better support for invalid xref tables
pdfa
- Better validation/creation of PDF/A-3 and PDF/A-1b documents
sign
- Improve placement of signatures on rotated pages
svg
- Added support for em values for font-size
- Added support for exponential numbers within SVG properties
- Improve the placement of elements with transformation matrices
- When the font size metric is omitted, px should be assumed
- Inherit CSS styles assigned via class in the
<svg>
tag
iText Core/Community 7.1.6
svg
- Fixed outstanding issue when handling closePath and moveTo that sometimes resulted in line-joins being applied incorrectly
- Support S/s (relative/absolute smooth cubic Bézier path), and T/t (relative/absolute smooth quadratic Bézier path) commands
- Transparency support - colors can have an alpha component, and objects can have a fill-opacity or stroke-opacity
- Update of Text element handling to allow TSpan support + Initial TSpan support
- Implement relative values for Svg Path commands C/L/M/S e. C(absolute), c(relative)
- Added support for Elliptical paths
kernel
- Preserve border, background and font for FormFields
- Allow unknown annotation type in PdfAnnotation#makeAnnotation()
- Improve text extraction with Type 3 fonts
- Improve ToUnicode for Type0 fonts without subset
sign
- Embed OCSP response for all certificates in the chain in PdfSigner#signDetached
- Improve OCSPVerifier responder certificate verification
- Cover the case of updating LTV verification data of PDF when DSS does not contain VRI entry
layout
- Update a table's fixed-layout algorithm in case a negative width remains
iText Core/Community 7.1.5
kernel
- Improvements to Font parsing and resolving
- Reported issues with character spacing and text chunk repositioning
sign
- Fix security incident where our signature checker is too lenient. The CVE number for this vulnerability is pending.
svg
- The much requested feature clipPath is now supported
- Path operator improvements
Other modules
Small fixes for forms, pdfa, styled-xml-parser, and barcodes. Fixes in io are for pdfCalligraph
[RELEASE] iText 7 Core - 7.1.4
https://github.com/itext/itext7/releases/tag/7.1.4 * release/7.1.4: [RELEASE] 7.1.4-SNAPSHOT -> 7.1.4 Update too old cmp file for full compression test Remove relativePath from svg pom Fix copying fields during multiple page copying Create a copy for form field with name contains dot symbol Add test. DEVSIX-2187 Add some new SVG tests. Squash multiple spaces into one if necessary. Update the path-processing algo. Add a new SVG test that demonstrates some Path-related issues. Update some method names in accordance with the naming convention. Add PdfDocument#findFont() for already added PdfFonts Create a unique name for each OCProperties. Update some cmps. SXP: Free resources after reading them add test for DEVSIX-2156 Revert [a69a8131fa] "Fix bug in CompareTool when pdfstream from output file has filter different from cmp file" Reformat CompareTool javadocs, add details about diffPrefix arg to all overloads Add new overload for CompareTool#compareByContent which generates diff preffix based off output file name Fix bug in CompareTool when pdfstream from output file has filter different from cmp file Fix some minor min/max width algo issues. Update some cmps. Add missing copyright headers Path parsing updates Do not substitute a symbol with itself during line transformations. Add implementation for Path operators v and h. RND-1108 Make method public for pdfHtml Fix PdfSweep failure on documents with ligatures Removing relativePath from pom file QA-529 Fix up for styled-xml-parser and svg resources in pom Fix typo in gsParam Add -dSAFER to gsParams Simplify POM files for styled-xml-parser and svg, so they use the values set in the root POM Add missing copyright headers Add styled-xml-parser and svg to pom.xml Add 'svg/' from commit '65c48971f2a171497d73e2a4ed883333a0f34b73' ... Add 'styled-xml-parser/' from commit 'b35a24b753cb7932156925141a7e7d658db4eee7' ... Add new unit fontselector tests for open sans font-family. Add new font selector unit tests for standard fonts. Update cmps. Fix issues with additional separator in ResourceResolver Update the javadoc and some ticket-references. Handle the default font-family correctly. Unify the font selector algorithm with the browser's one. Refactor the FontSelector algo. Add missing copyright headers Ignore memory hungry hyphen tests (layout) Allow additional x509 extensions to be critical, as discussed in Ticket SUP-2885. Add test and refactor for PR-27. DEVSIX-1982 Fix version replacement in CompareTool Fix bug Properly check to remove root outline. DEVSIX-2046 Deprecate FileUtil#getParentDirectory(String file) DESIX-2049 move functionality from svg class to io FileUtil Update new lines in pom.xml Add missing copyright headers Move to DocumentCloneTest class in samples-internal project Reflect the test method name Remove versionInfo NPE when deserialize lower version of PdfDocument [RELEASE] Merge master into develop [RELEASE] 7.1.3-SNAPSHOT -> 7.1.4-SNAPSHOT Sort dependencies in pom.xml Add test. DEVSIX-1669 add test for DEVSIX-2046