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