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