]> git.imager.perl.org - imager.git/blob - Changes
42dfbe35f90cb8159bebff291f84d38738c742ac
[imager.git] / Changes
1 Imager release history.  Older releases can be found in Changes.old
2
3 Imager 0.78 - unreleased
4 ===========
5
6  - add each library-directory/pkgconfig/ to the pkg-config search path
7    in Imager::Probe.
8    Thanks to Justin Davis.
9    https://rt.cpan.org/Ticket/Display.html?id=60491
10
11 Bug fixes:
12
13  - Imager::Probe was calling ExtUtils::Liblist to initialize
14    LD_RUN_PATH supplying an undefined value rather than the found
15    directory.  Thanks to Justin Davis.
16    https://rt.cpan.org/Ticket/Display.html?id=60491
17
18 Imager 0.77 - 11 Aug 2010
19 ===========
20
21 I don't want Imager::File::PNG indexed as part of Imager, but forgot
22 to update the META.yml before updating the version.
23
24  - don't index Imager::File::PNG as part of Imager
25
26  - add resources to META.yml
27
28 Imager 0.76 - not released
29 ===========
30
31 Bug fixes:
32
33  - the align_string() method would ignore a string of "0" due to a
34    mis-use of C< ||= >.
35    Thanks to Maurice Height for reporting this.
36    https://rt.cpan.org/Ticket/Display.html?id=60199
37
38 Imager 0.75_03 - 09 Aug 2010
39 ==============
40
41 Bug fixes:
42
43  - read_types() and write_types() would include png when it wasn't
44    available due to a problem with the %formats tie
45
46  - handle dependent libraries correctly (eg -lpng requiring -lz) in
47    the code run phase of library probing.
48
49 Imager 0.75_02 - 07 Aug 2010
50 ==============
51
52 Bug fixes:
53
54  - add file missing from MANIFEST, which was causing TIFF failures.
55
56 Imager 0.75_01 - 06 Aug 2010
57 ==============
58
59 Test release for the new PNG probe.
60
61  - added the ability to read multiple-image PNM files.
62    Note that unlike the pbm/pgm/ppm specification this accepts mixed
63    format files and allows white space padding between files.
64    Thanks to Philip Gwyn (Leolo) for this patch.
65
66  - moved the PNG file handling code into a sub-module in preparation
67    for separate distribution.
68    https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
69    Also helps avoid complications from -I/-L compile/link options from
70    other libraries.
71
72 Bugs:
73
74  - Imager->new(data => $data) didn't try to process image file data in
75    $data
76    https://rt.cpan.org/Ticket/Display.html?id=58761
77
78  - t/t50basicoo.t no longer depends on the other tests to generate its 
79    input files.
80    https://rt.cpan.org/Ticket/Display.html?id=9798
81    Also, it wasn't testing pnm (pnm vs ppm mix-up)
82
83  - update the documentation of hardinvert to match the change in 0.62.
84    https://rt.cpan.org/Ticket/Display.html?id=59785
85
86  - added hardinvertall filter which also inverts the alpha channel
87    (sorry for the mess)
88
89  - when probing for TIFF, set LD_RUN_PATH just as the Makefile does so
90    the probe can find the library for the test run.
91    https://rt.cpan.org/Ticket/Display.html?id=57518
92
93 Imager 0.75 - 20 Jun 2010
94 ===========
95
96  - use PERL_NO_GET_CONTEXT to slightly improve performance on threaded
97    perls (not measured)
98
99 Bugs:
100
101  - an opacity fill based on a fountain fill would segfault when
102    filling an 8-bit/sample image.
103
104  - merge thickline branch polygon fix
105    https://rt.cpan.org/Ticket/Display.html?id=43518
106
107 Imager 0.74 - 7 May 2010
108 ===========
109
110 Bug fixes:
111
112  - read_multi() didn't handle a missing file format library correctly,
113    aborting on failing to call i_readgif_multi_wiol() or
114    i_readtiff_multi_wiol().
115
116  - fix spelling errors patched by Debian
117    http://svn.debian.org/viewsvn/pkg-perl/trunk/libimager-perl/debian/patches/spelling.patch?revision=54839&view=markup
118
119  - add an (unshipped) author test to spellcheck Imager's POD.
120
121  - update the TIFF file format documentation
122    https://rt.cpan.org/Ticket/Display.html?id=56510
123
124  - lib/Imager/IO.pod was written almost 4 years ago but never shipped.
125
126 Imager 0.73 - 15 Mar 2010
127 ===========
128
129  - implement outline circles, both anti-aliased and not
130    https://rt.cpan.org/Ticket/Display.html?id=19755
131
132  - a combine => "none" fill to a 1 or 3 channel image would produce
133    the incorrect colour.
134
135 Imager 0.72 - 09 Dec 2009
136 ===========
137
138 Bump version for release, since 0.71_03 is stable with CPAN testers.
139
140 Imager 0.71_03 - 5 Dec 2009
141 ==============
142
143  - further adjust the threads test so it only performs the tests on
144    perls where it's expected to work, and only if the threads module
145    can be loaded.
146
147 Imager 0.71_02 - 1 Dec 2009
148 ==============
149
150  - adjust the way we load the threads module for the threads test so
151    it works with non-threaded perls
152
153 Imager 0.71_01 - 30 Nov 2009
154 ===========
155
156 Bug fixes:
157
158  - use scanline oriented operations to flip images instead of pixel
159    operations
160    https://rt.cpan.org/Ticket/Display.html?id=39278
161
162  - use double/sample operations to flip large sample images instead of
163    8-bit sample operations.
164    https://rt.cpan.org/Ticket/Display.html?id=39280
165
166  - fix POD nits
167    https://rt.cpan.org/Ticket/Display.html?id=51874
168
169  - prevent double-frees when someone creates Imager objects and then
170    creates a thread.  Note: this just handles some simple cases,
171    Imager doesn't support perl threads, and isn't likely to.
172    https://rt.cpan.org/Ticket/Display.html?id=52268
173
174 Imager 0.71 - 16 Nov 2009
175 ===========
176
177  - add the opacity fill type - an adaptor that modifies the opacity of
178    another fill.
179
180 Bug fixes:
181
182  - the conv filter now enforces that the sum of the coefficients is
183    non-zero.  Also, rather than skipping pixels off the edge off the
184    edge of the image, the closest edge pixel is used.  Previously
185    dividing by the zero sum of coefficients could cause invalid
186    results or runtime exceptions.
187    Thanks to David Cantrell's Alpha-NetBSD CPAN test box for revealing
188    this bug.
189
190 Imager 0.70 - 21 Sep 2009
191 ===========
192
193 Bug fixes:
194
195  - release image row and comments memory on all error returns in gif
196    reader
197
198  - handle zero length extensions, previously this would cause a null
199    pointer dereference
200    Thanks to Krzysztof Wojtaś for the test data and fix for this.
201
202  - an integer division meant that preview scaling to below 1 pixel
203    wide or high (which isn't too useful anyway) was calculating using
204    NaNs on most platforms, and causing an exception on others.
205    Thanks to David Cantrell for producing a backtrace of the crash on
206    his Alpha-NetBSD CPAN test box which made it possible to track this
207    down.
208
209 Imager 0.69 - 08 Sep 2009
210 ===========
211
212 Bug fixes:
213
214  - broken test fix - was attempting to call a function skip_all, when
215    that should be a parameter to plan().
216
217  - briefly document apidocs.perl, the tool used to build
218    Imager::APIRef and make some minor enhancements
219
220  - various minor documentation enhancements and fixes.
221
222 Imager 0.68 - 07 Sep 2009
223 ===========
224
225  - Imager->new(file => $filename) and other similar incantations will
226    load the given file.
227    https://rt.cpan.org/Ticket/Display.html?id=48261
228
229 Bug fixes:
230
231  - avoid using CHECK as a label in Imager::Test
232    http://nntp.x.perl.org/group/perl.cpan.testers/5220921
233
234  - re-work most image file test files that require a library into
235    separate library present/not present files to remove stupidly long
236    conditionals
237
238  - don't treat rubthrough() outside the bounds of the target image as
239    an error.
240    http://nntp.x.perl.org/group/perl.cpan.testers/5185716
241
242 Imager 0.67_01 - 02 Sep 2009
243 ==============
244
245 Bug fixes:
246
247  - correct documentation of default of raw image interleave read
248    parameter
249    https://rt.cpan.org/Ticket/Display.html?id=42074
250
251  - add raw_ prefix to raw read parameters, though the original names
252    still work.
253
254  - fail the read if an invalid raw_interleave parameter is supplied
255
256  - warn if no interleave or raw_interleave parameter is supplied,
257    since the documented default was wrong, and incompatible with the
258    write format
259
260  - for reading raw images, if raw_storechannels > raw_datachannels,
261    set the extra channels in the image to 0
262
263  - when probing for executables like freetype-config, search for .bat
264    and .cmd on MSWin32, as well as .exe.
265    https://rt.cpan.org/Ticket/Display.html?id=49275
266
267  - re-work the external libraries section of README:
268    - list Debian and Redhat package names for each library
269    - reformatting
270    - update URLs
271
272  - use the new EU::MM META_MERGE facility instead of generating
273    META.yml from scratch
274    https://rt.cpan.org/Ticket/Display.html?id=47888
275
276  - use Devel::CheckLib (bundled, modified) to check which release of
277    libtiff is installed and reject 3.9.0
278    http://bugzilla.maptools.org/show_bug.cgi?id=2088
279    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543079
280
281 Imager 0.67 - 12 Dec 2008
282 ===========
283
284 Bug fixes:
285
286  - fix a packaging error
287
288 Imager 0.66 - 12 Dec 2008
289 ===========
290
291  - 24-bit color .ICO/.CUR files can now be read.
292
293 Bug fixes:
294
295  - an optimization skipping 0 src alpha values could cause the
296    rubthrough() to read past the end of a buffer.
297    http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
298
299  - corrected a reference leak where writing GIFs would leak memory.
300    This could also happen calling to_paletted().
301    Also documented the underlying long existing feature where the
302    colors parameter is filled with the generated color table and added
303    tests for it.
304    http://rt.cpan.org/Ticket/Display.html?id=41028
305
306  - write out the image size in bytes field of a BMP correctly.
307    http://rt.cpan.org/Ticket/Display.html?id=41406
308
309  - add limited tests for Imager::ExtUtils
310
311  - make Imager::ExtUtils->includes use an absolute path, since
312    a relative path could cause failures using Inline::C.
313    http://rt.cpan.org/Ticket/Display.html?id=37353
314
315  - re-arrange the POD for Imager::Font::BBox:
316    - mark total_width(), pos_width(), end_offset() obsolete, since
317      they're mostly for backwards compatibility
318    - group width methods and height methods
319    https://rt.cpan.org/Ticket/Display.html?id=39999
320
321 Imager 0.65 - 20 May 2008
322 ===========
323
324 Bug fixes:
325
326  - In some cases when an error occurs reading those parts of a JPEG
327    file after the image the scan-line buffer could be freed a second
328    time.  In cases where the the error occured while reading the image
329    data it's possible that the buffer could have leaked.
330    Thanks to Gabriel Vasseur for reporting this and help in tracking
331    it down.
332
333  - the gif_screen_height tag was overriding the screen width and being
334    ignored for the screen height when present.
335    https://rt.cpan.org/Public/Bug/Display.html?id=35568
336
337 Imager 0.64 - 23 April 2008
338 ===========
339
340 This is a bug fix release.  This includes a fix for a possible
341 security issue.
342
343 Bug fixes:
344
345  - Possible security issue: The floating point sample path for image
346    based fills had a buffer overflow.  This would overwrite the end of
347    a malloc()ed buffer with double precision floats.
348    http://rt.cpan.org/Ticket/Display.html?id=35324
349    CVE-2008-1928
350
351  - check that the result of fileno($fh) is defined rather than simply
352    true when read() or write() is supplied with an fh parameter.
353    http://rt.cpan.org/Ticket/Display.html?id=35139
354
355  - i_scale_axis() wasn't checking the result of i_img_new_ch()
356    resulting in a SIGSEGV when attempting to scale an image to a size
357    too large to fit in memory.  This is a NULL pointer access issue,
358    not a buffer overflow.
359    Added a check for the failure.
360    scale_calculate() (and hence scale()) will now fail if any of the
361    scale size parameters are a reference.
362    http://rt.cpan.org/Ticket/Display.html?id=35172
363
364  - Regression: filling a greyscale image with a hatch used the wrong
365    color channels from the supplied fg/bg colors.
366    https://rt.cpan.org/Ticket/Display.html?id=35278
367
368  - fixed a related problem for image fills.
369
370 Imager 0.63 - 7 April 2008
371 ===========
372
373 This release primarily contains changes to improve ease of use -
374 rather than you having to convert images to the appropriate number of
375 channels, Imager handles it internally.  How to handle drawing colors
376 and the default combine mode is a thornier problem left for some other
377 release.
378
379  - the font libraries are now only initialized when needed.
380    http://rt.cpan.org/Ticket/Display.html?id=28825
381
382  - moved the imtoc.perl code into Imager::Preprocess
383
384  - paste() and rubthrough() now adapt the source image data to the
385    destination, so you can now safely paste/rubthrough from greyscale
386    images to color images or back, or from alpha channel images to
387    noalpha channels or back.
388    https://rt.cpan.org/Ticket/Display.html?id=30908
389
390  - rubthrough() now falls back to pasting when the source doesn't have
391    an alpha channel.  This effectively treats the source as having a
392    max alpha channel, the right thing to do.
393    http://rt.cpan.org/Ticket/Display.html?id=29944
394
395  - re-worked most of the area filling code to use a common set of
396    functions when filling.
397    Corrected normal combine mode.
398    Rewrote most of the combine modes to match the way the SVG draft
399    defines them with respect to a translucent source and destination.
400    Added tests for translucent source and destination.
401    Added tests to check 8-bit/sample and double/sample combines work
402    similarly.
403    https://rt.cpan.org/Ticket/Display.html?id=29879
404
405  - writing a 2 or 4 channel image to a JPEG file will now write that
406    image as if composited against a background, black by default,
407    overridable with the i_background tag/parameter.
408    https://rt.cpan.org/Ticket/Display.html?id=29876
409
410  - writing a 2 or 4 channel image to a PGM/PPM file will now write
411    that image as if composited against a background, black by default,
412    overridable with the i_background tag/parameter.
413    http://rt.cpan.org/Ticket/Display.html?id=30074
414
415  - writing a 2 or 4 channel image to a BMP file will now write that
416    image as if composited against a background, black by default,
417    overridable with the i_background tag/parameter.
418    http://rt.cpan.org/Ticket/Display.html?id=30075
419
420 Bug fixes:
421
422  - Imager::Matrix2d->translate() now only requires one of the x or y
423    parameters.
424    http://rt.cpan.org/Ticket/Display.html?id=29937
425
426  - mixing qtype scaling now sets all channels of a pixel to zero if
427    the pixel has zero coverage (zero alpha).  This should produce more
428    compressible output files.
429    http://rt.cpan.org/Ticket/Display.html?id=32324
430
431  - removed the pointless #! line from lib/Imager/Font/Wrap.pm
432    Noticed when I saw:
433    https://bugzilla.redhat.com/show_bug.cgi?id=166254
434    I'm not changing the #! lines of the sample code, since it's sample
435    code, not intended for installation.
436    http://rt.cpan.org/Ticket/Display.html?id=33408
437
438  - some TGA images weren't being detected correctly as TGA images
439    https://rt.cpan.org/Ticket/Display.html?id=32925
440
441  - handling of the left-over bit for 16-bit/pixel TGA images has been
442    changed to match the behaviour of the GIMP.  Previously the bit
443    being set was treated as an opaque pixel, but one user reported a
444    problem with loading such an image.  I haven't been able to find any
445    tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
446    I'll match it's behaviour.  See issue 114913 in the GIMP's
447    bugzilla.
448    http://rt.cpan.org/Ticket/Display.html?id=32926
449
450 Imager 0.62 - 10 December 2007
451 ===========
452
453  - Makefile.PL now expands ~/path supplied to --incpath or --libpath
454    to /path under your home directory.
455    http://rt.cpan.org/Ticket/Display.html?id=29484
456
457  - the old dynaload code used Mach API functions to load dynamic
458    libraries on Mac OS X.  These APIs have been deprecated in OS X
459    10.5 and were causing some build problems.
460    So henceforth Imager uses the dlopen() family of functions, and you 
461    will need version 10.3 or later of OS X.
462
463  - added the det() function to the transform2() engine.
464    added the sample quad_to_square.pl
465    Courtesy Richard Fairhurst.
466    http://rt.cpan.org/Ticket/Display.html?id=31244
467
468 Bug fixes:
469
470  - samples/gifscale.pl sourced the base value for gif_top from
471    gif_left.
472    Thanks to Eleneldil G. Arilou for pointing this out.
473
474  - t/t82inline.t no longer loads B at runtime, to work around a bug
475    in some 5.005_0[45] installations.
476    http://rt.cpan.org/Ticket/Display.html?id=30508
477
478  - work around Module::Depends::Intrusive bug #21229
479    http://rt.cpan.org/Ticket/Display.html?id=30520
480
481  - the hardinvert filter no-longer inverts the alpha channel.
482    http://rt.cpan.org/Ticket/Display.html?id=30002
483
484  - the hardinvert filter now supports large samples
485
486 Imager 0.61_02 - 28 November 2007
487 ==============
488
489  - major TIFF support re-work
490    http://rt.cpan.org/Ticket/Display.html?id=20329
491
492  - added a C level image interface for accessing samples from 1-32
493    bits, exposed this at the perl level in getsamples()
494
495  - the conv filter now works at floating point precision for high bit
496    images
497
498  - added is_bilevel method to test whether an image should be written as
499    a bilevel image if the image format supports it.
500
501  - added -log-stderr as an Imager import list option
502
503  - added some important types to Imager::APIRef
504
505  - added test_image_double() to Imager::Test
506
507 Bug fixes:
508
509  - Imager::Fountain couldn't read GIMP gradient files with 10 or more
510    segments
511
512  - the scale() method with qtype mixing now handles images with an
513    alpha channel correctly.
514
515  - fixed a broken link from the "animated GIF" entry in the concept index.
516    Thanks to Slaven Rezic.
517    http://rt.cpan.org/Ticket/Display.html?id=30889
518
519  - on some perl's the infix expression parser test would fail due to
520    actions in the grammar returning false.  Made sure all actions return
521    a true value.
522    Thanks to Richard Fairhurst for spending a lot of time in tracking
523    down this problem.
524    http://rt.cpan.org/Public/Bug/Display.html?id=29562
525
526 Imager 0.61 - 5 November 2007
527 ===========
528
529  - added samples/gifscale.pl, which adjusts the screen size/position tags
530    when scaling an animated gif
531    http://rt.cpan.org/Ticket/Display.html?id=27591
532
533 Bug fixes:
534
535  - correct handling of sz in matrix_transform() - this should allow
536    perspective type transformations to work now.
537    http://rt.cpan.org/Ticket/Display.html?id=29936
538
539  - prevent a cast to integer warning on x64 builds in datatypes.c
540    also fixed some other type warnings
541    https://rt.cpan.org/Ticket/Display.html?id=30204
542
543  - some sub-directory tests depended on files produced by the parent
544    directory tests
545    http://rt.cpan.org/Ticket/Display.html?id=30203
546
547  - Imager::Font::Wrap doesn't correctly set savepos
548    thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
549    http://rt.cpan.org/Ticket/Display.html?id=29771
550
551  - test 171 in t/t01introvert.t was failing on perls configured to
552    use long double.
553    http://rt.cpan.org/Ticket/Display.html?id=29413
554
555  - the code for the transform2() uminus operator was missing a break.
556    Added tests for better code coverage of the ops.
557    http://rt.cpan.org/Ticket/Display.html?id=29296
558
559  - the SGI RLE compression code could overflow its compression buffer
560    http://rt.cpan.org/Ticket/Display.html?id=30334
561
562  - the 32-bit output function used by the SGI code only handled values
563    under 0x10000.  This was most noticable when writing large RLE images.
564    http://rt.cpan.org/Ticket/Display.html?id=30335
565
566  - validate chan_count for chans == NULL for each of the i_gsamp()
567    implementations.
568    http://rt.cpan.org/Ticket/Display.html?id=28985
569
570  - attempt to work around the test failure at 
571    http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
572    http://rt.cpan.org/Ticket/Display.html?id=29562
573
574  - improve the error messages produced when attempting to read or write
575    an unknown image file format.
576    http://rt.cpan.org/Ticket/Display.html?id=30103
577
578  - improve the transform2() documentation
579    http://rt.cpan.org/Ticket/Display.html?id=29267
580
581  - correctly generate the author key in META.yml
582    http://rt.cpan.org/Ticket/Display.html?id=30377
583
584  - correctly blend a rotated (or matrix_transformed()) image when
585    performing interpolation in the presence of an alpha channel.
586    Also corrected the centring of the rotated image on the output
587    image.
588
589 Imager 0.60 - 30 August 2007
590 ===========
591
592  - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
593    now has full SGI RGB image format, including RLE and 16-bit/sample
594    images.
595    https://rt.cpan.org/Ticket/Display.html?id=8666
596
597  - logging functions are now available in the API
598
599  - applied Gabriel Vasseur's patch
600    added documentation, further tests, and support for greyscale images
601    Obviously problems are my fault :)
602    https://rt.cpan.org/Ticket/Display.html?id=28142
603
604  - the mask for ICO/CUR images is now applied as an alpha channel to
605    the returned image.  For the old behaviour, supply ico_masked => 0
606    to read() or read_multi().  This should be less confusing when
607    using Imager as a general image processor.
608    https://rt.cpan.org/Ticket/Display.html?id=29001
609
610 Bug fixes:
611
612  - in some cases it's possible for giflib/libungif to return color 
613    indexes outside the range of colors defined by the image's palette.
614    We now expand the palette to match the indexes used.
615    Thanks to Gabriel Vasseur for reporting this.
616
617  - fixed various memory leaks that could occur when failing to read png,
618    jpeg, bmp or tga files.
619
620  - to avoid confusion, channels not present in the image are returned as
621    zero by getscanline().  This has no effect on the C level i_glin()
622    and i_glinf() API functions which continue to not set the unused
623    channels.
624
625  - the convert() method now returns an image of the same sample size as
626    the source image.
627    https://rt.cpan.org/Ticket/Display.html?id=28492
628
629  - remove repeated text in Imager::Files
630    http://rt.cpan.org/Ticket/Display.html?id=27589
631
632  - be even more explicit that scale() and friends don't modify the source
633    image, but return a new image.
634    http://rt.cpan.org/Ticket/Display.html?id=28570
635
636  - improve the error message from errstr() when you try to load a font
637    for which the driver hasn't been built in Imager.
638    http://rt.cpan.org/Ticket/Display.html?id=27571
639
640  - transparency is now enabled by default when writing GIF images
641    http://rt.cpan.org/Ticket/Display.html?id=27615
642
643  - Imager would not load on Windows 98
644    http://rt.cpan.org/Ticket/Display.html?id=27653
645
646 Imager 0.59 - 14 June 2007
647 ===========
648
649 Bug fixes:
650
651  - fixes a regression introduced by the fixes for RT 11972
652    http://rt.cpan.org/Ticket/Display.html?id=27546
653
654  - cropping outside the image would return an Imager object with
655    no low-level image object, instead of returning false.
656    Fixed by: Philip Gwyn (Leolo)
657    http://rt.cpan.org/Ticket/Display.html?id=27509
658
659 Imager 0.58 - 16 May 2007
660 ===========
661
662 No significant changes from 0.57_01.
663
664 Imager 0.57_01 - 11 May 2007
665 ==============
666
667  - added to_rgb16 to produce a 16-bit/sample version of an image
668
669  - improve freetype 1.x text output efficiency
670
671 Bug fixes:
672
673  - search another place for rgb.txt, and check all the places 
674    Imager::Color checks when deciding whether to skip testing it
675    http://rt.cpan.org/Ticket/Display.html?id=26064
676
677  - use a convolution kernel size based on the stddev rather than a
678    fixed size when performing a gaussian blur
679    http://rt.cpan.org/Ticket/Display.html?id=25645
680
681  - document the difference() method's mindist parameter, and debug it.
682
683  - put the Imager release number in the Inline::C generated code to
684    regenerate Inline code when a new release of Imager is installed.
685    http://rt.cpan.org/Ticket/Display.html?id=26278
686
687  - fix rendering on alpha channel images for the FreeType 1.x driver.
688    http://rt.cpan.org/Ticket/Display.html?id=11972
689
690  - fix rendering on alpha channel images for the T1lib driver.
691    http://rt.cpan.org/Ticket/Display.html?id=11972
692
693  - reworked library probing, we can now set more than one probe
694    function for a library.  Disabled the default (non-freetype-config)
695    library probe and added an extra probe function that searches for
696    both ft2build.h and whatever it includes, and adds -I as needed.
697    Hopefully this will fix build problems like
698    http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
699    http://rt.cpan.org/Ticket/Display.html?id=26086
700
701 Imager 0.57 - 30 Apr 2007
702 ===========
703
704 This is a maintenence release fixing a security issue in Imager.
705
706  - CRITICAL: a specially crafted compressed BMP file can cause a buffer
707    overflow in malloced memory.  There will be further discussion of
708    this issue in the ticket below.
709    http://rt.cpan.org/Ticket/Display.html?id=26811
710    CVE-2007-2459  CVE-2007-2413
711    The descriptions at cve.mitre.org varied in quality, please see the
712    ticket at rt.cpan.org for a more accurate description of the issue.
713
714 Imager 0.56 - 1 Apr 2007
715 ===========
716
717  - added support for reading 16-bit/sample PGM/PPM images
718
719  - added support for writing 16-bit/sample PGM/PPM images
720
721  - improved performance of reading PBM/PGM/PPM images
722
723  - added support for writing PBM images if the image is paletted and
724    contains only black and white
725
726  - added a new make_colors value - "mono"
727
728  - switched from the svn log Changes to a manual Changes to reduce
729    noise
730
731  - new sample code - samples/flasher.pl
732
733 Bug fixes:
734
735  - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
736    was returning an image object with an extra reference, this
737    resulted in a memory leak.
738    http://rt.cpan.org/Ticket/Display.html?id=24992
739
740  - fix rendering on alpha channel images for the FreeType 2.x driver
741    http://rt.cpan.org/Ticket/Display.html?id=11972
742
743  - reading bmp files now consitently handles short reads.  You can now
744    supply a parameter to treat a short read as successful and set
745    i_incomplete
746    http://rt.cpan.org/Ticket/Display.html?id=8426
747
748  - previously, reading ASCII PBM files required spaces between samples,
749    even though the format doesn't require that
750
751  - improved documentation of the unsharpmask filter (I hope)
752    http://rt.cpan.org/Ticket/Display.html?id=25531
753
754  - force flushing of the output from i_tt_dump_names() and test output
755    in t/t35ttfont.t to prevent output from being mixed up.
756    https://rt.cpan.org/Ticket/Display.html?id=24859
757
758  - rewrite a conditional expression as an if() to hopefully work around
759    a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
760    https://rt.cpan.org/Ticket/Display.html?id=25561
761
762  - avoid Data::Dumper in regops.perl to support older releases of perl
763    https://rt.cpan.org/Ticket/Display.html?id=24391
764
765 Imager 0.55 - 16 Dec 2006
766 ===========
767
768 This is primarily a bug fix release.
769
770 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
771
772 There is one new feature:
773
774  - the Win32 font driver now supports UTF8 (RT 22166)
775    http://www.cpanforum.com/threads/3276
776    http://rt.cpan.org/Ticket/Display.html?id=22166
777
778 Several bugs were fixed:
779
780  - the string() method would not output the string "0"
781    http://rt.cpan.org/Public/Bug/Display.html?id=21770
782
783  - fills.c was failing to compile on Solaris 10 (compiler unknown)
784    http://rt.cpan.org/Public/Bug/Display.html?id=21944
785
786  - the gif_disposal and gif_user_input tags weren't being read from
787    the file correctly
788    http://rt.cpan.org/Public/Bug/Display.html?id=22192
789
790  - gif.c was failing to build under MSVC
791    http://rt.cpan.org/Ticket/Display.html?id=23922
792
793  - in some cases strings passed to the string() method were treated as
794    terminated by NUL (chr 0)
795    http://rt.cpan.org/Public/Bug/Display.html?id=21770
796
797  - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
798    that's the default build name for zlib on Win32.
799    http://rt.cpan.org/Ticket/Display.html?id=23064
800
801  - search $Config{incpath} for headers too, which we should have been
802    doing all along.
803
804 Win32 font driver fixes:
805
806  - the global descent value from bounding box was the wrong sign
807    http://www.cpanforum.com/threads/3276
808
809  - if the first or last glyph overflowed the left or right side of the
810    advance width they would be clipped
811
812
813 Imager 0.54 - 14 Sep 2006
814 ===========
815
816 This is primarily a feature release:
817
818  - a new qtype value 'mixing' has been added to the scale()
819    method. This is faster than 'normal', slower than 'preview'. This
820    is based on the method used by pnmscale, and seems to produce less
821    blurry results than normal.
822    http://rt.cpan.org/Public/Bug/Display.html?id=20677
823
824  - the rubthrough() method can now render onto images with an alpha
825    channel.
826    http://rt.cpan.org/Ticket/Display.html?id=20678
827
828  - the read_multi() method now falls back to calling doing a single
829    image read via the read() method and write_multi() will now fall
830    back to calling write() if a single image is supplied. This means
831    you can simply call the read_multi() or write_multi() functions
832    without having to check if the type is formatted by that method.
833    http://rt.cpan.org/Ticket/Display.html?id=19457
834    http://rt.cpan.org/Ticket/Display.html?id=19458
835
836  - the GIF loop extension can now be written. If you don't have
837    libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
838    should upgrade.
839    http://rt.cpan.org/Ticket/Display.html?id=21185
840
841  - getscanline() and setscanline() can now read/write palette index
842    based data from/to the image for paletted images, by setting type to
843    'index'.
844    http://rt.cpan.org/Ticket/Display.html?id=20338
845
846  - we no longer hassle you to disable GIF support
847    http://rt.cpan.org/Ticket/Display.html?id=20687
848
849  - minor documentation fixes
850
851
852 Imager 0.53 - 26 Jul 2006
853 ===========
854
855 This is a bugfix release.
856
857 Some test code was left in a code path not covered by the test
858 suite. A test was added to cover this code path and the test code was
859 removed.
860 http://rt.cpan.org/Public/Bug/Display.html?id=20705
861
862
863 Imager 0.52 - 25 Jul 2006
864 ===========
865
866 This is primarily a feature release, but contains a fair few bug
867 fixes, new features:
868
869  - ability to read and write MS Windows ICO and CUR files
870
871  - you can now add file format plugins to support new file formats
872
873  - add POD coverage tests
874
875  - setcolors() and addcolors() now accept color names and so on
876    instead of requiring Imager::Color objects.
877    http://rt.cpan.org/Ticket/Display.html?id=20056
878
879  - flood_fill() can now fill to a specified border color instead of
880    just to the area the same color as the seed.
881    http://rt.cpan.org/Ticket/Display.html?id=19618
882
883
884 Bug fixes:
885
886  - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
887    calculating the advance width.
888    http://rt.cpan.org/Public/Bug/Display.html?id=20554
889
890  - bounding_box for the T1 driver wasn't including leading and
891    trailing spaces in the bounding box as the other drivers did, it also
892    produced strange results for empty strings or strings containing only
893    spaces
894
895  - when reading CMYK jpeg images they were being transferred to the
896    image object as is, producing a four channel image. It only looked ok
897    due to an old still unfixed Photoshop bug. We now convert from the
898    inverted CMYK that photoshop (and Corel for example) produce into RGB.
899    http://rt.cpan.org/Ticket/Display.html?id=20416
900
901  - reading a CYMK TIFF would result in a 4 channel image, reading any
902    image with more than 4 channels (eg. RGB with 2 alpha channels) would
903    result in an error.
904    http://rt.cpan.org/Ticket/Display.html?id=20415
905
906  - added /usr/local/include to the default include search path, since
907    we were already searching /usr/local/lib for libraries.
908
909 And various minor fixes and documentation updates.
910
911
912 Imager 0.51 - 23 Apr 2006
913 ===========
914
915  - fix a validation bug when processing JPEG EXIF data that can cause
916    a crash
917    http://rt.cpan.org/Public/Bug/Display.html?id=18496
918
919  - fix mis-processing of the src_maxx and src_maxy parameters of the
920    paste() method
921    http://rt.cpan.org/Public/Bug/Display.html?id=18712
922
923  - fix a problem in Imager's "smart" handling of the color parameter
924    to various methods.
925    http://rt.cpan.org/Public/Bug/Display.html?id=18561
926
927
928 Imager 0.50 - 29 Mar 2006
929 ===========
930
931  - CRITICAL: fixes a segmentation fault from attempting to write a 2
932    or 4 channel image to jpeg or a 2 channel image to tga where the
933    output is an in-memeory buffer.
934    http://rt.cpan.org/Public/Bug/Display.html?id=18397
935
936  - fixes an incorrect pointer parameter in the PNG code
937    http://rt.cpan.org/Public/Bug/Display.html?id=18051
938
939  - skip Inline::C tests when building in a directory with spaces
940    http://rt.cpan.org/Public/Bug/Display.html?id=18049