Jay Berkenbilt
fe11f13d63
Add stub for --remove-restrictions
2023-01-28 13:24:45 -05:00
m-holger
2611f42c36
Bump version to 11.3.0
2022-12-31 19:16:38 -05:00
Jay Berkenbilt
2a6cc34e39
Merge branch 'patch-1' of https://github.com/AlisterH/qpdf into patch
2022-12-13 07:22:23 -05:00
AlisterH
565401177e
Correct syntax of example shell test
2022-12-13 22:46:44 +13:00
Ross Smith II
63f7cfdb9b
docs: Fix typo in cli.rst
2022-12-11 12:20:51 -05:00
Jay Berkenbilt
1d9209ee74
Bump version to 11.2.1
2022-11-26 18:13:46 -05:00
Jay Berkenbilt
ddd889af9d
Fix release notes and ChangeLog for 11.2
2022-11-20 15:33:13 -05:00
Jay Berkenbilt
2bc9121fa1
Fix major performance bug with openssl crypto ( fixes #798 )
...
Lazily load MD5 and RC4 once in the life of the program. Only load the
legacy provider if RC4 is actually being used.
2022-10-08 17:04:59 -04:00
Jay Berkenbilt
d14765f1c3
Bump version to 11.2.0
2022-10-06 07:02:43 -04:00
Jay Berkenbilt
6826330adc
Require a C++-17 compiler
2022-10-06 06:58:38 -04:00
Jay Berkenbilt
236a02d402
Prepare 11.1.1 release
2022-10-01 12:04:50 -04:00
Jay Berkenbilt
6b371cc727
Bump version to 11.1.1
2022-09-21 15:58:32 -04:00
Jay Berkenbilt
da67a0aa04
11.1: Fix typo in release notes
2022-09-14 17:04:13 -04:00
Jay Berkenbilt
e39f14eaf0
Prepare 11.1.0 release
2022-09-14 15:44:17 -04:00
Jay Berkenbilt
2e35ead579
Doc: add examples for install dev component ( fixes #767 )
2022-09-14 09:58:56 -04:00
Jay Berkenbilt
faac493a5d
Force project includes before system includes ( fixes #763 )
...
From time to time, someone has a problem because their build is
grabbing an old version of qpdf header files that are installed
somewhere on their system. I am hoping this will put an end to that.
2022-09-14 07:41:13 -04:00
Jay Berkenbilt
9a273c4098
Mention change of tagging convention ( fixes #772 )
2022-09-13 11:59:46 -04:00
Jay Berkenbilt
62833ac74f
Bump version to 11.1.0
...
Some new symbols were exported.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt
d780954bb3
Add some missing QPDF_DLL markers
...
These markers are being added for nested classes that are already
marked with QPDF_DLL_CLASS. They don't make any different on Linux,
but they matter on Windows.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt
7aa2306ef4
Bump version to 11.0.1
2022-09-12 12:43:46 -04:00
Jay Berkenbilt
4963ce6a53
Remove obsolete LL_FMT check from build ( fixes #768 )
...
This was broken for cross-compilation and has probably been
unnecessary for several years now.
Also fix extraneous whitespace in related some tests.
2022-09-12 11:48:38 -04:00
Jay Berkenbilt
43035c8987
Prepare 11.0.0 release
2022-09-10 09:46:09 -04:00
Jay Berkenbilt
93f176a2a0
Documentation fix
...
Remove paragraph about traversal during destruction since this is still necessary with the
new implementation.
2022-09-10 07:39:25 -04:00
Jay Berkenbilt
8a3cdfd2af
Change QPDFObjectHandle == to isSameObjectAs
...
Replace operator== and operator!=, which were testing for the same
underlying object, with isSameObjectAs. This change was motivated by
the fact that pikepdf internally had its own operator== method for
QPDFObjectHandle that did structural comparison. I backed out qpdf's
operator== as a courtesy to pikepdf (in my own testing) but also
because I think people might naturally assume that operator== does a
structural comparison, and isSameObjectAs is clearer in its intent.
2022-09-09 18:09:40 -04:00
Jay Berkenbilt
910a373a79
Clean up the Design and Library Notes chapter of the manual
2022-09-09 18:09:40 -04:00
Jay Berkenbilt
a6c4b293b1
Clean up release notes for qpdf 11
2022-09-09 10:49:25 -04:00
Jay Berkenbilt
4dcc1021b8
Fix doc typo
2022-09-09 06:19:09 -04:00
Jay Berkenbilt
f1a2d3160a
Add JSON v2 support to C API
2022-09-09 06:19:09 -04:00
Jay Berkenbilt
18a583e8d9
Rename QPDFValueProxy back to QPDFObject
...
QPDFValueProxy wasn't a good name for it. We decided the evil of
having the header file be named QPDFObject_private.hh was less than
the evil of having the class be named something other than what it
should have been named.
2022-09-08 11:29:23 -04:00
Jay Berkenbilt
dba61da1bf
Create a special "destroyed" type rather than using null
...
When a QPDF is destroyed, changing indirect objects to direct nulls
makes them effectively disappear silently when they sneak into other
places. Instead, we should treat this as an error. Adding a destroyed
object type makes this possible.
2022-09-08 10:36:39 -04:00
Jay Berkenbilt
0132261ee0
Revert getOwningQPDF, and add getQPDF that returns a reference
2022-09-07 17:26:39 -04:00
Jay Berkenbilt
76cd7ea67a
Clarify and improve QPDFPageObjectHelper::get*Box methods
...
Add copy_if_fallback and explain how it differs from copy_if_shared.
2022-09-06 19:00:40 -04:00
Jay Berkenbilt
c1def4ead4
Implement QPDFObjectHandle equality
2022-09-06 18:34:23 -04:00
Jay Berkenbilt
94c79bb8f6
Support --show-encryption without a valid password ( fixes #598 )
2022-09-06 12:45:12 -04:00
Jay Berkenbilt
f95e0549cc
Update documentation to clarify some limitations of qpdf JSON
2022-09-06 10:09:26 -04:00
Jay Berkenbilt
ed04b80caf
Update internals documentation to reflect QPDFObject split
2022-09-05 18:54:02 -04:00
Jay Berkenbilt
55cc2ab680
Re-introduce QPDFObject.hh as deprecated
...
* Just removing a header file would cause build errors with no hint as
to what happened. This way, people get a warning rather than error
for the life of qpdf 11, and the warning tells them what to do.
* This avoids build surprises resulting from having two versions of
QPDF headers installed at once. If you were building code out of a
checkout of qpdf but had an older version installed on your system,
if your code included <qpdf/QPDFObject.hh>, everything would work,
but then your code would break without QPDFObject.hh later.
2022-09-05 18:52:59 -04:00
Jay Berkenbilt
0a7ba62b00
Update formatting a documentation from last PR
2022-09-05 18:52:59 -04:00
Jay Berkenbilt
a59e7ac7ec
Disable copying/assigning to QPDF objects, add QPDF::create()
2022-09-02 08:53:27 -04:00
Jay Berkenbilt
b663926538
Remove QPDFObject::object_type_e as alias for qpdf_object_type_e
2022-09-01 18:11:22 -04:00
Jay Berkenbilt
4e7d5f190a
Include memory usage in performance test output
2022-09-01 17:20:59 -04:00
Jay Berkenbilt
ceeb25f3c8
Rename --report-mem-usage to --report-memory-usage
...
Avd xcsv brvtns.
2022-09-01 17:15:41 -04:00
Jay Berkenbilt
e94f478217
Update ChangeLog and Release Notes from previous pull requests
2022-09-01 17:15:41 -04:00
Jay Berkenbilt
433f1dae19
Add --report-mem-usage option for debugging/testing
2022-08-31 14:47:27 -04:00
Jay Berkenbilt
394302a411
Add ChangeLog/release-notes (with credit) for last pull request
2022-08-27 08:14:36 -04:00
Jay Berkenbilt
cef6425bca
Disable QTC inside the library by default ( fixes #714 )
...
This results in measurable performance improvements to packaged binary
libqpdf distributions. QTC remains available for library users and is
still selectively enabled in CI.
2022-08-07 16:20:49 -04:00
Jay Berkenbilt
5d63730b93
Clean up documentation
2022-07-31 16:26:02 -04:00
Jay Berkenbilt
5f4224f31a
Simplify --json-output
...
Now --json-output just changes defaults. Allow output file with --json.
2022-07-31 16:23:17 -04:00
Jay Berkenbilt
d01c4f8819
Change --json-output format
...
from "qpdf-v2" to "qpdf": [..., ...]
2022-07-31 10:32:55 -04:00
Jay Berkenbilt
bb96499b61
Update docs and prepare QPDF::writeJSON for changes
...
Add additional parameters that will be needed to call QPDF::writeJSON
in partial mode.
2022-07-31 10:32:55 -04:00
Jay Berkenbilt
4674c04cb8
JSON schema: support multi-element array validation
2022-07-24 16:44:51 -04:00
Jay Berkenbilt
b3e6d445cb
Tweak "AndGet" mutator functions again
...
Remove any ambiguity around whether old or new value is being
returned.
2022-07-24 15:42:23 -04:00
Jay Berkenbilt
d27edd54c4
Add ChangeLog and release notes for previous contribution
2022-07-24 14:47:40 -04:00
Jay Berkenbilt
bb0ea2f8e7
Add qpdfjob_register_progress_reporter
2022-06-19 08:46:58 -04:00
Jay Berkenbilt
8e361d98f0
Add examples for output capture ( fixes #691 )
2022-06-19 08:46:58 -04:00
Jay Berkenbilt
8130d50e3b
Add C API to QPDFLogger
2022-06-19 08:46:58 -04:00
Jay Berkenbilt
daef4e8fb8
Add more flexible funtions to qpdfjob C API
2022-06-19 08:46:58 -04:00
Jay Berkenbilt
28cc3692e3
Expose exit code values to C API via Constants.h
2022-06-18 11:36:11 -04:00
Jay Berkenbilt
d2e68b57c8
Spell check
2022-06-18 10:38:54 -04:00
Jay Berkenbilt
e0720eaa78
Use the default logger for other writes to stdout/stderr
...
When there is no context for writing output or error messages, use the
default logger.
2022-06-18 10:38:50 -04:00
Jay Berkenbilt
83be2191b4
Use "save" logger when saving data to standard output
...
This includes the output PDF, streams from --show-object and
attachments from --save-attachment. This also enables --verbose and
--progress to work with saving to stdout.
2022-06-18 09:54:40 -04:00
Jay Berkenbilt
641e92c6a7
QPDF, QPDFJob: use QPDFLogger instead of custom output streams
2022-06-18 09:02:55 -04:00
Jay Berkenbilt
f588d74140
Add integer types to Pipeline::operator<<
2022-06-18 09:02:55 -04:00
Jay Berkenbilt
7cae125e6e
JSON doc fixes and ideas based on discussion with m-holger
2022-06-05 19:34:28 -04:00
m-holger
f51e28a094
Fix typo in json.rst
2022-06-05 18:46:13 -04:00
Jay Berkenbilt
aa800d2a3b
ChangeLog, release notes for json v2
2022-05-31 07:20:47 -04:00
Jay Berkenbilt
001c329a8f
Fix doc reference error
2022-05-31 07:07:16 -04:00
Jay Berkenbilt
7d9b2d9f6c
Restore -W option to sphinx-build, lost in cmake version
2022-05-31 07:06:56 -04:00
Jay Berkenbilt
0bd908b550
Update documentation for qpdf JSON v2
2022-05-30 20:03:08 -04:00
Jay Berkenbilt
b7bbf12e85
In json mode, reveal recovered user password when otherwise unavailable
2022-05-30 20:03:08 -04:00
Jay Berkenbilt
f049a77c59
Add additional information when listing attachments
2022-05-30 20:03:08 -04:00
m-holger
558590f0d0
Fix minor doc typo
2022-05-23 15:29:57 -04:00
m-holger
6a8e604da6
Fix minor doc typo
2022-05-23 15:29:57 -04:00
Jay Berkenbilt
f1a9ba0c62
TODO: clean up remaining work for json v2
2022-05-21 18:01:02 -04:00
Jay Berkenbilt
27a42c16c7
Change default decode level to "none" with --json-output
2022-05-21 17:51:34 -04:00
Jay Berkenbilt
dc8df962d8
Make version default to latest for --json-output (like --json)
2022-05-20 09:16:25 -04:00
Jay Berkenbilt
6f43bf8de3
Major rework -- see long comments
...
* Replace --create-from-json=file with --json-input, which causes the
regular input to be treated as json.
* Eliminate --to-json
* In --json=2, bring back "objects" and eliminate "objectinfo". Stream
data is never present.
* In --json-output=2, write "qpdf-v2" with "objects" and include
stream data.
2022-05-20 09:16:25 -04:00
Jay Berkenbilt
56f1b411fe
Back out fluent QPDFObjectHandle methods. Keep the andGet methods.
...
I decided these were confusing and inconsistent with how JSON works.
They muddle the API rather than improving it.
2022-05-20 09:16:25 -04:00
Jay Berkenbilt
4fe2e06b47
Add --create-from-json and --update-from-json arguments
...
Also add stubs for top-level QPDF methods (createFromJSON,
updateFromJSON)
2022-05-16 13:41:40 -04:00
Jay Berkenbilt
e9390aeaaa
Add --to-json option
2022-05-08 13:45:20 -04:00
Jay Berkenbilt
c76536dd9a
Implement JSON v2 output
2022-05-08 13:45:20 -04:00
Jay Berkenbilt
7f65a5c21f
Test json against schema only on demand
...
Testing json against schema requires an in-memory copy, so do it only
when requested by the test suite.
2022-05-07 08:26:31 -04:00
Jay Berkenbilt
b361c5ce19
Add --test-json-schema command-line option
2022-05-07 08:26:31 -04:00
Jay Berkenbilt
e259635986
JSON: add write methods and implement unparse() in terms of those
2022-05-04 12:07:11 -04:00
Jay Berkenbilt
8b25de24c9
Make "objects" and "pages" consistent in JSON output
2022-05-04 08:32:44 -04:00
Jay Berkenbilt
f4206a0938
Add new Pl_String Pipeline
2022-05-03 18:54:51 -04:00
Jay Berkenbilt
16139d97c8
Add new Pl_OStream Pipeline
2022-05-03 18:54:51 -04:00
Jay Berkenbilt
f1c6bb97db
Add new Pipeline convenience methods
2022-05-03 18:31:22 -04:00
Jay Berkenbilt
59f3e09edf
Make Pipeline::write take an unsigned char const* (API change)
2022-05-03 18:31:22 -04:00
Jay Berkenbilt
d55c7ac570
Spell check with newer cSpell
2022-05-03 18:31:22 -04:00
Jay Berkenbilt
f07284da18
Make sure building docs updates job.sums if needed
2022-05-03 08:39:50 -04:00
Jay Berkenbilt
ab01045bcd
qtest: don't run coverage when TESTS is given
2022-05-01 13:25:51 -04:00
Jay Berkenbilt
e34dbbfa18
Spell check
2022-05-01 12:56:22 -04:00
Jay Berkenbilt
8ccd3a8a89
Mark weak encryption with API changes ( fixes #576 )
2022-04-30 17:24:15 -04:00
Jay Berkenbilt
c365a26e9d
Revert "Remove QPDFObjectHandle::replaceOrRemoveKey"
...
This reverts commit dc059560e7
.
I changed my mind. There's no harm in leaving it deprecated for a
release cycle.
2022-04-30 14:15:07 -04:00
Jay Berkenbilt
dc059560e7
Remove QPDFObjectHandle::replaceOrRemoveKey
...
See ChangeLog for rationale for not deprecating it as originally
planned.
2022-04-30 13:39:45 -04:00
Jay Berkenbilt
e80fad86e9
Add new QPDFObjectHandle methods for more fluent programming
2022-04-29 20:09:10 -04:00
Jay Berkenbilt
7a20878fdf
Mention "Wrappers" wiki page
2022-04-23 17:11:38 -04:00
Jay Berkenbilt
80ed3076a0
Remove deprecated name/number tree constructors
...
Remove the name/number tree object helper constructors that don't take
a QPDF&.
2022-04-16 13:13:15 -04:00
Jay Berkenbilt
496ca2e4dc
Remove QPDFAcroFormDocumentHelper::copyFieldsFromForeignPage
2022-04-16 13:12:07 -04:00