Commit Graph

2771 Commits

Author SHA1 Message Date
Jay Berkenbilt b30273f174 Indicate that msvc64 is the default download for Windows 2022-10-08 17:28:35 -04:00
Jay Berkenbilt d94e6958ef Fix stray formatting error 2022-10-08 17:05:11 -04:00
Jay Berkenbilt 2bc9121fa1 Fix major performance bug with openssl crypto (fixes #798)
Lazily load MD5 and RC4 once in the life of the program. Only load the
legacy provider if RC4 is actually being used.
2022-10-08 17:04:59 -04:00
Jay Berkenbilt b745920961 Allow specific performance tests to be run 2022-10-08 16:10:15 -04:00
Jay Berkenbilt 5c5b4e640e Be more conservative about QPDF_DLL_CLASS with mingw (fixes #799)
* Define it even though previous experiments have shown it to be
  unnecessary since it seems like it may be necessary after all
* Add QPDF_DLL_CLASS to QPDFObjectHelper and QPDFDocumentHelper in
  case there's some future unknown reason why someone may want to have
  them and/or in case it helps with the weird
  QPDFNameTreeObjectHelper problem.
2022-10-06 08:40:08 -04:00
Jay Berkenbilt db6598b449 Attempt to test for QPDFNameTreeObjectHelper's vtable
It has disappeared from the DLL on Windows a few times.
2022-10-06 08:40:08 -04:00
Jay Berkenbilt 06c6f9a971 Enable verbose build for CI
That way we can always ensure that the right compiler flags are being
used if there is an issue.
2022-10-06 07:14:23 -04:00
Jay Berkenbilt d14765f1c3 Bump version to 11.2.0 2022-10-06 07:02:43 -04:00
Jay Berkenbilt 6826330adc Require a C++-17 compiler 2022-10-06 06:58:38 -04:00
Jay Berkenbilt 741211a199 TODO reminders 2022-10-06 06:58:38 -04:00
m-holger d44bba3914 Fix typos in error message 2022-10-03 11:42:27 -04:00
Jay Berkenbilt 236a02d402 Prepare 11.1.1 release 2022-10-01 12:04:50 -04:00
Jay Berkenbilt 5e122f145f Ignore things from std:: in the ABI 2022-10-01 12:04:50 -04:00
m-holger c63fb86c01 Inline call to QPDFObjectHandle::parse in QPDF::readObject 2022-10-01 11:17:39 -04:00
m-holger cb0a6be983 Code tidy: use QPDF::toS and QPDF::toI where possible 2022-10-01 11:17:39 -04:00
m-holger 5ccab4be03 Add private methods QPDF::damagedPDF 2022-10-01 11:17:39 -04:00
m-holger b948366280 Add doc comment to QPDF::getFilename 2022-10-01 11:17:39 -04:00
Jay Berkenbilt c115680e7c Add smoke tests to AppImage build in CI
Verify runpath for all executables, check to make sure the AppImage
works in various intended ways.
2022-09-27 09:33:52 -04:00
Jay Berkenbilt c56edf41fe AppImage build: fix library issues
* Use correct cmake flag to not build static libraries
* Force correct relative RPATH in installed executables
2022-09-27 09:32:31 -04:00
Jay Berkenbilt 7a74a491b1 Fixes in appimage AppRun (fixes #789)
* Don't "shift" when $ARGV0 is a qpdf executable
* Base -- to basename to avoid stuff like `qpdf --version` calling
  `basename --version`
2022-09-27 07:39:09 -04:00
Jay Berkenbilt f4ca04cec1 Fix edge case in character encoding (fixes #778)
Avoid representing as PDF Doc encoding any string whose PDF Doc
encoding representation starts with a UTF-16 or UTF-8 marker.
2022-09-26 08:06:47 -04:00
m-holger 4fb7d1335a Tune QPDF_String::useHexString() 2022-09-24 17:09:56 -04:00
Jay Berkenbilt 77111086eb Add code to CI to verify signed/unsigned char
Make sure that our attempt to test both signed and unsigned char is
actually right.
2022-09-23 17:44:16 -04:00
Jay Berkenbilt a085479ad9 Run tests in CI with char as unsigned char 2022-09-23 17:27:18 -04:00
Jay Berkenbilt 9a9a7ab097 Comment about qpdf/PointerHolder.hh in public headers 2022-09-23 15:15:39 -04:00
m-holger 44a7aff56f Refactor Pl_Buffer
Base implementation of the buffer on std::basic_string<unsigned char>.
2022-09-23 15:09:13 -04:00
m-holger ae800361fe Tune QUtil::hex_encode 2022-09-23 06:20:12 -04:00
m-holger 033a66e9a5 Tune unparsing of hex strings in QPDF_String::unparse 2022-09-23 06:20:12 -04:00
Jay Berkenbilt 92b3543e12 Update TODO with notes about next major version
For greater visibility and community participation, track ABI change
ideas that aren't in the source in a github discussion item rather
than in TODO.
2022-09-22 07:57:52 -04:00
Jay Berkenbilt 6b371cc727 Bump version to 11.1.1 2022-09-21 15:58:32 -04:00
m-holger 2e6869483b Replace calls to QUtil::int_to_string with std::to_string 2022-09-21 15:57:14 -04:00
Jay Berkenbilt da67a0aa04 11.1: Fix typo in release notes 2022-09-14 17:04:13 -04:00
Jay Berkenbilt e39f14eaf0 Prepare 11.1.0 release 2022-09-14 15:44:17 -04:00
Jay Berkenbilt 772c92227c Revert "Add default move constructor/assignment to QPDFObjectHandle"
This reverts commit 416d9668ee.

This commit causes numerous failures in the pikepdf test suite and
also causes a symbol to disappear from the public API. More
investigation will be required.
2022-09-14 15:44:17 -04:00
Jay Berkenbilt 6c7c76e0e4 Fix issues with abi-perf-test 2022-09-14 15:44:17 -04:00
Jay Berkenbilt 2e35ead579 Doc: add examples for install dev component (fixes #767) 2022-09-14 09:58:56 -04:00
Jay Berkenbilt faac493a5d Force project includes before system includes (fixes #763)
From time to time, someone has a problem because their build is
grabbing an old version of qpdf header files that are installed
somewhere on their system. I am hoping this will put an end to that.
2022-09-14 07:41:13 -04:00
Jay Berkenbilt 5796475a5e Cosmetic: use default constructor for QPDFObjGen 2022-09-14 07:35:32 -04:00
Jay Berkenbilt 9a273c4098 Mention change of tagging convention (fixes #772) 2022-09-13 11:59:46 -04:00
Jay Berkenbilt 2394acf7a6 Remove explicit direct object check from getObject
An indirect object reference to 0, 0 is invalid. If it appears in the
file or is parsed from a string, the parser catches it. This check
would only be useful for someone explicitly calling getObject with 0,
0, and that would trigger an error during resolve().
2022-09-13 11:21:29 -04:00
Jay Berkenbilt a0b1a18172 Remove redundant function calls 2022-09-13 11:20:28 -04:00
Jay Berkenbilt c5f61fcbd3 Improve efficiency of ResolveRecorder
Removing an element from a set with iterator is constant time, and
std::set specifies that other operations on the set do not invalidate
existing iterators.
2022-09-13 11:19:24 -04:00
Jay Berkenbilt 31b2cfbb79 Fix up a few comments 2022-09-13 11:18:49 -04:00
Jay Berkenbilt 62833ac74f Bump version to 11.1.0
Some new symbols were exported.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt d780954bb3 Add some missing QPDF_DLL markers
These markers are being added for nested classes that are already
marked with QPDF_DLL_CLASS. They don't make any different on Linux,
but they matter on Windows.
2022-09-12 13:19:07 -04:00
m-holger 416d9668ee Add default move constructor/assignment to QPDFObjectHandle 2022-09-12 13:18:56 -04:00
Jay Berkenbilt 7aa2306ef4 Bump version to 11.0.1 2022-09-12 12:43:46 -04:00
Jay Berkenbilt 4963ce6a53 Remove obsolete LL_FMT check from build (fixes #768)
This was broken for cross-compilation and has probably been
unnecessary for several years now.

Also fix extraneous whitespace in related some tests.
2022-09-12 11:48:38 -04:00
Jay Berkenbilt 1393f56e7c 11.0.0: Fix typos in comments in pkg-test 2022-09-10 11:33:18 -04:00
Jay Berkenbilt 43035c8987 Prepare 11.0.0 release 2022-09-10 09:46:09 -04:00