Commit | Line | Data |
---|---|---|
02d1d628 AMH |
1 | Revision history for Perl extension Imager. |
2 | ||
3 | 0.01 Thu May 6 15:25:03 1999 | |
fd9f67c1 | 4 | - original version; created by h2xs 1.18 |
02d1d628 AMH |
5 | |
6 | 0.02 Mon May 10 20:20:20 1999 | |
7 | - Added PPM writer, and a new return type to | |
fd9f67c1 TC |
8 | be used to return undef() from a function returning |
9 | (int)0. | |
02d1d628 AMH |
10 | |
11 | 0.03 Thu May 20 23:23:23 1999 | |
12 | - Added Pseudo image handling thingies, now | |
fd9f67c1 | 13 | you can use your own get and put pixel routines. |
02d1d628 AMH |
14 | |
15 | 0.04 Mon May 24 22:14:55 1999 | |
16 | - Rewrote parts of jpeg support. | |
17 | ||
18 | 0.05 Tue May 25 23:40:01 1999 | |
fd9f67c1 TC |
19 | - Added png support with libpng |
20 | fixed error reporting and return types from | |
21 | some format routines. | |
02d1d628 AMH |
22 | |
23 | 0.06 Wed May 26 19:05:39 1999 | |
24 | - Fixed Data::Dumper being used when it shouldn't have | |
fd9f67c1 TC |
25 | added feature checking to see at run time if |
26 | certain formats are avaliable. | |
27 | removed some ancient C++ style comments that hadn't | |
28 | been properly removed, some out of bounds errors in ppm.c | |
29 | fixed tests so missing features are skipped. | |
02d1d628 AMH |
30 | |
31 | 0.07 Thu May 27 03:15:00 1999 | |
32 | - Fixed the typemap for i_img and i_color so that you can pass | |
fd9f67c1 TC |
33 | a null pointer to them without getting a warning when warnings |
34 | are enabled. Maybe this is counter perl but it greatly increases | |
35 | the usability of the functions. | |
02d1d628 AMH |
36 | |
37 | 0.08 Fri May 28 14:13:21 1999 | |
38 | - Added support for gif via, giflib or libungif. | |
fd9f67c1 TC |
39 | gif is so ridden with patent issues but the user |
40 | can decide which library to use since they have the same | |
41 | include files and calling interface. | |
02d1d628 AMH |
42 | |
43 | 0.09 Mon May 31 17:52:32 1999 | |
44 | - Added image scaling per axis - faster than doing both | |
fd9f67c1 TC |
45 | axes at the same time. The current method uses lancoz |
46 | kernel and filtering. But more types should be added - | |
47 | including: nearest neighbor, linear, and bicubic. | |
02d1d628 AMH |
48 | |
49 | 0.10 Mon Jun 7 03:25:54 1999 | |
50 | - Added T1 postscript font handling. It's very primitive | |
fd9f67c1 TC |
51 | at the moment but creative people can do nice stuff |
52 | with it. Currently it is not possible to have it | |
53 | generate an image of the correct size for a given string | |
54 | but that is on the way. | |
02d1d628 AMH |
55 | |
56 | 0.11 Mon Jun 7 14:43:35 1999 | |
57 | - Added T1 features for direct to image rendering in | |
fd9f67c1 TC |
58 | a single color. fixed some debug messages going to |
59 | stderr instead of a log file. | |
02d1d628 AMH |
60 | |
61 | 0.12 Tue Jun 8 02:58:43 1999 | |
62 | - Fixed bugs in jpeg.c when loading images. Also specified | |
fd9f67c1 TC |
63 | prototype behaviour to on in the Imager.xs file. The |
64 | Makefile.PL step doesn't complain anymore so that is | |
65 | hopefully fixed. | |
02d1d628 AMH |
66 | |
67 | 0.13 Wed Jun 9 06:55:58 1999 | |
68 | - Fixed Imager.xs for init_log call. Minor fixes here | |
fd9f67c1 | 69 | and there. |
02d1d628 AMH |
70 | |
71 | 0.14 Thu Jun 10 14:11:22 1999 | |
72 | - Rewrote most of the logging stuff so that it is now | |
fd9f67c1 TC |
73 | possible to remove all logging from the XS part of the |
74 | module. Also some primitive check of memory usage was | |
75 | added. Claes Jacobsson sent in some filters, inverter, | |
76 | contrast and a noise filter. | |
02d1d628 AMH |
77 | |
78 | 0.15 Mon Jun 14 08:13:29 1999 | |
fd9f67c1 TC |
79 | - Wrote minor enhancement on the calling syntax list. |
80 | Started on the object interface - added better support | |
81 | for quering avaliable filetypes. Fixed memory leaks in | |
82 | most loaders. New filters from Claes in this version | |
83 | are bumpmap, postlevels and mosaic. | |
84 | ||
85 | 0.16 Wed Jun 16 20:54:33 1999 | |
86 | - Added fixes to the BEGIN and END parts, added writer | |
87 | function for the OO interface. Also added basic IPTC | |
88 | reading support for jpegs. Also a few filters have been | |
89 | added to the OO interface. | |
90 | ||
91 | 0.17 Thu Jun 24 11:09:15 1999 | |
92 | - Added dynamic loading stuff - It's still missing a nice | |
93 | global symbol table. This will be fixed in next release. | |
94 | also calling the plugins is not all to easy at the moment. | |
95 | ||
96 | ||
97 | 0.18 Mon Jun 28 12:31:33 1999 | |
98 | - Added global symbol table - plugins now need a symbol | |
99 | table pointer in them. When the module is loaded it is | |
100 | set to point at the global symbol table. Also some barebones | |
101 | Makefile.PL has been made in the dynfilt directory - it works | |
102 | on my system - I hope it does on yours. | |
103 | ||
104 | ||
105 | 0.19 Fri Jul 1 15:00:03 1999 | |
106 | - Added a way new scaling method for creating easy previews. | |
107 | It only uses nearest neighbor, so it's doesn't look very nice | |
108 | but it may be better for applications like remote sensing. | |
109 | ||
110 | 0.20 Mon Jul 5 10:15:37 1999 | |
111 | - Added and rewrote documentation. | |
112 | ||
113 | 0.21 Mon Jul 6 19:15:37 1999 | |
114 | - Fixed a bug in the scaling routine - it wasn't | |
115 | handling 0< cases. | |
116 | ||
117 | 0.22 Sat Oct 9 07:04:14 1999 | |
118 | - Added a new method to write gif images - now | |
119 | it is possible to have a part of a palette fixed. | |
120 | this is very usefull if one needs to make sure that | |
121 | some color like white is in the pallete. This method | |
122 | also allows some ditherding and gives better colormap | |
123 | than the mediancut from the gif libraries. It does | |
124 | need much more cpu power though. Hopefully later versions | |
125 | will be faster. | |
126 | ||
127 | 0.23 **************** Internal release only | |
128 | - Fixed the %instances bug - caused ALL memory to be leaked. | |
129 | Added real noise function - need feedback on how it should | |
130 | be used. Also box(), and polyline are now in place. Polygon | |
131 | is missing but antialiased line drawing with integer endpoints are | |
02d1d628 | 132 | done but should be replaced with a version that can have |
fd9f67c1 | 133 | floating point endvalues. Two noise filters addded. |
02d1d628 | 134 | |
fd9f67c1 TC |
135 | 0.24 **************** Internal release only |
136 | - Converted i_color into an object from a reference, so now it's | |
137 | giving an object instead of a void ptr or an integer or something. | |
02d1d628 | 138 | |
fd9f67c1 TC |
139 | 0.25 **************** Internal release only |
140 | - Added basic Truetype functionality - still needs a rewrite | |
141 | to be decent. Currently it's a port of a demo program that | |
142 | uses an awful amount of global variables and there is much IO since | |
143 | no caching of glyphs is done. | |
02d1d628 AMH |
144 | |
145 | 0.26 Tue Nov 23 03:57:00 1999 > Development release < | |
fd9f67c1 TC |
146 | - Added transformations so that an image can be wrapped. |
147 | To achive decent speed a C based stackmachine is included. As a result | |
148 | transformations need to be specified in rpn (postfix) notation. It | |
149 | also can use the Affix::Infix2Postfix class to do the conversion for it. | |
02d1d628 AMH |
150 | |
151 | 0.27 Tue Dec 28 03:57:00 1999 > CPAN release < | |
fd9f67c1 TC |
152 | - This is a bugfix version mostly, thanks to claes for pointing |
153 | out the problems - fixed palette saving wasn't working correctly after | |
154 | version 0.24 - rather surprised this didn't crash everything. | |
155 | Also fixed that for t1 fonts the bounding box wasn't being reported | |
156 | unless the font had been used before. This is either a bug in t1lib | |
157 | or a mistake in it's documentation. Another lingering bug since 0.24 | |
158 | what that $img->box() wasn't creating it's default color properly. | |
159 | Added i_tt_text() method and more debuging to the truetype routines. | |
160 | truetype testcase fixed and old debug rubish removed. | |
02d1d628 AMH |
161 | |
162 | 0.28 Tue Jan 4 05:25:58 2000 > CPAN release < | |
fd9f67c1 TC |
163 | - Only fixes to truetype test and transformation tests. |
164 | Thanks to schinder of cpan testers for testing and reporting. | |
02d1d628 AMH |
165 | |
166 | 0.29 Tue Jan 4 21:49:57 2000 > CPAN release < | |
fd9f67c1 TC |
167 | - fixes to get rid of warnings under pre 5.005, |
168 | Fixed broken preproccessor directives to work on non gnu | |
169 | compilers. Fixed DSO test on HPUX - both code errors and | |
170 | HPUX creates .sl instead of .so so the tests were failing. | |
02d1d628 AMH |
171 | |
172 | 0.30 Sun Jan 7 05:00:06 2000 > Bunch of Alpha releases < | |
fd9f67c1 | 173 | - An attempt to automate installation. |
02d1d628 AMH |
174 | |
175 | 0.31 Sat Jan 15 03:58:29 2000 > Fixes fixes fixes < | |
fd9f67c1 TC |
176 | - Fixed a bug pointed out by Leolo where loading gifs |
177 | skips the first line of the imageload() has been | |
178 | by read() - for now load is an alias for read. It will | |
179 | be removed in the future. Also, fixes dynamic loading on | |
180 | systems that prepend an underscore to symbols. At the present | |
181 | the only system that I know of that needs this is OpenBSD. | |
182 | BUT YOU MUST RECOMPILE ALL OF YOUR OLD MODULES AGAINST THIS BUILD. | |
183 | Added getchannels() method ( How did I manage to delay this | |
184 | untill now ). Some document changes but nothing substantial. | |
185 | Also fixed the png read/write routines to handle all colorspaces | |
186 | and images with alpha information. Also now it's possible to | |
187 | have Imager guess the format of the files to load or save | |
188 | when passing files to read or save from the filename. | |
189 | Also all of the tests except dynamic loading now pass on OS/2. | |
02d1d628 AMH |
190 | |
191 | 0.32 Tue Feb 29 17:26:00 2000 CPAN RELEASE | |
192 | - Added the getcolorcount method. Fixed interlace handling | |
fd9f67c1 TC |
193 | on png images. Fixed the missing channel count in crop() |
194 | method. Rewrote most of t1lib database stuff - created color | |
195 | and font classes. T1 stuff is mostly done - TT things were | |
196 | rewritten too and now include most of what is needed for | |
197 | pixmap caching. Added documentation for fonts. Comments have | |
198 | been added to some of the relevant c-routines. Added a copy() | |
199 | function in Imager.xs and a corresponding method name. | |
200 | Changed the underlying data type for the raw XS images from | |
201 | pointers to objects - this will hopefully catch the most | |
202 | basic errors and keep the segfaulting down. This means that | |
203 | all of the underlying XS calls for readjpeg, readgif, readpng | |
204 | and readraw do not take the first parameter any more. | |
205 | Made fixes to keep it not spewing warning on 5.004 perl. | |
206 | ||
207 | **** If you had any code that didn't use the OO interface **** | |
208 | **** It will probably not work any longer **** | |
209 | ||
210 | 0.33 Beta -- No final | |
211 | - Fixed the end message from Imager 0.32. Destroy called | |
212 | on an empty image. Did some work on the polygon method. | |
213 | Some clean up in the Makefile.PL script. Fixed a buffer | |
214 | overrun in the t_transform in Imager.XS. Fixed the | |
215 | error handling in the jpeg loader. It now correctly | |
216 | returns undef if a load on an image fails. It also | |
217 | sends the error messages to the log file. Added errstr() | |
218 | method to the image object. Added a new way to read() | |
219 | objects from scalars. So far this is only implemented for | |
220 | jpeg, png and gif. ppm and raw soon - as always if someone | |
221 | wants to do an overhaul on the ppm stuff feel free. It seems | |
222 | like such a basic format that interfacing with a library is more | |
223 | work than implementing all of the needed routines instead. | |
02d1d628 AMH |
224 | |
225 | 0.34 Beta -- No final | |
fd9f67c1 TC |
226 | - Bunch of documentation fixes, backed out ppm code. |
227 | Put in TonyC's giant transform2 patch. Fixed the patch | |
228 | to make it ansi compliant. Fixed a bunch of bugs in the | |
229 | Freetype code with regard to vertical and horizontal | |
230 | positioning and bounding boxes. Cleaned up a lot of the | |
231 | code so it runs under -Wall. Code that is still in | |
232 | development such as the polygon converter do not compile | |
233 | cleanly. Fixed the non antialiased versions of truetype | |
234 | dump to image routines. Also removed the FIXME for the | |
235 | hardcoding of antialias in the Imager string method. | |
236 | Fixed sign error and a missing cache of the bounding box | |
237 | calculation for the rasterize function. Removed some | |
238 | debugging code I forgot to remove. Added iolayer.h | |
239 | and iolayer.c but they don't do anything for now. | |
240 | ||
241 | 0.35 pre2 -- No time yet | |
242 | - Fixed some compile warnings for various files under -Wall. | |
243 | Added functionality for jpeg reading of seekable files, it's not | |
244 | really working yet. This version is pretty much *not* working. | |
245 | Do not install unless you intend to do a lot of development. | |
246 | Repeat - it doesn't even pass tests (but it compiles). Ok now reading | |
247 | jpegs works from scalars, my guess is that it also works from non | |
248 | seeking sources such as sockets or pipes. | |
02d1d628 AMH |
249 | |
250 | 0.35 pre3 - No time yet | |
fd9f67c1 TC |
251 | - Added the *right* patch from Tony which combines |
252 | the common code from i_readgif and i_readgif_scalar into | |
253 | i_readgif_low. Added tiff reading support through iolayer. | |
02d1d628 AMH |
254 | |
255 | 0.35 pre4 - No time yet | |
fd9f67c1 TC |
256 | - Added tiff writing (no options) support through |
257 | iolayer. Also made some small fixes for the iolayer reading | |
258 | (was always doing two reads when one was needed). Patched the | |
259 | Imager::read() call so that it now uses a mixture of old and new | |
260 | functions. | |
02d1d628 AMH |
261 | |
262 | 0.35 pre5 - No time yet | |
fd9f67c1 TC |
263 | - Fixed various gnu'isms in the c code (some bugs in the link list |
264 | implmentation). Fixed missing #skip codes when gif format is not | |
265 | present in any form. Added fixes for 5.004_04 in the transform2 function. | |
266 | Made sure it compiles cleanly with sun's cc. Switched from a .jpeg | |
267 | for transform2 check to a .ppm file so it runs when jpeg is not | |
268 | present. Added a test for tiff files in t10formats.t. | |
02d1d628 AMH |
269 | |
270 | ||
271 | 0.35 pre6 - No time yet | |
fd9f67c1 TC |
272 | - Fixes to Makefile.PL. Should find freetype includes on more |
273 | distributions now. Ran tests on Solaris and Hpux, minor fixes. | |
274 | Compiles with some warnings on with both hpux and solaris' cc. | |
275 | Made some minor changes to the documentation. Fixes to tiff.c log | |
276 | code. | |
02d1d628 AMH |
277 | |
278 | 0.35 pre7 - No time yet | |
fd9f67c1 TC |
279 | - Fixes 64 bit bug on freebsd. While libtiff mirrors the effects of |
280 | lseek it's toff_t is a uint32, while lseek uses off_t which can be a 64 | |
281 | bit quantity. Added the IM_LFLAGS environment variable to help | |
282 | people with broken libgifs (that want to link with X). | |
02d1d628 AMH |
283 | |
284 | 0.35 Sun Jan 28 19:42:59 EST 2001 | |
fd9f67c1 TC |
285 | - More makefile fixes, fixed a few signedness warnings. |
286 | Checked to see if it compiled cleanly on Solaris and HPUX. | |
287 | Fixed a 5.004_04 warning and added more ENV flags for makefile. | |
288 | ||
289 | 0.36 Mon Jan 29 09:36:11 EST 2001 | |
290 | - String as 0 or "" caused an error in $img->string(). Fixed a | |
291 | documentation error invoving string() method syntax. Merged a patch | |
292 | for non antialised truetype fonts. Fixed an error in the Makefile.PL | |
293 | which caused a makefile to be generated that bombed with sgi's make. | |
294 | ||
295 | 0.37 Mon Tue 30 09:36:11 EST 2001 | |
296 | - Several documentation fixes. Pod documentation for almost every | |
297 | function in image.c. Added sys/types.h include in iolayer which was | |
298 | causing problems on various linux systems. | |
299 | ||
300 | 0.38 pre1 - No time yet | |
301 | - Fixed a braindamaged fix on the Makefile.PL file. Moved the | |
302 | code for Imager::Color into lib/Imager/Color.pm. Wrote some pod | |
303 | about how it works. Made the names of Imager::Color XS routines | |
304 | all begin with ICL_ and used the prefix rules of XS to get nice names | |
305 | in perl. Found a bug (not fixed) in how XS handles | |
306 | returning an object to an object it had as a parameter (double | |
307 | free). | |
308 | ||
309 | 0.38 pre2 - No time yet | |
310 | - Fixes lots of for documentation, patch for freetype bounding | |
311 | box handling. Split put code for Imager::Font into Font.pm and added | |
312 | more documentation for Font.pm. Added string local ascender and | |
313 | descender for tt fonts. Note that this needs to be added to t1 fonts | |
314 | before 0.38 final. | |
315 | ||
316 | 0.38 pre3 - No time yet | |
317 | - Fixed an in consistency in the bounding box functions for t1 | |
318 | fonts. Now both versions get the 6 argument bounding_box method | |
319 | described in Imager::Font. Started converting the comments in | |
320 | font.c so that they are viewable by doco.perl. Added two examples | |
321 | of filters. Need to make them more usefull and then add more | |
322 | notes than are in compile.txt. | |
323 | ||
324 | ||
325 | 0.38 pre4 - No time yet | |
326 | - Completed adding pod comments to font.c, tiff.c and iolayer.c. | |
327 | Those along with image.c should now have every single function | |
328 | described in pod format. | |
329 | ||
330 | 0.38 pre5 - No time yet | |
331 | - Replaced ppm.c with pnm.c which adds support for pbm/pgm/ppm | |
332 | files ascii and binary formats. Added patches for the gif routines. | |
333 | Patched some of the color quantizing routines (Leolo and TonyC). | |
334 | There is one bomb and one warning in this test, and frankly I don't | |
335 | see why they are suddenly there. | |
336 | ||
337 | 0.38 pre6 - No time yet | |
338 | - Patch from Tony that fixes infix when Parse::RecDescent is present. | |
339 | Checked some cases where malloc/free were used instead of mymalloc/myfree. | |
340 | Added bufchain iolayer code. You can now write to a chain of buffers and | |
341 | later slurp it all into a single perl scalar. Found some oddity of t/t10 | |
342 | test not giving the right return value when malloc debugging was enabled. | |
343 | Fixed some of the logging code and the malloc debugging options. Added | |
344 | more tests for tiffs. | |
345 | ||
346 | 0.38 pre7 - No time yet | |
347 | - Added i_gradgen code and put it into the filters hash. Think a | |
348 | seperate pod for filters would be a good idea. Also removed some of the | |
349 | debugging code from the iolayer. Added pod comments to filters.c and | |
350 | looked over the code. | |
351 | ||
352 | 0.38 pre8 - No time yet | |
353 | - limited Win32 support, Imager installs and builds using VC++, | |
354 | but there's no image/font format support yet. | |
02d1d628 AMH |
355 | |
356 | 0.38 pre9 - No time yet | |
fd9f67c1 TC |
357 | - Added lots of color quantization code from Tony with benchmarks. |
358 | Also fixes ugly stack overrun in old version. Added fixes for the lmfixed | |
359 | problem. Four of them, let's see which is fastest. This version adds | |
360 | some voronoi partitioning - it's dog slow but it's a reference implementation | |
361 | to check if faster algorithms are doing the right thing [tm]. Added a check | |
362 | for giflib 3. | |
363 | - Win32 support for libpng | |
364 | - fixed set_internal creating 2 refs to one object | |
365 | - Win32 support for jpeg | |
366 | - Win32 support for tiff | |
367 | - base level error reporting code added, I still need to modify | |
6829f5f6 | 368 | older code to use it |
930c963d | 369 | - fix translate=>'giflib' handling of single-colour images. |
fd9f67c1 TC |
370 | Previously a single colour image would cause an error in |
371 | MakeMapObject(). | |
930c963d | 372 | - fix t/t10formats.t tests against giflib3 |
0e03521f TC |
373 | - added test for transparent gifs |
374 | - minor doc fixes for transparent gifs | |
375 | - make it less error-prone to write transparent gifs | |
fd9f67c1 | 376 | - documented the options for reading raw images |
6829f5f6 AMH |
377 | - Changes switched to use spaces for formatting |
378 | - switch gif.c to new error reporting with related changes to | |
379 | Imager.xs, Imager.pm | |
fd9f67c1 TC |
380 | - each of the image formats now have their own test file, |
381 | extracted from t10formats.t, usually with som extra tests | |
df917a00 AMH |
382 | - Added flip() and docs to Imager.pm and i_flipxy to image.c. |
383 | Added testcases too. | |
6829f5f6 AMH |
384 | - Fixed an overflow bug in png.c |
385 | - added the colors parameter to Imager::read() which receives | |
386 | the arrayref of colours that i_readgif(_scalar) returns | |
387 | - fixed a problem in makemap_addi in quant.c where only the first | |
388 | image was compared against the palette when the palette was being | |
389 | refined. I screwed up on this originally (TC). This is the other | |
390 | half of a fix for Leolo's lmfixed problem <sigh>. | |
391 | - makemap_addi() now only puts colours into the palette that it | |
392 | found while optimizing the palette (so we don't get 256 colour | |
393 | palettes for 2 colour images :) | |
394 | - initial implementation of a row-based interface to low-level | |
395 | images (for performance) | |
396 | - changed Imager::read() for GIF so that the arrayref pointed to | |
397 | by the ref supplied in colors contains Imager::Color objects | |
398 | instead of more arrayrefs, keep this interface stable until we | |
399 | can make an informed choice about i_readgif() | |
400 | - incorporated Micksa's faxable tiff support, treating as a type | |
401 | of tiff rather than a separate format | |
402 | - t/t70newgif.t now checks for gif support | |
403 | - added the convert() method | |
404 | - Added support for transparent to alpha conversion during loading | |
ae448e5a | 405 | of png files. Note that libpng 1.0.1 is broken in handling this, |
7828ca98 AMH |
406 | we know that 1.0.5 works. |
407 | - support for writing PGM (portable gray map) files | |
408 | - Fix for i_gifread_low() for images with only a local and no global | |
409 | colormap and an abort if no colormap is present (which is legal | |
410 | in gif). | |
43a881d3 | 411 | - several fixes to i_readgif_low() |
299a3866 | 412 | - Fixed crop() method so that it is consistent with documentation. |
de2b8bae | 413 | - make clean now removes the testout directory |
4c2d6970 TC |
414 | - added tests for the OO interface for tiff, added an option to |
415 | choose the resolution for fax tiffs, removed some unused code, | |
416 | fixed minor problems with Imager::write() handling of image types | |
e3ddf807 TC |
417 | - changed README note on libgif bug to refer to t105gif.t instead |
418 | of t10formats.t | |
02d1d628 | 419 | |
96190b6e TC |
420 | 0.39 pre1 |
421 | - split Imager::Font into a base, *::Type1 and *::Truetype | |
faa9b3e7 TC |
422 | - writing faxable tiff now allows 2 and 4 channel images |
423 | - virtual image interface - 8-bit/sample images | |
424 | - paletted images | |
425 | - 16-bit/sample images | |
426 | - masked images | |
427 | - writing non-8bit images to raw | |
428 | - writing '' '' to tiff | |
429 | - i_convert support for high-bit images and paletted images | |
430 | - i_copy for high-bit and paletted images | |
431 | - tests for rubthru | |
432 | - rubthru can now rub a 2 channel image over a 1 or 3 channel | |
433 | image | |
434 | - rubthru for high-bit images | |
435 | - i_readgif_multi functions, which return all the frames from a | |
436 | GIF file, along with a bunch of meta-information as tag | |
437 | - OO interface to tags | |
438 | - OO interface read_multi() to read multi-image files (just GIF | |
439 | so far) | |
440 | - documentation for the multi-image GIF reading and tags | |
441 | - rotate() method with rotate by steps of 90 degrees (and docs) | |
442 | - fixed a bug in i_img_pal_new_low() | |
443 | - added gaussian to the filters list | |
444 | - documented the individual filters | |
445 | - fixed the right-hand side of bounding boxes for TT fonts | |
446 | where the last character overlaps the advance width (eg. | |
447 | italic fonts) | |
448 | - added rotation by exact amounts in degrees or radians, | |
449 | implemented using the matrix idea from Addi. The procedural | |
450 | matrix transformer is exposed, but still needs testing (as XS) | |
451 | and needs an OO interface, hopefully with some helper tools, | |
452 | like the preset interface with ->convert(). | |
453 | - MY::postamble() in Makefile.PL included a broken rule | |
454 | (Makefile.PL 1.13.2.5) | |
455 | - support for GDI fonts under Win32 | |
456 | - made that work for cygwin too (needs the w32api package) | |
457 | - freetype1 support under Win32 | |
458 | - t1lib support under Win32 | |
459 | - fixed a minor bug in font.c (invalid font files caused a SEGV) | |
460 | - checked cygwin for both t1lib and freetype1 | |
461 | - freetype 2 support | |
462 | - exposed the matrix_transform() function to the OO interface | |
463 | - added Imager::Matrix2d convenience class | |
464 | - support for setting the resolution when writing to PNG | |
465 | - retrieve physical resolution to tags when reading from PNG | |
466 | - found an XS bug in the interface to i_tags_add() | |
467 | - fixed handling of writing text to a channel with freetype2 | |
468 | (sometimes the edge of a character would damage the edge of the | |
469 | previous character) | |
470 | - some utf8 support for freetype2 | |
471 | - some vertical layout support for freetype2 | |
472 | - named parameters for specifying colors, with quite a few options. | |
c3cc977e | 473 | - glyph size issues for freetyp2 |
6064813e | 474 | - minor problem in handling of canon option |
261f91c5 | 475 | - low-level bmp writing (moving it to laptop) |
705fd961 | 476 | - Windows BMP reading and writing |
d08b8f85 TC |
477 | - added OO interfaces for the mosaic, bumpmap, postlevels and |
478 | watermark filters | |
479 | - added t/t61filters.t to test the filters | |
c3cc977e | 480 | - fixed some problems in jpeg handling from the exp_represent merge |
cf692b64 | 481 | - fixed buffer flushing for wiol jpeg code |
c3cc977e | 482 | - added some tests that will hopefully catch it in the future |
6607600c TC |
483 | - added the OO interfaces to the mosaic, bumpmap, postlevels and |
484 | watermark filters, and documented them | |
485 | - fixed a sample size conversion problem in i_gpixf_d() etc. | |
486 | - added simple color representation conversion functions (used | |
487 | in i_fountain().) | |
488 | - added the fountain filter: | |
489 | - creates gradients similar to paint software | |
490 | - 90% support for GIMP gradient files | |
491 | - OO interface and documentation | |
492 | - Imager::Fountain for building/loading fill definitions | |
493 | - named value translation for filters | |
f1ac5027 TC |
494 | - added a generic fill mechanism |
495 | - created versions of i_box() and i_arc() that can fill using | |
496 | generic fills | |
497 | - solid generic fills (with alpha blending if asked for) | |
498 | - hatched generic fills (with some options) | |
499 | - fountain generic fills | |
500 | - sample code to generate an examples page | |
7a606d29 | 501 | - improved the scale* hatches a bit |
cc6483e0 TC |
502 | - add the flood_fill() method (using the existing i_flood_fill) |
503 | - implement i_flood_cfill() based on i_flood_fill, and | |
504 | add general fills to the flood_fill() method | |
55268d8f TC |
505 | - generalize the combine parameter to get different ways of |
506 | combining the fill with the target | |
aa6e55eb TC |
507 | - the tt driver (freetype 1) didn't handle the first character |
508 | hanging off the left of the character cell | |
509 | - the tt driver produces some artifacts when characters | |
510 | overlapped | |
f873cb01 | 511 | - error handling for writing jpeg images |
bf9dd17c TC |
512 | - writing paletted images to GIF now uses the image palette |
513 | if it's small enough | |
0d321238 TC |
514 | - $img->arc() now calls i_circle_aa() if a complete circle is |
515 | being drawn in a plain color | |
f576ce7e | 516 | - image based fills |
b6381851 | 517 | - unsharp mask |
0958329a TC |
518 | - make i_conv() clamp the bottom end of the samples range too |
519 | (makes it useful for sharpening) | |
a923fade TC |
520 | - adjust ascender/descender values for FT1.x to avoid losing |
521 | descenders (specifically the bottom of "g" in ImUgly.ttf or | |
522 | arial.ttf at 14pixels) | |
c3cc977e AMH |
523 | - added tga.c to read targa images |
524 | - added i_bumpmap_complex to do more accurate bumpmapping | |
365ea842 | 525 | - added an image type with doubles as samples |
af3c2450 | 526 | - change i_copy() and i_sametype() to handle double/sample images |
bf94b653 TC |
527 | - added basic POD to trans2.c |
528 | - transform2 now uses the error interface | |
c3cc977e | 529 | - myrealloc() is implemented for malloc debug mode |
07d70837 | 530 | - now buffer chains are freed when destructor for Imager::IO |
c3cc977e | 531 | is called |
cd388046 AMH |
532 | - adjusted the Lanczos window width for the scaling code and |
533 | added code to normalize the filter generated to preserve | |
534 | intensity scaling. | |
535 | - constant edge extension for scaling operations | |
569795e8 | 536 | - better error checking of automatic fill conversions |
4c033fd4 | 537 | - fix some range checking for the fountain fill segment type |
07d70837 | 538 | |
38e6b53d AMH |
539 | 0.39 pre2 |
540 | - A few scattered mymalloc/free fixes | |
541 | - io_buffer implemented as a source for io layer and | |
542 | XS and perl OO code added. | |
543 | - Test for iolayer t/t07iolayer.t implemented. | |
412e7a35 | 544 | - Fixed known memory leaks. |
46a04ceb | 545 | - gif screen was wasn't being calculated correctly |
96190b6e | 546 | |
412e7a35 AMH |
547 | 0.39 Released: Nov 2 2001. |
548 | ||
43c5dacb TC |
549 | 0.40 pre1 |
550 | - anti-aliased polygon fill | |
551 | - add general fill to polygon fill | |
3a9a4241 | 552 | - make color values smarter for the drawing functions |
fd9a31d2 TC |
553 | - implemented reading and writing the TIFF text tags |
554 | - added prototypes for some of the derivative tags functions | |
5bb828f1 TC |
555 | - read paletted tiff images into Imager paletted images |
556 | - on partial tiff image reads, set the i_incomplete tag | |
557 | - tiff reading now uses the error stack | |
558 | - use the error stack value from reading bmp files | |
559 | - fix an error message in bmp.c | |
3dec2c92 | 560 | - added has_chars() method to Imager::Font::FreeType2 |
f62b2d84 TC |
561 | - freetype 2 bounding box function didn't know UTF8 (doh!) |
562 | - write paletted images as paletted to tiff | |
230e675b | 563 | - initialize counter for packing 4 bit data |
9cfd5724 TC |
564 | - don't allocate hashboxes as locals since it overflows the |
565 | stack by default in Darwin | |
6b012d62 | 566 | - applied T1 afm patch from Claes Jacobsson |
d67f1b7b TC |
567 | - split IM_INCPATH and IM_LIBPATH with $Config{path_sep}, so they |
568 | work on Windows | |
10461f9a TC |
569 | - Added memory pools for easy cleanup of temp buffers |
570 | - Added read support for sgi .rgb files. | |
571 | - io_new_fd() now creates a FDSEEK io object | |
572 | - implemented i_readgif_wiol() | |
573 | - Imager->read() now uses i_readgif_wiol(); | |
574 | - extend callback iolayers at C and Perl levels | |
575 | - implemented i_writegif_wiol() | |
576 | - split out Perl iolayer initialization into private methods | |
577 | - add tests for each type of iolayer in t50basicoo.t | |
578 | - read/write multi-image tiff files | |
579 | - tests in t50basicoo.t for multi-image/file | |
91492c5e | 580 | - ASCII PBM files were reading white as dark gray (255 vs 1) |
db6d10cc TC |
581 | - modify the Freetype2 font code to pick it's own encoding |
582 | rather than using whatever strange translation FT2 happens to | |
583 | pick | |
27e79497 TC |
584 | - modify the FT1 font code to use the first encoding as a default |
585 | if we don't find a unicode encoding | |
586 | - use the glyph bbox to calculate the glyph bitmaps for rendering | |
587 | with FT1 rather than the global ascender/descender. This helps | |
588 | with fonts that have broken metrics. | |
b72644d0 TC |
589 | - fix calculation of descender for FT2, it was calculating the |
590 | minimum decent rather than the maximum for the characters in | |
591 | the string | |
fec2a434 TC |
592 | - didn't set default for bounding_box() utf8 parameter (caused a |
593 | warning when calling bounding_box() on a FT2 font with no utf8 | |
594 | parameter) | |
7144e056 | 595 | - Added lib/Imager/Draw.pod documentation of primitives. |
8435f780 | 596 | - Added lib/Imager/Transformations.pod, some docs of simple transforms. |
83dadefe | 597 | - Added lib/Imager/ImageTypes.pod, draft of ImageType pod. |
cdd23610 | 598 | - Added lib/Imager/Filters.pod, draft of Filters pod. |
3e1be2c1 | 599 | - Added lib/Imager/Engines.pod, draft of Engines pod. |
591b5954 | 600 | - added getpixel() and setpixel() methods |
b6cfd214 TC |
601 | - added Artur's OSX dlload() emulation, with minor changes |
602 | - modified _color() to work around a 5.6.0 bug | |
97c4effc TC |
603 | - replaced old gif options with tags |
604 | - we now log which memory block is being freed before giving | |
605 | an error on it being re-freed | |
606 | - fixed stupid bug in deleting tags | |
55b287f5 | 607 | - fixed minor pod errors involving > |
72b26604 | 608 | |
f83bf98a | 609 | 0.40pre2 |
4cb58f1b | 610 | - make t1log optional, defaulting to off. You can enable the log |
f31bcf12 | 611 | with Imager::init(t1log=>1) (Ticket #369) |
a9fa203f | 612 | - quote a few hash key strings to prevent warnings on 5.004 |
18accb2a TC |
613 | - modify quantization code to handle 1 channel images |
614 | correctly (Ticket #365) | |
615 | - make channel pointer to i_gsamp() const int * so we can pass | |
616 | const arrays | |
feba68a3 TC |
617 | - handle the presence of the default broken giflib better, |
618 | by giving them some more prose about the problem, and skipping | |
619 | all but the first test that fails with the broken giflib | |
2de568dc TC |
620 | - i_box_cfill() went into an infinite loop on fountain fills |
621 | or fills on images with more than 8-bits/sample | |
e375fbd8 TC |
622 | - hide more of our Darwin dlload emulation to prevent runtime |
623 | symbol conflicts | |
624 | - use INT2PTR() and PTR2IV() macros instead of direct casts to | |
625 | prevent pointer vs int size warnings on 64-bit builds of perl. | |
626 | - add our own INT2PTR and PTR2IV definitions when perl doesn't | |
627 | supply them | |
dff75dee | 628 | - difference() method |
dad1427f TC |
629 | - hide (with static) or rename many symbols that could possibly |
630 | cause conflicts with other libraries or perl | |
bd57feec AMH |
631 | - Fix runaway cache problem for freetype1 font cache. |
632 | - Added version logging when log is started. | |
633 | ||
35342ea0 TC |
634 | 0.40 |
635 | - difference() wasn't setting an alpha channel when the input | |
636 | image didn't have one | |
fb19e83e TC |
637 | - improve crop() documentation, see |
638 | http://perlmonks.org/index.pl?lastnode_id=155767&node_id=155428 | |
65931431 TC |
639 | - handle the first "buggy giflib" test more portably. Previously |
640 | it used fork() which caused problems on systems that didn't have | |
641 | a real fork(). | |
35342ea0 | 642 | |
6d0ed98a | 643 | 0.41 |
7df84b45 TC |
644 | - skip() in testtools should be skipn() and it should use the |
645 | loop variable for the test number | |
646 | ||
3a6bb91b | 647 | 0.42 |
6d0ed98a TC |
648 | - quote the 'min' parameter to scale in Imager::Transformations |
649 | and at least mention it in the docs beyond the examples | |
f6af7cb4 TC |
650 | - document the values for the read() and write() method type |
651 | parameter | |
4f68b48f | 652 | - support UTF8 text with Freetype 1.x |
21e952df | 653 | - second parameter to SvPV() must be of type STRLEN |
26fd367b TC |
654 | - Doc pathces from cogent. |
655 | - Fixed out of bounds access on bitmap for flood fills. | |
656 | - some char * vs unsigned char * casts missing on OSF1 v4.0 | |
657 | - some enums had , on the last item in datatypes.h, which OSF1 | |
658 | didn't like | |
eeaa33fd | 659 | - Compaq C 6.4 (OSF1) claims to be C99 but doesn't provide |
26fd367b TC |
660 | stdint.h, don't try to use it under OSF |
661 | - fix missing initialization in tags.c | |
aa833c97 | 662 | - Change i_draw to i_line and have it use Bresenham's line |
eeaa33fd TC |
663 | drawing algorithm. |
664 | - support has_chars() method for Freetype 1.x | |
665 | - fixed log message for i_ft2_has_chars() | |
666 | - fixed some broken checking for UTF8 in FT2 code | |
1bd75e4c TC |
667 | - handle UTF8 strings passed to T1 low-level functions |
668 | - handle flags for underline, strikethrough and overline for T1 | |
669 | low-level output functions | |
670 | - OO interfaces to UTF8 and flags, for now leaving the flags as | |
671 | specific to Imager::Font::Type1 | |
42127e0c | 672 | - mc_web_map was storing colors with an alpha of 0 |
ee0083bf | 673 | - update the URLs for libpng and zlib |
135fb460 TC |
674 | - Fixed empty string handling for tt font driver. |
675 | - Fixed tiff handling of images all contained in a | |
676 | single strip (rowsperstrip = -1) and added a hack | |
677 | for images missing the rowsperstrip tag. | |
678 | - Fixed default parameters for crop() | |
679 | - Added Preliminary specialized scaling code. | |
680 | - Added image type detection. | |
681 | - added smoke test for win32 font bounding_box() method, and | |
682 | fixed the problem reported in ticket #1748. | |
683 | - update t37w32font.t to use i_line() instead of i_draw() | |
684 | - replaced non-portable call to rint() with (int)(dy+0.5) (so we | |
685 | can build on Win32) | |
be371490 TC |
686 | - the default tifflib warning handler was crashing on Win32 |
687 | under ActivePerl, when an unrecognized tag was read from the | |
688 | file. For now we'll just drop the warnings in the bit bucket. | |
689 | (Ticket #1513) | |
690 | - the code to read multiple tiffs didn't handle files with more | |
691 | than five images correctly, causing a memory overrun. | |
0cb68c19 | 692 | - fix some minor test code hiccups |
3799c4d1 TC |
693 | - implemented i_t1_has_chars(), tests for same |
694 | - added ExistenceTest.{pfb,afm,ttf} for testing $font->has_chars | |
695 | - tests for Imager::Font::Type1::has_chars(); | |
696 | - tests for Imager::Font::Truetype::has_chars(); | |
697 | - internal and external bounding box calculations now use | |
698 | the same hint flags as text output for Freetype 2.x | |
699 | - made the i_foo_bbox() interface more expandable by using | |
700 | symbolic constants for the sizes and array offsets | |
701 | - added a / character to the ExistenceTest.foo fonts that | |
702 | overlaps the right side of the character cell, to test the | |
703 | advance width reporting. | |
704 | - added advance width to the i_foo_bbox() interface, and | |
705 | implemented it for FT2, FT1 and Type 1 | |
706 | - Imager::Font::bounding_box() now returns an Imager::Font::BBox | |
707 | object in scalar context. | |
708 | - implemented $font->align() text output method, for simple output | |
709 | of aligned text | |
710 | - created Imager::Font::Wrap::wrap_text to perform simple text | |
711 | wrapping | |
712 | - FT1, FT2 and T1 fonts now support the face_name method | |
713 | - FT1, FT2 and T1 now support the glyph_names() method | |
72e425d5 TC |
714 | - Debian woody supplied FT2.0.9, which didn't support |
715 | FT_Has_PS_Names(), so we use the FT_HAS_GLYPH_NAMES() macro | |
716 | instead. | |
a90b253d TC |
717 | - some older FT1 don't define TT_MS_LANGID_ENGLISH_GENERAL, |
718 | which we use, define it if freetype doesn't. | |
71dc4a83 AMH |
719 | - Added extra options to rubthrough() so only a subpart of |
720 | source image is used. | |
cde2dbc7 TC |
721 | - the image fills didn't handle filling with source images of |
722 | less than four channels correctly | |
e5744e01 TC |
723 | - added comment support the postfix transform2() expression |
724 | parser | |
725 | - transform2() can now produce images with other than 3 channels. | |
726 | - added a correct T_AVREF input mapping to the typemap to | |
727 | simplify parameter lists | |
3a6bb91b AMH |
728 | - shut off one of the align subtests in the ft2 test. The triggering |
729 | is likely an ft2 bug. | |
730 | - removed some half written scaling optimization code. | |
731 | - added /sw/lib and /sw/include to the Makefile.PL code for osX. | |
732 | - removed all references to the www.eecs.umich.edu page and changed | |
733 | them to imager.perl.org ones. | |
cde2dbc7 | 734 | |
00820c26 | 735 | 0.43 |
042cdaea | 736 | - added log() and exp() functions to transform2() |
aed9d070 TC |
737 | - change the getpN() functions in transform2() to set a |
738 | reasonable alpha if the input image has no alpha | |
739 | - document the constants that transform2() defines | |
2e6041a0 | 740 | - skip the right number of tests when FT2 isn't available |
00820c26 | 741 | - This version pushed to CPAN because of skip problem in FT2 test. |
676d5bb5 TC |
742 | |
743 | 0.43_01 Fri 8 Oct 2004 | |
042cdaea TC |
744 | - only call FT_Get_Postscript_Name() on FT 2.0.6 and later |
745 | - put the IM_LIBPATH and IM_INCPATH values first in the search | |
746 | path so the builder gets their local versions if desired rather | |
747 | than the system versions they might be trying to avoid | |
748 | - document the exp() and log() transform2() functions | |
749 | - document the constants normally set by transform2(). | |
cf7a7d18 TC |
750 | - refer the user to appropriate documents in the example in |
751 | Imager.pm | |
752 | - change the list of documents in Imager.pm to move the document | |
753 | names out of the =item lines so we can make them into links | |
ace46df2 TC |
754 | - the scale() method now produces a warning when called in |
755 | void context. | |
d5a3f460 | 756 | - font.c now only uses the defined T1Lib error codes |
e18f39b3 TC |
757 | - update ppport.h and remove the duplicate definitions from |
758 | Imager.xs. Had to mangle ppport.h to prevent duplicate global | |
759 | function definitions. | |
760 | - newer versions of tifflib require that all of the function | |
761 | pointers passed to TIFFClientOpen be non-NULL, the mmap() and | |
762 | munmap() pointers were always NULL and the sizeproc was | |
763 | sometimes NULL. | |
704bb832 TC |
764 | - there would be a link or load time error on m_init_log() if |
765 | Imager was built with IM_NOLOG, fixed by renamed init_log() | |
0ab90434 TC |
766 | to m_init_log() in log.c (thanks to Takumi Yamani) |
767 | - moved some variable definitions to the right place | |
768 | - the Win32 font driver bounding box function now returns the | |
769 | right number of values (both thanks to Takumi Yamani) | |
ea9e6c3f TC |
770 | - the Win32 font driver now uses DEFAULT_CHARSET rather than |
771 | ANSI_CHARSET are the lfCharSet value for the LOGFONT, | |
772 | as suggested by Takumi Yamani. | |
773 | - fontfiles/ExistenceTest.{pfb,ttf} weren't marked as | |
774 | binary in the CVS repository (caused test failures if you | |
775 | built from CVS on Win32) | |
776 | - Makefile.PL should now handle INCLUDE or LIB with spaces in them | |
777 | correctly on Win32. | |
8b695554 TC |
778 | - the pnm reader read maxval for ppm/pgm files and then ignored it, |
779 | it's now validated (0 < maxval < 65536) and used to scale | |
780 | samples. Note that binary ppm/pgm files (P6/P5) with maxval > | |
781 | 255 result in an error, since I didn't want to add new features | |
782 | just yet, just get the code that's there working correctly. | |
783 | Thanks to Elthek on rhizo for reporting this and help in | |
784 | tracking it down. | |
1c00d65b | 785 | Resolves https://rt.cpan.org/Ticket/Display.html?id=7465 |
8b695554 | 786 | - added a bunch of tests for reading pnm files. |
1501d9b3 TC |
787 | - previously, if you supplied to_paletted and empty color map |
788 | and set make_colors to 'none', quant_translate() would segfault. | |
789 | This was because it was making the reasonable assumption that | |
790 | you'd have colors to map to. quant_translate() now checks there | |
791 | is at least one color and return NULL if there isn't. | |
792 | - i_img_to_pal() now does error checking of the value returned by | |
793 | quant_translate(). | |
794 | - Imager::to_paletted() now checks for success/failure of | |
795 | i_img_to_pal() correctly and does appropriate error handling. | |
796 | - i_writegif_low() did no error checking on the result of | |
797 | quant_translate(), it now does | |
798 | - we now test that trying to write a GIF image with no palette | |
799 | allowable by the quant options is a failure. | |
800 | - Imager::write() was doing nothing with the result of the call | |
801 | to i_writegif_gen(), in particular it wasn't returning () on | |
802 | failure. | |
803 | - added tests for paletted image handling and the methods | |
804 | specific to those images | |
805 | - the XS for i_setcolors() was missing the OUTPUT clause for | |
806 | RETVAL, and hence wasn't returning failure on failure. | |
807 | - supplying a sufficiently small scaling value could make the | |
808 | scale() method return an image with zero height or width. | |
1c00d65b TC |
809 | Several of the above together resolve |
810 | https://rt.cpan.org/Ticket/Display.html?id=7467 | |
1501d9b3 TC |
811 | - the void context warning for scale() now includes the callers |
812 | filename/line (instead of the default of Imager.pm line 15xx) | |
813 | - Imager->new will now return undef if the dimensions or number of | |
814 | channels specified for an image are out of range. An error | |
815 | message can be retrieved with Imager->errstr. | |
1c00d65b TC |
816 | - added the C<builtin> color specifier and the |
817 | Imager::Color::Table class which defines those colors. | |
818 | Resolves https://rt.cpan.org/Ticket/Display.html?id=2593 | |
5f8cbeac TC |
819 | - added the equals() method to Imager::Color. |
820 | Resolves https://rt.cpan.org/Ticket/Display.html?id=2238 | |
0d3b936e TC |
821 | - prevent a test warning introduced by the above |
822 | - the rotate() and matrix_transform() methods now accept a 'back' | |
823 | parameter specifying a background color. This is only used | |
824 | where there is no source data (think of the corners around an | |
825 | image rotated 45 degrees) and it not combined with transparent | |
826 | pixels from the source image. | |
827 | Resolves https://rt.cpan.org/Ticket/Display.html?id=6140 | |
13fc481e TC |
828 | - removed a warning generated by the new matrix_transform() test |
829 | - added a method index to Imager.pm | |
830 | - corrected "flood fill" to "flood_fill" in Imager/Draw.pod | |
831 | - removed compose() method from Imager/Transformations.pod since | |
832 | it isn't implemented yet | |
ec76939c TC |
833 | - the image resulting from a crop is now the same type as the |
834 | source image (paletted vs direct, bits/sample) | |
835 | Resolves https://rt.cpan.org/Ticket/Display.html?id=7578 | |
676d5bb5 TC |
836 | - the parameters to crop() weren't handled correctly in most |
837 | cases other than supplying left,top,right,bottom. | |
838 | - clarified the documentation for crop() providing more detail | |
839 | and more examples | |
840 | - the edges of the cropped area are now cropped against the | |
841 | edges of the source image | |
842 | - cropping to zero width/height is treated as an error (no | |
843 | image is returned and $src->errstr has a message) | |
844 | Resolves https://rt.cpan.org/Ticket/Display.html?id=7581 | |
845 | - built 0.43_01 for testing | |
cf7a7d18 | 846 | |
b921d414 | 847 | ================================================================= |
02d1d628 | 848 | |
fd9f67c1 | 849 | For latest versions check the Imager-devel pages: |
3a6bb91b | 850 | http://imager.perl.org/~addi/perl/Imager/ |
02d1d628 | 851 | |
b921d414 | 852 | ================================================================= |
02d1d628 | 853 |