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