What's New for FreeImage

* : fixed
- : removed
! : changed
+ : added

May 7, 2005 - 3.7.0
! FreeImage now uses libTIFF 3.7.2
! [Ryan Rubley] improved FreeImage_OpenMultiBitmap
+ [Detlev Vendt] added FreeImage_ZLibGUnzip
+ [Herve Drolon] added new image data types FIT_RGB16, FIT_RGBA16, FIT_RGBF, FIT_RGBAF
+ [Herve Drolon] FreeImage_FlipHorizontal & FreeImage_FlipVertical now work with any bitmap type
+ [Herve Drolon] added conversions to float and double in FreeImage_ConvertToType
+ [Herve Drolon] added FreeImage_ConvertToRGBF
+ [Herve Drolon] added support for 16-, 48- and 96-bit images to FreeImage_Rescale
+ [Ryan Rubley] added FreeImage_ColorQuantizeEx
+ [Ryan Rubley] added FIMD_ANIMATION and FIDT_PALETTE
+ [Ryan Rubley] added brand new PluginGIF with full animation multipage and metadata support
+ [Herve Drolon] added support for FIC_MINISWHITE 8-bit images to FreeImage_Rescale
+ [Herve Drolon] added HDR (High Dynamic Range) format (loader & writer)
+ [Herve Drolon] added support for 48-bit images in TIFF plugin
+ [Herve Drolon] added support for 48-bit images in PNG plugin
+ [Herve Drolon] added tone mapping operators (see below)
+                added FreeImage_ToneMapping
+                added FreeImage_TmoDrago03
+                added FreeImage_TmoReinhard05                                  
+ [Petr Pytelka] added FreeImage_JPEGTransform
* [Herve Drolon] allowed loading of corrupted JPEG with a premature end of file
* [Herve Drolon] fixed a memory leak with loading of exif JPEG images
* [Detlev Vendt] changed some 'pointer-to-int' casts to 'pointer-to-long' for 64bit machines
* [Ryan Rubley] fixed a memory leak in the multipage API
* [Ryan Rubley] updated VB6 wrapper generation for new functions
* [Herve Drolon] fixed incorrect behavior when reading JPEG comments containing special characters
* [Herve Drolon] fixed incorrect behavior when reading JPEG ICC profiles with a size greater than 64 KB
* [Herve Drolon] fixed a bug in TIFF plugin when loading malformed multipage TIFF
* [Herve Drolon] fixed PluginTIFF not being thread safe

February 20, 2005 - 3.6.1
* [Ryan Rubley] fixed a memory leak in the metadata API
* [luedi] improved the robustness of FIBITMAP allocations

February 13, 2005 - 3.6.0
! FreeImage now uses libMNG 1.0.9
! [Herve Drolon] improved the speed of FreeImage_Rescale
! [Herve Drolon] improved FreeImage_RotateClassic (more compact code, a little faster)
! [Herve Drolon] improved the metadata API using tag accessors
+ [Detlev Vendt] added LZW support to PluginGIF:Save
+ [Herve Drolon] added VS.Net 2003 project files
+ [Herve Drolon] added VERSIONINFO resource to the DLL
+ [Herve Drolon] added support for CMYK JPEG on loading
+ [Petr Supina] added 16-bytes alignment to FIBITMAP palette and pixels starting address
+ [Petr Supina] added support for MMX/SSE2 code in LibJPEG (based on Mozilla/Firefox code)
+ [Herve Drolon] added TIFF_JPEG compression flag to the TIFF plugin
+ [Detlev Vendt] added FreeImage_ZLibGZip
+ [Detlev Vendt] added FreeImage_ZLibCRC32
* [Detlev Vendt] fixed PluginPNG not being thread safe
* [Herve Drolon] fixed compiler warning C4018 occuring with VS.Net 2003

December 29, 2004 - 3.5.3
! FreeImage now uses ZLib 1.2.2
! FreeImage now uses libPNG 1.2.8
! FreeImage now uses libTIFF 3.7.1
! [Herve Drolon] improved FreeImage_RotateClassic
! [Detlev Vendt] improved FreeImage_Rescale (more compact code, preserving 8-bpp colors)
+ [Herve Drolon] added support for transparency saving in ICO plugin
+ [Herve Drolon] added support for 1-bit images to FreeImage_RotateClassic
+ [Herve Drolon] added FreeImage_SetDotsPerMeterX and FreeImage_SetDotsPerMeterY
* [Nan Feng] fixed memory leak in FreeImage_DeleteTag (internal stuff)
* [Nigel Stewart] added conditional #pragma with #ifdef _MSC_VER / #endif
* [Herve Drolon] fixed the '65536 lines' limit on loading in PNM plugin

November 27th, 2004 - 3.5.2
* [Herve Drolon] fixed a second bug in FreeImage_Clone function

November 26th, 2004 - 3.5.1
+ [Riley McNiff] added FreeImage_ConvertTo4Bits
* [Herve Drolon] fixed a buffer overrun with some ILBM images
* [Riley McNiff] fixed a potential problem when reading TIFF resolution info
* [Dimitar Atanasov] fixed a bug in FreeImage_Clone function
* [Dimitar Atanasov] fixed several bugs in TIFF plugin

November 1st, 2004 - 3.5.0
! FreeImage now uses libPNG 1.2.7
! FreeImage now uses libTIFF 3.7.0
! FreeImage now uses libMNG 1.0.8
! [Herve Drolon] improved TIFF LZW compression using a predictor
! [Detlev Vendt] FreeImagesPlus: corrected references to FreeImage.h and FreeImage.lib
+ [Herve Drolon] added support for loading/saving of 8-bit transparent TIFF
+ [Riley McNiff] added support for 4-bit dib in FreeImage_Paste
+ [Herve Drolon] added support for memory IO streams (see below)
+                added FreeImage_OpenMemory
+                added FreeImage_CloseMemory
+                added FreeImage_LoadFromMemory
+                added FreeImage_SaveToMemory
+                added FreeImage_TellMemory
+                added FreeImage_SeekMemory
+                added FreeImage_AcquireMemory
+                added FreeImage_GetFileTypeFromMemory
+ [Petr Pytelka] added FreeImage_GetFIFMimeType to the plugins function list
+ [Herve Drolon] added ICC profile support to JPEG plugin
+ [Herve Drolon] added support for metadata (see below)
+                added FreeImage_SetMetadata
+                added FreeImage_GetMetadata
+                added FreeImage_GetMetadataCount
+                added FreeImage_TagToString
+                added FreeImage_FindFirstMetadata
+                added FreeImage_FindNextMetadata
+                added FreeImage_FindCloseMetadata
* [Riley McNiff] fixed a bug with FreeImage_SetPixelIndex and 4-bit images
* [Petr Pytelka] fixed returned value in FreeImage_CloseMultiBitmap
* [Petr Pytelka] fixed index of new page in FreeImage_InsertPage
* [Aaron Shumate] fixed a minor bug in PNG plugin
* [Aaron Shumate] fixed a bug in IFF plugin (odd-length chunks)
* [Rupert Hewitt] fixed FreeImage not compiling on National Instruments Cvi Ccompiler
* [Herve Drolon] fixed a bug in IFF plugin (ILBM data)
* [Fred Harju] added a Makefile for Solaris 9
* [Roddy Pratt] fixed FreeImage not linking under Borland C++ Builder
* [Vadim Alexandrov] fixed a memory leak in the multipage API
* [Herve Drolon] fixed a bug with DDS plugin behaviour on Big Endian OS
* [Herve Drolon] fixed a bug with conversion of JPEG resolution info on saving

July 8th, 2004 - 3.4.0
! [Jim Keir] improved FreeImage_FlipVertical function
! [Herve Drolon] LZW compression is now enabled in FreeImage
+ [Karl-Heinz Bussian] added constants to FreeImage.h to get at compile time the library version
+ [Karl-Heinz Bussian] added color lookup functions for X11 and SVG
+ [Herve Drolon] added TIFF tags TIFF_CCITTFAX3, TIFF_CCITTFAX4 and TIFF_LZW
+ [Detlev Vendt] added support for CMYK TIFF files with alpha channel
+ [Detlev Vendt] added (re-introduction of) PluginGIF
* [Herve Drolon] fixed a bug with loading of FAX TIFF images (introduced with LibTIFF 3.6.1)
* [Herve Drolon] fixed a bug in Floyd-Steinberg dithering algorithm
* [Herve Drolon] fixed a bug in Targa plugin save function
* [Herve Drolon] fixed a bug in FreeImage_AdjustCurve function
* [Ryan Rubley] fixed a bug with FreeImage_Rescale's filters accuracy
* [Ryan Rubley] fixed a bug in NN quantizer
* [Herve Drolon] fixed a bug with TIFF files containing additional Photoshop alpha channels
* [James Rossfeld] fixed a memory leak with some PSD images
* [Herve Drolon] fixed a bug with saving of 32-bit non transparent PNG images
* [Alexandr Zamaraev] fixed FreeImage not compiling with mingw32
* [Herve Drolon] fixed FreeImage not compiling with VC.NET (pow function needs casts)

May 2, 2004 - 3.3.0
! [Ryan Rubley] FreeImage has been ported to MacOSX and should also work on other big endian processors
+ [Ryan Rubley] rewrote XPM plugin (better load support) and added save support
+ [Ryan Rubley] added ICO_MAKEALPHA flag to ICO plugin
+ [Ryan Rubley] Set/GetPixelColor now works with 16-bit pixels (555 or 565)
+ [Herve Drolon] PNG plugin now supports loading and saving of unsigned 16-bit greyscale images
* [Herve Drolon] fixed a bug with loading of 8-bit and 16-bit PNG with a 8-bit alpha channel
* [Herve Drolon] fixed a bug in NN quantizer algorithm with handling of 4-byte boundary alignment.
* [Herve Drolon] fixed a bug in PluginIFF Validate function
* [Herve Drolon] fixed a minor design issue in FreeImage_GetFIFFromFormat
* [Brad Schick] fixed some compiler warnings with VC++ 7.1
* [Herve Drolon] fixed a bug with saving of 8-bit palettized images to 24-bit JPEG (channel inversion)

March 16, 2004 - 3.2.1
! [Volker Gärtner] improved the DDS plugin
! [Herve Drolon] FreeImage_Rescale now works on 8-, 24- and 32-bit images
! [Herve Drolon] FreeImage_Copy now works on 1-, 4-, 8-, 16-, 24- and 32-bit images
* [Floris van den Berg] fixed a bug in the MultiPage cache mechanism
* [Herve Drolon] fixed a bug with loading/saving of 8-bit transparent tga images
* [Herve Drolon] fixed a bug with loading of 1-bit TIFF (introduced with LibTIFF 3.6.1)

February 18, 2004 - 3.2.0
! FreeImage now uses libTIFF 3.6.1
+ [Herve Drolon] added FreeImage_HasBackgroundColor
+ [Herve Drolon] added FreeImage_GetBackgroundColor
+ [Herve Drolon] added FreeImage_SetBackgroundColor
+ [Herve Drolon] added FreeImage_Composite
+ [Herve Drolon] added ICC profile support to PNG plugin
+ [Herve Drolon] added background color support to PNG plugin
+ [Volker Gärtner] added support for DDS format (loader)
* [Steve Johnson] improved FreeImage_OpenMultiBitmap/FreeImage_CloseMultiBitmap
* [Steve Johnson] fixed a bug in FreeImage_InsertPage
* [Herve Drolon] fixed a bug with JPEG compressed TIFF (red/blue swapping)
* [Herve Drolon] fixed a bug in PluginTarga where 8-bit images were saved incorrectly

January 26, 2004 - 3.1.0
! FreeImage now uses ZLib 1.2.1
+ [Herve Drolon] added support for integer, real and complex image types (see below)
+                added FREE_IMAGE_TYPE enum
+                added FreeImage_AllocateT
+                added FreeImage_GetImageType
+                added FreeImage_FIFSupportsExportType
+                added FreeImage_ConvertToStandardType
+                added FreeImage_ConvertToType
+                added load/save support of all image types to TIFF plugin
+ [Peter Lemmens] added a Validate function to TARGA plugin
+ [Herve Drolon] added FreeImage_GetPixelIndex / FreeImage_SetPixelIndex
+ [Herve Drolon] added FreeImage_GetPixelColor / FreeImage_SetPixelColor
+ [Herve Drolon] added FreeImage_GetComplexChannel / FreeImage_SetComplexChannel
* [Serge Ivanchenko] TIFF_DEFLATE compression is now enabled in TIFF plugin
* [Herve Drolon] fixed a bug in NeuQuant color reduction algorithm 

November 16, 2003 - 3.0.4
* [Tobias Persson] fixed FreeImage_GetChannel not working with FICC_ALPHA channel
* [Detlev Vendt] fixed a minor bug with PNG plugin and PNG_IGNOREGAMMA flag
* [Detlev Vendt] fixed a memory leak in PNG plugin save routine
* [Detlev Vendt] fixed JPEG validation problem with .jpe files
* [Ryan Rubley] added Source/LibTIFF/tif_extension.c to LibTIFF (needed for MacOSX)
* [Herve Drolon] improved error handling in TIFF plugin
+ [Karl-Heinz Bussian] added FreeImage_IsLittleEndian
+ [Karl-Heinz Bussian] added JPEG save support for 8-bit miniswhite bitmaps (transparent conversion to minisblack)
+ [Karl-Heinz Bussian] FreeImage_GetColorType now recognizes 8-bit FIC_MINISWHITE images
! [Herve Drolon] FreeImage_Rescale now supports rescaling of 32-bit images with alpha channel
! [Herve Drolon] FreeImage_Invert now supports inversion of 32-bit images with alpha channel
! [Herve Drolon] FreeImage_AdjustCurve now supports working with FICC_ALPHA channel

November 2, 2003 - 3.0.3
* [Ryan Rubley] improved makefile for Linux
* [Ryan Rubley] fixed FreeImage not compiling under MacOSX
* [Detlev Vendt] fixed still present inconsistancy with 32bpp transparency handling
* [Herve Drolon] fixed incorrect loading of 4-bit greyscale images in TIFF plugin

October 27, 2003 - 3.0.2
! FreeImage now uses libMNG 1.0.6
* [Herve Drolon] fixed a boolean test in PluginCUT returning always false
* [Herve Drolon] fixed a warning in PluginIFF generated with g++
* [Linus Tan] fixed a bug in FreeImage_Copy
* [Herve Drolon] fixed FreeImage not compiling under Linux (thanks to Michal)

October 20, 2003 - 3.0.1

! FreeImage now uses libTIFF 3.6.0
* [Detlev Vendt] fixed incorrect definition of the FREE_IMAGE_FORMAT enum
* [Detlev Vendt] fixed a potential crash problem with Load / Save routines
* [Herve Drolon] fixed incorrect loading of 16-bit greyscale images in TIFF plugin
* [Dennis Lim] fixed a memory leak in Floyd & Steinberg dithering routine
* [Herve Drolon] fixed a bug in BMP loader (incorrect loading of RLE4 bmp)
* [Detlev Vendt] fixed some inconsistancy with 32bpp transparency handling
+ [David Boland] added a C# wrapper
// Linux compatibility issues
- [Michal Novotny] removed the round function in Utilities.h
! [Herve Drolon] replaced the round routine by the clamp routine in PluginPCD
+ [Herve Drolon] added _itoa version in Utilities.h
* [Michal Novotny] fixed untyped consts not accepted by g++ in PluginBMP

September 8, 2003 - 3.0.0
- [Herve Drolon] removed deprecated functions
- [Herve Drolon] removed deprecated flags (TARGA_LOAD_RGB555, ICO_*, except ICO_DEFAULT)
- [Herve Drolon] removed the FreeImage pointer table (internal stuff)
+ [Herve Drolon] added a C++ wrapper
+ [Herve Drolon] added the FreeImage Toolkit (see below)
+                added FreeImage_Rescale
+                added FreeImage_RotateClassic
+                added FreeImage_RotateEx
+                added FreeImage_FlipHorizontal
+                added FreeImage_FlipVertical
+                added FreeImage_Invert
+                added FreeImage_AdjustCurve
+                added FreeImage_AdjustGamma
+                added FreeImage_AdjustBrightness
+                added FreeImage_AdjustContrast
+                added FreeImage_GetHistogram
+                added FreeImage_GetChannel
+                added FreeImage_SetChannel
+                added FreeImage_Copy
+                added FreeImage_Paste
+ [Karl-Heinz Bussian] added XPM loader
+ [Karl-Heinz Bussian] added flags parameter to FreeImage_CloseMultiBitmap
+ [Karl-Heinz Bussian] added JPEG save support for 8-bit palettized bitmaps (transparent conversion to 24-bit)
+ [Herve Drolon] added interface to ZLib compression functions
+ [Herve Drolon] added ICO format to the multipage API (loader & writer)
+ [Herve Drolon] added a MIME type to all plugins
* [Karl-Heinz Bussian] fixed incorrect conversion from 1-bit FIC_MINISWHITE bitmaps to 8-bit
* [Herve Drolon] fixed a bug in FreeImage_CloseMultiBitmap
* [Herve Drolon] fixed a potential memory leak in conversion functions (8-, 24-, 32-bit)
* [Robert Walker] fixed incorrect conversion from 16-bit to 24-bit and 16-bit to 32-bit
* [blurble] fixed TIFF validate signature problem (3DS files were recognized as TIFF)
* [Kurt Jankowski-Tepe] fixed FreeImage not compiling on MinGW / LCC WIN32
* [Jani Peltonen] fixed bug in PluginTARGA where 32-bit bitmaps are not always correctly flipped 
* [Detlev Vendt] fixed a bug with TIFF (memory leak with ICC profiles)

May 25, 2003 - 2.6.1
+ [Detlev Vendt] added FIC_CMYK to FREE_IMAGE_COLOR_TYPE
+ [Detlev Vendt] added ICC profile support to the library (see below)
+                added FreeImage_GetICCProfile
+                added FreeImage_CreateICCProfile
+                added FreeImage_DestroyICCProfile
+                added FIICCPROFILE & FIICCPROFILE flags
+                added plugin function FreeImage_FIFSupportsICCProfiles
+ [Detlev Vendt] added ICC profile support for TIFF
+ [Herve Drolon] added XBM (X11 Bitmap Format) support : loading
* [Herve Drolon] fixed incorrect IFF file detection (thanks Floris)
* [Herve Drolon] fixed incorrect conversion from 1/4-bit greyscale bitmaps to 8-bit
* [Herve Drolon] fixed a bug in TIFF writer when saving 1,4,8 bit dib (introduced in 2.6.0, sorry)
* [Herve Drolon] fixed a palette problem in TIFF loader when loading 1-bit b & w images
* [Herve Drolon] improved FreeImage_Dither to handle any bitdepth

May 5th, 2003 - 2.6.0
! FreeImage now uses libPNG 1.2.5
! FreeImage now uses libMNG 1.0.5
! [Markus Loibl] ActiveX wrapper is now distributed in a separate release (since 2.5.5)
! [Herve Drolon] the function FreeImage_Free is now deprecated : use FreeImage_Unload instead
! [Herve Drolon] updated the generic samples and removed deprecated functions
+ [Detlev Vendt] added CMYK support to TIFF save function
+ [Detlev Vendt] added TIFF_SAVE_CMYK flag constant
+ [Detlev Vendt] added 32-bit support (with transparency handling) to TIFF plugin
+ [Herve Drolon] added FreeImage_Threshold
+ [Herve Drolon] added FreeImage_Dither
+ [Herve Drolon] added FREE_IMAGE_DITHER parameter to FreeImage_Dither
* [Herve Drolon] improved error handling in PluginMNG
* [Herve Drolon] improved TIFF flags handling in TIFF save function
* [Herve Drolon] fixed a potential crash-problem in FreeImage_OutputMessage (in case of a null message)
* [Detlev Vendt] fixed a bug with the deprecated FreeImage_GetBitsRowCol (trailling backslash behind the DEPRECATE macro)

July 24th, 2002 - 2.5.5
! FreeImage now uses libPNG 1.2.4
! FreeImage now uses libMNG 1.0.4
+ [Markus Loibl] added ActiveX wrapper

June 22th, 2002 - 2.5.4
* [Timothy Roughton] fixed FreeImage not compiling on LCC WIN32
* [Markus Loibl] fixed PluginTIFF sometimes saving with wrong X/Y resolution
* fixed crashbug when loading some RLE4 BMPs
! FreeImage now uses LibPNG 1.2.3
! [Markus Loibl] improved startup plugin locate handling code
! [Gerhard Gruber] made some changes so that FreeImage compiles on VC5
+ [Markus Loibl] added flags TIFF_PACKBITS, TIFF_DEFLATE, TIFF_ADOBE_DEFLATE and TIFF_NONE

May 21th, 2002 - 2.5.3
* fixed wrong colors when loading 16-bit grayscale TIFF
* fixed crash-problem with FreeImageQt
* fixed PluginTIFF saving some bitmaps flipped vertically
* [Laurent Rocher] fixed bug in FreeImage_GetLockedPageNumbers
* [Laurent Rocher] fixed bug in FreeImage_UnlockPage
! FreeImage now uses libpng 1.2.2
+ added TARGA save support
+ added BMP RLE8 save support

March 30th, 2002 - 2.5.2
* fixed bug in PluginTARGA where 32-bit bitmaps are not always correctly flipped
* fixed FreeImage_GetLockedPageNumber being mentioned in FreeImage.h
* fixed crash bug when handling read-only multipage bitmaps
- removed internal function FreeImage_GetExtraDataPointer
! FreeImage now uses zlib 1.1.4
+ added function FreeImage_GetLockedPageNumbers

March 2nd 2002 - 2.5.1
* fixed pluginTIFF not being able to save 32-bit bitmaps
* fixed not being able to save PNM bitmaps through the LoadXXX wrappers
* fixed a webcam generated BMP image being loaded with wrong colors
! FI_ReadProc, FI_WriteProc, etc. do now carry the DLL_CALLCONV flag
! the function FreeImage_GetBitsRowCol is now deprecated
! FreeImage_SetTransparencyTable now taken an integer as count parameter
! FreeImage_IsTransparent now always returns true for 32-bit bitmaps
! PluginPNG::Save now ignores the result of FreeImage_IsTransparent
! PluginTIFF now converts all 32-bit bitmaps to 24-bit, until our patch
  to fully support alpha in TIFF is applied in libtiff
+ added full multi-paging support
+ added octal and hexadecimal number support to FreeImage_OutputMessage

January 3rd 2002 - 2.5.0
* fixed bug in FreeImage_SaveJPEG
* fixed bug in FreeImage_LoadMNG
* fixed bug in FreeImage_LoadPNG
* fixed small Visual C++ 5.0 compiler issue in PluginMNG.cpp
* fixed FreeImage crashing on JPEG 6.0 encoded TIFFs
! FreeImage now uses libTIFF 3.5.7
! FreeImage now uses libPNG 1.2.1
! all the FreeImage_LoadXXX and FreeImage_SaveXXX functions are now deprecated
+ added Dr. Halo (*.cut) support
+ added printf-like format string support to SetOutputMessage
+ added basic multi-paging support: open, close, counting and grabbing
+ added deprecation manager
+ added FreeImage_Clone function

October 3rd 2001 - 2.4.2
* fixed missing BI_BITFIELDS support for 32-bit BMPs
* fixed bug in FreeImage_ConvertLine16_555_To16_565 and vice versa
* fixed bug in FreeImage_ConvertToRawBits
* fixed PluginTIFF behaving incorrectly on PHOTOMETRIC_MASK images
* fixed 16 bit TIFFs not loading correctly
* fixed incorrect handling of CCITTFAX3 and CCITTFAX4 TIFFs
* fixed JPEG encoded TIFFs not being supported
! [Yours Detlev] patched libTIFF to handle EXTRASAMPLE_UNSPECIFIED
! [Juergen Riecker] improved speed of PCX loading a lot
! rewrote parts of FreeImage to improve support for c
! the internal RGB555 and RGB565 macros now read BGR instead of RGB
! FreeImage now uses libMNG 1.0.3
! FreeImage now uses libPNG 1.2.0
! FreeImage_Save now opens files with the "w+b" flag
! renamed internal macro CalculateUsedColors to CalculateUsedPaletteEntries
! enabling/disabling plugins no longer has effect on FIFSupportsReading
! enabling/disabling plugins no longer has effect on FIFSupportsWriting
+ added flag PNG_IGNOREGAMMA
+ added function FreeImage_FIFSupportsExportBPP

July 30th 2001 - 2.4.1
* [Jan Nauta] fixed some plugin ids not being passed to plugins
* [Jan Nauta] fixed some functions being natively called instead of indirect
* [Jan Nauta] fixed BMPs with signature BA not being regognised
* [Remo Eichenberger] fixed memory leak in the plugin system
* fixed seek bug in PluginIFF's Validate
* fixed transparency issue in PluginPNG
* fixed uncaught exceptions in WUQuantizer and NNQuantizer
* fixed some problems with PluginTARGA
* fixed some problems with PluginICO
* fixed some problems with PluginBMP
! improved FreeImageQt's load function a little
! tell/seek control for validation is now handled inside the plugin framework

July 22th 2001 - 2.4.0
* (Yours Detlev) fixed memory leak in FreeImage_GetFIFFromFilename
* (Yours Detlev) fixed memory leak in the ICO plugin
* (Yours Detlev) fixed memory leak in the PNG plugin
* fixed potential NULL-pointer access bug in Plugin::AddNode
* fixed problems with linking the static lib
- removed LBM plugin. Its functionality is placed in the IFF plugin now
- removed FreeImage_GetFIFByIndex
! FreeImage now uses LibMNG 1.0.2
! FreeImage_SetTransparent now only enables alpha when the bitmap is 8 or 32 bit
! FreeImage_SetTransparencyTable now only enables alpha when the bitmap is 8 bit
! FreeImage_LoadLBM now uses Mark Sibly's IFF plugin
! FreeImage_SaveBMP now converts to 24-bit when bpp is 32 and transparency is off
! FreeImage_SaveJPEG now converts to 24-bit when bpp is 32 and transparency is off
! FreeImage_SavePNM now converts to 24-bit when bpp is 32 and transparency is off
! FreeImage_SaveTIFF now converts to 24-bit when bpp is 32 and transparency is off
+ [Mark Sibly] added IFF (ILBM) support
+ added basic support for Photoshop files
+ added mime type support (FreeImage_GetFIFFromMime)
+ added functions FreeImage_SetPluginEnabled and FreeImage_IsPluginEnabled
  Disabling plugins modifies the behaviour of the following functions:
    * FreeImage_LoadFromHandle
	* FreeImage_SaveToHandle
	* FreeImage_FIFSupportsReading
	* FreeImage_FIFSupportsWriting
	* FreeImage_GetFIFFromFormat
	* FreeImage_GetFIFFromFilename
	* FreeImage_GetFIFFromMime
	* FreeImage_Validate

June 30th 2001 - 2.3.2
* fixed missing "targa" extension in targa extension list
* fixed small memory leak in PluginList::AddNode
* fixed 32 bit PNG saving suddenly disappeared from the distro?
* fixed 'black line' bug in LoadTARGA
- removed project FreeImageM2
- removed FreeImage_Combine
! FreeImage_RegisterLocalPlugin now receives a FI_InitProc as first parameter
! FreeImage_GetFIFFromFilename now also takes the format id into account
! cleanup up the code a little for PluginPCD and PluginPCX
+ added static lib project

June 11th 2001 - 2.3.1
* [Machiel ten Brinke] fixed the loading of some 'ancient' TARGAs
* [Rui Lopes] fixed some bugs in the external plugin registration
* fixed the plugin system crashing when the init function isn't called
- removed project FreeImagePy
- removed 32 to 24 bit conversion while saving PNG in FreeImageQt
! the scanline convert functions are now accessable in plugins
! FreeImage now uses an STL map to store the plugin list
! PluginSDK.h is now integrated into FreeImage.h
! FreeImage_Register now receives the boolean parameter 'load_local_plugins_only'
! FreeImage now uses LibPNG 1.0.12
+ [Rui Lopes] added plugin for GIF reading/writing support
+ added function FreeImage_SetTransparencyCount
+ added support for 32 bit PNG saving
+ added FreeImage_RegisterLocalPlugin to allow plugins inside apps
+ added FreeImage_RegisterExternalPlugin to manually load DLLs
+ added plugin for JBIG reading/writing support

May 4th 2001 - 2.3.0
* [Martin Weber] fixed some small bugs in the TARGA and BMP plugins
* [Martin Weber] fixed tiny bug in new 16 bit conversions
* [Martin Weber] fixed load flag inconsistency in the TARGA plugin
* [Martin Weber] fixed plugin id / load reference inconsistency for PNM
* [Jan Nauta] fixed bug in conversion 16 -> 16
* [Herve Drolon] fixed small bug in 4-bit PCX loader
- removed code that loads BMPs renamed to ICO in PluginICO
! the flag TARGA_LOAD_RGB555 is now obsolete
! the plugin list is now sorted internally
! ConvertTo32Bits now stores the transparency table as alpha mask
! FreeImage now uses LibMNG 1.0,1
! FreeImage now uses LibPNG 1.0.11
+ added external plugin support via DLLs
+ added function FreeImage_GetFIFByIndex
+ added internal function CalculateScanLine
+ added transparency support for high-color PNGs
+ added transparency support for high-color TIFFs
+ added functions FreeImage_SetTransparent and FreeImage_IsTransparent
+ added constant FIC_RGBALPHA to FREE_IMAGE_COLOR_TYPE

April 5th 2001 - 2.2.0
* [Remo Eichenberger] fixed small bug concerning DLLMain and static LIB generation
* fixed 1-bit bitmaps not properly loading in FreeImageQt
* fixed bug in conversion 16->16
* FreeImage now uses LibPNG 1.0.10
! [Martin Weber] improved loading of BMP files
! [Martin Weber] improved loading of TARGA files
! [Dave Larson] improved visual appearance after 16 conversions
! FreeImageQt now converts 32-bit bitmaps to 24-bit when saving PNGs and JPEGs
+ added functions FreeImage_Initialise and FreeImage_DeInitialise
+ added internal plugins
+ re-added combine/alphablend functions

March 8th 2001 - 2.1.0
* [Martin Hemming] fixed bug in 16-bit TARGA loading code
* fixed PNG's with alpha masks not loading correctly
! FreeImage is now dual-licensed: the FI-License and the GPL license
! FreeImage now uses LibPNG 1.0.9
! FreeImage now uses LibTIFF 3.5.6 Beta
! FreeImage now uses LiBMNG 1.0.0
! changed the ordering of the FREE_IMAGE_FORMAT table
! improved linux support
! improved test script
+ added transparency table support to SavePNG
+ added BI_BITFIELDS support to LoadBMP and SaveBMP
+ added reading support for OS/2 2.x BMPs
+ added support for MNG and JNG reading using LibMNG
+ added support for Deluxe Paint reading
+ added 'hot swap' support to the Core DLL
+ added 'hot swap' support to FreeImage Qt
+ added functions GetFIFFromFormat and GetFIFFromFilename
+ added functions FIFSupportsReading and FIFSupportsWriting
+ added function GetFIFRegExpr

January 14th 2001 - 2.0.0
* [Herve Drolon] fixed a bug in the conversion 4->8
* [Herve Drolon] fixed a bug in metrics handling in SaveJPEG
* [Herve Drolon] fixed a bug in the return value of the function SaveTIFF
* fixed the presence of two WuQuantizer.cpp files in the distribution
* fixed bug where a BMP renamed to ICO isn't loaded
- removed FreeImage_ConvertToGreyScale. Use FreeImage_ConvertTo8Bits instead.
- removed the boolean parameters from all conversion routines
- removed page handling in LoadTIFF. A new range of functions will be added.
! The void pointers used in FreeImage are now typed
! LoadBMP now takes palettes in 24/32 bit images in respect
! All effects and MMX functions are now stored in a new library (FreeEffects)
! [Herve Drolon] fixed bug in FreeImage_GetColorType
! [Herve Drolon] improved PCX loader. It can now read 1, 4, 8 and 24-bit images
! [Manfred Tausch] improved FreeImage_Rotate
! [Luca Piergentili] fixed crash bug when saving some 1-bit TIFFs
! rewrote all bitdepth conversion routines making use of the new scanline converters
! rewrote bitdepth conversion in FreeImageQt (uses less memory)
! FreeImage is now compiled __stdcall
+ [Herve Drolon] added WBMP (Wireless Bitmap Format) support: loading and saving
+ [Herve Drolon] added 4, 16 and 32 bitdepth handling in GetColorType
+ [Herve Drolon] added handling of 8-bit greyscale bitmaps in SaveJPEG
+ [Herve Drolon] added NeuQuant color reduction algorithm to ColorQuantize
+ added DLL_CALLCONV (calling convention) flag
+ added bitmask support to all bitmaps
+ added a series of functions converting scanlines from one bitdepth to another
+ added functions ConvertFromRawBits and ConvertToRawBits
+ added project FreeImageM2: Magenta II MMT bindings for FreeImage
+ added basic foundation for linux support

December 2th 2000 - 1.4.4
* fixed small bug related to TIFFSetDirectory in FreeImage_LoadTIFF
* fixed FreeImage_Rotate sometimes clipping too much pixels
* fixed other small bug in FreeImage_Rotate
* fixed FreeImage_Clone not taking the FREEIMAGEHEADER in account
* fixed bug in FreeImageQt where 1-bit images are not correctly allocated
* fixed FreeImage_Crop not copying the palette
* fixed message function pointer crash bug
* fixed bug where the palette wasn't copied when saving in FreeImageQt
* fixed FreeImage_Clone not copying the transparency table
- removed FreeImage_WritePaletteEntry
! [Adam Gates] rewrote parts of FreeImage so that c compilers can handle it better
! FreeImageQt doesn't statically link with the FreeImage lib anymore
! FreeImageQt now uses atexit() to automatically unregister
! rewrote parts of FreeImage_LoadBMP to increase speed
+ [Markus Loibl] added metrics handling code to LoadBMP, LoadJPEG, LoadTIFF and LoadPCX
+ added metrics handling code to FreeImageQt
+ added functions FIQT_IsLoaded, FIQT_GetVersion and FIQT_GetCopyrightMessage
+ added conversion 1 -> 16
+ added FreeImage_SaveJPEG and JPEG quality settings
+ added FreeImage_GetBitsRowCol
+ added function FIQT_SetOutputMessage to FreeImageQt
+ added FreeImage_GetFileTypeFromExtension and FIQT_GetFileTypeFromFormat
+ added project FreeImagePy: python bindings for FreeImage

November 7th 2000 - 1.4.3
* fixed FreeImage_SavePNG crash bug
* fixed slighly corrupt size filter in FreeImage_Combine
* fixed FreeImage_SaveTIFF not saving 4-bit images
* [Herve Drolon] fixed bug in FreeImage_LoadTIFF
* [Herve Drolon] fixed bug in FreeImage_GetColorType
- removed fclose from FreeImage_SavePNM (who put it there?)
! rewrote FreeImage_Rotate
! FreeImageQt now automatically detects which formats are supported by Qt and which not
! FreeImage_Allocate now returns a void pointer
! FreeImage_Unload is now called FreeImage_Free
+ added 16-bit 5-5-5 support to FreeImage_LoadBMP
+ added RLE_DELTA support to FreeImage_LoadBMP
+ added directory support to FreeImage_LoadTIFF
+ added functions dealing with transparency
+ added transparency support to 8-bit PNG's in Qt
+ added FREE_IMAGE_QUANTIZE parameter to FreeImage_ColorQuantize
+ added custom FREEIMAGEHEADER header prepended to internal bitmaps
+ added new documentation

October 18th 2000 - 1.4.2
* fixed FreeImage_SaveBMP storing an incorrect bfSize value in the BITMAPFILEHEADER
* fixed bug where JPEG and PNG wouldn't load in FreeImageQt
* fixed FreeImage_Mirror mirroring one pixel less than needed
! FreeImage_MaskedCombine24 is now called FreeImage_MaskedCombine24Ex
! FreeImage_MaskedCombine32 is now called FreeImage_MaskedCombine32Ex
+ added 16-bit bitmap support to FreeImage_Mirror
+ added 16-bit bitmap support to FreeImage_ConvertTo8Bits
+ added simple version of FreeImage_MaskedCombine24
+ added simple version of FreeImage_MaskedCombine32

October 17th 2000 - 1.4.1
* [Herve Drolon] fixed bug in FreeImage_ConvertTo8Bits
* fixed bug in conversion with 16 -> 24 and 16 -> 32
- removed static library support
- removed all unnecessary files from LibTIFF, LibPNG, LibJPEG and ZLib
- removed all absolute seeks from the library
! FreeImageQt now makes use of the DLL distro
! rebuilt the entire directory structure
! improved handling of BMP
! renamed FreeImage_MaskedCombine to FreeImage_MaskedCombine32
+ [Alexander Dymerets] added 24-bit masked alpha blending with a seperate alpha mask
+ added FreeImage_Rotate (known bug in degrees 76 to 106)
+ added 4-bit bitmap support to FreeImage_ConvertTo16Bits
+ added 8-bit bitmap support to FreeImage_ConvertTo16Bits
+ added 32-bit bitmap support to FreeImage_ConvertTo16Bits
+ added 32-bit bitmap support to FreeImage_Mirror
+ added 16-bit 5-5-5 support to FreeImage_ConvertTo24Bits
+ added 16-bit 5-5-5 support to FreeImage_ConvertTo32Bits

October 2th 2000 - 1.4.0
* [Jani Kajala] fixed bug in conversion with 4 -> 24 and 8 -> 32
* [Jani Kajala] fixed bug in FreeImage_Flip
* [Jani Kajala] fixed minor bug in FreeImage_LoadBMP
- [Herve Drolon] removed PBMFlags, PGMFlags and PPMFlags
- [Herve Drolon] removed FI_LoadGeneric
- removed FreeImage_Win32.h
! [Herve Drolon] changed FI_GetFileType
! [Herve Drolon] replaced FI_LoadPBM, FI_LoadPGM and FI_LoadPPM with FI_LoadPNM
! [Herve Drolon] improved FreeImage_LoadPNG
! FreeImage_WritePaletteEntry is now exported
+ [Herve Drolon] added FreeImage_SavePNG
+ [Herve Drolon] added FreeImage_SavePNM and PNMFlags
+ [Herve Drolon] added XXXFlags parameter to save functions
+ [Herve Drolon] added FreeImage_LoadRAS and FIF_RAS
+ added FreeImage_GetFileTypeFromExt

September 7th 2000 - 1.3.5
+ added conversion 4 -> 8 to FI_ConvertTo8Bits
+ added simple version of FI_GetFileType
+ added project FreeImageQt; a port of the library to the TrollTech library

August 31th 2000 - 1.3.4
* fixed 'ice effect' bug in new 24 bit PCX code
* fixed some bugs with the conversion 16 -> 24 and 16 -> 32
! FI_Blur now returns void
! A debug build of the library now produces FreeImaged.dll and FreeImaged.lib
! TARGA_LOAD_ARGB8888 is now called TARGA_LOAD_RGB888
! Alpha channels are now automatically loaded unless TARGA_LOAD_RGB888 is specified
! cleaned up the code a lot
+ added 32-bit bitmap support to FreeImage_ConvertToGreyscale
+ added support for 32-bit bottom-left TARGA images
+ added internal functions FreeImage_WritePaletteEntry() and FreeImage_GetScanLine()
+ added FreeImage_Win32.h, containing Windows functions needed to create DIBs
+ added documentation through Doxygen

July 30th 2000 - 1.3.3
* [Jani Kajala] fixed some bugs with the conversion 4 -> 24 and 8 -> 24
* [Jani Kajala] fixed some bugs with the conversion 4 -> 32 and 8 -> 32
* fixed bug in FI_LoadPNM's ASCII number loader
! [Herve Drolon] improved FI_LoadPNG
! [Herve Drolon] changed FI_ConvertToGreyScale (added changeable macro for conversion)
! improved FI_ConvertTo24Bits
! improved FI_ConvertTo32Bits
! freeImage now uses LibPNG 1.0.8
+ [Herve Drolon] added FI_ColorQuantize, based on Wu's color quantizer
+ added the conversion 1 -> 24
+ added the conversion 1 -> 32
+ added FI_ConvertTo8Bits
+ added FI_Invert (very useful for image processing)
+ added FI_GetColorType and 'enum FREE_IMAGE_COLOR_TYPE'

June 30th 2000 - 1.3.2
- removed color reduction functions from the project
! [Herve Drolon] Improved FI_LoadTIFF code
! renamed FI_ToGrayscale to FI_ConvertToGreyScale
! renamed FI_IncreaseColors to FI_ConvertTo24Bits
! LoadBMP now supports 32-bit bitmaps
! [Jani Kajala] Improved FI_LoadTARGA and FI_LoadPCX code
+ added FI_ConvertTo32Bits to convert a bitmap to 32-bit
+ added FI_MaskCombine to combine two 32-bit bitmaps using a alpha mask
+ added FI_AddAlphaMask to enrich a 32-bit bitmap with an alpha mask
+ added FI_SaveTIFF
+ added 16-bit bitmap (565) support to the ConvertToXXX functions.
+ added FI_ConvertTo16Bits (555 and 565)

June 1th 2000 - 1.3.1
- removed Standard Template Library (STL) code
* [Jani Kajala] fixed minor bug in FI_LoadTARGA
* [Jani Kajala] fixed some minor bugs in FI_LoadPCX
! streamlined FI_LoadJPEG a little
! FreeImage now uses LibPNG 1.0.6
! FreeImage now uses LibTIFF 3.5.5
! FreeImage now uses malloc and free instead of new and delete
+ introduced compiler flags to disable certain features in the DLL
+ added experimental nearest color reduction (FI_ReduceColorsNearestColor)

April 13th 2000 - 1.3.0
* fixed some 8 bit PCX files loading incorrectly
* fixed tiny bug in internally used CalculateUsedColors function
- removed FI_SaveXPM. Only BMP is supported now.
- removed Windows dependencies for easier porting
! optimized FI_LoadKOALA a little
! optimized FI_Combine using MMX technology
! FI_Combine now receives an 'unsigned integer' as alpha blend parameter
! FI_InCreaseColors and FI_ReduceColors don't dispose the old bitmap anymore
+ added PNM support (PGM, PPM and PBM; both binary and ascii)
+ [Alexander Dymerets] added FI_EnableMMX and FI_DisableMMX
+ added various effect functions (FI_Blur, FI_Brighten and FI_Crop)

March 1st 2000 - 1.2.1
* fixed some 24 bit PCX files loading incorrectly

February 8th 2000 - 1.2.0
* fixed last bitmap data block in JPEG files being truncated
* fixed 4/8 bit BMP's incorrectly loading when the palette is smaller than the bitcount predicts
- removed FI_Load. There is no reliable way to identify all image formats
- removed FI_SetJpegDecodeMode.
   Mode selection is now done using the 'DataEnum data' parameter of FI_LoadJPEG
! read_proc/write_proc/tell_proc in FreeImageIO now are same as fread/fwrite/ftell
+ added a 'DataEnum data' parameter to all FI_LoadXXX functions.
+ added 16 bit TARGA support
+ added RLE support for TARGA images
+ added FI_GetDIBSize to get the size of a DIB in bytes
+ added Kodak PhotoCD support (Base, Base/4 and Base/16 encoding)
+ added KOALA support
+ added FI_GetFileType. Note: there is no reliable way to identify TARGA, ICO and PCD. Therefore they have been excluded
In KOALA files only the files converted by a C64 emulator can be identified.
+ added FI_Combine to combine two 24-bit bitmaps with (optional) alpha blending

January 15th 2000 - 1.1.1
! FI_Copy is now called FI_Clone
+ added FI_ToGrayscale to convert a color bitmap to grayscale
+ added 32 bit TARGA support
+ added FI_IncreaseColors to increase the bitmap bitdepth from 4/8 bit to 24 bit

January 14th 2000 - 1.1.0
* FI_MIRROR: fixed nibbles not being mirrored in 4 bit images
* FI_MIRROR: fixed bits not being mirrored in 1 bit images
* fixed improper loading of 1, 4 and 8 bit OS/2 BMP's
* fixed some inconsistensies in the calculation of lines and pitches
* fixed incorrectly loading of Huffman and FAX encoded TIFFs
* fixed LoadTGA accepting 16 bit TGA's and returning corrupt DIB's
- removed LZW support for TIFFs
! FreeImage now uses LibTIFF 3.5.4
+ added ICO support
+ added overridable file I/O support in the form of FreeImageIO and fi_handle
+ added FI_Load for generic image loading
+ added FI_ReduceColors for color reduction
+ added FI_Copy to copy a bitmap in memory

January 5th 2000 - 1.0.0
