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