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