]> git.imager.perl.org - imager.git/blob - Changes
merge in tiff re-work branch
[imager.git] / Changes
1 Imager release history.  Older releases can be found in Changes.old
2
3 Imager 0.62 - not yet released
4 ===========
5
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
24 Bug 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
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
36 Imager 0.61 - 5 November 2007
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
43 Bug fixes:
44
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
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
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
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
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
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
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
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
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
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
88  - improve the transform2() documentation
89    http://rt.cpan.org/Ticket/Display.html?id=29267
90
91  - correctly generate the author key in META.yml
92    http://rt.cpan.org/Ticket/Display.html?id=30377
93
94  - correctly blend a rotated (or matrix_transformed()) image when
95    performing interpolation in the presence of an alpha channel.
96    Also corrected the centring of the rotated image on the output
97    image.
98
99 Imager 0.60 - 30 August 2007
100 ===========
101
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
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
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
120 Bug 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
127  - fixed various memory leaks that could occur when failing to read png,
128    jpeg, bmp or tga files.
129
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
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
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
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
150  - transparency is now enabled by default when writing GIF images
151    http://rt.cpan.org/Ticket/Display.html?id=27615
152
153  - Imager would not load on Windows 98
154    http://rt.cpan.org/Ticket/Display.html?id=27653
155
156 Imager 0.59 - 14 June 2007
157 ===========
158
159 Bug fixes:
160
161  - fixes a regression introduced by the fixes for RT 11972
162    http://rt.cpan.org/Ticket/Display.html?id=27546
163
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
169 Imager 0.58 - 16 May 2007
170 ===========
171
172 No significant changes from 0.57_01.
173
174 Imager 0.57_01 - 11 May 2007
175 ==============
176
177  - added to_rgb16 to produce a 16-bit/sample version of an image
178
179  - improve freetype 1.x text output efficiency
180
181 Bug 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
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
191  - document the difference() method's mindist parameter, and debug it.
192
193  - put the Imager release number in the Inline::C generated code to
194    regenerate Inline code when a new release of Imager is installed.
195    http://rt.cpan.org/Ticket/Display.html?id=26278
196
197  - fix rendering on alpha channel images for the FreeType 1.x driver.
198    http://rt.cpan.org/Ticket/Display.html?id=11972
199
200  - fix rendering on alpha channel images for the T1lib driver.
201    http://rt.cpan.org/Ticket/Display.html?id=11972
202
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
211 Imager 0.57 - 30 Apr 2007
212 ===========
213
214 This 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
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.
223
224 Imager 0.56 - 1 Apr 2007
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
241  - new sample code - samples/flasher.pl
242
243 Bug 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
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
275 Imager 0.55 - 16 Dec 2006
276 ===========
277
278 This is primarily a bug fix release.
279
280 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
281
282 There 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
288 Several 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
314 Win32 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
323 Imager 0.54 - 14 Sep 2006
324 ===========
325
326 This 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
362 Imager 0.53 - 26 Jul 2006
363 ===========
364
365 This is a bugfix release.
366
367 Some test code was left in a code path not covered by the test
368 suite. A test was added to cover this code path and the test code was
369 removed.
370 http://rt.cpan.org/Public/Bug/Display.html?id=20705
371
372
373 Imager 0.52 - 25 Jul 2006
374 ===========
375
376 This is primarily a feature release, but contains a fair few bug
377 fixes, 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
394 Bug 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
419 And various minor fixes and documentation updates.
420
421
422 Imager 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
438 Imager 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