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