aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
AgeCommit message (Collapse)Author
2022-09-09Clean up release notes for qpdf 11Jay Berkenbilt
2022-09-09Add C API functions for using custom loggersJay Berkenbilt
Expose functions to the C API to create new loggers and to setLogger and getLogger for QPDF and QPDFJob.
2022-09-09Add JSON v2 support to C APIJay Berkenbilt
2022-09-08Fix TODO notes on multiple direct object parent issueJay Berkenbilt
2022-09-08Rename QPDFValueProxy back to QPDFObjectJay Berkenbilt
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-08Change reset to disconnect and clarify commentsJay Berkenbilt
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-08Create a special "destroyed" type rather than using nullJay Berkenbilt
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-08Clear owning QPDF information for all objects, not just indirectJay Berkenbilt
2022-09-07Remove resolved TODO commentJay Berkenbilt
2022-09-06Remove lgtm since it's getting shut downJay Berkenbilt
It might be worth enabling code scanning at GitHub, which is a superset of lgtm.
2022-09-06Validate RUNPATH of standalone Linux binaries in CIJay Berkenbilt
2022-09-06Move multiple direct owner notes in TODOJay Berkenbilt
2022-09-06Update documentation to clarify some limitations of qpdf JSONJay Berkenbilt
2022-09-06TODO note about shared_ptr vs. unique_ptrJay Berkenbilt
2022-09-02TODO reminder about github discussionsJay Berkenbilt
2022-09-02Document decision not to remove raw QPDF pointers from the APIJay Berkenbilt
2022-09-02Disable copying/assigning to QPDF objects, add QPDF::create()Jay Berkenbilt
2022-09-01Update TODOJay Berkenbilt
2022-09-01Add a file with arrays with lots of nulls to the test suiteJay Berkenbilt
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-08-31Update TODO with reminders about memory testingJay Berkenbilt
2022-08-28TODO noteJay Berkenbilt
2022-08-28TODO note about removing raw pointers from APIJay Berkenbilt
2022-08-07Disable QTC inside the library by default (fixes #714)Jay Berkenbilt
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-07QTC: cache get_env results for improved performanceJay Berkenbilt
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-06TODO: more remindersJay Berkenbilt
2022-08-06Hide docs for special cmake releaseJay Berkenbilt
2022-08-06Update qtest 1.9 and copy back into qpdfJay Berkenbilt
2022-08-06TODO: rescope some itemsJay Berkenbilt
2022-07-31Clean up documentationJay Berkenbilt
2022-07-31Provide a simpler QPDF::writeJSONJay Berkenbilt
2022-07-31Use calledgetallpages and pushedinheritedpageresourcesJay Berkenbilt
2022-07-31Simplify --json-outputJay Berkenbilt
Now --json-output just changes defaults. Allow output file with --json.
2022-07-31Change the output of --json to use "qpdf" instead of "objects"Jay Berkenbilt
2022-07-31Change --json-output formatJay Berkenbilt
from "qpdf-v2" to "qpdf": [..., ...]
2022-07-31Update docs and prepare QPDF::writeJSON for changesJay Berkenbilt
Add additional parameters that will be needed to call QPDF::writeJSON in partial mode.
2022-07-24JSON schema: support multi-element array validationJay Berkenbilt
2022-07-24JSON schema -- accept single item in place of arrayJay Berkenbilt
When the schema wants a variable-length array, allow a single item as well as allowing an array.
2022-07-24Tweak "AndGet" mutator functions againJay Berkenbilt
Remove any ambiguity around whether old or new value is being returned.
2022-06-27TODO: QPDFObject parent ideaJay Berkenbilt
2022-06-25Track whether certain page modifying methods have been calledJay Berkenbilt
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-25TODO: abandon (again) and update notes about QPDFPagesTreeJay Berkenbilt
2022-06-25TODO reminderJay Berkenbilt
2022-06-19Add qpdfjob_register_progress_reporterJay Berkenbilt
2022-06-19Add QPDFJob::registerProgressReporterJay Berkenbilt
2022-06-19Add examples for output capture (fixes #691)Jay Berkenbilt
2022-06-18Expose exit code values to C API via Constants.hJay Berkenbilt
2022-06-18Use the default logger for other writes to stdout/stderrJay Berkenbilt
When there is no context for writing output or error messages, use the default logger.
2022-06-18Use "save" logger when saving data to standard outputJay Berkenbilt
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-18TODO: update JSON and other changesJay Berkenbilt
2022-06-18TODO: plan for QPDFLoggerJay Berkenbilt