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