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