[rt #69243] add the T_AVARRAY typemap and use it
[imager.git] / Changes
CommitLineData
7623d340
TC
1Imager release history. Older releases can be found in Changes.old
2
05c9b356
TC
3 - TIFF: handle SampleFormat = 2 by translating the signed integer
4 values to unsigned by flipping their sign bits.
5
6 Handle SampleFormat = 3 where possible.
7
8 SampleFormat is ignored for paletted images.
9
10 Mixed SampleFormat are be handled incorrectly, since libtiff
11 returns only the first SampleFormat value, and an image with both
12 an alpha channel and SampleFormat = 2 for color channels probably
13 has a different SampleFormat for the alpha channel.
14
15 https://rt.cpan.org/Ticket/Display.html?id=74540
16
face45e7
TC
17 - XS clean up:
18 https://rt.cpan.org/Ticket/Display.html?id=69243 (partial)
19
20 - Imager::Color's rgba() method now returns it's values as integers
21 instead of floating point. (IV instead of NV).
22
19e9591b
TC
23 - The XS for i_map() and i_matrix_transform() now use the AV *
24 typemap instead of rolling their own.
25
26 - The XS for i_poly_aa(), i_poly_aa_cfill(), i_transform() now use
27 a new T_AVARRAY typemap that greatly simplifies the XS code.
face45e7
TC
28
29 - some XS code formatting
a54e32ba 30
b482243a 31
d72e91c5
TC
32Imager 0.96 - 19 May 2013
33===========
34
c2e251d9
TC
35 - rearrange Imager's test files.
36 https://rt.cpan.org/Ticket/Display.html?id=84596
37
38 - Imager::Probe::_gcc_lib_paths now forces C locale.
39 A sufficiently recent gcc prints localized keys for the search
40 paths, which avoids that localization.
41 https://rt.cpan.org/Ticket/Display.html?id=84963
42
43 - fix a pod error detected by Pod::Simple 3.27 and laterm and skip
44 pod tests unless AUTOMATED_TESTING or IMAGER_AUTHOR_TESTING is set
45 and true.
46 https://rt.cpan.org/Ticket/Display.html?id=85262
47 reported by Andreas König
48
49 - add a test for unclosed POD in C source, and fix the errors it
50 found.
51 https://rt.cpan.org/Ticket/Display.html?id=74875
52
53 - fix some spelling errors detected by the newer aspell in Debian
54 Wheezy.
55
56 - remove a trailing ' from lib/Imager/Font/Test.pm's POD
57 thanks to gregor herrmann <gregoa@debian.org>
58 https://rt.cpan.org/Ticket/Display.html?id=85413
59
60 - add a test for standard =head1 commands and fix the errors found
61
f9e1a2e7
TC
62Imager 0.95 - 19 Apr 2013
63===========
64
0a2956ab
TC
65 - handle the SVf_UTF8 flag correctly on magic strings passed to
66 Imager::IO's write() and raw_write() methods.
67 This may misbehave in perl 5.6.x since the UTF8 flag may not be
68 visible in the main SV after SvGETMAGIC().
69 https://rt.cpan.org/Ticket/Display.html?id=83438
70
71 - document that bounding_box() ignores the transformation matrix
72 supplied to tranform() for fonts.
73 https://rt.cpan.org/Ticket/Display.html?id=84106
74
4f94c146
TC
75Imager 0.94_02 - 5 Apr 2013
76==============
77
1540d1d4
TC
78 - enable debug logging for the standard font tests
79
80 - skip the overloaded UTF-8 text output checks on 5.6.x and earlier,
81 due to a bug in that version of perl.
82
83 - don't test for read() failing on a write-only handle in 5.8.x and
84 earlier, this was fixed in change 862083f7e4 in perl.
85
86 - report the version of Inline found during testing (an attempt to
87 diagnose some intermittent failures.)
88
2fe429a9
TC
89Imager 0.94_01 - 2 Mar 2013
90==============
91
14a4ea18 92 - NOTE: possibly backward incompatible:
3dcf7595
TC
93 support reading from/writing to perl filehandes that aren't raw
94 files.
95
96 This allows Imager's I/O to honour handles with layers such as
97 gzip, scalar file handles or tied file handles.
98
14a4ea18 99 This is backward incompatible in that previous Imager would simply
3dcf7595
TC
100 use fileno() to retrieve the fd for the file and call write(2) etc
101 on it directly.
04d8c568
TC
102 https://rt.cpan.org/Ticket/Display.html?id=78843
103
104 - moved most of README to lib/Imager/Install.pod which should make it
105 more accessible to the "web" generation, also significantly updated
106 and re-worked it.
3dcf7595 107
ca96f811
TC
108 - updated README's for the separately distributed modules to refer to
109 Imager::Install, and that they need -dev versions of packages
110 https://rt.cpan.org/Ticket/Display.html?id=81265
111
26e8a226
TC
112 - the JPEG test code now reports the compile-time library version
113
41125e7d
TC
114 - avoid a possible compiler optimization issue on CentOS 5.9 i386 by
115 rearranging (and mildly optimizing) some code.
ca96f811
TC
116 https://rt.cpan.org/Ticket/Display.html?id=83212
117
118 - fix a POD error in Imager::Fill (detected on new Pod-Simple)
119 https://rt.cpan.org/Ticket/Display.html?id=83434
120
121 - fix a broken link to Graphics::Magick
122 https://rt.cpan.org/Ticket/Display.html?id=82743
41125e7d 123
c732ffa5
TC
124 - drawing text to a channel with FT2 would draw with random coverage
125 due to an uninitialized alpha channel.
126
127 - marked the function pointer underlying the mm_log() API with the
128 correct gcc magic and fixed the resulting warnings.
129
130 - fixed some other compiler warnings
131
14a4ea18
TC
132 - Imager::Font::W32 now properly reports text drawing errors
133 https://rt.cpan.org/Ticket/Display.html?id=70098
134
0a2956ab 135 - handle the SVf_UTF8 flag correctly on magic (eg. overloaded)
14a4ea18
TC
136 strings passed as text to draw(), bounding_box(), has_chars(),
137 glyph_names() (where supported) in each of the font drivers.
0a2956ab
TC
138 This may misbehave in perl 5.6.x since the UTF8 flag may not be
139 visible in the main SV after SvGETMAGIC().
14a4ea18
TC
140 https://rt.cpan.org/Ticket/Display.html?id=83438 (partial)
141
06115805
TC
142Imager 0.94 - 15 Dec 2012
143=========================
144
145Variations on some of these changes were included in development
146releases.
147
4be61824
TC
148 - improved thread safety
149 - the internal error stack and log file handle are now in a per-thread
150 context object
151 - JPEG now captures IPTC information in a thread-safe way
152 - avoid globals where possible for warning capture in libtiff
244725cf
TC
153 - use a mutex to avoid re-entering thread-unsafe giflib
154 - use a mutex to avoid re-entering thread-unsafe tifflib
155 - use a mutex to avoid re-entering thread-unsafe T1Lib
156 - use a library handle per thread for freetype 2.
0124c060 157 - use an engine handle per thread for freetype 1.x.
0eebfd59
TC
158 - originally these changes broke ABI compatibility, this has been
159 restored.
abffffed 160
6254ad14
TC
161 - clarify the return value of getpixel();
162 https://rt.cpan.org/Ticket/Display.html?id=81198
163
164 - fixed a race condition in parallel testing for T1
165
166 - fixed a bug in handling yoff for untransformed image-based fills
167
168 - documentation improvements for Imager::Fill
169
5e8f194e
TC
170 - FT2: report the library version while testing.
171
e9daa5af
TC
172Imager 0.93 - 15 Oct 2012
173===========
174
175Bug fixes:
71fbe41a
TC
176
177 - previously a transparency enabled GIF write (the default) would
178 always use a GIF89a header even if none of the images were
179 transparent.
7a5f7bc6 180
b2f967ef
TC
181 - previously the probe step for freetype-config would fail on cygwin
182
b2f967ef
TC
183 - catch an invalid matrix parameter to convert() instead of crashing
184 https://rt.cpan.org/Ticket/Display.html?id=79922
185
186 - remove the 16-bit/sample limitation from the documentation for
187 setsamples(), it hasn't applied for many releases.
188 https://rt.cpan.org/Ticket/Display.html?id=79989
189
9673d97e
TC
190 - don't copy setsamples() data parameter, it may be a large scalar
191 https://rt.cpan.org/Ticket/Display.html?id=79990
192
70b577d3
TC
193 - clean up .dSYM directories generated performing probes on OS X
194 Mountain Lion.
195
8c323994
TC
196 - pass the --verbose command-line option through to Imager::Probe in
197 sub-module's Makefile.PLs
198 https://rt.cpan.org/Ticket/Display.html?id=75878
199
e9daa5af
TC
200Enhancements:
201
202 - support for giflib 5.0. (5.0.1 and later)
203 https://rt.cpan.org/Ticket/Display.html?id=79029
204 The giflib API Imager uses doesn't have a mechanism to set the
205 header version in 5.0.0.
206
207 - update the GIF library probe code to check for the new giflib 5.0.1
208 EGifSetGifVersion() function, and to check for the giflib 4.2.0
209 uninitialized gif89 bug.
210 https://rt.cpan.org/Ticket/Display.html?id=79679
211 http://sourceforge.net/tracker/?func=detail&aid=3574283&group_id=102202&atid=631304
212
213 - avoid static variables when capturing IPTC data from JPEG files
214
215 - match Imager::Font;:T1's error message translations to those from
216 later versions of T1Lib.
217
218 - for libtiff versions that support extended warning handlers (3.8.0
219 or later), use them to avoid some global variables.
220
221 - note Image::ExifTool for better metadata support.
222 https://rt.cpan.org/Ticket/Display.html?id=79251
223
41c938ec
TC
224Imager 0.92 - 14 Aug 2012
225===========
226
b1c75496
TC
227 - giflib 4.2 eliminates the GIF_LIB_VERSION macro, handle that
228 correctly for both probing and runtime.
229 https://rt.cpan.org/Ticket/Display.html?id=77672
230
dcc10c4e
TC
231 - allow building JPEG/imexif.c on C89 compilers.
232
272fcca5
TC
233 - allow building GIF/imgif.c on C89 compilers.
234
ec8f0ee2
TC
235Imager 0.91 - 4 Jun 2012
236===========
237
ef84bb32 238Bug fixes:
38742a13 239
289d65f4
TC
240 - The size of rotated images is no longer rounded up so aggressively.
241 Added rounding to the linear interpolation done for rotate() and
242 matrix_transform() for 1 and 3 channel 8-bit images.
243 Adjusted the two tranlate matrices used to build the final rotation
244 matrix to use the distance between the outlier pixels rather than
245 the pixel dimensions (ie. dimension-1).
246 With all of this the output of rotate(degrees => 270) on an 8-bit
247 image exactly matches the output of rotate(right => 270).
248 https://rt.cpan.org/Ticket/Display.html?id=77063
249
ef84bb32
TC
250Other changes:
251
252 - eliminate the old IIM_new(), IIM_DESTROY() names from Imager's
253 internals, those names only matter for the XS interface.
254
255 - improve error reporting when PERL_INITIALIZE_IMAGER_CALLBACKS finds
256 the API level compiled into a loadable module such as
257 Imager::File::GIF doesn't match that of Imager. Previously it
258 could be difficult to determine exactly which module was failing to
259 load.
260 https://rt.cpan.org/Ticket/Display.html?id=77173
261
262 - added Imager->check_file_limits() as an interface to the
263 i_int_check_image_file_limits() API.
264
265 - Imager->set_file_limits(reset => 1) now resets the limits to the
266 defaults rather than setting them all to unlimited.
267
268 - wrote a brief security note as Imager::Security
269 https://rt.cpan.org/Ticket/Display.html?id=68910
270
6f31dd14 271Imager 0.90 - 30 Apr 2012
7c4464f5
TC
272===========
273
274Bug fixes:
275
276 - Imager::Test::is_imaged() attempted to process an "epsilon"
277 parameter but the prototype didn't allow for the extra parameter.
278 Corrected the prototype.
279
29b38678
TC
280 - when downconverting samples (eg. from floating point to 8 bit)
281 Imager now rounds the sample value rather than attempting to
282 allocate input values over output values equally. The old
283 behaviour had the probably surprising effect of converting a
284 floating point 2.1/255.0 into an 8-bit 3 rather than the expected
285 2.
286 This may result in slightly different 8 or 16-bit output images.
287
e2a86bac
TC
288 - BI_BITFIELD BMP images were handled incorrectly, both in
289 incorrectly calculating the space required for the masks and in
290 processing the image data itself.
291 https://rt.cpan.org/Ticket/Display.html?id=76736
292
293 - some odd width BMP BI_RLE4 images use run lengths that run one off
294 the edge of the image. Imager now allows this, discarding the
295 extra column.
296
297 - odd length RLE4 runs in BMP images were decoded incorrectly.
298
82eb0687
TC
299 - pkg-config could sometimes return a library that was in a directory
300 EU::MM / $Config{libpth} doesn't know about, but the compiler did.
301 If no -L is included in the pkg-config library information check if
302 EU::MM can find the library, and if not, search our configured
303 directories and insert that into the library flags.
304 https://rt.cpan.org/Ticket/Display.html?id=75869
305
de50f459
TC
306 - Imager::Probe can now probe for libraries with dependent libraries,
307 common for static linking, eg. libpng requires libz.
308 https://rt.cpan.org/Ticket/Display.html?id=74043
309
310 - libpng 1.5 specific probes were looking for libpng 1.4 filenames.
311
312 - added alternative probe configurations that try to link libz, to
313 handle a statically linked libpng.
314 https://rt.cpan.org/Ticket/Display.html?id=74043
315
316 - if a probe includes testcode, Imager::Probe now checks that code as
317 part of the process of checking each configuration rather than as a
318 post test of the found configuration. This allows alternate
319 configurations to be checked if a matching but non-working
320 configuration is found.
321 https://rt.cpan.org/Ticket/Display.html?id=74043
322
9d5ff8a6
TC
323Other changes:
324
325 - when reading or writing images via callbacks, the default callbacks
326 now push an error message indicating that a required callback was
327 called but not supplied.
328 https://rt.cpan.org/Ticket/Display.html?id=76782
329
330 - clarify which callbacks are required for reading and writing TIFF
331 images.
332
333 - improve logging for creation of callback I/O layers.
334
de50f459
TC
335 - a little more documentation for Imager::Probe.
336
594f5933
TC
337 - the i_get_file_background() and i_get_file_backgroundf() APIs now
338 return int to indicate whether the i_background tag was found.
339
1b46057d
TC
340 - PNG rework
341 - improve error reporting
342 - add png_interlace, png_bits tags
343 - read paletted images as paletted images, including transparency
344 - read 1 bit greyscale images as a type suitable for other file
345 handlers to write as bilevel
346 - read 16 bit/sample PNG as 16-bit/sample Imager images
347 - write "bilevel" paletted images as 1 bit grayscale images
348 - write paletted images as paletted images
349 - write 16-bit (or higher)/sample images as 16-bit/sample PNG
350 images
351 - improved metadata support
352 https://rt.cpan.org/Ticket/Display.html?id=29268
353
2c1ffb77
TC
354Imager 0.89 - 18 Mar 2012
355===========
356
357Bug fixes:
358
93eab01e
TC
359 - getpixel(..., type => "float") and the API i_gpixf() have been
360 broken on paletted images since they were implemented.
361 https://rt.cpan.org/Ticket/Display.html?id=75258
362
2c1ffb77
TC
363Other changes:
364
61be9694
TC
365 - links in the METHOD INDEX now point at the method documentation
366 rather than the heading you can find them under.
367 https://rt.cpan.org/Ticket/Display.html?id=71495
368
a5919365
TC
369 - Imager (and the bundled dynamic modules) no longer fallback to
370 using DynaLoader if loading via XSLoader fails.
371 For the bundled modules this could hide useful error messages.
372 https://rt.cpan.org/Ticket/Display.html?id=75560
373
335078fc
TC
374 - IM_DEBUG_MALLOC mymalloc() no longer sn?printfs() a string to a
375 buffer in the array of allocations, but just stores the filename
376 pointer and line number.
377 https://rt.cpan.org/Ticket/Display.html?id=70388
378
3f53dd75
TC
379Imager 0.88 - 22 Feb 2012
380===========
381
43bef43b
TC
382 - describe how to build libgif etc on OS X in such a way as to be
383 compatible with a fat binary perl (such as the system perl), in
384 README.
385 https://rt.cpan.org/Ticket/Display.html?id=73371
386
69675eef
TC
387 - update the change notes for 0.77_01 to indicate that libungif
388 support was removed.
389
d4056453
TC
390 - add some other imaging modules to SEE ALSO
391 https://rt.cpan.org/Ticket/Display.html?id=73906
392
3b7f10da
TC
393 - note that the generator of the apparently non-DFSG-free postscript
394 in MMOne.pfb is a Debian package.
395
02323e69
TC
396 - setsamples() is now a true complement to getsamples() - it can
397 write 8-bit or floating point samples from a scalar or array
398 reference. This adds i_psamp() and i_psampf() to the C level API.
399
400 - the XS interfaces to i_gsamp(), i_gsampf() and i_gsamp_bits() have
401 changed to make better use of the typemap, but these aren't part of
402 the perl level API anyway. There were no changes to the C level
403 interfaces to these functions.
404
2a27eeff
TC
405 - getpixel() and setpixel() now accept a mix of scalar and array
406 references for the x and y parameters, and unequal array lengths is
407 no longer an error.
408 https://rt.cpan.org/Ticket/Display.html?id=73697
409
ef74691a
TC
410Bug fixes:
411
412 - correctly calculate the size of a rotated image
413 https://rt.cpan.org/Ticket/Display.html?id=69261
414
415 - fix incorrect rounding of color values for matrix_transform() and
416 rotate().
417 https://rt.cpan.org/Ticket/Display.html?id=69261
418
5091168a
TC
419 - Win32 text output is now done in normal combine mode, the alpha
420 component of the color is now significant.
421 https://rt.cpan.org/Ticket/Display.html?id=70014
422
fa0b1452
TC
423 - remove long unused gif case from read()
424 https://rt.cpan.org/Ticket/Display.html?id=69244 (partial)
425
7640e3bb
TC
426 - the getsamples() target parameter was being treated as a hashref
427 when it's meant to be an array reference.
428 https://rt.cpan.org/Ticket/Display.html?id=74882
429
2a27eeff
TC
430 - getpixel() and setpixel() now returns an empty list when invalid
431 parameters are supplied.
432 Invalid values for type now result in an error for getpixel().
433 https://rt.cpan.org/Ticket/Display.html?id=73697
434
fcc81fa4 435Imager 0.87 - 03 Jan 2012
f0f6c630
TC
436===========
437
c18dd26e
TC
438 - document the return value of the filter() method.
439 https://rt.cpan.org/Ticket/Display.html?id=72369
440
48095bd4
TC
441 - document i_gsamp_bits() and i_psamp_bits().
442 https://rt.cpan.org/Ticket/Display.html?id=68815
443
f5b90025
TC
444 - properly increment the Imager::Matrix2d $VERSION.
445
35f2f9fb
TC
446 - actually include the Imager::Test tests in the dist
447
2fe1e4bc
TC
448 - correctly read and write 256x256 pixel ICO files
449 https://rt.cpan.org/Ticket/Display.html?id=69599
450
4f21e06e
TC
451 - make the error message from read() or read_multi() when they can't
452 identify the file type match reality.
453 https://rt.cpan.org/Ticket/Display.html?id=72475
454
455 - read() now uses $FORMATGUESS if it can't determine the file type
456 based on the file header, to match read_multi().
457
458 - re-work and add tests for def_guess_type(). def_guess_type() no
459 longer returns any random file extension as the file type.
460
5e9a7fbd
TC
461 - add gray4, gray16 and gray as presets for make_colors.
462 https://rt.cpan.org/Ticket/Display.html?id=67911
463
464 - add make_palette() method that produces a palette from one or more
465 images.
466
32d74dbe
TC
467 - fix the Imager dependency for the separately distributed font
468 drivers.
469 https://rt.cpan.org/Ticket/Display.html?id=72643
470
a044f2c6
TC
471 - fix i_render_color() to properly draw in "normal" mode - ie. when
472 writing to a 1 or 3 channel image the second or fourth channel of
473 the source color was being ignored, it is now significant.
474 https://rt.cpan.org/Ticket/Display.html?id=71564
475
4b2e59d3
TC
476Imager 0.86 - 31 Oct 2011
477===========
478
b8b889ba
TC
479 - improve error reporting for W32 tests
480
6f7a49a2
TC
481Imager 0.85_02 - 24 Oct 2011
482==============
a10ce62e
TC
483
484Bug fixes:
485
486 - eliminate unused i_gif_opts type (clean-up)
487 https://rt.cpan.org/Ticket/Display.html?id=69245
488
98e1552d
TC
489 - fix combine=0 fill color anti-aliasing on the double/sample path
490 https://rt.cpan.org/Ticket/Display.html?id=71309
491
492 - make default text color non-transparent
493 https://rt.cpan.org/Ticket/Display.html?id=71469
494
372ba12c
TC
495 - apply the last of the Debian unforwarded spelling fixes
496 https://rt.cpan.org/Ticket/Display.html?id=70656
497
b7506a07
TC
498 - the log() method used its message parameter as a C level format
499 string.
500 https://rt.cpan.org/Ticket/Display.html?id=71653
501
cb4d223c
TC
502 - provide our own STRLEN typemap entry for older perls.
503 https://rt.cpan.org/Ticket/Display.html?id=71641
504
f35d1231
TC
505 - add extra ppport.h configuration to support older perls.
506
954ac5d1
TC
507 - depend on Scalar::Util, since we use it and older perls don't have
508 it.
509
5efba0c6
TC
510 - add overloaded eq to Imager::Matrix2d, since older perls don't seem
511 to synthesize it from overloaded "".
512
73e3ff55
TC
513 - use T1_StrError() for error messages on modern libt1
514 https://rt.cpan.org/Ticket/Display.html?id=69879
515
516 - actually load the font rather than just adding it to the catalog on
517 creation.
518
519 - Imager::Font->new now produces better error messages for the T1
520 engine.
521
6e938c74
TC
522 - the font has_chars() method now returns perl's true and false
523 values in list context rather than integers, which should be more
524 efficient.
525 https://rt.cpan.org/Ticket/Display.html?id=69158
526
b934971a
TC
527 - the btm data structure used by the flood_fill code is now
528 initialized more efficiently.
529 https://rt.cpan.org/Ticket/Display.html?id=68994
530
872def8b
TC
531 - updated the Thanks list in README
532 https://rt.cpan.org/Ticket/Display.html?id=71607
533
1e0418f1
TC
534 - check there's at least one coefficient for the convolution filter
535 https://rt.cpan.org/Ticket/Display.html?id=68993
536
81409c5e
TC
537 - make the APIRef synopsis ordering consistent, older versions of
538 perl could order it differently.
539 https://rt.cpan.org/Ticket/Display.html?id=71675
540
336ce474
TC
541 - we rely on Config.pm's d_vsnprintf as to whether we use
542 vsnprintf/snprintf, which is defined in the Win32 Config.pm even
543 though it only has _ prefixed versions of these. Define our own
544 prefixed names on Win32.
545 https://rt.cpan.org/Ticket/Display.html?id=71642
546
ae394c13
TC
547 - fix library detection with MSVC
548
84e2cc94
TC
549 - search a few more library directories, so EU::MM doesn't discard
550 them. Hopefully fixes:
551 https://rt.cpan.org/Ticket/Display.html?id=71643
552
31be6e9a 553Imager 0.85_01 - 10 Oct 2011
6d5c85a2 554==============
a7e32beb
TC
555
556 - add simple tests for the Imager::Test test_image generators
557
6d5c85a2
TC
558 - io_glue I/O buffering re-work:
559
560 - reorganize io_glue to do it's own buffering by default
561
562 - the unbuffered functions are available as i_io_raw_read() (or
563 raw_read() from perl) etc but are not recommended for typical
564 use.
565
566 - use the new i_io_peekn() when checking for file magic to avoid
567 seek, allowing Imager to detect the file type and read the file
568 from an unseekable stream (for formats that don't use random
569 access)
570
571 - added several new I/O layer API functions.
572
573 - fix the TGA performance problem, most noticably on Win32
574 https://rt.cpan.org/Ticket/Display.html?id=70037
575
576 - TIFF now uses wrapper functions of the correct types to avoid casts
577 https://rt.cpan.org/Ticket/Display.html?id=69912
578
579 - the callback IO object did its own buffering, controlled by the
580 maxbuffer parameter supplied to the read() and write() methods.
581 This buffering has been removed, to avoid redundancy with the
582 common io_glue buffering. This also avoids a bug in that code
583 which could rarely pass a zero length to the read callback and
584 then panic about the result.
585
586 - the callback IO object now tests the result of calling the close
587 callback, which should return true for success.
588
589 - the PNM reader did its own buffering. This buffering has been
590 removed to avoid redundancy with the common io_glue buffering.
591
592 - previously the read handlers for fd and callback I/O layers would
593 call the underlying interface (POSIX read or your supplied callback)
594 until it filled the buffer. It now only makes one call.
595
596 - added public constructors for I/O layer objects (see Imager::IO)
597
598 - all core file handlers now use the i_io_foo() wrappers to gain
599 access to buffered I/O rather than calling the I/O layer
600 callbacks directly.
601
602 - all core file handlers now check for error on close.
603
604 - Backward compatibility: if you hava custom file handlers, you can
605 use i_io_write() etc since they're available as macros in older
606 versions of Imager.
607
608 - eliminate the final remnants of io_glue_commit_types().
609
610 - bump IMAGER_API_VERSION, since the above may break assumptions.
611
612 - removed the long unused i_gen_reader() and i_gen_writer() utility
613 functions.
614
0c647c9a 615Imager 0.85 - 29 Aug 2011
6ad7e4bc
TC
616===========
617
0c647c9a
TC
618The main changes in the release versus 0.84 are:
619
620 - on 64-bit systems, 64-bit types are consistently used for image
621 dimensions and co-ordinated, and for memory block sizes.
622
623 - handle IFD loops in TIFF files correctly. Previously this would
624 lead to an infinite loop.
625
6ad7e4bc
TC
626Bug fixes:
627
628 - fix the link in the getheight() entry in the method index
629
7ef6338c
TC
630Imager 0.84_02 - 22 Aug 2011
631==============
632
633Development release, this will become 0.85 if CPAN testers is
634favourable.
6b7197d0
TC
635
636Bug fixes:
637
638 - the image file limits set by set_file_limits() weren't being
639 checked when reading TIFF files.
640 https://rt.cpan.org/Ticket/Display.html?id=69915
641
5970bd39
TC
642 - Provide more information about file format module load errors on a
643 failed image file read() or write().
644 https://rt.cpan.org/Ticket/Display.html?id=69194
645
4ce3551c
TC
646 - use TIFFReadDirectory() instead of TIFFSetDirectory() to iterate
647 through TIFF images, since it checks for IFD loops.
648 https://rt.cpan.org/Ticket/Display.html?id=69914
649
a16bca6d
TC
650 - don't leak memory when out of range palette indexes are supplied to
651 setscanline().
652 https://rt.cpan.org/Ticket/Display.html?id=69242
653
654 - require a later version of CPAN::Meta to ensure JSON::PP and
655 CPAN::Meta::YAML are available.
656 https://rt.cpan.org/Ticket/Display.html?id=69008
657
ac575c5f
TC
658 - hoist the per-line calculations for the flines implementations, and
659 modernize the tests a bit.
660 https://rt.cpan.org/Ticket/Display.html?id=70126
661
86c8d19a
TC
662 - detect snprintf()/vsnprintf() (cheat by using Config.pm) and use
663 them when available.
664 https://rt.cpan.org/Ticket/Display.html?id=69147
665
a3fd7df7
TC
666 - if t1lib failed to reinitialize it would be left as marked
667 initialized.
668 https://rt.cpan.org/Ticket/Display.html?id=69877
669
5fd542c7
TC
670 - update the bundled (and still modified) Devel::CheckLib
671 https://rt.cpan.org/Ticket/Display.html?id=69170
672
fa61d195
TC
673Imager 0.84_01 - 8 Aug 2011
674==============
675
676Development release as a sanity check for the types re-work.
8d14daab
TC
677
678Massive types re-work:
679
680 - the type used internally for pixel co-ordinates and image sizes is
681 now 64-bit on 64-bit platforms (at least sane ones).
682
683 - size_t is now used consistently for memory block sizes.
684
685 - since this changes the binary interface, the Imager API version has
686 been incremented. Any module that uses the API will need to be
687 rebuilt. In most cases that will be enough, but calls to any APIs
688 that take a pointer to image sizes may need source changes.
689
690 - you should be able to create very large images on 64-bit systems,
691 if you have enough memory. Successfully created a 32768 x 49192 x
692 3 channel image, filled with a tiled image and scaled it. The
693 unscaled image was also successfully saved to a JPEG.
694
695 - check the image size before attempting to write BMP, GIF, JPEG,
696 PNG, SGI, TGA, TIFF images.
697
698 - correctly handle reading TGA images over 32767 pixels wide or tall.
699
700Incidental changes:
701
702 - the gif_left and gif_top tags are now clamped to non-negative
703 values when writing a GIF image.
704
705 - removed dead callback read/write code
706
707The default maximum memory size when reading files is now 1G.
708
bd80e51e 709Imager 0.84 - 20 Jun 2011
b1e66a82
TC
710===========
711
712 - Imager no longer inherits from Exporter (unless you're running an
713 old, old perl.
714
92e9df65
TC
715 - Imager can now write progressive JPEGs (it could always read them).
716 https://rt.cpan.org/Ticket/Display.html?id=68691
717
10ea52a3
TC
718Bug fixes:
719
720 - re-work, document and test Imager's logging facility.
721 https://rt.cpan.org/Ticket/Display.html?id=65227
722
4989229f
TC
723 - fix META.yml testing and the generated META.yml
724 https://rt.cpan.org/Ticket/Display.html?id=65235
725
3bcba6df
TC
726 - test and add error reporting to to_*() family methods
727
bfe6ba3f
TC
728 - add to_rgb_double() method.
729 https://rt.cpan.org/Ticket/Display.html?id=65101
730
e1a42e19
TC
731 - Imager no longer exports anything by default
732 https://rt.cpan.org/Ticket/Display.html?id=65228
733
6d068d36
TC
734 - convert colors to grayscale if the supplied (or generated) palette
735 contains only grays when performing error diffusion color
736 translation.
737 https://rt.cpan.org/Ticket/Display.html?id=68508
738
59c150a4
TC
739 - writing a paletted image to GIF wouldn't always use the colors
740 supplied (or generated, eg. via make_colors => "mono"), which was
741 confusing at best.
742 https://rt.cpan.org/Ticket/Display.html?id=67912
743
5b480b14
TC
744 - replace (imager|tony)@imager.perl.org in the doc, since I don't
745 plan to continue receiving mail at that address.
746 https://rt.cpan.org/Ticket/Display.html?id=68591
747
101861e2 748Imager 0.83 - 21 May 2011
46c21d48
TC
749===========
750
751Bug fixes:
752
753 - diag() the error message on failure for some TIFF tests that are
754 failing on a Solaris smoker.
755 http://www.cpantesters.org/cpan/report/6396db1e-8090-11e0-9682-112b785ebe45
756
cd758af2
TC
757Imager 0.82_01 - 17 May 2011
758==============
759
760Dev release, in case the compose tests are too sensitive.
deb1a916
TC
761
762Bug fixes:
763
764 - Imager::Font::T1 incorrectly checked for absolute filename under
765 Win32. Thanks to kmx for the report and fix.
766 https://rt.cpan.org/Ticket/Display.html?id=67963
767
618a3282
TC
768 - compose() with the target, source or mask position off the top or
769 left of the target image didn't clip the source image correctly.
770 https://rt.cpan.org/Ticket/Display.html?id=67220
771
772 - compose() now returns a useful error message on a non-positive
773 opacity.
774
775 - compose.im now at 100% test coverage. (As opposed to, umm, much,
776 much less.)
777
c1d16c8f 778Imager 0.82 - 14 Mar 2011
2368cfec
TC
779===========
780
781Bug fixes:
782
783 - eliminate calls to i_has_format() from the test suite, since it's
784 no longer a useful way to check for file format support. Eliminate
785 i_has_format() from the functions exposed via XS.
786 https://rt.cpan.org/Ticket/Display.html?id=65863
787
7540f84a
TC
788 - eliminate calls to note(), which isn't in the (very old) version of
789 Test::More we have as a pre-requisite. note() is modern enough
790 that I don't feel a need to require a Test::More upgrade for it.
791 https://rt.cpan.org/Ticket/Display.html?id=65864
792
81984f30
TC
793 - skip the threads tests on Test::More 2.00_*
794 https://rt.cpan.org/Ticket/Display.html?id=65812
795
57fc3f48
TC
796 - add an (unshipped) test to check Imager's internal POD links
797 https://rt.cpan.org/Ticket/Display.html?id=65749
798
d97c8dbd
TC
799 - improve the library detection summary
800 https://rt.cpan.org/Ticket/Display.html?id=9675
801
c901f27d
TC
802 - increase the version of Imager::Font::Type1 so that upgrades don't
803 downgrade the version in this file.
804 https://rt.cpan.org/Ticket/Display.html?id=66250
805
806 - if we see an -rpath (or -R) option in $Config{lddlflags} supply
807 that option for the directories that would normally go in
808 LD_RUN_PATH. Typically an explicit -rpath overrides LD_RUN_PATH.
809 https://rt.cpan.org/Ticket/Display.html?id=65955
810
533bab3e 811Imager 0.81 - 14 Feb 2011
416e9814
TC
812===========
813
814 - added coverage tests for masked images (maskimg.c @100% test coverage)
815
9ea78101
TC
816 - add hsv() method to Imager::Color
817 Thanks to Leolo (Philip Gwyn)
818 https://rt.cpan.org/Ticket/Display.html?id=65385
819
1f289f50
TC
820 - split libt1 Type 1 font support into a sub-module
821 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
822
2c331f9f
TC
823 - add a preload() class method for use in forking servers, and to
824 work around limitations in PAR.
825 https://rt.cpan.org/Ticket/Display.html?id=65665
826
416e9814
TC
827Bug fixes:
828
829 - paletted writes to a masked image are now masked correctly.
830 Revealed by new coverage tests.
831
130225b1
TC
832 - update the filter plugin documentation.
833 https://rt.cpan.org/Ticket/Display.html?id=56513
834
4326b23a 835 - add the matrix() method to Imager::Matrix2d to allow creation of a
a34dc54c
TC
836 matrix with specified co-efficients. You can now multiple an
837 Imager::Matrix2d object by a 9 element array ref or a number.
4326b23a
TC
838 https://rt.cpan.org/Ticket/Display.html?id=29938
839
9ea78101
TC
840 - really fix loading TTF fonts with FT2 when FT1 isn't available.
841 Thanks to Leolo (Philip Gwyn)
842 https://rt.cpan.org/Ticket/Display.html?id=65386
843 https://rt.cpan.org/Ticket/Display.html?id=62855
844
40e78f96
TC
845 - make sure each test script that needs testout/ creates it.
846 https://rt.cpan.org/Ticket/Display.html?id=65088
847
afee75f6
TC
848 - handle a slightly different warning from libtiff 4.x
849 https://rt.cpan.org/Ticket/Display.html?id=65268
850
52b0d318
TC
851 - the sat transform2() op returned an incorrect saturation.
852 https://rt.cpan.org/Ticket/Display.html?id=65391
853
d33f20c1 854Imager 0.80 - 17 Jan 2011
95c08d71
TC
855===========
856
9a5df694
TC
857 - added coverage tests for Imager::Fountain and Imager::Color::Float
858
859 - Imager is now maintained in git
860 http://git.imager.perl.org/imager.git
861 git://git.imager.perl.org/imager.git
862
95c08d71
TC
863Bug fixes:
864
865 - images with an translucent alpha channel were not scaled correctly
866 by the default (qtype=normal) scaling method.
867 https://rt.cpan.org/Public/Bug/Display.html?id=63922
868
34c03f04
TC
869 - Imager::Color::Float now translates "#FFFFFF" to white instead of
870 just a little darker.
871
9a5df694
TC
872 - make the default color map build algorithm "mediancut". This
873 changes the default color map builder for writing GIFs back to what
874 it was in 0.77, reverting a performance regression.
0348fe07
TC
875 https://rt.cpan.org/Ticket/Display.html?id=64785
876
416e9814
TC
877 - handle failure to create a masked image correctly
878
95c08d71 879Imager 0.79 - 10 Dec 2010
62869327
TC
880===========
881
882 - add Imager::Test to the POD coverage tests and document the missing
883 functions.
884
2a2c791f
TC
885 - the convert() method now optimizes the case where all output
886 channels are either 0, sourced from a single input channel or 1.
887 This significantly speeds up presets like "addalpha", "green".
888 https://rt.cpan.org/Ticket/Display.html?id=51254
889
b5c0ab7f
TC
890 - add wiggle.pl sample, as suggested by Dan Oppenheim.
891
b47464c1
TC
892 - add the combine() method to combine channels from multiple source
893 images into a new image
894 https://rt.cpan.org/Ticket/Display.html?id=11872
895
62869327
TC
896Bug fixes:
897
898 - treat the co-efficients for convert() as doubles instead of floats.
899
d67dd866
TC
900 - If a higher (earlier) priority font handler failed to load, that
901 would crash preventing loading of later font handlers.
9413a3f3
TC
902 https://rt.cpan.org/Ticket/Display.html?id=62855
903
a9120a5e
TC
904 - parse defines from the options returned by pkg-config --cflags
905 https://rt.cpan.org/Ticket/Display.html?id=63223
02f040a6
TC
906
907 - a regen of the MANIFEST revealed that GIF and FT2 tests weren't
908 included in the tarball. They are now included.
a9120a5e 909
893474f1 910Imager 0.78 - 4 Oct 2010
f5b4354e
TC
911===========
912
913Bug fixes:
914
915 - don't access deprecated members of the png_structp.
916 https://rt.cpan.org/Ticket/Display.html?id=60242
917
8289f78b
TC
918 - document that using color objects is faster than supplying colors
919 by name, etc.
920 https://rt.cpan.org/Ticket/Display.html?id=61047
921
0c3c1180
TC
922 - Imager::Probe now accepts array references for incpath and libpath.
923 https://rt.cpan.org/Ticket/Display.html?id=60244
924
b6035795 925Imager 0.77_02 - 27 Sep 2010
aca4e30a
TC
926==============
927
95b9922f 928 - moved Win32, FreeType 2 font support into sub-modules.
aca4e30a
TC
929 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
930 Uses Imager::Probe now.
931 https://rt.cpan.org/Public/Bug/Display.html?id=61328
932
c6683e4d
TC
933 - tested successfully with jpeg-8b
934 https://rt.cpan.org/Ticket/Display.html?id=60221
935
e85532b9
TC
936Bug fixes:
937
938 - from _01: look for missing file support test files in the right
939 places.
940
353eb6e7
TC
941 - flood_fill() wouldn't fill the right side of a single scan-line
942 fill area.
943 Thanks to Nicolas Roggli for reporting this.
944
95b9922f
TC
945 - flood_fill wouldn't fill to the left edge of the image if the
946 starting line didn't reach the left edge.
947 Thanks to Nicolas Roggli for reporting this.
948
beb9ba23
TC
949Imager 0.77_01 - 13 Sep 2010
950==============
82f14556
TC
951
952 - add each library-directory/pkgconfig/ to the pkg-config search path
953 in Imager::Probe.
954 Thanks to Justin Davis.
955 https://rt.cpan.org/Ticket/Display.html?id=60491
956
8ab27e7e
TC
957 - moved GIF, TIFF, JPEG file handling code into sub-modules in
958 preparation for separate distribution.
ec6d8908
TC
959 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
960
69675eef
TC
961 Note: this removed support for libungif from Imager.
962
173c91ba
TC
963 - optimize filled box drawing (color, not fill)
964
82f14556
TC
965Bug fixes:
966
967 - Imager::Probe was calling ExtUtils::Liblist to initialize
968 LD_RUN_PATH supplying an undefined value rather than the found
969 directory. Thanks to Justin Davis.
970 https://rt.cpan.org/Ticket/Display.html?id=60491
971
b851aeeb
TC
972 - only prepend ./ to font filenames when passing them to T1Lib and
973 then only when it would use its search mechanisms.
974 https://rt.cpan.org/Ticket/Display.html?id=60509
975
173c91ba 976 - fix the cache check for the X rgb.txt loader. This is typically
cb4f51d6
TC
977 used for color translation on Unix-like systems, and the fix
978 improves performance of supplying colors by name by about 80 times.
979 Test code that managed 3400 10x10 pixel boxes/second sped up to
980 25700 boxes/second.
b851aeeb 981
d3a96113
TC
982 - clarify that Imager doesn't write EXIF metadata to images.
983 https://rt.cpan.org/Ticket/Display.html?id=60637
984
985 - Imager::Probe can now search subdirectories under its include path.
986 Used by the PNG Makefile.PL to find headers and libraries when they
987 aren't in the base directory, as in cygwin.
988 https://rt.cpan.org/Ticket/Display.html?id=60635
989
43452432
TC
990Imager 0.77 - 11 Aug 2010
991===========
992
993I don't want Imager::File::PNG indexed as part of Imager, but forgot
994to update the META.yml before updating the version.
995
996 - don't index Imager::File::PNG as part of Imager
997
998 - add resources to META.yml
999
1000Imager 0.76 - not released
120f4287
TC
1001===========
1002
1003Bug fixes:
1004
1005 - the align_string() method would ignore a string of "0" due to a
1006 mis-use of C< ||= >.
1007 Thanks to Maurice Height for reporting this.
1008 https://rt.cpan.org/Ticket/Display.html?id=60199
1009
0e66b07f
TC
1010Imager 0.75_03 - 09 Aug 2010
1011==============
1012
1013Bug fixes:
1014
1015 - read_types() and write_types() would include png when it wasn't
1016 available due to a problem with the %formats tie
1017
1018 - handle dependent libraries correctly (eg -lpng requiring -lz) in
1019 the code run phase of library probing.
1020
7ac2e52e
TC
1021Imager 0.75_02 - 07 Aug 2010
1022==============
1023
1024Bug fixes:
1025
1026 - add file missing from MANIFEST, which was causing TIFF failures.
1027
496ea64d
TC
1028Imager 0.75_01 - 06 Aug 2010
1029==============
1030
1031Test release for the new PNG probe.
75812841 1032
a596d4f6
TC
1033 - added the ability to read multiple-image PNM files.
1034 Note that unlike the pbm/pgm/ppm specification this accepts mixed
1035 format files and allows white space padding between files.
1036 Thanks to Philip Gwyn (Leolo) for this patch.
1037
1d7e3124
TC
1038 - moved the PNG file handling code into a sub-module in preparation
1039 for separate distribution.
1040 https://rt.cpan.org/Ticket/Display.html?id=49616 (partial)
1041 Also helps avoid complications from -I/-L compile/link options from
1042 other libraries.
1043
75812841
TC
1044Bugs:
1045
1046 - Imager->new(data => $data) didn't try to process image file data in
1047 $data
1048 https://rt.cpan.org/Ticket/Display.html?id=58761
1049
b6071a43
TC
1050 - t/t50basicoo.t no longer depends on the other tests to generate its
1051 input files.
1052 https://rt.cpan.org/Ticket/Display.html?id=9798
1053 Also, it wasn't testing pnm (pnm vs ppm mix-up)
1054
a9da425a
TC
1055 - update the documentation of hardinvert to match the change in 0.62.
1056 https://rt.cpan.org/Ticket/Display.html?id=59785
1057
5558f899
TC
1058 - added hardinvertall filter which also inverts the alpha channel
1059 (sorry for the mess)
1060
10b85929
TC
1061 - when probing for TIFF, set LD_RUN_PATH just as the Makefile does so
1062 the probe can find the library for the test run.
1063 https://rt.cpan.org/Ticket/Display.html?id=57518
1064
75812841 1065Imager 0.75 - 20 Jun 2010
b13a3ddb
TC
1066===========
1067
1068 - use PERL_NO_GET_CONTEXT to slightly improve performance on threaded
1069 perls (not measured)
1070
46e2e4a3
TC
1071Bugs:
1072
8c194049
TC
1073 - an opacity fill based on a fountain fill would segfault when
1074 filling an 8-bit/sample image.
1075
1c5252ed
TC
1076 - merge thickline branch polygon fix
1077 https://rt.cpan.org/Ticket/Display.html?id=43518
1078
41c88ecd 1079Imager 0.74 - 7 May 2010
8d46e5da
TC
1080===========
1081
1082Bug fixes:
1083
1084 - read_multi() didn't handle a missing file format library correctly,
1085 aborting on failing to call i_readgif_multi_wiol() or
1086 i_readtiff_multi_wiol().
1087
5715f7c3
TC
1088 - fix spelling errors patched by Debian
1089 http://svn.debian.org/viewsvn/pkg-perl/trunk/libimager-perl/debian/patches/spelling.patch?revision=54839&view=markup
1090
1091 - add an (unshipped) author test to spellcheck Imager's POD.
7468f3fa 1092
38218f79
TC
1093 - update the TIFF file format documentation
1094 https://rt.cpan.org/Ticket/Display.html?id=56510
1095
e17da819
TC
1096 - lib/Imager/IO.pod was written almost 4 years ago but never shipped.
1097
704f12d5 1098Imager 0.73 - 15 Mar 2010
40068b33
TC
1099===========
1100
1101 - implement outline circles, both anti-aliased and not
1102 https://rt.cpan.org/Ticket/Display.html?id=19755
1103
e958b64e
TC
1104 - a combine => "none" fill to a 1 or 3 channel image would produce
1105 the incorrect colour.
1106
b2db3662
TC
1107Imager 0.72 - 09 Dec 2009
1108===========
1109
1110Bump version for release, since 0.71_03 is stable with CPAN testers.
1111
6936706b
TC
1112Imager 0.71_03 - 5 Dec 2009
1113==============
1114
1115 - further adjust the threads test so it only performs the tests on
1116 perls where it's expected to work, and only if the threads module
1117 can be loaded.
1118
0750777c
TC
1119Imager 0.71_02 - 1 Dec 2009
1120==============
1121
48ad0e66
TC
1122 - adjust the way we load the threads module for the threads test so
1123 it works with non-threaded perls
0750777c 1124
b89f0fcd 1125Imager 0.71_01 - 30 Nov 2009
e41cfe8f
TC
1126===========
1127
1128Bug fixes:
1129
1130 - use scanline oriented operations to flip images instead of pixel
1131 operations
1132 https://rt.cpan.org/Ticket/Display.html?id=39278
1133
1134 - use double/sample operations to flip large sample images instead of
1135 8-bit sample operations.
1136 https://rt.cpan.org/Ticket/Display.html?id=39280
1137
de3ca2fd
TC
1138 - fix POD nits
1139 https://rt.cpan.org/Ticket/Display.html?id=51874
1140
ffddd407
TC
1141 - prevent double-frees when someone creates Imager objects and then
1142 creates a thread. Note: this just handles some simple cases,
1143 Imager doesn't support perl threads, and isn't likely to.
1144 https://rt.cpan.org/Ticket/Display.html?id=52268
1145
3517794b 1146Imager 0.71 - 16 Nov 2009
6a3cbaef
TC
1147===========
1148
a16bae72
TC
1149 - add the opacity fill type - an adaptor that modifies the opacity of
1150 another fill.
1151
6a3cbaef
TC
1152Bug fixes:
1153
1154 - the conv filter now enforces that the sum of the coefficients is
1155 non-zero. Also, rather than skipping pixels off the edge off the
1156 edge of the image, the closest edge pixel is used. Previously
1157 dividing by the zero sum of coefficients could cause invalid
1158 results or runtime exceptions.
1159 Thanks to David Cantrell's Alpha-NetBSD CPAN test box for revealing
1160 this bug.
1161
189d5775 1162Imager 0.70 - 21 Sep 2009
2b82e731
TC
1163===========
1164
1165Bug fixes:
1166
1167 - release image row and comments memory on all error returns in gif
1168 reader
1169
1170 - handle zero length extensions, previously this would cause a null
1171 pointer dereference
1172 Thanks to Krzysztof Wojtaś for the test data and fix for this.
1173
b3afeed5
TC
1174 - an integer division meant that preview scaling to below 1 pixel
1175 wide or high (which isn't too useful anyway) was calculating using
1176 NaNs on most platforms, and causing an exception on others.
1177 Thanks to David Cantrell for producing a backtrace of the crash on
1178 his Alpha-NetBSD CPAN test box which made it possible to track this
1179 down.
1180
b1e29946 1181Imager 0.69 - 08 Sep 2009
25f4e775
TC
1182===========
1183
b1e29946 1184Bug fixes:
25f4e775
TC
1185
1186 - broken test fix - was attempting to call a function skip_all, when
1187 that should be a parameter to plan().
1188
b1e29946
TC
1189 - briefly document apidocs.perl, the tool used to build
1190 Imager::APIRef and make some minor enhancements
1191
1192 - various minor documentation enhancements and fixes.
1193
5920304a 1194Imager 0.68 - 07 Sep 2009
c5f447ac
TC
1195===========
1196
3c252111
TC
1197 - Imager->new(file => $filename) and other similar incantations will
1198 load the given file.
1199 https://rt.cpan.org/Ticket/Display.html?id=48261
1200
c5f447ac
TC
1201Bug fixes:
1202
1203 - avoid using CHECK as a label in Imager::Test
1204 http://nntp.x.perl.org/group/perl.cpan.testers/5220921
1205
0d670555
TC
1206 - re-work most image file test files that require a library into
1207 separate library present/not present files to remove stupidly long
1208 conditionals
1209
1210 - don't treat rubthrough() outside the bounds of the target image as
1211 an error.
1212 http://nntp.x.perl.org/group/perl.cpan.testers/5185716
1213
8d800216
TC
1214Imager 0.67_01 - 02 Sep 2009
1215==============
500888da
TC
1216
1217Bug fixes:
1218
1219 - correct documentation of default of raw image interleave read
1220 parameter
1221 https://rt.cpan.org/Ticket/Display.html?id=42074
1222
1223 - add raw_ prefix to raw read parameters, though the original names
1224 still work.
1225
1226 - fail the read if an invalid raw_interleave parameter is supplied
1227
1228 - warn if no interleave or raw_interleave parameter is supplied,
1229 since the documented default was wrong, and incompatible with the
1230 write format
1231
1232 - for reading raw images, if raw_storechannels > raw_datachannels,
1233 set the extra channels in the image to 0
1234
cd476e58
TC
1235 - when probing for executables like freetype-config, search for .bat
1236 and .cmd on MSWin32, as well as .exe.
1237 https://rt.cpan.org/Ticket/Display.html?id=49275
500888da 1238
f9a39263
TC
1239 - re-work the external libraries section of README:
1240 - list Debian and Redhat package names for each library
1241 - reformatting
1242 - update URLs
1243
f45b774f
TC
1244 - use the new EU::MM META_MERGE facility instead of generating
1245 META.yml from scratch
1246 https://rt.cpan.org/Ticket/Display.html?id=47888
1247
d6b51d8c
TC
1248 - use Devel::CheckLib (bundled, modified) to check which release of
1249 libtiff is installed and reject 3.9.0
78645bd4
TC
1250 http://bugzilla.maptools.org/show_bug.cgi?id=2088
1251 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543079
d6b51d8c 1252
249af030
TC
1253Imager 0.67 - 12 Dec 2008
1254===========
1255
1256Bug fixes:
1257
1258 - fix a packaging error
1259
cca21862 1260Imager 0.66 - 12 Dec 2008
3c8fee33
TC
1261===========
1262
6b22ba84
TC
1263 - 24-bit color .ICO/.CUR files can now be read.
1264
3c8fee33
TC
1265Bug fixes:
1266
6b22ba84
TC
1267 - an optimization skipping 0 src alpha values could cause the
1268 rubthrough() to read past the end of a buffer.
1269 http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
1270
5c0d0ddf
TC
1271 - corrected a reference leak where writing GIFs would leak memory.
1272 This could also happen calling to_paletted().
1273 Also documented the underlying long existing feature where the
1274 colors parameter is filled with the generated color table and added
1275 tests for it.
3c8fee33
TC
1276 http://rt.cpan.org/Ticket/Display.html?id=41028
1277
8e7f5809
TC
1278 - write out the image size in bytes field of a BMP correctly.
1279 http://rt.cpan.org/Ticket/Display.html?id=41406
1280
c586eb58
TC
1281 - add limited tests for Imager::ExtUtils
1282
1283 - make Imager::ExtUtils->includes use an absolute path, since
1284 a relative path could cause failures using Inline::C.
1285 http://rt.cpan.org/Ticket/Display.html?id=37353
1286
6b22ba84
TC
1287 - re-arrange the POD for Imager::Font::BBox:
1288 - mark total_width(), pos_width(), end_offset() obsolete, since
1289 they're mostly for backwards compatibility
1290 - group width methods and height methods
1291 https://rt.cpan.org/Ticket/Display.html?id=39999
17d9fe35 1292
0727e3f5 1293Imager 0.65 - 20 May 2008
546ea21c
TC
1294===========
1295
1296Bug fixes:
1297
1298 - In some cases when an error occurs reading those parts of a JPEG
1299 file after the image the scan-line buffer could be freed a second
1300 time. In cases where the the error occured while reading the image
1301 data it's possible that the buffer could have leaked.
1302 Thanks to Gabriel Vasseur for reporting this and help in tracking
1303 it down.
1304
43b2b326
TC
1305 - the gif_screen_height tag was overriding the screen width and being
1306 ignored for the screen height when present.
1307 https://rt.cpan.org/Public/Bug/Display.html?id=35568
1308
e02d22d2 1309Imager 0.64 - 23 April 2008
de470892
TC
1310===========
1311
e02d22d2
TC
1312This is a bug fix release. This includes a fix for a possible
1313security issue.
1314
de470892
TC
1315Bug fixes:
1316
e02d22d2
TC
1317 - Possible security issue: The floating point sample path for image
1318 based fills had a buffer overflow. This would overwrite the end of
1319 a malloc()ed buffer with double precision floats.
1320 http://rt.cpan.org/Ticket/Display.html?id=35324
6912d85a 1321 CVE-2008-1928
e02d22d2 1322
de470892
TC
1323 - check that the result of fileno($fh) is defined rather than simply
1324 true when read() or write() is supplied with an fh parameter.
1325 http://rt.cpan.org/Ticket/Display.html?id=35139
1326
1327 - i_scale_axis() wasn't checking the result of i_img_new_ch()
1328 resulting in a SIGSEGV when attempting to scale an image to a size
1329 too large to fit in memory. This is a NULL pointer access issue,
1330 not a buffer overflow.
1331 Added a check for the failure.
1332 scale_calculate() (and hence scale()) will now fail if any of the
1333 scale size parameters are a reference.
1334 http://rt.cpan.org/Ticket/Display.html?id=35172
1335
04f85f63
TC
1336 - Regression: filling a greyscale image with a hatch used the wrong
1337 color channels from the supplied fg/bg colors.
1338 https://rt.cpan.org/Ticket/Display.html?id=35278
1339
a256aec5
TC
1340 - fixed a related problem for image fills.
1341
49240201 1342Imager 0.63 - 7 April 2008
33b0ffa6
TC
1343===========
1344
242d7497
TC
1345This release primarily contains changes to improve ease of use -
1346rather than you having to convert images to the appropriate number of
1347channels, Imager handles it internally. How to handle drawing colors
1348and the default combine mode is a thornier problem left for some other
1349release.
1350
d1555273
TC
1351 - the font libraries are now only initialized when needed.
1352 http://rt.cpan.org/Ticket/Display.html?id=28825
1353
9b1ec2b8
TC
1354 - moved the imtoc.perl code into Imager::Preprocess
1355
1356 - paste() and rubthrough() now adapt the source image data to the
1357 destination, so you can now safely paste/rubthrough from greyscale
1358 images to color images or back, or from alpha channel images to
1359 noalpha channels or back.
1360 https://rt.cpan.org/Ticket/Display.html?id=30908
1361
1362 - rubthrough() now falls back to pasting when the source doesn't have
1363 an alpha channel. This effectively treats the source as having a
1364 max alpha channel, the right thing to do.
1365 http://rt.cpan.org/Ticket/Display.html?id=29944
1366
1367 - re-worked most of the area filling code to use a common set of
1368 functions when filling.
1369 Corrected normal combine mode.
1370 Rewrote most of the combine modes to match the way the SVG draft
1371 defines them with respect to a translucent source and destination.
1372 Added tests for translucent source and destination.
1373 Added tests to check 8-bit/sample and double/sample combines work
1374 similarly.
1375 https://rt.cpan.org/Ticket/Display.html?id=29879
1376
07d9c639
TC
1377 - writing a 2 or 4 channel image to a JPEG file will now write that
1378 image as if composited against a background, black by default,
1379 overridable with the i_background tag/parameter.
6e4af7d4
TC
1380 https://rt.cpan.org/Ticket/Display.html?id=29876
1381
07d9c639
TC
1382 - writing a 2 or 4 channel image to a PGM/PPM file will now write
1383 that image as if composited against a background, black by default,
fa90de94
TC
1384 overridable with the i_background tag/parameter.
1385 http://rt.cpan.org/Ticket/Display.html?id=30074
1386
07d9c639
TC
1387 - writing a 2 or 4 channel image to a BMP file will now write that
1388 image as if composited against a background, black by default,
1389 overridable with the i_background tag/parameter.
1390 http://rt.cpan.org/Ticket/Display.html?id=30075
1391
33b0ffa6
TC
1392Bug fixes:
1393
1394 - Imager::Matrix2d->translate() now only requires one of the x or y
1395 parameters.
1396 http://rt.cpan.org/Ticket/Display.html?id=29937
1397
2757bad0
TC
1398 - mixing qtype scaling now sets all channels of a pixel to zero if
1399 the pixel has zero coverage (zero alpha). This should produce more
1400 compressible output files.
1401 http://rt.cpan.org/Ticket/Display.html?id=32324
1402
3da08517
TC
1403 - removed the pointless #! line from lib/Imager/Font/Wrap.pm
1404 Noticed when I saw:
1405 https://bugzilla.redhat.com/show_bug.cgi?id=166254
1406 I'm not changing the #! lines of the sample code, since it's sample
1407 code, not intended for installation.
1408 http://rt.cpan.org/Ticket/Display.html?id=33408
1409
242d7497
TC
1410 - some TGA images weren't being detected correctly as TGA images
1411 https://rt.cpan.org/Ticket/Display.html?id=32925
1412
1413 - handling of the left-over bit for 16-bit/pixel TGA images has been
1414 changed to match the behaviour of the GIMP. Previously the bit
1415 being set was treated as an opaque pixel, but one user reported a
1416 problem with loading such an image. I haven't been able to find any
1417 tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
1418 I'll match it's behaviour. See issue 114913 in the GIMP's
1419 bugzilla.
1420 http://rt.cpan.org/Ticket/Display.html?id=32926
1421
5daa9d34 1422Imager 0.62 - 10 December 2007
ac8138b0
TC
1423===========
1424
d8e0c3ba
TC
1425 - Makefile.PL now expands ~/path supplied to --incpath or --libpath
1426 to /path under your home directory.
1427 http://rt.cpan.org/Ticket/Display.html?id=29484
1428
50ff958e
TC
1429 - the old dynaload code used Mach API functions to load dynamic
1430 libraries on Mac OS X. These APIs have been deprecated in OS X
1431 10.5 and were causing some build problems.
1432 So henceforth Imager uses the dlopen() family of functions, and you
1433 will need version 10.3 or later of OS X.
1434
3309187a
TC
1435 - added the det() function to the transform2() engine.
1436 added the sample quad_to_square.pl
1437 Courtesy Richard Fairhurst.
1438 http://rt.cpan.org/Ticket/Display.html?id=31244
1439
ac8138b0
TC
1440Bug fixes:
1441
1442 - samples/gifscale.pl sourced the base value for gif_top from
1443 gif_left.
1444 Thanks to Eleneldil G. Arilou for pointing this out.
1445
678a9a65
TC
1446 - t/t82inline.t no longer loads B at runtime, to work around a bug
1447 in some 5.005_0[45] installations.
1448 http://rt.cpan.org/Ticket/Display.html?id=30508
1449
1450 - work around Module::Depends::Intrusive bug #21229
1451 http://rt.cpan.org/Ticket/Display.html?id=30520
ac8138b0 1452
bea65b1f
TC
1453 - the hardinvert filter no-longer inverts the alpha channel.
1454 http://rt.cpan.org/Ticket/Display.html?id=30002
1455
1456 - the hardinvert filter now supports large samples
1457
b7809486 1458Imager 0.61_02 - 28 November 2007
f74e6efc 1459==============
874c55db 1460
bd8052a6
TC
1461 - major TIFF support re-work
1462 http://rt.cpan.org/Ticket/Display.html?id=20329
1463
1464 - added a C level image interface for accessing samples from 1-32
1465 bits, exposed this at the perl level in getsamples()
1466
1467 - the conv filter now works at floating point precision for high bit
1468 images
1469
1470 - added is_bilevel method to test whether an image should be written as
1471 a bilevel image if the image format supports it.
1472
1473 - added -log-stderr as an Imager import list option
1474
1475 - added some important types to Imager::APIRef
1476
1477 - added test_image_double() to Imager::Test
1478
874c55db
TC
1479Bug fixes:
1480
1481 - Imager::Fountain couldn't read GIMP gradient files with 10 or more
1482 segments
1483
1484 - the scale() method with qtype mixing now handles images with an
1485 alpha channel correctly.
1486
8d17eae9
TC
1487 - fixed a broken link from the "animated GIF" entry in the concept index.
1488 Thanks to Slaven Rezic.
1489 http://rt.cpan.org/Ticket/Display.html?id=30889
1490
d3bf4eaf
TC
1491 - on some perl's the infix expression parser test would fail due to
1492 actions in the grammar returning false. Made sure all actions return
1493 a true value.
8b96ad6b
TC
1494 Thanks to Richard Fairhurst for spending a lot of time in tracking
1495 down this problem.
680c329d 1496 http://rt.cpan.org/Public/Bug/Display.html?id=29562
d3bf4eaf 1497
d06f6707 1498Imager 0.61 - 5 November 2007
1cfa190e
TC
1499===========
1500
1501 - added samples/gifscale.pl, which adjusts the screen size/position tags
1502 when scaling an animated gif
1503 http://rt.cpan.org/Ticket/Display.html?id=27591
1504
8a2cd317
TC
1505Bug fixes:
1506
e7ac18bd
TC
1507 - correct handling of sz in matrix_transform() - this should allow
1508 perspective type transformations to work now.
1509 http://rt.cpan.org/Ticket/Display.html?id=29936
1510
8a2cd317
TC
1511 - prevent a cast to integer warning on x64 builds in datatypes.c
1512 also fixed some other type warnings
1513 https://rt.cpan.org/Ticket/Display.html?id=30204
1514
9188b23e
TC
1515 - some sub-directory tests depended on files produced by the parent
1516 directory tests
1517 http://rt.cpan.org/Ticket/Display.html?id=30203
1518
7febff1d
TC
1519 - Imager::Font::Wrap doesn't correctly set savepos
1520 thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
1521 http://rt.cpan.org/Ticket/Display.html?id=29771
1522
76411e99
TC
1523 - test 171 in t/t01introvert.t was failing on perls configured to
1524 use long double.
1525 http://rt.cpan.org/Ticket/Display.html?id=29413
1526
3f29de50
TC
1527 - the code for the transform2() uminus operator was missing a break.
1528 Added tests for better code coverage of the ops.
1529 http://rt.cpan.org/Ticket/Display.html?id=29296
1530
ed107438
TC
1531 - the SGI RLE compression code could overflow its compression buffer
1532 http://rt.cpan.org/Ticket/Display.html?id=30334
1533
1534 - the 32-bit output function used by the SGI code only handled values
1535 under 0x10000. This was most noticable when writing large RLE images.
1536 http://rt.cpan.org/Ticket/Display.html?id=30335
1537
c7481ae1
TC
1538 - validate chan_count for chans == NULL for each of the i_gsamp()
1539 implementations.
1540 http://rt.cpan.org/Ticket/Display.html?id=28985
1541
ff37fc3f
TC
1542 - attempt to work around the test failure at
1543 http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
1544 http://rt.cpan.org/Ticket/Display.html?id=29562
1545
f245645a
TC
1546 - improve the error messages produced when attempting to read or write
1547 an unknown image file format.
1548 http://rt.cpan.org/Ticket/Display.html?id=30103
1549
333d7485
TC
1550 - improve the transform2() documentation
1551 http://rt.cpan.org/Ticket/Display.html?id=29267
1552
3b115720
TC
1553 - correctly generate the author key in META.yml
1554 http://rt.cpan.org/Ticket/Display.html?id=30377
1555
13c9a303
TC
1556 - correctly blend a rotated (or matrix_transformed()) image when
1557 performing interpolation in the presence of an alpha channel.
8a071022
TC
1558 Also corrected the centring of the rotated image on the output
1559 image.
13c9a303 1560
0e622083 1561Imager 0.60 - 30 August 2007
bcff4dd9
TC
1562===========
1563
d5477d3d
TC
1564 - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
1565 now has full SGI RGB image format, including RLE and 16-bit/sample
1566 images.
1567 https://rt.cpan.org/Ticket/Display.html?id=8666
1568
1569 - logging functions are now available in the API
1570
a60905e4
TC
1571 - applied Gabriel Vasseur's patch
1572 added documentation, further tests, and support for greyscale images
1573 Obviously problems are my fault :)
1574 https://rt.cpan.org/Ticket/Display.html?id=28142
1575
413dc198
TC
1576 - the mask for ICO/CUR images is now applied as an alpha channel to
1577 the returned image. For the old behaviour, supply ico_masked => 0
1578 to read() or read_multi(). This should be less confusing when
1579 using Imager as a general image processor.
1580 https://rt.cpan.org/Ticket/Display.html?id=29001
1581
bcff4dd9
TC
1582Bug fixes:
1583
1584 - in some cases it's possible for giflib/libungif to return color
1585 indexes outside the range of colors defined by the image's palette.
1586 We now expand the palette to match the indexes used.
1587 Thanks to Gabriel Vasseur for reporting this.
1588
02576e8d
TC
1589 - fixed various memory leaks that could occur when failing to read png,
1590 jpeg, bmp or tga files.
1591
b3aa972f
TC
1592 - to avoid confusion, channels not present in the image are returned as
1593 zero by getscanline(). This has no effect on the C level i_glin()
1594 and i_glinf() API functions which continue to not set the unused
1595 channels.
1596
d5477d3d
TC
1597 - the convert() method now returns an image of the same sample size as
1598 the source image.
1599 https://rt.cpan.org/Ticket/Display.html?id=28492
1600
baa880ef
TC
1601 - remove repeated text in Imager::Files
1602 http://rt.cpan.org/Ticket/Display.html?id=27589
1603
1604 - be even more explicit that scale() and friends don't modify the source
1605 image, but return a new image.
1606 http://rt.cpan.org/Ticket/Display.html?id=28570
1607
0561d49c
TC
1608 - improve the error message from errstr() when you try to load a font
1609 for which the driver hasn't been built in Imager.
1610 http://rt.cpan.org/Ticket/Display.html?id=27571
1611
d8a39ce0
TC
1612 - transparency is now enabled by default when writing GIF images
1613 http://rt.cpan.org/Ticket/Display.html?id=27615
1614
5730d6e7
TC
1615 - Imager would not load on Windows 98
1616 http://rt.cpan.org/Ticket/Display.html?id=27653
1617
b4996113 1618Imager 0.59 - 14 June 2007
e6e94ab0
TC
1619===========
1620
1621Bug fixes:
1622
1623 - fixes a regression introduced by the fixes for RT 11972
1624 http://rt.cpan.org/Ticket/Display.html?id=27546
1625
9fc9d0ca
TC
1626 - cropping outside the image would return an Imager object with
1627 no low-level image object, instead of returning false.
1628 Fixed by: Philip Gwyn (Leolo)
1629 http://rt.cpan.org/Ticket/Display.html?id=27509
1630
7e7508dd
TC
1631Imager 0.58 - 16 May 2007
1632===========
1633
1634No significant changes from 0.57_01.
1635
1970a2c7
TC
1636Imager 0.57_01 - 11 May 2007
1637==============
d034a178 1638
f8e36694
TC
1639 - added to_rgb16 to produce a 16-bit/sample version of an image
1640
95b2bff4
TC
1641 - improve freetype 1.x text output efficiency
1642
d034a178
TC
1643Bug fixes:
1644
1645 - search another place for rgb.txt, and check all the places
1646 Imager::Color checks when deciding whether to skip testing it
1647 http://rt.cpan.org/Ticket/Display.html?id=26064
1648
73962964
TC
1649 - use a convolution kernel size based on the stddev rather than a
1650 fixed size when performing a gaussian blur
1651 http://rt.cpan.org/Ticket/Display.html?id=25645
1652
01b84320
TC
1653 - document the difference() method's mindist parameter, and debug it.
1654
7e7508dd 1655 - put the Imager release number in the Inline::C generated code to
22f9ca48
TC
1656 regenerate Inline code when a new release of Imager is installed.
1657 http://rt.cpan.org/Ticket/Display.html?id=26278
1658
fa16b6c6
TC
1659 - fix rendering on alpha channel images for the FreeType 1.x driver.
1660 http://rt.cpan.org/Ticket/Display.html?id=11972
1661
4c84ccfb
TC
1662 - fix rendering on alpha channel images for the T1lib driver.
1663 http://rt.cpan.org/Ticket/Display.html?id=11972
1664
1fe8316b
TC
1665 - reworked library probing, we can now set more than one probe
1666 function for a library. Disabled the default (non-freetype-config)
1667 library probe and added an extra probe function that searches for
1668 both ft2build.h and whatever it includes, and adds -I as needed.
1669 Hopefully this will fix build problems like
1670 http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
1671 http://rt.cpan.org/Ticket/Display.html?id=26086
1672
bb5712de
TC
1673Imager 0.57 - 30 Apr 2007
1674===========
1675
1676This is a maintenence release fixing a security issue in Imager.
1677
1678 - CRITICAL: a specially crafted compressed BMP file can cause a buffer
1679 overflow in malloced memory. There will be further discussion of
1680 this issue in the ticket below.
1681 http://rt.cpan.org/Ticket/Display.html?id=26811
7e7508dd
TC
1682 CVE-2007-2459 CVE-2007-2413
1683 The descriptions at cve.mitre.org varied in quality, please see the
1684 ticket at rt.cpan.org for a more accurate description of the issue.
bb5712de 1685
d034a178 1686Imager 0.56 - 1 Apr 2007
7623d340
TC
1687===========
1688
1689 - added support for reading 16-bit/sample PGM/PPM images
1690
1691 - added support for writing 16-bit/sample PGM/PPM images
1692
1693 - improved performance of reading PBM/PGM/PPM images
1694
1695 - added support for writing PBM images if the image is paletted and
1696 contains only black and white
1697
1698 - added a new make_colors value - "mono"
1699
1700 - switched from the svn log Changes to a manual Changes to reduce
1701 noise
1702
1225d272
TC
1703 - new sample code - samples/flasher.pl
1704
7623d340
TC
1705Bug fixes:
1706
1707 - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
1708 was returning an image object with an extra reference, this
1709 resulted in a memory leak.
1710 http://rt.cpan.org/Ticket/Display.html?id=24992
1711
1712 - fix rendering on alpha channel images for the FreeType 2.x driver
1713 http://rt.cpan.org/Ticket/Display.html?id=11972
1714
1715 - reading bmp files now consitently handles short reads. You can now
1716 supply a parameter to treat a short read as successful and set
1717 i_incomplete
1718 http://rt.cpan.org/Ticket/Display.html?id=8426
1719
1720 - previously, reading ASCII PBM files required spaces between samples,
1721 even though the format doesn't require that
1722
1225d272
TC
1723 - improved documentation of the unsharpmask filter (I hope)
1724 http://rt.cpan.org/Ticket/Display.html?id=25531
1725
1726 - force flushing of the output from i_tt_dump_names() and test output
1727 in t/t35ttfont.t to prevent output from being mixed up.
1728 https://rt.cpan.org/Ticket/Display.html?id=24859
1729
1730 - rewrite a conditional expression as an if() to hopefully work around
1731 a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
1732 https://rt.cpan.org/Ticket/Display.html?id=25561
1733
1734 - avoid Data::Dumper in regops.perl to support older releases of perl
1735 https://rt.cpan.org/Ticket/Display.html?id=24391
1736
7623d340
TC
1737Imager 0.55 - 16 Dec 2006
1738===========
1739
1740This is primarily a bug fix release.
1741
1742Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
1743
1744There is one new feature:
1745
1746 - the Win32 font driver now supports UTF8 (RT 22166)
1747 http://www.cpanforum.com/threads/3276
1748 http://rt.cpan.org/Ticket/Display.html?id=22166
1749
1750Several bugs were fixed:
1751
1752 - the string() method would not output the string "0"
1753 http://rt.cpan.org/Public/Bug/Display.html?id=21770
1754
1755 - fills.c was failing to compile on Solaris 10 (compiler unknown)
1756 http://rt.cpan.org/Public/Bug/Display.html?id=21944
1757
1758 - the gif_disposal and gif_user_input tags weren't being read from
1759 the file correctly
1760 http://rt.cpan.org/Public/Bug/Display.html?id=22192
1761
1762 - gif.c was failing to build under MSVC
1763 http://rt.cpan.org/Ticket/Display.html?id=23922
1764
1765 - in some cases strings passed to the string() method were treated as
1766 terminated by NUL (chr 0)
1767 http://rt.cpan.org/Public/Bug/Display.html?id=21770
1768
1769 - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
1770 that's the default build name for zlib on Win32.
1771 http://rt.cpan.org/Ticket/Display.html?id=23064
1772
1773 - search $Config{incpath} for headers too, which we should have been
1774 doing all along.
1775
1776Win32 font driver fixes:
1777
1778 - the global descent value from bounding box was the wrong sign
1779 http://www.cpanforum.com/threads/3276
1780
1781 - if the first or last glyph overflowed the left or right side of the
1782 advance width they would be clipped
1783
1784
1785Imager 0.54 - 14 Sep 2006
1786===========
1787
1788This is primarily a feature release:
1789
1790 - a new qtype value 'mixing' has been added to the scale()
1791 method. This is faster than 'normal', slower than 'preview'. This
1792 is based on the method used by pnmscale, and seems to produce less
1793 blurry results than normal.
1794 http://rt.cpan.org/Public/Bug/Display.html?id=20677
1795
1796 - the rubthrough() method can now render onto images with an alpha
1797 channel.
1798 http://rt.cpan.org/Ticket/Display.html?id=20678
1799
1800 - the read_multi() method now falls back to calling doing a single
1801 image read via the read() method and write_multi() will now fall
1802 back to calling write() if a single image is supplied. This means
1803 you can simply call the read_multi() or write_multi() functions
1804 without having to check if the type is formatted by that method.
1805 http://rt.cpan.org/Ticket/Display.html?id=19457
1806 http://rt.cpan.org/Ticket/Display.html?id=19458
1807
1808 - the GIF loop extension can now be written. If you don't have
1809 libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
1810 should upgrade.
1811 http://rt.cpan.org/Ticket/Display.html?id=21185
1812
1813 - getscanline() and setscanline() can now read/write palette index
1814 based data from/to the image for paletted images, by setting type to
1815 'index'.
1816 http://rt.cpan.org/Ticket/Display.html?id=20338
1817
1818 - we no longer hassle you to disable GIF support
1819 http://rt.cpan.org/Ticket/Display.html?id=20687
1820
1821 - minor documentation fixes
1822
1823
1824Imager 0.53 - 26 Jul 2006
1825===========
1826
1827This is a bugfix release.
1828
1829Some test code was left in a code path not covered by the test
1830suite. A test was added to cover this code path and the test code was
1831removed.
1832http://rt.cpan.org/Public/Bug/Display.html?id=20705
1833
1834
1835Imager 0.52 - 25 Jul 2006
1836===========
1837
1838This is primarily a feature release, but contains a fair few bug
1839fixes, new features:
1840
1841 - ability to read and write MS Windows ICO and CUR files
1842
1843 - you can now add file format plugins to support new file formats
1844
1845 - add POD coverage tests
1846
1847 - setcolors() and addcolors() now accept color names and so on
1848 instead of requiring Imager::Color objects.
1849 http://rt.cpan.org/Ticket/Display.html?id=20056
1850
1851 - flood_fill() can now fill to a specified border color instead of
1852 just to the area the same color as the seed.
1853 http://rt.cpan.org/Ticket/Display.html?id=19618
1854
1855
1856Bug fixes:
1857
1858 - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
1859 calculating the advance width.
1860 http://rt.cpan.org/Public/Bug/Display.html?id=20554
1861
1862 - bounding_box for the T1 driver wasn't including leading and
1863 trailing spaces in the bounding box as the other drivers did, it also
1864 produced strange results for empty strings or strings containing only
1865 spaces
1866
1867 - when reading CMYK jpeg images they were being transferred to the
1868 image object as is, producing a four channel image. It only looked ok
1869 due to an old still unfixed Photoshop bug. We now convert from the
1870 inverted CMYK that photoshop (and Corel for example) produce into RGB.
1871 http://rt.cpan.org/Ticket/Display.html?id=20416
1872
1873 - reading a CYMK TIFF would result in a 4 channel image, reading any
1874 image with more than 4 channels (eg. RGB with 2 alpha channels) would
1875 result in an error.
1876 http://rt.cpan.org/Ticket/Display.html?id=20415
1877
1878 - added /usr/local/include to the default include search path, since
1879 we were already searching /usr/local/lib for libraries.
1880
1881And various minor fixes and documentation updates.
1882
1883
1884Imager 0.51 - 23 Apr 2006
1885===========
1886
1887 - fix a validation bug when processing JPEG EXIF data that can cause
1888 a crash
1889 http://rt.cpan.org/Public/Bug/Display.html?id=18496
1890
1891 - fix mis-processing of the src_maxx and src_maxy parameters of the
1892 paste() method
1893 http://rt.cpan.org/Public/Bug/Display.html?id=18712
1894
1895 - fix a problem in Imager's "smart" handling of the color parameter
1896 to various methods.
1897 http://rt.cpan.org/Public/Bug/Display.html?id=18561
1898
1899
1900Imager 0.50 - 29 Mar 2006
1901===========
1902
1903 - CRITICAL: fixes a segmentation fault from attempting to write a 2
1904 or 4 channel image to jpeg or a 2 channel image to tga where the
1905 output is an in-memeory buffer.
1906 http://rt.cpan.org/Public/Bug/Display.html?id=18397
1907
1908 - fixes an incorrect pointer parameter in the PNG code
1909 http://rt.cpan.org/Public/Bug/Display.html?id=18051
1910
1911 - skip Inline::C tests when building in a directory with spaces
1912 http://rt.cpan.org/Public/Bug/Display.html?id=18049