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