public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/perl-GD] rawhide: Update to 2.91
@ 2026-08-16 10:27 Paul Howarth
0 siblings, 0 replies; only message in thread
From: Paul Howarth @ 2026-08-16 10:27 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/perl-GD
Branch : rawhide
Commit : 3fcbef1f1325a1c3054329f322ced28294c9695a
Author : Paul Howarth <paul@city-fan.org>
Date : 2026-08-16T11:26:59+01:00
Stats : +70/-2 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/perl-GD/c/3fcbef1f1325a1c3054329f322ced28294c9695a?branch=rawhide
Log:
Update to 2.91
- New upstream release 2.91
- Add JXL, UHDR support for new libgd-2.4.0 (from git)
- JXL: newFromJxl/newFromJxlData readers, jxl() writer
(lossless/distance/effort), magic-byte autodetection in new()
- UHDR: New GD::UHDR class (newFromFile/newFromData, width/height/hasGainMap,
resize/crop/rotate/mirror, file/write, getSdr)
- Work around libgd 2.4.0 gd.h no longer declaring gdImageBoundsSafe()
- IMAGEQUANT: trueColorToPaletteSetMethod/SetQuality and the GD_QUANT_*
constants for the libimagequant-backed quantizer
- Guard for installations without libimagequant
- Fix imagequant feature autodetection in Makefile.PL (libimagequant surfaces
in gdlib.pc's Libs.private, not Requires.private
- Embed rpath (Linux) and fix stale blib/lib/GD/Image.pm so 'make test'
reliably exercises the just-configured libgd (GH#21 test infra); fix GD_LIQ
detection from the deprecated gdlib-config script
- Add Affine transformations (GH#21): GD::Image affine matrix builders
(affineIdentity/Scale/Rotate/ShearHorizontal/ShearVertical/Translate/
Concat/Invert/Flip/Expansion/Rectilinear/Equal/ApplyToPoint) and
transformAffineGetImage/transformAffineCopy/transformAffineBoundingBox,
wrapping gdAffine*/gdTransformAffine* (libgd >= 2.1.0); fix GD_AFFINE_*
constant visibility (same enum/#ifdef issue as GD_QUANT_*)
- Add more previously-unbound libgd methods (libgd >= 2.1.0 unless noted):
paletteToTrueColor, crop, cropAuto, cropThreshold, colorReplace,
colorReplaceArray, colorReplaceThreshold, convolution, resolution;
cloneImage, getTrueColorPixel, perceptualDiff (libgd >= 2.4.0); clone() now
uses the native gdImageClone() when available, fixing truecolor-ness loss on
the old new()+copy() fallback; Fix GD_CROP_* constant visibility (same
enum/#ifdef issue as GD_QUANT_*)
- Animated WebP support (libgd >= 2.4.0): new GD::WebpAnimWriter
(new/addImage/finish, wrapping gdWebpWriteOpenPtr/AddImage/PtrFinish) and
GD::WebpAnimReader (newFromData/info/nextImage, wrapping
gdWebpReadOpenCtx/GetInfo/NextImage) classes
- Animated/multi-image JXL support (libgd >= 2.4.0): new GD::JxlAnimWriter
(new/addImage/finish, wrapping gdJxlWriteOpenPtr/AddImage/PtrFinish) and
GD::JxlAnimReader (newFromData/info/nextImage, wrapping
gdJxlReadOpenCtx/GetInfo/NextImage) classes, mirroring
GD::WebpAnimReader/Writer
- Multi-page TIFF support (libgd >= 2.4.0): new GD::TiffMultiWriter
(new/addImage/finish, wrapping gdTiffWriteOpenPtr/AddImage/PtrFinish) and
GD::TiffMultiReader (newFromData/info/nextImage, wrapping
gdTiffReadOpenCtx/GetInfo/NextImage) classes, mirroring
GD::WebpAnimReader/Writer (pages have no per-page delay; nextImage()
returns a page-info hashref instead); also adds the GD_TIFF_* writer option
constants (colorspace, compression, resolution unit, alpha type)
- Per-format header introspection (libgd >= 2.4.0): new
GD::Image->pngInfoData/jpegInfoData/gifInfoData/bmpInfoData/avifInfoData/
heifInfoData class methods, wrapping
gd{Png,Jpeg,Gif,Bmp,Avif,Heif}GetInfoCtx; each reads just the container
facts (dimensions, bit depth, and similar) from an in-memory buffer without
fully decoding the image
- Fixed a longstanding bug in the in-memory gdIOCtx used by every
newFrom*Data()/*InfoData() method: its getC() callback never advanced the
read position, so any decoder reading a buffer byte-by-byte (as the new
bmpInfoData()'s BMP header parser does) would spin re-reading the first
byte forever; PNG, JPEG, GIF, WebP, TIFF, JXL, AVIF and HEIF decoding were
unaffected because they read through the bulk getBuf() callback instead,
which was already correct
- Worked around inconsistent success/failure return conventions across
libgd's new Get*InfoCtx functions: gdPngGetInfoCtx, gdJpegGetInfoCtx,
gdAvifGetInfoCtx and gdHeifGetInfoCtx all return 0 on success despite two
of their own header comments claiming the opposite, while gdGifGetInfoCtx
and gdBmpGetInfoCtx return 1 on success as documented
- t/affine.t: Compare affineInvert(scale(2,3))'s result with an epsilon
(1e-6) instead of exact is_deeply, since -Duselongdouble perls compute the
division in extended precision, giving a last-few-ULP-different 1/3 than a
plain double (GH#68)
---
diff --git a/perl-GD.spec b/perl-GD.spec
index b050995..0c85e25 100644
--- a/perl-GD.spec
+++ b/perl-GD.spec
@@ -1,5 +1,5 @@
Name: perl-GD
-Version: 2.87
+Version: 2.91
Release: 1%{?dist}
Summary: Perl interface to the GD graphics library
License: GPL-1.0-or-later OR Artistic-2.0
@@ -102,6 +102,74 @@ make test TEST_VERBOSE=1
%{_mandir}/man3/GD::Simple.3*
%changelog
+* Sun Aug 16 2026 Paul Howarth <paul@city-fan.org> - 2.91-1
+- Update to 2.91
+ - Add JXL, UHDR support for new libgd-2.4.0 (from git)
+ - JXL: newFromJxl/newFromJxlData readers, jxl() writer
+ (lossless/distance/effort), magic-byte autodetection in new()
+ - UHDR: New GD::UHDR class (newFromFile/newFromData, width/height/hasGainMap,
+ resize/crop/rotate/mirror, file/write, getSdr)
+ - Work around libgd 2.4.0 gd.h no longer declaring gdImageBoundsSafe()
+ - IMAGEQUANT: trueColorToPaletteSetMethod/SetQuality and the GD_QUANT_*
+ constants for the libimagequant-backed quantizer
+ - Guard for installations without libimagequant
+ - Fix imagequant feature autodetection in Makefile.PL (libimagequant surfaces
+ in gdlib.pc's Libs.private, not Requires.private
+ - Embed rpath (Linux) and fix stale blib/lib/GD/Image.pm so 'make test'
+ reliably exercises the just-configured libgd (GH#21 test infra); fix GD_LIQ
+ detection from the deprecated gdlib-config script
+ - Add Affine transformations (GH#21): GD::Image affine matrix builders
+ (affineIdentity/Scale/Rotate/ShearHorizontal/ShearVertical/Translate/
+ Concat/Invert/Flip/Expansion/Rectilinear/Equal/ApplyToPoint) and
+ transformAffineGetImage/transformAffineCopy/transformAffineBoundingBox,
+ wrapping gdAffine*/gdTransformAffine* (libgd >= 2.1.0); fix GD_AFFINE_*
+ constant visibility (same enum/#ifdef issue as GD_QUANT_*)
+ - Add more previously-unbound libgd methods (libgd >= 2.1.0 unless noted):
+ paletteToTrueColor, crop, cropAuto, cropThreshold, colorReplace,
+ colorReplaceArray, colorReplaceThreshold, convolution, resolution;
+ cloneImage, getTrueColorPixel, perceptualDiff (libgd >= 2.4.0); clone() now
+ uses the native gdImageClone() when available, fixing truecolor-ness loss on
+ the old new()+copy() fallback; Fix GD_CROP_* constant visibility (same
+ enum/#ifdef issue as GD_QUANT_*)
+ - Animated WebP support (libgd >= 2.4.0): new GD::WebpAnimWriter
+ (new/addImage/finish, wrapping gdWebpWriteOpenPtr/AddImage/PtrFinish) and
+ GD::WebpAnimReader (newFromData/info/nextImage, wrapping
+ gdWebpReadOpenCtx/GetInfo/NextImage) classes
+ - Animated/multi-image JXL support (libgd >= 2.4.0): new GD::JxlAnimWriter
+ (new/addImage/finish, wrapping gdJxlWriteOpenPtr/AddImage/PtrFinish) and
+ GD::JxlAnimReader (newFromData/info/nextImage, wrapping
+ gdJxlReadOpenCtx/GetInfo/NextImage) classes, mirroring
+ GD::WebpAnimReader/Writer
+ - Multi-page TIFF support (libgd >= 2.4.0): new GD::TiffMultiWriter
+ (new/addImage/finish, wrapping gdTiffWriteOpenPtr/AddImage/PtrFinish) and
+ GD::TiffMultiReader (newFromData/info/nextImage, wrapping
+ gdTiffReadOpenCtx/GetInfo/NextImage) classes, mirroring
+ GD::WebpAnimReader/Writer (pages have no per-page delay; nextImage()
+ returns a page-info hashref instead); also adds the GD_TIFF_* writer option
+ constants (colorspace, compression, resolution unit, alpha type)
+ - Per-format header introspection (libgd >= 2.4.0): new
+ GD::Image->pngInfoData/jpegInfoData/gifInfoData/bmpInfoData/avifInfoData/
+ heifInfoData class methods, wrapping
+ gd{Png,Jpeg,Gif,Bmp,Avif,Heif}GetInfoCtx; each reads just the container
+ facts (dimensions, bit depth, and similar) from an in-memory buffer without
+ fully decoding the image
+ - Fixed a longstanding bug in the in-memory gdIOCtx used by every
+ newFrom*Data()/*InfoData() method: its getC() callback never advanced the
+ read position, so any decoder reading a buffer byte-by-byte (as the new
+ bmpInfoData()'s BMP header parser does) would spin re-reading the first
+ byte forever; PNG, JPEG, GIF, WebP, TIFF, JXL, AVIF and HEIF decoding were
+ unaffected because they read through the bulk getBuf() callback instead,
+ which was already correct
+ - Worked around inconsistent success/failure return conventions across
+ libgd's new Get*InfoCtx functions: gdPngGetInfoCtx, gdJpegGetInfoCtx,
+ gdAvifGetInfoCtx and gdHeifGetInfoCtx all return 0 on success despite two
+ of their own header comments claiming the opposite, while gdGifGetInfoCtx
+ and gdBmpGetInfoCtx return 1 on success as documented
+ - t/affine.t: Compare affineInvert(scale(2,3))'s result with an epsilon
+ (1e-6) instead of exact is_deeply, since -Duselongdouble perls compute the
+ division in extended precision, giving a last-few-ULP-different 1/3 than a
+ plain double (GH#68)
+
* Sat Aug 15 2026 Paul Howarth <paul@city-fan.org> - 2.87-1
- Update to 2.87
- Fix OpenBSD support (GH#63)
diff --git a/sources b/sources
index 6fddeea..05e815d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (GD-2.87.tar.gz) = 1054447b4cf5981969992b562cbee95e2c06aaa664482e534b80c4cc448ce47433137db0e8d734af1dbceb454a2304f8d6d2213af31206dfc885cadb20407b13
+SHA512 (GD-2.91.tar.gz) = 85b3fb9fdcacfb0950f6763bcf7b1190794370028d3ae52c60e63ce143b2922880843f9fd7b813df89fb531c647b1e6bd4f1483a1ac21027447aa4666d770f0b
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-16 10:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-16 10:27 [rpms/perl-GD] rawhide: Update to 2.91 Paul Howarth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox