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