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