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