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