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