aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
AgeCommit message (Collapse)Author
2022-06-18TODO: plan for QPDFLoggerJay Berkenbilt
2022-06-06JSON doc fixes and ideas based on discussion with m-holgerJay Berkenbilt
2022-05-31Update documentation for qpdf JSON v2Jay Berkenbilt
2022-05-31In json mode, reveal recovered user password when otherwise unavailableJay Berkenbilt
2022-05-31Add additional information when listing attachmentsJay Berkenbilt
2022-05-31TODO notesJay Berkenbilt
2022-05-22TODO: clean up remaining work for json v2Jay Berkenbilt
2022-05-21TODO: notes on QPDFPagesTreeJay Berkenbilt
2022-05-21Add json to performance testsJay Berkenbilt
2022-05-21Add json to large file testJay Berkenbilt
2022-05-20Exercise object description in testsJay Berkenbilt
2022-05-20Add test for bad data and bad datafileJay Berkenbilt
2022-05-20Test --update-from-jsonJay Berkenbilt
2022-05-20Explicitly test ignoring unknown keys in JSON inputJay Berkenbilt
2022-05-20Tests with manually constructed qpdf jsonJay Berkenbilt
2022-05-20Major rework -- see long commentsJay 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-20Support stream data -- not testedJay Berkenbilt
There are no automated tests yet, but committing work so far in preparation for some refactoring.
2022-05-20Parse objects; stream data is not yet handledJay Berkenbilt
2022-05-16Implement top-level qpdf json parsingJay Berkenbilt
2022-05-16TODO: solidify work for JSON to PDFJay Berkenbilt
2022-05-14Split qpdf.test into multiple test suitesJay Berkenbilt
This makes it a lot easier to run parts of the test suite.
2022-05-14Update qtest-driver to log invalid testsJay Berkenbilt
This is taken from an unrelased change to qtest.
2022-05-08TODO note about linux binary distribution runpathJay Berkenbilt
2022-05-08Test inline stream data with different decode levelsJay Berkenbilt
2022-05-08Test json v2 with invalid stream dataJay Berkenbilt
2022-05-08Implement JSON v2 outputJay Berkenbilt
2022-05-08Prepare test suite for json v2Jay Berkenbilt
2022-05-08Fix typo in json output key nameJay 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-08Implement JSON v2 for StreamJay Berkenbilt
Not fully exercised in this commit
2022-05-07Prepare code for JSON v2Jay Berkenbilt
Update getJSON() methods and calls to them
2022-05-07Objectinfo json: write incrementally and in numeric orderJay 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-07Test json against schema only on demandJay Berkenbilt
Testing json against schema requires an in-memory copy, so do it only when requested by the test suite.
2022-05-07TODO: solidify remaining json v2 workJay Berkenbilt
2022-05-07JSON: add blob type that generates base64-encoded binary dataJay Berkenbilt
2022-05-04Change JSON parser to parse from an InputSourceJay Berkenbilt
2022-05-04JSON: add write methods and implement unparse() in terms of thoseJay Berkenbilt
2022-05-04Add new Pl_String PipelineJay Berkenbilt
2022-05-04Add new Pl_OStream PipelineJay Berkenbilt
2022-05-04Add new Pipeline convenience methodsJay Berkenbilt
2022-05-04TODO note about test suitesJay Berkenbilt
2022-05-04Add internal Pl_Base64Jay Berkenbilt
Bidirectional base64; will be used by JSON v2.
2022-05-03TODO: more JSON notesJay Berkenbilt
2022-05-03TODO: JSON notesJay Berkenbilt
2022-05-01Spell checkJay Berkenbilt
2022-05-01TODO itemJay Berkenbilt
2022-04-30Mark weak encryption with API changes (fixes #576)Jay Berkenbilt
2022-04-30TODO: reminder to look for deprecated APIs in ABI sectionJay Berkenbilt
2022-04-30Using insecure crytpo from the CLI is now an error by defaultJay Berkenbilt
2022-04-30TODO: remove a few discarded API change ideasJay 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-30Add new QPDFObjectHandle methods for more fluent programmingJay Berkenbilt