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