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