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