update the TIFF documentation
[imager.git] / Changes
CommitLineData
7623d340
TC
1Imager release history. Older releases can be found in Changes.old
2
8d46e5da
TC
3Imager 0.74
4===========
5
6Bug fixes:
7
8 - read_multi() didn't handle a missing file format library correctly,
9 aborting on failing to call i_readgif_multi_wiol() or
10 i_readtiff_multi_wiol().
11
5715f7c3
TC
12 - fix spelling errors patched by Debian
13 http://svn.debian.org/viewsvn/pkg-perl/trunk/libimager-perl/debian/patches/spelling.patch?revision=54839&view=markup
14
15 - add an (unshipped) author test to spellcheck Imager's POD.
7468f3fa 16
38218f79
TC
17 - update the TIFF file format documentation
18 https://rt.cpan.org/Ticket/Display.html?id=56510
19
704f12d5 20Imager 0.73 - 15 Mar 2010
40068b33
TC
21===========
22
23 - implement outline circles, both anti-aliased and not
24 https://rt.cpan.org/Ticket/Display.html?id=19755
25
e958b64e
TC
26 - a combine => "none" fill to a 1 or 3 channel image would produce
27 the incorrect colour.
28
b2db3662
TC
29Imager 0.72 - 09 Dec 2009
30===========
31
32Bump version for release, since 0.71_03 is stable with CPAN testers.
33
6936706b
TC
34Imager 0.71_03 - 5 Dec 2009
35==============
36
37 - further adjust the threads test so it only performs the tests on
38 perls where it's expected to work, and only if the threads module
39 can be loaded.
40
0750777c
TC
41Imager 0.71_02 - 1 Dec 2009
42==============
43
48ad0e66
TC
44 - adjust the way we load the threads module for the threads test so
45 it works with non-threaded perls
0750777c 46
b89f0fcd 47Imager 0.71_01 - 30 Nov 2009
e41cfe8f
TC
48===========
49
50Bug fixes:
51
52 - use scanline oriented operations to flip images instead of pixel
53 operations
54 https://rt.cpan.org/Ticket/Display.html?id=39278
55
56 - use double/sample operations to flip large sample images instead of
57 8-bit sample operations.
58 https://rt.cpan.org/Ticket/Display.html?id=39280
59
de3ca2fd
TC
60 - fix POD nits
61 https://rt.cpan.org/Ticket/Display.html?id=51874
62
ffddd407
TC
63 - prevent double-frees when someone creates Imager objects and then
64 creates a thread. Note: this just handles some simple cases,
65 Imager doesn't support perl threads, and isn't likely to.
66 https://rt.cpan.org/Ticket/Display.html?id=52268
67
3517794b 68Imager 0.71 - 16 Nov 2009
6a3cbaef
TC
69===========
70
a16bae72
TC
71 - add the opacity fill type - an adaptor that modifies the opacity of
72 another fill.
73
6a3cbaef
TC
74Bug fixes:
75
76 - the conv filter now enforces that the sum of the coefficients is
77 non-zero. Also, rather than skipping pixels off the edge off the
78 edge of the image, the closest edge pixel is used. Previously
79 dividing by the zero sum of coefficients could cause invalid
80 results or runtime exceptions.
81 Thanks to David Cantrell's Alpha-NetBSD CPAN test box for revealing
82 this bug.
83
189d5775 84Imager 0.70 - 21 Sep 2009
2b82e731
TC
85===========
86
87Bug fixes:
88
89 - release image row and comments memory on all error returns in gif
90 reader
91
92 - handle zero length extensions, previously this would cause a null
93 pointer dereference
94 Thanks to Krzysztof Wojtaś for the test data and fix for this.
95
b3afeed5
TC
96 - an integer division meant that preview scaling to below 1 pixel
97 wide or high (which isn't too useful anyway) was calculating using
98 NaNs on most platforms, and causing an exception on others.
99 Thanks to David Cantrell for producing a backtrace of the crash on
100 his Alpha-NetBSD CPAN test box which made it possible to track this
101 down.
102
b1e29946 103Imager 0.69 - 08 Sep 2009
25f4e775
TC
104===========
105
b1e29946 106Bug fixes:
25f4e775
TC
107
108 - broken test fix - was attempting to call a function skip_all, when
109 that should be a parameter to plan().
110
b1e29946
TC
111 - briefly document apidocs.perl, the tool used to build
112 Imager::APIRef and make some minor enhancements
113
114 - various minor documentation enhancements and fixes.
115
5920304a 116Imager 0.68 - 07 Sep 2009
c5f447ac
TC
117===========
118
3c252111
TC
119 - Imager->new(file => $filename) and other similar incantations will
120 load the given file.
121 https://rt.cpan.org/Ticket/Display.html?id=48261
122
c5f447ac
TC
123Bug fixes:
124
125 - avoid using CHECK as a label in Imager::Test
126 http://nntp.x.perl.org/group/perl.cpan.testers/5220921
127
0d670555
TC
128 - re-work most image file test files that require a library into
129 separate library present/not present files to remove stupidly long
130 conditionals
131
132 - don't treat rubthrough() outside the bounds of the target image as
133 an error.
134 http://nntp.x.perl.org/group/perl.cpan.testers/5185716
135
8d800216
TC
136Imager 0.67_01 - 02 Sep 2009
137==============
500888da
TC
138
139Bug fixes:
140
141 - correct documentation of default of raw image interleave read
142 parameter
143 https://rt.cpan.org/Ticket/Display.html?id=42074
144
145 - add raw_ prefix to raw read parameters, though the original names
146 still work.
147
148 - fail the read if an invalid raw_interleave parameter is supplied
149
150 - warn if no interleave or raw_interleave parameter is supplied,
151 since the documented default was wrong, and incompatible with the
152 write format
153
154 - for reading raw images, if raw_storechannels > raw_datachannels,
155 set the extra channels in the image to 0
156
cd476e58
TC
157 - when probing for executables like freetype-config, search for .bat
158 and .cmd on MSWin32, as well as .exe.
159 https://rt.cpan.org/Ticket/Display.html?id=49275
500888da 160
f9a39263
TC
161 - re-work the external libraries section of README:
162 - list Debian and Redhat package names for each library
163 - reformatting
164 - update URLs
165
f45b774f
TC
166 - use the new EU::MM META_MERGE facility instead of generating
167 META.yml from scratch
168 https://rt.cpan.org/Ticket/Display.html?id=47888
169
d6b51d8c
TC
170 - use Devel::CheckLib (bundled, modified) to check which release of
171 libtiff is installed and reject 3.9.0
78645bd4
TC
172 http://bugzilla.maptools.org/show_bug.cgi?id=2088
173 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543079
d6b51d8c 174
249af030
TC
175Imager 0.67 - 12 Dec 2008
176===========
177
178Bug fixes:
179
180 - fix a packaging error
181
cca21862 182Imager 0.66 - 12 Dec 2008
3c8fee33
TC
183===========
184
6b22ba84
TC
185 - 24-bit color .ICO/.CUR files can now be read.
186
3c8fee33
TC
187Bug fixes:
188
6b22ba84
TC
189 - an optimization skipping 0 src alpha values could cause the
190 rubthrough() to read past the end of a buffer.
191 http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
192
5c0d0ddf
TC
193 - corrected a reference leak where writing GIFs would leak memory.
194 This could also happen calling to_paletted().
195 Also documented the underlying long existing feature where the
196 colors parameter is filled with the generated color table and added
197 tests for it.
3c8fee33
TC
198 http://rt.cpan.org/Ticket/Display.html?id=41028
199
8e7f5809
TC
200 - write out the image size in bytes field of a BMP correctly.
201 http://rt.cpan.org/Ticket/Display.html?id=41406
202
c586eb58
TC
203 - add limited tests for Imager::ExtUtils
204
205 - make Imager::ExtUtils->includes use an absolute path, since
206 a relative path could cause failures using Inline::C.
207 http://rt.cpan.org/Ticket/Display.html?id=37353
208
6b22ba84
TC
209 - re-arrange the POD for Imager::Font::BBox:
210 - mark total_width(), pos_width(), end_offset() obsolete, since
211 they're mostly for backwards compatibility
212 - group width methods and height methods
213 https://rt.cpan.org/Ticket/Display.html?id=39999
17d9fe35 214
0727e3f5 215Imager 0.65 - 20 May 2008
546ea21c
TC
216===========
217
218Bug fixes:
219
220 - In some cases when an error occurs reading those parts of a JPEG
221 file after the image the scan-line buffer could be freed a second
222 time. In cases where the the error occured while reading the image
223 data it's possible that the buffer could have leaked.
224 Thanks to Gabriel Vasseur for reporting this and help in tracking
225 it down.
226
43b2b326
TC
227 - the gif_screen_height tag was overriding the screen width and being
228 ignored for the screen height when present.
229 https://rt.cpan.org/Public/Bug/Display.html?id=35568
230
e02d22d2 231Imager 0.64 - 23 April 2008
de470892
TC
232===========
233
e02d22d2
TC
234This is a bug fix release. This includes a fix for a possible
235security issue.
236
de470892
TC
237Bug fixes:
238
e02d22d2
TC
239 - Possible security issue: The floating point sample path for image
240 based fills had a buffer overflow. This would overwrite the end of
241 a malloc()ed buffer with double precision floats.
242 http://rt.cpan.org/Ticket/Display.html?id=35324
6912d85a 243 CVE-2008-1928
e02d22d2 244
de470892
TC
245 - check that the result of fileno($fh) is defined rather than simply
246 true when read() or write() is supplied with an fh parameter.
247 http://rt.cpan.org/Ticket/Display.html?id=35139
248
249 - i_scale_axis() wasn't checking the result of i_img_new_ch()
250 resulting in a SIGSEGV when attempting to scale an image to a size
251 too large to fit in memory. This is a NULL pointer access issue,
252 not a buffer overflow.
253 Added a check for the failure.
254 scale_calculate() (and hence scale()) will now fail if any of the
255 scale size parameters are a reference.
256 http://rt.cpan.org/Ticket/Display.html?id=35172
257
04f85f63
TC
258 - Regression: filling a greyscale image with a hatch used the wrong
259 color channels from the supplied fg/bg colors.
260 https://rt.cpan.org/Ticket/Display.html?id=35278
261
a256aec5
TC
262 - fixed a related problem for image fills.
263
49240201 264Imager 0.63 - 7 April 2008
33b0ffa6
TC
265===========
266
242d7497
TC
267This release primarily contains changes to improve ease of use -
268rather than you having to convert images to the appropriate number of
269channels, Imager handles it internally. How to handle drawing colors
270and the default combine mode is a thornier problem left for some other
271release.
272
d1555273
TC
273 - the font libraries are now only initialized when needed.
274 http://rt.cpan.org/Ticket/Display.html?id=28825
275
9b1ec2b8
TC
276 - moved the imtoc.perl code into Imager::Preprocess
277
278 - paste() and rubthrough() now adapt the source image data to the
279 destination, so you can now safely paste/rubthrough from greyscale
280 images to color images or back, or from alpha channel images to
281 noalpha channels or back.
282 https://rt.cpan.org/Ticket/Display.html?id=30908
283
284 - rubthrough() now falls back to pasting when the source doesn't have
285 an alpha channel. This effectively treats the source as having a
286 max alpha channel, the right thing to do.
287 http://rt.cpan.org/Ticket/Display.html?id=29944
288
289 - re-worked most of the area filling code to use a common set of
290 functions when filling.
291 Corrected normal combine mode.
292 Rewrote most of the combine modes to match the way the SVG draft
293 defines them with respect to a translucent source and destination.
294 Added tests for translucent source and destination.
295 Added tests to check 8-bit/sample and double/sample combines work
296 similarly.
297 https://rt.cpan.org/Ticket/Display.html?id=29879
298
07d9c639
TC
299 - writing a 2 or 4 channel image to a JPEG file will now write that
300 image as if composited against a background, black by default,
301 overridable with the i_background tag/parameter.
6e4af7d4
TC
302 https://rt.cpan.org/Ticket/Display.html?id=29876
303
07d9c639
TC
304 - writing a 2 or 4 channel image to a PGM/PPM file will now write
305 that image as if composited against a background, black by default,
fa90de94
TC
306 overridable with the i_background tag/parameter.
307 http://rt.cpan.org/Ticket/Display.html?id=30074
308
07d9c639
TC
309 - writing a 2 or 4 channel image to a BMP file will now write that
310 image as if composited against a background, black by default,
311 overridable with the i_background tag/parameter.
312 http://rt.cpan.org/Ticket/Display.html?id=30075
313
33b0ffa6
TC
314Bug fixes:
315
316 - Imager::Matrix2d->translate() now only requires one of the x or y
317 parameters.
318 http://rt.cpan.org/Ticket/Display.html?id=29937
319
2757bad0
TC
320 - mixing qtype scaling now sets all channels of a pixel to zero if
321 the pixel has zero coverage (zero alpha). This should produce more
322 compressible output files.
323 http://rt.cpan.org/Ticket/Display.html?id=32324
324
3da08517
TC
325 - removed the pointless #! line from lib/Imager/Font/Wrap.pm
326 Noticed when I saw:
327 https://bugzilla.redhat.com/show_bug.cgi?id=166254
328 I'm not changing the #! lines of the sample code, since it's sample
329 code, not intended for installation.
330 http://rt.cpan.org/Ticket/Display.html?id=33408
331
242d7497
TC
332 - some TGA images weren't being detected correctly as TGA images
333 https://rt.cpan.org/Ticket/Display.html?id=32925
334
335 - handling of the left-over bit for 16-bit/pixel TGA images has been
336 changed to match the behaviour of the GIMP. Previously the bit
337 being set was treated as an opaque pixel, but one user reported a
338 problem with loading such an image. I haven't been able to find any
339 tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
340 I'll match it's behaviour. See issue 114913 in the GIMP's
341 bugzilla.
342 http://rt.cpan.org/Ticket/Display.html?id=32926
343
5daa9d34 344Imager 0.62 - 10 December 2007
ac8138b0
TC
345===========
346
d8e0c3ba
TC
347 - Makefile.PL now expands ~/path supplied to --incpath or --libpath
348 to /path under your home directory.
349 http://rt.cpan.org/Ticket/Display.html?id=29484
350
50ff958e
TC
351 - the old dynaload code used Mach API functions to load dynamic
352 libraries on Mac OS X. These APIs have been deprecated in OS X
353 10.5 and were causing some build problems.
354 So henceforth Imager uses the dlopen() family of functions, and you
355 will need version 10.3 or later of OS X.
356
3309187a
TC
357 - added the det() function to the transform2() engine.
358 added the sample quad_to_square.pl
359 Courtesy Richard Fairhurst.
360 http://rt.cpan.org/Ticket/Display.html?id=31244
361
ac8138b0
TC
362Bug fixes:
363
364 - samples/gifscale.pl sourced the base value for gif_top from
365 gif_left.
366 Thanks to Eleneldil G. Arilou for pointing this out.
367
678a9a65
TC
368 - t/t82inline.t no longer loads B at runtime, to work around a bug
369 in some 5.005_0[45] installations.
370 http://rt.cpan.org/Ticket/Display.html?id=30508
371
372 - work around Module::Depends::Intrusive bug #21229
373 http://rt.cpan.org/Ticket/Display.html?id=30520
ac8138b0 374
bea65b1f
TC
375 - the hardinvert filter no-longer inverts the alpha channel.
376 http://rt.cpan.org/Ticket/Display.html?id=30002
377
378 - the hardinvert filter now supports large samples
379
b7809486 380Imager 0.61_02 - 28 November 2007
f74e6efc 381==============
874c55db 382
bd8052a6
TC
383 - major TIFF support re-work
384 http://rt.cpan.org/Ticket/Display.html?id=20329
385
386 - added a C level image interface for accessing samples from 1-32
387 bits, exposed this at the perl level in getsamples()
388
389 - the conv filter now works at floating point precision for high bit
390 images
391
392 - added is_bilevel method to test whether an image should be written as
393 a bilevel image if the image format supports it.
394
395 - added -log-stderr as an Imager import list option
396
397 - added some important types to Imager::APIRef
398
399 - added test_image_double() to Imager::Test
400
874c55db
TC
401Bug fixes:
402
403 - Imager::Fountain couldn't read GIMP gradient files with 10 or more
404 segments
405
406 - the scale() method with qtype mixing now handles images with an
407 alpha channel correctly.
408
8d17eae9
TC
409 - fixed a broken link from the "animated GIF" entry in the concept index.
410 Thanks to Slaven Rezic.
411 http://rt.cpan.org/Ticket/Display.html?id=30889
412
d3bf4eaf
TC
413 - on some perl's the infix expression parser test would fail due to
414 actions in the grammar returning false. Made sure all actions return
415 a true value.
8b96ad6b
TC
416 Thanks to Richard Fairhurst for spending a lot of time in tracking
417 down this problem.
680c329d 418 http://rt.cpan.org/Public/Bug/Display.html?id=29562
d3bf4eaf 419
d06f6707 420Imager 0.61 - 5 November 2007
1cfa190e
TC
421===========
422
423 - added samples/gifscale.pl, which adjusts the screen size/position tags
424 when scaling an animated gif
425 http://rt.cpan.org/Ticket/Display.html?id=27591
426
8a2cd317
TC
427Bug fixes:
428
e7ac18bd
TC
429 - correct handling of sz in matrix_transform() - this should allow
430 perspective type transformations to work now.
431 http://rt.cpan.org/Ticket/Display.html?id=29936
432
8a2cd317
TC
433 - prevent a cast to integer warning on x64 builds in datatypes.c
434 also fixed some other type warnings
435 https://rt.cpan.org/Ticket/Display.html?id=30204
436
9188b23e
TC
437 - some sub-directory tests depended on files produced by the parent
438 directory tests
439 http://rt.cpan.org/Ticket/Display.html?id=30203
440
7febff1d
TC
441 - Imager::Font::Wrap doesn't correctly set savepos
442 thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
443 http://rt.cpan.org/Ticket/Display.html?id=29771
444
76411e99
TC
445 - test 171 in t/t01introvert.t was failing on perls configured to
446 use long double.
447 http://rt.cpan.org/Ticket/Display.html?id=29413
448
3f29de50
TC
449 - the code for the transform2() uminus operator was missing a break.
450 Added tests for better code coverage of the ops.
451 http://rt.cpan.org/Ticket/Display.html?id=29296
452
ed107438
TC
453 - the SGI RLE compression code could overflow its compression buffer
454 http://rt.cpan.org/Ticket/Display.html?id=30334
455
456 - the 32-bit output function used by the SGI code only handled values
457 under 0x10000. This was most noticable when writing large RLE images.
458 http://rt.cpan.org/Ticket/Display.html?id=30335
459
c7481ae1
TC
460 - validate chan_count for chans == NULL for each of the i_gsamp()
461 implementations.
462 http://rt.cpan.org/Ticket/Display.html?id=28985
463
ff37fc3f
TC
464 - attempt to work around the test failure at
465 http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
466 http://rt.cpan.org/Ticket/Display.html?id=29562
467
f245645a
TC
468 - improve the error messages produced when attempting to read or write
469 an unknown image file format.
470 http://rt.cpan.org/Ticket/Display.html?id=30103
471
333d7485
TC
472 - improve the transform2() documentation
473 http://rt.cpan.org/Ticket/Display.html?id=29267
474
3b115720
TC
475 - correctly generate the author key in META.yml
476 http://rt.cpan.org/Ticket/Display.html?id=30377
477
13c9a303
TC
478 - correctly blend a rotated (or matrix_transformed()) image when
479 performing interpolation in the presence of an alpha channel.
8a071022
TC
480 Also corrected the centring of the rotated image on the output
481 image.
13c9a303 482
0e622083 483Imager 0.60 - 30 August 2007
bcff4dd9
TC
484===========
485
d5477d3d
TC
486 - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
487 now has full SGI RGB image format, including RLE and 16-bit/sample
488 images.
489 https://rt.cpan.org/Ticket/Display.html?id=8666
490
491 - logging functions are now available in the API
492
a60905e4
TC
493 - applied Gabriel Vasseur's patch
494 added documentation, further tests, and support for greyscale images
495 Obviously problems are my fault :)
496 https://rt.cpan.org/Ticket/Display.html?id=28142
497
413dc198
TC
498 - the mask for ICO/CUR images is now applied as an alpha channel to
499 the returned image. For the old behaviour, supply ico_masked => 0
500 to read() or read_multi(). This should be less confusing when
501 using Imager as a general image processor.
502 https://rt.cpan.org/Ticket/Display.html?id=29001
503
bcff4dd9
TC
504Bug fixes:
505
506 - in some cases it's possible for giflib/libungif to return color
507 indexes outside the range of colors defined by the image's palette.
508 We now expand the palette to match the indexes used.
509 Thanks to Gabriel Vasseur for reporting this.
510
02576e8d
TC
511 - fixed various memory leaks that could occur when failing to read png,
512 jpeg, bmp or tga files.
513
b3aa972f
TC
514 - to avoid confusion, channels not present in the image are returned as
515 zero by getscanline(). This has no effect on the C level i_glin()
516 and i_glinf() API functions which continue to not set the unused
517 channels.
518
d5477d3d
TC
519 - the convert() method now returns an image of the same sample size as
520 the source image.
521 https://rt.cpan.org/Ticket/Display.html?id=28492
522
baa880ef
TC
523 - remove repeated text in Imager::Files
524 http://rt.cpan.org/Ticket/Display.html?id=27589
525
526 - be even more explicit that scale() and friends don't modify the source
527 image, but return a new image.
528 http://rt.cpan.org/Ticket/Display.html?id=28570
529
0561d49c
TC
530 - improve the error message from errstr() when you try to load a font
531 for which the driver hasn't been built in Imager.
532 http://rt.cpan.org/Ticket/Display.html?id=27571
533
d8a39ce0
TC
534 - transparency is now enabled by default when writing GIF images
535 http://rt.cpan.org/Ticket/Display.html?id=27615
536
5730d6e7
TC
537 - Imager would not load on Windows 98
538 http://rt.cpan.org/Ticket/Display.html?id=27653
539
b4996113 540Imager 0.59 - 14 June 2007
e6e94ab0
TC
541===========
542
543Bug fixes:
544
545 - fixes a regression introduced by the fixes for RT 11972
546 http://rt.cpan.org/Ticket/Display.html?id=27546
547
9fc9d0ca
TC
548 - cropping outside the image would return an Imager object with
549 no low-level image object, instead of returning false.
550 Fixed by: Philip Gwyn (Leolo)
551 http://rt.cpan.org/Ticket/Display.html?id=27509
552
7e7508dd
TC
553Imager 0.58 - 16 May 2007
554===========
555
556No significant changes from 0.57_01.
557
1970a2c7
TC
558Imager 0.57_01 - 11 May 2007
559==============
d034a178 560
f8e36694
TC
561 - added to_rgb16 to produce a 16-bit/sample version of an image
562
95b2bff4
TC
563 - improve freetype 1.x text output efficiency
564
d034a178
TC
565Bug fixes:
566
567 - search another place for rgb.txt, and check all the places
568 Imager::Color checks when deciding whether to skip testing it
569 http://rt.cpan.org/Ticket/Display.html?id=26064
570
73962964
TC
571 - use a convolution kernel size based on the stddev rather than a
572 fixed size when performing a gaussian blur
573 http://rt.cpan.org/Ticket/Display.html?id=25645
574
01b84320
TC
575 - document the difference() method's mindist parameter, and debug it.
576
7e7508dd 577 - put the Imager release number in the Inline::C generated code to
22f9ca48
TC
578 regenerate Inline code when a new release of Imager is installed.
579 http://rt.cpan.org/Ticket/Display.html?id=26278
580
fa16b6c6
TC
581 - fix rendering on alpha channel images for the FreeType 1.x driver.
582 http://rt.cpan.org/Ticket/Display.html?id=11972
583
4c84ccfb
TC
584 - fix rendering on alpha channel images for the T1lib driver.
585 http://rt.cpan.org/Ticket/Display.html?id=11972
586
1fe8316b
TC
587 - reworked library probing, we can now set more than one probe
588 function for a library. Disabled the default (non-freetype-config)
589 library probe and added an extra probe function that searches for
590 both ft2build.h and whatever it includes, and adds -I as needed.
591 Hopefully this will fix build problems like
592 http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
593 http://rt.cpan.org/Ticket/Display.html?id=26086
594
bb5712de
TC
595Imager 0.57 - 30 Apr 2007
596===========
597
598This is a maintenence release fixing a security issue in Imager.
599
600 - CRITICAL: a specially crafted compressed BMP file can cause a buffer
601 overflow in malloced memory. There will be further discussion of
602 this issue in the ticket below.
603 http://rt.cpan.org/Ticket/Display.html?id=26811
7e7508dd
TC
604 CVE-2007-2459 CVE-2007-2413
605 The descriptions at cve.mitre.org varied in quality, please see the
606 ticket at rt.cpan.org for a more accurate description of the issue.
bb5712de 607
d034a178 608Imager 0.56 - 1 Apr 2007
7623d340
TC
609===========
610
611 - added support for reading 16-bit/sample PGM/PPM images
612
613 - added support for writing 16-bit/sample PGM/PPM images
614
615 - improved performance of reading PBM/PGM/PPM images
616
617 - added support for writing PBM images if the image is paletted and
618 contains only black and white
619
620 - added a new make_colors value - "mono"
621
622 - switched from the svn log Changes to a manual Changes to reduce
623 noise
624
1225d272
TC
625 - new sample code - samples/flasher.pl
626
7623d340
TC
627Bug fixes:
628
629 - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
630 was returning an image object with an extra reference, this
631 resulted in a memory leak.
632 http://rt.cpan.org/Ticket/Display.html?id=24992
633
634 - fix rendering on alpha channel images for the FreeType 2.x driver
635 http://rt.cpan.org/Ticket/Display.html?id=11972
636
637 - reading bmp files now consitently handles short reads. You can now
638 supply a parameter to treat a short read as successful and set
639 i_incomplete
640 http://rt.cpan.org/Ticket/Display.html?id=8426
641
642 - previously, reading ASCII PBM files required spaces between samples,
643 even though the format doesn't require that
644
1225d272
TC
645 - improved documentation of the unsharpmask filter (I hope)
646 http://rt.cpan.org/Ticket/Display.html?id=25531
647
648 - force flushing of the output from i_tt_dump_names() and test output
649 in t/t35ttfont.t to prevent output from being mixed up.
650 https://rt.cpan.org/Ticket/Display.html?id=24859
651
652 - rewrite a conditional expression as an if() to hopefully work around
653 a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
654 https://rt.cpan.org/Ticket/Display.html?id=25561
655
656 - avoid Data::Dumper in regops.perl to support older releases of perl
657 https://rt.cpan.org/Ticket/Display.html?id=24391
658
7623d340
TC
659Imager 0.55 - 16 Dec 2006
660===========
661
662This is primarily a bug fix release.
663
664Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
665
666There is one new feature:
667
668 - the Win32 font driver now supports UTF8 (RT 22166)
669 http://www.cpanforum.com/threads/3276
670 http://rt.cpan.org/Ticket/Display.html?id=22166
671
672Several bugs were fixed:
673
674 - the string() method would not output the string "0"
675 http://rt.cpan.org/Public/Bug/Display.html?id=21770
676
677 - fills.c was failing to compile on Solaris 10 (compiler unknown)
678 http://rt.cpan.org/Public/Bug/Display.html?id=21944
679
680 - the gif_disposal and gif_user_input tags weren't being read from
681 the file correctly
682 http://rt.cpan.org/Public/Bug/Display.html?id=22192
683
684 - gif.c was failing to build under MSVC
685 http://rt.cpan.org/Ticket/Display.html?id=23922
686
687 - in some cases strings passed to the string() method were treated as
688 terminated by NUL (chr 0)
689 http://rt.cpan.org/Public/Bug/Display.html?id=21770
690
691 - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
692 that's the default build name for zlib on Win32.
693 http://rt.cpan.org/Ticket/Display.html?id=23064
694
695 - search $Config{incpath} for headers too, which we should have been
696 doing all along.
697
698Win32 font driver fixes:
699
700 - the global descent value from bounding box was the wrong sign
701 http://www.cpanforum.com/threads/3276
702
703 - if the first or last glyph overflowed the left or right side of the
704 advance width they would be clipped
705
706
707Imager 0.54 - 14 Sep 2006
708===========
709
710This is primarily a feature release:
711
712 - a new qtype value 'mixing' has been added to the scale()
713 method. This is faster than 'normal', slower than 'preview'. This
714 is based on the method used by pnmscale, and seems to produce less
715 blurry results than normal.
716 http://rt.cpan.org/Public/Bug/Display.html?id=20677
717
718 - the rubthrough() method can now render onto images with an alpha
719 channel.
720 http://rt.cpan.org/Ticket/Display.html?id=20678
721
722 - the read_multi() method now falls back to calling doing a single
723 image read via the read() method and write_multi() will now fall
724 back to calling write() if a single image is supplied. This means
725 you can simply call the read_multi() or write_multi() functions
726 without having to check if the type is formatted by that method.
727 http://rt.cpan.org/Ticket/Display.html?id=19457
728 http://rt.cpan.org/Ticket/Display.html?id=19458
729
730 - the GIF loop extension can now be written. If you don't have
731 libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
732 should upgrade.
733 http://rt.cpan.org/Ticket/Display.html?id=21185
734
735 - getscanline() and setscanline() can now read/write palette index
736 based data from/to the image for paletted images, by setting type to
737 'index'.
738 http://rt.cpan.org/Ticket/Display.html?id=20338
739
740 - we no longer hassle you to disable GIF support
741 http://rt.cpan.org/Ticket/Display.html?id=20687
742
743 - minor documentation fixes
744
745
746Imager 0.53 - 26 Jul 2006
747===========
748
749This is a bugfix release.
750
751Some test code was left in a code path not covered by the test
752suite. A test was added to cover this code path and the test code was
753removed.
754http://rt.cpan.org/Public/Bug/Display.html?id=20705
755
756
757Imager 0.52 - 25 Jul 2006
758===========
759
760This is primarily a feature release, but contains a fair few bug
761fixes, new features:
762
763 - ability to read and write MS Windows ICO and CUR files
764
765 - you can now add file format plugins to support new file formats
766
767 - add POD coverage tests
768
769 - setcolors() and addcolors() now accept color names and so on
770 instead of requiring Imager::Color objects.
771 http://rt.cpan.org/Ticket/Display.html?id=20056
772
773 - flood_fill() can now fill to a specified border color instead of
774 just to the area the same color as the seed.
775 http://rt.cpan.org/Ticket/Display.html?id=19618
776
777
778Bug fixes:
779
780 - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
781 calculating the advance width.
782 http://rt.cpan.org/Public/Bug/Display.html?id=20554
783
784 - bounding_box for the T1 driver wasn't including leading and
785 trailing spaces in the bounding box as the other drivers did, it also
786 produced strange results for empty strings or strings containing only
787 spaces
788
789 - when reading CMYK jpeg images they were being transferred to the
790 image object as is, producing a four channel image. It only looked ok
791 due to an old still unfixed Photoshop bug. We now convert from the
792 inverted CMYK that photoshop (and Corel for example) produce into RGB.
793 http://rt.cpan.org/Ticket/Display.html?id=20416
794
795 - reading a CYMK TIFF would result in a 4 channel image, reading any
796 image with more than 4 channels (eg. RGB with 2 alpha channels) would
797 result in an error.
798 http://rt.cpan.org/Ticket/Display.html?id=20415
799
800 - added /usr/local/include to the default include search path, since
801 we were already searching /usr/local/lib for libraries.
802
803And various minor fixes and documentation updates.
804
805
806Imager 0.51 - 23 Apr 2006
807===========
808
809 - fix a validation bug when processing JPEG EXIF data that can cause
810 a crash
811 http://rt.cpan.org/Public/Bug/Display.html?id=18496
812
813 - fix mis-processing of the src_maxx and src_maxy parameters of the
814 paste() method
815 http://rt.cpan.org/Public/Bug/Display.html?id=18712
816
817 - fix a problem in Imager's "smart" handling of the color parameter
818 to various methods.
819 http://rt.cpan.org/Public/Bug/Display.html?id=18561
820
821
822Imager 0.50 - 29 Mar 2006
823===========
824
825 - CRITICAL: fixes a segmentation fault from attempting to write a 2
826 or 4 channel image to jpeg or a 2 channel image to tga where the
827 output is an in-memeory buffer.
828 http://rt.cpan.org/Public/Bug/Display.html?id=18397
829
830 - fixes an incorrect pointer parameter in the PNG code
831 http://rt.cpan.org/Public/Bug/Display.html?id=18051
832
833 - skip Inline::C tests when building in a directory with spaces
834 http://rt.cpan.org/Public/Bug/Display.html?id=18049