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