1 Imager release history. Older releases can be found in Changes.old
3 - support for giflib 5.0.
4 https://rt.cpan.org/Ticket/Display.html?id=79029
6 - previously the probe step for freetype-config would fail on cygwin
8 - avoid static variables when capturing IPTC data from JPEG files
10 - match Imager::Font;:T1's error message translations to those from
11 later versions of T1Lib.
13 - for libtiff versions that support extended warning handlers (3.8.0
14 or later), use them to avoid some global variables.
16 - catch an invalid matrix parameter to convert() instead of crashing
17 https://rt.cpan.org/Ticket/Display.html?id=79922
19 - remove the 16-bit/sample limitation from the documentation for
20 setsamples(), it hasn't applied for many releases.
21 https://rt.cpan.org/Ticket/Display.html?id=79989
23 Imager 0.92 - 14 Aug 2012
26 - giflib 4.2 eliminates the GIF_LIB_VERSION macro, handle that
27 correctly for both probing and runtime.
28 https://rt.cpan.org/Ticket/Display.html?id=77672
30 - allow building JPEG/imexif.c on C89 compilers.
32 - allow building GIF/imgif.c on C89 compilers.
34 Imager 0.91 - 4 Jun 2012
39 - The size of rotated images is no longer rounded up so aggressively.
40 Added rounding to the linear interpolation done for rotate() and
41 matrix_transform() for 1 and 3 channel 8-bit images.
42 Adjusted the two tranlate matrices used to build the final rotation
43 matrix to use the distance between the outlier pixels rather than
44 the pixel dimensions (ie. dimension-1).
45 With all of this the output of rotate(degrees => 270) on an 8-bit
46 image exactly matches the output of rotate(right => 270).
47 https://rt.cpan.org/Ticket/Display.html?id=77063
51 - eliminate the old IIM_new(), IIM_DESTROY() names from Imager's
52 internals, those names only matter for the XS interface.
54 - improve error reporting when PERL_INITIALIZE_IMAGER_CALLBACKS finds
55 the API level compiled into a loadable module such as
56 Imager::File::GIF doesn't match that of Imager. Previously it
57 could be difficult to determine exactly which module was failing to
59 https://rt.cpan.org/Ticket/Display.html?id=77173
61 - added Imager->check_file_limits() as an interface to the
62 i_int_check_image_file_limits() API.
64 - Imager->set_file_limits(reset => 1) now resets the limits to the
65 defaults rather than setting them all to unlimited.
67 - wrote a brief security note as Imager::Security
68 https://rt.cpan.org/Ticket/Display.html?id=68910
70 Imager 0.90 - 30 Apr 2012
75 - Imager::Test::is_imaged() attempted to process an "epsilon"
76 parameter but the prototype didn't allow for the extra parameter.
77 Corrected the prototype.
79 - when downconverting samples (eg. from floating point to 8 bit)
80 Imager now rounds the sample value rather than attempting to
81 allocate input values over output values equally. The old
82 behaviour had the probably surprising effect of converting a
83 floating point 2.1/255.0 into an 8-bit 3 rather than the expected
85 This may result in slightly different 8 or 16-bit output images.
87 - BI_BITFIELD BMP images were handled incorrectly, both in
88 incorrectly calculating the space required for the masks and in
89 processing the image data itself.
90 https://rt.cpan.org/Ticket/Display.html?id=76736
92 - some odd width BMP BI_RLE4 images use run lengths that run one off
93 the edge of the image. Imager now allows this, discarding the
96 - odd length RLE4 runs in BMP images were decoded incorrectly.
98 - pkg-config could sometimes return a library that was in a directory
99 EU::MM / $Config{libpth} doesn't know about, but the compiler did.
100 If no -L is included in the pkg-config library information check if
101 EU::MM can find the library, and if not, search our configured
102 directories and insert that into the library flags.
103 https://rt.cpan.org/Ticket/Display.html?id=75869
105 - Imager::Probe can now probe for libraries with dependent libraries,
106 common for static linking, eg. libpng requires libz.
107 https://rt.cpan.org/Ticket/Display.html?id=74043
109 - libpng 1.5 specific probes were looking for libpng 1.4 filenames.
111 - added alternative probe configurations that try to link libz, to
112 handle a statically linked libpng.
113 https://rt.cpan.org/Ticket/Display.html?id=74043
115 - if a probe includes testcode, Imager::Probe now checks that code as
116 part of the process of checking each configuration rather than as a
117 post test of the found configuration. This allows alternate
118 configurations to be checked if a matching but non-working
119 configuration is found.
120 https://rt.cpan.org/Ticket/Display.html?id=74043
124 - when reading or writing images via callbacks, the default callbacks
125 now push an error message indicating that a required callback was
126 called but not supplied.
127 https://rt.cpan.org/Ticket/Display.html?id=76782
129 - clarify which callbacks are required for reading and writing TIFF
132 - improve logging for creation of callback I/O layers.
134 - a little more documentation for Imager::Probe.
136 - the i_get_file_background() and i_get_file_backgroundf() APIs now
137 return int to indicate whether the i_background tag was found.
140 - improve error reporting
141 - add png_interlace, png_bits tags
142 - read paletted images as paletted images, including transparency
143 - read 1 bit greyscale images as a type suitable for other file
144 handlers to write as bilevel
145 - read 16 bit/sample PNG as 16-bit/sample Imager images
146 - write "bilevel" paletted images as 1 bit grayscale images
147 - write paletted images as paletted images
148 - write 16-bit (or higher)/sample images as 16-bit/sample PNG
150 - improved metadata support
151 https://rt.cpan.org/Ticket/Display.html?id=29268
153 Imager 0.89 - 18 Mar 2012
158 - getpixel(..., type => "float") and the API i_gpixf() have been
159 broken on paletted images since they were implemented.
160 https://rt.cpan.org/Ticket/Display.html?id=75258
164 - links in the METHOD INDEX now point at the method documentation
165 rather than the heading you can find them under.
166 https://rt.cpan.org/Ticket/Display.html?id=71495
168 - Imager (and the bundled dynamic modules) no longer fallback to
169 using DynaLoader if loading via XSLoader fails.
170 For the bundled modules this could hide useful error messages.
171 https://rt.cpan.org/Ticket/Display.html?id=75560
173 - IM_DEBUG_MALLOC mymalloc() no longer sn?printfs() a string to a
174 buffer in the array of allocations, but just stores the filename
175 pointer and line number.
176 https://rt.cpan.org/Ticket/Display.html?id=70388
178 Imager 0.88 - 22 Feb 2012
181 - describe how to build libgif etc on OS X in such a way as to be
182 compatible with a fat binary perl (such as the system perl), in
184 https://rt.cpan.org/Ticket/Display.html?id=73371
186 - update the change notes for 0.77_01 to indicate that libungif
189 - add some other imaging modules to SEE ALSO
190 https://rt.cpan.org/Ticket/Display.html?id=73906
192 - note that the generator of the apparently non-DFSG-free postscript
193 in MMOne.pfb is a Debian package.
195 - setsamples() is now a true complement to getsamples() - it can
196 write 8-bit or floating point samples from a scalar or array
197 reference. This adds i_psamp() and i_psampf() to the C level API.
199 - the XS interfaces to i_gsamp(), i_gsampf() and i_gsamp_bits() have
200 changed to make better use of the typemap, but these aren't part of
201 the perl level API anyway. There were no changes to the C level
202 interfaces to these functions.
204 - getpixel() and setpixel() now accept a mix of scalar and array
205 references for the x and y parameters, and unequal array lengths is
207 https://rt.cpan.org/Ticket/Display.html?id=73697
211 - correctly calculate the size of a rotated image
212 https://rt.cpan.org/Ticket/Display.html?id=69261
214 - fix incorrect rounding of color values for matrix_transform() and
216 https://rt.cpan.org/Ticket/Display.html?id=69261
218 - Win32 text output is now done in normal combine mode, the alpha
219 component of the color is now significant.
220 https://rt.cpan.org/Ticket/Display.html?id=70014
222 - remove long unused gif case from read()
223 https://rt.cpan.org/Ticket/Display.html?id=69244 (partial)
225 - the getsamples() target parameter was being treated as a hashref
226 when it's meant to be an array reference.
227 https://rt.cpan.org/Ticket/Display.html?id=74882
229 - getpixel() and setpixel() now returns an empty list when invalid
230 parameters are supplied.
231 Invalid values for type now result in an error for getpixel().
232 https://rt.cpan.org/Ticket/Display.html?id=73697
234 Imager 0.87 - 03 Jan 2012
237 - document the return value of the filter() method.
238 https://rt.cpan.org/Ticket/Display.html?id=72369
240 - document i_gsamp_bits() and i_psamp_bits().
241 https://rt.cpan.org/Ticket/Display.html?id=68815
243 - properly increment the Imager::Matrix2d $VERSION.
245 - actually include the Imager::Test tests in the dist
247 - correctly read and write 256x256 pixel ICO files
248 https://rt.cpan.org/Ticket/Display.html?id=69599
250 - make the error message from read() or read_multi() when they can't
251 identify the file type match reality.
252 https://rt.cpan.org/Ticket/Display.html?id=72475
254 - read() now uses $FORMATGUESS if it can't determine the file type
255 based on the file header, to match read_multi().
257 - re-work and add tests for def_guess_type(). def_guess_type() no
258 longer returns any random file extension as the file type.
260 - add gray4, gray16 and gray as presets for make_colors.
261 https://rt.cpan.org/Ticket/Display.html?id=67911
263 - add make_palette() method that produces a palette from one or more
266 - fix the Imager dependency for the separately distributed font
268 https://rt.cpan.org/Ticket/Display.html?id=72643
270 - fix i_render_color() to properly draw in "normal" mode - ie. when
271 writing to a 1 or 3 channel image the second or fourth channel of
272 the source color was being ignored, it is now significant.
273 https://rt.cpan.org/Ticket/Display.html?id=71564
275 Imager 0.86 - 31 Oct 2011
278 - improve error reporting for W32 tests
280 Imager 0.85_02 - 24 Oct 2011
285 - eliminate unused i_gif_opts type (clean-up)
286 https://rt.cpan.org/Ticket/Display.html?id=69245
288 - fix combine=0 fill color anti-aliasing on the double/sample path
289 https://rt.cpan.org/Ticket/Display.html?id=71309
291 - make default text color non-transparent
292 https://rt.cpan.org/Ticket/Display.html?id=71469
294 - apply the last of the Debian unforwarded spelling fixes
295 https://rt.cpan.org/Ticket/Display.html?id=70656
297 - the log() method used its message parameter as a C level format
299 https://rt.cpan.org/Ticket/Display.html?id=71653
301 - provide our own STRLEN typemap entry for older perls.
302 https://rt.cpan.org/Ticket/Display.html?id=71641
304 - add extra ppport.h configuration to support older perls.
306 - depend on Scalar::Util, since we use it and older perls don't have
309 - add overloaded eq to Imager::Matrix2d, since older perls don't seem
310 to synthesize it from overloaded "".
312 - use T1_StrError() for error messages on modern libt1
313 https://rt.cpan.org/Ticket/Display.html?id=69879
315 - actually load the font rather than just adding it to the catalog on
318 - Imager::Font->new now produces better error messages for the T1
321 - the font has_chars() method now returns perl's true and false
322 values in list context rather than integers, which should be more
324 https://rt.cpan.org/Ticket/Display.html?id=69158
326 - the btm data structure used by the flood_fill code is now
327 initialized more efficiently.
328 https://rt.cpan.org/Ticket/Display.html?id=68994
330 - updated the Thanks list in README
331 https://rt.cpan.org/Ticket/Display.html?id=71607
333 - check there's at least one coefficient for the convolution filter
334 https://rt.cpan.org/Ticket/Display.html?id=68993
336 - make the APIRef synopsis ordering consistent, older versions of
337 perl could order it differently.
338 https://rt.cpan.org/Ticket/Display.html?id=71675
340 - we rely on Config.pm's d_vsnprintf as to whether we use
341 vsnprintf/snprintf, which is defined in the Win32 Config.pm even
342 though it only has _ prefixed versions of these. Define our own
343 prefixed names on Win32.
344 https://rt.cpan.org/Ticket/Display.html?id=71642
346 - fix library detection with MSVC
348 - search a few more library directories, so EU::MM doesn't discard
349 them. Hopefully fixes:
350 https://rt.cpan.org/Ticket/Display.html?id=71643
352 Imager 0.85_01 - 10 Oct 2011
355 - add simple tests for the Imager::Test test_image generators
357 - io_glue I/O buffering re-work:
359 - reorganize io_glue to do it's own buffering by default
361 - the unbuffered functions are available as i_io_raw_read() (or
362 raw_read() from perl) etc but are not recommended for typical
365 - use the new i_io_peekn() when checking for file magic to avoid
366 seek, allowing Imager to detect the file type and read the file
367 from an unseekable stream (for formats that don't use random
370 - added several new I/O layer API functions.
372 - fix the TGA performance problem, most noticably on Win32
373 https://rt.cpan.org/Ticket/Display.html?id=70037
375 - TIFF now uses wrapper functions of the correct types to avoid casts
376 https://rt.cpan.org/Ticket/Display.html?id=69912
378 - the callback IO object did its own buffering, controlled by the
379 maxbuffer parameter supplied to the read() and write() methods.
380 This buffering has been removed, to avoid redundancy with the
381 common io_glue buffering. This also avoids a bug in that code
382 which could rarely pass a zero length to the read callback and
383 then panic about the result.
385 - the callback IO object now tests the result of calling the close
386 callback, which should return true for success.
388 - the PNM reader did its own buffering. This buffering has been
389 removed to avoid redundancy with the common io_glue buffering.
391 - previously the read handlers for fd and callback I/O layers would
392 call the underlying interface (POSIX read or your supplied callback)
393 until it filled the buffer. It now only makes one call.
395 - added public constructors for I/O layer objects (see Imager::IO)
397 - all core file handlers now use the i_io_foo() wrappers to gain
398 access to buffered I/O rather than calling the I/O layer
401 - all core file handlers now check for error on close.
403 - Backward compatibility: if you hava custom file handlers, you can
404 use i_io_write() etc since they're available as macros in older
407 - eliminate the final remnants of io_glue_commit_types().
409 - bump IMAGER_API_VERSION, since the above may break assumptions.
411 - removed the long unused i_gen_reader() and i_gen_writer() utility
414 Imager 0.85 - 29 Aug 2011
417 The main changes in the release versus 0.84 are:
419 - on 64-bit systems, 64-bit types are consistently used for image
420 dimensions and co-ordinated, and for memory block sizes.
422 - handle IFD loops in TIFF files correctly. Previously this would
423 lead to an infinite loop.
427 - fix the link in the getheight() entry in the method index
429 Imager 0.84_02 - 22 Aug 2011
432 Development release, this will become 0.85 if CPAN testers is
437 - the image file limits set by set_file_limits() weren't being
438 checked when reading TIFF files.
439 https://rt.cpan.org/Ticket/Display.html?id=69915
441 - Provide more information about file format module load errors on a
442 failed image file read() or write().
443 https://rt.cpan.org/Ticket/Display.html?id=69194
445 - use TIFFReadDirectory() instead of TIFFSetDirectory() to iterate
446 through TIFF images, since it checks for IFD loops.
447 https://rt.cpan.org/Ticket/Display.html?id=69914
449 - don't leak memory when out of range palette indexes are supplied to
451 https://rt.cpan.org/Ticket/Display.html?id=69242
453 - require a later version of CPAN::Meta to ensure JSON::PP and
454 CPAN::Meta::YAML are available.
455 https://rt.cpan.org/Ticket/Display.html?id=69008
457 - hoist the per-line calculations for the flines implementations, and
458 modernize the tests a bit.
459 https://rt.cpan.org/Ticket/Display.html?id=70126
461 - detect snprintf()/vsnprintf() (cheat by using Config.pm) and use
463 https://rt.cpan.org/Ticket/Display.html?id=69147
465 - if t1lib failed to reinitialize it would be left as marked
467 https://rt.cpan.org/Ticket/Display.html?id=69877
469 - update the bundled (and still modified) Devel::CheckLib
470 https://rt.cpan.org/Ticket/Display.html?id=69170
472 Imager 0.84_01 - 8 Aug 2011
475 Development release as a sanity check for the types re-work.
477 Massive types re-work:
479 - the type used internally for pixel co-ordinates and image sizes is
480 now 64-bit on 64-bit platforms (at least sane ones).
482 - size_t is now used consistently for memory block sizes.
484 - since this changes the binary interface, the Imager API version has
485 been incremented. Any module that uses the API will need to be
486 rebuilt. In most cases that will be enough, but calls to any APIs
487 that take a pointer to image sizes may need source changes.
489 - you should be able to create very large images on 64-bit systems,
490 if you have enough memory. Successfully created a 32768 x 49192 x
491 3 channel image, filled with a tiled image and scaled it. The
492 unscaled image was also successfully saved to a JPEG.
494 - check the image size before attempting to write BMP, GIF, JPEG,
495 PNG, SGI, TGA, TIFF images.
497 - correctly handle reading TGA images over 32767 pixels wide or tall.
501 - the gif_left and gif_top tags are now clamped to non-negative
502 values when writing a GIF image.
504 - removed dead callback read/write code
506 The default maximum memory size when reading files is now 1G.
508 Imager 0.84 - 20 Jun 2011
511 - Imager no longer inherits from Exporter (unless you're running an
514 - Imager can now write progressive JPEGs (it could always read them).
515 https://rt.cpan.org/Ticket/Display.html?id=68691
519 - re-work, document and test Imager's logging facility.
520 https://rt.cpan.org/Ticket/Display.html?id=65227
522 - fix META.yml testing and the generated META.yml
523 https://rt.cpan.org/Ticket/Display.html?id=65235
525 - test and add error reporting to to_*() family methods
527 - add to_rgb_double() method.
528 https://rt.cpan.org/Ticket/Display.html?id=65101
530 - Imager no longer exports anything by default
531 https://rt.cpan.org/Ticket/Display.html?id=65228
533 - convert colors to grayscale if the supplied (or generated) palette
534 contains only grays when performing error diffusion color
536 https://rt.cpan.org/Ticket/Display.html?id=68508
538 - writing a paletted image to GIF wouldn't always use the colors
539 supplied (or generated, eg. via make_colors => "mono"), which was
541 https://rt.cpan.org/Ticket/Display.html?id=67912
543 - replace (imager|tony)@imager.perl.org in the doc, since I don't
544 plan to continue receiving mail at that address.
545 https://rt.cpan.org/Ticket/Display.html?id=68591
547 Imager 0.83 - 21 May 2011
552 - diag() the error message on failure for some TIFF tests that are
553 failing on a Solaris smoker.
554 http://www.cpantesters.org/cpan/report/6396db1e-8090-11e0-9682-112b785ebe45
556 Imager 0.82_01 - 17 May 2011
559 Dev release, in case the compose tests are too sensitive.
563 - Imager::Font::T1 incorrectly checked for absolute filename under
564 Win32. Thanks to kmx for the report and fix.
565 https://rt.cpan.org/Ticket/Display.html?id=67963
567 - compose() with the target, source or mask position off the top or
568 left of the target image didn't clip the source image correctly.
569 https://rt.cpan.org/Ticket/Display.html?id=67220
571 - compose() now returns a useful error message on a non-positive
574 - compose.im now at 100% test coverage. (As opposed to, umm, much,
577 Imager 0.82 - 14 Mar 2011
582 - eliminate calls to i_has_format() from the test suite, since it's
583 no longer a useful way to check for file format support. Eliminate
584 i_has_format() from the functions exposed via XS.
585 https://rt.cpan.org/Ticket/Display.html?id=65863
587 - eliminate calls to note(), which isn't in the (very old) version of
588 Test::More we have as a pre-requisite. note() is modern enough
589 that I don't feel a need to require a Test::More upgrade for it.
590 https://rt.cpan.org/Ticket/Display.html?id=65864
592 - skip the threads tests on Test::More 2.00_*
593 https://rt.cpan.org/Ticket/Display.html?id=65812
595 - add an (unshipped) test to check Imager's internal POD links
596 https://rt.cpan.org/Ticket/Display.html?id=65749
598 - improve the library detection summary
599 https://rt.cpan.org/Ticket/Display.html?id=9675
601 - increase the version of Imager::Font::Type1 so that upgrades don't
602 downgrade the version in this file.
603 https://rt.cpan.org/Ticket/Display.html?id=66250
605 - if we see an -rpath (or -R) option in $Config{lddlflags} supply
606 that option for the directories that would normally go in
607 LD_RUN_PATH. Typically an explicit -rpath overrides LD_RUN_PATH.
608 https://rt.cpan.org/Ticket/Display.html?id=65955
610 Imager 0.81 - 14 Feb 2011
613 - added coverage tests for masked images (maskimg.c @100% test coverage)
615 - add hsv() method to Imager::Color
616 Thanks to Leolo (Philip Gwyn)
617 https://rt.cpan.org/Ticket/Display.html?id=65385
619 - split libt1 Type 1 font support into a sub-module
620 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
622 - add a preload() class method for use in forking servers, and to
623 work around limitations in PAR.
624 https://rt.cpan.org/Ticket/Display.html?id=65665
628 - paletted writes to a masked image are now masked correctly.
629 Revealed by new coverage tests.
631 - update the filter plugin documentation.
632 https://rt.cpan.org/Ticket/Display.html?id=56513
634 - add the matrix() method to Imager::Matrix2d to allow creation of a
635 matrix with specified co-efficients. You can now multiple an
636 Imager::Matrix2d object by a 9 element array ref or a number.
637 https://rt.cpan.org/Ticket/Display.html?id=29938
639 - really fix loading TTF fonts with FT2 when FT1 isn't available.
640 Thanks to Leolo (Philip Gwyn)
641 https://rt.cpan.org/Ticket/Display.html?id=65386
642 https://rt.cpan.org/Ticket/Display.html?id=62855
644 - make sure each test script that needs testout/ creates it.
645 https://rt.cpan.org/Ticket/Display.html?id=65088
647 - handle a slightly different warning from libtiff 4.x
648 https://rt.cpan.org/Ticket/Display.html?id=65268
650 - the sat transform2() op returned an incorrect saturation.
651 https://rt.cpan.org/Ticket/Display.html?id=65391
653 Imager 0.80 - 17 Jan 2011
656 - added coverage tests for Imager::Fountain and Imager::Color::Float
658 - Imager is now maintained in git
659 http://git.imager.perl.org/imager.git
660 git://git.imager.perl.org/imager.git
664 - images with an translucent alpha channel were not scaled correctly
665 by the default (qtype=normal) scaling method.
666 https://rt.cpan.org/Public/Bug/Display.html?id=63922
668 - Imager::Color::Float now translates "#FFFFFF" to white instead of
669 just a little darker.
671 - make the default color map build algorithm "mediancut". This
672 changes the default color map builder for writing GIFs back to what
673 it was in 0.77, reverting a performance regression.
674 https://rt.cpan.org/Ticket/Display.html?id=64785
676 - handle failure to create a masked image correctly
678 Imager 0.79 - 10 Dec 2010
681 - add Imager::Test to the POD coverage tests and document the missing
684 - the convert() method now optimizes the case where all output
685 channels are either 0, sourced from a single input channel or 1.
686 This significantly speeds up presets like "addalpha", "green".
687 https://rt.cpan.org/Ticket/Display.html?id=51254
689 - add wiggle.pl sample, as suggested by Dan Oppenheim.
691 - add the combine() method to combine channels from multiple source
692 images into a new image
693 https://rt.cpan.org/Ticket/Display.html?id=11872
697 - treat the co-efficients for convert() as doubles instead of floats.
699 - If a higher (earlier) priority font handler failed to load, that
700 would crash preventing loading of later font handlers.
701 https://rt.cpan.org/Ticket/Display.html?id=62855
703 - parse defines from the options returned by pkg-config --cflags
704 https://rt.cpan.org/Ticket/Display.html?id=63223
706 - a regen of the MANIFEST revealed that GIF and FT2 tests weren't
707 included in the tarball. They are now included.
709 Imager 0.78 - 4 Oct 2010
714 - don't access deprecated members of the png_structp.
715 https://rt.cpan.org/Ticket/Display.html?id=60242
717 - document that using color objects is faster than supplying colors
719 https://rt.cpan.org/Ticket/Display.html?id=61047
721 - Imager::Probe now accepts array references for incpath and libpath.
722 https://rt.cpan.org/Ticket/Display.html?id=60244
724 Imager 0.77_02 - 27 Sep 2010
727 - moved Win32, FreeType 2 font support into sub-modules.
728 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
729 Uses Imager::Probe now.
730 https://rt.cpan.org/Public/Bug/Display.html?id=61328
732 - tested successfully with jpeg-8b
733 https://rt.cpan.org/Ticket/Display.html?id=60221
737 - from _01: look for missing file support test files in the right
740 - flood_fill() wouldn't fill the right side of a single scan-line
742 Thanks to Nicolas Roggli for reporting this.
744 - flood_fill wouldn't fill to the left edge of the image if the
745 starting line didn't reach the left edge.
746 Thanks to Nicolas Roggli for reporting this.
748 Imager 0.77_01 - 13 Sep 2010
751 - add each library-directory/pkgconfig/ to the pkg-config search path
753 Thanks to Justin Davis.
754 https://rt.cpan.org/Ticket/Display.html?id=60491
756 - moved GIF, TIFF, JPEG file handling code into sub-modules in
757 preparation for separate distribution.
758 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
760 Note: this removed support for libungif from Imager.
762 - optimize filled box drawing (color, not fill)
766 - Imager::Probe was calling ExtUtils::Liblist to initialize
767 LD_RUN_PATH supplying an undefined value rather than the found
768 directory. Thanks to Justin Davis.
769 https://rt.cpan.org/Ticket/Display.html?id=60491
771 - only prepend ./ to font filenames when passing them to T1Lib and
772 then only when it would use its search mechanisms.
773 https://rt.cpan.org/Ticket/Display.html?id=60509
775 - fix the cache check for the X rgb.txt loader. This is typically
776 used for color translation on Unix-like systems, and the fix
777 improves performance of supplying colors by name by about 80 times.
778 Test code that managed 3400 10x10 pixel boxes/second sped up to
781 - clarify that Imager doesn't write EXIF metadata to images.
782 https://rt.cpan.org/Ticket/Display.html?id=60637
784 - Imager::Probe can now search subdirectories under its include path.
785 Used by the PNG Makefile.PL to find headers and libraries when they
786 aren't in the base directory, as in cygwin.
787 https://rt.cpan.org/Ticket/Display.html?id=60635
789 Imager 0.77 - 11 Aug 2010
792 I don't want Imager::File::PNG indexed as part of Imager, but forgot
793 to update the META.yml before updating the version.
795 - don't index Imager::File::PNG as part of Imager
797 - add resources to META.yml
799 Imager 0.76 - not released
804 - the align_string() method would ignore a string of "0" due to a
806 Thanks to Maurice Height for reporting this.
807 https://rt.cpan.org/Ticket/Display.html?id=60199
809 Imager 0.75_03 - 09 Aug 2010
814 - read_types() and write_types() would include png when it wasn't
815 available due to a problem with the %formats tie
817 - handle dependent libraries correctly (eg -lpng requiring -lz) in
818 the code run phase of library probing.
820 Imager 0.75_02 - 07 Aug 2010
825 - add file missing from MANIFEST, which was causing TIFF failures.
827 Imager 0.75_01 - 06 Aug 2010
830 Test release for the new PNG probe.
832 - added the ability to read multiple-image PNM files.
833 Note that unlike the pbm/pgm/ppm specification this accepts mixed
834 format files and allows white space padding between files.
835 Thanks to Philip Gwyn (Leolo) for this patch.
837 - moved the PNG file handling code into a sub-module in preparation
838 for separate distribution.
839 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
840 Also helps avoid complications from -I/-L compile/link options from
845 - Imager->new(data => $data) didn't try to process image file data in
847 https://rt.cpan.org/Ticket/Display.html?id=58761
849 - t/t50basicoo.t no longer depends on the other tests to generate its
851 https://rt.cpan.org/Ticket/Display.html?id=9798
852 Also, it wasn't testing pnm (pnm vs ppm mix-up)
854 - update the documentation of hardinvert to match the change in 0.62.
855 https://rt.cpan.org/Ticket/Display.html?id=59785
857 - added hardinvertall filter which also inverts the alpha channel
860 - when probing for TIFF, set LD_RUN_PATH just as the Makefile does so
861 the probe can find the library for the test run.
862 https://rt.cpan.org/Ticket/Display.html?id=57518
864 Imager 0.75 - 20 Jun 2010
867 - use PERL_NO_GET_CONTEXT to slightly improve performance on threaded
872 - an opacity fill based on a fountain fill would segfault when
873 filling an 8-bit/sample image.
875 - merge thickline branch polygon fix
876 https://rt.cpan.org/Ticket/Display.html?id=43518
878 Imager 0.74 - 7 May 2010
883 - read_multi() didn't handle a missing file format library correctly,
884 aborting on failing to call i_readgif_multi_wiol() or
885 i_readtiff_multi_wiol().
887 - fix spelling errors patched by Debian
888 http://svn.debian.org/viewsvn/pkg-perl/trunk/libimager-perl/debian/patches/spelling.patch?revision=54839&view=markup
890 - add an (unshipped) author test to spellcheck Imager's POD.
892 - update the TIFF file format documentation
893 https://rt.cpan.org/Ticket/Display.html?id=56510
895 - lib/Imager/IO.pod was written almost 4 years ago but never shipped.
897 Imager 0.73 - 15 Mar 2010
900 - implement outline circles, both anti-aliased and not
901 https://rt.cpan.org/Ticket/Display.html?id=19755
903 - a combine => "none" fill to a 1 or 3 channel image would produce
904 the incorrect colour.
906 Imager 0.72 - 09 Dec 2009
909 Bump version for release, since 0.71_03 is stable with CPAN testers.
911 Imager 0.71_03 - 5 Dec 2009
914 - further adjust the threads test so it only performs the tests on
915 perls where it's expected to work, and only if the threads module
918 Imager 0.71_02 - 1 Dec 2009
921 - adjust the way we load the threads module for the threads test so
922 it works with non-threaded perls
924 Imager 0.71_01 - 30 Nov 2009
929 - use scanline oriented operations to flip images instead of pixel
931 https://rt.cpan.org/Ticket/Display.html?id=39278
933 - use double/sample operations to flip large sample images instead of
934 8-bit sample operations.
935 https://rt.cpan.org/Ticket/Display.html?id=39280
938 https://rt.cpan.org/Ticket/Display.html?id=51874
940 - prevent double-frees when someone creates Imager objects and then
941 creates a thread. Note: this just handles some simple cases,
942 Imager doesn't support perl threads, and isn't likely to.
943 https://rt.cpan.org/Ticket/Display.html?id=52268
945 Imager 0.71 - 16 Nov 2009
948 - add the opacity fill type - an adaptor that modifies the opacity of
953 - the conv filter now enforces that the sum of the coefficients is
954 non-zero. Also, rather than skipping pixels off the edge off the
955 edge of the image, the closest edge pixel is used. Previously
956 dividing by the zero sum of coefficients could cause invalid
957 results or runtime exceptions.
958 Thanks to David Cantrell's Alpha-NetBSD CPAN test box for revealing
961 Imager 0.70 - 21 Sep 2009
966 - release image row and comments memory on all error returns in gif
969 - handle zero length extensions, previously this would cause a null
971 Thanks to Krzysztof Wojtaś for the test data and fix for this.
973 - an integer division meant that preview scaling to below 1 pixel
974 wide or high (which isn't too useful anyway) was calculating using
975 NaNs on most platforms, and causing an exception on others.
976 Thanks to David Cantrell for producing a backtrace of the crash on
977 his Alpha-NetBSD CPAN test box which made it possible to track this
980 Imager 0.69 - 08 Sep 2009
985 - broken test fix - was attempting to call a function skip_all, when
986 that should be a parameter to plan().
988 - briefly document apidocs.perl, the tool used to build
989 Imager::APIRef and make some minor enhancements
991 - various minor documentation enhancements and fixes.
993 Imager 0.68 - 07 Sep 2009
996 - Imager->new(file => $filename) and other similar incantations will
998 https://rt.cpan.org/Ticket/Display.html?id=48261
1002 - avoid using CHECK as a label in Imager::Test
1003 http://nntp.x.perl.org/group/perl.cpan.testers/5220921
1005 - re-work most image file test files that require a library into
1006 separate library present/not present files to remove stupidly long
1009 - don't treat rubthrough() outside the bounds of the target image as
1011 http://nntp.x.perl.org/group/perl.cpan.testers/5185716
1013 Imager 0.67_01 - 02 Sep 2009
1018 - correct documentation of default of raw image interleave read
1020 https://rt.cpan.org/Ticket/Display.html?id=42074
1022 - add raw_ prefix to raw read parameters, though the original names
1025 - fail the read if an invalid raw_interleave parameter is supplied
1027 - warn if no interleave or raw_interleave parameter is supplied,
1028 since the documented default was wrong, and incompatible with the
1031 - for reading raw images, if raw_storechannels > raw_datachannels,
1032 set the extra channels in the image to 0
1034 - when probing for executables like freetype-config, search for .bat
1035 and .cmd on MSWin32, as well as .exe.
1036 https://rt.cpan.org/Ticket/Display.html?id=49275
1038 - re-work the external libraries section of README:
1039 - list Debian and Redhat package names for each library
1043 - use the new EU::MM META_MERGE facility instead of generating
1044 META.yml from scratch
1045 https://rt.cpan.org/Ticket/Display.html?id=47888
1047 - use Devel::CheckLib (bundled, modified) to check which release of
1048 libtiff is installed and reject 3.9.0
1049 http://bugzilla.maptools.org/show_bug.cgi?id=2088
1050 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543079
1052 Imager 0.67 - 12 Dec 2008
1057 - fix a packaging error
1059 Imager 0.66 - 12 Dec 2008
1062 - 24-bit color .ICO/.CUR files can now be read.
1066 - an optimization skipping 0 src alpha values could cause the
1067 rubthrough() to read past the end of a buffer.
1068 http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
1070 - corrected a reference leak where writing GIFs would leak memory.
1071 This could also happen calling to_paletted().
1072 Also documented the underlying long existing feature where the
1073 colors parameter is filled with the generated color table and added
1075 http://rt.cpan.org/Ticket/Display.html?id=41028
1077 - write out the image size in bytes field of a BMP correctly.
1078 http://rt.cpan.org/Ticket/Display.html?id=41406
1080 - add limited tests for Imager::ExtUtils
1082 - make Imager::ExtUtils->includes use an absolute path, since
1083 a relative path could cause failures using Inline::C.
1084 http://rt.cpan.org/Ticket/Display.html?id=37353
1086 - re-arrange the POD for Imager::Font::BBox:
1087 - mark total_width(), pos_width(), end_offset() obsolete, since
1088 they're mostly for backwards compatibility
1089 - group width methods and height methods
1090 https://rt.cpan.org/Ticket/Display.html?id=39999
1092 Imager 0.65 - 20 May 2008
1097 - In some cases when an error occurs reading those parts of a JPEG
1098 file after the image the scan-line buffer could be freed a second
1099 time. In cases where the the error occured while reading the image
1100 data it's possible that the buffer could have leaked.
1101 Thanks to Gabriel Vasseur for reporting this and help in tracking
1104 - the gif_screen_height tag was overriding the screen width and being
1105 ignored for the screen height when present.
1106 https://rt.cpan.org/Public/Bug/Display.html?id=35568
1108 Imager 0.64 - 23 April 2008
1111 This is a bug fix release. This includes a fix for a possible
1116 - Possible security issue: The floating point sample path for image
1117 based fills had a buffer overflow. This would overwrite the end of
1118 a malloc()ed buffer with double precision floats.
1119 http://rt.cpan.org/Ticket/Display.html?id=35324
1122 - check that the result of fileno($fh) is defined rather than simply
1123 true when read() or write() is supplied with an fh parameter.
1124 http://rt.cpan.org/Ticket/Display.html?id=35139
1126 - i_scale_axis() wasn't checking the result of i_img_new_ch()
1127 resulting in a SIGSEGV when attempting to scale an image to a size
1128 too large to fit in memory. This is a NULL pointer access issue,
1129 not a buffer overflow.
1130 Added a check for the failure.
1131 scale_calculate() (and hence scale()) will now fail if any of the
1132 scale size parameters are a reference.
1133 http://rt.cpan.org/Ticket/Display.html?id=35172
1135 - Regression: filling a greyscale image with a hatch used the wrong
1136 color channels from the supplied fg/bg colors.
1137 https://rt.cpan.org/Ticket/Display.html?id=35278
1139 - fixed a related problem for image fills.
1141 Imager 0.63 - 7 April 2008
1144 This release primarily contains changes to improve ease of use -
1145 rather than you having to convert images to the appropriate number of
1146 channels, Imager handles it internally. How to handle drawing colors
1147 and the default combine mode is a thornier problem left for some other
1150 - the font libraries are now only initialized when needed.
1151 http://rt.cpan.org/Ticket/Display.html?id=28825
1153 - moved the imtoc.perl code into Imager::Preprocess
1155 - paste() and rubthrough() now adapt the source image data to the
1156 destination, so you can now safely paste/rubthrough from greyscale
1157 images to color images or back, or from alpha channel images to
1158 noalpha channels or back.
1159 https://rt.cpan.org/Ticket/Display.html?id=30908
1161 - rubthrough() now falls back to pasting when the source doesn't have
1162 an alpha channel. This effectively treats the source as having a
1163 max alpha channel, the right thing to do.
1164 http://rt.cpan.org/Ticket/Display.html?id=29944
1166 - re-worked most of the area filling code to use a common set of
1167 functions when filling.
1168 Corrected normal combine mode.
1169 Rewrote most of the combine modes to match the way the SVG draft
1170 defines them with respect to a translucent source and destination.
1171 Added tests for translucent source and destination.
1172 Added tests to check 8-bit/sample and double/sample combines work
1174 https://rt.cpan.org/Ticket/Display.html?id=29879
1176 - writing a 2 or 4 channel image to a JPEG file will now write that
1177 image as if composited against a background, black by default,
1178 overridable with the i_background tag/parameter.
1179 https://rt.cpan.org/Ticket/Display.html?id=29876
1181 - writing a 2 or 4 channel image to a PGM/PPM file will now write
1182 that image as if composited against a background, black by default,
1183 overridable with the i_background tag/parameter.
1184 http://rt.cpan.org/Ticket/Display.html?id=30074
1186 - writing a 2 or 4 channel image to a BMP file will now write that
1187 image as if composited against a background, black by default,
1188 overridable with the i_background tag/parameter.
1189 http://rt.cpan.org/Ticket/Display.html?id=30075
1193 - Imager::Matrix2d->translate() now only requires one of the x or y
1195 http://rt.cpan.org/Ticket/Display.html?id=29937
1197 - mixing qtype scaling now sets all channels of a pixel to zero if
1198 the pixel has zero coverage (zero alpha). This should produce more
1199 compressible output files.
1200 http://rt.cpan.org/Ticket/Display.html?id=32324
1202 - removed the pointless #! line from lib/Imager/Font/Wrap.pm
1204 https://bugzilla.redhat.com/show_bug.cgi?id=166254
1205 I'm not changing the #! lines of the sample code, since it's sample
1206 code, not intended for installation.
1207 http://rt.cpan.org/Ticket/Display.html?id=33408
1209 - some TGA images weren't being detected correctly as TGA images
1210 https://rt.cpan.org/Ticket/Display.html?id=32925
1212 - handling of the left-over bit for 16-bit/pixel TGA images has been
1213 changed to match the behaviour of the GIMP. Previously the bit
1214 being set was treated as an opaque pixel, but one user reported a
1215 problem with loading such an image. I haven't been able to find any
1216 tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
1217 I'll match it's behaviour. See issue 114913 in the GIMP's
1219 http://rt.cpan.org/Ticket/Display.html?id=32926
1221 Imager 0.62 - 10 December 2007
1224 - Makefile.PL now expands ~/path supplied to --incpath or --libpath
1225 to /path under your home directory.
1226 http://rt.cpan.org/Ticket/Display.html?id=29484
1228 - the old dynaload code used Mach API functions to load dynamic
1229 libraries on Mac OS X. These APIs have been deprecated in OS X
1230 10.5 and were causing some build problems.
1231 So henceforth Imager uses the dlopen() family of functions, and you
1232 will need version 10.3 or later of OS X.
1234 - added the det() function to the transform2() engine.
1235 added the sample quad_to_square.pl
1236 Courtesy Richard Fairhurst.
1237 http://rt.cpan.org/Ticket/Display.html?id=31244
1241 - samples/gifscale.pl sourced the base value for gif_top from
1243 Thanks to Eleneldil G. Arilou for pointing this out.
1245 - t/t82inline.t no longer loads B at runtime, to work around a bug
1246 in some 5.005_0[45] installations.
1247 http://rt.cpan.org/Ticket/Display.html?id=30508
1249 - work around Module::Depends::Intrusive bug #21229
1250 http://rt.cpan.org/Ticket/Display.html?id=30520
1252 - the hardinvert filter no-longer inverts the alpha channel.
1253 http://rt.cpan.org/Ticket/Display.html?id=30002
1255 - the hardinvert filter now supports large samples
1257 Imager 0.61_02 - 28 November 2007
1260 - major TIFF support re-work
1261 http://rt.cpan.org/Ticket/Display.html?id=20329
1263 - added a C level image interface for accessing samples from 1-32
1264 bits, exposed this at the perl level in getsamples()
1266 - the conv filter now works at floating point precision for high bit
1269 - added is_bilevel method to test whether an image should be written as
1270 a bilevel image if the image format supports it.
1272 - added -log-stderr as an Imager import list option
1274 - added some important types to Imager::APIRef
1276 - added test_image_double() to Imager::Test
1280 - Imager::Fountain couldn't read GIMP gradient files with 10 or more
1283 - the scale() method with qtype mixing now handles images with an
1284 alpha channel correctly.
1286 - fixed a broken link from the "animated GIF" entry in the concept index.
1287 Thanks to Slaven Rezic.
1288 http://rt.cpan.org/Ticket/Display.html?id=30889
1290 - on some perl's the infix expression parser test would fail due to
1291 actions in the grammar returning false. Made sure all actions return
1293 Thanks to Richard Fairhurst for spending a lot of time in tracking
1295 http://rt.cpan.org/Public/Bug/Display.html?id=29562
1297 Imager 0.61 - 5 November 2007
1300 - added samples/gifscale.pl, which adjusts the screen size/position tags
1301 when scaling an animated gif
1302 http://rt.cpan.org/Ticket/Display.html?id=27591
1306 - correct handling of sz in matrix_transform() - this should allow
1307 perspective type transformations to work now.
1308 http://rt.cpan.org/Ticket/Display.html?id=29936
1310 - prevent a cast to integer warning on x64 builds in datatypes.c
1311 also fixed some other type warnings
1312 https://rt.cpan.org/Ticket/Display.html?id=30204
1314 - some sub-directory tests depended on files produced by the parent
1316 http://rt.cpan.org/Ticket/Display.html?id=30203
1318 - Imager::Font::Wrap doesn't correctly set savepos
1319 thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
1320 http://rt.cpan.org/Ticket/Display.html?id=29771
1322 - test 171 in t/t01introvert.t was failing on perls configured to
1324 http://rt.cpan.org/Ticket/Display.html?id=29413
1326 - the code for the transform2() uminus operator was missing a break.
1327 Added tests for better code coverage of the ops.
1328 http://rt.cpan.org/Ticket/Display.html?id=29296
1330 - the SGI RLE compression code could overflow its compression buffer
1331 http://rt.cpan.org/Ticket/Display.html?id=30334
1333 - the 32-bit output function used by the SGI code only handled values
1334 under 0x10000. This was most noticable when writing large RLE images.
1335 http://rt.cpan.org/Ticket/Display.html?id=30335
1337 - validate chan_count for chans == NULL for each of the i_gsamp()
1339 http://rt.cpan.org/Ticket/Display.html?id=28985
1341 - attempt to work around the test failure at
1342 http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
1343 http://rt.cpan.org/Ticket/Display.html?id=29562
1345 - improve the error messages produced when attempting to read or write
1346 an unknown image file format.
1347 http://rt.cpan.org/Ticket/Display.html?id=30103
1349 - improve the transform2() documentation
1350 http://rt.cpan.org/Ticket/Display.html?id=29267
1352 - correctly generate the author key in META.yml
1353 http://rt.cpan.org/Ticket/Display.html?id=30377
1355 - correctly blend a rotated (or matrix_transformed()) image when
1356 performing interpolation in the presence of an alpha channel.
1357 Also corrected the centring of the rotated image on the output
1360 Imager 0.60 - 30 August 2007
1363 - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
1364 now has full SGI RGB image format, including RLE and 16-bit/sample
1366 https://rt.cpan.org/Ticket/Display.html?id=8666
1368 - logging functions are now available in the API
1370 - applied Gabriel Vasseur's patch
1371 added documentation, further tests, and support for greyscale images
1372 Obviously problems are my fault :)
1373 https://rt.cpan.org/Ticket/Display.html?id=28142
1375 - the mask for ICO/CUR images is now applied as an alpha channel to
1376 the returned image. For the old behaviour, supply ico_masked => 0
1377 to read() or read_multi(). This should be less confusing when
1378 using Imager as a general image processor.
1379 https://rt.cpan.org/Ticket/Display.html?id=29001
1383 - in some cases it's possible for giflib/libungif to return color
1384 indexes outside the range of colors defined by the image's palette.
1385 We now expand the palette to match the indexes used.
1386 Thanks to Gabriel Vasseur for reporting this.
1388 - fixed various memory leaks that could occur when failing to read png,
1389 jpeg, bmp or tga files.
1391 - to avoid confusion, channels not present in the image are returned as
1392 zero by getscanline(). This has no effect on the C level i_glin()
1393 and i_glinf() API functions which continue to not set the unused
1396 - the convert() method now returns an image of the same sample size as
1398 https://rt.cpan.org/Ticket/Display.html?id=28492
1400 - remove repeated text in Imager::Files
1401 http://rt.cpan.org/Ticket/Display.html?id=27589
1403 - be even more explicit that scale() and friends don't modify the source
1404 image, but return a new image.
1405 http://rt.cpan.org/Ticket/Display.html?id=28570
1407 - improve the error message from errstr() when you try to load a font
1408 for which the driver hasn't been built in Imager.
1409 http://rt.cpan.org/Ticket/Display.html?id=27571
1411 - transparency is now enabled by default when writing GIF images
1412 http://rt.cpan.org/Ticket/Display.html?id=27615
1414 - Imager would not load on Windows 98
1415 http://rt.cpan.org/Ticket/Display.html?id=27653
1417 Imager 0.59 - 14 June 2007
1422 - fixes a regression introduced by the fixes for RT 11972
1423 http://rt.cpan.org/Ticket/Display.html?id=27546
1425 - cropping outside the image would return an Imager object with
1426 no low-level image object, instead of returning false.
1427 Fixed by: Philip Gwyn (Leolo)
1428 http://rt.cpan.org/Ticket/Display.html?id=27509
1430 Imager 0.58 - 16 May 2007
1433 No significant changes from 0.57_01.
1435 Imager 0.57_01 - 11 May 2007
1438 - added to_rgb16 to produce a 16-bit/sample version of an image
1440 - improve freetype 1.x text output efficiency
1444 - search another place for rgb.txt, and check all the places
1445 Imager::Color checks when deciding whether to skip testing it
1446 http://rt.cpan.org/Ticket/Display.html?id=26064
1448 - use a convolution kernel size based on the stddev rather than a
1449 fixed size when performing a gaussian blur
1450 http://rt.cpan.org/Ticket/Display.html?id=25645
1452 - document the difference() method's mindist parameter, and debug it.
1454 - put the Imager release number in the Inline::C generated code to
1455 regenerate Inline code when a new release of Imager is installed.
1456 http://rt.cpan.org/Ticket/Display.html?id=26278
1458 - fix rendering on alpha channel images for the FreeType 1.x driver.
1459 http://rt.cpan.org/Ticket/Display.html?id=11972
1461 - fix rendering on alpha channel images for the T1lib driver.
1462 http://rt.cpan.org/Ticket/Display.html?id=11972
1464 - reworked library probing, we can now set more than one probe
1465 function for a library. Disabled the default (non-freetype-config)
1466 library probe and added an extra probe function that searches for
1467 both ft2build.h and whatever it includes, and adds -I as needed.
1468 Hopefully this will fix build problems like
1469 http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
1470 http://rt.cpan.org/Ticket/Display.html?id=26086
1472 Imager 0.57 - 30 Apr 2007
1475 This is a maintenence release fixing a security issue in Imager.
1477 - CRITICAL: a specially crafted compressed BMP file can cause a buffer
1478 overflow in malloced memory. There will be further discussion of
1479 this issue in the ticket below.
1480 http://rt.cpan.org/Ticket/Display.html?id=26811
1481 CVE-2007-2459 CVE-2007-2413
1482 The descriptions at cve.mitre.org varied in quality, please see the
1483 ticket at rt.cpan.org for a more accurate description of the issue.
1485 Imager 0.56 - 1 Apr 2007
1488 - added support for reading 16-bit/sample PGM/PPM images
1490 - added support for writing 16-bit/sample PGM/PPM images
1492 - improved performance of reading PBM/PGM/PPM images
1494 - added support for writing PBM images if the image is paletted and
1495 contains only black and white
1497 - added a new make_colors value - "mono"
1499 - switched from the svn log Changes to a manual Changes to reduce
1502 - new sample code - samples/flasher.pl
1506 - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
1507 was returning an image object with an extra reference, this
1508 resulted in a memory leak.
1509 http://rt.cpan.org/Ticket/Display.html?id=24992
1511 - fix rendering on alpha channel images for the FreeType 2.x driver
1512 http://rt.cpan.org/Ticket/Display.html?id=11972
1514 - reading bmp files now consitently handles short reads. You can now
1515 supply a parameter to treat a short read as successful and set
1517 http://rt.cpan.org/Ticket/Display.html?id=8426
1519 - previously, reading ASCII PBM files required spaces between samples,
1520 even though the format doesn't require that
1522 - improved documentation of the unsharpmask filter (I hope)
1523 http://rt.cpan.org/Ticket/Display.html?id=25531
1525 - force flushing of the output from i_tt_dump_names() and test output
1526 in t/t35ttfont.t to prevent output from being mixed up.
1527 https://rt.cpan.org/Ticket/Display.html?id=24859
1529 - rewrite a conditional expression as an if() to hopefully work around
1530 a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
1531 https://rt.cpan.org/Ticket/Display.html?id=25561
1533 - avoid Data::Dumper in regops.perl to support older releases of perl
1534 https://rt.cpan.org/Ticket/Display.html?id=24391
1536 Imager 0.55 - 16 Dec 2006
1539 This is primarily a bug fix release.
1541 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
1543 There is one new feature:
1545 - the Win32 font driver now supports UTF8 (RT 22166)
1546 http://www.cpanforum.com/threads/3276
1547 http://rt.cpan.org/Ticket/Display.html?id=22166
1549 Several bugs were fixed:
1551 - the string() method would not output the string "0"
1552 http://rt.cpan.org/Public/Bug/Display.html?id=21770
1554 - fills.c was failing to compile on Solaris 10 (compiler unknown)
1555 http://rt.cpan.org/Public/Bug/Display.html?id=21944
1557 - the gif_disposal and gif_user_input tags weren't being read from
1559 http://rt.cpan.org/Public/Bug/Display.html?id=22192
1561 - gif.c was failing to build under MSVC
1562 http://rt.cpan.org/Ticket/Display.html?id=23922
1564 - in some cases strings passed to the string() method were treated as
1565 terminated by NUL (chr 0)
1566 http://rt.cpan.org/Public/Bug/Display.html?id=21770
1568 - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
1569 that's the default build name for zlib on Win32.
1570 http://rt.cpan.org/Ticket/Display.html?id=23064
1572 - search $Config{incpath} for headers too, which we should have been
1575 Win32 font driver fixes:
1577 - the global descent value from bounding box was the wrong sign
1578 http://www.cpanforum.com/threads/3276
1580 - if the first or last glyph overflowed the left or right side of the
1581 advance width they would be clipped
1584 Imager 0.54 - 14 Sep 2006
1587 This is primarily a feature release:
1589 - a new qtype value 'mixing' has been added to the scale()
1590 method. This is faster than 'normal', slower than 'preview'. This
1591 is based on the method used by pnmscale, and seems to produce less
1592 blurry results than normal.
1593 http://rt.cpan.org/Public/Bug/Display.html?id=20677
1595 - the rubthrough() method can now render onto images with an alpha
1597 http://rt.cpan.org/Ticket/Display.html?id=20678
1599 - the read_multi() method now falls back to calling doing a single
1600 image read via the read() method and write_multi() will now fall
1601 back to calling write() if a single image is supplied. This means
1602 you can simply call the read_multi() or write_multi() functions
1603 without having to check if the type is formatted by that method.
1604 http://rt.cpan.org/Ticket/Display.html?id=19457
1605 http://rt.cpan.org/Ticket/Display.html?id=19458
1607 - the GIF loop extension can now be written. If you don't have
1608 libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
1610 http://rt.cpan.org/Ticket/Display.html?id=21185
1612 - getscanline() and setscanline() can now read/write palette index
1613 based data from/to the image for paletted images, by setting type to
1615 http://rt.cpan.org/Ticket/Display.html?id=20338
1617 - we no longer hassle you to disable GIF support
1618 http://rt.cpan.org/Ticket/Display.html?id=20687
1620 - minor documentation fixes
1623 Imager 0.53 - 26 Jul 2006
1626 This is a bugfix release.
1628 Some test code was left in a code path not covered by the test
1629 suite. A test was added to cover this code path and the test code was
1631 http://rt.cpan.org/Public/Bug/Display.html?id=20705
1634 Imager 0.52 - 25 Jul 2006
1637 This is primarily a feature release, but contains a fair few bug
1638 fixes, new features:
1640 - ability to read and write MS Windows ICO and CUR files
1642 - you can now add file format plugins to support new file formats
1644 - add POD coverage tests
1646 - setcolors() and addcolors() now accept color names and so on
1647 instead of requiring Imager::Color objects.
1648 http://rt.cpan.org/Ticket/Display.html?id=20056
1650 - flood_fill() can now fill to a specified border color instead of
1651 just to the area the same color as the seed.
1652 http://rt.cpan.org/Ticket/Display.html?id=19618
1657 - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
1658 calculating the advance width.
1659 http://rt.cpan.org/Public/Bug/Display.html?id=20554
1661 - bounding_box for the T1 driver wasn't including leading and
1662 trailing spaces in the bounding box as the other drivers did, it also
1663 produced strange results for empty strings or strings containing only
1666 - when reading CMYK jpeg images they were being transferred to the
1667 image object as is, producing a four channel image. It only looked ok
1668 due to an old still unfixed Photoshop bug. We now convert from the
1669 inverted CMYK that photoshop (and Corel for example) produce into RGB.
1670 http://rt.cpan.org/Ticket/Display.html?id=20416
1672 - reading a CYMK TIFF would result in a 4 channel image, reading any
1673 image with more than 4 channels (eg. RGB with 2 alpha channels) would
1675 http://rt.cpan.org/Ticket/Display.html?id=20415
1677 - added /usr/local/include to the default include search path, since
1678 we were already searching /usr/local/lib for libraries.
1680 And various minor fixes and documentation updates.
1683 Imager 0.51 - 23 Apr 2006
1686 - fix a validation bug when processing JPEG EXIF data that can cause
1688 http://rt.cpan.org/Public/Bug/Display.html?id=18496
1690 - fix mis-processing of the src_maxx and src_maxy parameters of the
1692 http://rt.cpan.org/Public/Bug/Display.html?id=18712
1694 - fix a problem in Imager's "smart" handling of the color parameter
1696 http://rt.cpan.org/Public/Bug/Display.html?id=18561
1699 Imager 0.50 - 29 Mar 2006
1702 - CRITICAL: fixes a segmentation fault from attempting to write a 2
1703 or 4 channel image to jpeg or a 2 channel image to tga where the
1704 output is an in-memeory buffer.
1705 http://rt.cpan.org/Public/Bug/Display.html?id=18397
1707 - fixes an incorrect pointer parameter in the PNG code
1708 http://rt.cpan.org/Public/Bug/Display.html?id=18051
1710 - skip Inline::C tests when building in a directory with spaces
1711 http://rt.cpan.org/Public/Bug/Display.html?id=18049