2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-14 08:44:04 +00:00
Commit Graph

562 Commits

Author SHA1 Message Date
Jay Berkenbilt
96520d2583 Add ChangeLog and release notes for previous fix (fixes #923) 2023-03-18 15:38:31 -04:00
Jay Berkenbilt
bdf4a9dd3a Rescope some issues for after 11.3 2023-02-25 14:19:46 -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
Jay Berkenbilt
3aba168985 TODO for 11.3 2023-02-18 18:43:06 -05:00
Jay Berkenbilt
98dff46310 TODO updates 2023-01-07 15:25:05 -05:00
Jay Berkenbilt
434d84ece6 TODO note on digital signatures 2022-11-14 07:06:22 -05:00
Jay Berkenbilt
b30273f174 Indicate that msvc64 is the default download for Windows 2022-10-08 17:28:35 -04:00
Jay Berkenbilt
741211a199 TODO reminders 2022-10-06 06:58:38 -04:00
Jay Berkenbilt
92b3543e12 Update TODO with notes about next major version
For greater visibility and community participation, track ABI change
ideas that aren't in the source in a github discussion item rather
than in TODO.
2022-09-22 07:57:52 -04:00
Jay Berkenbilt
a6c4b293b1 Clean up release notes for qpdf 11 2022-09-09 10:49:25 -04:00
Jay Berkenbilt
3dbab589e3 Add C API functions for using custom loggers
Expose functions to the C API to create new loggers and to setLogger
and getLogger for QPDF and QPDFJob.
2022-09-09 10:49:25 -04:00
Jay Berkenbilt
f1a2d3160a Add JSON v2 support to C API 2022-09-09 06:19:09 -04:00
Jay Berkenbilt
5911a348a5 Fix TODO notes on multiple direct object parent issue 2022-09-08 11:47:48 -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
c7a4967d10 Change reset to disconnect and clarify comments
I decided that it's actually fine to copy a direct object to another
QPDF. Even if we eventually prevent a QPDFObject from having multiple
parents, this could happen if an object is moved.
2022-09-08 11:06:15 -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
264e25f391 Clear owning QPDF information for all objects, not just indirect 2022-09-08 10:19:38 -04:00
Jay Berkenbilt
a0c32b1e8d Remove resolved TODO comment 2022-09-06 19:03:19 -04:00
Jay Berkenbilt
d12734d76f Remove lgtm since it's getting shut down
It might be worth enabling code scanning at GitHub, which is a
superset of lgtm.
2022-09-06 12:46:05 -04:00
Jay Berkenbilt
e3c1e1fbcb Validate RUNPATH of standalone Linux binaries in CI 2022-09-06 12:45:12 -04:00
Jay Berkenbilt
706e37a42c Move multiple direct owner notes in TODO 2022-09-06 12:45:06 -04:00
Jay Berkenbilt
f95e0549cc Update documentation to clarify some limitations of qpdf JSON 2022-09-06 10:09:26 -04:00
Jay Berkenbilt
5d65e73ca7 TODO note about shared_ptr vs. unique_ptr 2022-09-05 18:52:59 -04:00
Jay Berkenbilt
da32689350 TODO reminder about github discussions 2022-09-02 11:51:38 -04:00
Jay Berkenbilt
fa15042ce9 Document decision not to remove raw QPDF pointers from the API 2022-09-02 09:22:57 -04:00
Jay Berkenbilt
a59e7ac7ec Disable copying/assigning to QPDF objects, add QPDF::create() 2022-09-02 08:53:27 -04:00
Jay Berkenbilt
a47b99953f Update TODO 2022-09-01 17:20:59 -04:00
Jay Berkenbilt
4f4b908605 Add a file with arrays with lots of nulls to the test suite
A bug was fixed between qpdf 8.4.2 and 9.0.0 regarding this type of
file (see #305 and #311), but it was necessary to retest after some
major refactoring work at the lexical and parsing layers. This lays
the groundwork for including this in performance benchmarks and in the
qpdf test suite rather than having to keep a large,
non-redistributable file around.

20 arrays of 20K nulls is plenty for performance memory testing and
doesn't take too long to run. Compared to qpdf 8.4.2, in qpdf 11.0.0,
the file generated here uses 3% of the RAM and runs over 4 times
faster.
2022-09-01 16:15:54 -04:00
Jay Berkenbilt
4aac7c325a Update TODO with reminders about memory testing 2022-08-31 14:47:27 -04:00
Jay Berkenbilt
a3145ab3b7 TODO note 2022-08-28 16:25:44 -04:00
Jay Berkenbilt
980987ba65 TODO note about removing raw pointers from API 2022-08-28 09:40:07 -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
da71dc6f37 QTC: cache get_env results for improved performance
It turns out that QUtil::get_env is particularly expensive on Windows
if there is a large environment. This may be true on other platforms
as well.
2022-08-07 14:23:05 -04:00
Jay Berkenbilt
7537391222 TODO: more reminders 2022-08-06 17:16:28 -04:00
Jay Berkenbilt
028f2811a0 Hide docs for special cmake release 2022-08-06 16:48:51 -04:00
Jay Berkenbilt
2e3664e1e4 Update qtest 1.9 and copy back into qpdf 2022-08-06 16:46:00 -04:00
Jay Berkenbilt
48dfae6443 TODO: rescope some items 2022-08-06 16:35:40 -04:00
Jay Berkenbilt
5d63730b93 Clean up documentation 2022-07-31 16:26:02 -04:00
Jay Berkenbilt
12d065c751 Provide a simpler QPDF::writeJSON 2022-07-31 16:23:17 -04:00
Jay Berkenbilt
13cf35ce2f Use calledgetallpages and pushedinheritedpageresources 2022-07-31 16:23:17 -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
69820847af Change the output of --json to use "qpdf" instead of "objects" 2022-07-31 15:17:01 -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
f8d1ab9462 JSON schema -- accept single item in place of array
When the schema wants a variable-length array, allow a single item as
well as allowing an array.
2022-07-24 16:17:03 -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
c810f0f21e TODO: QPDFObject parent idea 2022-06-27 12:49:46 -04:00
Jay Berkenbilt
0c7c7e4ba4 Track whether certain page modifying methods have been called
We need to know whether pushInheritedAttributesToPage or getAllPages
have been called when generating JSON output. When reading the JSON
back in, we have to call the same methods so that object numbers will
line up properly.
2022-06-25 13:55:45 -04:00