All Versions
13
Latest Version
Avg Release Cycle
180 days
Latest Release
918 days ago

Changelog History
Page 1

  • v2.3.3 Changes

    September 12, 2021

    🔄 Changed

    • 👌 support for the legacy/testing gd image formats is disabled by default

    🛠 Fixed

    • ⚡️ #759 update cmake to generate config.h in the build dir
    • 🚀 #756 2.3.3 release
    • #750 gdPutBuf return value check
    • 🏗 #729 HEIF builds fail with latest distros
    • #678 segfault in heif tests due to missing label.heic
    • #677 Test failure avif/compare_avif_to_png with libavif-0.8.2
    • #661 imagecopyresampled() produce artifacts on transparent PNG
    • 🏁 #611 Fixes to build v2.3.0 on Windows with MinGW-w64
    • ⚡️ #415 optimize option in gif animation causes segfault
    • 0️⃣ #331 _gdContributionsCalc() always uses DEFAULT_BOX_RADIUS
    • #320 gdImageRotateInterpolated() converts the source image to truecolor
    • 🏁 #249 CMake and Makefiles build broken on Windows
    • #93 gdImageScaleTwoPass() looses top row and left column
  • v2.3.2 Changes

    March 06, 2021

    🛠 Fixed

    • gif: allow decodin when both Global and Local Colormaps (#494)

    ➕ Added

    • 👍 avif: Support for AVIF images via libavif (#557)
    • 👍 heif: Support for HEIF/AVIF images via libheif (#395) (#557)
    • 🏗 webp: Drop ../deps/ search when building with cmake
    • 🏁 Windows: Remove unused snprintf fallback
  • v2.3.1 Changes

    January 30, 2021

    🛠 Fixed

    • 🛠 Fix potential integer overflow detected by oss-fuzz
    • 🛠 Fix #615 using libraqm
    • 🛠 Fix #303: gdlib.pc: use Requires instead of Libs (#537)
    • 🛠 Fixed #472: Adjusting CMakeLists.txt (#582)
    • 🛠 Fix #615: gdImageStringFT() fails for empty strings as of libgd 2.3.0 (#633)
    • 🛠 Fix typo but preserve BC
    • Compute average in gdGuessBackgroundColorFromCorners properly (#483)
    • CMakeLists.txt: zlib is enabled implicitly
    • src/config.h.cmake: replace #cmakedefine01 with #define in macro ENABLE_GD_FOORMATS (#622)
    • 🛠 gdlib.pc: use prefixes for pkgconfig file
    • 🚚 cmake: remove required host includes (#617)
    • 🚚 Move initial declaration out of for loop
    • distribute getlib script
    • 👉 Make gd_nnquant.c less likely to introduce duplicate definitions (#601)
    • 👍 webp: support pkg-config file
    • gd_io: replace internal Putchar with gdPutC
    • gd_io: trim unused Putword function

    ➕ Added

    • ➕ Add REQUIRED to FIND_PACKAGE(ZLIB)
    • README: add some libraries info (#631)
    • 👍 VMS/README.VMS: Add dropping support information (#614)
  • v2.3.0 Changes

    March 22, 2020

    🔒 Security

    • 🆓 Potential double-free in gdImage*Ptr(). (CVE-2019-6978)
    • gdImageColorMatch() out of bounds write on heap. (CVE-2019-6977)
    • Uninitialized read in gdImageCreateFromXbm(). (CVE-2019-11038)
    • 🆓 Double-free in gdImageBmp. (CVE-2018-1000222)
    • 👯 Potential NULL pointer dereference in gdImageClone(). (CVE-2018-14553)
    • Potential infinite loop in gdImageCreateFromGifCtx(). (CVE-2018-5711)

    🛠 Fixed

    • 🛠 Fix #597: add codecov support

    • 🛠 Fix #596: gdTransformAffineCopy run error

    • 🛠 Fix #589: Install dependencies move to .travis.yml

    • 🛠 Fix #586: gdTransformAffineCopy() segfaults on palette images

    • 🛠 Fix #585: gdTransformAffineCopy() changes interpolation method

    • 🛠 Fix #584: gdImageSetInterpolationMethod(im, GD_DEFAULT) inconsistent

    • 🛠 Fix #583: gdTransformAffineCopy() may use unitialized values

    • 🛠 Fix #533: Remove cmake modules

    • 🛠 Fix #539: Add RAQM support for cmake

    • 🛠 Fix #499: gdImageGifAnimAddPtr: heap corruption with 2 identical images

    • Fix #486: gdImageCropAuto(…, GD_CROP_SIDES) crops left but not right

    • 🛠 Fix #485: auto cropping has insufficient precision

    • 🛠 Fix #479: Provide a suitable malloc function to liq

    • 🛠 Fix #474: libtiff link returns 404 HTTP code

    • 🛠 Fix #450: Failed to open 1 bit per pixel bitmap

    • Fix #440: new_width & new_height exception handling

    • 🛠 Fix #432: gdImageCrop neglecting transparency

    • 🛠 Fix #420: Potential infinite loop in gdImageCreateFromGifCtx

    • 🛠 Fix #411: gd_gd.c format documentation appears to be incorrect

    • 🛠 Fix #369: Fix new_a init error in gdImageConvolution()

    • 🛠 Fix #351: gdImageFilledArc() doesn't properly draw pies

    • 🛠 Fix #338: Fatal and normal libjpeg/libpng errors not distinguishable

    • 🛠 Fix #169: Update var type to hold bigger w&h for ellipse

    • 🛠 Fix #164: update doc files install directory in CMakeLists.txt

    • ✅ Correct some test depend errors

    • ⚡️ Update cmake min version to 3.7

    • ✂ Delete libimagequant source code download action in CMakeLists.txt

    • 👌 Improve msys support

    • 🛠 Fix some logic error in CMakeLists.txt

    • Remove the following macro: HAVE_STDLIB_H, HAVE_STRING_H, HAVE_STDDEF_H, HAVE_LIMITS_H, HAVE_ERRNO_H, AC_C_CONST

    ➕ Added

    • ✅ test cases for following API: gdImageCopyResized(), gdImageWebpEx(), gdImageCreateFromGd2PartPtr(), gdImageCloneMatch(), gdImageColorClosestHWB(), gdImageColorMatch(), gdImageStringUp(), gdImageStringUp16(), gdImageString(), gdImageString16(), gdImageCopyMergeGray(), gdImageCopyMerge()
  • v2.2.5 Changes

    August 30, 2017

    🔒 Security

    • 🆓 Double-free in gdImagePngPtr(). (CVE-2017-6362)
    • Buffer over-read into uninitialized memory. (CVE-2017-7890)

    🛠 Fixed

    • 🛠 Fix #109: XBM reading fails with printed error
    • 🛠 Fix #338: Fatal and normal libjpeg/ibpng errors not distinguishable
    • 🛠 Fix #357: 2.2.4: Segfault in test suite
    • 🛠 Fix #386: gdImageGrayScale() may produce colors
    • 🛠 Fix #406: webpng -i removes the transparent color
    • 🛠 Fix Coverity #155475: Failure to restore alphaBlendingFlag
    • 🛠 Fix Coverity #155476: potential resource leak
    • 🛠 Fix several build issues and test failures
    • 🛠 Fix and reenable optimized support for reading 1 bps TIFFs

    ➕ Added

    • 🏗 The native MSVC buildchain now supports libtiff and most executables
  • v2.2.4 Changes

    January 18, 2017

    🔒 Security

    • gdImageCreate() doesn't check for oversized images and as such is prone to DoS vulnerabilities. (CVE-2016-9317)
    • 🆓 double-free in gdImageWebPtr() (CVE-2016-6912)
    • potential unsigned underflow in gd_interpolation.c
    • DOS vulnerability in gdImageCreateFromGd2Ctx()

    🛠 Fixed

    • 🛠 Fix #354: Signed Integer Overflow gd_io.c
    • 🛠 Fix #340: System frozen
    • 🛠 Fix OOB reads of the TGA decompression buffer
    • 🛠 Fix DOS vulnerability in gdImageCreateFromGd2Ctx()
    • 🛠 Fix potential unsigned underflow
    • 🛠 Fix double-free in gdImageWebPtr()
    • 🛠 Fix invalid read in gdImageCreateFromTiffPtr()
    • 🛠 Fix OOB reads of the TGA decompression buffer
    • 🛠 Fix #68: gif: buffer underflow reported by AddressSanitizer
    • Avoid potentially dangerous signed to unsigned conversion
    • 🛠 Fix #304: test suite failure in gif/bug00006 [2.2.3]
    • Fix #329: GD_BILINEAR_FIXED gdImageScale() can cause black border
    • 🛠 Fix #330: Integer overflow in gdImageScaleBilinearPalette()
    • 🛠 Fix 321: Null pointer dereferences in gdImageRotateInterpolated
    • 🛠 Fix whitespace and add missing comment block
    • 🛠 Fix #319: gdImageRotateInterpolated can have wrong background color
    • 🛠 Fix color quantization documentation
    • 🛠 Fix #309: gdImageGd2() writes wrong chunk sizes on boundaries
    • Fix #307: GD_QUANT_NEUQUANT fails to unset trueColor flag
    • Fix #300: gdImageClone() assigns res_y = res_x
    • 🛠 Fix #299: Regression regarding gdImageRectangle() with gdImageSetThickness()
    • 💅 Replace GNU old-style field designators with C89 compatible initializers
    • 🛠 Fix #297: gdImageCrop() converts palette image to truecolor image
    • 🛠 Fix #290: TGA RLE decoding is broken
    • 🛠 Fix unnecessary non NULL checks
    • 🛠 Fix #289: Passing unrecognized formats to gdImageGd2 results in corrupted files
    • 🛠 Fix #280: gdImageWebpEx() quantization parameter is a misnomer
    • Publish all gdImageCreateFromWebp*() functions and gdImageWebpCtx()
    • 🛠 Fix issue #276: Sometimes pixels are missing when storing images as BMPs
    • 🛠 Fix issue #275: gdImageBmpCtx() may segfault for non-seekable contexts
    • 🛠 Fix copy&paste error in gdImageScaleBicubicFixed()

    ➕ Added

    • 📚 More documentation
    • 📚 Documentation on GD and GD2 formats
    • ✅ More tests
  • v2.2.3 Changes

    July 22, 2016

    🚀 We welcome the 2.2.3 release around a month after 2.2.2 (we are getting consistent). Another important
    milestone in the GD 2.2 series.

    🔒 Security related fixes:
    This flaw is caused by loading data from external sources (file, custom ctx, etc) and are hard to validate before calling libgd APIs:

    • 🛠 fix php bug 72339, Integer Overflow in _gd2GetHeader (CVE-2016-5766)
    • bug #248, fix Out-Of-Bounds Read in read_image_tga
    • 📜 gd: Buffer over-read issue when parsing crafted TGA file (CVE-2016-6132)

    Using application provided parameters, in these cases invalid data causes the issues:

    • Integer overflow error within _gdContributionsAlloc() (CVE-2016-6207)
    • 🛠 fix php bug 72494, invalid color index not handled, can lead to crash ( CVE-2016-6128)
    • 👌 improve color check for CropThreshold

    ⚡️ Important update

    • 🔀 gdImageCopyResampled has been improved. Better handling of images with alpha channel, also brings libgd in sync with php's bundled gd.

    🛠 Numerous other fixes have been applied. The scale and rotation functions have been greatly improved as well.

    ⚡️ This is a recommended update.

    On a sidenote, we have now a gitter channel if you have any questions or like to discuss with us, in addition to our "#libgd" freenode channel:
    Chat

    🚀 Issues fixed in this release:
    https://github.com/libgd/libgd/issues?q=is%3Aissue+milestone%3AGD-2.2.3+is%3Aclosed

    You can download the 2.2.3 version of GD Graphics Library from here or using tag:

    🚀 https://github.com/libgd/libgd/releases/tag/gd-2.2.3

    Full commits list since 2.2.2
    gd-2.2.2...gd-2.2.3

  • v2.2.2 Changes

    June 24, 2016

    🚀 Exactly a month after 2.2.1 we welcome the 2.2.2 release. An important
    milestone in the GD 2.2 series.

    🔒 Security related fixes:

    • Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow (CVE-2016-5767)
    • #215 Stack overflow with gdImageFillToBorder (CVE-2015-8874)
    • NULL Pointer Dereference at _gdScaleVert

    ✅ We also like to mention to consider the GD and GD2 image formats only for development or testing
    🚚 purposes. We do plan to deprecate it in GD 2.3 and remove it in GD 3.0. Its existence is not justified
    anymore as other formats provide lossless storage for both palette and truecolor images in a much more
    efficient way.

    🛠 Numerous other fixes have been applied. The scale and rotation functions have been greatly improved as well.

    ⚡️ This is a recommended update.

    🚀 Issues fixed in this release:
    https://github.com/libgd/libgd/issues?q=milestone%3A%22GD+2.2.2%22+is%3Aclosed

    You can download the 2.2.2 version of GD Graphics Library from here or using tag:

    🚀 https://github.com/libgd/libgd/releases/tag/gd-2.2.2

    Full commits list since 2.2.1
    gd-2.2.1...gd-2.2.2

  • v2.2.1 Changes

    May 20, 2016

    🚑 security hotfix!

  • v2.2.0 Changes

    May 20, 2016

    🛠 Mostly bugfixes including some security issues.