See also INFO/Changes-ver_2 for changes released for PDF::API2, and
incorporated into PDF::Builder.
See also INFO/Changes_2020 for earlier version 3 release logs.
3.023 2021-07-15
lib/PDF/Builder.pm, INFO/DEPRECATED
FUTURE: Builder.pm's "default()" method may need to be renamed.
Some time after Perl 5.26, Perl::Critic started flagging "default" as a
reserved keyword. This needs to be further investigated.
.github/workflows/test.yml Update PATH for new ImageMagick level.
lib/PDF/Builder/Resource/XObject/Image/TIFF_GT.pm, t/tiff.t
Fix for ticket #154 by @carygravel, and add a test for bilevel+alpha
where rows are not filling out a full array of bytes.
version (for distribution build), README.md, lib/PDF/Builder.pm,
t/00-all-usable.t, .gitignore
Modified to prereq Perl 5.22 instead of 5.20 (is 6 years old now). Also
Graphics::TIFF minimum upped to 16 and Image::PNG::Libpng to 0.57 due
to changes. Keep files up to date on GitHub so can successfully run
without full build. Put "version" in GitHub as it's now fairly involved
and I don't want to accidentally lose it!
Makefile.PL, MANIFEST, META.json (add), META.yml (add), .perl-version
(deleted), optional_update.pl (add), README.md
Modify build process to have optional prereqs properly installed. Also
ensure that mandatory and optional prereqs are consistently updated and
handled. Since the vast majority of users will use the default of
installing all optional prereqs, the selection process has been moved
from Makefile.PL to optional_update.pl (for those manually running
Makefile.PL). optional_update.pl updates Makefile.PL, META.json, and
META.yml upon selection of which (if any) optional prerequisites are to
be installed on a manual run of Makefile.PL. I don't want to risk
getting META.json and META.yml (needed for properly installing the
"recommends" optionals) out of sync by failing to update them at install
from Makefile.PL, so all are now shipped with all optionals selected.
.gitattributes, .github/workflows/test.yml
Added .gitattributes to stop certain line-end changes that were causing
CI tests to fail, add Windows tests to CI. From @carygravel.
lib/PDF/Builder/Content.pm
Problem with use of "pi" constant caused a warning on compile in one
CPAN smoke test (Perl 5.20 for one tester). Changed "-pi" in one
expression to "-1*pi" and hopefully that will silence the messages.
lib/PDF/Builder.pm, lib/PDF/Builder/Page.pm, INFO/DEPRECATED,
t/annotate-deprecations.t
Per PDF::API2, simplify Builder's ' fixed' to ' opened'. Rename
'openpage()' to 'open_page()' and deprecate old name.
INFO/Changes-ver_2, t/pdf.t
Per changes in PDF::API2, sync up with 2.040 release. There are still
a small number of changes not implemented (yet) in PDF::Builder, which
either appear to be unnecessary, or the underlying code has changed too
much to cleanly port the changes without a massive rewrite.
t/deprecations.t
Update for new PDF::API2 t-tests and a number of other deprecated items.
Test both deprecated interfaces and their replacements.
lib/PDF/Builder/Content/Text.pm, examples/BarCode-Boxes-Content-
ContentText-Rotated.pl, examples/021_synfonts-022_truefonts-
022_truefonts_diacrits_utf8-023_cjkfonts-024_bdffonts-040_annotation
Per 3.022 change of lead() to leading(), update examples to use leading()
instead of lead().
In releases 3.020 through 3.022, INFO/DEPRECATED erroneously listed
PDFStr() and PDFUtf() as being scheduled for removal after October 2022.
These two routines ARE deprecated (use PDFString() instead), but there
are currently no plans to REMOVE them.
.gitignore, lib/PDF/Builder.pm, lib/PDF/Builder/Basic/PDF/File.pm, t/tiff.t
Some minor cleanup, fix TIFF tests because grouped skips don't seem to
work properly on Strawberry Perl, initialize $xmin in File.pm to prevent
error message.
lib/PDF/Builder/Basic/PDF/Filter/LZWDecode.pm, lib/PDF/Builder.pm,
lib/PDF/Builder/Resource/XObject/Image/TIFF-TIFF_GT.pm,
lib/PDF/Builder/Resource/XObject/Image/TIFF/File-File_GT.pm,
t/filter-lzwdecode.t, t/tiff.t, t/00-all-usable.t, Makefile.PL
Further improvements to TIFF LZW file handling [ref GH 151 and PR 156] for
single and multi-strip, and horizontal predictor. Continuation of work
to stop converting LZW-compressed TIFF to Flate. Code by @carygravel.
Increase required Graphics::TIFF version to 10 due to fix in GT.
examples/README, examples/examples.output
Discuss the issue of close, heavy lines in the example bar codes appearing
to merge or "blot" together. This is at least partially a consequence of
lower resolution display screens (rounding errors), and although the bars
separate when printed, I'm still concerned that they will not be reliably
scannable.
All files (.pm and .pl) containing $LAST_UPDATE can now access this
string from outside the file, in the same manner as $VERSION. The
variable declarator has been changed from 'my' to 'our' during package
build.
INFO/Changes-ver_2, /lib/PDF/Builder/Basic/PDF/String.pm, t/string.t
Per PDF::API2 changes related to [RT 134957], change some regex flags
to fix encoding of \n in a PDF string.
t/tiff.t add version check (not just if installed) for ImageMagick and
Ghostscript. Some smoke tests apparently blew up for using too low
level versions. If too low version, or any problems determining the
version, tiff.t fails gracefully by skipping those tests. From
@carygravel.
t/tiff.t use a temporary directory for various test files, enabling use
from a Read-Only directory and/or running tests in parallel (from
@ppisar, #153).
3.022 2021-03-27
docs/buildDoc.pl add "end of page" (###) marker to make it clear that
you're seeing the bottom of the HTML page.
Update build process to ensure consistent "unix" formatting of most
human-readable files (#150). Some non-CPAN builds were complaining
about MS-DOS format (CRLF line ends) on some files.
t/tiff.t, lib/PDF/Builder/Resource/XObject/Image/TIFF-TIFF_GT.pm
Per #148, update by carygravel to stop converting LZW-compressed TIFFs
to Flate compression (unnecessary, as PDF directly supports LZW, and
there were supposedly some edge-case bugs in the code).
== REMOVED == still problems, development under way
t/tiff.t per #143, update by carygravel to enable proper TIFF testing
on all platforms including Windows.
lib/PDF/Builder/Content-Lite.pm, INFO/DEPRECATED, t/content.t
Per PDF::API2, deprecated lead() and replace by leading(). Lite's
textlead() deprecated and replaced by textleading().
t/text.t
Per PDF::API2 add two tests for charspace and wordspace override, and
18 more tests for basic text calls.
lib/PDF/Builder/Content/Text.pm, INFO/KNOWN_INCOMP
Per PDF::API2, add paragraphs() as an alias for section(). Document some
minor inconsistencies in option names and behavior introduced with
these changes.
lib/PDF/Builder/Annotation.pm, lib/PDF/Builder/Basic/PDF/Dict-File.pm,
lib/PDF/Builder/Resource/Font/SynFont.pm, examples/041_annot_fileattach,
examples/060_transparency, examples/resources/sample_55.pdf,
examples/resources/HarfBuzz_example.pdf
Output 'endobj' starting its own line. Some PDF validators raise a
stink if endobj continues a line with other commands on it.
While we're at it, put 'stream' starting its own line, too.
Fix two examples that failed to validate. There is a third failure, but
it appears to be an issue with PDF/A disallowed content (embedded files),
not a bug in PDF production here.
lib/PDF/Builder/Resource/Font/SynFont.pm, INFO/DEPRECATED,
examples/025_unifonts, lib/PDF/Builder/Docs.pm
Fix uninitialized value (missingwidth), remove -slant (deprecated).
lib/PDF/Builder/Resource/XObject/Image/TIFF.pm
Corrected some bilevel color inverts.
lib/PDF/Builder/Resource/XObject/Image/TIFF/File_GT.pm,
lib/PDF/Builder/Resource/XObject/Image/TIFF_GT.pm
Some improvements to deal with inverted colors (black/white) on certain
TIFF images. Now G3 and G4 (CCITT Fax) get flipped to the correct
colors, as does uncompressed bilevel. There are still some TIFF cases
which are not fully properly dealt with; we are still working on them.
lib/PDF/Builder/Annotation.pm, examples/040_annotation,
examples/041_annot_fileattach
Add "-opacity" option to control the opacity (opaqueness) of the icon,
where the default of 1.0 is fully opaque, and 0.0 is fully transparent.
Add "markup" method to implement "highlighted" text annotations, per
[GitHub #142]. These include "Highlight" (in the manner of a highlighter
marker), "Squiggly" (squiggly underline), "Underline", and "StrikeOut".
These behave like a "text" annotation, but instead of an icon, the
document text is highlighted.
lib/PDF/Builder/Content.pm improve -strikethru placement
INFO/LICENSE, README.md, lib/PDF/Builder/Basic/PDF/Array-Bool-Dict-
File-Filter-Name-Null-Number-Objind-Page-Pages-String-Utils.pm
Update file headers on code originally written by Martin Hosken to
reflect that he has granted permission to use the MIT license instead
of the Perl Artistic License on his code. This change was made so
that Red Hat could have licensing compatible with LGPL for releasing
PDF::Builder as part of Fedora.
INFO/Changes_2020, Changes, MANIFEST, lib/PDF/Builder.pm, README.md,
INFO/LICENSE
2021 copyright, archive 2020 changes.
(see INFO/Changes_2020 for earlier changes)
(see INFO/Changes-ver_2 for changes to PDF::API2 up through 2.033)