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