qpdf/ChangeLog

200 lines
6.5 KiB
Plaintext
Raw Normal View History

2009-10-25 Jay Berkenbilt <ejb@ql.org>
* 2.1.rc1: release
2009-10-19 Jay Berkenbilt <jberkenb@argonst.com>
* include/qpdf/QPDF.hh (QPDF): getWarnings now returns a list of
QPDFExc rather than a list of strings. This way, warnings may be
inspected in more detail.
* Include information about the last object read in most error
messages. Most of the time, this will provide a good hint as to
which object contains the error, but it's possible that the last
object read may not necessarily be the one that has the error if
the erroneous object was previously read and cached.
2009-10-18 Jay Berkenbilt <ejb@ql.org>
* If forcing version, disable object stream creation and/or
encryption if previous specifications are incompatible with new
version. It is still possible that PDF content, compression
schemes, etc., may be incompatible with the new version, but at
least this way, older viewers will at least have a chance.
* libqpdf/QPDFWriter.cc (unparseObject): avoid compressing
Metadata streams if possible.
2009-10-13 Jay Berkenbilt <ejb@ql.org>
* Upgrade embedded qtest to version 1.4, which allows the test
suite to be run in Windows with MSYS and ActiveState Perl rather
than requiring Cygwin perl.
2009-10-04 Jay Berkenbilt <ejb@ql.org>
* Implement support AES encrypt and crypt filters. Implementation
is not fully tested due to lack of test data but has been tested
for several cases.
2009-10-04 Jay Berkenbilt <ejb@ql.org>
* Add methods to QPDFWriter and corresponding command line
arguments to qpdf to set the minimum output PDF version and also
to force the version to a particular value.
* libqpdf/QPDF.cc (processXRefStream): warn and ignore extra xref
stream entries when stream is larger than reported size. This
used to be a fatal error. (Fixes qpdf-Bugs-2872265.)
2009-09-27 Jay Berkenbilt <ejb@ql.org>
* Add several methods to query permissions controlled by the
encryption dictionary. Note that qpdf does not enforce these
permissions even though it allows the user to query them.
* The function QPDF::getUserPassword returned the user password
with the required padding as specified by the PDF specification.
This is seldom useful to users. This function has been replaced
by QPDF::getPaddedUserPassword. Call the new
QPDF::getTrimmedUserPassword to retreive the user password in a
human-readable format.
* qpdf/qpdf.cc (main): qpdf --check now prints the PDF version
number in addition to its other output.
2009-09-26 Jay Berkenbilt <ejb@ql.org>
* Removed all references to QEXC; now using std::runtime_error and
std::logic_error and their subclasses for all exceptions.
2009-05-03 Jay Berkenbilt <ejb@ql.org>
* 2.0.6: release
* libqpdf/QPDF_Stream.cc (filterable): ignore /DecodeParms if it's
not a type we recognize. (Fixes qpdf-Bugs-2779746.)
2009-03-10 Jay Berkenbilt <ejb@ql.org>
* 2.0.5: release
2009-03-09 Jay Berkenbilt <ejb@ql.org>
* libqpdf/Pl_LZWDecoder.cc: adjust LZWDecoder full table
detection, now having been able to adequately test boundary
conditions both and with and without early code change. Also
compared implementation with other LZW decoders.
2009-03-08 Jay Berkenbilt <ejb@ql.org>
* qpdf/fix-qdf (write_ostream): Adjust offsets while writing
object streams to account for changes in the length of the
dictionary and offset tables.
* qpdf/qpdf.cc (main): In check mode, in addition to checking
structure of file, attempt to decode all stream data.
* libqpdf/QPDFWriter.cc (QPDFWriter::writeObject): In QDF mode,
write a comment to the QDF file before each object that indicates
the object ID of the corresponding object from the original file.
Add --no-original-object-ids flag to qpdf and
setSuppressOriginalObjectIDs() method to QPDFWriter to turn this
behavior off.
* libqpdf/QPDF.cc (QPDF::pipeStreamData): Issue a warning instead
of failing if there is a problem found while decoding stream.
* qpdf/qpdf.cc: Exit with a status of 3 if warnings were found
regardless of what mode we're in.
2009-02-21 Jay Berkenbilt <ejb@ql.org>
* 2.0.4: release
2009-02-20 Jay Berkenbilt <ejb@ql.org>
* Fix many typos in comments and strings.
* qpdf/qpdf.cc: in --check mode, if there are warnings but no
errors, exit with a status of 3.
* libqpdf/QPDF.cc (QPDF::insertXrefEntry): when recovering the
cross-reference table, have objects we encounter later in the file
supersede those we found earlier. This improves the chances of
being able to recover appended files with damaged cross-reference
tables.
2009-02-19 Jay Berkenbilt <ejb@ql.org>
* libqpdf/Pl_LZWDecoder.cc: correct logic error for previously
untested case of running the LZW decoder without the "early code
change" flag. Thanks to a bug report from "Atom Smasher", I
finally was able to obtain an input stream compressed in this way.
2009-02-15 Jay Berkenbilt <ejb@ql.org>
* 2.0.3: release
2008-12-11 Jay Berkenbilt <ejb@ql.org>
* qpdf/qpdf.cc (main): Accept -help and -version as well as --help
and --version
2008-11-23 Jay Berkenbilt <ejb@ql.org>
* Include stdio.h in a few files for proper compilation with (yet
to be released) gcc 4.4
* updated embedded qtest to version 1.3
* libqpdf/QPDF_String.cc (QPDF_String::getUTF8Val): handle
UTF-16BE properly rather than just treating the string as a string
of 16-bit characters.
2008-06-30 Jay Berkenbilt <ejb@ql.org>
* 2.0.2: release
* updated embedded qtest to version 1.2 (includes previous
changes)
2008-06-07 Jay Berkenbilt <ejb@ql.org>
* qpdf/qtest/qpdf/diff-encrypted: change == to = so that the test
suite passes when /bin/sh is not bash
2008-05-07 Jay Berkenbilt <ejb@ql.org>
* qtest/bin/qtest-driver (run_test): increase timeout for qtest to
be more tolerant of slow machines
2008-05-06 Jay Berkenbilt <ejb@ql.org>
* 2.0.1: release
* make/rules.mk: fix logic with .dep generation for .lo files so
that dependencies work properly with libtool
2008-05-05 Jay Berkenbilt <ejb@ql.org>
* libqpdf/qpdf/MD5.hh: fix header to be 64-bit clean
* configure.ac: add tests for sized integer types
2008-05-04 Jay Berkenbilt <ejb@ql.org>
* libqpdf/QPDF_encryption.cc: do not assume size_t is unsigned int
* qpdf/qtest/qpdf.test: removed locale-specific tests. These were
really to check bugs in perl 5.8.0 and are obsolete now. They
also make the test suite fail in some environments that don't have
all the locales fully configured.
* various: updated several files for gcc 4.3 by adding missing
includes (string.h, stdlib.h)
2008-04-26 Jay Berkenbilt <ejb@ql.org>
* 2.0: initial public release