FreeImage Changelog

What's new in FreeImage 3.17.0

Mar 24, 2015
  • FreeImage now uses LibPNG 1.6.16
  • FreeImage now uses LibWebP 0.4.2 (GIT patch 2015-03-03)
  • FreeImage now uses LibRaw 0.17-Alpha1
  • FreeImage now uses LibTIFF 4.0.4 (CVS patch 2015-01-26)
  • FreeImage now uses OpenEXR 2.2.0
  • removed VS 2003 project files : this IDE is no longer supported because of its outdated C++ compiler
  • added FreeImage_ConvertFromRawBitsEx
  • added RAW_UNPROCESSED load flag to the RAW plugin
  • added FreeImage_SetMetadataKeyValue
  • added support for metadata writing to the JPEG-JXR plugin
  • added VS 2013 project files
  • added support for PNG tIME metadata (read/write, handle as Exif-TIFF DateTime)
  • added explicit definition of endianness and color order in compiler options
  • added FIQ_LFPQUANT quantizer algorithm
  • added support for input 32-bit dib in Wu quantizer
  • added FreeImage_ConvertToRGBAF and updated conversions in FreeImage_ConvertToType
  • added FreeImage_ConvertToRGBA16 and updated conversions in FreeImage_ConvertToType
  • added FreeImage_CreateView
  • added FreeImage_RescaleRect
  • added FreeImage_GetMemorySize
  • ICO plugin: improved support for Vista icons
  • fixed a rounding error in RGB to greyscale conversion formula
  • fixed Makefile.fip so that it installs symlinks
  • fixed a potential memory access violation in PluginHDR Save function
  • fixed a bug in FreeImage_LookupSVGColor ("green" color was not found)
  • fixed TARGA signature validation for TARGA versions < 2.0
  • fixed FreeImage_GetScanLine not working with very large images on x64 platforms
  • improved PluginTIFF compatibility with LibTIFF 4
  • fixed a segfault occuring on a corrupted animated GIF
  • improved memory allocation in PluginRAW
  • fixed loading/saving of TIFF containing a GPS IFD inside the Exif-TIFF metadata segment (the solution is to ignore the tag)
  • fixed a bug in FreeImage_JPEGCrop*/_JPEGTransform* functions occuring when using the same source / destination filename
  • fixed a bug with output image quality in PluginJP2::Save & PluginJ2K::Save functions (regression from FI 3.15.4)
  • improved RAW file format detection
  • fixed FreeImage_GetFileType behavior with ANI file formats
  • improved Exif reader so as to handle Exif IFD with a suspicious offset (can occur with maker notes)
  • fixed a memory leak in PluginPNG:Save occuring when dealing with invalid PNG files
  • fixed PNG plugin handling of 16-bit grayscale + 16-bit alpha images
  • fixed PNG plugin handling of 16-bit grayscale + tRNS chunk images
  • fixed PNG plugin handling of 24-bit RGB + tRNS chunk images
  • fixed PNG plugin handling of 1-,4-bit greyscale/palettized + tRNS chunk images
  • fixed invalid directory delimiter in include statement (mingw-w64) in Source/LibJXR/image/sys/strcodec.h
  • fixed Invalid condition for defining _byteswap_ulong (mingw-w64) in Source/LibJXR/image/sys/strcodec.c
  • fixed FreeImage_Get*Mask not returning 0 for greyscale images
  • fixed loading of external plugins when using UNICODE directory names to store plugins
  • fixed loading of JXR files when using memory streams
  • added Dist/ directory creation in Makefiles (in case it is not already present)

New in FreeImage 3.16.0 (Mar 24, 2014)

  • FreeImage now uses LibJPEG 9a
  • FreeImage now uses LibPNG 1.6.10
  • FreeImage now uses LibTIFF 4.0.3 (CVS patch 2013-11-30)
  • FreeImage now uses LibRaw 0.16.0
  • FreeImage now uses OpenJPEG 2.1.0 (SVN patch 2748)
  • FreeImage now uses ZLib 1.2.8
  • FreeImage now uses LibWebP 0.4.0 (GIT patch 2014-03-21)
  • FreeImage now uses LibJXR 1.1 (GIT patch 2014-01-31)
  • added loading & writing support for the JPEG-XR image format (also support the FIF_LOAD_NOPIXELS flag)
  • added loading & writing support for the WebP image format (also support the FIF_LOAD_NOPIXELS flag)
  • added support for FIF_LOAD_NOPIXELS flag to JP2/J2K plugins
  • added basic support for BMP v4, v5 in BMP plugin (useful for drag and drop from another application such as Firefox)
  • FreeImage_GetFIFFromFilename[U] : added support for *rgb,*rgba,*.bw extensions to the SGI plugin
  • improved FreeImage_Rescale speed & spatial accuracy
  • improved JPEG transform functions and added new functions (see below)
  • added FreeImage_JPEGTransformFromHandle
  • added FreeImage_JPEGTransformCombined
  • added FreeImage_JPEGTransformCombinedU
  • added FreeImage_JPEGTransformCombinedFromMemory
  • fixed FreeImage_CloneTag behavior with ASCII data handling (regression that appeared in 3.15.2, affect metadata writing)
  • ICO plugin: avoid using the AND mask when loading a 32-bit (already transparent) icon
  • HDR plugin: removed a comma at end of an enumerator list
  • added missing in OpenEXR (needed with mingw)
  • added support for FIC_MINISWHITE color type inside FreeImage_GetColorType for FIT_UINT16 images
  • FreeImage_Rescale : fixed a NULL-pointer access bug occurring for transparent images with a linear palette
  • fixed PSD parser when reading PSD files with corrupted resources
  • fixed TIFF plugin truncating metadata tag on loading if type is ASCII and it's value is of variable size (TIFF_VARIABLE)
  • fixed loading of TGA 8-bit files with a palette size greater that 256
  • TIFF parser didn't initialize the memory with zeros in stripped mode. This caused random bitmap data if the tiff file was corrupted/invalid
  • improved TGA file detection when the format version is < 2.0
  • fixed compiler errors on 64bit Linux (INT64 / UINT64 type mismatches and missing prototype for memset)
  • fixed FreeImage_Get*Mask() returning 0 on 24-, -32-bit FIT_BITMAP images
  • fixed GIF plugin LZW decoder failing on some images
  • fixed the TIFF plugin against race condition when used simultaneously in multiple threads
  • fixed float rgb[a]f conversions when pixels are out of [0..1] range

New in FreeImage 3.15.3 (Mar 19, 2012)

  • FreeImage now uses LibPNG 1.5.9
  • FreeImage now uses LibTIFF 4.0.1
  • added new 64-bit data types FIINT64, FIUINT64
  • added new 64-bit metadata types to FREE_IMAGE_MDTYPE (FIDT_LONG8, FIDT_SLONG8, FIDT_IFD8)
  • added support for 64-bit metadata types to FreeImage_TagToString
  • fixed a regression with Fax3/Fax4 TIFF images on 64-bit OS (introduced with FI 3.15.2)
  • fixed some gcc 4.4.6 warnings
  • refactored FreeImage_InsertPage and FreeImage_AppendPage
  • fixed JP2/J2K plugins with saving of 32-bit dib with a fully opaque layer
  • fixed loading of CMYK JPEG when using JPEG_CMYK load flag (need to invert pixels)
  • fixed loading of CMYK PSD when using PSD_CMYK load flag

New in FreeImage 3.15.2 (Feb 20, 2012)

  • FreeImage now uses LibRaw 0.14.5
  • FreeImage now uses LibPNG 1.5.8
  • FreeImage now uses LibJPEG 8d
  • FreeImage now uses ZLib 1.2.6
  • FreeImage now uses OpenJPEG 1.5.0 (released version)
  • FreeImage now uses LibTIFF 4.0.0
  • removed dependency on LibMNG 1.0.10 (MNG and JNG files are now handled internally)
  • replaced the MNG plugin with a new MNG internal FreeImage plugin (with read support)
  • added a new JNG internal FreeImage plugin (with read/write support)
  • added write support to the TIFF plugin for EXIF_MAIN tags
  • added new Exif maker note tags
  • added TAG_COMPRESSION conversion to FreeImage_TagToString
  • enabled the use of multi-component transforms (MCT) in J2K and JP2 saving
  • refactored PluginICO in order to correctly support Windows Vista 256x256 icons
  • added minor speed improvements to FreeImage_Rescale
  • fixed dib allocation failing with very large images (i.e. more than 4GB)
  • fixed FreeImage_CloneTag behavior with ASCII data handling
  • improved JPEG plugin behavior with very big images
  • improved JPEG plugin behavior with C++ exceptions
  • fixed loading of palettized PNG with more that 256 palette entries
  • fixed a bug inside IFF plugin occuring when loading a 24-bit dib with a palette
  • fixed a bug with loading of PNG images containing a cHRM chunk (regression introduced by LibPNG 1.5.4 and fixed by LibPNG 1.5.5)
  • allowed loading of PNG with benign errors (such as images with too many IDATs)
  • fixed some incorrect MIME types returned by FreeImage_GetFIFMimeType
  • fixed loading of Exif with bad thumbnail data or with a bad first offset size