2011-01-31 Based on submission by Jason Walp
 * 1.6.4 release 
 * Added CIccNullIO class that can be used by a caller to "write" the profile thus updating
   tag directory entries
 * Fixed various bugs related to setting text in CIccTagDict tags
 * Added CIccTagLut8::GetPrecision() function
 * Fixed bug in validation of CIccTextDescription class
 * Initialize m_nVendorflags in CIccTagNamedColor2 constructor
 * Fixed bug in CIccTagNamedColor2::SetSize() that was copying wrong thing
 * Fixed bug in CIccTagMultiLocalizedUnicode::Read() that was using wrong seek value at end
 * Defined initial values in CIccTagViewingCondions constructor

2011-01-24 Rohit Patil
 * Modified CLUT interpolation in IccTagLut.cpp to perform clipping on input and no clipping
   on output (as opposed to the other way around).  Fixes crashing bug found with absolute
   intent processing of colors whiter than media point.  Also supports floating point range
   of output for MPE CLUT elements.
 * Renaming of MD5 calculation function names to avoid conflicts with other libraries

2010-10-20 Max Derhak
 * 1.6.3 release
 * Fixed typo in CIccTagUnknown::IsSupported()
 * Modified CIccCLUT constructor to support 16bit OutputChannels to support MPE requirements
   for CLUT elements

2010-09-20 Max Derhak
 * 1.6.2 release
 * Fixed bugs with reading and displaying metaDataTags using the dictTagType

2010-08-23 Max Derhak
 * 1.6.1 release
 * Modifications to CIccTagLut16 and CIccTagLut8 to correctly track curve mapping when table
   is used as an output table and PCS is XYZ.  In this case M and B curves are swapped since
   the legacy Lut16 and Lut8 tags do not have M curves.
 * Removed check in CIccXform::Create() for BtoD0/DtoB0 tags if BtoDx/DtoBx tag for rendering
   intent not found (as this never made it into the approved specification).
 * Further changes from Joseph Goldstone to eliminate various compiiler warnings
 * Added XCode project to Build Folder
 * Added changes to get build working on Sun/Solaris
 
2010-07-28 Max Derhak
 * 1.6.0 release
 * Moved main Build for Windows systems to Build\MSVC folder with intent to add builds for
   other systems to Build folder
 * Incorporated changes from Joseph Goldstone that eliminate various compiler warnings
 * Modified CIccProfile::Write() to allow for options in how ProfileIDs are created 
   (Example: ByProfileVersion/Always/Never)
 
2010-05-19 Max Derhak
 * Fixed crashing bug with gamut tags with XYZ PCS
 * Modified CLUT::dump to use reflect legacy encoding of when lut16 tags are used

2010-05-06 Max Derhak
 * Modified IccProfLibConf.h and IccConvertUTF.h to properly define 32 bit types for 64 bit
   compilers
 * Added IccProfLibVer.h to define macro that has version for IccProfLib

2010-04-28 Rohit Patil
 * Modified IccProfLibTest to allow modification of ProfileDescription and Copyright tags

2010-03-12 Max Derhak
 * Added support for PrintConditions tag implemented using Dictionary tag type

2009-01-22 Rohit Patil/Max Derhak
 * Added CIccCreateXformHintManager to allow for a list of hint object to be passed
   in at the time of CIccXform creation.
 * Modified PCS adjustment to use a scale and offset in new function CIccXform::AdjustPCS().
   CIccXform::CheckSrcAbs and CIccXform::CheckDestAbs now use CIccXform::AdjustPCS()
 * Hint mechanism can now be used to set up scale and offset values.
 * Added CIccApplyBPCHint and CIccApplyBPC classes in IccApplyBPC.cpp and IccApplyBPC.h
   to provide optional support for Adobe Black Point Compensation
   - Since BPC is outside the scope of the ICC specifiction, users of CIccXform::Create
     must define and use a CIccApplyBPCHint object to enable BPC processing.
   - CIccApplyBPC temporarily instantiates a CIccCmm for the purpose of finding the black point
     of a profile.
   - Black point processing between two profiles is performed in two steps.  The first profile's
     black point is mapped to the V4 perceptual black point.  The second profile maps from the
	 V4 perceptual black point to the second profile's black point.  This allows BPC processing
	 to be performed on a single profile.
 * iccApplyNamedCMM.cpp modified to support BPC using CIccApplyBPC
 * Added CIccProfile::ReadTags() to force all tags to be loaded into memory. (Used by CIccApplyBPC)
 * CIccTagMultiLocalizedUnicode::Read() now seeks to the end of the last record at end of the function
 * Added ICC_CBRTF macro that can allow for substitution of cbrtf() function if it is available
 * Commented several additional functions in IccCmm.cpp
 * Modified WinNT\ApplyProfiles to allow for applying an output profile to a Lab image file
 * Fixed header in cmyk8bit.txt and cmyk16bit.txt files
 
2008-12-02 Rohit Patil
 * Added support for Monochrome ICC profile apply

2008-11-24
 * Cleanup of build files for Linux
 * Revised License to version 0.2

2008-10-31
 * Added fix to make CIccCmmMRU work after chages to add CIccApplyCmm architecture

2008-10-15
 * Added support for External extension of CIccTags and CIccMPE objects
 * Make CIccMultiProcessElement::m_nReserved public
 * Added CIccMpeUnknown:SetType() and CIccMpeUnknown::SetChannels() to allow unknown elements
   to be externally created
 * CIccCLUT::Init() now returns bool to indicate allocation failure
 * Added icDeltaE() funciton to IccUtil.cpp
 * Modified MPE Sampled Curve to conform to specification.  First point is NOT stored in file.
 * Fixed MPE processing to not Clip PCS or apply Absolute Rendering Intent adjustments.
 * Added support for selective use of MPE tags in iccApplyNamedCmm.cpp
 * Modified IccV4ToMPE to correctly create SampledCurve segments by not saving first point.
 * wxProfileDump now supports option to perform round trip performance analysis.
 
2007-11-21 Max Derhak
 * Addition of CIccXformCreator singleton factory and IIccXformFactory interface for dynamic
   creation of CIccXform objects based upon xform type.   With a IIccXformFactory  derived
   object properly registered using CIccXformCreator::PushFactory() overlaoded CIccXform objects
   seemleessly get created and applied.
   
2007-10-08 Max Derhak
  * Fixed memory leak in CIccProfile copy constructor and copy methods
  * Added CIccEvalCompare object that can be derived from to perform round trip analysis.
  * Added iccRoundTrip command line tool that performs round trip analysis of ICC profiles.

2007-09-25
  * Fixed bug in Tetrahedtral Interpolation for 3 dimensionial input as identified
    by George Pawle

2007-08-20
  * Fixed bug in MPE Formula Curve parameter checking.
  * MPE Formula Curve type 0001h used base 10 log function.
  * Registered CMM signatures recognized and displayed correctly.
  * Unknown platform type added (00000000h). 

2007-07-29 Joseph Goldstone
  * Revised After Effects 16-bit-TIFF-to-Cineon conversion script to
    reflect SampleICC pathnames.
  * extract_probe_data now prints the extracted edge size.
  * Use sips on Mac OS X to extract the embedded image profile, so user
    need not adjust this in extraction script.
  * Update README.OSX to reflect DarwinPorts renaming itself to MacPorts.
  * Update README in RSR example dir to reflect simplified usage, and
    delete the to-do list at the end of that file since those items
    are now done.
	
2007-6-19 Max Derhak
  * Added GetExtension method to CIccMpe based tags to allow for implmentation of extended objects.

2007-6-4 Max Derhak
  * Added I/O support for ProfileSequenceId tags using CIccTagProfSeqId class.
  * Added I/O support for Colorimetric Intent Image State tag.

2007-3-29 Max Derhak
  * Deprecated Tools\Winnt\ApplyCmm.  Use SampleIccCmm instead.
  * Deprecated Tools\Winnt\ProfileDump.  Use wxProfileDump instead.

2007-3-29 Joseph Goldstone
  * Moved tools and extensions from Tools\CmdLine folder to Contrib Folder
  
2007-2-15 Max Derhak
  * Fixed bug with reading Profile Sequence Description tag.
  * Added accessor to CIccCLUT m_nPrecision member variable.
  * Added accessor to elements attached to a CIccTagMPE object.
  * Added utiltity function icGetSigStr() that displays a signature as a 4 characher
    string or as an 8 character hex number if the signature contains non alpha-numeric
    characters.
  * Minor formating changes to icProfileHeader.  Commented enums modified to eliminate
    compiler warnings.
      
2007-1-19 Max Derhak
  * Added ability to use multiple inheritance for CIccTag co-derived on IIccExtensionTag
    interface and accessed through a GetExtension() virtual function.
  * Various bug fixes when using Matrix/TRC profiles
  * Fixed various bugs with extracting tone curves from transforms attached to a CMM.
  * Added option to allow V2 to V4 encoding without clipping.

2006-12-29
  * Added CIccCmmMru extension CMM class which provides limited caching of last few unique
    color transforms.  This is a limited performance improvement for SampleIccCmm.
  * Added ability to detach IO operations to all profiles associated with a CMM.  This allows
    a tranform to be loaded an initialized and disconnect from the source before applying
    transforms.
  
2006-12-28
  * Created SampleIccCmm for Windows platforms.  This allows Windows applications to make use
    SampleICC's proflib through Windows ICM API.
  * Added ability to get access to the colorspaces of the first and last transform attached to a CMM.
  
2006-12-06 Kevin Wheatley
  * Miscelaneouos Bug Fixes
  * Clean up of various compiler warnings

2006-11-22 Max Derhak
  * Added newly approved technology tag signatures for Motion Picture Industry to
    icProfileHeader.h

2006-11-07 Max Derhak
  * Added support for optional multiProcessingElementType tags.  These tags provide
    an arbitrary order of curves, matricies, and N-D luts encoded using floating
    point.  The CIccTagMultiProcessElement class implements these objects.  MPE based tags
    can have 1 or more CIccMultiProcessElement based objects attached to them.
    See CIccMpeCurveSet, CIccMpeMatrix, CIccMpeCLUT for more details.  Additional future
    placeholder elements CIccMpeBAcs and CIccMpeEAcs objects are defined, but provide no
    processing capabilities. See additions to Icc Specification for more details
    releated to optional MPE based tags.  
  * Added CmdLine tool IccV4ToMPE that allows one to populate MPE based tags based upon
    contents of LutAtoB and LutBtoA based tags.
  
2006-10-30 Max Derhak
  * Added direct accessors CIccTagMultiLocalizedUnicode::Find() and 
    CIccTagMultiLocalizedUnicode::SetText() for easier creation of 
    multiLocalizedUnicode based tags
  
2006-10-27 Max Derhak
  * Added CIccTagCurve::SetGamma member function
  * Added validation check for single entry (gamma) curves to CIccTagLut8
    and CIccTagLut16

2006-10-10 Rohit Patil
  * Added IsIdentity() function to the CIccCurve and CIccMatrix classes which returns true
    if they are identity
  * Modified the Xform objects in the CMM to use the IsIdentity() function. 
    Now CIccXform::Apply() will not apply the curves or the matrix if 
    they are identity, to improve the CMM performance

2006-10-06 Max Derhak
  * Added CmdLine tool iccStripUnkownTags to remove tags not defined
    in the Icc Specification from a profile.

2006-07-31  Max Derhak
  * Fixed bug in CIccTagChromaticity::Validate() to make comparisons
    with fixed floating point encoding rather than IEEE encoding

2006-07-13  Max Derhak
  * Fixed bug with displaying icSigPerceptualRenderingIntentGamutTag
    tag's name correctly
  * Added icVectorApplyMatrix3x3() to IccUtil

2006-06-09  Max Derhak
  * Added concept of Device Lab and XYZ separate from PCS Lab
    and XYZ.  Encoding for these color spaces by devices is not
    defined by the ICC specification.

2006-05-09  Max Derhak

  * Cleanup to get things to work with VC6.
  
  * Reformated text replacing tabs with spaces.

2006-03-24  Joseph Goldstone  <joseph@Cloudbase.local>

  * Add a cut-and-paste of ab_lib_id3.m4 from Oskar Liljeblad
    (oskar@osk.mine.nu) as published in the autoconf archive,
    downloadable at http://autoconf-archive.cryp.to/ac_lib_id3.m4,
    to produce AC_LIB_TIFF.  Use the resulting TIFF_CPPFLAGS,
    TIFF_LDFLAGS and TIFF_LIBS in the Makefile.am file in the
    Tools/CmdLine/IccApplyProfile subdir.

  * Add a dist-hook target in the top-level Makefile.am that gets
    rid of any .DS_Store files.

  * Correct capitalization of SUBDIRS in Tools/CmdLine/Makefile.am
    so that we have a chance of running on Red Hat et al.

2006-02-18  Joseph Goldstone  <joseph@Cloudbase.local>

  * Initial attempt at using GNU suite (automake, autoconf,
    [g]libtool) to build IccProfLib and command-line tools.
  
