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