Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-06-18 | TODO: plan for QPDFLogger | Jay Berkenbilt | |
2022-06-06 | JSON doc fixes and ideas based on discussion with m-holger | Jay Berkenbilt | |
2022-05-31 | Update documentation for qpdf JSON v2 | Jay Berkenbilt | |
2022-05-31 | In json mode, reveal recovered user password when otherwise unavailable | Jay Berkenbilt | |
2022-05-31 | Add additional information when listing attachments | Jay Berkenbilt | |
2022-05-31 | TODO notes | Jay Berkenbilt | |
2022-05-22 | TODO: clean up remaining work for json v2 | Jay Berkenbilt | |
2022-05-21 | TODO: notes on QPDFPagesTree | Jay Berkenbilt | |
2022-05-21 | Add json to performance tests | Jay Berkenbilt | |
2022-05-21 | Add json to large file test | Jay Berkenbilt | |
2022-05-20 | Exercise object description in tests | Jay Berkenbilt | |
2022-05-20 | Add test for bad data and bad datafile | Jay Berkenbilt | |
2022-05-20 | Test --update-from-json | Jay Berkenbilt | |
2022-05-20 | Explicitly test ignoring unknown keys in JSON input | Jay Berkenbilt | |
2022-05-20 | Tests with manually constructed qpdf json | Jay Berkenbilt | |
2022-05-20 | Major rework -- see long comments | Jay Berkenbilt | |
* 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 | Support stream data -- not tested | Jay Berkenbilt | |
There are no automated tests yet, but committing work so far in preparation for some refactoring. | |||
2022-05-20 | Parse objects; stream data is not yet handled | Jay Berkenbilt | |
2022-05-16 | Implement top-level qpdf json parsing | Jay Berkenbilt | |
2022-05-16 | TODO: solidify work for JSON to PDF | Jay Berkenbilt | |
2022-05-14 | Split qpdf.test into multiple test suites | Jay Berkenbilt | |
This makes it a lot easier to run parts of the test suite. | |||
2022-05-14 | Update qtest-driver to log invalid tests | Jay Berkenbilt | |
This is taken from an unrelased change to qtest. | |||
2022-05-08 | TODO note about linux binary distribution runpath | Jay Berkenbilt | |
2022-05-08 | Test inline stream data with different decode levels | Jay Berkenbilt | |
2022-05-08 | Test json v2 with invalid stream data | Jay Berkenbilt | |
2022-05-08 | Implement JSON v2 output | Jay Berkenbilt | |
2022-05-08 | Prepare test suite for json v2 | Jay Berkenbilt | |
2022-05-08 | Fix typo in json output key name | Jay Berkenbilt | |
moddify -> modify. Also carefully spell checked all remaining keys by splitting them into words and running a spell checker, not just relying on visual proofreading. That was the only one. | |||
2022-05-08 | Implement JSON v2 for Stream | Jay Berkenbilt | |
Not fully exercised in this commit | |||
2022-05-07 | Prepare code for JSON v2 | Jay Berkenbilt | |
Update getJSON() methods and calls to them | |||
2022-05-07 | Objectinfo json: write incrementally and in numeric order | Jay Berkenbilt | |
This script was used on test data: ---------- #!/usr/bin/env python3 import json import sys import re def json_dumps(data): return json.dumps(data, ensure_ascii=False, indent=2, separators=(',', ': ')) for filename in sys.argv[1:]: with open(filename, 'r') as f: data = json.loads(f.read()) if 'objectinfo' not in data: continue trailer = None to_sort = [] for k, v in data['objectinfo'].items(): if k == 'trailer': trailer = v else: m = re.match(r'^(\d+) \d+ R', k) if m: to_sort.append([int(m.group(1)), k, v]) newobjectinfo = {x[1]: x[2] for x in sorted(to_sort)} if trailer is not None: newobjectinfo['trailer'] = trailer data['objectinfo'] = newobjectinfo print(json_dumps(data)) ---------- | |||
2022-05-07 | Test json against schema only on demand | Jay Berkenbilt | |
Testing json against schema requires an in-memory copy, so do it only when requested by the test suite. | |||
2022-05-07 | TODO: solidify remaining json v2 work | Jay Berkenbilt | |
2022-05-07 | JSON: add blob type that generates base64-encoded binary data | Jay Berkenbilt | |
2022-05-04 | Change JSON parser to parse from an InputSource | Jay Berkenbilt | |
2022-05-04 | JSON: add write methods and implement unparse() in terms of those | Jay Berkenbilt | |
2022-05-04 | Add new Pl_String Pipeline | Jay Berkenbilt | |
2022-05-04 | Add new Pl_OStream Pipeline | Jay Berkenbilt | |
2022-05-04 | Add new Pipeline convenience methods | Jay Berkenbilt | |
2022-05-04 | TODO note about test suites | Jay Berkenbilt | |
2022-05-04 | Add internal Pl_Base64 | Jay Berkenbilt | |
Bidirectional base64; will be used by JSON v2. | |||
2022-05-03 | TODO: more JSON notes | Jay Berkenbilt | |
2022-05-03 | TODO: JSON notes | Jay Berkenbilt | |
2022-05-01 | Spell check | Jay Berkenbilt | |
2022-05-01 | TODO item | Jay Berkenbilt | |
2022-04-30 | Mark weak encryption with API changes (fixes #576) | Jay Berkenbilt | |
2022-04-30 | TODO: reminder to look for deprecated APIs in ABI section | Jay Berkenbilt | |
2022-04-30 | Using insecure crytpo from the CLI is now an error by default | Jay Berkenbilt | |
2022-04-30 | TODO: remove a few discarded API change ideas | Jay Berkenbilt | |
I had some ideas about some more convenience methods from discussions with some developers, but I decided that the newly added ones cover most of the use cases. The other ideas were too hard to explain clearly and therefore too specialized to put into the public API, where I would have to support them for a long time. | |||
2022-04-30 | Add new QPDFObjectHandle methods for more fluent programming | Jay Berkenbilt | |