Revision history for Perl extension Imager.

0.01 Thu May 6 15:25:03 1999

0.02 Mon May 10 20:20:20 1999

0.03 Thu May 20 23:23:23 1999

0.04 Mon May 24 22:14:55 1999

0.05 Tue May 25 23:40:01 1999

0.06 Wed May 26 19:05:39 1999

0.07 Thu May 27 03:15:00 1999

0.08 Fri May 28 14:13:21 1999

0.09 Mon May 31 17:52:32 1999

0.10 Mon Jun 7 03:25:54 1999

0.11 Mon Jun 7 14:43:35 1999

0.12 Tue Jun 8 02:58:43 1999

0.13 Wed Jun 9 06:55:58 1999

0.14 Thu Jun 10 14:11:22 1999

0.15 Mon Jun 14 08:13:29 1999

0.16 Wed Jun 16 20:54:33 1999

0.17 Thu Jun 24 11:09:15 1999

0.18 Mon Jun 28 12:31:33 1999

0.19 Fri Jul 1 15:00:03 1999

0.20 Mon Jul 5 10:15:37 1999

0.21 Mon Jul 6 19:15:37 1999

0.22 Sat Oct 9 07:04:14 1999

0.23 **************** Internal release only

0.24 **************** Internal release only

0.25 **************** Internal release only

0.26 Tue Nov 23 03:57:00 1999 > Development release <

0.27 Tue Dec 28 03:57:00 1999 > CPAN release <

0.28 Tue Jan 4 05:25:58 2000 > CPAN release <

0.29 Tue Jan 4 21:49:57 2000 > CPAN release <

0.30 Sun Jan 7 05:00:06 2000 > Bunch of Alpha releases <

0.31 Sat Jan 15 03:58:29 2000 > Fixes fixes fixes <

0.32 Tue Feb 29 17:26:00 2000 CPAN RELEASE

        **** If you had any code that didn't use the OO interface ****
        ****         It will probably not work any longer         ****

0.33 Beta -- No final

0.34 Beta -- No final

0.35 pre2 -- No time yet

0.35 pre3 - No time yet

0.35 pre4 - No time yet

0.35 pre5 - No time yet

0.35 pre6 - No time yet

0.35 pre7 - No time yet

0.35 Sun Jan 28 19:42:59 EST 2001

0.36 Mon Jan 29 09:36:11 EST 2001

0.37 Mon Tue 30 09:36:11 EST 2001

0.38 pre1 - No time yet

0.38 pre2 - No time yet

0.38 pre3 - No time yet

0.38 pre4 - No time yet

0.38 pre5 - No time yet

0.38 pre6 - No time yet

0.38 pre7 - No time yet

0.38 pre8 - No time yet

0.38 pre9 - No time yet

0.39 pre1

0.39 pre2

0.39 Released: Nov 2 2001.

0.40 pre1

0.40pre2

0.40

0.41

0.42

0.43

0.43_01 Fri 8 Oct 2004

0.43_02 Mon 26 Oct 2004

0.43_03 Wed 8 Dec 2004

0.44 Wed 15 Dec 2004
- modify the default include directories list to include the location FreeBSD keeps freetype1 headers after the freetype2 locations. This ensures that the -I options are generated with freetype2 locations first, so that those directories are searched before the freetype1 directories. This prevents problems compiling font.c on FreeBSD.
Resolves: http://rt-cpan.fsck.com/Ticket/Display.html?id=1723 - finish off a sentence in the "Producing an image from a CGI script" example in Imager::Files
- method index didn't include errstr()
- document that you don't want the FT2 freetype.h in the include path

0.44_01 Tue 24 May 2005
- the plugins Makefile has long produced an error after all tests were complete on Win32, finally tracked down why - Makefile.PL now checks the directories specified by $Config{locincpth} and $Config{loclibpth} for includes and libraries respectively. Resolves: https://rt.cpan.org/Ticket/Display.html?id=2942 - we were undefing the wrong macro (used as an include guard) when building the error code translation function for freetype 2. This meant most errors came out as numbers. - add a note to the README on how to get font suitcases and dfont files working on OS X.
- add dfont to the list of extensions supported by ft2 - document Imager::Font->new()'s index parameter - added concept index to Imager.pm's POD - the gradgen filter now does the same color value conversion that Imager's drawing functions do.
- added trivial multiple master support via the FT2 driver - added .pcf and .pcf.gz to the list of extensions supported by ft2 - the tiff reader now puts warning messages produced during reading into the i_warning tag.
Resolves: https://rt.cpan.org/Ticket/Display.html?id=8722 - the i_xres and i_yres tags are now stored in a resolution similar to their source.
Resolves: https://rt.cpan.org/Ticket/Display.html?id=8520 - added tiff_resolutionunit_name tag when reading tiff files - Makefile.PL now attempts to use freetype-config to configure freetype 2 and pkg-config to configure libpng.
- avoid complaining about include/lib directories we pull from perl's config or we have built-in
- Makefile.PL now builds imconfig.h with #defines for libraries present (and for the GIF library version) rather than putting them into CFLAGS
- scanning for required include files is now down by directory rather than by file, using -e to check for the existence for a file rather than doing an eq against every filename in the directory. - previously we only checked a candidate include directory for freetype.h to consider it a valid FT1.x include directory. We now check if it contains fterrors.h too, if it does, then it's from a FT2 installation and we ignore it.
- Makefile.PL now accepts command-line options to set include and library directories and to enable/disable drivers. - added simple examples to most of the filters documented in Imager::Filters
- explicitly document there are no PNG specific tags. - more examples in Imager::Draw
- minor cleanup of Imager::Fill
- eliminate unused variables and static functions - simplify some XS code by adding another typemap entry - the right-side bearing used to adjust the final width wasn't being calculated correctly, this would cause the bounding_box() function for freetype 2.x to return a larger than expected text width. http://rt.cpan.org/NoAuth/Bug.html?id=11291 - add scaleX/scaleY to the method index and gives them some examples http://rt.cpan.org/NoAuth/Bug.html?id=11328 - call read() instead of open() in the example code in Imager.pm, and mention that open() is an alias for read(). http://rt.cpan.org/NoAuth/Bug.html?id=11431 - added reference list of crop() parameters. http://rt.cpan.org/NoAuth/Bug.html?id=11430 - reading a tga image with an idstring of 128 or more bytes would result in an allocation error, if the platform char type was signed - tests now check that tga tags are set - calling the read() method for a format not included in the Imager build, for example, JPEG with no libjpeg installed, would crash with an undefined function error (modified by DynaLoaders dependence on AutoLoader.)
http://rt.cpan.org/NoAuth/Bug.html?id=9618 - some test scripts have been modified to use Test::More, which is now included under the t directory. Eventually all will be modified to use Test::More and the duplicates in t/testtools.pl will be removed - the convert, crop, rotate, copy, matrix_transform, to_paletted, to_rgb8, scaleX and scaleY methods now warn when called in void context. http://rt.cpan.org/NoAuth/Bug.html?id=9672 - correct email addresses in the README file, and include bug reporting information there too
- added README for samples directory, describes interleave.pl and anaglyph.pl to start.
- the XS for the internal i_glin() function wasn't copying the pixel values across to the returned color objects. http://rt.cpan.org/NoAuth/Bug.html?id=11860 - Imager::Cookbook wasn't included in the MANIFEST - added samp-form.cgi and samp-image.cgi to the samples directory to demonstrate displaying a generated image on a HTML page. - Makefile.PL now adds rules to generate a suitable META.yml to the generated Makefile.
- added sample code for handling images uploaded via a HTML form. - saving a GIMP gradiant file with Imager::Fountain->save has always been broken. Fixed it and added tests.
- newer versions of GIMP add a line to gradient files before the segment count giving a descriptive name of the gradient. Imager::Fountain can now read and write such gradient files. The interface is a bit indirect, but I'd like to preserve Imager::Fountain as a blessed array ref for now. - the segments parameter supplied to the fountain filter and the fountain fill contructor now accepts color names or other descriptions as other functions do.
- fix a few compiler warnings
- document the Imager::Font::BBox advance_width() method - Imager::Font::BBox advance_width() method was falling back to the wrong value when the font driver's low level function didn't return the advance width.
- the FT 1.x was comparing versus an uninitialized variable when checking the end of string when calculating the right side bearing used to adjust pos_width for glyphs that overlap the right side of the advance width.
- Imager::Font::BBox objects now have right_bearing() and display_width() methods. Hopefully this and the advance_width() method fills out the Imager bounding box interface to a useful state. Implemented for all four font drivers. - Win32 font bounding_box() method now supports the advance width and right bearing values.
- Imager::Matrix2d->rotate() would only rotate around the supplied centre point if both 'x' and 'y' were non-zero. - the internal i_tags_get_string() function now acts correctly for integer only tags.
- the FT1.x driver now supports the align parameter correctly. Tests were added to each driver to check correct handling of the align parameter.
- the Win32 font driver bounding_box() method now puts accurate values in the ascent and descent values, previously they were set to the font ascent/descent rather than the values specific to the string. - supplying align=>0 to the win32 font driver string() function now aligns in the same way as the other drivers. - removed the bug reporting email address to prevent spammers stripping it. The URL is still there and if someone knows how rt.cpan.org works they can still figure out the email.
- the internal function used to probe file formats if the type parameter wasn't passed to the read() method would produce diagnostics on stdout, precluding use in web applications. Silenced it.
- the setcolors() had a fencepost error making it impossible to use it to set the last color in the palette. http://rt.cpan.org/NoAuth/Bug.html?id=12676 - fix the filter examples in Imager::Filter so they don't indicate that a new image is returned (the filter() method works in-place) - add examples for the fountain filter
- prevent warnings from Makefile.PL when there's no libraries found - Imager no longer assumes that MSVC is the only native Win32 compiler, MinGW can be used to build Imager. - fixed an inverted condition checking the giflib version, and replaced a manual test skip in t/t105gif.t - add tests to exercise hatch fills for floating images. This code is mis-generated with the gcc 4.0 that ships with OS X 10.4 - work around junk that pkg-config sends to stderr on FreeBSD 4.10 - testimg/base.jpg was missing from the MANIFEST, causing test failures - use a temp file to avoid messing with echo on Win32 when building META.yml
- add some Mac OS X notes to the README

0.45 Mon 30 May 2005
- t/t105gif.t wasn't handling buggy giflibs correctly

0.45_01 Mon 12 Dec 2005
- give the colorcount() and maxcolors() methods their own entries and add them to the method index.
- added tiff_bitspersample and tiff_photometric tags to tiff images when read
- loading filter DLLs/DSOs had an off-by-one error allocating a buffer for the filename of the library (does anyone use this functionality?) - remove old #if 0 code from Imager.xs
- convert t/t15color.t to Test::More
- prevent warnings when looking up a GIMP color with no palette parameter and $ENV{HOME} not set.
Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=13143 - added VERSION numbers to most .pms
- convert t/t104ppm.t to Test::More
- convert t/t107bmp.t to Test::More
- convert t/t108tga.t to Test::More
- error messages generated reading JPEG or PNG images are now available via errstr()
- implement/test/document set_file_limits()/get_file_limits() methods, which allow limits on the size of image files read. - new example for convert() method based on Leolo's query - implement getscanline(), setscanline() and getsamples() methods. These are low level methods for fast access to image data, based on existing C functions that Imager uses internally. - limit limits.c to C89
- the gif tests weren't skipping enough when there was no gif support - move include t1lib out of image.h to font.c, since nothing it provides is needed elsewhere.
- minor POD fixes
- added a brief tutorial
- Imager::Font->new() for the tt (Freetype 1.x) driver now correctly handles errors from i_tt_new(), and passed error messages now generated by i_tt_new().
Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=14804 - renamed lib/Imager/Cookbook.pm to lib/Imager/Cookbook.pod - CPANTS complains about it not having 'use strict;' - add samples/replace_color.pl
- you can now supply a page parameter to read() to read a given page from a TIFF file.
- added samples/border.pl, and notes on adding a border in Imager::Cookbook.
- added sampled/slant_text.pl, and notes on shearing/rotating text in Imager::Cookbook.
- INCOMPATIBLE CHANGE:
reading a gif file will now read the first image from the file rather than the a consolidated image. If you want the old behaviour supply C<< gif_consolidate=>1 >> to the read() method. Older versions of Imager will accept this parameter and produce the same result. - you can now supply a page parameter to read() to read a given page from a GIF file.
- reading a multi-image GIF was leaking memory (a line buffer per file) - maxcolors now must be at least 1 when creating a paletted image. - converted t/t022double.t to use Test::More - t1 library re-initialization modified to support T1Lib 5.1.0 - setmask() now returns true on success and reports a missing mask parameter.
- double per sample images were ignoring the channel mask. - converted t/t021sixteen.t to use Test::More - 16-bit per sample images were ignoring the channel mask - added t/t91pod.t
- expand Imager::ImageTypes:

0.45_02 Mon 12 Dec 2005
- some test scripts weren't fixing @INC correctly - t/t101jpeg.t wasn't skipping enough when there was no jpeg support - bump version to 0.45_02

0.46 Tue 20 Dec 2005
- change the use in t/t91.pod to require version 1.00 of Test::Pod - minor changes to Imager::Transformations - bump version to 0.46

0.46_01 Fri 30 Dec 2005
- switched to subversion - changed $VERSION that was based on Revision tag to be manually handled.
- outputting a single space using the Freetype 1.x driver (type=>'tt') was producing a divide by zero error. - bump to 0.46_01 for testing

0.47 Fri 30 Dec 2005
- bump to 0.47

0.47_01 Tue 21 Feb 2006
- set the locale to "C" properly when testing ft1.x error messages - don't destroy image before creating it in error handling in bmp.c - extra concept index entries
- Imager::Draw - align_string()'s valign parameter was invalid in the synopsis
- start of external Imager API access:

0.48 Fri 3 Mar 2006
- removed unused hashinfo() function from Imager.xs - added =items for various methods, so Pod::Coverage will pick them up (Pod::Coverage tests to be added in 0.49) - bump to 0.48

0.49
- handle short EXIF user_comment fields correctly, previously Imager would read (and potentially) write beyond the end of an allocated block, or through a NULL pointer if the EXIF user_comment field was less than 8 bytes long.
https://rt.cpan.org/Ticket/Display.html?id=17981 - tifflib 3.8.0 with MDI (Microsoft(tm) TIFF) support produces a different error when it reads a file with a bad magic number. Update the test to handle the possible messages. - some jpeg.c logging calls didn't include parameters enough to match the supplied format string. (detected by valgrind) - in some cases memory wasn't being freed during error handling when reading jpeg images (detected by valgrind) - free the TIFF object correctly when reading a TIFF image and the page number is out of range. (detected by valgrind) - i_gsampf() (used to implement getsamples() for floating point samples) was leaking memory. (detected by valgrind) - writing to a PNG file was leaking one memory block (detected by valgrind)
- some error paths when reading GIF images weren't closing the GIF read object. (detected by valgrind)
- bump to 0.49 (to get #17981 fix out)


        For latest versions check the Imager-devel pages:
        http://imager.perl.org/