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