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