- Imager::Matrix2d->translate() now only requires one of the x or y
[imager.git] / Changes
CommitLineData
7623d340
TC
1Imager release history. Older releases can be found in Changes.old
2
33b0ffa6
TC
3Imager 0.63 - unreleased
4===========
5
6Bug fixes:
7
8 - Imager::Matrix2d->translate() now only requires one of the x or y
9 parameters.
10 http://rt.cpan.org/Ticket/Display.html?id=29937
11
5daa9d34 12Imager 0.62 - 10 December 2007
ac8138b0
TC
13===========
14
d8e0c3ba
TC
15 - Makefile.PL now expands ~/path supplied to --incpath or --libpath
16 to /path under your home directory.
17 http://rt.cpan.org/Ticket/Display.html?id=29484
18
50ff958e
TC
19 - the old dynaload code used Mach API functions to load dynamic
20 libraries on Mac OS X. These APIs have been deprecated in OS X
21 10.5 and were causing some build problems.
22 So henceforth Imager uses the dlopen() family of functions, and you
23 will need version 10.3 or later of OS X.
24
3309187a
TC
25 - added the det() function to the transform2() engine.
26 added the sample quad_to_square.pl
27 Courtesy Richard Fairhurst.
28 http://rt.cpan.org/Ticket/Display.html?id=31244
29
ac8138b0
TC
30Bug fixes:
31
32 - samples/gifscale.pl sourced the base value for gif_top from
33 gif_left.
34 Thanks to Eleneldil G. Arilou for pointing this out.
35
678a9a65
TC
36 - t/t82inline.t no longer loads B at runtime, to work around a bug
37 in some 5.005_0[45] installations.
38 http://rt.cpan.org/Ticket/Display.html?id=30508
39
40 - work around Module::Depends::Intrusive bug #21229
41 http://rt.cpan.org/Ticket/Display.html?id=30520
ac8138b0 42
bea65b1f
TC
43 - the hardinvert filter no-longer inverts the alpha channel.
44 http://rt.cpan.org/Ticket/Display.html?id=30002
45
46 - the hardinvert filter now supports large samples
47
b7809486 48Imager 0.61_02 - 28 November 2007
f74e6efc 49==============
874c55db 50
bd8052a6
TC
51 - major TIFF support re-work
52 http://rt.cpan.org/Ticket/Display.html?id=20329
53
54 - added a C level image interface for accessing samples from 1-32
55 bits, exposed this at the perl level in getsamples()
56
57 - the conv filter now works at floating point precision for high bit
58 images
59
60 - added is_bilevel method to test whether an image should be written as
61 a bilevel image if the image format supports it.
62
63 - added -log-stderr as an Imager import list option
64
65 - added some important types to Imager::APIRef
66
67 - added test_image_double() to Imager::Test
68
874c55db
TC
69Bug fixes:
70
71 - Imager::Fountain couldn't read GIMP gradient files with 10 or more
72 segments
73
74 - the scale() method with qtype mixing now handles images with an
75 alpha channel correctly.
76
8d17eae9
TC
77 - fixed a broken link from the "animated GIF" entry in the concept index.
78 Thanks to Slaven Rezic.
79 http://rt.cpan.org/Ticket/Display.html?id=30889
80
d3bf4eaf
TC
81 - on some perl's the infix expression parser test would fail due to
82 actions in the grammar returning false. Made sure all actions return
83 a true value.
8b96ad6b
TC
84 Thanks to Richard Fairhurst for spending a lot of time in tracking
85 down this problem.
680c329d 86 http://rt.cpan.org/Public/Bug/Display.html?id=29562
d3bf4eaf 87
d06f6707 88Imager 0.61 - 5 November 2007
1cfa190e
TC
89===========
90
91 - added samples/gifscale.pl, which adjusts the screen size/position tags
92 when scaling an animated gif
93 http://rt.cpan.org/Ticket/Display.html?id=27591
94
8a2cd317
TC
95Bug fixes:
96
e7ac18bd
TC
97 - correct handling of sz in matrix_transform() - this should allow
98 perspective type transformations to work now.
99 http://rt.cpan.org/Ticket/Display.html?id=29936
100
8a2cd317
TC
101 - prevent a cast to integer warning on x64 builds in datatypes.c
102 also fixed some other type warnings
103 https://rt.cpan.org/Ticket/Display.html?id=30204
104
9188b23e
TC
105 - some sub-directory tests depended on files produced by the parent
106 directory tests
107 http://rt.cpan.org/Ticket/Display.html?id=30203
108
7febff1d
TC
109 - Imager::Font::Wrap doesn't correctly set savepos
110 thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
111 http://rt.cpan.org/Ticket/Display.html?id=29771
112
76411e99
TC
113 - test 171 in t/t01introvert.t was failing on perls configured to
114 use long double.
115 http://rt.cpan.org/Ticket/Display.html?id=29413
116
3f29de50
TC
117 - the code for the transform2() uminus operator was missing a break.
118 Added tests for better code coverage of the ops.
119 http://rt.cpan.org/Ticket/Display.html?id=29296
120
ed107438
TC
121 - the SGI RLE compression code could overflow its compression buffer
122 http://rt.cpan.org/Ticket/Display.html?id=30334
123
124 - the 32-bit output function used by the SGI code only handled values
125 under 0x10000. This was most noticable when writing large RLE images.
126 http://rt.cpan.org/Ticket/Display.html?id=30335
127
c7481ae1
TC
128 - validate chan_count for chans == NULL for each of the i_gsamp()
129 implementations.
130 http://rt.cpan.org/Ticket/Display.html?id=28985
131
ff37fc3f
TC
132 - attempt to work around the test failure at
133 http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
134 http://rt.cpan.org/Ticket/Display.html?id=29562
135
f245645a
TC
136 - improve the error messages produced when attempting to read or write
137 an unknown image file format.
138 http://rt.cpan.org/Ticket/Display.html?id=30103
139
333d7485
TC
140 - improve the transform2() documentation
141 http://rt.cpan.org/Ticket/Display.html?id=29267
142
3b115720
TC
143 - correctly generate the author key in META.yml
144 http://rt.cpan.org/Ticket/Display.html?id=30377
145
13c9a303
TC
146 - correctly blend a rotated (or matrix_transformed()) image when
147 performing interpolation in the presence of an alpha channel.
8a071022
TC
148 Also corrected the centring of the rotated image on the output
149 image.
13c9a303 150
0e622083 151Imager 0.60 - 30 August 2007
bcff4dd9
TC
152===========
153
d5477d3d
TC
154 - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
155 now has full SGI RGB image format, including RLE and 16-bit/sample
156 images.
157 https://rt.cpan.org/Ticket/Display.html?id=8666
158
159 - logging functions are now available in the API
160
a60905e4
TC
161 - applied Gabriel Vasseur's patch
162 added documentation, further tests, and support for greyscale images
163 Obviously problems are my fault :)
164 https://rt.cpan.org/Ticket/Display.html?id=28142
165
413dc198
TC
166 - the mask for ICO/CUR images is now applied as an alpha channel to
167 the returned image. For the old behaviour, supply ico_masked => 0
168 to read() or read_multi(). This should be less confusing when
169 using Imager as a general image processor.
170 https://rt.cpan.org/Ticket/Display.html?id=29001
171
bcff4dd9
TC
172Bug fixes:
173
174 - in some cases it's possible for giflib/libungif to return color
175 indexes outside the range of colors defined by the image's palette.
176 We now expand the palette to match the indexes used.
177 Thanks to Gabriel Vasseur for reporting this.
178
02576e8d
TC
179 - fixed various memory leaks that could occur when failing to read png,
180 jpeg, bmp or tga files.
181
b3aa972f
TC
182 - to avoid confusion, channels not present in the image are returned as
183 zero by getscanline(). This has no effect on the C level i_glin()
184 and i_glinf() API functions which continue to not set the unused
185 channels.
186
d5477d3d
TC
187 - the convert() method now returns an image of the same sample size as
188 the source image.
189 https://rt.cpan.org/Ticket/Display.html?id=28492
190
baa880ef
TC
191 - remove repeated text in Imager::Files
192 http://rt.cpan.org/Ticket/Display.html?id=27589
193
194 - be even more explicit that scale() and friends don't modify the source
195 image, but return a new image.
196 http://rt.cpan.org/Ticket/Display.html?id=28570
197
0561d49c
TC
198 - improve the error message from errstr() when you try to load a font
199 for which the driver hasn't been built in Imager.
200 http://rt.cpan.org/Ticket/Display.html?id=27571
201
d8a39ce0
TC
202 - transparency is now enabled by default when writing GIF images
203 http://rt.cpan.org/Ticket/Display.html?id=27615
204
5730d6e7
TC
205 - Imager would not load on Windows 98
206 http://rt.cpan.org/Ticket/Display.html?id=27653
207
b4996113 208Imager 0.59 - 14 June 2007
e6e94ab0
TC
209===========
210
211Bug fixes:
212
213 - fixes a regression introduced by the fixes for RT 11972
214 http://rt.cpan.org/Ticket/Display.html?id=27546
215
9fc9d0ca
TC
216 - cropping outside the image would return an Imager object with
217 no low-level image object, instead of returning false.
218 Fixed by: Philip Gwyn (Leolo)
219 http://rt.cpan.org/Ticket/Display.html?id=27509
220
7e7508dd
TC
221Imager 0.58 - 16 May 2007
222===========
223
224No significant changes from 0.57_01.
225
1970a2c7
TC
226Imager 0.57_01 - 11 May 2007
227==============
d034a178 228
f8e36694
TC
229 - added to_rgb16 to produce a 16-bit/sample version of an image
230
95b2bff4
TC
231 - improve freetype 1.x text output efficiency
232
d034a178
TC
233Bug fixes:
234
235 - search another place for rgb.txt, and check all the places
236 Imager::Color checks when deciding whether to skip testing it
237 http://rt.cpan.org/Ticket/Display.html?id=26064
238
73962964
TC
239 - use a convolution kernel size based on the stddev rather than a
240 fixed size when performing a gaussian blur
241 http://rt.cpan.org/Ticket/Display.html?id=25645
242
01b84320
TC
243 - document the difference() method's mindist parameter, and debug it.
244
7e7508dd 245 - put the Imager release number in the Inline::C generated code to
22f9ca48
TC
246 regenerate Inline code when a new release of Imager is installed.
247 http://rt.cpan.org/Ticket/Display.html?id=26278
248
fa16b6c6
TC
249 - fix rendering on alpha channel images for the FreeType 1.x driver.
250 http://rt.cpan.org/Ticket/Display.html?id=11972
251
4c84ccfb
TC
252 - fix rendering on alpha channel images for the T1lib driver.
253 http://rt.cpan.org/Ticket/Display.html?id=11972
254
1fe8316b
TC
255 - reworked library probing, we can now set more than one probe
256 function for a library. Disabled the default (non-freetype-config)
257 library probe and added an extra probe function that searches for
258 both ft2build.h and whatever it includes, and adds -I as needed.
259 Hopefully this will fix build problems like
260 http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
261 http://rt.cpan.org/Ticket/Display.html?id=26086
262
bb5712de
TC
263Imager 0.57 - 30 Apr 2007
264===========
265
266This is a maintenence release fixing a security issue in Imager.
267
268 - CRITICAL: a specially crafted compressed BMP file can cause a buffer
269 overflow in malloced memory. There will be further discussion of
270 this issue in the ticket below.
271 http://rt.cpan.org/Ticket/Display.html?id=26811
7e7508dd
TC
272 CVE-2007-2459 CVE-2007-2413
273 The descriptions at cve.mitre.org varied in quality, please see the
274 ticket at rt.cpan.org for a more accurate description of the issue.
bb5712de 275
d034a178 276Imager 0.56 - 1 Apr 2007
7623d340
TC
277===========
278
279 - added support for reading 16-bit/sample PGM/PPM images
280
281 - added support for writing 16-bit/sample PGM/PPM images
282
283 - improved performance of reading PBM/PGM/PPM images
284
285 - added support for writing PBM images if the image is paletted and
286 contains only black and white
287
288 - added a new make_colors value - "mono"
289
290 - switched from the svn log Changes to a manual Changes to reduce
291 noise
292
1225d272
TC
293 - new sample code - samples/flasher.pl
294
7623d340
TC
295Bug fixes:
296
297 - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
298 was returning an image object with an extra reference, this
299 resulted in a memory leak.
300 http://rt.cpan.org/Ticket/Display.html?id=24992
301
302 - fix rendering on alpha channel images for the FreeType 2.x driver
303 http://rt.cpan.org/Ticket/Display.html?id=11972
304
305 - reading bmp files now consitently handles short reads. You can now
306 supply a parameter to treat a short read as successful and set
307 i_incomplete
308 http://rt.cpan.org/Ticket/Display.html?id=8426
309
310 - previously, reading ASCII PBM files required spaces between samples,
311 even though the format doesn't require that
312
1225d272
TC
313 - improved documentation of the unsharpmask filter (I hope)
314 http://rt.cpan.org/Ticket/Display.html?id=25531
315
316 - force flushing of the output from i_tt_dump_names() and test output
317 in t/t35ttfont.t to prevent output from being mixed up.
318 https://rt.cpan.org/Ticket/Display.html?id=24859
319
320 - rewrite a conditional expression as an if() to hopefully work around
321 a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
322 https://rt.cpan.org/Ticket/Display.html?id=25561
323
324 - avoid Data::Dumper in regops.perl to support older releases of perl
325 https://rt.cpan.org/Ticket/Display.html?id=24391
326
7623d340
TC
327Imager 0.55 - 16 Dec 2006
328===========
329
330This is primarily a bug fix release.
331
332Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
333
334There is one new feature:
335
336 - the Win32 font driver now supports UTF8 (RT 22166)
337 http://www.cpanforum.com/threads/3276
338 http://rt.cpan.org/Ticket/Display.html?id=22166
339
340Several bugs were fixed:
341
342 - the string() method would not output the string "0"
343 http://rt.cpan.org/Public/Bug/Display.html?id=21770
344
345 - fills.c was failing to compile on Solaris 10 (compiler unknown)
346 http://rt.cpan.org/Public/Bug/Display.html?id=21944
347
348 - the gif_disposal and gif_user_input tags weren't being read from
349 the file correctly
350 http://rt.cpan.org/Public/Bug/Display.html?id=22192
351
352 - gif.c was failing to build under MSVC
353 http://rt.cpan.org/Ticket/Display.html?id=23922
354
355 - in some cases strings passed to the string() method were treated as
356 terminated by NUL (chr 0)
357 http://rt.cpan.org/Public/Bug/Display.html?id=21770
358
359 - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
360 that's the default build name for zlib on Win32.
361 http://rt.cpan.org/Ticket/Display.html?id=23064
362
363 - search $Config{incpath} for headers too, which we should have been
364 doing all along.
365
366Win32 font driver fixes:
367
368 - the global descent value from bounding box was the wrong sign
369 http://www.cpanforum.com/threads/3276
370
371 - if the first or last glyph overflowed the left or right side of the
372 advance width they would be clipped
373
374
375Imager 0.54 - 14 Sep 2006
376===========
377
378This is primarily a feature release:
379
380 - a new qtype value 'mixing' has been added to the scale()
381 method. This is faster than 'normal', slower than 'preview'. This
382 is based on the method used by pnmscale, and seems to produce less
383 blurry results than normal.
384 http://rt.cpan.org/Public/Bug/Display.html?id=20677
385
386 - the rubthrough() method can now render onto images with an alpha
387 channel.
388 http://rt.cpan.org/Ticket/Display.html?id=20678
389
390 - the read_multi() method now falls back to calling doing a single
391 image read via the read() method and write_multi() will now fall
392 back to calling write() if a single image is supplied. This means
393 you can simply call the read_multi() or write_multi() functions
394 without having to check if the type is formatted by that method.
395 http://rt.cpan.org/Ticket/Display.html?id=19457
396 http://rt.cpan.org/Ticket/Display.html?id=19458
397
398 - the GIF loop extension can now be written. If you don't have
399 libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
400 should upgrade.
401 http://rt.cpan.org/Ticket/Display.html?id=21185
402
403 - getscanline() and setscanline() can now read/write palette index
404 based data from/to the image for paletted images, by setting type to
405 'index'.
406 http://rt.cpan.org/Ticket/Display.html?id=20338
407
408 - we no longer hassle you to disable GIF support
409 http://rt.cpan.org/Ticket/Display.html?id=20687
410
411 - minor documentation fixes
412
413
414Imager 0.53 - 26 Jul 2006
415===========
416
417This is a bugfix release.
418
419Some test code was left in a code path not covered by the test
420suite. A test was added to cover this code path and the test code was
421removed.
422http://rt.cpan.org/Public/Bug/Display.html?id=20705
423
424
425Imager 0.52 - 25 Jul 2006
426===========
427
428This is primarily a feature release, but contains a fair few bug
429fixes, new features:
430
431 - ability to read and write MS Windows ICO and CUR files
432
433 - you can now add file format plugins to support new file formats
434
435 - add POD coverage tests
436
437 - setcolors() and addcolors() now accept color names and so on
438 instead of requiring Imager::Color objects.
439 http://rt.cpan.org/Ticket/Display.html?id=20056
440
441 - flood_fill() can now fill to a specified border color instead of
442 just to the area the same color as the seed.
443 http://rt.cpan.org/Ticket/Display.html?id=19618
444
445
446Bug fixes:
447
448 - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
449 calculating the advance width.
450 http://rt.cpan.org/Public/Bug/Display.html?id=20554
451
452 - bounding_box for the T1 driver wasn't including leading and
453 trailing spaces in the bounding box as the other drivers did, it also
454 produced strange results for empty strings or strings containing only
455 spaces
456
457 - when reading CMYK jpeg images they were being transferred to the
458 image object as is, producing a four channel image. It only looked ok
459 due to an old still unfixed Photoshop bug. We now convert from the
460 inverted CMYK that photoshop (and Corel for example) produce into RGB.
461 http://rt.cpan.org/Ticket/Display.html?id=20416
462
463 - reading a CYMK TIFF would result in a 4 channel image, reading any
464 image with more than 4 channels (eg. RGB with 2 alpha channels) would
465 result in an error.
466 http://rt.cpan.org/Ticket/Display.html?id=20415
467
468 - added /usr/local/include to the default include search path, since
469 we were already searching /usr/local/lib for libraries.
470
471And various minor fixes and documentation updates.
472
473
474Imager 0.51 - 23 Apr 2006
475===========
476
477 - fix a validation bug when processing JPEG EXIF data that can cause
478 a crash
479 http://rt.cpan.org/Public/Bug/Display.html?id=18496
480
481 - fix mis-processing of the src_maxx and src_maxy parameters of the
482 paste() method
483 http://rt.cpan.org/Public/Bug/Display.html?id=18712
484
485 - fix a problem in Imager's "smart" handling of the color parameter
486 to various methods.
487 http://rt.cpan.org/Public/Bug/Display.html?id=18561
488
489
490Imager 0.50 - 29 Mar 2006
491===========
492
493 - CRITICAL: fixes a segmentation fault from attempting to write a 2
494 or 4 channel image to jpeg or a 2 channel image to tga where the
495 output is an in-memeory buffer.
496 http://rt.cpan.org/Public/Bug/Display.html?id=18397
497
498 - fixes an incorrect pointer parameter in the PNG code
499 http://rt.cpan.org/Public/Bug/Display.html?id=18051
500
501 - skip Inline::C tests when building in a directory with spaces
502 http://rt.cpan.org/Public/Bug/Display.html?id=18049