All Versions
Latest Version
Avg Release Cycle
180 days
Latest Release
748 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

    • 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


    โž• 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:

    ๐Ÿš€ Issues fixed in this release:

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


    Full commits list since 2.2.2

  • 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:

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


    Full commits list since 2.2.1

  • v2.2.1 Changes

    May 20, 2016

    ๐Ÿš‘ security hotfix!

  • v2.2.0 Changes

    May 20, 2016

    ๐Ÿ›  Mostly bugfixes including some security issues.