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