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