Commit db08974e88509bd718d8f32dea9a94b1784b27e2
1 parent
bc9c80db
Release notes for 10.0.2
Showing
2 changed files
with
195 additions
and
2 deletions
ChangeLog
| ... | ... | @@ -112,6 +112,12 @@ |
| 112 | 112 | newer version of gcc and MSVC toolchains. Add several cosmetic |
| 113 | 113 | improvements to build output in CI. |
| 114 | 114 | |
| 115 | + * Added LL_FMT to config.h.in. This is populated automatically by | |
| 116 | + autoconf, but if build with your own build system, you may need to | |
| 117 | + define it as whatever the format string needed by printf for long | |
| 118 | + long is. Usually this is "%lld", but it can be "%I64d" for some | |
| 119 | + older Windows-based compilers. | |
| 120 | + | |
| 115 | 121 | 2020-04-29 Jay Berkenbilt <ejb@ql.org> |
| 116 | 122 | |
| 117 | 123 | * Bug fix: qpdf --check was writing errors and warnings reported | ... | ... |
manual/qpdf-manual.xml
| ... | ... | @@ -5,8 +5,8 @@ |
| 5 | 5 | <!ENTITY mdash "—"> |
| 6 | 6 | <!ENTITY ndash "–"> |
| 7 | 7 | <!ENTITY nbsp " "> |
| 8 | -<!ENTITY swversion "10.0.1"> | |
| 9 | -<!ENTITY lastreleased "April 9, 2020"> | |
| 8 | +<!ENTITY swversion "10.0.2"> | |
| 9 | +<!ENTITY lastreleased "October 27, 2020"> | |
| 10 | 10 | ]> |
| 11 | 11 | <book> |
| 12 | 12 | <bookinfo> |
| ... | ... | @@ -4806,6 +4806,193 @@ print "\n"; |
| 4806 | 4806 | </varlistentry> |
| 4807 | 4807 | --> |
| 4808 | 4808 | <varlistentry> |
| 4809 | + <term>10.0.2: October 27, 2020</term> | |
| 4810 | + <listitem> | |
| 4811 | + <itemizedlist> | |
| 4812 | + <listitem> | |
| 4813 | + <para> | |
| 4814 | + Bug Fixes | |
| 4815 | + </para> | |
| 4816 | + <itemizedlist> | |
| 4817 | + <listitem> | |
| 4818 | + <para> | |
| 4819 | + When concatenating content streams, as with | |
| 4820 | + <option>--coalesce-contents</option>, there were cases in | |
| 4821 | + which qpdf would merge two lexical tokens together, creating | |
| 4822 | + invalid results. A newline is now inserted between | |
| 4823 | + merged content streams if one is not already present. | |
| 4824 | + </para> | |
| 4825 | + </listitem> | |
| 4826 | + <listitem> | |
| 4827 | + <para> | |
| 4828 | + Fix an internal error that could occur when copying foreign | |
| 4829 | + streams whose stream data had been replaced using a stream | |
| 4830 | + data provider if those streams had indirect filters or | |
| 4831 | + decode parameters. This is a rare corner case. | |
| 4832 | + </para> | |
| 4833 | + </listitem> | |
| 4834 | + <listitem> | |
| 4835 | + <para> | |
| 4836 | + Ensure that the caller's locale settings do not change the | |
| 4837 | + results of numeric conversions performed internally by the | |
| 4838 | + qpdf library. Note that the problem here could only be | |
| 4839 | + caused when the qpdf library was used programmatically. | |
| 4840 | + Using the qpdf CLI already ignored the user's locale for | |
| 4841 | + numeric conversion. | |
| 4842 | + </para> | |
| 4843 | + </listitem> | |
| 4844 | + <listitem> | |
| 4845 | + <para> | |
| 4846 | + Fix several instances in which warnings were not suppressed | |
| 4847 | + in spite of <option>--no-warn</option> and/or errors or | |
| 4848 | + warnings were written to standard output rather than | |
| 4849 | + standard error. | |
| 4850 | + </para> | |
| 4851 | + </listitem> | |
| 4852 | + <listitem> | |
| 4853 | + <para> | |
| 4854 | + Fixed a memory leak that could occur under specific | |
| 4855 | + circumstances when | |
| 4856 | + <option>--object-streams=generate</option> was used. | |
| 4857 | + </para> | |
| 4858 | + </listitem> | |
| 4859 | + <listitem> | |
| 4860 | + <para> | |
| 4861 | + Fix various integer overflows and similar conditions found | |
| 4862 | + by the OSS-Fuzz project. | |
| 4863 | + </para> | |
| 4864 | + </listitem> | |
| 4865 | + </itemizedlist> | |
| 4866 | + </listitem> | |
| 4867 | + <listitem> | |
| 4868 | + <para> | |
| 4869 | + Enhancements | |
| 4870 | + </para> | |
| 4871 | + <itemizedlist> | |
| 4872 | + <listitem> | |
| 4873 | + <para> | |
| 4874 | + New option <option>--warning-exit-0</option> causes qpdf to | |
| 4875 | + exit with a status of <literal>0</literal> rather than | |
| 4876 | + <literal>3</literal> if there are warnings but no errors. | |
| 4877 | + Combine with <option>--no-warn</option> to completely ignore | |
| 4878 | + warnings. | |
| 4879 | + </para> | |
| 4880 | + </listitem> | |
| 4881 | + <listitem> | |
| 4882 | + <para> | |
| 4883 | + Performance improvements have been made to | |
| 4884 | + <function>QPDF::processMemoryFile</function>. | |
| 4885 | + </para> | |
| 4886 | + </listitem> | |
| 4887 | + <listitem> | |
| 4888 | + <para> | |
| 4889 | + The OpenSSL crypto provider produces more detailed error | |
| 4890 | + messages. | |
| 4891 | + </para> | |
| 4892 | + </listitem> | |
| 4893 | + </itemizedlist> | |
| 4894 | + </listitem> | |
| 4895 | + <listitem> | |
| 4896 | + <para> | |
| 4897 | + Build Changes | |
| 4898 | + </para> | |
| 4899 | + <itemizedlist> | |
| 4900 | + <listitem> | |
| 4901 | + <para> | |
| 4902 | + The option <option>--disable-rpath</option> is now supported | |
| 4903 | + by qpdf's <command>./configure</command> script. Some | |
| 4904 | + distributions' packaging standards recommended the use of | |
| 4905 | + this option. | |
| 4906 | + </para> | |
| 4907 | + </listitem> | |
| 4908 | + <listitem> | |
| 4909 | + <para> | |
| 4910 | + Selection of a printf format string for <type>long | |
| 4911 | + long</type> has been moved from <literal>ifdefs</literal> to | |
| 4912 | + an autoconf test. If you are using your own build system, | |
| 4913 | + you will need to provide a value for | |
| 4914 | + <literal>LL_FMT</literal> in | |
| 4915 | + <filename>libqpdf/qpdf/qpdf-config.h</filename>, which would | |
| 4916 | + typically be <literal>"%lld"</literal> or, for | |
| 4917 | + some Windows compilers, <literal>"%I64d"</literal>. | |
| 4918 | + </para> | |
| 4919 | + </listitem> | |
| 4920 | + <listitem> | |
| 4921 | + <para> | |
| 4922 | + Several improvements were made to build-time configuration | |
| 4923 | + of the OpenSSL crypto provider. | |
| 4924 | + </para> | |
| 4925 | + </listitem> | |
| 4926 | + <listitem> | |
| 4927 | + <para> | |
| 4928 | + A nearly stand-alone Linux binary zip file is now included | |
| 4929 | + with the qpdf release. This is built on an older (but | |
| 4930 | + supported) Ubuntu LTS release, but would work on most | |
| 4931 | + reasonably recent Linux distributions. It contains only the | |
| 4932 | + executables and required shared libraries that would not be | |
| 4933 | + present on a minimal system. It can be used for including | |
| 4934 | + qpdf in a minimal environment, such as a docker container. | |
| 4935 | + The zip file is also known to work as a layer in AWS Lambda. | |
| 4936 | + </para> | |
| 4937 | + </listitem> | |
| 4938 | + <listitem> | |
| 4939 | + <para> | |
| 4940 | + QPDF's automated build has been migrated from Azure | |
| 4941 | + Pipelines to GitHub Actions. | |
| 4942 | + </para> | |
| 4943 | + </listitem> | |
| 4944 | + </itemizedlist> | |
| 4945 | + </listitem> | |
| 4946 | + <listitem> | |
| 4947 | + <para> | |
| 4948 | + Windows-specific Changes | |
| 4949 | + </para> | |
| 4950 | + <itemizedlist> | |
| 4951 | + <listitem> | |
| 4952 | + <para> | |
| 4953 | + The Windows executables distributed with qpdf releases now | |
| 4954 | + use the OpenSSL crypto provider by default. The native | |
| 4955 | + crypto provider is also compiled in and can be selected at | |
| 4956 | + runtime with the <literal>QPDF_CRYPTO_PROVIDER</literal> | |
| 4957 | + environment variable. | |
| 4958 | + </para> | |
| 4959 | + </listitem> | |
| 4960 | + <listitem> | |
| 4961 | + <para> | |
| 4962 | + Improvements have been made to how a cryptographic provider | |
| 4963 | + is obtained in the native Windows crypto implementation. | |
| 4964 | + However mostly this is shadowed by OpenSSL being used by | |
| 4965 | + default. | |
| 4966 | + </para> | |
| 4967 | + </listitem> | |
| 4968 | + </itemizedlist> | |
| 4969 | + </listitem> | |
| 4970 | + <listitem> | |
| 4971 | + <para> | |
| 4972 | + Notice of upcoming API change | |
| 4973 | + </para> | |
| 4974 | + <itemizedlist> | |
| 4975 | + <listitem> | |
| 4976 | + <para> | |
| 4977 | + The method <function>InputSource::unreadCh(unsigned | |
| 4978 | + char)</function> is deprecated and will be removed in qpdf | |
| 4979 | + 11. It has never worked properly to pass a character to | |
| 4980 | + <function>unreadCh</function> other than the most recently | |
| 4981 | + read character. If you happen to be deriving a class from | |
| 4982 | + <type>InputSource</type>, just implement | |
| 4983 | + <function>unreadCh</function> to seek backward by one | |
| 4984 | + character if the current position is greater than 0. If you | |
| 4985 | + are calling this in your own code, replacing with | |
| 4986 | + <literal>seek(-1, SEEK_CUR)</literal> should work in all | |
| 4987 | + cases. | |
| 4988 | + </para> | |
| 4989 | + </listitem> | |
| 4990 | + </itemizedlist> | |
| 4991 | + </listitem> | |
| 4992 | + </itemizedlist> | |
| 4993 | + </listitem> | |
| 4994 | + </varlistentry> | |
| 4995 | + <varlistentry> | |
| 4809 | 4996 | <term>10.0.1: April 9, 2020</term> |
| 4810 | 4997 | <listitem> |
| 4811 | 4998 | <itemizedlist> | ... | ... |