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