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