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