Release Notes -- Apache PDFBox -- Version 3.0.5

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 3.0.4 release. It contains
a couple of fixes and small improvements.

A migration guide is available at https://pdfbox.apache.org/3.0/migration.html. It is
still a work in progress and we are happy to include any valuable feedback from our 
community. 

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-4744] - PageDrawer is not rendering unrotatable Annotations on rotated pages
[PDFBOX-5230] - Zero-width non-joiner characters visible in generated PDF
[PDFBOX-5747] - Surrogate pairs with combining diacritics are incorrectly ordered on text extraction
[PDFBOX-5937] - IllegalArgumentException: Width (0) and height (0) must be non-zero
[PDFBOX-5939] - Merge docs with specific characteristics causes stack overflow
[PDFBOX-5940] - InvalidKeyException: Supplied key (sun.security.ec.ECPrivateKeyImpl) is not a RSAPrivateKey
[PDFBOX-5942] - Can't read the embedded Type1 font: Found Token[kind=NAME, text=def] but expected begin
[PDFBOX-5945] - Wrong size entry in trailer after incremental save
[PDFBOX-5948] - FileSystemFontProvider doesn't register failed type1 fonts
[PDFBOX-5949] - Text annotation crosshair symbol too small when using Adobe symbol font
[PDFBOX-5951] - Orphan /OpenAction destination page kept in merge
[PDFBOX-5952] - PDFRenderer causes endless loop
[PDFBOX-5954] - Invalid stream length: 0, stream start position: <xxx>
[PDFBOX-5957] - Inline image incorrectly parsed (2)
[PDFBOX-5961] - IllegalArgumentException: Not a valid Unicode code point: 0xE28496
[PDFBOX-5963] - Type 3 font glyphs not displayed
[PDFBOX-5965] - Rewind in NonSeekableRandomAccessReadInputStream malfunction near end of file
[PDFBOX-5966] - Rendered PDF is missing shading pattern graphics
[PDFBOX-5968] - NPE during merge
[PDFBOX-5972] - Infinite loop in fontbox o.a.f.cmap.CMapParser#readNumber
[PDFBOX-5975] - Class cast exception in building PDDestinationNameTreeNode
[PDFBOX-5976] - DomXmpParser incorrectly expects namespaces on attribute level
[PDFBOX-5979] - Missing ICC profile in PDFDebugger CMYK tooltips
[PDFBOX-5980] - BDC processor mishandles property name
[PDFBOX-5981] - error "read() returns -1, assumed position: 8192, actual position: 8192"
[PDFBOX-5987] - Can't render some Type1C fonts.
[PDFBOX-5989] - PDF to Image conversion results in a blank white page
[PDFBOX-5991] - NegativeArraySizeException with PDF file with huge fonts

New Feature

[PDFBOX-4668] - Add ResourceCacheFactory as global setting

Improvement

[PDFBOX-5938] - Implement PDFormXObject.setGroup()
[PDFBOX-5941] - CertificateVerifier.isSelfSigned() should not throw an exception
[PDFBOX-5943] - Extend interface ResourceCache to support the removal of cached objects
[PDFBOX-5946] - Use Zapf Dingbats code for cross text annotation
[PDFBOX-5947] - Support PushPin, Tag and Graph file attachment annotation icons
[PDFBOX-5950] - Improve PDFMergerUtility memory footprint
[PDFBOX-5955] - Support rare RC4 encryption where R=4, key length < 128 bits
[PDFBOX-5974] - Improve checkWithNumberTree() test
[PDFBOX-5982] - Support DP and MP operators
[PDFBOX-5985] - Use SHA256 instead of MD5 for document id
[PDFBOX-5993] - Add test for embedded files
[PDFBOX-5994] - Support printing options combining tray and media size
[PDFBOX-5996] - set size for ByteArrayOutputStreams

Test

[PDFBOX-5944] - Activate Devanagari blws test

Wish

[PDFBOX-974] - PrintPDF should not be case sensitive against printer name on Windows

Task

[PDFBOX-5995] - Run regression tests for 3.0.5


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 SHA512 checksums 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/
