Little cms Changelog

What's new in Little cms 2.8

Jul 25, 2016
  • Changed ChangeLog direction
  • Fixed many typos in comments, thanks to Stefan Weil for doing that.
  • Fixed localization bug, added a new test case crayons.icc thnaks to Richard Hughes for providing the profile.
  • Fixed a bug in optimizer that made some formats (i.e, bits planar) unavailable
  • Fixed misalignment problems on Alpha. The compiler does not align strings, and accessing begin of string as a uint16 makes code to fail.
  • Added some extra checks to the tools and examples.
  • Fix a bug that prevented to read luminance tag
  • BIG amount of functionality contributed/Sponsored by Alien Skin Software: TransformStride, copyAlpha, performance plug-ins. Fixes some warnings as well.
  • added an extra _ to _stdcall to make it more portable
  • Fixed a bug in transicc for named color profiles
  • Fixed several compiler warnings
  • Added support for Visual Studio 2015
  • Fixed for XCODE project

New in Little cms 2.6 (Mar 18, 2015)

  • Fixed a possible segmentation fault in a non-happy path
  • Fixed a macro clash on SNONE.
  • Added a safety check on named color lists
  • Added a function to retrieve the iohandler of a given profile object
  • Remove unused vcproj files
  • Some maintenance fixes
  • utils/jpgicc/iccjpeg.c: Fix check if unsigned variable 'total_length'… …
  • Add missing comma in CGATS parser
  • Remove dead code.
  • Move unused var suppresor before the `return` statements.
  • Added a flag to clip negative values in unbounded transforms (only gray, rgb, cmyk)
  • Added a global optimization that merges consecutive matrices in pipelines. Fixes loss of precision in some transforms
  • New project for mac
  • Added license for iccjpeg.c
  • Added a project for VS2013
  • Fixed wrong handling of extra channels in some formatters.
  • Added an option in transicc for working in bounded mode
  • Added a version retrieval function

New in Little cms 2.5 (Apr 5, 2014)

  • Fixed a double free in recovering from a previous error in default intent handler.
  • Fixed some indexing out of bounds in floating point interpolation
  • Fixed a bug in PCS/Colorspace order when reading V2 Lab devicelinks
  • Added a way to retrieve matrix shaper always, no matter LUT is present
  • Changed endianess detection for PowerPC
  • Fixed memory leaks on error handling
  • Big revamp on Contexts, from Artifex
  • New locking plug-in, from Artifex
  • Added directories for tiff, jpeg in configure script
  • Fix for delete tag memory corruption
  • Added pthread dependency. From now lcms supports multithreading

New in Little cms 2.4 (Apr 5, 2014)

  • User defined parametric curves can now be saved in ICC profiles.
  • RGB profiles using same tone curves for several channels are storing now only one copy of the curve (saves space)
  • Fixed a multithead bug on optimization (StageDEF)
  • Fixed some 64 bit warnings on size_t to uint32 conversions
  • update black point detection algorithm to reflect ICC changes
  • Added new cmsPlugInTHR() and fixed some race conditions (thanks to Artifex)
  • Added error descriptions on cmsSmoothToneCurve
  • Fixed a bug on big endian platforms not supporting uint64 or long long.
  • Fixed some bugs on floating point curves.
  • Several improvements in cgats parser.
  • Several minor issues found by cppcheck
  • Fixed devicelink generation for 8 bits
  • Added a reference for Mac MLU tag
  • Added a way to read the profile creator from header
  • Added identity curves support for write V2 LUT
  • More changes from Artifex
  • Added TIFF Lab16 handling on tifficc
  • Added some fixes from XhmikosR
  • Fixed a bug in parametric curves
  • Remove spurious tabs added by git merge of pull request
  • Added support for VS2012
  • Added a simple project for cppcheck
  • Rendering intent used when creating the transform is now propagated to profile header in cmsTransform2Devicelink. This is because 7.2.15 in spec 4.3
  • Transform2Devicelink now keeps white point when guessing deviceclass is enabled
  • Added some checks for non-happy path, mostly failing mallocs

New in Little cms 2.3 (Apr 5, 2014)

  • Fixed a bug in the named color devicelink generation
  • Fixed uint64 to work in systems without long long native type
  • Added performance improvements from several contributors, mostly Artifex
  • Fixed a bug in black preservation checking
  • Added black point detection algorithm from Adobe paper
  • Added support for transforms on planar data with different stride
  • Added a new plug in entry for full transform
  • Exposed internal overview table for tone curves
  • gamma 1.0 can now operate in unbounded mode
  • Fixed a bug in pipeline duplication
  • Added getPipelineContextID
  • Added a new plug-in type
  • Internal stage structs are now accessible through plug-in API
  • Fixed a bug on ending zero when saving a IT8 to memory
  • Fixed a bug on IT8 reading of negative numbers.
  • Increased security checks, thanks to Mateusz Jurczyk, from Google.
  • Added half float support
  • Fixed a typo on tificc and jpgicc names, thanks to Elle Stone for reporting.
  • Fixed a bug on named color profiles.
  • Added a conditional compilatio flag for "half" support
  • Fixed a bug in transicc when clot tables are present
  • Added formatter resolution after xform optimization plugin
  • added half float variants (ABGR and so)
  • Fixed a bug in XYZ floating point PCS
  • Fixed an unitialized read on PatchLUT
  • Added a check for maximum input channels

New in Little cms 2.2 (Apr 5, 2014)

  • Fixed a 0 byte allocation issue in _cmsCreateSubAllocChunk
  • Fixed encoding for floating point tags in Lab/XYZ
  • Fixed Absolute colorimetric intent issues
  • Fixed a bug on the range of data in transicc, when colorant tag is specified
  • Adding a memory alignment macro for CGATS parser
  • Updated to ICC spec 4.3
  • Added compatibilty with Argyll's CGATS parser

New in Little cms 2.1 (Apr 5, 2014)

  • Fixed severa bugs in absolute colorimetric intent
  • Removed pthreads need
  • Updated linkicc to 2.1, cleanup
  • Fixed some potential issues as NULL dereferencing
  • Fixed GBD bug (out of bounds memory overwrite)
  • changed memmove to memcpy in cache for xput improvement
  • Profiles with weird curves are not prone to p`relinearization optimization.
  • Added functions to retrieve formatters from transforms
  • Fixed a bug that made crash black preservation on CMYK2CMYK devicelinks
  • Added named color functionality
  • Fixed a bug in black preservation and sligtly non-monotonic curves
  • Added dictionary metatag support
  • Fixed a bug on ReadRAWtag
  • Pascal unit now is supported by Free Pascal Compiler

New in Little cms 2.0 (Apr 5, 2014)

  • Fixed a bug on V2 CHAD construction, affects absolute colorimetric intent
  • Fixed a bug that prevented linkicc to work
  • Fixed a bug on transicc that made profiles with output colorants info to malfunction
  • Fixed a bug on Lab + Alpha float formatters, added such predefined formatters as well
  • Added cmsChangeBufferFormat for backwards compatibility
  • Added UTILS_UNUSED_PARAMETER for samples
  • Added a check on jpgicc for NULL transforms
  • Fixed VC2010, VC2008 projects
  • Added cmsTagLinkedTo
  • Fixed some typos in error messages
  • Peliminary Delphi wrapper
  • Fixed a bug in tificc in floating point formats
  • Fixed a bug in device link creation on v4 profiles
  • Fixed a bug in psid and profile sequence tags
  • Fixed memory leaks on when recovering from errors
  • Fixed an issue on curve inversion
  • Fixed several integer overflow and other integrity checks, thanks to Chris Evans
  • linkicc now stores the rendering intent in the profile header
  • Fixed delphi interface
  • Added Duotone support (Bilinear interpolation)
  • Fixed a bug on curve reversing when source curves have few points
  • Added bound check in floating point interpolation

New in Little cms 1.18 (Mar 24, 2009)

  • Implementation:
  • All errors moved to fatal, since there is no easy recovery strategy
  • Vulnerability fixes on cmsio1.c
  • Status check, many functions now check the status when calling other functions. Improved robustness against ill-formed profiles.
  • _cmsSaveProfile didn't copy tags from a file based profile, fixed.
  • Utilities:
  • icctrans: CMYKcm support wrongly implemented, fixed.
  • icclink: linking 3 to 7 channels didn't work in some cases, fixed.

New in Little cms 1.17 (Oct 22, 2008)

  • WIN64 support
  • _vsnprintf wrap
  • BOOL replaced by LCMSBOOL
  • cmsSetLanguage parameters changed to match ICC spec
  • removed support for extended gamut descriptor (was never fully implemented)
  • cmsFLAGS_NODEFAULTRESOURCEDEF moved to 0x01000000
  • _cmsMalloc wrapper for malloc
  • _cmsFree wrapper for free
  • All errors moved to fatal, since there is no easy recovery strategy
  • Vulnerability fixes on cmsio1.c
  • Status check, many functions now check the status when calling other functions. Improved robustness against ill-formed profiles.
  • _cmsSaveProfile didn't copy tags from a file based profile, fixed.
  • icctrans: CMYKcm support wrongly implemented, fixed.
  • icclink: linking 3 to 7 channels didn't work in some cases, fixed.