]> git.imager.perl.org - imager.git/blobdiff - Changes
support tied file handles
[imager.git] / Changes
diff --git a/Changes b/Changes
index b277b51e9b337a7999f6a5dabc770dbd47926e4d..55e87d5a8f5ffce3a9321be7c2d3ae4c32e7b204 100644 (file)
--- a/Changes
+++ b/Changes
 Imager release history.  Older releases can be found in Changes.old
 
- - 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
+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
+
+ - 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
 
-  TODO:
-    - flush output
-    - documentation in C code
-    - documentation of new tags, behaviour
-    - FIXME for read_paletted: do we need to scale the palette colours 
-      based on the alpha?
+ - avoid static variables when capturing IPTC data from JPEG files
 
-Imager 0.90 - unreleased
+ - 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:
@@ -83,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
 ===========