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