aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
AgeCommit message (Collapse)Author
2018-02-19Properly handle strings with PDF Doc Encoding (fixes #179)Jay Berkenbilt
The QPDF_String::getUTF8Val() method was not treating strings that weren't explicitly Unicode as PDF Doc Encoded. This only affects characters in the range 0x80 through 0xa0.
2018-02-19Add C API for checking PDF filesJay Berkenbilt
2018-02-19More robust handling of type errorsJay Berkenbilt
Give objects descriptions and context so it is possible to issue warnings instead of fatal errors for attempts to access objects of the wrong type.
2018-02-19Replace "file position" with "offset" in error messagesJay Berkenbilt
Sometimes it's an offset in an object stream or a content stream, so file position is confusing in some cases.
2018-02-19Include omitted object description in error messageJay Berkenbilt
2018-02-19Include filename in object stream parse errorJay Berkenbilt
2018-02-19Add additional interface for filtering page contentsJay Berkenbilt
2018-02-19General comment in ChangeLogJay Berkenbilt
2018-02-19Detect and report bad tokens in content normalizationJay Berkenbilt
2018-02-19Filter tokens exampleJay Berkenbilt
2018-02-19Implement TokenFilter and refactor Pl_QPDFTokenizerJay Berkenbilt
Implement a TokenFilter class and refactor Pl_QPDFTokenizer to use a TokenFilter class called ContentNormalizer. Pl_QPDFTokenizer is now a general filter that passes data through a TokenFilter.
2018-02-19Add coalesce contents capabilityJay Berkenbilt
2018-02-19Bug fix: content normalizer should not add trailing newlineJay Berkenbilt
Adding a trailing newline in content normalization damages files whose contents are split across streams in the middle of tokens. Let QPDFWriter add the newline with the indicator to ignore the newline, which it already does. This changes the way some qdf files look.
2018-02-19Switch from parseContentStream to parsePageContentsJay Berkenbilt
2018-02-19Refactor parseContentStreamJay Berkenbilt
2018-02-19Inline image token typeJay Berkenbilt
2018-02-19Lexer enhancements: EOF, comment, spaceJay Berkenbilt
Significant enhancements to the lexer to improve EOF handling and to support comments and spaces as tokens. Various other minor issues were fixed as well.
2018-02-19Add option to save pass 1 of lineariziationJay Berkenbilt
This is useful only for debugging the linearization code.
2018-02-05Prepare 7.1.1 releaserelease-qpdf-7.1.1Jay Berkenbilt
2018-01-15Update version numbers for 7.1.0release-qpdf-7.1.0Jay Berkenbilt
2018-01-14Allow raw encryption key to be specifiedJay Berkenbilt
Add options to enable the raw encryption key to be directly shown or specified. Thanks to Didier Stevens <didier.stevens@gmail.com> for the idea and contribution of one implementation of this idea.
2018-01-14Allow trailing . in numeric token (fixes #165)Jay Berkenbilt
2018-01-14Use correct link directory order (fixes #158)Jay Berkenbilt
Make sure to link from the source tree before linking from the system. In many environments, this is necessary to allow a newly built qpdf to link properly instead of trying to link or resolve libraries from an older installed version.
2018-01-14Support TIFF Predictor (fixes #171)Jay Berkenbilt
2017-12-26Clarify documentation of advanced parsing optionsJay Berkenbilt
2017-12-26Update TODO and ChangeLog. Fixes #166, #83Jay Berkenbilt
2017-09-16Prepare 7.0.0 releaserelease-qpdf-7.0.0Jay Berkenbilt
2017-09-14Additionally license under Apache License version 2.0Jay Berkenbilt
The Apache License version 2.0 is now the primary license for qpdf. However, users may, at their option, continue to use Artistic version 2.0.
2017-09-12Improve message for stream decoding errorJay Berkenbilt
Tweak the message so that we inform the user that we are mitigating data loss.
2017-09-12Update C API with new QPDFWriter methodsJay Berkenbilt
2017-08-26Parse iteratively to avoid stack overflow (fixes #146)Jay Berkenbilt
2017-08-26Detect xref pointer infinite loop (fixes #149)Jay Berkenbilt
2017-08-22Bump soname to 18 and version to 7.0.b1release-qpdf-7.0.b1Jay Berkenbilt
2017-08-22Update references to README filesJay Berkenbilt
Most of the README files have been renamed. Refer to the new names.
2017-08-22Update header documentation and ChangeLog entry for PCLmJay Berkenbilt
2017-08-21Enable finer grained control of stream decodingJay Berkenbilt
This commit adds several API methods that enable control over which types of filters QPDF will attempt to decode. It also adds support for /RunLengthDecode and /DCTDecode filters for both encoding and decoding.
2017-08-13Revert "Add page rotation example in contrib"Jay Berkenbilt
This reverts commit 8ee83ca722baad9434119bb72d620dfd8e6103c4. This is being removed because qpdf now has its own page rotation. The example was an excellent contribution to qpdf, but now it illustrates rotating pages "by hand", which is no longer needed because of QPDFObjectHandle::rotatePage.
2017-08-13Add page rotation (fixes #132)Jay Berkenbilt
2017-08-12Add --verbose flagJay Berkenbilt
2017-08-12Change --single-pages to --split-pagesJay Berkenbilt
This is in preparation for implementing page groups.
2017-08-12Fix --newline-before-endstream option (fixes #133)Jay Berkenbilt
Add a newline unconditionally before endstream even if a newline was already written as part of the stream data.
2017-08-12Pad encryption parameters that are too short (fixes #96)Jay Berkenbilt
2017-08-11Remove PCREJay Berkenbilt
2017-08-11Read xref table without PCREJay Berkenbilt
Also accept more errors than before.
2017-08-11Improve stream length recoveryJay Berkenbilt
Eliminate PCRE and find endobj not preceded by endstream. Be more lax about placement of endstream and endobj.
2017-08-11Remove unused PointerHolder interfaceJay Berkenbilt
Also fix a bug resulting from incorrect use of PointerHolder because of this unused parameter.
2017-08-05Add --split-pages option (fixes #30)Jay Berkenbilt
2017-08-05Move page spec processing earlierJay Berkenbilt
2017-08-03Fix off-by-one error in --pages argument parsing (fixes #129)Jay Berkenbilt
2017-07-30Add page rotation example in contribiskander.sharipov
This is added to contrib rather than examples because it requires c++-11 and lacks a test suite, but it is still useful enough to include with the distribution.