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