]> git.imager.perl.org - imager.git/blob - Changes
alpha channel fixes for mixing scaling
[imager.git] / Changes
1 Imager release history.  Older releases can be found in Changes.old
2
3 Imager 0.62 - not yet release
4
5 Bug fixes:
6
7  - Imager::Fountain couldn't read GIMP gradient files with 10 or more
8    segments
9
10  - the scale() method with qtype mixing now handles images with an
11    alpha channel correctly.
12
13 Imager 0.61 - 5 November 2007
14 ===========
15
16  - added samples/gifscale.pl, which adjusts the screen size/position tags
17    when scaling an animated gif
18    http://rt.cpan.org/Ticket/Display.html?id=27591
19
20 Bug fixes:
21
22  - correct handling of sz in matrix_transform() - this should allow
23    perspective type transformations to work now.
24    http://rt.cpan.org/Ticket/Display.html?id=29936
25
26  - prevent a cast to integer warning on x64 builds in datatypes.c
27    also fixed some other type warnings
28    https://rt.cpan.org/Ticket/Display.html?id=30204
29
30  - some sub-directory tests depended on files produced by the parent
31    directory tests
32    http://rt.cpan.org/Ticket/Display.html?id=30203
33
34  - Imager::Font::Wrap doesn't correctly set savepos
35    thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
36    http://rt.cpan.org/Ticket/Display.html?id=29771
37
38  - test 171 in t/t01introvert.t was failing on perls configured to
39    use long double.
40    http://rt.cpan.org/Ticket/Display.html?id=29413
41
42  - the code for the transform2() uminus operator was missing a break.
43    Added tests for better code coverage of the ops.
44    http://rt.cpan.org/Ticket/Display.html?id=29296
45
46  - the SGI RLE compression code could overflow its compression buffer
47    http://rt.cpan.org/Ticket/Display.html?id=30334
48
49  - the 32-bit output function used by the SGI code only handled values
50    under 0x10000.  This was most noticable when writing large RLE images.
51    http://rt.cpan.org/Ticket/Display.html?id=30335
52
53  - validate chan_count for chans == NULL for each of the i_gsamp()
54    implementations.
55    http://rt.cpan.org/Ticket/Display.html?id=28985
56
57  - attempt to work around the test failure at 
58    http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
59    http://rt.cpan.org/Ticket/Display.html?id=29562
60
61  - improve the error messages produced when attempting to read or write
62    an unknown image file format.
63    http://rt.cpan.org/Ticket/Display.html?id=30103
64
65  - improve the transform2() documentation
66    http://rt.cpan.org/Ticket/Display.html?id=29267
67
68  - correctly generate the author key in META.yml
69    http://rt.cpan.org/Ticket/Display.html?id=30377
70
71  - correctly blend a rotated (or matrix_transformed()) image when
72    performing interpolation in the presence of an alpha channel.
73    Also corrected the centring of the rotated image on the output
74    image.
75
76 Imager 0.60 - 30 August 2007
77 ===========
78
79  - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
80    now has full SGI RGB image format, including RLE and 16-bit/sample
81    images.
82    https://rt.cpan.org/Ticket/Display.html?id=8666
83
84  - logging functions are now available in the API
85
86  - applied Gabriel Vasseur's patch
87    added documentation, further tests, and support for greyscale images
88    Obviously problems are my fault :)
89    https://rt.cpan.org/Ticket/Display.html?id=28142
90
91  - the mask for ICO/CUR images is now applied as an alpha channel to
92    the returned image.  For the old behaviour, supply ico_masked => 0
93    to read() or read_multi().  This should be less confusing when
94    using Imager as a general image processor.
95    https://rt.cpan.org/Ticket/Display.html?id=29001
96
97 Bug fixes:
98
99  - in some cases it's possible for giflib/libungif to return color 
100    indexes outside the range of colors defined by the image's palette.
101    We now expand the palette to match the indexes used.
102    Thanks to Gabriel Vasseur for reporting this.
103
104  - fixed various memory leaks that could occur when failing to read png,
105    jpeg, bmp or tga files.
106
107  - to avoid confusion, channels not present in the image are returned as
108    zero by getscanline().  This has no effect on the C level i_glin()
109    and i_glinf() API functions which continue to not set the unused
110    channels.
111
112  - the convert() method now returns an image of the same sample size as
113    the source image.
114    https://rt.cpan.org/Ticket/Display.html?id=28492
115
116  - remove repeated text in Imager::Files
117    http://rt.cpan.org/Ticket/Display.html?id=27589
118
119  - be even more explicit that scale() and friends don't modify the source
120    image, but return a new image.
121    http://rt.cpan.org/Ticket/Display.html?id=28570
122
123  - improve the error message from errstr() when you try to load a font
124    for which the driver hasn't been built in Imager.
125    http://rt.cpan.org/Ticket/Display.html?id=27571
126
127  - transparency is now enabled by default when writing GIF images
128    http://rt.cpan.org/Ticket/Display.html?id=27615
129
130  - Imager would not load on Windows 98
131    http://rt.cpan.org/Ticket/Display.html?id=27653
132
133 Imager 0.59 - 14 June 2007
134 ===========
135
136 Bug fixes:
137
138  - fixes a regression introduced by the fixes for RT 11972
139    http://rt.cpan.org/Ticket/Display.html?id=27546
140
141  - cropping outside the image would return an Imager object with
142    no low-level image object, instead of returning false.
143    Fixed by: Philip Gwyn (Leolo)
144    http://rt.cpan.org/Ticket/Display.html?id=27509
145
146 Imager 0.58 - 16 May 2007
147 ===========
148
149 No significant changes from 0.57_01.
150
151 Imager 0.57_01 - 11 May 2007
152 ==============
153
154  - added to_rgb16 to produce a 16-bit/sample version of an image
155
156  - improve freetype 1.x text output efficiency
157
158 Bug fixes:
159
160  - search another place for rgb.txt, and check all the places 
161    Imager::Color checks when deciding whether to skip testing it
162    http://rt.cpan.org/Ticket/Display.html?id=26064
163
164  - use a convolution kernel size based on the stddev rather than a
165    fixed size when performing a gaussian blur
166    http://rt.cpan.org/Ticket/Display.html?id=25645
167
168  - document the difference() method's mindist parameter, and debug it.
169
170  - put the Imager release number in the Inline::C generated code to
171    regenerate Inline code when a new release of Imager is installed.
172    http://rt.cpan.org/Ticket/Display.html?id=26278
173
174  - fix rendering on alpha channel images for the FreeType 1.x driver.
175    http://rt.cpan.org/Ticket/Display.html?id=11972
176
177  - fix rendering on alpha channel images for the T1lib driver.
178    http://rt.cpan.org/Ticket/Display.html?id=11972
179
180  - reworked library probing, we can now set more than one probe
181    function for a library.  Disabled the default (non-freetype-config)
182    library probe and added an extra probe function that searches for
183    both ft2build.h and whatever it includes, and adds -I as needed.
184    Hopefully this will fix build problems like
185    http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
186    http://rt.cpan.org/Ticket/Display.html?id=26086
187
188 Imager 0.57 - 30 Apr 2007
189 ===========
190
191 This is a maintenence release fixing a security issue in Imager.
192
193  - CRITICAL: a specially crafted compressed BMP file can cause a buffer
194    overflow in malloced memory.  There will be further discussion of
195    this issue in the ticket below.
196    http://rt.cpan.org/Ticket/Display.html?id=26811
197    CVE-2007-2459  CVE-2007-2413
198    The descriptions at cve.mitre.org varied in quality, please see the
199    ticket at rt.cpan.org for a more accurate description of the issue.
200
201 Imager 0.56 - 1 Apr 2007
202 ===========
203
204  - added support for reading 16-bit/sample PGM/PPM images
205
206  - added support for writing 16-bit/sample PGM/PPM images
207
208  - improved performance of reading PBM/PGM/PPM images
209
210  - added support for writing PBM images if the image is paletted and
211    contains only black and white
212
213  - added a new make_colors value - "mono"
214
215  - switched from the svn log Changes to a manual Changes to reduce
216    noise
217
218  - new sample code - samples/flasher.pl
219
220 Bug fixes:
221
222  - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
223    was returning an image object with an extra reference, this
224    resulted in a memory leak.
225    http://rt.cpan.org/Ticket/Display.html?id=24992
226
227  - fix rendering on alpha channel images for the FreeType 2.x driver
228    http://rt.cpan.org/Ticket/Display.html?id=11972
229
230  - reading bmp files now consitently handles short reads.  You can now
231    supply a parameter to treat a short read as successful and set
232    i_incomplete
233    http://rt.cpan.org/Ticket/Display.html?id=8426
234
235  - previously, reading ASCII PBM files required spaces between samples,
236    even though the format doesn't require that
237
238  - improved documentation of the unsharpmask filter (I hope)
239    http://rt.cpan.org/Ticket/Display.html?id=25531
240
241  - force flushing of the output from i_tt_dump_names() and test output
242    in t/t35ttfont.t to prevent output from being mixed up.
243    https://rt.cpan.org/Ticket/Display.html?id=24859
244
245  - rewrite a conditional expression as an if() to hopefully work around
246    a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
247    https://rt.cpan.org/Ticket/Display.html?id=25561
248
249  - avoid Data::Dumper in regops.perl to support older releases of perl
250    https://rt.cpan.org/Ticket/Display.html?id=24391
251
252 Imager 0.55 - 16 Dec 2006
253 ===========
254
255 This is primarily a bug fix release.
256
257 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
258
259 There is one new feature:
260
261  - the Win32 font driver now supports UTF8 (RT 22166)
262    http://www.cpanforum.com/threads/3276
263    http://rt.cpan.org/Ticket/Display.html?id=22166
264
265 Several bugs were fixed:
266
267  - the string() method would not output the string "0"
268    http://rt.cpan.org/Public/Bug/Display.html?id=21770
269
270  - fills.c was failing to compile on Solaris 10 (compiler unknown)
271    http://rt.cpan.org/Public/Bug/Display.html?id=21944
272
273  - the gif_disposal and gif_user_input tags weren't being read from
274    the file correctly
275    http://rt.cpan.org/Public/Bug/Display.html?id=22192
276
277  - gif.c was failing to build under MSVC
278    http://rt.cpan.org/Ticket/Display.html?id=23922
279
280  - in some cases strings passed to the string() method were treated as
281    terminated by NUL (chr 0)
282    http://rt.cpan.org/Public/Bug/Display.html?id=21770
283
284  - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
285    that's the default build name for zlib on Win32.
286    http://rt.cpan.org/Ticket/Display.html?id=23064
287
288  - search $Config{incpath} for headers too, which we should have been
289    doing all along.
290
291 Win32 font driver fixes:
292
293  - the global descent value from bounding box was the wrong sign
294    http://www.cpanforum.com/threads/3276
295
296  - if the first or last glyph overflowed the left or right side of the
297    advance width they would be clipped
298
299
300 Imager 0.54 - 14 Sep 2006
301 ===========
302
303 This is primarily a feature release:
304
305  - a new qtype value 'mixing' has been added to the scale()
306    method. This is faster than 'normal', slower than 'preview'. This
307    is based on the method used by pnmscale, and seems to produce less
308    blurry results than normal.
309    http://rt.cpan.org/Public/Bug/Display.html?id=20677
310
311  - the rubthrough() method can now render onto images with an alpha
312    channel.
313    http://rt.cpan.org/Ticket/Display.html?id=20678
314
315  - the read_multi() method now falls back to calling doing a single
316    image read via the read() method and write_multi() will now fall
317    back to calling write() if a single image is supplied. This means
318    you can simply call the read_multi() or write_multi() functions
319    without having to check if the type is formatted by that method.
320    http://rt.cpan.org/Ticket/Display.html?id=19457
321    http://rt.cpan.org/Ticket/Display.html?id=19458
322
323  - the GIF loop extension can now be written. If you don't have
324    libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
325    should upgrade.
326    http://rt.cpan.org/Ticket/Display.html?id=21185
327
328  - getscanline() and setscanline() can now read/write palette index
329    based data from/to the image for paletted images, by setting type to
330    'index'.
331    http://rt.cpan.org/Ticket/Display.html?id=20338
332
333  - we no longer hassle you to disable GIF support
334    http://rt.cpan.org/Ticket/Display.html?id=20687
335
336  - minor documentation fixes
337
338
339 Imager 0.53 - 26 Jul 2006
340 ===========
341
342 This is a bugfix release.
343
344 Some test code was left in a code path not covered by the test
345 suite. A test was added to cover this code path and the test code was
346 removed.
347 http://rt.cpan.org/Public/Bug/Display.html?id=20705
348
349
350 Imager 0.52 - 25 Jul 2006
351 ===========
352
353 This is primarily a feature release, but contains a fair few bug
354 fixes, new features:
355
356  - ability to read and write MS Windows ICO and CUR files
357
358  - you can now add file format plugins to support new file formats
359
360  - add POD coverage tests
361
362  - setcolors() and addcolors() now accept color names and so on
363    instead of requiring Imager::Color objects.
364    http://rt.cpan.org/Ticket/Display.html?id=20056
365
366  - flood_fill() can now fill to a specified border color instead of
367    just to the area the same color as the seed.
368    http://rt.cpan.org/Ticket/Display.html?id=19618
369
370
371 Bug fixes:
372
373  - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
374    calculating the advance width.
375    http://rt.cpan.org/Public/Bug/Display.html?id=20554
376
377  - bounding_box for the T1 driver wasn't including leading and
378    trailing spaces in the bounding box as the other drivers did, it also
379    produced strange results for empty strings or strings containing only
380    spaces
381
382  - when reading CMYK jpeg images they were being transferred to the
383    image object as is, producing a four channel image. It only looked ok
384    due to an old still unfixed Photoshop bug. We now convert from the
385    inverted CMYK that photoshop (and Corel for example) produce into RGB.
386    http://rt.cpan.org/Ticket/Display.html?id=20416
387
388  - reading a CYMK TIFF would result in a 4 channel image, reading any
389    image with more than 4 channels (eg. RGB with 2 alpha channels) would
390    result in an error.
391    http://rt.cpan.org/Ticket/Display.html?id=20415
392
393  - added /usr/local/include to the default include search path, since
394    we were already searching /usr/local/lib for libraries.
395
396 And various minor fixes and documentation updates.
397
398
399 Imager 0.51 - 23 Apr 2006
400 ===========
401
402  - fix a validation bug when processing JPEG EXIF data that can cause
403    a crash
404    http://rt.cpan.org/Public/Bug/Display.html?id=18496
405
406  - fix mis-processing of the src_maxx and src_maxy parameters of the
407    paste() method
408    http://rt.cpan.org/Public/Bug/Display.html?id=18712
409
410  - fix a problem in Imager's "smart" handling of the color parameter
411    to various methods.
412    http://rt.cpan.org/Public/Bug/Display.html?id=18561
413
414
415 Imager 0.50 - 29 Mar 2006
416 ===========
417
418  - CRITICAL: fixes a segmentation fault from attempting to write a 2
419    or 4 channel image to jpeg or a 2 channel image to tga where the
420    output is an in-memeory buffer.
421    http://rt.cpan.org/Public/Bug/Display.html?id=18397
422
423  - fixes an incorrect pointer parameter in the PNG code
424    http://rt.cpan.org/Public/Bug/Display.html?id=18051
425
426  - skip Inline::C tests when building in a directory with spaces
427    http://rt.cpan.org/Public/Bug/Display.html?id=18049