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