Release Notes -- Apache PDFBox -- Version 3.0.6 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.5 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-5992] - Inline image bug with multi-byte newline tokens [PDFBOX-5999] - fix initial ByteArrayOutputStream size for deflate operation [PDFBOX-6008] - PDF takes an hour to render [PDFBOX-6009] - Splitter does not include structure tree in documents past the first split [PDFBOX-6011] - build fails on jdk11 [PDFBOX-6012] - COSWriter mentions a close() method that no longer exists [PDFBOX-6015] - Load a TTF font which is from Mac OS throw an exception [PDFBOX-6016] - PreflightParser doesn't close RandomAccessReadBufferedFile causing file locks on Windows [PDFBOX-6022] - Wrong glyphs since PDFBOX-5790 [PDFBOX-6025] - ClassCastException on broken file in PDEmbeddedFilesNameTreeNode.convertCOSToPD() [PDFBOX-6027] - invalid XMP generated when Apache Xalan in the classpath [PDFBOX-6028] - XMP JobType constructor ignores fieldPrefix [PDFBOX-6029] - NullPointerException in xmpbox serializer if a date is empty [PDFBOX-6033] - Rendering issue with type 2 shading: vertical expansion [PDFBOX-6035] - Possible infinite loop in shading code [PDFBOX-6037] - Potential OOM in XrefStreamParser [PDFBOX-6038] - Potential StackOverflow in PDFStreamParser [PDFBOX-6040] - Potential StackOverflow in PDPageTree's getInheritableAttribute [PDFBOX-6041] - Potential StackOverflows in BaseParser [PDFBOX-6043] - Potential OOM in Type1Lexer [PDFBOX-6044] - Potential OOM in PfbParser [PDFBOX-6053] - PDMarkedContentReference.setMCID() should not accept negative numbers [PDFBOX-6057] - IllegalPathStateException: missing initial moveto in path definition [PDFBOX-6059] - Fix possible ClassCastException [PDFBOX-6061] - NullPointerException in COSDictionary [PDFBOX-6062] - XMPMetadata can only be parsed if xmp:CreateDate does not contain fractions of seconds [PDFBOX-6063] - StringIndexOutOfBoundsException in PlainText$Paragraph.getLines() [PDFBOX-6065] - LZWFilter crashes, probably not handling the KwKwK special case [PDFBOX-6066] - Broken font has too much log output [PDFBOX-6068] - NullPointerException in PDNumberTreeNode.getNumbers() [PDFBOX-6069] - UnsupportedOperationException: JPX color spaces don't support drawing [PDFBOX-6071] - Signing tries to set byteRange of old signature (2) [PDFBOX-6076] - ClassCastException in PDOptionalContentProperties.getBaseState() [PDFBOX-6078] - ArrayIndexOutOfBoundsException in GlyphSubstitutionTable.read() [PDFBOX-6079] - Close input streams to avoid resource leaks [PDFBOX-6080] - Unknown code in Huffman RLE stream [PDFBOX-6082] - IllegalArgumentException: Can't add attribute to 0-length text Improvement [PDFBOX-5997] - avoid creation of temporary objects when parsing hex values [PDFBOX-5998] - avoid unnecessary map lokups [PDFBOX-6000] - remove unnecessary iteration and StringBuilder creation [PDFBOX-6005] - Support reverse landscape orientation for printing [PDFBOX-6013] - Deprecate / Remove unused CompoundCharacterTokenizer constructor [PDFBOX-6018] - Add test coverage for orphan annotation [PDFBOX-6019] - Remove orphan popup parent annotation [PDFBOX-6026] - Improve XmpSerializer test by verifying its output [PDFBOX-6049] - Consider rotation of page when applying overlay [PDFBOX-6058] - Preserve Perms dictionary when signing [PDFBOX-6067] - Check /ParentTree against /K tree [PDFBOX-6070] - Add test for 5521 [PDFBOX-6072] - Refactor RC4Cipher [PDFBOX-6073] - Add option to implement custom ICOSVisitor behaviour for COSObject Wish [PDFBOX-6032] - Issues encountered while customizing "PDImageXObject" Task [PDFBOX-6081] - Run regression tests for 3.0.6 Sub-task [PDFBOX-6047] - Add text extraction options submenu 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/