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