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