Commit Graph

599 Commits

Author SHA1 Message Date
Jay Berkenbilt f9cf79706d Bump version to 11.6.2 and update release notes 2023-10-07 13:46:45 -04:00
Jay Berkenbilt b352791a07 Prepare 11.6.1 release 2023-09-05 13:59:23 -04:00
Jay Berkenbilt 8fac58cd3b Prepare 11.6.0 release 2023-09-03 14:23:53 -04:00
Jay Berkenbilt 1db8a8b26f Bump version to 11.6 2023-09-02 17:28:23 -04:00
m-holger c216ef55ea Fix typo in manual 2023-07-29 15:14:47 +01:00
m-holger 825184b3fd Fix formatting in library.rst 2023-07-18 16:31:36 +01:00
Jay Berkenbilt 2dc2633872 Update ChangeLog and release notes 2023-07-09 09:51:18 -04:00
m-holger d1834d4317 Bump version to 11.5.0 2023-06-27 14:50:05 +01:00
Jay Berkenbilt 463953bc96
Merge pull request #992 from jberkenbilt/future
Future
2023-06-17 14:02:44 -04:00
Jay Berkenbilt 13761120b1 Enhance documentation about FUTURE build option 2023-06-17 14:02:27 -04:00
Jay Berkenbilt 1d979adde5 Bump minimum clang-format version to 16
Also enforce in format-code.
2023-06-17 11:45:06 -04:00
m-holger 33f207ca74 Add FUTURE build option 2023-06-14 16:30:38 +01:00
Jay Berkenbilt 9907700fae Prepare 11.4.0 release 2023-05-21 14:42:37 -04:00
Jay Berkenbilt a90787c5e1 Spell check 2023-05-21 14:25:31 -04:00
Jay Berkenbilt ecceab61ce Add qpdf 12 information to release notes 2023-05-21 14:21:45 -04:00
Jay Berkenbilt 5bbce89e6a Add clarification about empty passwords to doc 2023-05-21 13:46:19 -04:00
Jay Berkenbilt 6b077332d3 Switch line length from 80 to 100 columns 2023-05-21 13:34:20 -04:00
Jay Berkenbilt 293a2e52b3 Disregard appearance state when irrelevant (fixes #949)
If /AP is a dictionary of streams rather than a dictionary of
dictionaries, disregard /AS, which is supposed to point to a subkey of
one of the dictionaries. This fix prevents qpdf's annotation
flattening from discarding some annotations when /AS is erroneously
set.
2023-05-20 15:46:16 -04:00
Jay Berkenbilt 3cfd6546f3 Add ChangeLog and release notes for last change 2023-05-20 15:31:33 -04:00
Jay Berkenbilt 3f2b61ae00 Add release notes and ChangeLog for previous PR 2023-05-20 14:52:19 -04:00
Jay Berkenbilt 96520d2583 Add ChangeLog and release notes for previous fix (fixes #923) 2023-03-18 15:38:31 -04:00
m-holger 4359de9038 Bump version to 11.4.0 2023-03-05 15:19:26 +00:00
m-holger 284b8efbc6 Bump version to 11.3.1 2023-03-05 09:01:49 -05:00
Jay Berkenbilt 57dcf6d99d Prepare 11.3.0 release 2023-02-25 16:24:41 -05:00
Jay Berkenbilt c99a1ecd4f Update copyright to 2023 2023-02-25 14:18:13 -05:00
Jay Berkenbilt 78f7dc9fe8 Overlay/underlay: capture origial page as form XObject (fixes #904) 2023-02-25 12:58:51 -05:00
m-holger e65bb2c5c2 Fix typo in manual 2023-02-21 17:10:18 -05:00
Jay Berkenbilt b4c36d9b73 Emphasize --deterministic-id over --static-id in idempotency doc 2023-02-18 19:42:42 -05:00
Jay Berkenbilt 0f97e98203 Handle linearization warnings as proper warning (fixes #851) 2023-02-18 19:38:49 -05:00
m-holger 6f15c8e7c5 Fix typo in manual 2023-02-04 15:07:16 -05:00
Jay Berkenbilt cb4debe75f Add release note about performance improvements 2023-01-28 13:44:40 -05:00
Jay Berkenbilt 1308c45090 Implement --remove-restrictions (fixes #833) 2023-01-28 13:42:19 -05:00
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