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