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