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