1 Imager release history. Older releases can be found in Changes.old
3 Imager 0.63 - unreleased
6 - the font libraries are now only initialized when needed.
7 http://rt.cpan.org/Ticket/Display.html?id=28825
9 - moved the imtoc.perl code into Imager::Preprocess
11 - paste() and rubthrough() now adapt the source image data to the
12 destination, so you can now safely paste/rubthrough from greyscale
13 images to color images or back, or from alpha channel images to
14 noalpha channels or back.
15 https://rt.cpan.org/Ticket/Display.html?id=30908
17 - rubthrough() now falls back to pasting when the source doesn't have
18 an alpha channel. This effectively treats the source as having a
19 max alpha channel, the right thing to do.
20 http://rt.cpan.org/Ticket/Display.html?id=29944
22 - re-worked most of the area filling code to use a common set of
23 functions when filling.
24 Corrected normal combine mode.
25 Rewrote most of the combine modes to match the way the SVG draft
26 defines them with respect to a translucent source and destination.
27 Added tests for translucent source and destination.
28 Added tests to check 8-bit/sample and double/sample combines work
30 https://rt.cpan.org/Ticket/Display.html?id=29879
32 - some TGA images weren't being detected correctly as TGA images
33 https://rt.cpan.org/Ticket/Display.html?id=32925
35 - handling of the left-over bit for 16-bit/pixel TGA images has been
36 changed to match the behaviour of the GIMP. Previously the bit
37 being set was treated as an opaque pixel, but one user reported a
38 problem with loading such an image. I haven't been able to find any
39 tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
40 I'll match it's behaviour. See issue 114913 in the GIMP's
42 http://rt.cpan.org/Ticket/Display.html?id=32926
44 - writing a 2 or 4 channel image to a JPEG will now write that image as
45 if composited against a background, black by default, overridable
46 with the i_background tag/parameter.
47 https://rt.cpan.org/Ticket/Display.html?id=29876
49 - writing a 2 or 4 channel image to a PGM/PPM will now write that
50 image as if composited against a background, black by default,
51 overridable with the i_background tag/parameter.
52 http://rt.cpan.org/Ticket/Display.html?id=30074
56 - Imager::Matrix2d->translate() now only requires one of the x or y
58 http://rt.cpan.org/Ticket/Display.html?id=29937
60 Imager 0.62 - 10 December 2007
63 - Makefile.PL now expands ~/path supplied to --incpath or --libpath
64 to /path under your home directory.
65 http://rt.cpan.org/Ticket/Display.html?id=29484
67 - the old dynaload code used Mach API functions to load dynamic
68 libraries on Mac OS X. These APIs have been deprecated in OS X
69 10.5 and were causing some build problems.
70 So henceforth Imager uses the dlopen() family of functions, and you
71 will need version 10.3 or later of OS X.
73 - added the det() function to the transform2() engine.
74 added the sample quad_to_square.pl
75 Courtesy Richard Fairhurst.
76 http://rt.cpan.org/Ticket/Display.html?id=31244
80 - samples/gifscale.pl sourced the base value for gif_top from
82 Thanks to Eleneldil G. Arilou for pointing this out.
84 - t/t82inline.t no longer loads B at runtime, to work around a bug
85 in some 5.005_0[45] installations.
86 http://rt.cpan.org/Ticket/Display.html?id=30508
88 - work around Module::Depends::Intrusive bug #21229
89 http://rt.cpan.org/Ticket/Display.html?id=30520
91 - the hardinvert filter no-longer inverts the alpha channel.
92 http://rt.cpan.org/Ticket/Display.html?id=30002
94 - the hardinvert filter now supports large samples
96 Imager 0.61_02 - 28 November 2007
99 - major TIFF support re-work
100 http://rt.cpan.org/Ticket/Display.html?id=20329
102 - added a C level image interface for accessing samples from 1-32
103 bits, exposed this at the perl level in getsamples()
105 - the conv filter now works at floating point precision for high bit
108 - added is_bilevel method to test whether an image should be written as
109 a bilevel image if the image format supports it.
111 - added -log-stderr as an Imager import list option
113 - added some important types to Imager::APIRef
115 - added test_image_double() to Imager::Test
119 - Imager::Fountain couldn't read GIMP gradient files with 10 or more
122 - the scale() method with qtype mixing now handles images with an
123 alpha channel correctly.
125 - fixed a broken link from the "animated GIF" entry in the concept index.
126 Thanks to Slaven Rezic.
127 http://rt.cpan.org/Ticket/Display.html?id=30889
129 - on some perl's the infix expression parser test would fail due to
130 actions in the grammar returning false. Made sure all actions return
132 Thanks to Richard Fairhurst for spending a lot of time in tracking
134 http://rt.cpan.org/Public/Bug/Display.html?id=29562
136 Imager 0.61 - 5 November 2007
139 - added samples/gifscale.pl, which adjusts the screen size/position tags
140 when scaling an animated gif
141 http://rt.cpan.org/Ticket/Display.html?id=27591
145 - correct handling of sz in matrix_transform() - this should allow
146 perspective type transformations to work now.
147 http://rt.cpan.org/Ticket/Display.html?id=29936
149 - prevent a cast to integer warning on x64 builds in datatypes.c
150 also fixed some other type warnings
151 https://rt.cpan.org/Ticket/Display.html?id=30204
153 - some sub-directory tests depended on files produced by the parent
155 http://rt.cpan.org/Ticket/Display.html?id=30203
157 - Imager::Font::Wrap doesn't correctly set savepos
158 thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
159 http://rt.cpan.org/Ticket/Display.html?id=29771
161 - test 171 in t/t01introvert.t was failing on perls configured to
163 http://rt.cpan.org/Ticket/Display.html?id=29413
165 - the code for the transform2() uminus operator was missing a break.
166 Added tests for better code coverage of the ops.
167 http://rt.cpan.org/Ticket/Display.html?id=29296
169 - the SGI RLE compression code could overflow its compression buffer
170 http://rt.cpan.org/Ticket/Display.html?id=30334
172 - the 32-bit output function used by the SGI code only handled values
173 under 0x10000. This was most noticable when writing large RLE images.
174 http://rt.cpan.org/Ticket/Display.html?id=30335
176 - validate chan_count for chans == NULL for each of the i_gsamp()
178 http://rt.cpan.org/Ticket/Display.html?id=28985
180 - attempt to work around the test failure at
181 http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
182 http://rt.cpan.org/Ticket/Display.html?id=29562
184 - improve the error messages produced when attempting to read or write
185 an unknown image file format.
186 http://rt.cpan.org/Ticket/Display.html?id=30103
188 - improve the transform2() documentation
189 http://rt.cpan.org/Ticket/Display.html?id=29267
191 - correctly generate the author key in META.yml
192 http://rt.cpan.org/Ticket/Display.html?id=30377
194 - correctly blend a rotated (or matrix_transformed()) image when
195 performing interpolation in the presence of an alpha channel.
196 Also corrected the centring of the rotated image on the output
199 Imager 0.60 - 30 August 2007
202 - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
203 now has full SGI RGB image format, including RLE and 16-bit/sample
205 https://rt.cpan.org/Ticket/Display.html?id=8666
207 - logging functions are now available in the API
209 - applied Gabriel Vasseur's patch
210 added documentation, further tests, and support for greyscale images
211 Obviously problems are my fault :)
212 https://rt.cpan.org/Ticket/Display.html?id=28142
214 - the mask for ICO/CUR images is now applied as an alpha channel to
215 the returned image. For the old behaviour, supply ico_masked => 0
216 to read() or read_multi(). This should be less confusing when
217 using Imager as a general image processor.
218 https://rt.cpan.org/Ticket/Display.html?id=29001
222 - in some cases it's possible for giflib/libungif to return color
223 indexes outside the range of colors defined by the image's palette.
224 We now expand the palette to match the indexes used.
225 Thanks to Gabriel Vasseur for reporting this.
227 - fixed various memory leaks that could occur when failing to read png,
228 jpeg, bmp or tga files.
230 - to avoid confusion, channels not present in the image are returned as
231 zero by getscanline(). This has no effect on the C level i_glin()
232 and i_glinf() API functions which continue to not set the unused
235 - the convert() method now returns an image of the same sample size as
237 https://rt.cpan.org/Ticket/Display.html?id=28492
239 - remove repeated text in Imager::Files
240 http://rt.cpan.org/Ticket/Display.html?id=27589
242 - be even more explicit that scale() and friends don't modify the source
243 image, but return a new image.
244 http://rt.cpan.org/Ticket/Display.html?id=28570
246 - improve the error message from errstr() when you try to load a font
247 for which the driver hasn't been built in Imager.
248 http://rt.cpan.org/Ticket/Display.html?id=27571
250 - transparency is now enabled by default when writing GIF images
251 http://rt.cpan.org/Ticket/Display.html?id=27615
253 - Imager would not load on Windows 98
254 http://rt.cpan.org/Ticket/Display.html?id=27653
256 Imager 0.59 - 14 June 2007
261 - fixes a regression introduced by the fixes for RT 11972
262 http://rt.cpan.org/Ticket/Display.html?id=27546
264 - cropping outside the image would return an Imager object with
265 no low-level image object, instead of returning false.
266 Fixed by: Philip Gwyn (Leolo)
267 http://rt.cpan.org/Ticket/Display.html?id=27509
269 Imager 0.58 - 16 May 2007
272 No significant changes from 0.57_01.
274 Imager 0.57_01 - 11 May 2007
277 - added to_rgb16 to produce a 16-bit/sample version of an image
279 - improve freetype 1.x text output efficiency
283 - search another place for rgb.txt, and check all the places
284 Imager::Color checks when deciding whether to skip testing it
285 http://rt.cpan.org/Ticket/Display.html?id=26064
287 - use a convolution kernel size based on the stddev rather than a
288 fixed size when performing a gaussian blur
289 http://rt.cpan.org/Ticket/Display.html?id=25645
291 - document the difference() method's mindist parameter, and debug it.
293 - put the Imager release number in the Inline::C generated code to
294 regenerate Inline code when a new release of Imager is installed.
295 http://rt.cpan.org/Ticket/Display.html?id=26278
297 - fix rendering on alpha channel images for the FreeType 1.x driver.
298 http://rt.cpan.org/Ticket/Display.html?id=11972
300 - fix rendering on alpha channel images for the T1lib driver.
301 http://rt.cpan.org/Ticket/Display.html?id=11972
303 - reworked library probing, we can now set more than one probe
304 function for a library. Disabled the default (non-freetype-config)
305 library probe and added an extra probe function that searches for
306 both ft2build.h and whatever it includes, and adds -I as needed.
307 Hopefully this will fix build problems like
308 http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
309 http://rt.cpan.org/Ticket/Display.html?id=26086
311 Imager 0.57 - 30 Apr 2007
314 This is a maintenence release fixing a security issue in Imager.
316 - CRITICAL: a specially crafted compressed BMP file can cause a buffer
317 overflow in malloced memory. There will be further discussion of
318 this issue in the ticket below.
319 http://rt.cpan.org/Ticket/Display.html?id=26811
320 CVE-2007-2459 CVE-2007-2413
321 The descriptions at cve.mitre.org varied in quality, please see the
322 ticket at rt.cpan.org for a more accurate description of the issue.
324 Imager 0.56 - 1 Apr 2007
327 - added support for reading 16-bit/sample PGM/PPM images
329 - added support for writing 16-bit/sample PGM/PPM images
331 - improved performance of reading PBM/PGM/PPM images
333 - added support for writing PBM images if the image is paletted and
334 contains only black and white
336 - added a new make_colors value - "mono"
338 - switched from the svn log Changes to a manual Changes to reduce
341 - new sample code - samples/flasher.pl
345 - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
346 was returning an image object with an extra reference, this
347 resulted in a memory leak.
348 http://rt.cpan.org/Ticket/Display.html?id=24992
350 - fix rendering on alpha channel images for the FreeType 2.x driver
351 http://rt.cpan.org/Ticket/Display.html?id=11972
353 - reading bmp files now consitently handles short reads. You can now
354 supply a parameter to treat a short read as successful and set
356 http://rt.cpan.org/Ticket/Display.html?id=8426
358 - previously, reading ASCII PBM files required spaces between samples,
359 even though the format doesn't require that
361 - improved documentation of the unsharpmask filter (I hope)
362 http://rt.cpan.org/Ticket/Display.html?id=25531
364 - force flushing of the output from i_tt_dump_names() and test output
365 in t/t35ttfont.t to prevent output from being mixed up.
366 https://rt.cpan.org/Ticket/Display.html?id=24859
368 - rewrite a conditional expression as an if() to hopefully work around
369 a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
370 https://rt.cpan.org/Ticket/Display.html?id=25561
372 - avoid Data::Dumper in regops.perl to support older releases of perl
373 https://rt.cpan.org/Ticket/Display.html?id=24391
375 Imager 0.55 - 16 Dec 2006
378 This is primarily a bug fix release.
380 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
382 There is one new feature:
384 - the Win32 font driver now supports UTF8 (RT 22166)
385 http://www.cpanforum.com/threads/3276
386 http://rt.cpan.org/Ticket/Display.html?id=22166
388 Several bugs were fixed:
390 - the string() method would not output the string "0"
391 http://rt.cpan.org/Public/Bug/Display.html?id=21770
393 - fills.c was failing to compile on Solaris 10 (compiler unknown)
394 http://rt.cpan.org/Public/Bug/Display.html?id=21944
396 - the gif_disposal and gif_user_input tags weren't being read from
398 http://rt.cpan.org/Public/Bug/Display.html?id=22192
400 - gif.c was failing to build under MSVC
401 http://rt.cpan.org/Ticket/Display.html?id=23922
403 - in some cases strings passed to the string() method were treated as
404 terminated by NUL (chr 0)
405 http://rt.cpan.org/Public/Bug/Display.html?id=21770
407 - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
408 that's the default build name for zlib on Win32.
409 http://rt.cpan.org/Ticket/Display.html?id=23064
411 - search $Config{incpath} for headers too, which we should have been
414 Win32 font driver fixes:
416 - the global descent value from bounding box was the wrong sign
417 http://www.cpanforum.com/threads/3276
419 - if the first or last glyph overflowed the left or right side of the
420 advance width they would be clipped
423 Imager 0.54 - 14 Sep 2006
426 This is primarily a feature release:
428 - a new qtype value 'mixing' has been added to the scale()
429 method. This is faster than 'normal', slower than 'preview'. This
430 is based on the method used by pnmscale, and seems to produce less
431 blurry results than normal.
432 http://rt.cpan.org/Public/Bug/Display.html?id=20677
434 - the rubthrough() method can now render onto images with an alpha
436 http://rt.cpan.org/Ticket/Display.html?id=20678
438 - the read_multi() method now falls back to calling doing a single
439 image read via the read() method and write_multi() will now fall
440 back to calling write() if a single image is supplied. This means
441 you can simply call the read_multi() or write_multi() functions
442 without having to check if the type is formatted by that method.
443 http://rt.cpan.org/Ticket/Display.html?id=19457
444 http://rt.cpan.org/Ticket/Display.html?id=19458
446 - the GIF loop extension can now be written. If you don't have
447 libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
449 http://rt.cpan.org/Ticket/Display.html?id=21185
451 - getscanline() and setscanline() can now read/write palette index
452 based data from/to the image for paletted images, by setting type to
454 http://rt.cpan.org/Ticket/Display.html?id=20338
456 - we no longer hassle you to disable GIF support
457 http://rt.cpan.org/Ticket/Display.html?id=20687
459 - minor documentation fixes
462 Imager 0.53 - 26 Jul 2006
465 This is a bugfix release.
467 Some test code was left in a code path not covered by the test
468 suite. A test was added to cover this code path and the test code was
470 http://rt.cpan.org/Public/Bug/Display.html?id=20705
473 Imager 0.52 - 25 Jul 2006
476 This is primarily a feature release, but contains a fair few bug
479 - ability to read and write MS Windows ICO and CUR files
481 - you can now add file format plugins to support new file formats
483 - add POD coverage tests
485 - setcolors() and addcolors() now accept color names and so on
486 instead of requiring Imager::Color objects.
487 http://rt.cpan.org/Ticket/Display.html?id=20056
489 - flood_fill() can now fill to a specified border color instead of
490 just to the area the same color as the seed.
491 http://rt.cpan.org/Ticket/Display.html?id=19618
496 - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
497 calculating the advance width.
498 http://rt.cpan.org/Public/Bug/Display.html?id=20554
500 - bounding_box for the T1 driver wasn't including leading and
501 trailing spaces in the bounding box as the other drivers did, it also
502 produced strange results for empty strings or strings containing only
505 - when reading CMYK jpeg images they were being transferred to the
506 image object as is, producing a four channel image. It only looked ok
507 due to an old still unfixed Photoshop bug. We now convert from the
508 inverted CMYK that photoshop (and Corel for example) produce into RGB.
509 http://rt.cpan.org/Ticket/Display.html?id=20416
511 - reading a CYMK TIFF would result in a 4 channel image, reading any
512 image with more than 4 channels (eg. RGB with 2 alpha channels) would
514 http://rt.cpan.org/Ticket/Display.html?id=20415
516 - added /usr/local/include to the default include search path, since
517 we were already searching /usr/local/lib for libraries.
519 And various minor fixes and documentation updates.
522 Imager 0.51 - 23 Apr 2006
525 - fix a validation bug when processing JPEG EXIF data that can cause
527 http://rt.cpan.org/Public/Bug/Display.html?id=18496
529 - fix mis-processing of the src_maxx and src_maxy parameters of the
531 http://rt.cpan.org/Public/Bug/Display.html?id=18712
533 - fix a problem in Imager's "smart" handling of the color parameter
535 http://rt.cpan.org/Public/Bug/Display.html?id=18561
538 Imager 0.50 - 29 Mar 2006
541 - CRITICAL: fixes a segmentation fault from attempting to write a 2
542 or 4 channel image to jpeg or a 2 channel image to tga where the
543 output is an in-memeory buffer.
544 http://rt.cpan.org/Public/Bug/Display.html?id=18397
546 - fixes an incorrect pointer parameter in the PNG code
547 http://rt.cpan.org/Public/Bug/Display.html?id=18051
549 - skip Inline::C tests when building in a directory with spaces
550 http://rt.cpan.org/Public/Bug/Display.html?id=18049