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