Skip to content

Releases: itext/itext-java

iText Core/Community 7.1.13

22 Oct 07:23
7.1.13
Compare
Choose a tag to compare

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

23 Jul 09:59
7.1.12
Compare
Choose a tag to compare

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

20 Apr 16:08
7.1.11
Compare
Choose a tag to compare

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

13 Feb 16:24
7.1.10
Compare
Choose a tag to compare

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

02 Dec 14:40
7.1.9
Compare
Choose a tag to compare

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

19 Sep 08:55
7.1.8
Compare
Choose a tag to compare

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

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

11 Jul 08:20
7.1.7
Compare
Choose a tag to compare

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

26 Apr 08:45
7.1.6
Compare
Choose a tag to compare

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

19 Feb 14:23
7.1.5
Compare
Choose a tag to compare

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

25 Oct 12:25
7.1.4
Compare
Choose a tag to compare
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