Release Notes -- Apache PDFBox -- Version 2.0.25

Introduction
------------

The Apache PDFBox library is an open source Java tool for working with PDF documents.

This is an incremental bugfix release based on the earlier 2.0.24 release. It contains
a couple of fixes and small improvements.

For more details on these changes and all the other fixes and improvements
included in this release, please refer to the following issues on the
PDFBox issue tracker at https://issues.apache.org/jira/browse/PDFBOX.

Bug

[PDFBOX-5228] - ArrayIndexOutOfBoundsException: arraycopy: length -2 is negative in PDPanose.getPanose
[PDFBOX-5232] - LayerUtility().importPageAsForm() doesn't return
[PDFBOX-5236] - PDPageContentStream.setLineWidth(float) not allowed in text block
[PDFBOX-5240] - preflight SMask entry check incorrect
[PDFBOX-5257] - NumberFormatException in merge if fieldname is "dummyFieldName1#1"
[PDFBOX-5264] - FDFJavaScript.getDoc() always returns null or empty
[PDFBOX-5266] - Annotation shown with thick border
[PDFBOX-5271] - Deeply nested drawings not shown
[PDFBOX-5274] - Not existing rectangle appears on page image
[PDFBOX-5275] - Not rendered (white) pages for given pdf
[PDFBOX-5276] - Encryption on Split documents
[PDFBOX-5278] - PDPage.getAnnotations() causes subsequent calls to PDDocument.getPages() to fail
[PDFBOX-5281] - Error rendering png from PDF - Error at Type1Parser parseBinary for Type 1 Font
[PDFBOX-5285] - EOFException during TTF parsing
[PDFBOX-5294] - Incorrect rendering of Type3 character
[PDFBOX-5297] - class org.apache.pdfbox.cos.COSName cannot be cast to class org.apache.pdfbox.cos.COSString
[PDFBOX-5298] - unneeded / double code in PageExtractor
[PDFBOX-5302] - When PDF is converted to an image, the image has a large black rectangle.
[PDFBOX-5310] - Slow rendering for specific PDF File with small chunks 16x8
[PDFBOX-5312] - Decryption for V4 fails when no Length entry is set in Encryption Dictionary
[PDFBOX-5313] - `NullPointerException` when intersecting area with null clipping path
[PDFBOX-5315] - Stack overflow in PDColorSpace.create()
[PDFBOX-5317] - Splitter: Problematic /Info causes big files
[PDFBOX-5318] - Resolution of ambiguities in inline images don't follow the standard
[PDFBOX-5321] - Silent fail of PDTextField.setValue when font encoding missing
[PDFBOX-5326] - TTFSubsetter incorrectly calculating 'searchRange'
[PDFBOX-5328] - Failing to get multiple encodings from cmap table
[PDFBOX-5331] - Text "820-01869-U-A" is omitted from PDF doc
[PDFBOX-5333] - Wrong number of fonts leads to OOM-Exception

New Feature

[PDFBOX-5314] - Additional `showTransparencyGroupOnGraphics()` method

Improvement

[PDFBOX-5224] - Optimize SampledImageReader.from1Bit()
[PDFBOX-5229] - Optimize reading of masked images
[PDFBOX-5239] - Support BGR for OpenCV and JavaCV
[PDFBOX-5254] - Preserve indirect object reference when copying resources
[PDFBOX-5256] - PDFBox should use the quadding for fields with the comb flag
[PDFBOX-5258] - Lazier clipping
[PDFBOX-5267] - LegacyPDFStreamEngine.glyphList loaded from disk on each instantiation rather than static final?
[PDFBOX-5308] - Prefer MergeSort over QuickSort and try native TimSort first (with explanation)
[PDFBOX-5319] - Avoid creating Paint objects and filling when there is nothing to do
[PDFBOX-5324] - support get unicode from embedded TrueTypeFont cmap
[PDFBOX-5336] - Update liberation fonts

Test

[PDFBOX-5244] - Add test for double visible signature on the same page

Task

[PDFBOX-5215] - Add test for double visible signature on encrypted file
[PDFBOX-5287] - Add test for comb fields adjustment
[PDFBOX-5293] - Store x and y scaling factor
[PDFBOX-5340] - Update CCITTFaxDecoderStream.java from twelvemonkeys (3)

Sub-task

[PDFBOX-5277] - Add print dpi submenu
[PDFBOX-5320] - Reduce HighResolutionImageIcons memory leaks

Release Contents
----------------

This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.txt file for instructions on how to build this release.

The source archive is accompanied by a SHA512 checksum and a PGP signature
that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at
https://www.apache.org/dist/pdfbox/KEYS.

About Apache PDFBox
-------------------

Apache PDFBox is an open source Java library for working with PDF documents.
This project allows creation of new PDF documents, manipulation of existing
documents and the ability to extract content from documents. Apache PDFBox
also includes several command line utilities. Apache PDFBox is published
under the Apache License, Version 2.0.

For more information, visit https://pdfbox.apache.org/

About The Apache Software Foundation
------------------------------------

Established in 1999, The Apache Software Foundation provides organizational,
legal, and financial support for more than 100 freely-available,
collaboratively-developed Open Source projects. The pragmatic Apache License
enables individual and commercial users to easily deploy Apache software;
the Foundation's intellectual property framework limits the legal exposure
of its 2,500+ contributors.

For more information, visit https://www.apache.org/
