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