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