Imager release history. Older releases can be found in Changes.old
-Imager 0.86 - unreleased
+ - PNG rework
+ - improve error reporting
+
+Imager 0.90 - unreleased
+===========
+
+Bug fixes:
+
+ - Imager::Test::is_imaged() attempted to process an "epsilon"
+ parameter but the prototype didn't allow for the extra parameter.
+ Corrected the prototype.
+
+ - when downconverting samples (eg. from floating point to 8 bit)
+ Imager now rounds the sample value rather than attempting to
+ allocate input values over output values equally. The old
+ behaviour had the probably surprising effect of converting a
+ floating point 2.1/255.0 into an 8-bit 3 rather than the expected
+ 2.
+ This may result in slightly different 8 or 16-bit output images.
+
+ - BI_BITFIELD BMP images were handled incorrectly, both in
+ incorrectly calculating the space required for the masks and in
+ processing the image data itself.
+ https://rt.cpan.org/Ticket/Display.html?id=76736
+
+ - some odd width BMP BI_RLE4 images use run lengths that run one off
+ the edge of the image. Imager now allows this, discarding the
+ extra column.
+
+ - odd length RLE4 runs in BMP images were decoded incorrectly.
+
+ - pkg-config could sometimes return a library that was in a directory
+ EU::MM / $Config{libpth} doesn't know about, but the compiler did.
+ If no -L is included in the pkg-config library information check if
+ EU::MM can find the library, and if not, search our configured
+ directories and insert that into the library flags.
+ https://rt.cpan.org/Ticket/Display.html?id=75869
+
+ - Imager::Probe can now probe for libraries with dependent libraries,
+ common for static linking, eg. libpng requires libz.
+ https://rt.cpan.org/Ticket/Display.html?id=74043
+
+ - libpng 1.5 specific probes were looking for libpng 1.4 filenames.
+
+ - added alternative probe configurations that try to link libz, to
+ handle a statically linked libpng.
+ https://rt.cpan.org/Ticket/Display.html?id=74043
+
+ - if a probe includes testcode, Imager::Probe now checks that code as
+ part of the process of checking each configuration rather than as a
+ post test of the found configuration. This allows alternate
+ configurations to be checked if a matching but non-working
+ configuration is found.
+ https://rt.cpan.org/Ticket/Display.html?id=74043
+
+Other changes:
+
+ - when reading or writing images via callbacks, the default callbacks
+ now push an error message indicating that a required callback was
+ called but not supplied.
+ https://rt.cpan.org/Ticket/Display.html?id=76782
+
+ - clarify which callbacks are required for reading and writing TIFF
+ images.
+
+ - improve logging for creation of callback I/O layers.
+
+ - a little more documentation for Imager::Probe.
+
+ - the i_get_file_background() and i_get_file_backgroundf() APIs now
+ return int to indicate whether the i_background tag was found.
+
+Imager 0.89 - 18 Mar 2012
+===========
+
+Bug fixes:
+
+ - getpixel(..., type => "float") and the API i_gpixf() have been
+ broken on paletted images since they were implemented.
+ https://rt.cpan.org/Ticket/Display.html?id=75258
+
+Other changes:
+
+ - links in the METHOD INDEX now point at the method documentation
+ rather than the heading you can find them under.
+ https://rt.cpan.org/Ticket/Display.html?id=71495
+
+ - Imager (and the bundled dynamic modules) no longer fallback to
+ using DynaLoader if loading via XSLoader fails.
+ For the bundled modules this could hide useful error messages.
+ https://rt.cpan.org/Ticket/Display.html?id=75560
+
+ - IM_DEBUG_MALLOC mymalloc() no longer sn?printfs() a string to a
+ buffer in the array of allocations, but just stores the filename
+ pointer and line number.
+ https://rt.cpan.org/Ticket/Display.html?id=70388
+
+Imager 0.88 - 22 Feb 2012
===========
+ - describe how to build libgif etc on OS X in such a way as to be
+ compatible with a fat binary perl (such as the system perl), in
+ README.
+ https://rt.cpan.org/Ticket/Display.html?id=73371
+
+ - update the change notes for 0.77_01 to indicate that libungif
+ support was removed.
+
+ - add some other imaging modules to SEE ALSO
+ https://rt.cpan.org/Ticket/Display.html?id=73906
+
+ - note that the generator of the apparently non-DFSG-free postscript
+ in MMOne.pfb is a Debian package.
+
+ - setsamples() is now a true complement to getsamples() - it can
+ write 8-bit or floating point samples from a scalar or array
+ reference. This adds i_psamp() and i_psampf() to the C level API.
+
+ - the XS interfaces to i_gsamp(), i_gsampf() and i_gsamp_bits() have
+ changed to make better use of the typemap, but these aren't part of
+ the perl level API anyway. There were no changes to the C level
+ interfaces to these functions.
+
+ - getpixel() and setpixel() now accept a mix of scalar and array
+ references for the x and y parameters, and unequal array lengths is
+ no longer an error.
+ https://rt.cpan.org/Ticket/Display.html?id=73697
+
+Bug fixes:
+
+ - correctly calculate the size of a rotated image
+ https://rt.cpan.org/Ticket/Display.html?id=69261
+
+ - fix incorrect rounding of color values for matrix_transform() and
+ rotate().
+ https://rt.cpan.org/Ticket/Display.html?id=69261
+
+ - Win32 text output is now done in normal combine mode, the alpha
+ component of the color is now significant.
+ https://rt.cpan.org/Ticket/Display.html?id=70014
+
+ - remove long unused gif case from read()
+ https://rt.cpan.org/Ticket/Display.html?id=69244 (partial)
+
+ - the getsamples() target parameter was being treated as a hashref
+ when it's meant to be an array reference.
+ https://rt.cpan.org/Ticket/Display.html?id=74882
+
+ - getpixel() and setpixel() now returns an empty list when invalid
+ parameters are supplied.
+ Invalid values for type now result in an error for getpixel().
+ https://rt.cpan.org/Ticket/Display.html?id=73697
+
+Imager 0.87 - 03 Jan 2012
+===========
+
+ - document the return value of the filter() method.
+ https://rt.cpan.org/Ticket/Display.html?id=72369
+
+ - document i_gsamp_bits() and i_psamp_bits().
+ https://rt.cpan.org/Ticket/Display.html?id=68815
+
+ - properly increment the Imager::Matrix2d $VERSION.
+
+ - actually include the Imager::Test tests in the dist
+
+ - correctly read and write 256x256 pixel ICO files
+ https://rt.cpan.org/Ticket/Display.html?id=69599
+
+ - make the error message from read() or read_multi() when they can't
+ identify the file type match reality.
+ https://rt.cpan.org/Ticket/Display.html?id=72475
+
+ - read() now uses $FORMATGUESS if it can't determine the file type
+ based on the file header, to match read_multi().
+
+ - re-work and add tests for def_guess_type(). def_guess_type() no
+ longer returns any random file extension as the file type.
+
+ - add gray4, gray16 and gray as presets for make_colors.
+ https://rt.cpan.org/Ticket/Display.html?id=67911
+
+ - add make_palette() method that produces a palette from one or more
+ images.
+
+ - fix the Imager dependency for the separately distributed font
+ drivers.
+ https://rt.cpan.org/Ticket/Display.html?id=72643
+
+ - fix i_render_color() to properly draw in "normal" mode - ie. when
+ writing to a 1 or 3 channel image the second or fourth channel of
+ the source color was being ignored, it is now significant.
+ https://rt.cpan.org/Ticket/Display.html?id=71564
+
+Imager 0.86 - 31 Oct 2011
+===========
+
+ - improve error reporting for W32 tests
+
+Imager 0.85_02 - 24 Oct 2011
+==============
+
Bug fixes:
- eliminate unused i_gif_opts type (clean-up)
preparation for separate distribution.
https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
+ Note: this removed support for libungif from Imager.
+
- optimize filled box drawing (color, not fill)
Bug fixes: