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