Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2022-04-30 | Fix TODO typos | Jay Berkenbilt | |
2022-04-24 | Add new QPDF::warn that takes most of QPDFExc's arguments | Jay Berkenbilt | |
2022-04-24 | TODO note about default output streams for QPDFJob | Jay Berkenbilt | |
2022-04-24 | Expose QUtil::get_next_utf8_codepoint | Jay Berkenbilt | |
2022-04-24 | Replace switch statements with static map initializers | Jay Berkenbilt | |
Character transcoding from Unicode to single-byte characters used hard-coded switch statements because the code predated our adoption of C++11. Now we have thread-safe, static initialization of map literals, so use that instead. | |||
2022-04-16 | Decide against adding handleWarning back to ParserCallbacks | Jay Berkenbilt | |
2022-04-16 | Use anonymous namespaces for file-private classes | Jay Berkenbilt | |
2022-04-16 | Clarify note in TODO | Jay Berkenbilt | |
2022-04-16 | Remove deprecated name/number tree constructors | Jay Berkenbilt | |
Remove the name/number tree object helper constructors that don't take a QPDF&. | |||
2022-04-16 | Change default --json from 1 to latest | Jay Berkenbilt | |
2022-04-16 | Use = default and = delete where possible in classes | Jay Berkenbilt | |
2022-04-16 | Make ABI-breaking changes that don't modify API at all | Jay Berkenbilt | |
* Merge overloaded functions by adding default values * Remove non-const methods that are identical to const methods | |||
2022-04-10 | Remove remaining cmake steps from TODO | Jay Berkenbilt | |
2022-04-10 | Mark non-ABI symbols in exported class with QPDF_DLL_PRIVATE | Jay Berkenbilt | |
2022-04-10 | Clean up/fix DLL.h | Jay Berkenbilt | |
* Change DLL_EXPORT to libqpdf_EXPORTS (internal to the build). The new name is cmake's default, is more conventional, and is less likely to clash with other symbols. * Add QPDF_DLL_PRIVATE for non-Windows * Make logic around when to define QPDF_DLL et al more explicit * Add detailed comments | |||
2022-04-09 | Remove methods of private classes from ABI | Jay Berkenbilt | |
Prior to the cmake conversion, several private classes had methods that were exported into the shared library so they could be tested with libtests. With cmake, we build libtests using an object library, so this is no longer necessary. The methods that are disappearing from the ABI were never exposed through public headers, so no code should be using them. Removal had to wait until the window for ABI-breaking changes was open. | |||
2022-04-09 | Update documentation for PointerHolder transition | Jay Berkenbilt | |
2022-04-09 | Add documentation for code formatting and contribution guidelines | Jay Berkenbilt | |
2022-04-05 | Update TODO with additional notes | Jay Berkenbilt | |
2022-04-05 | Update some code manually to get better formatting results | Jay Berkenbilt | |
Add comments to force line breaks, parenthesize function arguments that are contatenated strings, etc. -- these kinds of changes improve clang-format's results and also cause emacs cc-mode to match clang-format. After this type of change, most of the time, when clang-format and emacs disagree, clang-format is better. |