summaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)Author
2022-02-16Prepare 10.6.2 releaseJay Berkenbilt
2022-02-16Fix lgtm warningJay Berkenbilt
2022-02-15Silently/transparently recognize UTF-16LE as UTF-16 (fixes #649)Jay Berkenbilt
The PDF spec only allows UTF-16BE, but most readers seem to accept UTF-16LE as well, so now qpdf does too.
2022-02-11Prepare 10.6.1 releaserelease-qpdf-10.6.1Jay Berkenbilt
2022-02-08Prepare 10.6.0 releaseJay Berkenbilt
2022-02-08Add additional comments about new accessor methodsJay Berkenbilt
2022-02-08Only update output version from files used as inputJay Berkenbilt
If we're opening a PDF file to copy its encryption information or attachments, its version doesn't need to influence the output version.
2022-02-08Preserve input PDF version on pages/split-pages (fixes #610)Jay Berkenbilt
2022-02-08Add QPDF::getVersionAsPDFVersionJay Berkenbilt
2022-02-08Add PDFVersion classJay Berkenbilt
2022-02-08Revert an incorrect correctionJay Berkenbilt
2022-02-08WHITESPACE ONLY -- expand tabs in source codeJay Berkenbilt
This comment expands all tabs using an 8-character tab-width. You should ignore this commit when using git blame or use git blame -w. In the early days, I used to use tabs where possible for indentation, since emacs did this automatically. In recent years, I have switched to only using spaces, which means qpdf source code has been a mixture of spaces and tabs. I have avoided cleaning this up because of not wanting gratuitous whitespaces change to cloud the output of git blame, but I changed my mind after discussing with users who view qpdf source code in editors/IDEs that have other tab widths by default and in light of the fact that I am planning to start applying automatic code formatting soon.
2022-02-08Fix doc typosm-holger
2022-02-08Clarify qpdf's representation of names in the APIJay Berkenbilt
Clarify that names are to appear in canonical form with PDF escaping resolved when used in non-parsing QPDFObjectHandle APIs and their C API counterparts. See https://github.com/qpdf/qpdf/discussions/625.
2022-02-07Update for clean compile with POINTERHOLDER_TRANSITION=2Jay Berkenbilt
2022-02-07Replace PointerHolder arrays with shared_ptr arrays where possibleJay Berkenbilt
Replace PointerHolder arrays wherever it can be done without breaking ABI.
2022-02-07Rework PointerHolder transition to make it smootherJay Berkenbilt
* Don't surprise people with deprecation warnings * Provide detailed instructions and support for the transition
2022-02-07Add QUtil::make_shared_array to help with PointerHolder transitionJay Berkenbilt
2022-02-07Add getBufferSharedPointer() to Pl_Buffer and QPDFWriterJay Berkenbilt
2022-02-06Comment, ChangeLog, release note for new contributionJay Berkenbilt
2022-02-06C-API expose QPDFObjectHandle::getKeyIfDictm-holger
2022-02-06Add method QPDFObjectHandle::getKeyIfDictm-holger
2022-02-06C-API expose QPDFObjectHandle::getValueAs... accessorsm-holger
2022-02-05Stop using std::iterator (fixes #618)Jay Berkenbilt
Create the typedefs directly in iterators rather than deriving from the deprecated std::iterator class.
2022-02-05Add operator ""_qpdf for creating QPDFObjectHandle literalsJay Berkenbilt
2022-02-05Add qpdf_empty_pdf to C APIJay Berkenbilt
2022-02-05API contract: qpdf_get_qpdf_version() returns a staticJay Berkenbilt
2022-02-05Improve use of std::unique_ptrJay Berkenbilt
* Use unique_ptr in place of shared_ptr in some cases * unique_ptr for arrays does not require a custom deleter * use std::make_unique (c++14) where possible
2022-02-05Add new QPDFObjectHandle::getValueAs... accessorsm-holger
2022-02-04Update copyright for 2022Jay Berkenbilt
2022-02-04Add qpdf version macros to qpdf/DLL.hJay Berkenbilt
2022-02-04Replace containers of PointerHolder with containers of std::shared_ptrJay Berkenbilt
None of these are in the public API.
2022-02-04JSON: use std::shared_ptr internallyJay Berkenbilt
2022-02-04PointerHolder: deprecate getPointer() and getRefcount()Jay Berkenbilt
Use get() and use_count() instead. Add #define NO_POINTERHOLDER_DEPRECATION to remove deprecation markers for these only. This commit also removes all deprecated PointerHolder API calls from qpdf's code except in PointerHolder's test suite, which must continue to test the deprecated APIs.
2022-02-04PointerHolder: add get() and use_count() for forward compatibilityJay Berkenbilt
PointerHolder will be replaced with shared_ptr, so let people start moving.
2022-02-04C-API add two binary UTF8 funtionsm-holger
add qpdf_oh_new_binary_unicode_string and qpdf_oh_get_binary_utf8_value
2022-02-02Fix some doc typosm-holger
2022-02-01QPDFJob: let initializeFromArgv just take argv, not argcJay Berkenbilt
Let argv be a null-terminated array. There is already code that assumes this, and it makes it easier to construct the arguments.
2022-02-01Finish QPDFJob examples and add tests for themJay Berkenbilt
2022-02-01Make QPDFArgParser accept const argvJay Berkenbilt
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
2022-02-01Add qpdfjob-c.h -- simple C API around parts of QPDFJobJay Berkenbilt
2022-02-01Move more code from qpdf.cc into QPDFJobJay Berkenbilt
2022-02-01QPDFJob: documentationJay Berkenbilt
2022-02-01generate_auto_job: generate overloaded config decls for optionalJay Berkenbilt
For optional parameter/choices, generate an overloaded config method that takes no arguments. This makes it possible to convert from a bare argument to one that takes an optional parameter without breaking binary compatibility.
2022-01-31Add optional version to --jsonJay Berkenbilt
2022-01-31Change filename or path to file in json and QPDFJobJay Berkenbilt
Use "file" consistently for specifying a file path. We use "filename" when adding attachments for a completely different purpose.
2022-01-31QPDFJob: rename function that returns job schemaJay Berkenbilt
2022-01-31QPDFJob: partial mode for initializeFromJsonJay Berkenbilt
2022-01-31Keep JSONHandler and QPDFArgParser privateJay Berkenbilt
Since the functionality of argument parsing has moved into QPDFJob, these classes no longer need to be public. Their methods still have to be in the library's binary interface so they can be tested in libtests.
2022-01-31QPDFJob: add checkConfiguration to ConfigJay Berkenbilt