1Version 2.6.0 (Nov 19, 2003)
2----------------------------
3
4  - move Smarty::quote_replace() to Smarty_Compiler::_quote_replace() (messju)
5  - remove import of of attributes of {include_php} to php's namespace.
6    use $params[name] instead (messju)
7
8Version 2.6.0-RC3 (Nov 13, 2003)
9--------------------------------
10
11  - fix handling of $var.key inside [] (messju)
12  - fix handling of assign inside {insert}-tags (messju)
13  - fix handling if [...] inside triple-quotes in config-files (messju)
14  - fix handling of simple-math-operators inside modifiers (Dominik, messju)
15  - fix handling of trailing-slashes in open_basedir in
16    smarty_core_create_dir_structure() (packman, messju)
17
18Version 2.6.0-RC2 (Oct 8, 2003)
19-------------------------------
20
21  - apply modifiers only once to section-loop and foreach-from attrs (messju)
22  - remove use of _smarty_cached_paths-files (messju)
23  - remove Smarty::_plugin_implementation_exists() - use is_callable() (messju)
24  - ignore {strip}/{/strip) inside {strip}-blocks (messju)
25  - fixed removal of leading/trailing newlines in {strip}-blocks (messju)
26  - fixed proper escaping of " and ' with escape:javascript (messju)
27  - fixed bug in traversal of $smarty->plugins_dir-array. now the
28    first matching plugin is taken (messju)
29  - moved {strip} back into the compiler (messju)
30  - fixed config_load: handling of section-attribute and use of
31    multiple config-files in one template (atu, messju)
32
33Version 2.6.0-RC1 (August 11, 2003)
34-----------------------------------
35
36  - fixed status-header for cache_modified_check under cgi-sapi (messju)
37  - added optional parameter $cache_attrs to register_function() and
38    register_block(). $cache_attrs is an array containing attribute-
39    names that should be cached on calls to functions that have
40    $cacheable set to false. (messju)
41  - enabled registration of class-methods as callbacks for the register_*-
42    functions (use: array('classname', 'method_name')) as callback) (messju)
43  - added filepath caching (Monte)
44  - added optional assign-attribute to {capture}-tag (messju)
45  - added $cacheable-parameter to register_compiler_function() (messju)
46  - added $cacheable-parameter with default=true to register_function()
47    and register_block() (messju)
48  - add math speedup to core (Dominik, Monte)
49  - fix newlines for tags without template output (Monte)
50  - added config-option "request_use_auto_globals" to make auto-globals be
51    used as request vars instead of HTTP_*_VARS (messju)
52  - speed up config_load, simplify compiling (Monte)
53  - added block-methods for registered objects (Bharat Mediratta, messju)
54  - ignore one char resource names like c:foo.tpl (Monte)
55  - added default_resource_type feature (Monte)
56  - fix bug where config file starts with hidden section (boots, Monte)
57  - add discrete error checking pertaining to $cache_dir
58    and $compile_dir, their existance and writability (Monte)
59  - fixed behaviour of start=... for {counter} (messju)
60  - fixed assign for {counter} (messju)
61  - added params vdir, hdir and inner to html_table to allow looping
62    over the data in various directions (messju)
63  - allow spaces in literal tags (Paul Lockaby, Monte)
64  - speed up compiled templates, hardcode plugin filepaths
65    instead of dynamically calculate at runtime. (Monte)
66  - abstract many core components from Smarty.class.php,
67    speeding up core class instantiation (Monte)
68  - fixed bug in _create_dir_structure() when used with open_basedir-
69    restriction and relative paths (messju)
70  - use DIRECTORY_SEPARATOR exclusively, keep DIR_SEP for BC (Monte)
71  - changed "link" to "href" in html_image. "link" is still working
72    but deprecated (messju)
73  - html_image always renders an alt-tag now (default alt="") (messju)
74  - fixed assign attribute for multiple counters (messju)
75  - added simple math operators to variables (Monte)
76  - enabled array(&$obj. 'source', 'timestamp', 'secure', 'trusted')
77    as callback for register_resource() (messju);
78  - enabled array(&$obj, 'method') as callback for
79    $default_template_handler_func (messju)
80  - remove unnecessary close/open tags from compiled templates
81    (Monte)
82  - fixed errornous creation of '//' in image_path in html_image (messju)
83  - fix escapement of special chars for key vals in debug
84    console (Monte)
85  - fixed debug timing logic for config_load (Tom Sommer, Monte)
86  - all in-code doc comments converted to phpDocumentor format (Greg)
87  - moved strip from smarty core to plugin (Monte)
88  - moved config_load from smarty core to plugin (Monte)
89  - added &$repeat-parameter to block-functions (messju)
90  - enabled hex-constants in function.math.php (messju)
91  - enabled hex-constants (0x...) as function-attributes, inside if-statements
92    and as modifier-parameters (messju)
93  - fixed bug with passing $smarty as reference in Smarty.compiler.class
94    (messju)
95  - corrected output with {strip} and PHP tag newlines (Monte)
96  - added possibility to register function-callbacks as "array(&$obj, 'method)"
97    this affects register_function(), -block, -compiler_function, -modifier,
98    -prefilter, -postfilter, -outputfilter-functions() and $cache_handler_func
99    (messju)
100  - added <labels> to html_checkboxes and html_radios (Philippe, messju)
101  - added "labels"-options to turn off labels in html_checkboxes and _radios
102    (messju)
103
104Version 2.5.0 (April 11, 2003)
105------------------------------
106
107   - fixed bug with default modifier when passing integer 0
108     (Monte)
109   - change backtic syntax from $`foo` to `$foo` (Monte)
110   - recognize $foo[][] syntax inside embedded quotes without
111     backtics (Monte)
112   - name=123 is passed as an integer (not a string) to plugins now (messju)
113   - $length is now propagated to sub-values in debug_print_var (messju)
114
115Version 2.5.0-RC2 (March 26, 2003)
116----------------------------------
117
118    - made clear_cache() ignore compile_id, when clearing cache-groups (this
119      is when no $tpl_file is supplied) (messju)
120    - made onmouseout XHTML-compliant in function.popup.php (messju)
121    - applied local-var-naming-scheme to fetch() (messju)
122    - renamed $localvars to $_localvars in cache-file-handling-functions,
123      added _get_auto_id()-function (messju)
124    - swapped compile_id and cache_id in read_cache_file and write_cache_file
125      (messju)
126    - reverted patch for cache-file-handling (messju)
127    - made html_radios and html_checkboxes accept "selected" instead
128      of "checked" optionally. (messju)
129    - made compile_id ignored in clear_cache, made order of
130      auto_file_name $cache_id.$compile_id again, applied the the new
131      variable-naming-scheme for cache_file_handing functions (messju)
132    - removed notice of undefined var in _rm_auto() (messju)
133    - added warning message when an array is passed as
134      the "checked" value of html_radios (Monte)
135    - fixed errormessage in _compile_smarty_ref() (messju)
136    - updated docs for html_image "name" -> "file" (messju)
137    - fixed bug with html_options-optgroups (Nichlas L�fdahl, messju)
138    - cleaned up calls to readdir() (messju)
139    - fixed bug with passing multiple modifiers to a parameter
140      (Monte)
141    - updated docs for html_checkboxes, html_options and html_radios (messju)
142    - fixed wrong default "name" attribute for html_options (messju)
143    - html_checkboxes now expect the options as attribute "options" instead
144      of "checkboxes. html_radios expect "options" instead of "radios".
145      cleaned up indentiation (messju)
146    - fixed too greedy str_replace in trimwhitespace outputfilter (messju)
147    - html_checkboxes and html_radios passthru all unknown paramters now
148      additionally their output is now XHTML compliant (messju)
149    - html_options passthru all unknown paramters now (messju)
150    - fix link functionality of html_image, also make
151      output XHTML compatible (Hinrich Donner, Monte)
152    - append "@" to default modifier vars/args
153      supress possible warnings (Monte)
154    - fix problem with escaped double quotes (Monte)
155    - fix html_radios to not return an array (Monte)
156    - fixed length in modifier.truncate.php (messju)
157    - fixed handling of '$'-signs in trimwhitespace outputfilter (messju)
158    - fix bug that makes config files recompile every time
159      (Nagger, Monte)
160    - add dpi functionality to html_image, change "name"
161      parameter to "file" (Thomas Shulz, Monte)
162    - fix height/width parameter index in html_image (Gerard,
163      Monte)
164    - get rid of unsetting name and script attributes
165      to insert tag (Thomas Schulz, Monte)
166    - changed argument order of string_format modifier back,
167      was right in the first place (Monte)
168
169Version 2.5.0-RC1 (March 5, 2003)
170---------------------------------
171
172    - fixed notice in popup function (Nagger, Monte)
173    - fix "once" var compiling for include_php (Monte)
174    - added nl2br modifier to distribution (Monte)
175    - added html_image to distribution (Monte)
176    - added cat modifier to distribution (Monte)
177    - added html_table to distribution (Monte)
178    - added << >> <> support to if statments (SMK, Monte)
179    - fix _assign_smarty_interface to not overwrite keys
180      other than 'request' (Jerome Poudevigne, Monte)
181    - added html_checkboxes to distribution (Christopher Kvarme, Monte)
182    - added html_radios to distribution (Christopher Kvarme, Monte)
183    - fixed string_format modifier args (wrong order) (Paul
184      Lockaby, Monte)
185    - use tmp file for file writes, avoid file lock race (Monte)
186    - support syntax "$`smarty.config.foo`.tpl" for embedded
187      vars in quotes, and allow full dollar var syntax (Monte)
188    - add $smarty.config.varname variable for accessing config vars (Paul
189      Lockaby, Monte)
190    - silence PHP warnings in function.fetch.php (Eduardo,
191      Monte)
192    - added get_config_vars(), same basic functionality as
193      get_template_vars() (Monte)
194    - update get_template_vars() to be able to get
195      individual vars (Monte)
196    - fix minor logic in _fetch_template_info (Dennis Gearon,
197      Monte)
198    - fix cache groups with compile_id set (Monte)
199    - add support for merging appended vars (messju, Monte)
200    - allow null as function attribute value
201      (Andr� Rabold, Monte)
202    - support $foo->bar[index] syntax (Monte)
203    - add get_registered_object function (messju, Monte)
204    - treat unrecognized param attribute syntax as string (Monte)
205    - support $smarty.const.$foo syntax (messju, Monte)
206    - remove E_NOTICE warnings from debug.tpl,
207      escape modifier (Kanstantin, Monte)
208    - don't count non-ascii chars in count_words modifier
209      (Kanstantin, Monte)
210    - clean up param calls to _parse_var and _parse_attrs (Monte)
211    - define $template_source var, elude possible warning
212      (Monte)
213    - fix syntax problem with evaluating PHP constants (Monte)
214    - add @ and === as valid if statement tokens (Monte)
215    - enable error messages for config_load errors,
216      use $this->config_class for loading class name (Monte)
217    - fix html_options to not escape already escaped entities (Monte)
218    - send Last-Modified header on cache creation (Monte)
219    - check strict syntax of function attributes (Monte)
220    - dropped support for modifers on object parameters,
221      added support for objects as modifier parameters (Monte)
222    - fixed bug with decimal numbers in if statements (Monte)
223
224Version 2.4.2 (Feb 11, 2003)
225----------------------------
226    - support embedded variables in objects (Monte)
227    - fix bug with objects with no properties (M Mohr, Monte)
228    - support full dollar var syntax in quoted text (Monte)
229    - fixed bug in $smarty.const.FOO introduced in 2.4.1 (M
230      Mohr, Monte)
231
232Version 2.4.1 (Feb 6, 2003)
233---------------------------
234
235    - ignore case in IF statements (Rainer Collet, Monte)
236    - treat undefined constants as null (Ferdinand Beyer, Monte)
237    - fix problem with inserts and nested fetches
238      (Rainer Collet, Monte)
239    - added support for passing params to include_php
240      (Tim Riley, Monte)
241    - added support for math operators in if statements (Monte)
242    - added support for $foo->bar[$x].blah syntax (Monte)
243
244Version 2.4.0 (Feb 2, 2003)
245---------------------------
246
247    - fix known problems with php tag handling in templates
248      (recursion, echoing xml tags) (Monte)
249    - add support for object registration (Monte)
250    - add debug template to secure_dir, add template_dir
251      to secure_dir by default (Ferdinand Beyer, Monte)
252    - added support for assigned object access (Monte)
253    - fixed bug with directories named '0' (Frank Bauer, Monte)
254    - add javascript parameter to escape modifier (Monte)
255    - added calling function line numbers to syntax error
256      messages in compiler (Monte)
257    - added support for modifiers to function calls (Monte)
258    - support return value for custom functions
259      instead of echoing (but echo still works) (Monte)
260    - added direct access to constants
261      via $smarty.const.FOO (Monte)
262    - added support for passing modifiers
263      to static values (Monte)
264    - fix up regex code in compiler, more accurate and
265      maintainable (Monte)
266    - added day_value_format to html_select_date (Marcus
267      Bointon, Monte)
268    - assigned variables are no longer in global
269      namespace, saving extract() calls and speeding
270      up fetch() and display() linearly with no. of
271      assigned variables (Monte)
272    - added trimwhitespace output filter to dist. (Monte)
273    - fix popup function to allow newlines in text (Monte)
274    - escape html entities in html_options (Monte)
275    - fixed bug with label for html_options (Monte)
276    - added config_load API function (Monte)
277    - added caching to config file loading (Monte)
278    - added "extra" parameter to mailto function (Monte,
279      Massimiliano Perantoni)
280    - added mailto plugin to dist.  (Monte)
281
282Version 2.3.1 (Nov 19, 2002)
283----------------------------
284
285    - added optgroup support to html_options (Monte, Robert
286      Amos)
287    - set mtime on compile files so they match source
288      files (Monte, Peter Bowen)
289    - added proper support for open_basedir setting
290      (Monte, Alessandro Astarita)
291    - added strip variable modifier, updated docs (Monte)
292    - fixed access to $smarty.x variables as arrays. (Andrei)
293    - fixed errors with example setup docs (Monte, Matthew
294      Hagerty)
295    - added textformat block function (Monte)
296
297Version 2.3.0 (Aug 7, 2002)
298---------------------------
299
300    - added assign_by_ref() and append_by_ref() functions
301      (Bob Silva, Monte)
302    - changed default warning type for plugin errors from
303      E_USER_WARNING to E_USER_ERROR (Monte)
304    - added $all_extra, $hour_extra, $minute_extra,
305      $second_extra and $meridian_extra parameters to
306      html_select_time function (Rainer Collet, Monte)
307    - update debug console to print objects (Simon Willison,
308      Monte)
309    - fix Config_File class to not error when there are no
310      sections (Peter Kmet, Monte)
311    - add default modifier logic (Monte)
312    - updated popup_init to be xhtml compliant (Tom Oram, Monte)
313    - fix filename bug with windows (Gary Loescher, Monte)
314    - add ability to supply expire time in seconds when clearing
315      cache or compile files (Monte)
316    - add {debug} plugin to distribution (Monte)
317    - fixed bug with insert tags, loading from "script" attribute
318      when caching is enabled (Monte)
319    - fix bug with debug_tpl file path with Windows (.SMK., Monte)
320    - fix append() function with string/array problem (Monte)
321
322Version 2.2.0 (July 11, 2002)
323-----------------------------
324
325    - make debug.tpl work with any delimiter (Monte)
326    - change logic in assign() and append() to test var names
327      against != '' instead of empty() (Monte)
328    - fix PHP notice in append() function (Monte)
329    - allow $plugins_dir to be an array of directories
330      (Andreas Kossmeier, Monte)
331    - move debug.tpl to SMARTY_DIR, add to constructor (Monte)
332    - fixed warning message in function.assign_debug_info (Monte)
333    - fixed $template_dir, $compile_dir, $cache_dir, $config_dir,
334      $plugin_dir to respect include_path (Monte)
335    - fixed warning message with output filter array (Monte)
336    - add optional 2nd parameter to date_format, used as
337      the default date if the passed date is empty (Monte)
338    - gave $reset a default value in cycle plugin (Monte)
339    - fixed warnings with html_select_date and timestamp
340      functions (Monte)
341    - added support for sub directory exlusion format (Monte)
342    - added support for grouping by cache_id, compile_id
343      and segments thereof (Monte)
344    - changed cache and compile files to human readable
345      format (Monte)
346    - remove overlib.js file from distribution (Monte)
347    - fixed bug with 304 Not Modified response sending
348      content (Monte)
349    - fixed cycle function to respect delimiter after
350      initial setting (Monte)
351    - update $GLOBALS references to work properly with
352      track_globals settings (Michal Prinke, Monte)
353    - fixed bug in math function with call to assign
354      (Grigory V. Kareev, Monte)
355    - optimized for loops with count() function calls (Monte)
356    - add month_value_format attribute to html_select_date
357      plugin (Gary Loescher, Monte)
358    - made it possible to use simple variables inside [] for
359      indexing. (Andrei)
360    - added "once" attribute to {include_php}. (Monte)
361
362Version 2.1.1
363-------------
364    - added cycle function. (Monte)
365    - fixed bug with resource testing, and include_path. (Monte)
366    - fixed a bug with register_outputfilter function. (Monte)
367
368Version 2.1.0
369-------------
370
371    - introduced output filters. (Andrei)
372    - changed the way filters are loaded, added load_filter()
373      API function and $autoload_filters variable. (Andrei)
374    - added caching logic for expire times per cache file
375      (Norbert Rocher, Monte)
376    - fixed html_select_date when field separator is "/"
377      (Roberto Berto, Monte)
378    - added YYYY-MM-DD format support to html_select_date
379      (Jan Rosier, Monte)
380    - fixed cache_lifetime logic bug, also made -1 = never
381      expire (Monte)
382    - fixed directory separator issue for Windows. (Andrei)
383    - added ability to use simple variables as array indices or
384      object properties. (Andrei)
385    - added ability to unregister pre/postfilters plugins at
386      runtime. (Andrei)
387    - added 'htmlall' attribute to escape modifier. (Monte)
388    - added template_exists() API function. (Andrei)
389    - fixed a problem with using dynamic values for 'file'
390      attribute of {include_php} tag. (Andrei)
391    - added $smarty.template variable. (Andrei)
392    - fixed several plugins that would not work if the plugin
393      directory was not the default one. (Andrei)
394    - implemented support for block functions. (Andrei)
395    - made it possible to assign variables in pre/postfilter
396      plugins. (Andrei)
397
398Version 2.0.1
399-------------
400    - rename plugin .make_timestamp.php to shared.make_timestamp.php.
401      (Monte)
402    - changed crc32() generated values, replace '-' with 'N'. (Monte)
403    - added support for +/- N syntax in html_select_date year values.
404      (Monte)
405    - fixed behavior of inserts with script attribute. (Andrei)
406    - fixed bug with $smarty.cookies and $smarty.server. (Andrei)
407    - wordwrap and indent are missing from 2.0 release, now fixed.
408      (Monte)
409    - removed show_info_header and show_info_include variables. (Monte)
410
411Version 2.0.0
412-------------
413    - added "eval" function plugin for evaluating variables as
414      templates. (Monte)
415    - removed $tpl_file_ext class variable, no longer used. (Monte)
416    - added "hex" and "hexentity" escape types to escape modifier.
417      (Monte)
418    - removed dependency on PEAR. (Andrei)
419    - update popup_init to accept src attribute. (Monte, Duncan Forrest)
420    - implemented several optimizations, speeding up Smarty
421      significantly in most cases. (Andrei,Monte)
422    - implemented plugin architecture. (Andrei)
423    - added wordwrap and indent modifiers. (Monte)
424    - added support for 'If-Modified-Since' headers for cached content.
425      (Monte)
426    - removed insert_tag_check class variable, no longer needed. (Monte)
427    - optimized cache fetches by scanning for insert tags only if they
428      exist. (Monte)
429    - fixed bugs in overlib. (Monte, Duncan Forrest)
430    - fixed a problem with compile_id usage. (Andrei)
431    - fixed problem with using assigned vars with {include_php ...}
432      filepath. (Monte)
433
434Version 1.5.2
435-------------
436    - added Smarty object as fifth argument for template resource functions.
437      (Monte)
438    - fixed a bug with incorrectly combined cache and compile id in
439      clear_cache(). (Andrei)
440    - fixed bug in smarty_make_timestamp introduced in PHP 4.1.0. (Monte)
441    - fixed bug with cached insert debug timing. (Monte)
442    - added 'script' attribute to {insert..} which specifies the script that
443      the insert function can be found in. (Andrei)
444    - added default template function handler. (Monte)
445
446Version 1.5.1
447-------------
448    - removed error message from the generic _read_file() method, the caller
449      should take care of that. (Andrei)
450    - fixed a bug with incorrectly combined cache and compile id. (Andrei)
451
452Version 1.5.0
453-------------
454    - added include_php built-in function, documented. (Monte)
455    - added trusted_dir functionality, documented. (Monte)
456    - consolidated secure_dir tests to one function. (Monte)
457    - prepended _smarty_ to variable names in fetch() class function to avoid
458      namespace conflicts. (Monte)
459    - introduced $compile_id class variable that can be used to set persistent
460      compile identifier across multiple display calls, documented. (Andrei)
461    - fixed bug with concatenated null cache and compile identifiers. (Andrei)
462    - added $smarty.section.* syntax for accessing section properties,
463      documented. (Andrei)
464    - added custom cache handling function ability, documented. (Monte)
465    - added assign attribute to include, include_php, insert, fetch, math, and
466      counter functions, documented. (Monte)
467    - fixed bug with fetch testing for local file when http address. (Monte)
468    - fixed bug with counter and skipval setting. (Monte)
469    - made {config_load ...} merge globals from each config file only once per
470      scope, thus avoiding several problems. (Andrei)
471    - added {foreach ...} tag that can be used to iterate through
472      non-sequential and associative arrays, documented. (Andrei)
473    - speeded up section property access a bit. (Andrei)
474    - removed $smarty variable from storage used by normal template variables,
475      to prevent any problems. (Andrei)
476    - fixed a bug that could cause parse error with quotes inside literal
477      blocks. (Andrei, Alexander Belonosov)
478    - added 'field_array' attribute to html_select_time function, documented.
479      (Andrei, Michael Caplan)
480    - documented {section} "max" attribute. (Monte)
481    - fixed notice message in Smarty_Compiler.class.php. (Monte)
482    - fixed bug with clear_cache introduced in 1.4.6, third parameter should
483      default to null. (Monte)
484    - updated Config_File class to support '\' path separator in OS/2. (Monte,
485      Francesco Cipriani)
486    - removed secure_ext setting (not used). (Monte)
487    - made cache reading process more efficient. (Monte)
488    - fixed bug, is_cached() now supports new 1.4.6 caching behavior. (Monte)
489    - update FAQ with mailing list Reply-To header FAQ. (Monte)
490    - supress error messages for fopen(), fix cache to regenerate if cache
491      file is not available (i.e. cluster race condition). (Monte)
492    - added index key example to QUICKSTART guide. (Monte)
493
494Version 1.4.6
495-------------
496    - fixed bug with {assign ...} when passing an empty value. (Monte)
497    - add more warning message fixes. (Monte, Tara Johnson)
498    - documentation updates. (Monte)
499    - update fetch function to give proper warning when fetching a non-readable
500      or non-existant file. (Monte)
501    - fixed problem with newline at the end of included templates (Monte, Andrei)
502    - added feature to regenerate cache if compile_check is enabled and an
503      involved template or config file gets modified. (Monte)
504    - added DEBUG execution times to included files: REQUIRES updated debug.tpl
505      file! (Monte)
506    - added support for hidden config variables that cannot be read by
507      templates. (Andrei)
508    - added execution time to DEBUG console, total and inserts. (Monte)
509    - fixed bug where DEBUG console would not appear with cached content. (Monte)
510    - added support for postfilter functions that are applied to compiled
511      template right after compilation. (Andrei)
512    - fixed the name of clear_compile_tpl() API function to clear_compiled_tpl.
513      (Andrei)
514    - added fix for removing comments so that the line numbers are reported
515      correctly in case of errors. (patch from Anders Janson)
516    - made html_options output xhtml compatible code. (Monte, Arnaud Limbourg)
517
518Version 1.4.5
519-------------
520    - update FAQ with index of questions at the top
521    - update overlib to 3.50, adjust addon code so that the overlib.js
522      file isn't modified, and not using the mini one. (Monte)
523    - added many more options to html_select_date. (Alexander Skwar, Andrei)
524    - added support for generating different compiled templates from the same
525      source template. (Hans-Peter Oeri, Andrei)
526    - modified Smarty to pass itself to insert functions as the second
527      parameter. (Andrei)
528    - modified Smarty to pass itself to prefilter functions as the second
529      parameter. (Andrei)
530    - fixed syntax error when including a non-existant template with security
531      enabled. (Monte)
532    - fixed comments handling to allow commenting out template blocks. (Andrei)
533    - implemented named capture buffers, with results accessible via
534      $smarty.capture.<name>. (Andrei)
535    - added ability to index arrays directly by numbers. (Andrei)
536    - fixed bug with SMARTY_DIR not prepended to Config_File include. (Monte)
537
538Version 1.4.4
539-------------
540    - fixed problem with including insecure templates with security enabled.
541      (Monte)
542    - numerous documentation updates. (Monte)
543    - added ENT_QUOTES to escapement of html. (Monte, Sam Beckwith)
544    - implemented access to request variables via auto-assigned $smarty
545      template variable. (Andrei)
546    - fixed a bug with parsing function arguments inside {if} tags if a comma
547      was present. (Andrei)
548    - updated debug console with config file vars. (Monte)
549    - added SMARTY_DIR constant as an alternative to relying on include_path.
550      (Monte)
551    - added popup_init and popup functions (requires overlib.js). (Monte)
552    - updated debug console with config file vars. (Monte)
553    - added debugging url control. (Monte)
554    - added 'quotes' type to escape modifier. (Monte, Mike Krus)
555    - added 'total' and 'iteration' section properties. (Andrei)
556    - added 'start', 'max', and 'step' section attributes/properties. (Andrei)
557    - fixed a bug with security checking of functions inside {if} tags.
558      (Andrei)
559    - fixed a bug in Config_File that would incorrectly booleanize values that
560      weren't really booleans. (Andrei)
561
562Version 1.4.3
563-------------
564    - added regex_replace modifier, documented. (Monte)
565    - added debugging console feature and custom function assign_debug_info,
566      documented. (Monte)
567    - added 'scope' attribute for {config_load}, 'global' is now deprecated but
568      is still supported. (Andrei)
569    - reduced template symbol table pollution by moving config array into the
570      class itself. (Andrei)
571    - fixed a bug with passing quoted arguments to modifiers inside {if}
572      statements. (Andrei, Sam Beckwith)
573    - added security features for third party template editing, documented
574      (Monte)
575    - added assign custom function, documented. (Monte)
576    - fixed bug with template header using version instead of _version. (Monte)
577    - fixed a problem with putting $ followed by numbers inside {strip} and
578      {/strip} tags. (Andrei)
579    - fixed Config_File class to allow empty config paths (defaults to current
580      directory). (Andrei)
581
582Version 1.4.2
583-------------
584    - move $version to internal variable, remove from docs. (Monte)
585    - cleaned up compiled templates global scope by moving some variables into
586      the class itself. (Andrei)
587    - fixed a bug that would not allow referring to a section in the including
588      file from the included file. (Andrei)
589    - configs directory missing from 1.4.1 release, added back in. (Monte)
590    - added windows include_path setup instructions to FAQ & QUICKSTART.
591      (Monte)
592
593Version 1.4.1
594-------------
595    - fix LOCK_EX logic for all windows platforms (Monte)
596    - fixed indexing by section properties with the new syntax. (Andrei)
597    - updated Smarty to use absolute paths when requiring/including Smarty
598      components. (Andrei, John Lim)
599
600Version 1.4.0
601-------------
602    - added {capture}{/capture} function, documented (Monte)
603    - added {counter} function, documented (Monte)
604
605Version 1.4.0b2
606---------------
607    - fixed issue in Config_File.class with referencing blank sections (Andrei)
608    - fixed problem with passing variables to included files (Andrei)
609    - fixed resource path recognition for windows (Monte)
610
611Version 1.4.0b1
612---------------
613    - added "componentized templates" tip into documentation (Monte)
614    - added {php}{/php} tags for embedding php code into templates (Monte)
615    - changed default value of $show_info_header to false (Monte)
616    - implemented '->' syntax for accessing properties of objects passed to the
617      template. (Andrei)
618    - allowed custom functions to receive Smarty object as the second
619      parameter; this can be used to dynamically change template variables, for
620      example. (Andrei)
621    - added custom compiler functions support, register_compiler_function() and
622      unregister_compiler_function() API functions. (Andrei, Ivo Jansch).
623    - updated GLOBAL_ASSIGN to take SCRIPT_NAME from HTTP_SERVER_VARS
624      instead of global variable. You can also assign several variables
625      in one shot with an array. (Monte, Roman Neuhauser)
626    - added template prefilters, register_prefilter() and
627      unregister_prefilter() API functions. (Monte)
628    - added RELEASE_NOTES file to distribution. (Monte)
629    - moved CREDITS out of manual into its own file. (Monte)
630    - added register_resource() and unregister_resource() API functions. (Monte)
631    - changed the syntax of indexing template variables, thus supporting
632      structures of arbitrary complexity; supplied fix_vars.php script to fix
633      old syntax. (Andrei)
634    - added $insert_tag_check to speed up cached pages if {insert ...} is not
635      used. (Monte)
636    - added $compiler_class variable to allow specifying a different compiler
637      class. (Andrei)
638    - changed Smarty to compile templates at runtime, allowing for arbitrary
639      template resources. (Monte)
640    - added fix for LOCK_EX under Windows and changed a couple of file
641      permissions for security. (Monte, Fernando Nunes)
642    - allow arbitrary date strings to date_format, html_select_date and
643      html_select_time (Monte)
644
645Version 1.3.2
646-------------
647    - fixed a bug that caused some nested includes to loop infinitely. (Andrei)
648    - added optional HTML header to output. (Monte)
649    - significantly improved config_load performance. (Andrei)
650    - added format attribute to math function. (Monte)
651    - added html_select_time custom function. (Andrei)
652    - fixed minor PHP warning when attempting to unset an unset variable
653      (Monte)
654    - added count_characters, count_words, count_sentences, count_paragraphs
655      modifiers (Monte)
656
657Version 1.3.1pl1
658--------------
659    - bug fix, recovered missing _syntax_error function (Monte)
660
661Version 1.3.1
662-------------
663    - document first, last, index_prev, index_next (Monte)
664    - added 'first' and 'last' section properties. (Andrei)
665    - split out compiling code to separate class for faster template execution
666      time (Monte)
667    - fixed a couple of minor PHP warnings (Monte)
668    - added and documented unregister_modifier() and unregister_function() API
669      calls. (Monte)
670    - added and documented 'fetch' and 'math' functions. (Monte)
671    - added ability to index looped variables by section properties, e.g.
672      $foo.index_prev/bar. (Andrei)
673    - added index_prev and index_next section properties. (Andrei)
674    - fixed issue with php executing in literal blocks. (Monte)
675
676Version 1.3.0
677-------------
678    - moved license from GPL to LGPL (Monte)
679    - implemented workaround for PHP "feature" that eats carriage returns
680      if the PHP tag is at the end of the line. (Andrei)
681    - removed $allow_php, added $php_handling logic (Monte)
682    - added file locking to prevent reader/writer problem. (Andrei)
683    - made Smarty catch unimplemented modifiers and custom functions and output
684      error messages during compilation instead of failing during run time.
685      (Andrei)
686    - removed short-tags at the top of the smarty scripts (Monte)
687    - added register_function() and register_modifier() API calls to make
688      registering stuff easier. (Andrei)
689    - added template results caching capability. (Monte, Andrei)
690    - added optional 'options' attribute to html_options custom function
691      that allows passing associative arrays for values/output. (Andrei)
692    - modifier arguments can now contain '|' and ':' characters inside quoted
693      strings. (Andrei)
694
695Version 1.2.2
696-------------
697    - fixed bug that would not respect nested template directories and would
698      put all compiled files into top-level one. (Andrei)
699    - fixed bug using $PHP_VERSION instead of environment var PHP_VERSION.
700      (Monte)
701    - a couple small warning fixes. (Monte)
702
703Version 1.2.1
704-------------
705    - added $compile_dir, removed $compile_dir_ext, simplified usage. (Monte)
706    - added tips & tricks chapter to documentation. (Monte)
707    - misc documentation updates. (Monte)
708
709Version 1.2.0
710-------------
711    - updated documentation (Monte)
712    - added file and line number information to syntax error messages. (Andrei)
713    - added ability to index template vars by a key. (Andrei)
714
715Version 1.1.0
716-------------
717    - misc documentation changes, official stable release
718
719Version 1.0b
720------------
721    - fixed the bug that prevented using non-array values for 'loop' attribute.
722      (Andrei)
723    - many misc documentation changes & additions (Monte)
724
725Version 1.0a
726------------
727    - fixed bug that caused templates to recompile every time (Monte)
728
729Version 1.0
730------------
731    - initial release
732
733/* vim: set et tw=64 ft=changelog: */
734