X-Git-Url: http://git.imager.perl.org/imager.git/blobdiff_plain/38eab175d9dfd09b540f12c682464b9b4cb7229a..f388cd372ce445f7839aefdb0a8e4ac9898f75ad:/Changes diff --git a/Changes b/Changes index 6889d767..55e87d5a 100644 --- a/Changes +++ b/Changes @@ -1,9 +1,135 @@ Imager release history. Older releases can be found in Changes.old - - PNG rework - - improve error reporting +Imager 0.94 - 15 Dec 2012 +========================= + +Variations on some of these changes were included in development +releases. + + - improved thread safety + - the internal error stack and log file handle are now in a per-thread + context object + - JPEG now captures IPTC information in a thread-safe way + - avoid globals where possible for warning capture in libtiff + - use a mutex to avoid re-entering thread-unsafe giflib + - use a mutex to avoid re-entering thread-unsafe tifflib + - use a mutex to avoid re-entering thread-unsafe T1Lib + - use a library handle per thread for freetype 2. + - use an engine handle per thread for freetype 1.x. + - originally these changes broke ABI compatibility, this has been + restored. + + - clarify the return value of getpixel(); + https://rt.cpan.org/Ticket/Display.html?id=81198 + + - fixed a race condition in parallel testing for T1 -Imager 0.90 - unreleased + - fixed a bug in handling yoff for untransformed image-based fills + + - documentation improvements for Imager::Fill + + - FT2: report the library version while testing. + +Imager 0.93 - 15 Oct 2012 +=========== + +Bug fixes: + + - previously a transparency enabled GIF write (the default) would + always use a GIF89a header even if none of the images were + transparent. + + - previously the probe step for freetype-config would fail on cygwin + + - catch an invalid matrix parameter to convert() instead of crashing + https://rt.cpan.org/Ticket/Display.html?id=79922 + + - remove the 16-bit/sample limitation from the documentation for + setsamples(), it hasn't applied for many releases. + https://rt.cpan.org/Ticket/Display.html?id=79989 + + - don't copy setsamples() data parameter, it may be a large scalar + https://rt.cpan.org/Ticket/Display.html?id=79990 + + - clean up .dSYM directories generated performing probes on OS X + Mountain Lion. + + - pass the --verbose command-line option through to Imager::Probe in + sub-module's Makefile.PLs + https://rt.cpan.org/Ticket/Display.html?id=75878 + +Enhancements: + + - support for giflib 5.0. (5.0.1 and later) + https://rt.cpan.org/Ticket/Display.html?id=79029 + The giflib API Imager uses doesn't have a mechanism to set the + header version in 5.0.0. + + - update the GIF library probe code to check for the new giflib 5.0.1 + EGifSetGifVersion() function, and to check for the giflib 4.2.0 + uninitialized gif89 bug. + https://rt.cpan.org/Ticket/Display.html?id=79679 + http://sourceforge.net/tracker/?func=detail&aid=3574283&group_id=102202&atid=631304 + + - avoid static variables when capturing IPTC data from JPEG files + + - match Imager::Font;:T1's error message translations to those from + later versions of T1Lib. + + - for libtiff versions that support extended warning handlers (3.8.0 + or later), use them to avoid some global variables. + + - note Image::ExifTool for better metadata support. + https://rt.cpan.org/Ticket/Display.html?id=79251 + +Imager 0.92 - 14 Aug 2012 +=========== + + - giflib 4.2 eliminates the GIF_LIB_VERSION macro, handle that + correctly for both probing and runtime. + https://rt.cpan.org/Ticket/Display.html?id=77672 + + - allow building JPEG/imexif.c on C89 compilers. + + - allow building GIF/imgif.c on C89 compilers. + +Imager 0.91 - 4 Jun 2012 +=========== + +Bug fixes: + + - The size of rotated images is no longer rounded up so aggressively. + Added rounding to the linear interpolation done for rotate() and + matrix_transform() for 1 and 3 channel 8-bit images. + Adjusted the two tranlate matrices used to build the final rotation + matrix to use the distance between the outlier pixels rather than + the pixel dimensions (ie. dimension-1). + With all of this the output of rotate(degrees => 270) on an 8-bit + image exactly matches the output of rotate(right => 270). + https://rt.cpan.org/Ticket/Display.html?id=77063 + +Other changes: + + - eliminate the old IIM_new(), IIM_DESTROY() names from Imager's + internals, those names only matter for the XS interface. + + - improve error reporting when PERL_INITIALIZE_IMAGER_CALLBACKS finds + the API level compiled into a loadable module such as + Imager::File::GIF doesn't match that of Imager. Previously it + could be difficult to determine exactly which module was failing to + load. + https://rt.cpan.org/Ticket/Display.html?id=77173 + + - added Imager->check_file_limits() as an interface to the + i_int_check_image_file_limits() API. + + - Imager->set_file_limits(reset => 1) now resets the limits to the + defaults rather than setting them all to unlimited. + + - wrote a brief security note as Imager::Security + https://rt.cpan.org/Ticket/Display.html?id=68910 + +Imager 0.90 - 30 Apr 2012 =========== Bug fixes: @@ -72,6 +198,20 @@ Other changes: - the i_get_file_background() and i_get_file_backgroundf() APIs now return int to indicate whether the i_background tag was found. + - PNG rework + - improve error reporting + - add png_interlace, png_bits tags + - read paletted images as paletted images, including transparency + - read 1 bit greyscale images as a type suitable for other file + handlers to write as bilevel + - read 16 bit/sample PNG as 16-bit/sample Imager images + - write "bilevel" paletted images as 1 bit grayscale images + - write paletted images as paletted images + - write 16-bit (or higher)/sample images as 16-bit/sample PNG + images + - improved metadata support + https://rt.cpan.org/Ticket/Display.html?id=29268 + Imager 0.89 - 18 Mar 2012 ===========