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