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