aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
AgeCommit message (Collapse)Author
2021-02-09Add QUtil methods for dealing with PDF timestamp stringsJay Berkenbilt
2021-02-08Add QUtil::pipe_file and QUtil::file_providerJay Berkenbilt
2021-02-05Better fix to insecure password check (fixes #501)Jay Berkenbilt
2021-02-04Add --password-file=filename option (fixes #499)Jay Berkenbilt
2021-02-04Require --allow-insecure to create certain encrypted files (fixes #501)Jay Berkenbilt
For now, --allow-insecure allows creation of files with the owner passwords empty or matching the user password.
2021-02-03Handle older PDFs whose form XObjects inherit resources (fixes #494)Jay Berkenbilt
When removing unreferenced resources, notice if a page (recursively) contains a form XObject with unreferenced resources, and count any such resources as referenced by the page.
2021-01-31Handle strings in inline image dictionariesJay Berkenbilt
We need to use token.getRawValue, not token.getValue
2021-01-30Add example of name/number trees and dictionary/array iterationJay Berkenbilt
2021-01-30Add C++ iterator API around array and dictionary objectsJay Berkenbilt
2021-01-29Make QPDFObjectHandle::is* return false for uninitialized objectsJay Berkenbilt
2021-01-26name/number trees: removeJay Berkenbilt
2021-01-25Implement repair and insert for name/number treesJay Berkenbilt
2021-01-24QPDFObjectHandle::newUnicodeString to uses UTF-16 only when neededJay Berkenbilt
Use the first of ASCII, PDFDocEncoding, or UTF-16 that is capable of encoding the string.
2021-01-24Add new constructors for name/number tree helpersJay Berkenbilt
Add constructors that take a QPDF object so we can issue warnings and create new indirect objects.
2021-01-24Use QPDFNameTreeObjectHelper's iterator directlyJay Berkenbilt
2021-01-17Add warn() to QPDF's public APIJay Berkenbilt
2021-01-11Treat /EmbeddedFiles as a proper name treeJay Berkenbilt
If we ever had an encrypted file with different filters for attachments and either the /EmbeddedFiles name tree was deep or some of the file specs didn't have /Type, we would have overlooked those as attachment streams. The code now properly handles /EmbeddedFiles as a name tree.
2021-01-06Warn rather than segv on access after closing input source (fixes #495)Jay Berkenbilt
2021-01-04Prepare version 10.1.0release-qpdf-10.1.0Jay Berkenbilt
2021-01-04Spell checkJay Berkenbilt
2021-01-04Remove unreferenced resources only from relevant pagesJay Berkenbilt
2021-01-04Fix some pipelines to be safe if downstream write fails (fuzz issue 28262)Jay Berkenbilt
2021-01-04Fix zsh completion arguments (fixes #473)Jay Berkenbilt
2021-01-02Make more QPDFPageObjectHelper methods work with form XObjectJay Berkenbilt
2021-01-02Externalize inline images now includes form XObjectsJay Berkenbilt
2021-01-02Add several methods for working with form XObjects (fixes #436)Jay Berkenbilt
Make some more methods in QPDFPageObjectHelper work with form XObjects, provide forEach methods to walk through nested form XObjects, possibly recursively. This should make it easier to work with form XObjects from user code.
2021-01-02QPDFPageObjectHelper::removeUnreferencedResources works with form XObjectsJay Berkenbilt
2021-01-02QPDFPageObjectHelper: filterPageContents -> filterContents + form XObjectJay Berkenbilt
2021-01-02QPDFPageObjectHelper: getPageImages -> getImagesJay Berkenbilt
2021-01-01Add QPDFObjectHandle::isFormXObjectJay Berkenbilt
2020-12-30Add QPDFPageObjectHelper::flattenRotation and --flatten-rotationJay Berkenbilt
2020-12-28Add pdf-custom-filter exampleJay Berkenbilt
2020-12-28Add QPDFObjectHandle::setFilterOnWriteJay Berkenbilt
2020-12-28Add ostream << for QPDFObjGenJay Berkenbilt
2020-12-28Let optimize filter stream parameters instead of making them directJay Berkenbilt
Also removes preclusion of stream references in stream parameters of filterable streams and reduces write times by about 8% by eliminating an extra traversal of the objects.
2020-12-28Implement user-provided stream filtersJay Berkenbilt
Refactor QPDF_Stream to use stream filter classes to handle supported stream filters as well.
2020-12-26Add QPDFObjectHandle::makeDirect(bool allow_streams)Jay Berkenbilt
2020-12-20Provide qpdf write progress reporting from C API (fixes #487)Jay Berkenbilt
2020-11-29Add QPDFObjectHandle manipulation to C APIJay Berkenbilt
2020-11-21Prepare 10.0.4 releaserelease-qpdf-10.0.4Jay Berkenbilt
2020-11-21Handle negative numbers in QIntC::range_check (fuzz issue 26994)Jay Berkenbilt
2020-11-21Spell checkJay Berkenbilt
2020-11-11Treat direct page as runtime rather than logic error (fuzz issue 27393)Jay Berkenbilt
2020-11-09Small enhancement to --pages argument parsingJay Berkenbilt
2020-11-04Ignore unused field in xref entry, avoiding range error (fixes #482)Jay Berkenbilt
2020-10-31Prepare 10.0.3 releaserelease-qpdf-10.0.3Jay Berkenbilt
2020-10-31Fix stack overflow on direct root (fuzz issue 26761)Jay Berkenbilt
2020-10-31Fix foreign stream copying bug (fixes #478)Jay Berkenbilt
This reverts an incorrect fix to #449 and codes it properly. The real problem was that we were looking at the local dictionaries rather than the foreign dictionaries when saving the foreign stream data. In the case of direct objects, these happened to be the same, but in the case of indirect objects, the object references could be pointing anywhere since object numbers don't match up between the old and new files.
2020-10-27Prepare 10.0.2 releaserelease-qpdf-10.0.2Jay Berkenbilt
2020-10-27Revert removal of unreadCh change for performanceJay Berkenbilt
Turns out unreadCh is much more efficient than seek(-1, SEEK_CUR). Update comments and code to reflect this.