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