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