-
Update this to be a more accurate reflection of what I actually do and to make it a better and more usable checklist.
-
This is how I work with the file, so this format is most convenient for me.
-
Build in the order that is most likely to detect failures earlier.
-
Bump to an alpha release. This version is not being widely released but is being used to push the new shared library version through the debian packaging system and to test out github releases.
-
The official, signed AppImage will be build locally for now for security of my key, but I still want it to be built in a clean, controlled environment based off a suitably old Linux distribution for maximal portability in the AppImage.
-
Hopefully this is it.
-
The QPDF_String::getUTF8Val() method was not treating strings that weren't explicitly Unicode as PDF Doc Encoded. This only affects characters in the range 0x80 through 0xa0.
-
Too many test cases were "miscellaneous".
-
Give objects descriptions and context so it is possible to issue warnings instead of fatal errors for attempts to access objects of the wrong type.
-
Sometimes it's an offset in an object stream or a content stream, so file position is confusing in some cases.
-
As in other cases, this is to enable adding new member variables in the future without breaking ABI compatibility.
-
Expose Pl_QPDFTokenizer, and have it do more of the work of managing the token filter's pipeline.
-
Implement a TokenFilter class and refactor Pl_QPDFTokenizer to use a TokenFilter class called ContentNormalizer. Pl_QPDFTokenizer is now a general filter that passes data through a TokenFilter.
-
Adding a trailing newline in content normalization damages files whose contents are split across streams in the middle of tokens. Let QPDFWriter add the newline with the indicator to ignore the newline, which it already does. This changes the way some qdf files look.
-
Remove a redundant method that was equal to another one with additional arguments. This breaks binary compatibility, but there are other ABI breaking changes in the upcoming release, so now is the time to do it.
-
This is for protection against future ABI breaking changes.
-
Significant enhancements to the lexer to improve EOF handling and to support comments and spaces as tokens. Various other minor issues were fixed as well.