change note for the TT non-AA fix
[imager.git] / Changes
1 Imager release history.  Older releases can be found in Changes.old
2
3  - when drawing on an image with an alpha channel where the source
4    minimum is greater than zero, Imager would read from beyond the end
5    of a malloc() allocated buffer.  In rare circumstances this could
6    lead to some of the source image not being written to the target
7    image, or possibly to a segmentation fault.
8    I don't believe this has any security concerns beyond that.
9
10  - if the first text drawn with Imager::Font::T1 is not anti-aliased,
11    text drawn would be nonsense.  This would also read beyond the end
12    of a malloced buffer.
13
14  - non-AA text drawn with an Imager::Font::TT (Truetype 1) font would be
15    truncated early.
16    https://rt.cpan.org/Ticket/Display.html?id=88993
17
18 Imager 0.97 - 15 Jul 2013
19 ===========
20
21 No changes from 0.96_02.
22
23 Imager 0.96_02 - 8 Jul 2013
24 ==============
25
26  - PNG: treat a version mismatch between headers and library as a
27    probe failure.
28    https://rt.cpan.org/Ticket/Display.html?id=86659
29
30  - PNG: the check for benign error support is more complex than a
31    simple library version check, check for the appropriate macro.
32    Thanks for Slaven Rezic for following up on my CPAN Testers result
33    queries.
34    https://rt.cpan.org/Ticket/Display.html?id=86659
35
36  - W32: add a missing head1 AUTHORS to the old Win32.pm
37    https://rt.cpan.org/Ticket/Display.html?id=86658
38
39 Imager 0.96_01 - 1 Jul 2013
40 ==============
41
42  - TIFF: handle SampleFormat = 2 by translating the signed integer
43    values to unsigned by flipping their sign bits.
44
45    Handle SampleFormat = 3 where possible.
46
47    SampleFormat is ignored for paletted images.
48
49    Mixed SampleFormat are handled incorrectly, since libtiff returns
50    only the first SampleFormat value, and an image with both an alpha
51    channel and SampleFormat = 2 for color channels probably has a
52    different SampleFormat for the alpha channel.
53
54    https://rt.cpan.org/Ticket/Display.html?id=74540
55
56  - XS clean up:
57      https://rt.cpan.org/Ticket/Display.html?id=69243
58
59    - Imager::Color's rgba() method now returns its values as integers
60      instead of floating point. (IV instead of NV).
61
62    - The XS for i_map() and i_matrix_transform() now use the AV *
63      typemap instead of rolling their own.
64
65    - The XS for DSO_call() now uses the HV * typemap instead of
66      rolling it's own.
67
68    - The XS for i_poly_aa(), i_poly_aa_cfill(), i_transform() and
69      i_gradgen() now use a new T_AVARRAY typemap that greatly
70      simplifies the XS code.
71
72    - many other minor XS changes
73
74    - some XS code formatting
75
76  - TT (Freetype 1.x) and FT2 (Freetype 2.x) non-antialiased rendering
77    now renders in alpha-combining mode, to match antialiased output.
78    https://rt.cpan.org/Ticket/Display.html?id=73359
79
80  - add sample code and cookbook notes for drawing a blurred drop-shadow.
81
82  - add support for libpng 1.6, which changed the defaults for
83    reporting some types of error.
84    https://rt.cpan.org/Ticket/Display.html?id=85746
85
86  - FT2: use gsamp/psamp() to transfer pixels from the work image to
87    the output image instead of gpix/ppix.
88    https://rt.cpan.org/Ticket/Display.html?id=83478
89
90  - eliminate various GCC warnings, mostly initialized but otherwise
91    unused variables.
92
93 Imager 0.96 - 19 May 2013
94 ===========
95
96  - rearrange Imager's test files.
97    https://rt.cpan.org/Ticket/Display.html?id=84596
98
99  - Imager::Probe::_gcc_lib_paths now forces C locale.
100    A sufficiently recent gcc prints localized keys for the search
101    paths, which avoids that localization.
102    https://rt.cpan.org/Ticket/Display.html?id=84963
103
104  - fix a pod error detected by Pod::Simple 3.27 and laterm and skip
105    pod tests unless AUTOMATED_TESTING or IMAGER_AUTHOR_TESTING is set
106    and true.
107    https://rt.cpan.org/Ticket/Display.html?id=85262
108    reported by Andreas König
109
110  - add a test for unclosed POD in C source, and fix the errors it
111    found.
112    https://rt.cpan.org/Ticket/Display.html?id=74875
113
114  - fix some spelling errors detected by the newer aspell in Debian
115    Wheezy.
116
117  - remove a trailing ' from lib/Imager/Font/Test.pm's POD
118    thanks to gregor herrmann <gregoa@debian.org>
119    https://rt.cpan.org/Ticket/Display.html?id=85413
120
121  - add a test for standard =head1 commands and fix the errors found
122
123 Imager 0.95 - 19 Apr 2013
124 ===========
125
126  - handle the SVf_UTF8 flag correctly on magic strings passed to
127    Imager::IO's write() and raw_write() methods.
128    This may misbehave in perl 5.6.x since the UTF8 flag may not be
129    visible in the main SV after SvGETMAGIC().
130    https://rt.cpan.org/Ticket/Display.html?id=83438
131
132  - document that bounding_box() ignores the transformation matrix
133    supplied to tranform() for fonts.
134    https://rt.cpan.org/Ticket/Display.html?id=84106
135
136 Imager 0.94_02 - 5 Apr 2013
137 ==============
138
139  - enable debug logging for the standard font tests
140
141  - skip the overloaded UTF-8 text output checks on 5.6.x and earlier,
142    due to a bug in that version of perl.
143
144  - don't test for read() failing on a write-only handle in 5.8.x and
145    earlier, this was fixed in change 862083f7e4 in perl.
146
147  - report the version of Inline found during testing (an attempt to
148    diagnose some intermittent failures.)
149
150 Imager 0.94_01 - 2 Mar 2013
151 ==============
152
153  - NOTE: possibly backward incompatible:
154    support reading from/writing to perl filehandes that aren't raw
155    files.
156
157    This allows Imager's I/O to honour handles with layers such as
158    gzip, scalar file handles or tied file handles.
159
160    This is backward incompatible in that previous Imager would simply
161    use fileno() to retrieve the fd for the file and call write(2) etc
162    on it directly.
163    https://rt.cpan.org/Ticket/Display.html?id=78843
164
165  - moved most of README to lib/Imager/Install.pod which should make it
166    more accessible to the "web" generation, also significantly updated
167    and re-worked it.
168
169  - updated README's for the separately distributed modules to refer to
170    Imager::Install, and that they need -dev versions of packages
171    https://rt.cpan.org/Ticket/Display.html?id=81265
172
173  - the JPEG test code now reports the compile-time library version
174
175  - avoid a possible compiler optimization issue on CentOS 5.9 i386 by
176    rearranging (and mildly optimizing) some code.
177    https://rt.cpan.org/Ticket/Display.html?id=83212
178
179  - fix a POD error in Imager::Fill (detected on new Pod-Simple)
180    https://rt.cpan.org/Ticket/Display.html?id=83434
181
182  - fix a broken link to Graphics::Magick
183    https://rt.cpan.org/Ticket/Display.html?id=82743
184
185  - drawing text to a channel with FT2 would draw with random coverage
186    due to an uninitialized alpha channel.
187
188  - marked the function pointer underlying the mm_log() API with the
189    correct gcc magic and fixed the resulting warnings.
190
191  - fixed some other compiler warnings
192
193  - Imager::Font::W32 now properly reports text drawing errors
194    https://rt.cpan.org/Ticket/Display.html?id=70098
195
196  - handle the SVf_UTF8 flag correctly on magic (eg. overloaded)
197    strings passed as text to draw(), bounding_box(), has_chars(),
198    glyph_names() (where supported) in each of the font drivers.
199    This may misbehave in perl 5.6.x since the UTF8 flag may not be
200    visible in the main SV after SvGETMAGIC().
201    https://rt.cpan.org/Ticket/Display.html?id=83438 (partial)
202
203 Imager 0.94 - 15 Dec 2012
204 =========================
205
206 Variations on some of these changes were included in development
207 releases.
208
209  - improved thread safety
210    - the internal error stack and log file handle are now in a per-thread
211      context object
212    - JPEG now captures IPTC information in a thread-safe way
213    - avoid globals where possible for warning capture in libtiff
214    - use a mutex to avoid re-entering thread-unsafe giflib
215    - use a mutex to avoid re-entering thread-unsafe tifflib
216    - use a mutex to avoid re-entering thread-unsafe T1Lib
217    - use a library handle per thread for freetype 2.
218    - use an engine handle per thread for freetype 1.x.
219    - originally these changes broke ABI compatibility, this has been
220      restored.
221
222  - clarify the return value of getpixel();
223    https://rt.cpan.org/Ticket/Display.html?id=81198
224
225  - fixed a race condition in parallel testing for T1
226
227  - fixed a bug in handling yoff for untransformed image-based fills
228
229  - documentation improvements for Imager::Fill
230
231  - FT2: report the library version while testing.
232
233 Imager 0.93 - 15 Oct 2012
234 ===========
235
236 Bug fixes:
237
238  - previously a transparency enabled GIF write (the default) would
239    always use a GIF89a header even if none of the images were
240    transparent.
241
242  - previously the probe step for freetype-config would fail on cygwin
243
244  - catch an invalid matrix parameter to convert() instead of crashing
245    https://rt.cpan.org/Ticket/Display.html?id=79922
246
247  - remove the 16-bit/sample limitation from the documentation for
248    setsamples(), it hasn't applied for many releases.
249    https://rt.cpan.org/Ticket/Display.html?id=79989
250
251  - don't copy setsamples() data parameter, it may be a large scalar
252    https://rt.cpan.org/Ticket/Display.html?id=79990
253
254  - clean up .dSYM directories generated performing probes on OS X
255    Mountain Lion.
256
257  - pass the --verbose command-line option through to Imager::Probe in
258    sub-module's Makefile.PLs
259    https://rt.cpan.org/Ticket/Display.html?id=75878
260
261 Enhancements:
262
263  - support for giflib 5.0. (5.0.1 and later)
264    https://rt.cpan.org/Ticket/Display.html?id=79029
265    The giflib API Imager uses doesn't have a mechanism to set the
266    header version in 5.0.0.
267
268  - update the GIF library probe code to check for the new giflib 5.0.1
269    EGifSetGifVersion() function, and to check for the giflib 4.2.0
270    uninitialized gif89 bug.
271    https://rt.cpan.org/Ticket/Display.html?id=79679
272    http://sourceforge.net/tracker/?func=detail&aid=3574283&group_id=102202&atid=631304
273
274  - avoid static variables when capturing IPTC data from JPEG files
275
276  - match Imager::Font;:T1's error message translations to those from
277    later versions of T1Lib.
278
279  - for libtiff versions that support extended warning handlers (3.8.0
280    or later), use them to avoid some global variables.
281
282  - note Image::ExifTool for better metadata support.
283    https://rt.cpan.org/Ticket/Display.html?id=79251
284
285 Imager 0.92 - 14 Aug 2012
286 ===========
287
288  - giflib 4.2 eliminates the GIF_LIB_VERSION macro, handle that
289    correctly for both probing and runtime.
290    https://rt.cpan.org/Ticket/Display.html?id=77672
291
292  - allow building JPEG/imexif.c on C89 compilers.
293
294  - allow building GIF/imgif.c on C89 compilers.
295
296 Imager 0.91 - 4 Jun 2012
297 ===========
298
299 Bug fixes:
300
301  - The size of rotated images is no longer rounded up so aggressively.
302    Added rounding to the linear interpolation done for rotate() and
303    matrix_transform() for 1 and 3 channel 8-bit images.
304    Adjusted the two tranlate matrices used to build the final rotation
305    matrix to use the distance between the outlier pixels rather than
306    the pixel dimensions (ie. dimension-1).
307    With all of this the output of rotate(degrees => 270) on an 8-bit
308    image exactly matches the output of rotate(right => 270).
309    https://rt.cpan.org/Ticket/Display.html?id=77063
310
311 Other changes:
312
313  - eliminate the old IIM_new(), IIM_DESTROY() names from Imager's
314    internals, those names only matter for the XS interface.
315
316  - improve error reporting when PERL_INITIALIZE_IMAGER_CALLBACKS finds
317    the API level compiled into a loadable module such as
318    Imager::File::GIF doesn't match that of Imager.  Previously it
319    could be difficult to determine exactly which module was failing to
320    load.
321    https://rt.cpan.org/Ticket/Display.html?id=77173
322
323  - added Imager->check_file_limits() as an interface to the
324    i_int_check_image_file_limits() API.
325
326  - Imager->set_file_limits(reset => 1) now resets the limits to the
327    defaults rather than setting them all to unlimited.
328
329  - wrote a brief security note as Imager::Security
330    https://rt.cpan.org/Ticket/Display.html?id=68910
331
332 Imager 0.90 - 30 Apr 2012
333 ===========
334
335 Bug fixes:
336
337  - Imager::Test::is_imaged() attempted to process an "epsilon"
338    parameter but the prototype didn't allow for the extra parameter.
339    Corrected the prototype.
340
341  - when downconverting samples (eg. from floating point to 8 bit)
342    Imager now rounds the sample value rather than attempting to
343    allocate input values over output values equally.  The old
344    behaviour had the probably surprising effect of converting a
345    floating point 2.1/255.0 into an 8-bit 3 rather than the expected
346    2.
347    This may result in slightly different 8 or 16-bit output images.
348
349  - BI_BITFIELD BMP images were handled incorrectly, both in
350    incorrectly calculating the space required for the masks and in
351    processing the image data itself.
352    https://rt.cpan.org/Ticket/Display.html?id=76736
353
354  - some odd width BMP BI_RLE4 images use run lengths that run one off
355    the edge of the image.  Imager now allows this, discarding the
356    extra column.
357
358  - odd length RLE4 runs in BMP images were decoded incorrectly.
359
360  - pkg-config could sometimes return a library that was in a directory
361    EU::MM / $Config{libpth} doesn't know about, but the compiler did.
362    If no -L is included in the pkg-config library information check if
363    EU::MM can find the library, and if not, search our configured
364    directories and insert that into the library flags.
365    https://rt.cpan.org/Ticket/Display.html?id=75869
366
367  - Imager::Probe can now probe for libraries with dependent libraries,
368    common for static linking, eg. libpng requires libz.
369    https://rt.cpan.org/Ticket/Display.html?id=74043
370
371  - libpng 1.5 specific probes were looking for libpng 1.4 filenames.
372
373  - added alternative probe configurations that try to link libz, to
374    handle a statically linked libpng.
375    https://rt.cpan.org/Ticket/Display.html?id=74043
376
377  - if a probe includes testcode, Imager::Probe now checks that code as
378    part of the process of checking each configuration rather than as a
379    post test of the found configuration.  This allows alternate
380    configurations to be checked if a matching but non-working
381    configuration is found.
382    https://rt.cpan.org/Ticket/Display.html?id=74043
383
384 Other changes:
385
386  - when reading or writing images via callbacks, the default callbacks
387    now push an error message indicating that a required callback was
388    called but not supplied.
389    https://rt.cpan.org/Ticket/Display.html?id=76782
390
391  - clarify which callbacks are required for reading and writing TIFF
392    images.
393
394  - improve logging for creation of callback I/O layers.
395
396  - a little more documentation for Imager::Probe.
397
398  - the i_get_file_background() and i_get_file_backgroundf() APIs now
399    return int to indicate whether the i_background tag was found.
400
401  - PNG rework
402    - improve error reporting
403    - add png_interlace, png_bits tags
404    - read paletted images as paletted images, including transparency
405    - read 1 bit greyscale images as a type suitable for other file
406      handlers to write as bilevel
407    - read 16 bit/sample PNG as 16-bit/sample Imager images
408    - write "bilevel" paletted images as 1 bit grayscale images
409    - write paletted images as paletted images
410    - write 16-bit (or higher)/sample images as 16-bit/sample PNG
411      images
412    - improved metadata support
413    https://rt.cpan.org/Ticket/Display.html?id=29268
414
415 Imager 0.89 - 18 Mar 2012
416 ===========
417
418 Bug fixes:
419
420  - getpixel(..., type => "float") and the API i_gpixf() have been
421    broken on paletted images since they were implemented.
422    https://rt.cpan.org/Ticket/Display.html?id=75258
423
424 Other changes:
425
426  - links in the METHOD INDEX now point at the method documentation
427    rather than the heading you can find them under.
428    https://rt.cpan.org/Ticket/Display.html?id=71495
429
430  - Imager (and the bundled dynamic modules) no longer fallback to
431    using DynaLoader if loading via XSLoader fails.
432    For the bundled modules this could hide useful error messages.
433    https://rt.cpan.org/Ticket/Display.html?id=75560
434
435  - IM_DEBUG_MALLOC mymalloc() no longer sn?printfs() a string to a
436    buffer in the array of allocations, but just stores the filename
437    pointer and line number.
438    https://rt.cpan.org/Ticket/Display.html?id=70388
439
440 Imager 0.88 - 22 Feb 2012
441 ===========
442
443  - describe how to build libgif etc on OS X in such a way as to be
444    compatible with a fat binary perl (such as the system perl), in
445    README.
446    https://rt.cpan.org/Ticket/Display.html?id=73371
447
448  - update the change notes for 0.77_01 to indicate that libungif
449    support was removed.
450
451  - add some other imaging modules to SEE ALSO
452    https://rt.cpan.org/Ticket/Display.html?id=73906
453
454  - note that the generator of the apparently non-DFSG-free postscript
455    in MMOne.pfb is a Debian package.
456
457  - setsamples() is now a true complement to getsamples() - it can
458    write 8-bit or floating point samples from a scalar or array
459    reference.  This adds i_psamp() and i_psampf() to the C level API.
460
461  - the XS interfaces to i_gsamp(), i_gsampf() and i_gsamp_bits() have
462    changed to make better use of the typemap, but these aren't part of
463    the perl level API anyway.  There were no changes to the C level
464    interfaces to these functions.
465
466  - getpixel() and setpixel() now accept a mix of scalar and array
467    references for the x and y parameters, and unequal array lengths is
468    no longer an error.
469    https://rt.cpan.org/Ticket/Display.html?id=73697
470
471 Bug fixes:
472
473  - correctly calculate the size of a rotated image
474    https://rt.cpan.org/Ticket/Display.html?id=69261
475
476  - fix incorrect rounding of color values for matrix_transform() and
477    rotate().
478    https://rt.cpan.org/Ticket/Display.html?id=69261
479
480  - Win32 text output is now done in normal combine mode, the alpha
481    component of the color is now significant.
482    https://rt.cpan.org/Ticket/Display.html?id=70014
483
484  - remove long unused gif case from read()
485    https://rt.cpan.org/Ticket/Display.html?id=69244 (partial)
486
487  - the getsamples() target parameter was being treated as a hashref
488    when it's meant to be an array reference.
489    https://rt.cpan.org/Ticket/Display.html?id=74882
490
491  - getpixel() and setpixel() now returns an empty list when invalid
492    parameters are supplied.
493    Invalid values for type now result in an error for getpixel().
494    https://rt.cpan.org/Ticket/Display.html?id=73697
495
496 Imager 0.87 - 03 Jan 2012
497 ===========
498
499  - document the return value of the filter() method.
500    https://rt.cpan.org/Ticket/Display.html?id=72369
501
502  - document i_gsamp_bits() and i_psamp_bits().
503    https://rt.cpan.org/Ticket/Display.html?id=68815
504
505  - properly increment the Imager::Matrix2d $VERSION.
506
507  - actually include the Imager::Test tests in the dist
508
509  - correctly read and write 256x256 pixel ICO files
510    https://rt.cpan.org/Ticket/Display.html?id=69599
511
512  - make the error message from read() or read_multi() when they can't
513    identify the file type match reality.
514    https://rt.cpan.org/Ticket/Display.html?id=72475
515
516  - read() now uses $FORMATGUESS if it can't determine the file type
517    based on the file header, to match read_multi().
518
519  - re-work and add tests for def_guess_type().  def_guess_type() no
520    longer returns any random file extension as the file type.
521
522  - add gray4, gray16 and gray as presets for make_colors.
523    https://rt.cpan.org/Ticket/Display.html?id=67911
524
525  - add make_palette() method that produces a palette from one or more
526    images.
527
528  - fix the Imager dependency for the separately distributed font
529    drivers.
530    https://rt.cpan.org/Ticket/Display.html?id=72643
531
532  - fix i_render_color() to properly draw in "normal" mode - ie. when
533    writing to a 1 or 3 channel image the second or fourth channel of
534    the source color was being ignored, it is now significant.
535    https://rt.cpan.org/Ticket/Display.html?id=71564
536
537 Imager 0.86 - 31 Oct 2011
538 ===========
539
540  - improve error reporting for W32 tests
541
542 Imager 0.85_02 - 24 Oct 2011
543 ==============
544
545 Bug fixes:
546
547  - eliminate unused i_gif_opts type (clean-up)
548    https://rt.cpan.org/Ticket/Display.html?id=69245
549
550  - fix combine=0 fill color anti-aliasing on the double/sample path
551    https://rt.cpan.org/Ticket/Display.html?id=71309
552
553  - make default text color non-transparent
554    https://rt.cpan.org/Ticket/Display.html?id=71469
555
556  - apply the last of the Debian unforwarded spelling fixes
557    https://rt.cpan.org/Ticket/Display.html?id=70656
558
559  - the log() method used its message parameter as a C level format
560    string.
561    https://rt.cpan.org/Ticket/Display.html?id=71653
562
563  - provide our own STRLEN typemap entry for older perls.
564    https://rt.cpan.org/Ticket/Display.html?id=71641
565
566  - add extra ppport.h configuration to support older perls.
567
568  - depend on Scalar::Util, since we use it and older perls don't have
569    it.
570
571  - add overloaded eq to Imager::Matrix2d, since older perls don't seem
572    to synthesize it from overloaded "".
573
574   - use T1_StrError() for error messages on modern libt1
575     https://rt.cpan.org/Ticket/Display.html?id=69879
576
577  - actually load the font rather than just adding it to the catalog on
578    creation.
579
580  - Imager::Font->new now produces better error messages for the T1
581    engine.
582
583  - the font has_chars() method now returns perl's true and false
584    values in list context rather than integers, which should be more
585    efficient.
586    https://rt.cpan.org/Ticket/Display.html?id=69158
587
588  - the btm data structure used by the flood_fill code is now
589    initialized more efficiently.
590    https://rt.cpan.org/Ticket/Display.html?id=68994
591
592  - updated the Thanks list in README
593    https://rt.cpan.org/Ticket/Display.html?id=71607
594
595  - check there's at least one coefficient for the convolution filter
596    https://rt.cpan.org/Ticket/Display.html?id=68993
597
598  - make the APIRef synopsis ordering consistent, older versions of
599    perl could order it differently.
600    https://rt.cpan.org/Ticket/Display.html?id=71675
601
602  - we rely on Config.pm's d_vsnprintf as to whether we use
603    vsnprintf/snprintf, which is defined in the Win32 Config.pm even
604    though it only has _ prefixed versions of these.  Define our own
605    prefixed names on Win32.
606    https://rt.cpan.org/Ticket/Display.html?id=71642
607
608  - fix library detection with MSVC
609
610  - search a few more library directories, so EU::MM doesn't discard
611    them.  Hopefully fixes:
612    https://rt.cpan.org/Ticket/Display.html?id=71643
613
614 Imager 0.85_01 - 10 Oct 2011
615 ==============
616
617  - add simple tests for the Imager::Test test_image generators
618
619  - io_glue I/O buffering re-work:
620
621    - reorganize io_glue to do it's own buffering by default
622
623    - the unbuffered functions are available as i_io_raw_read() (or
624      raw_read() from perl) etc but are not recommended for typical
625      use.
626
627    - use the new i_io_peekn() when checking for file magic to avoid
628      seek, allowing Imager to detect the file type and read the file
629      from an unseekable stream (for formats that don't use random
630      access)
631
632    - added several new I/O layer API functions.
633
634    - fix the TGA performance problem, most noticably on Win32
635      https://rt.cpan.org/Ticket/Display.html?id=70037
636
637    - TIFF now uses wrapper functions of the correct types to avoid casts
638      https://rt.cpan.org/Ticket/Display.html?id=69912
639
640    - the callback IO object did its own buffering, controlled by the
641      maxbuffer parameter supplied to the read() and write() methods.
642      This buffering has been removed, to avoid redundancy with the
643      common io_glue buffering.  This also avoids a bug in that code
644      which could rarely pass a zero length to the read callback and
645      then panic about the result.
646
647    - the callback IO object now tests the result of calling the close
648      callback, which should return true for success.
649
650    - the PNM reader did its own buffering.  This buffering has been
651      removed to avoid redundancy with the common io_glue buffering.
652
653    - previously the read handlers for fd and callback I/O layers would
654      call the underlying interface (POSIX read or your supplied callback)
655      until it filled the buffer.  It now only makes one call.
656
657    - added public constructors for I/O layer objects (see Imager::IO)
658
659    - all core file handlers now use the i_io_foo() wrappers to gain
660      access to buffered I/O rather than calling the I/O layer
661      callbacks directly.
662
663    - all core file handlers now check for error on close.
664
665    - Backward compatibility: if you hava custom file handlers, you can
666      use i_io_write() etc since they're available as macros in older
667      versions of Imager.
668
669    - eliminate the final remnants of io_glue_commit_types().
670
671    - bump IMAGER_API_VERSION, since the above may break assumptions.
672
673  - removed the long unused i_gen_reader() and i_gen_writer() utility
674    functions.
675
676 Imager 0.85 - 29 Aug 2011
677 ===========
678
679 The main changes in the release versus 0.84 are:
680
681  - on 64-bit systems, 64-bit types are consistently used for image
682    dimensions and co-ordinated, and for memory block sizes.
683
684  - handle IFD loops in TIFF files correctly.  Previously this would
685    lead to an infinite loop.
686
687 Bug fixes:
688
689  - fix the link in the getheight() entry in the method index
690
691 Imager 0.84_02 - 22 Aug 2011
692 ==============
693
694 Development release, this will become 0.85 if CPAN testers is
695 favourable.
696
697 Bug fixes:
698
699  - the image file limits set by set_file_limits() weren't being
700    checked when reading TIFF files.
701    https://rt.cpan.org/Ticket/Display.html?id=69915
702
703  - Provide more information about file format module load errors on a
704    failed image file read() or write().
705    https://rt.cpan.org/Ticket/Display.html?id=69194
706
707  - use TIFFReadDirectory() instead of TIFFSetDirectory() to iterate
708    through TIFF images, since it checks for IFD loops.
709    https://rt.cpan.org/Ticket/Display.html?id=69914
710
711  - don't leak memory when out of range palette indexes are supplied to
712    setscanline().
713    https://rt.cpan.org/Ticket/Display.html?id=69242
714
715  - require a later version of CPAN::Meta to ensure JSON::PP and
716    CPAN::Meta::YAML are available.
717    https://rt.cpan.org/Ticket/Display.html?id=69008
718
719  - hoist the per-line calculations for the flines implementations, and
720    modernize the tests a bit.
721    https://rt.cpan.org/Ticket/Display.html?id=70126
722
723  - detect snprintf()/vsnprintf() (cheat by using Config.pm) and use
724    them when available.
725    https://rt.cpan.org/Ticket/Display.html?id=69147
726
727  - if t1lib failed to reinitialize it would be left as marked
728    initialized.
729    https://rt.cpan.org/Ticket/Display.html?id=69877
730
731  - update the bundled (and still modified) Devel::CheckLib
732    https://rt.cpan.org/Ticket/Display.html?id=69170
733
734 Imager 0.84_01 - 8 Aug 2011
735 ==============
736
737 Development release as a sanity check for the types re-work.
738
739 Massive types re-work:
740
741  - the type used internally for pixel co-ordinates and image sizes is
742    now 64-bit on 64-bit platforms (at least sane ones).
743
744  - size_t is now used consistently for memory block sizes.
745
746  - since this changes the binary interface, the Imager API version has
747    been incremented.  Any module that uses the API will need to be
748    rebuilt.  In most cases that will be enough, but calls to any APIs
749    that take a pointer to image sizes may need source changes.
750
751  - you should be able to create very large images on 64-bit systems,
752    if you have enough memory.  Successfully created a 32768 x 49192 x
753    3 channel image, filled with a tiled image and scaled it.  The
754    unscaled image was also successfully saved to a JPEG.
755
756  - check the image size before attempting to write BMP, GIF, JPEG,
757    PNG, SGI, TGA, TIFF images.
758
759  - correctly handle reading TGA images over 32767 pixels wide or tall.
760
761 Incidental changes:
762
763  - the gif_left and gif_top tags are now clamped to non-negative
764    values when writing a GIF image.
765
766  - removed dead callback read/write code
767
768 The default maximum memory size when reading files is now 1G.
769
770 Imager 0.84 - 20 Jun 2011
771 ===========
772
773  - Imager no longer inherits from Exporter (unless you're running an
774    old, old perl.
775
776  - Imager can now write progressive JPEGs (it could always read them).
777    https://rt.cpan.org/Ticket/Display.html?id=68691
778
779 Bug fixes:
780
781  - re-work, document and test Imager's logging facility.
782    https://rt.cpan.org/Ticket/Display.html?id=65227
783
784  - fix META.yml testing and the generated META.yml
785    https://rt.cpan.org/Ticket/Display.html?id=65235
786
787  - test and add error reporting to to_*() family methods
788
789  - add to_rgb_double() method.
790    https://rt.cpan.org/Ticket/Display.html?id=65101
791
792  - Imager no longer exports anything by default
793    https://rt.cpan.org/Ticket/Display.html?id=65228
794
795  - convert colors to grayscale if the supplied (or generated) palette
796    contains only grays when performing error diffusion color
797    translation.
798    https://rt.cpan.org/Ticket/Display.html?id=68508
799
800  - writing a paletted image to GIF wouldn't always use the colors
801    supplied (or generated, eg. via make_colors => "mono"), which was
802    confusing at best.
803    https://rt.cpan.org/Ticket/Display.html?id=67912
804
805  - replace (imager|tony)@imager.perl.org in the doc, since I don't
806    plan to continue receiving mail at that address.
807    https://rt.cpan.org/Ticket/Display.html?id=68591
808
809 Imager 0.83 - 21 May 2011
810 ===========
811
812 Bug fixes:
813
814  - diag() the error message on failure for some TIFF tests that are
815    failing on a Solaris smoker.
816    http://www.cpantesters.org/cpan/report/6396db1e-8090-11e0-9682-112b785ebe45
817
818 Imager 0.82_01 - 17 May 2011
819 ==============
820
821 Dev release, in case the compose tests are too sensitive.
822
823 Bug fixes:
824
825  - Imager::Font::T1 incorrectly checked for absolute filename under
826    Win32.  Thanks to kmx for the report and fix.
827    https://rt.cpan.org/Ticket/Display.html?id=67963
828
829  - compose() with the target, source or mask position off the top or
830    left of the target image didn't clip the source image correctly.
831    https://rt.cpan.org/Ticket/Display.html?id=67220
832
833  - compose() now returns a useful error message on a non-positive
834    opacity.
835
836  - compose.im now at 100% test coverage. (As opposed to, umm, much,
837    much less.)
838
839 Imager 0.82 - 14 Mar 2011
840 ===========
841
842 Bug fixes:
843
844  - eliminate calls to i_has_format() from the test suite, since it's
845    no longer a useful way to check for file format support.  Eliminate
846    i_has_format() from the functions exposed via XS.
847    https://rt.cpan.org/Ticket/Display.html?id=65863
848
849  - eliminate calls to note(), which isn't in the (very old) version of
850    Test::More we have as a pre-requisite.  note() is modern enough
851    that I don't feel a need to require a Test::More upgrade for it.
852    https://rt.cpan.org/Ticket/Display.html?id=65864
853
854  - skip the threads tests on Test::More 2.00_*
855    https://rt.cpan.org/Ticket/Display.html?id=65812
856
857  - add an (unshipped) test to check Imager's internal POD links
858    https://rt.cpan.org/Ticket/Display.html?id=65749
859
860  - improve the library detection summary
861    https://rt.cpan.org/Ticket/Display.html?id=9675
862
863  - increase the version of Imager::Font::Type1 so that upgrades don't
864    downgrade the version in this file.
865    https://rt.cpan.org/Ticket/Display.html?id=66250
866
867  - if we see an -rpath (or -R) option in $Config{lddlflags} supply
868    that option for the directories that would normally go in
869    LD_RUN_PATH.  Typically an explicit -rpath overrides LD_RUN_PATH.
870    https://rt.cpan.org/Ticket/Display.html?id=65955
871
872 Imager 0.81 - 14 Feb 2011
873 ===========
874
875  - added coverage tests for masked images (maskimg.c @100% test coverage)
876
877  - add hsv() method to Imager::Color
878    Thanks to Leolo (Philip Gwyn)
879    https://rt.cpan.org/Ticket/Display.html?id=65385
880
881  - split libt1 Type 1 font support into a sub-module
882    https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
883
884  - add a preload() class method for use in forking servers, and to
885    work around limitations in PAR.
886    https://rt.cpan.org/Ticket/Display.html?id=65665
887
888 Bug fixes:
889
890  - paletted writes to a masked image are now masked correctly.
891    Revealed by new coverage tests.
892
893  - update the filter plugin documentation.
894    https://rt.cpan.org/Ticket/Display.html?id=56513
895
896  - add the matrix() method to Imager::Matrix2d to allow creation of a
897    matrix with specified co-efficients.  You can now multiple an
898    Imager::Matrix2d object by a 9 element array ref or a number.
899    https://rt.cpan.org/Ticket/Display.html?id=29938
900
901  - really fix loading TTF fonts with FT2 when FT1 isn't available.
902    Thanks to Leolo (Philip Gwyn)
903    https://rt.cpan.org/Ticket/Display.html?id=65386
904    https://rt.cpan.org/Ticket/Display.html?id=62855
905
906  - make sure each test script that needs testout/ creates it.
907    https://rt.cpan.org/Ticket/Display.html?id=65088
908
909  - handle a slightly different warning from libtiff 4.x
910    https://rt.cpan.org/Ticket/Display.html?id=65268
911
912  - the sat transform2() op returned an incorrect saturation.
913    https://rt.cpan.org/Ticket/Display.html?id=65391
914
915 Imager 0.80 - 17 Jan 2011
916 ===========
917
918  - added coverage tests for Imager::Fountain and Imager::Color::Float
919
920  - Imager is now maintained in git
921    http://git.imager.perl.org/imager.git
922    git://git.imager.perl.org/imager.git
923
924 Bug fixes:
925
926  - images with an translucent alpha channel were not scaled correctly
927    by the default (qtype=normal) scaling method.
928    https://rt.cpan.org/Public/Bug/Display.html?id=63922
929
930  - Imager::Color::Float now translates "#FFFFFF" to white instead of
931    just a little darker.
932
933  - make the default color map build algorithm "mediancut".  This
934    changes the default color map builder for writing GIFs back to what
935    it was in 0.77, reverting a performance regression.
936    https://rt.cpan.org/Ticket/Display.html?id=64785
937
938  - handle failure to create a masked image correctly
939
940 Imager 0.79 - 10 Dec 2010
941 ===========
942
943  - add Imager::Test to the POD coverage tests and document the missing
944    functions.
945
946  - the convert() method now optimizes the case where all output
947    channels are either 0, sourced from a single input channel or 1.
948    This significantly speeds up presets like "addalpha", "green".
949    https://rt.cpan.org/Ticket/Display.html?id=51254
950
951  - add wiggle.pl sample, as suggested by Dan Oppenheim.
952
953  - add the combine() method to combine channels from multiple source
954    images into a new image
955    https://rt.cpan.org/Ticket/Display.html?id=11872
956
957 Bug fixes:
958
959  - treat the co-efficients for convert() as doubles instead of floats.
960
961  - If a higher (earlier) priority font handler failed to load, that
962    would crash preventing loading of later font handlers.
963    https://rt.cpan.org/Ticket/Display.html?id=62855
964
965  - parse defines from the options returned by pkg-config --cflags
966    https://rt.cpan.org/Ticket/Display.html?id=63223
967
968  - a regen of the MANIFEST revealed that GIF and FT2 tests weren't
969    included in the tarball.  They are now included.
970
971 Imager 0.78 - 4 Oct 2010
972 ===========
973
974 Bug fixes:
975
976  - don't access deprecated members of the png_structp.
977    https://rt.cpan.org/Ticket/Display.html?id=60242
978
979  - document that using color objects is faster than supplying colors
980    by name, etc.
981    https://rt.cpan.org/Ticket/Display.html?id=61047
982
983  - Imager::Probe now accepts array references for incpath and libpath.
984    https://rt.cpan.org/Ticket/Display.html?id=60244
985
986 Imager 0.77_02 - 27 Sep 2010
987 ==============
988
989  - moved Win32, FreeType 2 font support into sub-modules.
990    https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
991    Uses Imager::Probe now.
992    https://rt.cpan.org/Public/Bug/Display.html?id=61328
993
994  - tested successfully with jpeg-8b
995    https://rt.cpan.org/Ticket/Display.html?id=60221
996
997 Bug fixes:
998
999  - from _01: look for missing file support test files in the right
1000    places.
1001
1002  - flood_fill() wouldn't fill the right side of a single scan-line
1003    fill area.
1004    Thanks to Nicolas Roggli for reporting this.
1005
1006  - flood_fill wouldn't fill to the left edge of the image if the
1007    starting line didn't reach the left edge.
1008    Thanks to Nicolas Roggli for reporting this.
1009
1010 Imager 0.77_01 - 13 Sep 2010
1011 ==============
1012
1013  - add each library-directory/pkgconfig/ to the pkg-config search path
1014    in Imager::Probe.
1015    Thanks to Justin Davis.
1016    https://rt.cpan.org/Ticket/Display.html?id=60491
1017
1018  - moved GIF, TIFF, JPEG file handling code into sub-modules in
1019    preparation for separate distribution.
1020    https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
1021
1022    Note: this removed support for libungif from Imager.
1023
1024  - optimize filled box drawing (color, not fill)
1025
1026 Bug fixes:
1027
1028  - Imager::Probe was calling ExtUtils::Liblist to initialize
1029    LD_RUN_PATH supplying an undefined value rather than the found
1030    directory.  Thanks to Justin Davis.
1031    https://rt.cpan.org/Ticket/Display.html?id=60491
1032
1033  - only prepend ./ to font filenames when passing them to T1Lib and
1034    then only when it would use its search mechanisms.
1035    https://rt.cpan.org/Ticket/Display.html?id=60509
1036
1037  - fix the cache check for the X rgb.txt loader.  This is typically
1038    used for color translation on Unix-like systems, and the fix
1039    improves performance of supplying colors by name by about 80 times.
1040    Test code that managed 3400 10x10 pixel boxes/second sped up to
1041    25700 boxes/second.
1042
1043  - clarify that Imager doesn't write EXIF metadata to images.
1044    https://rt.cpan.org/Ticket/Display.html?id=60637
1045
1046  - Imager::Probe can now search subdirectories under its include path.
1047    Used by the PNG Makefile.PL to find headers and libraries when they
1048    aren't in the base directory, as in cygwin.
1049    https://rt.cpan.org/Ticket/Display.html?id=60635
1050
1051 Imager 0.77 - 11 Aug 2010
1052 ===========
1053
1054 I don't want Imager::File::PNG indexed as part of Imager, but forgot
1055 to update the META.yml before updating the version.
1056
1057  - don't index Imager::File::PNG as part of Imager
1058
1059  - add resources to META.yml
1060
1061 Imager 0.76 - not released
1062 ===========
1063
1064 Bug fixes:
1065
1066  - the align_string() method would ignore a string of "0" due to a
1067    mis-use of C< ||= >.
1068    Thanks to Maurice Height for reporting this.
1069    https://rt.cpan.org/Ticket/Display.html?id=60199
1070
1071 Imager 0.75_03 - 09 Aug 2010
1072 ==============
1073
1074 Bug fixes:
1075
1076  - read_types() and write_types() would include png when it wasn't
1077    available due to a problem with the %formats tie
1078
1079  - handle dependent libraries correctly (eg -lpng requiring -lz) in
1080    the code run phase of library probing.
1081
1082 Imager 0.75_02 - 07 Aug 2010
1083 ==============
1084
1085 Bug fixes:
1086
1087  - add file missing from MANIFEST, which was causing TIFF failures.
1088
1089 Imager 0.75_01 - 06 Aug 2010
1090 ==============
1091
1092 Test release for the new PNG probe.
1093
1094  - added the ability to read multiple-image PNM files.
1095    Note that unlike the pbm/pgm/ppm specification this accepts mixed
1096    format files and allows white space padding between files.
1097    Thanks to Philip Gwyn (Leolo) for this patch.
1098
1099  - moved the PNG file handling code into a sub-module in preparation
1100    for separate distribution.
1101    https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
1102    Also helps avoid complications from -I/-L compile/link options from
1103    other libraries.
1104
1105 Bugs:
1106
1107  - Imager->new(data => $data) didn't try to process image file data in
1108    $data
1109    https://rt.cpan.org/Ticket/Display.html?id=58761
1110
1111  - t/t50basicoo.t no longer depends on the other tests to generate its 
1112    input files.
1113    https://rt.cpan.org/Ticket/Display.html?id=9798
1114    Also, it wasn't testing pnm (pnm vs ppm mix-up)
1115
1116  - update the documentation of hardinvert to match the change in 0.62.
1117    https://rt.cpan.org/Ticket/Display.html?id=59785
1118
1119  - added hardinvertall filter which also inverts the alpha channel
1120    (sorry for the mess)
1121
1122  - when probing for TIFF, set LD_RUN_PATH just as the Makefile does so
1123    the probe can find the library for the test run.
1124    https://rt.cpan.org/Ticket/Display.html?id=57518
1125
1126 Imager 0.75 - 20 Jun 2010
1127 ===========
1128
1129  - use PERL_NO_GET_CONTEXT to slightly improve performance on threaded
1130    perls (not measured)
1131
1132 Bugs:
1133
1134  - an opacity fill based on a fountain fill would segfault when
1135    filling an 8-bit/sample image.
1136
1137  - merge thickline branch polygon fix
1138    https://rt.cpan.org/Ticket/Display.html?id=43518
1139
1140 Imager 0.74 - 7 May 2010
1141 ===========
1142
1143 Bug fixes:
1144
1145  - read_multi() didn't handle a missing file format library correctly,
1146    aborting on failing to call i_readgif_multi_wiol() or
1147    i_readtiff_multi_wiol().
1148
1149  - fix spelling errors patched by Debian
1150    http://svn.debian.org/viewsvn/pkg-perl/trunk/libimager-perl/debian/patches/spelling.patch?revision=54839&view=markup
1151
1152  - add an (unshipped) author test to spellcheck Imager's POD.
1153
1154  - update the TIFF file format documentation
1155    https://rt.cpan.org/Ticket/Display.html?id=56510
1156
1157  - lib/Imager/IO.pod was written almost 4 years ago but never shipped.
1158
1159 Imager 0.73 - 15 Mar 2010
1160 ===========
1161
1162  - implement outline circles, both anti-aliased and not
1163    https://rt.cpan.org/Ticket/Display.html?id=19755
1164
1165  - a combine => "none" fill to a 1 or 3 channel image would produce
1166    the incorrect colour.
1167
1168 Imager 0.72 - 09 Dec 2009
1169 ===========
1170
1171 Bump version for release, since 0.71_03 is stable with CPAN testers.
1172
1173 Imager 0.71_03 - 5 Dec 2009
1174 ==============
1175
1176  - further adjust the threads test so it only performs the tests on
1177    perls where it's expected to work, and only if the threads module
1178    can be loaded.
1179
1180 Imager 0.71_02 - 1 Dec 2009
1181 ==============
1182
1183  - adjust the way we load the threads module for the threads test so
1184    it works with non-threaded perls
1185
1186 Imager 0.71_01 - 30 Nov 2009
1187 ===========
1188
1189 Bug fixes:
1190
1191  - use scanline oriented operations to flip images instead of pixel
1192    operations
1193    https://rt.cpan.org/Ticket/Display.html?id=39278
1194
1195  - use double/sample operations to flip large sample images instead of
1196    8-bit sample operations.
1197    https://rt.cpan.org/Ticket/Display.html?id=39280
1198
1199  - fix POD nits
1200    https://rt.cpan.org/Ticket/Display.html?id=51874
1201
1202  - prevent double-frees when someone creates Imager objects and then
1203    creates a thread.  Note: this just handles some simple cases,
1204    Imager doesn't support perl threads, and isn't likely to.
1205    https://rt.cpan.org/Ticket/Display.html?id=52268
1206
1207 Imager 0.71 - 16 Nov 2009
1208 ===========
1209
1210  - add the opacity fill type - an adaptor that modifies the opacity of
1211    another fill.
1212
1213 Bug fixes:
1214
1215  - the conv filter now enforces that the sum of the coefficients is
1216    non-zero.  Also, rather than skipping pixels off the edge off the
1217    edge of the image, the closest edge pixel is used.  Previously
1218    dividing by the zero sum of coefficients could cause invalid
1219    results or runtime exceptions.
1220    Thanks to David Cantrell's Alpha-NetBSD CPAN test box for revealing
1221    this bug.
1222
1223 Imager 0.70 - 21 Sep 2009
1224 ===========
1225
1226 Bug fixes:
1227
1228  - release image row and comments memory on all error returns in gif
1229    reader
1230
1231  - handle zero length extensions, previously this would cause a null
1232    pointer dereference
1233    Thanks to Krzysztof Wojtaś for the test data and fix for this.
1234
1235  - an integer division meant that preview scaling to below 1 pixel
1236    wide or high (which isn't too useful anyway) was calculating using
1237    NaNs on most platforms, and causing an exception on others.
1238    Thanks to David Cantrell for producing a backtrace of the crash on
1239    his Alpha-NetBSD CPAN test box which made it possible to track this
1240    down.
1241
1242 Imager 0.69 - 08 Sep 2009
1243 ===========
1244
1245 Bug fixes:
1246
1247  - broken test fix - was attempting to call a function skip_all, when
1248    that should be a parameter to plan().
1249
1250  - briefly document apidocs.perl, the tool used to build
1251    Imager::APIRef and make some minor enhancements
1252
1253  - various minor documentation enhancements and fixes.
1254
1255 Imager 0.68 - 07 Sep 2009
1256 ===========
1257
1258  - Imager->new(file => $filename) and other similar incantations will
1259    load the given file.
1260    https://rt.cpan.org/Ticket/Display.html?id=48261
1261
1262 Bug fixes:
1263
1264  - avoid using CHECK as a label in Imager::Test
1265    http://nntp.x.perl.org/group/perl.cpan.testers/5220921
1266
1267  - re-work most image file test files that require a library into
1268    separate library present/not present files to remove stupidly long
1269    conditionals
1270
1271  - don't treat rubthrough() outside the bounds of the target image as
1272    an error.
1273    http://nntp.x.perl.org/group/perl.cpan.testers/5185716
1274
1275 Imager 0.67_01 - 02 Sep 2009
1276 ==============
1277
1278 Bug fixes:
1279
1280  - correct documentation of default of raw image interleave read
1281    parameter
1282    https://rt.cpan.org/Ticket/Display.html?id=42074
1283
1284  - add raw_ prefix to raw read parameters, though the original names
1285    still work.
1286
1287  - fail the read if an invalid raw_interleave parameter is supplied
1288
1289  - warn if no interleave or raw_interleave parameter is supplied,
1290    since the documented default was wrong, and incompatible with the
1291    write format
1292
1293  - for reading raw images, if raw_storechannels > raw_datachannels,
1294    set the extra channels in the image to 0
1295
1296  - when probing for executables like freetype-config, search for .bat
1297    and .cmd on MSWin32, as well as .exe.
1298    https://rt.cpan.org/Ticket/Display.html?id=49275
1299
1300  - re-work the external libraries section of README:
1301    - list Debian and Redhat package names for each library
1302    - reformatting
1303    - update URLs
1304
1305  - use the new EU::MM META_MERGE facility instead of generating
1306    META.yml from scratch
1307    https://rt.cpan.org/Ticket/Display.html?id=47888
1308
1309  - use Devel::CheckLib (bundled, modified) to check which release of
1310    libtiff is installed and reject 3.9.0
1311    http://bugzilla.maptools.org/show_bug.cgi?id=2088
1312    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543079
1313
1314 Imager 0.67 - 12 Dec 2008
1315 ===========
1316
1317 Bug fixes:
1318
1319  - fix a packaging error
1320
1321 Imager 0.66 - 12 Dec 2008
1322 ===========
1323
1324  - 24-bit color .ICO/.CUR files can now be read.
1325
1326 Bug fixes:
1327
1328  - an optimization skipping 0 src alpha values could cause the
1329    rubthrough() to read past the end of a buffer.
1330    http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
1331
1332  - corrected a reference leak where writing GIFs would leak memory.
1333    This could also happen calling to_paletted().
1334    Also documented the underlying long existing feature where the
1335    colors parameter is filled with the generated color table and added
1336    tests for it.
1337    http://rt.cpan.org/Ticket/Display.html?id=41028
1338
1339  - write out the image size in bytes field of a BMP correctly.
1340    http://rt.cpan.org/Ticket/Display.html?id=41406
1341
1342  - add limited tests for Imager::ExtUtils
1343
1344  - make Imager::ExtUtils->includes use an absolute path, since
1345    a relative path could cause failures using Inline::C.
1346    http://rt.cpan.org/Ticket/Display.html?id=37353
1347
1348  - re-arrange the POD for Imager::Font::BBox:
1349    - mark total_width(), pos_width(), end_offset() obsolete, since
1350      they're mostly for backwards compatibility
1351    - group width methods and height methods
1352    https://rt.cpan.org/Ticket/Display.html?id=39999
1353
1354 Imager 0.65 - 20 May 2008
1355 ===========
1356
1357 Bug fixes:
1358
1359  - In some cases when an error occurs reading those parts of a JPEG
1360    file after the image the scan-line buffer could be freed a second
1361    time.  In cases where the the error occured while reading the image
1362    data it's possible that the buffer could have leaked.
1363    Thanks to Gabriel Vasseur for reporting this and help in tracking
1364    it down.
1365
1366  - the gif_screen_height tag was overriding the screen width and being
1367    ignored for the screen height when present.
1368    https://rt.cpan.org/Public/Bug/Display.html?id=35568
1369
1370 Imager 0.64 - 23 April 2008
1371 ===========
1372
1373 This is a bug fix release.  This includes a fix for a possible
1374 security issue.
1375
1376 Bug fixes:
1377
1378  - Possible security issue: The floating point sample path for image
1379    based fills had a buffer overflow.  This would overwrite the end of
1380    a malloc()ed buffer with double precision floats.
1381    http://rt.cpan.org/Ticket/Display.html?id=35324
1382    CVE-2008-1928
1383
1384  - check that the result of fileno($fh) is defined rather than simply
1385    true when read() or write() is supplied with an fh parameter.
1386    http://rt.cpan.org/Ticket/Display.html?id=35139
1387
1388  - i_scale_axis() wasn't checking the result of i_img_new_ch()
1389    resulting in a SIGSEGV when attempting to scale an image to a size
1390    too large to fit in memory.  This is a NULL pointer access issue,
1391    not a buffer overflow.
1392    Added a check for the failure.
1393    scale_calculate() (and hence scale()) will now fail if any of the
1394    scale size parameters are a reference.
1395    http://rt.cpan.org/Ticket/Display.html?id=35172
1396
1397  - Regression: filling a greyscale image with a hatch used the wrong
1398    color channels from the supplied fg/bg colors.
1399    https://rt.cpan.org/Ticket/Display.html?id=35278
1400
1401  - fixed a related problem for image fills.
1402
1403 Imager 0.63 - 7 April 2008
1404 ===========
1405
1406 This release primarily contains changes to improve ease of use -
1407 rather than you having to convert images to the appropriate number of
1408 channels, Imager handles it internally.  How to handle drawing colors
1409 and the default combine mode is a thornier problem left for some other
1410 release.
1411
1412  - the font libraries are now only initialized when needed.
1413    http://rt.cpan.org/Ticket/Display.html?id=28825
1414
1415  - moved the imtoc.perl code into Imager::Preprocess
1416
1417  - paste() and rubthrough() now adapt the source image data to the
1418    destination, so you can now safely paste/rubthrough from greyscale
1419    images to color images or back, or from alpha channel images to
1420    noalpha channels or back.
1421    https://rt.cpan.org/Ticket/Display.html?id=30908
1422
1423  - rubthrough() now falls back to pasting when the source doesn't have
1424    an alpha channel.  This effectively treats the source as having a
1425    max alpha channel, the right thing to do.
1426    http://rt.cpan.org/Ticket/Display.html?id=29944
1427
1428  - re-worked most of the area filling code to use a common set of
1429    functions when filling.
1430    Corrected normal combine mode.
1431    Rewrote most of the combine modes to match the way the SVG draft
1432    defines them with respect to a translucent source and destination.
1433    Added tests for translucent source and destination.
1434    Added tests to check 8-bit/sample and double/sample combines work
1435    similarly.
1436    https://rt.cpan.org/Ticket/Display.html?id=29879
1437
1438  - writing a 2 or 4 channel image to a JPEG file will now write that
1439    image as if composited against a background, black by default,
1440    overridable with the i_background tag/parameter.
1441    https://rt.cpan.org/Ticket/Display.html?id=29876
1442
1443  - writing a 2 or 4 channel image to a PGM/PPM file will now write
1444    that image as if composited against a background, black by default,
1445    overridable with the i_background tag/parameter.
1446    http://rt.cpan.org/Ticket/Display.html?id=30074
1447
1448  - writing a 2 or 4 channel image to a BMP file will now write that
1449    image as if composited against a background, black by default,
1450    overridable with the i_background tag/parameter.
1451    http://rt.cpan.org/Ticket/Display.html?id=30075
1452
1453 Bug fixes:
1454
1455  - Imager::Matrix2d->translate() now only requires one of the x or y
1456    parameters.
1457    http://rt.cpan.org/Ticket/Display.html?id=29937
1458
1459  - mixing qtype scaling now sets all channels of a pixel to zero if
1460    the pixel has zero coverage (zero alpha).  This should produce more
1461    compressible output files.
1462    http://rt.cpan.org/Ticket/Display.html?id=32324
1463
1464  - removed the pointless #! line from lib/Imager/Font/Wrap.pm
1465    Noticed when I saw:
1466    https://bugzilla.redhat.com/show_bug.cgi?id=166254
1467    I'm not changing the #! lines of the sample code, since it's sample
1468    code, not intended for installation.
1469    http://rt.cpan.org/Ticket/Display.html?id=33408
1470
1471  - some TGA images weren't being detected correctly as TGA images
1472    https://rt.cpan.org/Ticket/Display.html?id=32925
1473
1474  - handling of the left-over bit for 16-bit/pixel TGA images has been
1475    changed to match the behaviour of the GIMP.  Previously the bit
1476    being set was treated as an opaque pixel, but one user reported a
1477    problem with loading such an image.  I haven't been able to find any
1478    tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
1479    I'll match it's behaviour.  See issue 114913 in the GIMP's
1480    bugzilla.
1481    http://rt.cpan.org/Ticket/Display.html?id=32926
1482
1483 Imager 0.62 - 10 December 2007
1484 ===========
1485
1486  - Makefile.PL now expands ~/path supplied to --incpath or --libpath
1487    to /path under your home directory.
1488    http://rt.cpan.org/Ticket/Display.html?id=29484
1489
1490  - the old dynaload code used Mach API functions to load dynamic
1491    libraries on Mac OS X.  These APIs have been deprecated in OS X
1492    10.5 and were causing some build problems.
1493    So henceforth Imager uses the dlopen() family of functions, and you 
1494    will need version 10.3 or later of OS X.
1495
1496  - added the det() function to the transform2() engine.
1497    added the sample quad_to_square.pl
1498    Courtesy Richard Fairhurst.
1499    http://rt.cpan.org/Ticket/Display.html?id=31244
1500
1501 Bug fixes:
1502
1503  - samples/gifscale.pl sourced the base value for gif_top from
1504    gif_left.
1505    Thanks to Eleneldil G. Arilou for pointing this out.
1506
1507  - t/t82inline.t no longer loads B at runtime, to work around a bug
1508    in some 5.005_0[45] installations.
1509    http://rt.cpan.org/Ticket/Display.html?id=30508
1510
1511  - work around Module::Depends::Intrusive bug #21229
1512    http://rt.cpan.org/Ticket/Display.html?id=30520
1513
1514  - the hardinvert filter no-longer inverts the alpha channel.
1515    http://rt.cpan.org/Ticket/Display.html?id=30002
1516
1517  - the hardinvert filter now supports large samples
1518
1519 Imager 0.61_02 - 28 November 2007
1520 ==============
1521
1522  - major TIFF support re-work
1523    http://rt.cpan.org/Ticket/Display.html?id=20329
1524
1525  - added a C level image interface for accessing samples from 1-32
1526    bits, exposed this at the perl level in getsamples()
1527
1528  - the conv filter now works at floating point precision for high bit
1529    images
1530
1531  - added is_bilevel method to test whether an image should be written as
1532    a bilevel image if the image format supports it.
1533
1534  - added -log-stderr as an Imager import list option
1535
1536  - added some important types to Imager::APIRef
1537
1538  - added test_image_double() to Imager::Test
1539
1540 Bug fixes:
1541
1542  - Imager::Fountain couldn't read GIMP gradient files with 10 or more
1543    segments
1544
1545  - the scale() method with qtype mixing now handles images with an
1546    alpha channel correctly.
1547
1548  - fixed a broken link from the "animated GIF" entry in the concept index.
1549    Thanks to Slaven Rezic.
1550    http://rt.cpan.org/Ticket/Display.html?id=30889
1551
1552  - on some perl's the infix expression parser test would fail due to
1553    actions in the grammar returning false.  Made sure all actions return
1554    a true value.
1555    Thanks to Richard Fairhurst for spending a lot of time in tracking
1556    down this problem.
1557    http://rt.cpan.org/Public/Bug/Display.html?id=29562
1558
1559 Imager 0.61 - 5 November 2007
1560 ===========
1561
1562  - added samples/gifscale.pl, which adjusts the screen size/position tags
1563    when scaling an animated gif
1564    http://rt.cpan.org/Ticket/Display.html?id=27591
1565
1566 Bug fixes:
1567
1568  - correct handling of sz in matrix_transform() - this should allow
1569    perspective type transformations to work now.
1570    http://rt.cpan.org/Ticket/Display.html?id=29936
1571
1572  - prevent a cast to integer warning on x64 builds in datatypes.c
1573    also fixed some other type warnings
1574    https://rt.cpan.org/Ticket/Display.html?id=30204
1575
1576  - some sub-directory tests depended on files produced by the parent
1577    directory tests
1578    http://rt.cpan.org/Ticket/Display.html?id=30203
1579
1580  - Imager::Font::Wrap doesn't correctly set savepos
1581    thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
1582    http://rt.cpan.org/Ticket/Display.html?id=29771
1583
1584  - test 171 in t/t01introvert.t was failing on perls configured to
1585    use long double.
1586    http://rt.cpan.org/Ticket/Display.html?id=29413
1587
1588  - the code for the transform2() uminus operator was missing a break.
1589    Added tests for better code coverage of the ops.
1590    http://rt.cpan.org/Ticket/Display.html?id=29296
1591
1592  - the SGI RLE compression code could overflow its compression buffer
1593    http://rt.cpan.org/Ticket/Display.html?id=30334
1594
1595  - the 32-bit output function used by the SGI code only handled values
1596    under 0x10000.  This was most noticable when writing large RLE images.
1597    http://rt.cpan.org/Ticket/Display.html?id=30335
1598
1599  - validate chan_count for chans == NULL for each of the i_gsamp()
1600    implementations.
1601    http://rt.cpan.org/Ticket/Display.html?id=28985
1602
1603  - attempt to work around the test failure at 
1604    http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
1605    http://rt.cpan.org/Ticket/Display.html?id=29562
1606
1607  - improve the error messages produced when attempting to read or write
1608    an unknown image file format.
1609    http://rt.cpan.org/Ticket/Display.html?id=30103
1610
1611  - improve the transform2() documentation
1612    http://rt.cpan.org/Ticket/Display.html?id=29267
1613
1614  - correctly generate the author key in META.yml
1615    http://rt.cpan.org/Ticket/Display.html?id=30377
1616
1617  - correctly blend a rotated (or matrix_transformed()) image when
1618    performing interpolation in the presence of an alpha channel.
1619    Also corrected the centring of the rotated image on the output
1620    image.
1621
1622 Imager 0.60 - 30 August 2007
1623 ===========
1624
1625  - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
1626    now has full SGI RGB image format, including RLE and 16-bit/sample
1627    images.
1628    https://rt.cpan.org/Ticket/Display.html?id=8666
1629
1630  - logging functions are now available in the API
1631
1632  - applied Gabriel Vasseur's patch
1633    added documentation, further tests, and support for greyscale images
1634    Obviously problems are my fault :)
1635    https://rt.cpan.org/Ticket/Display.html?id=28142
1636
1637  - the mask for ICO/CUR images is now applied as an alpha channel to
1638    the returned image.  For the old behaviour, supply ico_masked => 0
1639    to read() or read_multi().  This should be less confusing when
1640    using Imager as a general image processor.
1641    https://rt.cpan.org/Ticket/Display.html?id=29001
1642
1643 Bug fixes:
1644
1645  - in some cases it's possible for giflib/libungif to return color 
1646    indexes outside the range of colors defined by the image's palette.
1647    We now expand the palette to match the indexes used.
1648    Thanks to Gabriel Vasseur for reporting this.
1649
1650  - fixed various memory leaks that could occur when failing to read png,
1651    jpeg, bmp or tga files.
1652
1653  - to avoid confusion, channels not present in the image are returned as
1654    zero by getscanline().  This has no effect on the C level i_glin()
1655    and i_glinf() API functions which continue to not set the unused
1656    channels.
1657
1658  - the convert() method now returns an image of the same sample size as
1659    the source image.
1660    https://rt.cpan.org/Ticket/Display.html?id=28492
1661
1662  - remove repeated text in Imager::Files
1663    http://rt.cpan.org/Ticket/Display.html?id=27589
1664
1665  - be even more explicit that scale() and friends don't modify the source
1666    image, but return a new image.
1667    http://rt.cpan.org/Ticket/Display.html?id=28570
1668
1669  - improve the error message from errstr() when you try to load a font
1670    for which the driver hasn't been built in Imager.
1671    http://rt.cpan.org/Ticket/Display.html?id=27571
1672
1673  - transparency is now enabled by default when writing GIF images
1674    http://rt.cpan.org/Ticket/Display.html?id=27615
1675
1676  - Imager would not load on Windows 98
1677    http://rt.cpan.org/Ticket/Display.html?id=27653
1678
1679 Imager 0.59 - 14 June 2007
1680 ===========
1681
1682 Bug fixes:
1683
1684  - fixes a regression introduced by the fixes for RT 11972
1685    http://rt.cpan.org/Ticket/Display.html?id=27546
1686
1687  - cropping outside the image would return an Imager object with
1688    no low-level image object, instead of returning false.
1689    Fixed by: Philip Gwyn (Leolo)
1690    http://rt.cpan.org/Ticket/Display.html?id=27509
1691
1692 Imager 0.58 - 16 May 2007
1693 ===========
1694
1695 No significant changes from 0.57_01.
1696
1697 Imager 0.57_01 - 11 May 2007
1698 ==============
1699
1700  - added to_rgb16 to produce a 16-bit/sample version of an image
1701
1702  - improve freetype 1.x text output efficiency
1703
1704 Bug fixes:
1705
1706  - search another place for rgb.txt, and check all the places 
1707    Imager::Color checks when deciding whether to skip testing it
1708    http://rt.cpan.org/Ticket/Display.html?id=26064
1709
1710  - use a convolution kernel size based on the stddev rather than a
1711    fixed size when performing a gaussian blur
1712    http://rt.cpan.org/Ticket/Display.html?id=25645
1713
1714  - document the difference() method's mindist parameter, and debug it.
1715
1716  - put the Imager release number in the Inline::C generated code to
1717    regenerate Inline code when a new release of Imager is installed.
1718    http://rt.cpan.org/Ticket/Display.html?id=26278
1719
1720  - fix rendering on alpha channel images for the FreeType 1.x driver.
1721    http://rt.cpan.org/Ticket/Display.html?id=11972
1722
1723  - fix rendering on alpha channel images for the T1lib driver.
1724    http://rt.cpan.org/Ticket/Display.html?id=11972
1725
1726  - reworked library probing, we can now set more than one probe
1727    function for a library.  Disabled the default (non-freetype-config)
1728    library probe and added an extra probe function that searches for
1729    both ft2build.h and whatever it includes, and adds -I as needed.
1730    Hopefully this will fix build problems like
1731    http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
1732    http://rt.cpan.org/Ticket/Display.html?id=26086
1733
1734 Imager 0.57 - 30 Apr 2007
1735 ===========
1736
1737 This is a maintenence release fixing a security issue in Imager.
1738
1739  - CRITICAL: a specially crafted compressed BMP file can cause a buffer
1740    overflow in malloced memory.  There will be further discussion of
1741    this issue in the ticket below.
1742    http://rt.cpan.org/Ticket/Display.html?id=26811
1743    CVE-2007-2459  CVE-2007-2413
1744    The descriptions at cve.mitre.org varied in quality, please see the
1745    ticket at rt.cpan.org for a more accurate description of the issue.
1746
1747 Imager 0.56 - 1 Apr 2007
1748 ===========
1749
1750  - added support for reading 16-bit/sample PGM/PPM images
1751
1752  - added support for writing 16-bit/sample PGM/PPM images
1753
1754  - improved performance of reading PBM/PGM/PPM images
1755
1756  - added support for writing PBM images if the image is paletted and
1757    contains only black and white
1758
1759  - added a new make_colors value - "mono"
1760
1761  - switched from the svn log Changes to a manual Changes to reduce
1762    noise
1763
1764  - new sample code - samples/flasher.pl
1765
1766 Bug fixes:
1767
1768  - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
1769    was returning an image object with an extra reference, this
1770    resulted in a memory leak.
1771    http://rt.cpan.org/Ticket/Display.html?id=24992
1772
1773  - fix rendering on alpha channel images for the FreeType 2.x driver
1774    http://rt.cpan.org/Ticket/Display.html?id=11972
1775
1776  - reading bmp files now consitently handles short reads.  You can now
1777    supply a parameter to treat a short read as successful and set
1778    i_incomplete
1779    http://rt.cpan.org/Ticket/Display.html?id=8426
1780
1781  - previously, reading ASCII PBM files required spaces between samples,
1782    even though the format doesn't require that
1783
1784  - improved documentation of the unsharpmask filter (I hope)
1785    http://rt.cpan.org/Ticket/Display.html?id=25531
1786
1787  - force flushing of the output from i_tt_dump_names() and test output
1788    in t/t35ttfont.t to prevent output from being mixed up.
1789    https://rt.cpan.org/Ticket/Display.html?id=24859
1790
1791  - rewrite a conditional expression as an if() to hopefully work around
1792    a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
1793    https://rt.cpan.org/Ticket/Display.html?id=25561
1794
1795  - avoid Data::Dumper in regops.perl to support older releases of perl
1796    https://rt.cpan.org/Ticket/Display.html?id=24391
1797
1798 Imager 0.55 - 16 Dec 2006
1799 ===========
1800
1801 This is primarily a bug fix release.
1802
1803 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
1804
1805 There is one new feature:
1806
1807  - the Win32 font driver now supports UTF8 (RT 22166)
1808    http://www.cpanforum.com/threads/3276
1809    http://rt.cpan.org/Ticket/Display.html?id=22166
1810
1811 Several bugs were fixed:
1812
1813  - the string() method would not output the string "0"
1814    http://rt.cpan.org/Public/Bug/Display.html?id=21770
1815
1816  - fills.c was failing to compile on Solaris 10 (compiler unknown)
1817    http://rt.cpan.org/Public/Bug/Display.html?id=21944
1818
1819  - the gif_disposal and gif_user_input tags weren't being read from
1820    the file correctly
1821    http://rt.cpan.org/Public/Bug/Display.html?id=22192
1822
1823  - gif.c was failing to build under MSVC
1824    http://rt.cpan.org/Ticket/Display.html?id=23922
1825
1826  - in some cases strings passed to the string() method were treated as
1827    terminated by NUL (chr 0)
1828    http://rt.cpan.org/Public/Bug/Display.html?id=21770
1829
1830  - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
1831    that's the default build name for zlib on Win32.
1832    http://rt.cpan.org/Ticket/Display.html?id=23064
1833
1834  - search $Config{incpath} for headers too, which we should have been
1835    doing all along.
1836
1837 Win32 font driver fixes:
1838
1839  - the global descent value from bounding box was the wrong sign
1840    http://www.cpanforum.com/threads/3276
1841
1842  - if the first or last glyph overflowed the left or right side of the
1843    advance width they would be clipped
1844
1845
1846 Imager 0.54 - 14 Sep 2006
1847 ===========
1848
1849 This is primarily a feature release:
1850
1851  - a new qtype value 'mixing' has been added to the scale()
1852    method. This is faster than 'normal', slower than 'preview'. This
1853    is based on the method used by pnmscale, and seems to produce less
1854    blurry results than normal.
1855    http://rt.cpan.org/Public/Bug/Display.html?id=20677
1856
1857  - the rubthrough() method can now render onto images with an alpha
1858    channel.
1859    http://rt.cpan.org/Ticket/Display.html?id=20678
1860
1861  - the read_multi() method now falls back to calling doing a single
1862    image read via the read() method and write_multi() will now fall
1863    back to calling write() if a single image is supplied. This means
1864    you can simply call the read_multi() or write_multi() functions
1865    without having to check if the type is formatted by that method.
1866    http://rt.cpan.org/Ticket/Display.html?id=19457
1867    http://rt.cpan.org/Ticket/Display.html?id=19458
1868
1869  - the GIF loop extension can now be written. If you don't have
1870    libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
1871    should upgrade.
1872    http://rt.cpan.org/Ticket/Display.html?id=21185
1873
1874  - getscanline() and setscanline() can now read/write palette index
1875    based data from/to the image for paletted images, by setting type to
1876    'index'.
1877    http://rt.cpan.org/Ticket/Display.html?id=20338
1878
1879  - we no longer hassle you to disable GIF support
1880    http://rt.cpan.org/Ticket/Display.html?id=20687
1881
1882  - minor documentation fixes
1883
1884
1885 Imager 0.53 - 26 Jul 2006
1886 ===========
1887
1888 This is a bugfix release.
1889
1890 Some test code was left in a code path not covered by the test
1891 suite. A test was added to cover this code path and the test code was
1892 removed.
1893 http://rt.cpan.org/Public/Bug/Display.html?id=20705
1894
1895
1896 Imager 0.52 - 25 Jul 2006
1897 ===========
1898
1899 This is primarily a feature release, but contains a fair few bug
1900 fixes, new features:
1901
1902  - ability to read and write MS Windows ICO and CUR files
1903
1904  - you can now add file format plugins to support new file formats
1905
1906  - add POD coverage tests
1907
1908  - setcolors() and addcolors() now accept color names and so on
1909    instead of requiring Imager::Color objects.
1910    http://rt.cpan.org/Ticket/Display.html?id=20056
1911
1912  - flood_fill() can now fill to a specified border color instead of
1913    just to the area the same color as the seed.
1914    http://rt.cpan.org/Ticket/Display.html?id=19618
1915
1916
1917 Bug fixes:
1918
1919  - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
1920    calculating the advance width.
1921    http://rt.cpan.org/Public/Bug/Display.html?id=20554
1922
1923  - bounding_box for the T1 driver wasn't including leading and
1924    trailing spaces in the bounding box as the other drivers did, it also
1925    produced strange results for empty strings or strings containing only
1926    spaces
1927
1928  - when reading CMYK jpeg images they were being transferred to the
1929    image object as is, producing a four channel image. It only looked ok
1930    due to an old still unfixed Photoshop bug. We now convert from the
1931    inverted CMYK that photoshop (and Corel for example) produce into RGB.
1932    http://rt.cpan.org/Ticket/Display.html?id=20416
1933
1934  - reading a CYMK TIFF would result in a 4 channel image, reading any
1935    image with more than 4 channels (eg. RGB with 2 alpha channels) would
1936    result in an error.
1937    http://rt.cpan.org/Ticket/Display.html?id=20415
1938
1939  - added /usr/local/include to the default include search path, since
1940    we were already searching /usr/local/lib for libraries.
1941
1942 And various minor fixes and documentation updates.
1943
1944
1945 Imager 0.51 - 23 Apr 2006
1946 ===========
1947
1948  - fix a validation bug when processing JPEG EXIF data that can cause
1949    a crash
1950    http://rt.cpan.org/Public/Bug/Display.html?id=18496
1951
1952  - fix mis-processing of the src_maxx and src_maxy parameters of the
1953    paste() method
1954    http://rt.cpan.org/Public/Bug/Display.html?id=18712
1955
1956  - fix a problem in Imager's "smart" handling of the color parameter
1957    to various methods.
1958    http://rt.cpan.org/Public/Bug/Display.html?id=18561
1959
1960
1961 Imager 0.50 - 29 Mar 2006
1962 ===========
1963
1964  - CRITICAL: fixes a segmentation fault from attempting to write a 2
1965    or 4 channel image to jpeg or a 2 channel image to tga where the
1966    output is an in-memeory buffer.
1967    http://rt.cpan.org/Public/Bug/Display.html?id=18397
1968
1969  - fixes an incorrect pointer parameter in the PNG code
1970    http://rt.cpan.org/Public/Bug/Display.html?id=18051
1971
1972  - skip Inline::C tests when building in a directory with spaces
1973    http://rt.cpan.org/Public/Bug/Display.html?id=18049