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