==================================
PDFlib 10.0.1 (September 22, 2022)
==================================
- 2022-09-22 (bug #7325)
Imported listbox fields without an appearance stream were rendered without
taking the /TI entry in the form field dictionary into account (which
corresponds to the "topindex" option of PDF_create_field()).
- 2022-09-22 (feature #3009)
Added support for PHP 8.2.
- 2022-09-22 (bug #7341)
The callout line of imported FreeText annotations was not placed correctly
and ended up at a wrong location on the output page if the imported page
contained a /Rotate key with a value different from 0.
- 2022-09-21 (bug #7340)
When importing Line annotations with PDI the caption position could be wrong.
- 2022-09-21 (bug #7294)
PostScript Type 1 fonts are not supported as host fonts on macOS. However,
they no longer trigger an exception but only a warning since they can still
be used as file-based fonts.
- 2022-09-15 (feature #3016)
Updated to curl 7.85.0.
- 2022-09-15 (bug #7330)
The PDFlib .NET binding did not work with current AWS Linux Lambda Docker
images.
- 2022-09-15 (bug #7313)
The PHP binding was not working on RedHat Linux 8 for ARM 64.
- 2022-09-14 (bug #7332)
Changed the target moniker framework (TFM) entry in the .NET samples and
documentation to "net6.0".
- 2022-09-06 (bug #7326)
With option "script=_auto" for Textline and Textflow output OpenType
features were applied in an unexpected way with certain fonts, which could
also thwart shaping.
- 2022-08-21 (feature #2945)
Added correct table checksums to TrueType/OpenType fonts retrieved as
hostfonts on macOS.
=================================
PDFlib 10.0.0p6 (August 23, 2022)
=================================
- 2022-08-23 (bug #6915)
Reduced the memory usage for optimizing output documents.
- 2022-08-22 (bug #7268)
Improved the performance for SVG color fonts when SVG documents are shared
for the rendering of multiple glyphs.
- 2022-08-17 (bug #7168)
In Unicode-based bindings a wrong error message was produced if an
error message parameter was not valid UTF-8.
- 2022-08-12 (bug #7128)
The default "_none" for the "script" option had caused unpredictable
application of OpenType features with certain fonts. The default value of the
script option was now changed to "latn".
- 2022-08-10 (bug #7299)
Fixed a problem with Textflow that caused leading spaces in justified or
left-aligned text after implicit line breaks.
- 2022-08-08 (bug #7306)
The fact that PDF_load_font() options "subsetlimit" and "autosubsetting"
are deprecated and no longer functional since PDFlib 10 had not been
properly documented. These options are still accepted but have no effect.
- 2022-08-05 (bug #7307)
Trying to produce a backslash in an option value in front of
the closing brace as documented with two backslashes caused an unexpected
exception.
- 2022-08-01 (bug #7308)
Textflow save/restore did not work as expected for the following options:
adjustmethod, alignment, hyphenchar, tabalignchar, avoidemptybegin,
avoidbreak, minlinecount, minspacing, maxspacing, hortabsize, hortabmethod,
ruler, tabalignment, parindent, lastalignment, leftindent, tf_rightindent,
spreadlimit, nofitlimit, shrinklimit, fixedleading, mark, leader, shadow.
===============================
PDFlib 10.0.0p5 (July 27, 2022)
===============================
- 2022-07-27 (feature #2995)
Significantly improved PDI performance for reading huge arrays with object
references as they may appear in malformed PDF documents with tags or layers.
- 2022-07-27 (bug #7312)
In the C++ wrapper avoid pollution of the global C++ namespace with the
"PDF" name.
- 2022-07-27 (feature #3012)
Added support for Ruby 3.1.
- 2022-07-25 (bug #7303)
Using option list delimiter characters in the text for a FreeText
annotation caused the unexpected exception "Internal error:
assertion failed in file 'p_annotap.c', line 951".
- 2022-07-25 (bug #7300)
Updated to OpenSSL 1.1.1q.
- 2022-07-21 (feature #3003)
Updated to curl 7.84.0. As a consequence networking support is no longer
available on System Z.
- 2022-07-21 (bug #7157)
Fixed an inconsistency in TextFlow that trailing spaces were preserved
with centered and right-aligned text, while they were discarded with
left-aligned text. Now trailing spaces are preserved in all three cases.
This is relevant if trailing spaces are visible, e.g. by underlining or
when using matchboxes with visual appearances.
- 2022-07-11 (feature #2985)
Updated to zlib 1.2.12.
- 2022-07-10 (feature #3004)
Implemented PDI optimizations for reading direct number and string objects
where the type and value are retrieved. Also, the dictionary vs. stream
check is eliminated to speed up processing of entities which are surely
not dictionaries such as some layer and Tagged PDF objects.
- 2022-07-07 (bug #7301)
The thread-safe PDFlib library for PHP 7.3 and 7.4 on ARM64 has actually
been built in non-threadsafe mode.
- 2022-07-03 (bug #7296)
Significantly mproved PDI performance for importing documents with layers
and tags by eliminating redundant collection of data for logging.
- 2022-07-03 (feature #3001)
Significantly improved PDI performance for reading huge dictionaries as they
may appear in malformed PDF documents with layers or Tagged PDF properties
and rolemaps.
- 2022-06-30 (bug #7289)
Fixed the problem that on some platforms the Python binding did only work
with specific Python versions.
- 2022-06-30 (bug #7291)
Improved the performance of importing Tagged PDF.
- 2022-06-26 (bug #7292)
Significantly improved PDI performance for reading huge dictionaries with
object references as they may appear in malformed PDF documents with layers.
- 2022-06-23 (bug #7288)
Fixed a crash that occurred when using tagging options in table functions
when no tagged PDF output was actually created.
- 2022-06-23 (bug #7290)
Added support for Ruby 2.7 on FreeBSD.
- 2022-06-23 (bug #7283)
Linker errors because of duplicate symbols could occur when linking an
application against PDFlib and the ICU library.
===============================
PDFlib 10.0.0p4 (June 14, 2022)
===============================
- 2022-06-14 (bug #7275)
Linker errors occurred when linking a Windows application against PDFlib
and the curl library because of duplicate symbols.
- 2022-06-09 (bug #7278)
The implementation of the SVG CSS property "font-weight" suffered from two
problems:
- The "font-weight" property was ignored unless also a "font-style" property
was present.
- The keywords "bold" and "normal" were not recognized.
- 2022-06-01 (bug #7261)
Importing the layer structure of documents with an unreasonable amount of
layers could take very long. Now PDI ignores layers if the number of
layers in the document exceeds 250.
- 2022-05-30 (bug #7269)
Placing an SVG graphics inside a template where a element contained
only the Unicode character U+FEFF ZERO WIDTH NO-BREAK SPACE caused an
unexpected exception "fit_textline(blind): Function must not be called in
'template' scope".
==============================
PDFlib 10.0.0ME-p3 (May 19, 2022)
==============================
- 2022-05-19 (bug #7263)
Using PDF_begin_document() option "labels" while not also specifying option
"groups" resulted in the unexpected exception "Option 'labels' requires
suboption 'group' if used with this function".
- 2022-05-17 (bug #7266)
The parser for SVG glyph definitions in OpenType SVG color fonts made an
unwarranted assumption about the structure of SVG glyph definitions
containing multiple glyphs. When this assumption was violated, an unexpected
exception "Internal error: assertion failed in file 'svg_parse.c', ..."
occurred.
==============================
PDFlib 10.0.0p3 (May 13, 2022)
==============================
- 2022-05-13 (bug #7257)
Invalid PDF/UA output could be created with weakly structured PDF/UA output
when violating the header hierarchy, which was not rejected as required.
- 2022-05-13 (bug #7258)
Fixed a memory leak that could occur when an exception was thrown during
import of annotations.
- 2022-05-13 (bug #7264)
The keywords "annotations" and "widgets" for option "taborder" of
PDF_begin_page_ext() and PDF_end_page_ext() did not work as expected for
PDF 2.0 output.
- 2022-05-11 (bug #7259)
Fixed a performance problem in pCOS and PDI triggered by /Root dictionaries
containing a large number of direct objects.
- 2022-05-06 (bug #7256)
U+200D ZERO WIDTH JOINER was replaced with a space glyph if the font did
not contain a glyph for U+200D. Now the glyph is dropped in this case
without a replacement.
- 2022-05-06 (bug #7249)
Invalid PDF output was produced when using certain rare OpenType CFF CID
fonts with subsetting where the Private DICT data was not stored adjacent
to the Font DICT INDEX data. So far this was only observed with the
Noto Serif Japanese and Noto Sans Japanese fonts by Google that were produced
in 2015. Newer versions of these fonts do not trigger the problem.
- 2022-05-05 (bug #7255)
Opening an image in info mode without closing the corresponding image
handle before a subsequent call to PDF_close_pdi_document() caused the
unexpected exception "Internal error: assertion failed in file 'p_pdi.c',
line 1941".
- 2022-05-05 (bug #7250)
Invalid PDF/UA output was created when importing pages from multiple
PDF/UA import documents where the heading levels on subsequent pages from
different documents violated the PDF/UA heading level requirements. Now this
problem is detected and an error message is produced.
- 2022-04-28 (bug #7248)
Improved the error message when calling PDF_open_pdi_page() after opening
an encrypted document with PDF_open_pdi_document() with option
"requiredmode=minimum" and/or option "infomode=true" while not specifying
a password. The error message now says explicitly that this is not possible
in info mode.
- 2022-04-28 (bug #7246)
Using the 32-bit .NET Universal package on Windows in Debug mode resulted
in the .NET runtime error message "A call to PInvoke function
'PDFlib_dotnet!PDFlib_dotnet.PDFlib+PInvoke::PDF_new_csharp' has unbalanced
the stack.
- 2022-04-28 (bug #7242)
PDF_open_pdi_page() in PDF/UA mode didn't detect some structure problems
related to the heading hierarchy on the imported page vs. headings in the
output document:
- Only the top element of the imported hierarchy was tested against the
existing header hierarchy, which could lead to incorrect acceptance of
the page.
- The check for consistent heading levels was wrong if the output document
had been closed and more pages were imported into another output document
(e.g. when splitting a document page by page), which could lead to
incorrect acceptance of the page.
Both problems could result in PDF/UA validation errors of the generated
output document.
- 2022-04-25 (bug #7241)
Importing a page containing a link twice from a PDF/UA-1 document into
a PDF/UA-1 output document resulted in invalid PDF/UA-1 output.
- 2022-04-19 (bug #7243)
The Perl and Ruby bindings on macOS were not built as Universal macOS
Binaries.
- 2022-04-01 (bug #7238)
When XMP document metadata was created and multiple document information
dictionary entries were created with non-ASCII keys, it could happen that
not all document information dictionary entries were mirrored in XMP.
- 2022-03-28 (feature #2972)
Added several CJK fonts with builtin metrics which can be used without
external font files provided "embedding=false" is supplied.
- 2022-03-17 (bug #7236)
The PDFlib 10.0.0p2 package for MVS was broken.
================================
PDFlib 10.0.0p2 (March 17, 2022)
================================
- 2022-03-17 (bug #7219)
The .NET Universal package was not working with the 32-bit .NET runtime.
- 2022-03-17 (bug #7225)
A call to PDF_create_gstate() with log level "warning=3" triggered an
unjustified warning "Function must not be called in 'page' scope".
- 2022-03-17 (bug #7233)
Restored support for Perl 5.26.
- 2022-03-15 (bug #7232)
Linking with PDFlib on MVS failed because of unresolved symbols.
- 2022-03-10 (bug #7228)
Calling PDF_info_textflow() with the "used" keyword after PDF_fit_textflow()
had been called another time after "_stop" had been returned by the preceding
call to PDF_fit_textflow() could cause an out-of-bounds read and potentially
a crash.
- 2022-03-09 (bug #7227)
Caused by an incorrect mapping it could happen that the glyph U+1E9E LATIN
CAPITAL LETTER SHARP S was displayed when glyph U+00DF LATIN SMALL LETTER
SHARP S was requested if a glyph for U+1E9E was available in the font.
- 2022-03-07 (bug #7224)
When the SVG "kerning" property contained an explicit length value the SVG
import still applied auto-kerning from font kerning tables if available. Now
the correct behavior is implemented that the "kerning" length value modifies
the inter-glyph spacing while font kerning tables are ignored.
- 2022-03-04 (bug #7218)
Importing a tagged PDF document while creating tagged PDF output could
cause the unexpected exception "Internal error: assertion failed in file
'pc_output.c', line 3208".
- 2022-03-04 (bug #7214)
When importing PDF documents with large tagged PDF data structures while
creating PDF/A-1 output it could happen that the PDF/A-1 limit of a maximum
of 8192 array elements was exceeded, resulting in invalid PDF/A-1 output.
- 2022-03-04 (bug #7223)
For a font with kerning information it could happen that kerning was applied
although option "kerning=false" was set, for example with justified text
alignment or when option "xadvancelist" was specified. Also for SVG import
option "kerning=false" means now that font-based kerning according to
SVG property "kerning=auto" is not applied.
- 2022-02-24 (bug #7216)
An empty /Next array in an action dictionary caused an unexpected
exception "Internal error: assertion failed in file 'pc_output.c', line 2843"
when importing the corresponding page with annotations.
===================================
PDFlib 10.0.0p1 (February 15, 2022)
===================================
- 2022-02-15 (bug #7199)
When form fields were imported from a PDF page that was rotated via the
page dictionary's /Rotate key, the orientation of the resulting form fields
in the output was incorrect.
- 2022-02-15 (bug #7209)
Using fit method "fit" or "slice" with PDF/UA output caused the unexpected
error message "Images and graphics must be tagged as 'Artifact', 'Figure' or
'Formula' in PDF/UA".
- 2022-02-15 (bug #7195)
When importing form fields from a document that contained the same form
field multiple times, this triggered the error message "name already exists
in the document". Now the field is imported once and subsequent instances
of the same field are ignored with a warning.
- 2022-02-15 (bug #7206)
If an image contained a clipping path, a user-specified clipping path
specified via suboption "clipping" of PDF_fit_image() option "matchbox"
was ignored. Now both clipping paths are applied.
- 2022-02-10 (bug #7202)
Creating too many tagged items of structure type "TOCI" could result in
an unexpected error message or a crash.
- 2022-02-09 (bug #7200)
The Windows 64-bit package for PHP 8.1 x64 TS contained the 32-bit DLL
instead of the 64-bit variant.
- 2022-02-07 (bug #7197)
The attempt to fill a form field that could not be imported resulted in the
unexpected error message "Parameter 'type' is empty". Now the fill attempt
is ignored with a warning.
- 2022-02-04 (bug #7196)
Importing invalid check box form fields with inconsistent field
characteristics flags caused an error message "Font not specified for field
'C:N < 25'".
- 2022-02-04 (bug #7194)
For source builds the OpenSSL sources are no longer distributed separately.
Now they are part of the PDFlib source package.
- 2022-02-04 (bug #7191)
Importing invalid form fields with loops in the field hierarchy caused
the error message "Parameter 'type' is empty".
- 2022-02-04 (bug #7189)
The PDFlib 10.0.0 .NET NuGet package contained an incorrect version
number in the package description.
- 2022-02-04 (bug #7187)
Importing an annotation with a color value outside of the allowed range
between 0 and 1 caused an error message "Floating point parameter '...' has
bad value ..." in PDF_end_page_ext(). Now the color values are clamped to
the allowed range.
- 2022-02-04 (bug #7186)
pCOS generates an artificial name for broken form fields that lack a
required /T entry. The attempt to fill such a field caused a crash.
- 2022-02-04 (bug #7181)
When a name of an imported form field contained a '#' character, the
attempt to fill that field could fail with the error message
"Imported form field '...' does not exist (required for filling)".
- 2022-02-02 (bug #7084)
Drop illegal trailing null bytes in the names of imported JavaScript and
other entries in the /Names tree to avoid creation of U+FFFD REPLACEMENT
CHARACTER in the output.
- 2022-01-31 (bug #7142)
OpenType color fonts: kerning pairs involving the space glyph were missing
in the generated Type 3 font.
- 2022-01-28 (bug #7179)
Creating an empty Type 3 font caused an unexpected exception.
================================
PDFlib 10.0.0 (January 25, 2022)
================================
- Implements a variety of new features and options, see PDFlib Tutorial
and API Reference for details.
- Removes a number of long deprecated API methods and options; see
PDFlib Migration Guide for details.