source: trunk/phpthumb/docs/phpthumb.changelog.txt @ 17

Revision 17, 57.6 KB checked in by Lantash, 6 years ago (diff)

Forgot to add phpthumb library to subversion.

Line 
1//////////////////////////////////////////////////////////////
2///  phpThumb() by James Heinrich <info@silisoftware.com>   //
3//        available at http://phpthumb.sourceforge.net     ///
4//////////////////////////////////////////////////////////////
5
6¤ = structure change or important new feature
7* = less important new feature or change
8
9v1.7.7 - December ??, 2006
10  ¤ Added phpThumb.demo.gallery.php -- basic image gallery demo
11  ¤ Added option for image watermark for anti-hotlinking. See
12    phpThumb.config.php "nooffsitelink_watermark_src"
13    (thanks rik_helsenØrad*be)
14  ¤ Added config option "imagemagick_use_thumbnail" to control
15    use of ImageMagick's "-thumbnail" command vs "-resize" (the
16    former discards non-visible metadata, the latter retains it)
17    Most times you want the smallest filesize so keep the default
18    setting (imagemagick_use_thumbnail==true)
19    (thanks niklasØmysticalgarden*se)
20  * Bugfix [#1620056]: EnsureDirectoryExists() failed to create
21    some directory structures  (thanks jeromyØlocallinux*com)
22  * Bugfix [#1620056]: CleanUpCacheDirectory() would not purge
23    files from subdirectories if (cache_directory_depth > 0)
24    (thanks kingsquareØusers*sourceforge*net)
25  * Bugfix: nooffsitelink_* broken when running on non-standard
26    HTTP port  (thanks marianbucur17Øyahoo*com)
27
28
29v1.7.6 - December 09, 2006
30  ¤ Added "sia" (Save Image As) parameter to provide default
31    filename when saving generated thumbnails
32    (thanks web_mkØhotmail*com)
33  ¤ Changed "lvl" filter parameters, and added option to choose
34    between four different methods (two internal, two from
35    ImageMagick). Added configurable threshold parameter.
36    (thanks publicØwoktiny*com for code for new internal method)
37  ¤ "wb" (White Balance) filter now processed by ImageMagick
38  * Changed GD max source pixels to 1/6 (from 1/5) available
39    memory, and changed SourceImageIsTooLarge() to account for
40    already-used memory (if known)
41  * More graceful error handling in object mode when source
42    larger than PHP memory limit and ImageMagick unavailable
43    (thanks djasonØdjason*com)
44  * Added ImageMagickFormatsList()
45  * CleanUpCacheDirectory() now also purges zero-byte orphan
46    files left over from aborted thumbnailings
47  * Bugfix [#1606069]: Changed default urlencoded space
48    character from "+" to "%20"
49  * Bugfix [#1608664]: "Unsupported operand types" in "wmi"
50    filter (thanks haydurØhaydur*com; squidliberty)
51  * Bugfix: debug mode now supports text output in all modes
52  * Bugfix: ImageMagick creation attempted before GD creation
53  * Bugfix: no longer fails silently if GD creation runs out of
54    memory
55  * Bugfix: poor alpha rendering from PNG to GIF with ImageMagick
56  * Bugfix: "wb" filter had no effect when "lvl" filter applied
57    in ImageMagick instead of GD
58
59
60v1.7.5 - October 03, 2006
61  ¤ Deprecated parameters "err", "file", "goto"
62  ¤ Added broad cache directory feature (see phpThumb.config.php
63    "cache_directory_depth") to spread cache files across many
64    directories for improved performance and ability to store
65    very large numbers (30000+) of cached files
66    (thanks despoixØopenxtrem*com)
67  ¤ phpThumb now follows HTTP redirects (status=302) to new
68    HTTP image URLs (configurable: config_http_follow_redirect)
69    (thanks shannahØsfu*ca)
70  ¤ Added "rot" (ROTate) filter which is similar to "ra" parameter
71    but now allows rotation of output of other filters (for
72    example, rotate image after fltr[]=mask is applied)
73    (thanks markØwoodjoint*ca)
74  ¤ Added WBMP output support (built-in GD or via ImageMagick)
75    (code was already mostly present, just was not allowed format)
76  ¤ [#1567113] "wmi" filter now accepts both x and y margins
77    and can be in pixels or percent of thumbnail dimensions
78    (thanks squidlibertyØusers*sourceforge*net)
79  * "hist" filter now accepts both X and Y margins
80  * Added config variables: config_http_fopen_timeout = 10;
81    config_http_follow_redirect = true
82  * Changed MIME type for WBMP to image/vnd.wap.wbmp
83  * Bugfix: Check for GD format support before attempting output
84  * Bugfix: Opening HTTP source images with URL query parameters
85    was broken (eg: http://host/show?id=123)
86    (thanks ivo*beckersØinfopractica*nl)
87
88
89v1.7.4 - August 17, 2006
90  ¤ Improved version of /demo/phpThumb.demo.showpic.php uses
91    phpThumb.php so any filters can be applied, as well as
92    resized image popups.
93    New file: /demo/javascript_api.js
94    Uses Javascript API by James Austin <jamesdozØhotmail*com>
95    (http://aspandjavascript.co.uk/javascript/javascript_api/)
96  ¤ Added "sfn" (Source Frame Number) parameter to specify
97    source frame in multi-frame/multi-page source formats, such
98    as GIF, TIFF, PDF, etc  (thanks despoixØopenxtrem*com)
99  ¤ Added "dpi" (Dots Per Inch) parameter to specify
100    rasterising resolution for vector source formats (PDF, WMF)
101    (requires ImageMagick)  (thanks despoixØopenxtrem*com)
102  * Added /demo/phpThumb.demo.object.simple.php
103  * Added debug points inside GenerateThumbnail
104  * Explicit error message for unsupported PDF source images
105  * Bugfix: SafeURLread broken with GETstring parameters in
106    fsockopen mode
107  * Bugfix: [#1540523] CleanUpCacheDirectory() does not delete
108    files as expected  (thanks patricksleeØusers*sourceforge*net)
109  * Bugfix: added useful error message when no source specified
110    in object mode  (thanks infoØdoepud*co*uk)
111  * Bugfix: timeout value ignored in URLreadFsock()
112  * Bugfix: timeout missing in SafeURLread CURL part
113  * Bugfix: ImageMagick now checked with --version (not -version)
114  * Bugfix: better ImageMagick (numeric) version number matching
115  * Bugfix: noGD errors showing up when GD imagecreate functions
116    fail and ImageMagick not available
117    (thanks caseyyØgmail*com)
118  * Bugfix: "-thumbnail" parameter not present in older versions
119    of ImageMagick, now using -resize if -thumbnail unavailable
120    (thanks atombomb96Øbtopenworld*com)
121  * Bugfix: "-resize" parameter requires explicit dimensions
122    ("100x100" instead of "100x") in older ImageMagick versions
123    (thanks atombomb96Øbtopenworld*com)
124  * Bugfix: phpThumb crashed with no output if ImageMagick failed
125    to resize but output image larger than max_source_pixels
126    (thanks atombomb96Øbtopenworld*com)
127  * Bugfix: phpThumb might die with no output on some large source
128    images when ImageMagick unavailable.
129    (thanks atombomb96Øbtopenworld*com)
130
131
132v1.7.3 - July 11, 2006
133  * Now returns useful message for HTTP sources if 404-file-
134    not-found (or similar) errors occur
135  * Added new fsockopen() section in SafeURLread()
136  * Removed PNG alpha warning for IE 7 (alpha PNGs now work)
137  * Bugfix: ImageMagick failing version check and dumping text
138    output  (thanks infoØdevsystem*net)
139  * Bugfix: curl_exec failing with text output
140    (thanks infoØdevsystem*net)
141  * Bugfix: workaround for PHP Bug #36102 (fopen(http) crash
142    in PHP v4.4.2
143  * Bugfix: "Unknown image type identified by..." problem when
144    opening http:// source images
145    (thanks webmasterØdanceage*com)
146
147
148v1.7.2 - June 22, 2006
149  ¤ [#1256693] Added $this->exif_raw_data which is returned
150    data from exif_read_data() on source image.
151    Requires PHP v4.2.0+  (thanks tebiØusers*sourceforge*net)
152  ¤ Added $this->outputImageData and RenderOutput() to allow
153    easy outputting of thumbnail data to a database or such.
154    Call RenderOutput() instead of RenderToFile() and then
155    access raw data in $this->outputImageData
156    (thanks r*cremerØswitch*nl)
157  ¤ Added 'crop' filter, which is applied after resizing (as
158    opposed to sx,sy,sw,sh which are before resizing)
159    (thanks scottØscottjehl*com)
160  * Enable creating new images with PATH_INFO style call
161    (thanks edenØinstyleit*com*au)
162  * Added warning message to encourage users not to use
163    full HTTP paths for "src" parameter
164  * Added fallback 'preg_quote' to phpthumb.functions.php in
165    case your PHP installation does not have preg_* functions
166    (thanks mortenØemeskay*dk)
167  * Added fallback 'imagesavealpha' if GD < v2.0.1
168    (thanks oliver*heegerØweb*de)
169  * Added fallback 'imagealphablending' if GD < v2.0.1
170    (thanks oliver*heegerØweb*de)
171  * Added 'nocache' parameter that suppresses writing to cache
172    file, but only if high_security_enabled is set
173    (thanks federicoØdonelleschi*com)
174  * Attempt to detect supported ImageMagick features
175    (thanks simonØjapancentre*com)
176  * Added temp dir detection to phpThumb.demo.check.php
177  * Added ImageMagick dir to phpThumb.demo.check.php
178  * Added ImageMagick features to phpThumb.demo.check.php
179  * Default (config_allow_src_above_docroot = true) when PHP
180    running in "cli" mode  (thanks flobeeØgmail*com)
181  * Bugfix: [#1470791] 'iar' not working properly with
182    ImageMagick  (thanks w1xØusers*sourceforge*net)
183  * Bugfix: [#1498564] illegal characters in cache filenames
184    (thanks carl-evertØusers*sourceforge*net)
185  * Bugfix: 'sx','sy','sw','sh','zc' cache parameters broken
186    (thanks federicoØdonelleschi*com)
187  * Bugfix: 'config_max_source_pixels' incorrectly handled
188    (thanks oliver*heegerØweb*de)
189  * Bugfix: 'aoe' not working properly
190    (thanks w1xØusers*sourceforge*net)
191  * Bugfix: setParameter() was broken for arrays
192  * Bugfix: setSourceFilename() wasn't setting 'src'
193  * Bugfix: suppress stat()-related file permission
194    notices  (thanks lanceØmainecoastdesign*com)
195  * Bugfix: image format now initialized during ErrorImage()
196  * Bugfix: domain matching now case-insensitive
197  * Bugfix: some versions of ImageMagick not detected
198    (thanks arvidØfys*ku*dk)
199  * Bugfix: sometimes no image returned in safe_mode
200    (thanks bkainersØgmail*com)
201  * Bugfix: 'far' not always handled correctly
202    (thanks matthew*newtonØrealworldweb*com)
203  * Bugfix: PATH_INFO method not working if no filters specified
204    (thanks jjimenezØpracticaldata*com)
205  * Bugfix: first (internal) call to ImageMagickVersion() failed
206    under Windows
207  * Bugfix: Images source-cropped AND resized with ImageMagick were
208    wrong size (cropped size, not resized size)
209    (thanks joao*saleiroØwebfuel*pt)
210  * Bugfix: stat() warnings in CleanUpCacheDirectory()
211    (thanks christianØhss-haage*de)
212  * Bugfix: $PHPTHUMB_DEFAULTS not working when no other processing
213    parameters specified  (thanks tbittnersØcox*net)
214
215
216v1.7.1 - March 16, 2006
217  * /demo/phpThumb.demo.check.php now checks:
218    - server software
219    - local and master config values (with ini_get and
220      get_cfg_var respectively)  (thanks nEUTRonØgmx*tm)
221    - existance of assorted PHP functions and explains their
222      importance
223  * Bugfix: config_error_die_on_error now defaults to FALSE to
224    prevent object-mode errors dying in an error image
225    (thanks moshØtobt*de; riteshgupta1974Øgmail*com)
226  * Bugfix: setParameter() now handles array parameters (such
227    as 'fltr') by appending $value to $parameter
228  * Bugfix: /demo/phpThumb.demo.check.php incorrect CURL value
229    under PHP5  (thanks nEUTRonØgmx*tm)
230  * Bugfix: [#1439110] Limit fread() calls to 8kB
231    (see http://bugs.php.net/bug.php?id=35859)
232    (thanks andig2Øusers*sourceforge*net)
233  * Bugfix: Prevent RenderToFilename() from trying to render
234    to URLs  (thanks Tim*MasseyØitrm*co*uk)
235  * Bugfix: [#1438657] missing path in phpThumbURL()
236    (thanks terracesØusers*sourceforge*net)
237  * Bugfix: zoomcrop was broken for non-square output
238    (thanks alisonØsemidivine*com, federicoØdonelleschi*com)
239  * Bugfix: suppress error messages when stat access to temp
240    dir is disabled  (thanks rfineØvnuinc*com)
241  * Bugfix: ImageMagick processing was broken for source
242    images of types not supported by GetImageSize
243    (thanks rfineØvnuinc*com)
244
245v1.7.0 - February 15, 2006
246  ¤ ImageMagick output is used directly far more frequently
247    for much improved speed and minor quality improvement.
248  ¤ ImageMagick now processes most of the image filters if
249    possible (will fall back to GD methods if unavailable)
250  ¤ GD support is now optional if ImageMagick is installed.
251    Known limitations include:
252    - no support for HTTP source images
253    - ICO output is buggy (in some ImageMagick versions)
254    - most &fltr[] filters don't work at all
255    - 'ar', 'ra', 'far' don't work
256  ¤ Added output support for ICO (icon) format (&f=ico).
257    Currently only supports single-image icons, but multi-
258    resolution support may be added in future versions
259    New file: phpthumb.ico.php
260  ¤ Added output support for BMP (bitmap) format (&f=bmp).
261    Currently only supports 24-bit RGB format (for simplicity)
262  ¤ Added new configuration & compatability checker
263    New file: demo/phpThumb.demo.check.php
264  * ImageMagick-generated thumbnails now have extra hidden
265    contents (EXIF data, etc) stripped (by using -thumbnail
266    instead of -resize) resulting in smaller filesizes
267  * Added background fill color, opacity and extent options to
268    'wmt' filter  (thanks craigØpc-fanatics*com)
269  * Added metacharacter (^*) support for 'wmt', currently:
270    source filesize in bytes (^Fb), kB (^Fk), MB (^Fm),
271    source image width (^X), source image height (^Y),
272    thumbnail width (^x), thumbnail height (^y) and caret (^^)
273    (Feature Request #1357815)
274    (thanks ticklemeozmoØusers*sourceforge*net)
275  * Moved ImageDestroy call from OutputThumbnail to end of
276    phpThumb.php to allow multiple calls to OutputThumbnail
277  * Added config_http_user_agent for site with browsersniffers
278    (thanks redrobØgmail*com)
279  * Added $PHPTHUMB_CONFIG['disable_pathinfo_parsing'] (default
280    false) which disables parsing $_SERVER[PATH_INFO] for
281    parameters. If you want to parse PATH_INFO, set to false
282  * Added $PHPTHUMB_CONFIG['disable_imagecopyresampled'] (default
283    false) which replaces ImageCopyResampled with
284    ImageCopyResampleBicubic for buggy PHP-GD versions
285    (thanks g*pelagattiØnetface*it)
286  * Added $PHPTHUMB_CONFIG['cache_prefix'] to allow sharing of
287    cache files across virtual servers (Feature Request #1395332)
288    (thanks doggyfrØusers*sourceforge*net)
289  * Added $PHPTHUMB_CONFIG['disable_onlycreateable_passthru'] with
290    default=true (increased speed) to allow direct passthru of
291    images that don't have GD support. (Feature Request #1396446)
292    (thanks zedboyØusers*sourceforge*net)
293  * Removed $PHPTHUMB_CONFIG['cache_differentiate_offsite'] because
294    it is now automatically tied in with nooffsitelink_enabled
295    (thanks doggysworldØlibertysurf*fr)
296  * Removed phpThumb.demo.cacheconvert2.php
297  * Debug messages are now passed back from filters
298  * $PHPTHUMB_CONFIG['cache_source_filemtime_ignore_remote'] now
299    defaults to true for much-improved cached performance
300    (thanks redrobØgmail*com)
301  * $PHPTHUMB_CONFIG['cache_differentiate_offsite'] now defaults
302    to false
303  * Added $PHPTHUMB_DEFAULTS['ar']='x' to phpThumb.config.php.default
304  * Added ImageDestroy($this->gdimg_source) to GenerateThumbnail()
305    to save memory before applying image filters
306  * gd_info() no longer member of phpthumb_functions
307  * cache files now default to using SERVER_NAME without 'www.'
308  * phpUnsharpMask::applyUnsharpMask() should be faster under PHP5 by
309    using ImageFilter(IMG_FILTER_GAUSSIAN_BLUR) when radius==1
310  * Added alternate CURL method for HTTP source images if
311    allow_url_fopen is disabled  (thanks webweberØmotiondraw*com)
312  * Replaced $this->osslash with DIRECTORY_SEPARATOR constant
313  * Bugfix: [#1398327] 'new' got broken (1x1 images)
314  * Bugfix: [#1412552] HTTP source images with special characters were
315      not getting urlencoded
316  * Bugfix: ImageSaveAlpha errors on GD v2.0.0
317  * Bugfix: phpThumbDebug now entirely disabled if high_security=true
318  * Bugfix: source images with transparency lost transparency when
319    rotated  (thanks roalklØyahoo*com)
320  * Bugfix: square source images were not resized when only (w|h)(p|l)
321    parameters passed
322  * Bugfix: source images are passed through unmodified in more cases
323  * Bugfix: ImageMagick not used on systems where it exists outside
324    defined open_basedir
325  * Bugfix: ImageMagickVersion() now returns correct versionstring
326  * Bugfix: ImageMagick warnings no longer cause ImageMagick to fail
327  * Bugfix: ErrorImage no longer fatal to phpThumbDebug
328  * Bugfix: "Array to string conversion" in foreach($a as $v) loops
329    (thanks zeeshanØtargetedmedia*co*uk)
330  * Bugfix: safe mode warnings in ImageCreateFromStringReplacement
331    (thanks adminØalex-home*net)
332  * Bugfix: nooffsitelink broken if !nooffsitelink_require_refer
333    (thanks depronØgmx*net)
334  * Bugfix: phpThumb failed when magic_quotes_runtime=true
335    (thanks stansawyerØyahoo*com)
336  * Bugfix: several issues with HTTP image sources
337    (thanks redrobØgmail*com)
338  * Bugfix: phpThumb_tempnam() would return incomplete temp filenames
339    under Windows, which may result in orphaned zero-byte temp files
340    in C:\ if multiple drives exist
341
342v1.6.2 - November 24, 2005
343  ¤ Animated GIF output is now possible if ImageMagick is
344    available and no filters (other than resize) are applied
345    (thanks brandenbassØgmail*com for idea)
346  * Added $PHPTHUMB_CONFIG['cache_force_passthru'] to work
347    around cached-image-only-works-second-time issue
348    (thanks yakoØ11y11*com)
349  * Bugfix: black borders on some image edges
350    (thanks atelierØdelirius*ch && chuckØcatalyststudio*com)
351  * Bugfix: uncaught PHP warning in RenderToFile DebugMessage
352  * Bugfix: allow phpThumbDebug in noGD PHP installations
353  * Bugfix: 'hash' warning in high_security mode
354    (thanks bernhardØwtf*at)
355  * Bugfix: non-TTF rotated text watermarks now work (unrotated)
356    with no warnings if ImageRotate is unavailable
357    (thanks aparviaiØusers*sourceforge*net)
358
359v1.6.1 - August 26, 2005
360  ¤ Filters now use GD functions where available (using
361    ImageFilter, only available in PHP v5.0.0+ with bundled
362    version of GD). Enabled for: colorize, negative,
363    grayscale, brightness, contrast, gaussian blur, selective
364    blur, mean removal  (thanks donlaurØmac*com)
365  ¤ Added config_prefer_imagemagick (defaults=true)
366  ¤ Added phpthumb_filters::Grayscale()        'gray'
367  ¤ Added phpthumb_filters::ReduceColorDepth() 'rcd'
368  ¤ Added phpthumb_filters::Brightness()       'brit'
369  ¤ Added phpthumb_filters::Contrast()         'cont'
370  ¤ Added phpthumb_filters::Saturation()       'sat'
371  ¤ Added phpthumb_filters::EdgeDetect()    'edge' [PHP5 only]
372  ¤ Added phpthumb_filters::BlurGaussian()  'gblr' [PHP5 only]
373  ¤ Added phpthumb_filters::BlurSelective() 'gblr' [PHP5 only]
374  ¤ Added phpthumb_filters::MeanRemoval()   'mean' [PHP5 only]
375  ¤ Added phpthumb_filters::Smooth()        'smth' [PHP5 only]
376  * New timing debug info in phpThumbDebug
377  * Added config_cache_differentiate_offsite
378  * config_die_on_error now defaults to false
379  * ResolveSource works better
380  * cache filenames with 'fltr' parameters have changed
381  * Filters now skip processing if amount=0 or similar
382  * [#1263051] 'far' now accepts L,R,T,B,C as values giving
383    alignment of left/right/top/bottom/center respectively.
384    Old value of '1' defaults to centered
385    (thanks webgrappaØusers*sourceforge*net)
386  * Bugfix: RenderToFile() now fails properly when output format
387    is unknown
388  * Bugfix: PNG transparency wasn't working with 'far'
389  * Bugfix: source images with EXIF thumbnails that differ in
390    aspect ratio no longer use EXIF thumbnails as source unless
391    no other options exist
392  * Bugfix: setting 'src' with setParameter now invokes
393    setSourceFilename to properly set $this->sourceFilename
394    (thanks Gazou)
395  * Bugfix: 'zc' had poor quality when used with ImageMagick
396  * Bugfix: 'aoe' parameter broken when not using ImageMagick
397    (thanks frankieali4Øhotmail*com)
398  * Bugfix: fixed issue with symbolic links
399    (thanks hornet136Øgmail*com)
400  * Bugfix: config_max_source_pixels now defaults to same
401    calculation as used in phpThumb.config.php
402    (thanks vukshaØhotmail*com)
403  * Bugfix: Offsite cached thumbnails no longer use unique
404    referer (now either nothing or "_offsite")
405    (thanks swaayeØyahoo*com)
406  * Bugfix: "Unknown image type identified by “<?ph”" errors
407    in some installations  (thanks frankieali4Øhotmail*com)
408
409v1.6.0 - July 18, 2005
410  ¤ Included new file phpThumb.demo.random.php to select a
411    random image from a specified folder, optionally only
412    landscape and/or portrait and/or square images, and to
413    display it to phpThumb.php
414    (thanks mikeØgdaymate*nl)
415  ¤ Added /docs/phpthumb.faq.txt
416  ¤ Added /demo/readme.demos.txt
417  ¤ Added 'wp', 'hp', 'wl', 'hl', 'ws', 'hs' parameters for
418    width and height of portrait, landscape and square
419    images. This allows you to display any image aspect
420    ratio at the size you want without knowing ahead of time
421    whether the image is wide or tall.
422    (thanks mikeØgdaymate*nl)
423  ¤ phpThumb.php can now also be called by passing parameters
424    in $_SERVER['PATH_INFO']. Please see phpthumb.readme.txt
425    (thanks javierØguegue*net)
426  ¤ MySQL data pulling configuration moved from phpThumb.php
427    to phpThumb.config.php
428  * "file" and "goto" parameters are now disabled by
429    default (configurable in phpThumb.config.php but not
430    recommended)
431  * Cached files are now used from first instance, avoiding
432    call to OutputThumbnail and preventing browser-side
433    cache failure
434  * Added config_allow_src_above_docroot (default=false) to
435    prevent browsing filesystem outside document_root
436    (thanks davidØint0x80*com)
437  * Added config_allow_src_above_phpthumb (default=true) to
438    prevent access to files except in subdirectories of
439    phpThumb installation  (thanks davidØint0x80*com)
440  * Added setParameter() and getParameter() functions
441    (thanks werner*kraussØhallstatt*net)
442  * SafeBackTick() renamed to SafeExec() and all execution
443    functions are tried (exec, shell_exec, system, passthru)
444    are tried in case one or more are disabled
445    (thanks bkainersØgmail*com)
446  * config_output_allow_enlarging has been removed from
447    phpthumb.class.php, and 'output_allow_enlarging' has
448    been removed from phpThumb.config.php
449  * New default detection method for
450    $PHPTHUMB_CONFIG['document_root']
451  * Bugfix: inconsitant handling of boolean parameters
452    passed "0" (isset vs !empty())  (thanks manniØzapto*de)
453  * Bugfix: text watermarks now support multiple lines
454    (thanks hanno*vandenbergØhccnet*nl)
455  * Bugfix: suppress error message in
456    ImageCreateFromStringReplacement()
457    (thanks srimandadapuØyahoo*com)
458  * Bugfix: 'aoe' was ignored in object mode
459    (thanks tonyØnylink*com)
460  * Bugfix: ResolveFilenameToAbsolute() failed on non-
461    existant filenames (file to be written, for example)
462  * Bugfix: 'aoe' parameter was ignored in cache filename
463    (thanks tonyØnylink*com)
464  * Bugfix: non-TTF watermark text had inverted opacity
465    scale. All 'wmt' is now 100=opaque, 0=transparent
466    (thanks mailØmmjaeger*com)
467  * Bugfix: cache file failed if document_root had
468    trailing slash.  (thanks lovingloboØgmail*com)
469  * Bugfix: [#1219422] Cache filename structure modified to
470    avoid excessively long filenames (cache filenames are
471    now limited to 142 characters + length of
472    $_SERVER['SERVER_NAME'])
473    (thanks trungieØusers*sourceforge*net)
474  * Bugfix: [#1211729] phpThumb.php fails to locate
475    phpThumb.config.php if the two files are in the same
476    directory but phpThumb.php is run through a sym link.
477    (thanks allanbushØusers*sourceforge*net)
478
479v1.5.4 - May 27, 2005
480  * Security issue with passthrough addressed
481    (thanks davidØint0x80*com)
482  * 'wmt' now reads TTF fonts from the config font
483    directory, or from anywhere if a path is specified in
484    the font filename
485    (thanks mailØmmjaeger*com)
486  * Changed default error_die_on_source_failure to true in
487    phpThumb.config.php
488  * Bugfix: Firefox (possibly other browsers) did not like
489    the new (faster) cache retrieval method with Location
490    header redirection if the cached filename does not have
491    a recognized filename extension (.jpeg, .png, .gif).
492    Cached images have therefore been renamed from *_jpeg to
493    *.jpeg and the _qXX parameter has been removed for PNG
494    and GIF output. Please use the included cache renamer:
495    /demo/phpThumb.demo.cacheconvert2.php
496    (thanks mailØmmjaeger*com)
497  * Bugfix: Changed "Content-type" to "Content-Type" in all
498    header calls
499  * Bugfix: 'wmt' text opacity was broken
500    (thanks mstuhuØweb*de)
501  * Bugfix: variable name typo in phpThumb.demo.object.php
502    (thanks mbØmarko-bischof*de)
503  * Bugfix: no GD support for source image format now
504    reported as such for remote images
505    (thanks andgu842Østudent*liu*se)
506  * Bugfix: very narrow images no longer produce Invalid
507    Image Dimensions error  (thanks mailØmmjaeger*com)
508
509v1.5.3 - May 4, 2005
510  ¤ Added new filters:
511    - 'wb' (White Balance) [ex: &fltr[]=wb|<c>]
512      where <c> is the target hex color to white balance
513      on, this color is what "should be" white, or light
514      gray. The filter attempts to maintain brightness so
515      any gray color can theoretically be used. If <c> is
516      omitted the filter guesses based on brightest pixels
517      in each of RGB
518  ¤ Cached files are used by a Location header instead of
519    being passed through phpThumb.php using readfile
520    (thanks newtnØthrillnerds*com)
521  * Added 'cache_source_filemtime_ignore_local' and
522    'cache_source_filemtime_ignore_remote' configurations
523    to ignore source modification and/or removal
524    (thanks raynerapeØgmail*com)
525  * Added 'md5s' parameter, which is the MD5 hash of the
526    source image -- if this parameter is passed with the
527    hash of the source image then the source image is not
528    checked for existance or modification and the cached
529    file is used (if available). If 'md5s' is passed an
530    empty string then phpThumb.php dies and outputs the
531    correct MD5 hash value.  This parameter is the single-
532    file equivalent of 'cache_source_filemtime_ignore_*'
533    configuration paramters  (thanks raynerapeØgmail*com)
534  * Added /demo/phpThumb.demo.object.php
535  * Unused parameter 'bgt' removed
536  * Added empty /cache/source/ directory to distribution
537  * Added /demo/ and /docs/ and /fonts/ directories
538  * Set default config_use_exif_thumbnail_for_speed = false
539  * Bugfix: Wrapped output buffering around all
540    include_once calls to prevent headers getting sent
541    accidentally
542  * Bugfix: md5_file and imagecolorallocatealpha calls
543    were undefined under PHP v4.1.x  (thanks tomØemile*com)
544  * Bugfix: default 'f' parameter ('jpeg') overrode
545    config_output_format in object mode
546    (thanks mailØmmjaeger*com)
547  * Bugfix: suppressed error message for IIS shell_exec
548    errors  (thanks tomØemile*com)
549  * Bugfix: Added PHP version check for stream_set_timeout
550    for HTTP sources  (thanks raynerapeØgmail*com)
551  * Bugfix: overlay margins of 0.5-1.0 cause invalid image
552    dimensions error  (thanks mailØmmjaeger*com)
553  * Bugfix: underlay margins were not working
554    (thanks mailØmmjaeger*com)
555  * Bugfix: [#1187735] EXIF thumbnails were incorrectly
556    output to the browser directly if requested thumbnail
557    exactly matched EXIF dimensions
558    (thanks rebootØusers*sourceforge*net)
559
560v1.5.2 - April 20, 2005
561  ¤ phpThumb.config.php is renamed to
562    phpThumb.config.php.default to prevent accidental
563    overwriting. Please migrate your old settings to the new
564    file, delete your old config and rename the default to
565    phpThumb.config.php
566  ¤ Added new filters:
567    - 'blur' (Blur) [ex: &fltr[]=blur|<radius>]
568      where (0 < <radius> < 25) (default = 1)
569      (thanks thoensiØnetcom*no for code)
570    - 'hist' (Histogram)
571      [ex: &fltr[]=hist|<b>|<c>|<w>|<h>|<a>|<o>|<m>]
572      Where <b> is the color band(s) to display, from back
573      to front (one or more of "rgba*" for Red Green Blue
574      Alpha and Grayscale respectively);
575      <c> is a semicolon-seperated list of hex colors to
576      use for each graph band (defaults to FF0000, 00FF00,
577      0000FF, 999999, FFFFFF respectively);
578      <w> and <h> are the width and height of the overlaid
579      histogram in pixels, or if <= 1 then percentage of
580      source image width/height;
581      <a> is the alignment (same as for "wmi" and "wmt");
582      <o> is opacity from 0 to 100;
583      <m> is the edge (and inter-tile) margin in percent
584    - 'over' (OVERlay/underlay image) overlays an image on
585      the thumbnail, or overlays the thumbnail on another
586      image (to create a picture frame for example)
587      [ex: &fltr[]=over|<i>|<u>|<m>|<o>]
588      where <i> is the image filename; <u> is "0" (default)
589      for overlay the image on top of the thumbnail or "1"
590      for overlay the thumbnail on top of the image; <m> is
591      the margin - can be absolute pixels, or if < 1 is a
592      percentage of the thumbnail size [must be < 0.5]
593      (default is 0 for overlay and 10% for underlay);
594      <o> is opacity (0 = transparent, 100 = opaque)
595      (thanks raynerapeØgmail*com, shabazz3Ømsu*edu)
596    - 'gray' (GRAYscale) [ex: &fltr[]=gray]
597      is an alias to 100% desaturation
598  * New configuration 'cache_source_directory' allows the
599    unprocessed source image to be cached when source is
600    HTTP or from a database  (thanks raynerapeØgmail*com)
601  * Added 'cache' subdirectory to phpThumb distribution
602    since this is the default location for the cache
603    folder.
604  * Default value for config_error_die_on_source_failure
605    changed to true  (thanks shabazz3Ømsu*edu)
606  * Added checks to make sure $this->gdimg_output is a
607    resource before allowing calls to RenderToFile or
608    OutputThumbnail
609  * Better error messages when phpThumb.config.php missing
610  * Bugfix: watermark overlay margins were wrong
611  * Bugfix: 'lvl' filter no longer processes if not needed
612  * Bugfix: off-server thumbnail error message was wrong
613  * Bugfix: several PHP safe mode fixes
614    (thanks virginiaØalertbutnotalarmed*com)
615  * Bugfix: cache filenames broken for filter parameters
616    with paths  (thanks srcericØusers.sourceforge.net)
617
618v1.5.1 - April 06, 2005
619  * Added some security upgrades:
620    - 'config_*' parameters cannot be passed by GETstring
621    - 'config_nooffsitelink_require_refer' is a new option
622      (disabled by default) that only allows calls to
623      phpThumb() from a refering domain listed in
624      'config_nooffsitelink_valid_domains'
625    - disallowed paramters now generate an error image if
626      present in the GETstring
627    - 'high_security_enabled' if set to true enabled new
628      mode of verification, and requires a small function
629      to generate a hash for calls to phpThumb:
630      echo '<img src="'.phpThumbURL('src=pic.jpg&w=50').'">';
631      This function is supplied at the bottom of
632      phpThumb.config.php  (thanks paulØstonie*co*uk)
633  ¤ Added new parameter "new" (phpThumb.php only) which can
634    create a new image without using "src" parameter. Set
635    "&new=<b>|<o>" where <b> is the background hex color,
636    <o> is (optional) opacity (0=transparent, 100=opaque).
637    (thanks mailØmmjaeger*com)
638  ¤ Added new filters:
639    - 'sep' (Sepia) [ex: &fltr[]=sep|<value>|<color>]
640      where <value> is a number between 0 and 100 for the
641      amount of colorization (default=50), and <color> is
642      the hex color to colorize to (default=A28065).
643      (thanks mailØmmjaeger*com)
644    - 'lvl' (Levels) [ex: &fltr[]=lvl|<channel>|<min>|<max>
645      where <channel> can be one of 'r', 'g', 'b', 'a' (for
646      Red, Green, Blue, Alpha respectively), or '*' for all
647      channels based on average grayscale value (default).
648      <min> and <max> are the clip points for the levels
649      (range = 0-255) and are set to clip 0.1% of each end
650      by default. Use -1 for min and/or max to invoke auto-
651      detect mode. Using default parameters (&fltr[]=lvl)
652      is similar to Auto Contrast in Adobe Photoshop.
653  * Bugfix: Image MIME header was incorrect for cached
654    images.
655  * Bugfix: Cache was broken for images pulled from a
656    database in phpThumb.php
657    (thanks dragutin*cvetkovicØdragontech-ltd*com)
658  * Bugfix: Hotlink/Offsite prevention was broken when
659    image was already cached.
660  * Bugfix: ImageMagick path was incorrect in some cases
661    (thanks joshgØtwcny*rr*com)
662  * Bugfix: ProportionalResize() in phpthumb.functions.php
663    had a broken check for default values
664    (thanks Bert*ClaeysØarinso*com)
665  * Bugfix: transparency now preserved for GIF & PNG input
666    (thanks tristanØcyrax*ch)
667  * Bugfix: transparency now supported for GIF output
668    (thanks j_ivanovØabv*bg)
669  * Bugfix: alpha transparency could be lost in ApplyMask()
670    (thanks analyzerxØgmail*com)
671  * Bugfix: errors on 16/32-bit BMPs
672    (thanks mattØhellstrominc*com)
673  * Bugfix: Added datestamp to cached filenames for remote
674    (HTTP) files, and better warning for caching
675    (thanks a*gambinoØabramo*it)
676  * Faster BMP parsing  (thanks sgeppertØmail*utexas*edu)
677  * Added 'error_die_on_source_failure' configuration to
678    allow invalid source images to show an error rather
679    than output unmodified source image.
680    (thanks mindpixelØgmail*com)
681  * Added $phpThumb->fatalerror which will contain the
682    text of the fatal error if 'error_die_on_error' is
683    false.  (thanks mindpixelØgmail*com)
684
685v1.5.0 - February 4, 2005
686  * Added new filter parameter 'fltr' that is an array and
687    can apply multiple effects in sequence. Current filters
688    that can be called are:
689    - 'gam' (Gamma Correction) [ex: &fltr[]=gam|<value>]
690      where <value> can be a number >0 to 10+ (default 1.0)
691    - 'ds' (DeSaturate) [ex: &fltr[]=ds|<value>]
692      where <value> is a number between zero (no change)
693      and 100 (complete desaturation -- grayscale), or it
694      can be a negative number for saturation boost.
695      (thanks mailØmmjaeger*com)
696    - 'clr' (Colorize) [ex: &fltr[]=clr|<value>|<color>]
697      where <value> is a number between 0 and 100 for the
698      amount of colorization, and <color> is the hex color
699      to colorize to.  (thanks mailØmmjaeger*com)
700    - 'neg' (Negative) [ex: &fltr[]=neg]
701      inverts the color
702    - 'th' (ThresHold) [ex: &fltr[]=th|<val>] (range 0-255)
703      every grayscale pixel brighter than <val> is set to
704      white, every darker pixel is set to black
705      (thanks mailØmmjaeger*com)
706    - 'usm' (UnSharpMask) [ex: &fltr[]=usm|<a>|<r>|<t>]
707      where <a> is the amount (default = 80), <r> is the
708      radius (default = 0.5), <t> is the threshold
709      (default = 3).
710    - 'wmi' (WaterMarkImage)
711      [ex: &fltr[]=wmi|<f>|<a>|<o>|<m>] where <f> is the
712      filename of the image to overlay, <a> is the
713      alignment (one of BR, BL, TR, TL, C, R, L, T, B, *
714      where B=bottom, T=top, L=left, R=right, C=centre,
715      *=tile), <o> is opacity from 0 to 100, <m> is the
716      edge (and inter-tile) margin in percent
717    - 'wmt' (WaterMarkText)
718      [ex: &fltr[]=wmt|<t>|<s>|<a>|<c>|<f>|<o>|<m>|<n>]
719      where:
720      <t> is the text to use as a watermark,
721      <s> is the font size (1-5 for built-in font, or point
722        size for TrueType fonts),
723      <a> is the alignment (one of BR, BL, TR, TL, C, R, L,
724        T, B, * where B=bottom, T=top, L=left, R=right,
725        C=centre, *=tile),
726      <c> is the hex color of the text
727      <f> is the filename of the TTF file (optional, if
728        omitted a built-in font will be used)
729      <o> is opacity from 0 to 100,
730      <m> is the edge (and inter-tile) margin in percent
731      <n> is the angle
732      (thanks mailØmmjaeger*com)
733    - 'flip' [ex: &fltr[]=flip|x   or   &fltr[]=flip|y]
734      flip image on X or Y axis
735      (thanks mailØmmjaeger*com)
736    - 'elip' [ex: &fltr[]=elip]
737      similar to rounded corners but more extreme
738      (thanks mailØmmjaeger*com)
739    - 'mask' [ex: &fltr[]=mask|filename.png]
740      greyscale values of mask are applied as the alpha
741      channel to the main image. White is opaque, black
742      is transparent.
743    - 'bvl' (BeVeL) [ex: &fltr[]=bvl|<w>|<c1>|<c2>]
744      where <w> is the bevel width, <c1> is the hex color
745      for the top and left shading, <c2> is the hex color
746      for the bottom and right shading
747      (thanks mailØmmjaeger*com)
748    - 'fram' (FRAMe) draws a frame, similar to border but
749      more configurable  (thanks mailØmmjaeger*com)
750      [ex: &fltr[]=fram|<w1>|<w2>|<c1>|<c2>|<c3>]
751      where <w1> is the width of the main border, <w2> is
752      the width of each side of the bevel part, <c1> is the
753      hex color of the main border, <c2> is the highlight
754      bevel color, <c3> is the shadow bevel color
755    - 'drop' (DROP shadow)
756      [ex: &fltr[]=drop|<d>|<w>|<clr>|<a>]
757      where <d> is distance from image to shadow, <w> is
758      width of shadow fade (not yet implemented), <clr> is
759      the hex color of the shadow, and <a> is the angle of
760      the shadow (default=225)
761    - 'ric' (Rounded Image Corners)
762      [ex: &fltr[]=ric|<x>|<y>]
763      where <x> is the horizontal corner radius,
764      <y> is the vertical corner radius
765  * Split out filter functions into phpthumb.filters.php
766  * 'usa','usr','ust' parameters have been removed and
767    replaced with the 'fltr' call (see above)
768  * 'wmf','wma','wmp','wmm' parameters have been removed
769    and replaced with the 'fltr' call (see above)
770  * 'brx','bry','bw' parameters have been removed
771    and replaced with the 'fltr' call (see above)
772  * 'bw=0' to force aspect ratio has been replaced by
773    'far=1' (force aspect ratio)
774  * Filters that produce transparent sections (such as
775    Rounded Corners, Ellipse, Mask, Rotate) are now output
776    as 32-bit/alpha PNG, or flattened with "bg" background
777    color for JPEG/GIF output  (thanks mailØmmjaeger*com)
778  * Added 'zc' (Zoom Crop) parameter
779    (thanks arcookeØgmail*com, mailØmmjaeger*com,
780    pl16056Ømacnews*de, kezzasmØusers*sourceforge*net, etc)
781  * AutoRotate now can use EXIF orientation tag ('ar=x')
782  * Added 'ttf_directory' configuration parameter for
783    TrueType watermarks  (thanks mailØmmjaeger*com)
784  * Added "Last-Modified" header to cache portion of
785    phpThumb.php which should allow better user-side
786    caching of thumbnails.  (thanks derekØnetsimple*net)
787  * Added 'cache_disable_warning' configuration which will
788    cause an error image to be displayed if the cache
789    directory isn't configured, unless explicitly disabled
790  * Added 'nooffsitelink_enabled' configuration which
791    prevents linking to thumbnails on your server from
792    another domain. Defaults to watermaking linked images
793    with text warning message.
794    (thanks anteØabstraktmedia*com)
795  * Added 'error_image_width' & 'error_image_height'
796    config variables  (thanks mailØmmjaeger*com)
797  * Rounded image corners now requires GD v2.0.1 and PHP
798    v4.3.2. Corners are transparent (for PNG output) and
799    antialiased.
800  * Rotate by arbitary angle ('ra') now has a transparent
801    background for PNG output
802  * Cached filenames now have an additional component for
803    applied filters
804  * Cached filenames now have an additional component for
805    HTTP referer, but only if the refering domain does not
806    match the domain of the server (designed to prevent
807    imaged linked from offsite with error message being
808    cached the same as the local cached version)
809  * Added setSourceImageResource() to allow use of an
810    existing GD image resource for thumbnailing
811    (thanks danØgonmad*co*uk)
812  * Now including phpThumb.demo.demo1.php (main demo page)
813    and phpThumb.demo.demo2.php (configurable demo page)
814    in the phpThumb() distribution
815    (thanks mailØmmjaeger*com)
816  * Added many more debugging/tracing message points
817  * Added set_time_limit(30) to phpThumb.php
818  * Bugfix: ImageMagick not used if `which convert` points
819    to a link and not a file  (thanks bkainersØgmail*com)
820  * Bugfix: 'bgt' parameter was sometimes misspelled 'bct'
821  * Bugfix: 'wmm' couldn't be set to zero
822  * Bugfix: 'wmm' parameter was only applied to top/left of
823    image
824  * Bugfix: auto-detection of document_root failed on
825    Windows  (thanks xbartvØhotmail*com)
826  * Bugfix: phpThumbDebug could be bypassed if EXIF
827    thumbnail present  (thanks olgradinØcheckfree*com)
828  * Bugfix: cache file wasn't being written if EXIF data
829    was used directly  (thanks olgradinØcheckfree*com)
830  * Bugfix: phpThumb.demo.showpic.php was broken by popup
831    blockers for images larger than the screen.
832    (thanks mailØmmjaeger*com)
833
834v1.4.11 - October 11, 2004
835  * Changed sx/sy/sw/sh parameters to allow decimal values
836    (>0 but <1) to represent percent of source image
837    (thanks mordorØdefault*co*yu)
838  * Added config_error_silent_die_on_error for no-output
839    die on fatal errors (thanks johannesØformformat*se)
840  * Added auto-detection of probable 'document_root' if
841    that key is not available in $_SERVER
842  * Bugfix: Check `which convert` failing with error
843    message (thanks chadØchadshome*com)
844  * Bugfix: Image cropping to invalid areas outside source
845    image caused text output (thanks mordorØdefault*co*yu)
846
847v1.4.10 - August 22, 2004
848  * Bugfix: cached files not written in most cases
849    (thanks kizerØcourtkizer*com, snuffØinbox*ru)
850  * Bugfix: ApacheLookupURIarray() crashes in CGI mode
851    (thanks hanskrentelØyahoo*de)
852  * Bugfix: phpthumb_bmpfile2gd() was broken
853    (thanks iØmindlace*net)
854
855v1.4.9 - August 9, 2004
856  * Bugfix: changed destination filename in RenderToFile()
857    (thanks alextkØwalla*com)
858  * Bugfix: problems with HTTP image source when called as
859    an object (thanks alextkØwalla*com)
860
861v1.4.8 - August 4, 2004
862  * $this->error has changed to $this->errors and is now
863    an array of strings (instead of a single string)
864  * A lot more error conditions (invalid cache directory,
865    etc) are now reported in $this->errors
866    (thanks aidan*slingsbyØlineone*net)
867  * Removed all define(CONSTANT) in the phpThumb()
868    constructor - you can now access:
869    - PHPTHUMB_VERSION   == $this->phpthumb_version;
870    - PHPTHUMB_OSSLASH   == $this->osslash;
871    - PHPTHUMB_ISWINDOWS == $this->iswindows;
872  * Bugfix: Error message from apache_lookup_uri() failing
873    under Apache2 now reported cleanly
874    (thanks derbaffØyahoo*com)
875  * Bugfix: missing phpthumb_functions:: class name for
876    ImageTypeToMIMEtype() call in ExtractEXIFgetImageSize()
877    (thanks aidan*slingsbyØlineone*net)
878  * Bugfix: ImageTypeToMIMEtype() was broken for PHP older
879    than v4.3.0  (thanks georg*schreiberØbatch-pc*es)
880  * Bugfix: RenderToFile() now returns false if it fails
881    (thanks phpthumbØsendthemtomir*com)
882  * Bugfix: Corrupt JPEG/PNG/GIF files that failed
883    ImageCreateFrom*() were not being passed to ImageMagick
884    for fallback, nor passed through unmodified if IM was
885    unavailable or failed  (thanks r*chongØmogenic*net)
886  * Bugfix: Improved backtick safe-mode limit detection
887    (thanks 1Øadamcarrington*com)
888  * Bugfix: EXIF thumbnails were being used as source when
889    they should not be  (thanks aidan*slingsbyØlineone*net)
890  * Bugfix: Cached files were not being created or used
891    properly  (thanks aidan*slingsbyØlineone*net)
892  * Bugfix: max_source_pixels not set correct on some PHP
893    versions  (thanks derbaffØyahoo*com)
894  * Bugfix: 'down' parameter ignored for unprocessed and
895    cached files  (thanks aidan*slingsbyØlineone*net)
896
897v1.4.7 - July 27, 2004
898  * Included a modified version of "module.graphic.bmp.php"
899    from getID3() [http://getid3.sourceforge.net] as
900    "phpthumb.bmp.php" for BMP reading support without
901    ImageMagick. It works, but it's *very* slow, especially
902    for large images (as in 640x480 or larger).
903  * Added check to prevent error messages when shell_exec
904    is disabled (thanks webmasterØneester*com)
905
906v1.4.6 - July 22, 2004
907  * Added new section to phpthumb.config.php where you can
908    easily specify defaults for any parameter you can set
909    in the URL. Normally URL parameters override these
910    default values, unless you set
911    $PHPTHUMB_DEFAULTS_GETSTRINGOVERRIDE to false
912  * Renamed phpthumb.config.php to phpThumb.config.php
913    since it's part of phpThumb.php, not part of
914    phpthumb.class.php (change of case only, will not
915    affect Windows servers, but will affect *nix)
916  * Changed cached filename of rawImageData-source images
917    from urlencode('') to md5(rawImageData). This should
918    make caching thumbnails from non-file sources more
919    reliable.
920  * Added ImageMagick debugging information
921  * Removed unneccesary default values from cached
922    filenames. This may invalidate some previously cached
923    files. phpthumb.demo.cacheconvert.php has been updated
924    to handle v1.4.1-1.4.5 => v1.4.6+ cache filenames.
925  * Bugfix: Cached filename did not have file-modified
926    datestamp when used as implmented in phpThumb.php
927  * Bugfix: RenderToFile() now accepts relative filenames
928    (thanks aidan*slingsbyØlineone*net)
929  * Bugfix: AllowOutputEnlargment setting was ignored when
930    falling back to ImageMagick
931  * Bugfix: IgnoreAspectRatio setting was ignored when
932    falling back to ImageMagick
933  * Bugfix: config_temp_directory was ignored in gd_info()
934    in PHP < v4.3.0 when phpinfo() returns no GD
935    information (due to safe mode restrictions)
936    (thanks mimyrtekØmyrtek*com)
937
938v1.4.5 - June 28, 2004
939  * Added new parameter 'down' where you can specify a
940    filename and OutputThumbnail() will cause the file
941    to be downloaded rather than displayed in the browser.
942    Demo images on silisoftware.com/scripts/phpThumb/demo/
943    can all be downloaded to show off this feature.
944    (thanks stuartscrumpØyahoo*co*uk)
945  * Added ability to remove old files from cache directory
946    based on last-access time and/or number of cached files
947    and/or total size of cached files
948    (thanks jrmhaigØyahoo*co*uk)
949  * Added public CleanUpCacheDirectory() for cache cleaning
950    (see above) if you need to call it manually
951  * Included new file phpThumb.demo.cacheconvert.php to
952    convert old-style cache names to the current (and
953    hopefully last!) standard naming convention.
954    (thanks joshgØtwcny*rr*com)
955  * Added configuration value 'document_root' for rare case
956    when $_SERVER['DOCUMENT_ROOT'] return incorrect value
957    (thanks joshgØtwcny*rr*com)
958  * Now tries to create thumbnail with ImageMagick if
959    ImageCreateFromJPEG etc fails, before falling back to
960    outputting unmodified source data.
961  * Bugfix: HTTP image sources were broken
962    (thanks fritz*weisshartØt-online*de)
963  * Bugfix: ImageMagick callout wasn't being used if EXIF
964    thumbnail was available
965    (thanks joshgØtwcny*rr*com)
966  * Bugfix: HTTP src with space in filename was broken
967    (thanks drØrhodes360*com)
968  * Bugfix: version_compare_replacement() was broken for
969    PHP v4.1.0+
970
971v1.4.4 - June 8, 2004
972  * Bugfix: network-share (Windows) source filenames were
973    not possible. Now works, but you must use the network
974    name and not a mapped drive name, for example:
975    \\othercomputer\file.jpg - good
976    \\192.168.2.1\file.jpg - good
977    z:\file.jpg - won't work
978    This is a PHP limitation (see www.php.net/file-exists)
979    Note: you may want to use "/" slashes instead of "\" if
980    you have magic_quotes_gpc enabled to avoid stripslashes
981    problems.
982    (thanks drØrhodes360*com)
983  * Bugfix: missing "phpthumb_functions::" in
984    ImageCreateFromStringReplacement()
985    (thanks zapletalØsoftwaremedia*cz)
986
987v1.4.3 - May 25, 2004
988  * Added new configuration variable 'config_temp_directory'
989    to allow you to specify a writable directory name for
990    temp files if you do not have access to the system temp
991    directory on your server (Safe Mode restrictions etc)
992    (thanks nickØregenmag*com)
993  * Added new configuration variable
994    'config_error_die_on_error' which can be set to false if
995    you want to retrieve the error message without having it
996    dumped as an image - the error message is now available
997    in $phpThumb->error
998  * Images are passed through directly with no processing
999    and no caching if no parameters are passed to alter the
1000    image (resize, crop, sharpening, etc)
1001    (thanks nchmuraØusers*sourceforge*net)
1002  * Added new configuration variable 'config_disable_debug'
1003    which disabled phpThumbDebug from working if you have
1004    security concerns about the displayed information
1005  * Bugfix: Added detection at the top of phpThumb.php for
1006    no-GD errors to avoid parse errors later in the code
1007    (thanks nickØregenmag*com)
1008  * Bugfix: RoundedImageCorners() had some off-by-1 errors
1009    (thanks ola*thunbergØhome*se)
1010
1011v1.4.2 - May 10, 2004
1012  * Added IE-compatability mode for transparent corners
1013    (set 'bct=256')
1014  * Bugfix: version_compare_replacement() was broken in PHP
1015    older than 4.1.0
1016    (thanks nickØregenmag*com)
1017
1018v1.4.1.1 - May 9, 2004
1019 * Bugfix: Removed ImageTrueColorToPalette hack.
1020   See http://bugs.php.net/bug.php?id=28341
1021 * Bugfix: 'maxb' option for PNG/GIF output incorrect
1022   bit depth under some circumstances
1023
1024v1.4.1 - May 9, 2004
1025 * Added 'maxb' (MAXimum Bytes) option to auto-set the
1026   output image quality (JPEG) or bit depth (PNG/GIF) so
1027   that the output thumbnail is less than 'maxb' bytes
1028   (thanks e_belleØhotmail*com)
1029 * Added 'bgt' parameter to make rounded corners from
1030   'brx'/'bry' option transparent when used with PNG
1031   output. Note: PHP/GD appears buggy at this time, so this
1032   option must force output to 256-color mode for this
1033   to work. The feature will be updated when a non-broken
1034   version of PHP/GD is released.
1035   (thanks javierØircorion*net)
1036 * Bugfix: Caching was broken
1037   (thanks mikeØgdaymate*nl, jurewiczØgo3*pl)
1038
1039v1.4.0 - April 30, 2004
1040 * Rewritten as a PHP class. Split into several files:
1041   - phpthumb.class.php        = most processing code
1042   - phpthumb.functions.php    = support functions
1043   - phpthumb.readme.txt       = usage instructions
1044   - phpthumb.changelog.txt    = this file
1045   - phpthumb.config.php       = configuration file
1046   - phpthumb.gif.php          = Non-GD GIF reading support
1047   - phpthumb.unsharp.php      = Unsharp Masking support
1048   - phpThumb.php              = demo script that works
1049       exactly as previous versions; this is a drop-in
1050       replacement for existing phpThumb() installations
1051   - phpThumb.demo.showpic.php = demo script that auto-
1052       resizes a popup window to the size of the image
1053       shown. Useful if you want popup images but do not
1054       know the large image size beforehand
1055 * Added optional call-out to ImageMagick (if avaible) if
1056   source image is larger than PHP memory restrictions
1057   allow. ImageMagick installation should be auto-detected
1058   under *nix, but you should configure 'imagemagick_path'
1059   for use under Windows.
1060 * 'max_source_pixels' is now auto-calculated from PHP
1061   configuration settings. Due to various server-level
1062   restrictions that may override PHP settings this
1063   calculated value may not always be correct, and you may
1064   have to specify the value manually.
1065 * Added rounded-corner border option. You must specify
1066   both 'brx' (horizontal radius) and 'bry' (vertical
1067   radius) as well as 'bw' (border width). If 'bw' is
1068   greater than zero, the image will be shrunk to fit
1069   inside the border with a margin of background color.
1070   If 'bw' is zero, the corners of the image will be
1071   cut off and filled with background color.
1072   (thanks javierØircorion*net)
1073 * Minor speed improvement for unsharp masking
1074
1075v1.3.7 - March 28, 2004
1076 * Bugfix: GD version detection was broken on PHP <4.3.0
1077   on servers where phpinfo() was disabled
1078   (thanks javierØircorion*net)
1079 * Bugfix: Non-GD GIF support was broken on restricted
1080   PHP configurations
1081   (thanks javierØircorion*net)
1082 * Bugfix: phpThumb.gif.php output error messages if PHP
1083   was running in Safe Mode
1084 * Added 'iar' parameter (Ignore Aspect Ratio) to allow
1085   non-proportional resizing (stretch image to fit).
1086   You must specify 'h' and 'w' to use this option.
1087   (thanks javierØircorion*net)
1088
1089v1.3.6 - March 14, 2004
1090  * Bugfix: was broken when register_globals turned on
1091    (thanks joshgØtwcny*rr*com)
1092  * Bugfix: Images with transparent backgrounds now have
1093    the background color filled with the color specified
1094    by the 'bg' parameter
1095  * Bugfix: ImageCreateFromString() is broken in the
1096    non-bundled GD. Added workaround, but please use
1097    the bundled version of GD if possible
1098    (thanks dnØxbe*ch)
1099  * Bugfix: EXIF thumbnail caching was broken
1100  * Bugfix: EXIF thumbnail handling was broken for PHP
1101    v4.2.x
1102    (thanks smithk1Øshaw*ca)
1103  * Bugfix: Image borders with GD2 were misaligned
1104  * Bugfix: virtual paths/filenames like /~user/foo.jpg
1105    should now work properly, if PHP is installed as an
1106    Apache module (see www.php.net/apache-lookup-uri)
1107  * Bugfix: contents of any non-image file could be
1108    displayed (including PHP & HTML files)
1109    (thanks arsyanØarsyan*com)
1110  * Added rotation parameters 'ra' and 'ar'
1111    (thanks drØrhodes360*com)
1112  * Added $CONFIG['output_allow_enlarging'], defaulted
1113    to false, to prevent smaller-than-max-size images
1114    from being enlarged beyond their original size. If
1115    you want to be able to enlarge images, set this to
1116    false. Can be overridden with the 'aoe' parameter
1117    (thanks dnØxbe*ch)
1118  * Changed all configuration variables to be under one
1119    array named $CONFIG
1120  * Moved color and font options for ErrorImage() to
1121    $CONFIG variables
1122  * Changed cached filename structure (again) to a more
1123    flexible format that can handle future expansion
1124    (old cached files are invalid and will be recreated)
1125  * Added more debugging code to phpThumbDebug
1126
1127v1.3.5 - February 29, 2004
1128  * Added capability to use EXIF thumbnail that may be
1129    embedded in source image (often is in digital camera
1130    JPEGs) and source image dimensions are larger than
1131    $config_max_source_pixels. This will overcome the
1132    limitation where PHP runs out of memory processing
1133    large images (usually >1600x1200). EXIF thumbnail
1134    extraction requires PHP v4.2.0 or higher and EXIF
1135    support compiled into PHP (or php_exif extension)
1136  * Eliminated intermediate read-file-to-memory stage if
1137    image is created from local file. Should allow
1138    larger images to be processed without running out of
1139    memory.
1140  * Added optional 'goto' parameter to be used with the
1141    'file' parameter, where 'goto' is a URL that is
1142    redirected to after image is rendered to file
1143    (thanks wimbleØwebdonors*com)
1144  * Added optional 'xto' parameter that will bypass all
1145    processing and just return the embedded EXIF
1146    thumbnail, if available.
1147  * Added error-handling if ImageTypes() is unavailable
1148
1149v1.3.4 - February 15, 2004
1150  * Custom error image option (&err=img.jpg) which can
1151    also be set as $config_error_message_image_default
1152    (thanks carlØ4thstar*net)
1153  * &f=text will now output plain-text error messages
1154  * ErrorImage() now used for anti-hotlink messages (if
1155    $config_nohotlink_erase_image is true)
1156
1157v1.3.3 - February 5, 2004
1158  * Bugfix: Added stripslashes() to filenames if
1159    magic_quotes_gpc is enabled
1160    (thanks arsyanØarsyan*com)
1161  * Output can now be rendered to a file only (not to
1162    browser) specified by the 'file' parameter
1163    (thanks arsyanØarsyan*com)
1164  * JPEG quality now has a maximum of 95%, as specified
1165    in the GD documentation
1166
1167v1.3.2.1 - February 3, 2004
1168  * Bugfix: gd_version() was broken for GD v2.0+
1169  * Bugfix: removed debugging code
1170
1171v1.3.2 - February 3, 2004
1172  * Bugfix: when borders are enabled, portait images
1173    with no width constraint, or landscape images with
1174    no height constraint were smaller than neccesary by
1175    double the border width
1176    (thanks jjjØxs4all*nl)
1177  * Added unsharp mask option thanks to Torstein Hønsi:
1178    http://www.vikjavev.com/hovudsida/umtestside.php
1179    Note: requires GD v2.x to function
1180    (thanks jjjØxs4all*nl)
1181  * Updated cache filenames to reflect new parameters,
1182    this means old cached files will need to be deleted
1183    (or not, they just will never get called again) and
1184    new cached versions will be created.
1185  * Added caching to gd_info() calls for minor speedup
1186
1187v1.3.1 - February 2, 2004
1188  * Added optional border (width and color configurable)
1189    (thanks arsyanØarsyan*com)
1190  * Added option to create fixed-dimension thumbnails
1191    regardless of source aspect ration. Set the 'bw'
1192    (BorderWidth) parameter (even to 0) and this will be
1193    enabled. Outside the actual image will be filled
1194    with 'bg' color (default FFFFFF)
1195    (thanks arsyanØarsyan*com)
1196
1197v1.3.0 - January 27, 2004
1198  * Added watermarking option to overlay thumbnails with
1199    a semi-transparent watermark image (copied from a
1200    seperate source watermark image)
1201    (thanks arsyanØarsyan*com)
1202  * Added option for absolute filenames (on both Windows
1203    and *nix) outside the DOCUMENT_ROOT directory
1204  * Added debug output dump for diagnosing problems)
1205
1206v1.2.8 - January 19, 2004
1207  * added ability to specify relative pathnames as well
1208    as absolute pathnames (pathname is relative to the
1209    location of phpThumb.php if the passed source does
1210    not begin with "/"
1211
1212v1.2.7 - January 7, 2004
1213  * Added patch to allow use of PHP older than 4.1.0
1214    (or GD without PNG support) for non-GD GIF support
1215    (thanks hostwebserverØhotmail*com)
1216
1217v1.2.6 - January 4, 2004
1218  * Added patch to allow use of PHP older than 4.1.0
1219    (without the superglobals arrays)
1220
1221v1.2.5 - December 26, 2003
1222  * Added configuration options for default output image
1223    format and max width/height
1224
1225v1.2.4 - December 20, 2003
1226  * Bugfix: temp directory for non-native GD support not
1227    always returning valid directory
1228  * Caching feature reintroduced (see configuration)
1229
1230v1.2.3 - December 19, 2003
1231  * Added anti-hotlink code so the thumbnail script on
1232    one domain cannot be used by another domain. The
1233    list of allowed domains defaults to the current
1234    domain but is configurable below as
1235    $config_nohotlink_valid_domains. The message, text
1236    size, colors and whether to blank the image or not
1237    are also configurable
1238  * Bugfix: URL image sources were not able to use the
1239    non-GD GIF-reading functions
1240
1241v1.2.2 - December 17, 2003
1242  * Added option to use http:// URL as image source
1243
1244v1.2.1 - December 11, 2003
1245  * Added option to get source data from a database
1246    rather than a physical file
1247  * Bugfix: resize not proportional when wide image
1248    limited more by max height than max width
1249    Thanks mathias_strasserØgmx*net
1250  * Removed caching code
1251
1252v1.2.0 - December 10, 2003
1253  * Added GIF support for versions of GD that do not
1254    have built-in GIF support (v1.6.x) via the "GIF
1255    Util" class by Fabien Ezber (www.yamasoft.com)
1256    GD's built-in GIF-reading functions are faster, and
1257    are present in PHP v4.3.0 or newer, but all versions
1258    of GD can display resized GIF thumbnails now.
1259
1260v1.1.2 - October 26, 2003
1261  * check for source image existance to prevent text
1262    error messages
1263  * if GD not available, a GIF saying "no GD" is shown
1264    instead of showing the original image
1265  * Cache feature introduced
1266
1267v1.1.1 - September 28, 2003
1268  * better resize code by sfisher10Øcox*net
1269
1270v1.1.0 - September 1, 2003
1271  * initial public release
1272  * thumbnails can now be larger than source image
1273  * graphical error messages
1274
1275v1.0.0 - January 7, 2002
1276  * initial private release
Note: See TracBrowser for help on using the repository browser.