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