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