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