source: trunk/include/smarty/NEWS @ 3000

Last change on this file since 3000 was 3000, checked in by patdenice, 15 years ago

Upgrade Smarty to 2.6.22

File size: 47.4 KB
Line 
1Version 2.6.22 (Dec 17th, 2008)
2-------------------------------
3
4- back out method chaining, bug in some versions of PCRE causes errors (mohrt)
5
6Version 2.6.21 (Dec 2nd, 2008)
7------------------------------
8
9- fix  function injection security hole closed (U.Tews)
10- fix pass expiration time at cache_handler_fuc call in core.write_cache_file.php (U.Tews)
11- Update of compiler.class.php to allow method chaining for PHP4 and PHP5 (U.Tews)
12
13Version 2.6.20 (Feb 15th, 2008)
14-------------------------------
15
16- fix cache tag bug when multiple cache tags on a page (mankyd,
17  mohrt)
18- fix /e tag checking when using arrays with regex_replace
19  (mohrt)
20- fix that function results can be used with condition like "is even" in
21  {if} tags (U.Tews)
22- fix handling of non-empty <pre>-tags and empty <textarea>- and
23  <script>-tags (Spuerhund, messju)
24
25Version 2.6.19 (Feb 11th, 2008)
26-------------------------------
27
28- fix regex_replace allowing \0 in the search string (c960657,
29  monte)
30- add append feature to {capture} (jablko, monte)
31- fix when (un)registering filters with the same method name but different class
32  name (danilo)
33- fix calling registered objects' methods with an empty argument list
34  (marcello, messju)
35 
36Version 2.6.18 (Mar 7th, 2007)
37------------------------------
38
39- fix html_select_date separator when parts are missing (hayk,
40  monte)
41- fix broken detection of non-cached blocks introduced in 2.6.17
42  (messju)
43
44Version 2.6.17 (Mar 5th, 2007)
45------------------------------
46
47- fix php handling (monte, boots, danilo)
48- fix handling of plugin tags directly followed by an else tag (Fahr, danilo)
49- fix handling of $etc in the truncate modifier when $etc is longer
50  than $length (Sylvinus, messju)
51- fix handling of %I with mysql timestamps in the date_format modifier
52  (danilo, boots)
53- update smarty_core_write_file() and smarty_modifier_date_format() to better
54  recognize Windows (boots, danilo)
55- emulate %h, %n, %r, %R, %t in the date_format modifier on Windows
56  (danilo, boots)
57
58Version 2.6.16 (Dec 1st, 2006)
59------------------------------
60
61- fixed replacement bug in trimwhitespace output filter that was introduced
62  in the last release (Spuerhund, boots)
63
64Version 2.6.15 (Nov 30th, 2006)
65-------------------------------
66
67- change file writing semantics in smarty_core_write_file() to unlink() only
68  when rename() fails or a Windows system is detected (c960657, boots)
69- update debug.tpl to xhtml 1.1 compliance, fix javascript escaping in debug
70  output and apply a Smarty based color scheme (cybot, boots)
71- enhance reporting precision of debug_print_var modifier (cybot, boots)
72- make html_select_date work consistently with 0000-00-00 00:00:00 and
73  0000-00-00 inputs (cybot, boots)
74- fix wrong handling of insert's name attribute. (messju)
75- fix false replacement of "$t" inside double quotes (checat, messju)
76- added support for column headings and caption element to html_table and
77  updated the output to use thead/tbody elements (boots)
78- fixed ordering of replacements in trimwhitespace output filter (Getty, boots)
79- update mailto function plugin to work around a firefox/thunderbird
80  escaping bug (elijahlofgren, boots)
81- emulate %l in the date_format modifier on windows (boots)
82- fix handling of apostrophes in capitalize modifier (Alec Smecher, boots)
83
84Version 2.6.14 (May 28th, 2006)
85-------------------------------
86
87- fix compiler bug allowing php tags in secure templates
88  (boots,monte)
89- un-hide hidden xml open tags (boots)
90- fix handling of block-methods of registered objects (El Hombre Gris,
91  messju)
92
93Version 2.6.13 (March 9th, 2006)
94--------------------------------
95
96 - update regex_replace, removing possible use of "e" modifier
97
98Version 2.6.12 (Jan 18th, 2006)
99-------------------------------
100
101 - fix improper use of references in the compiler handling cached
102   attributes and in compiled code handling block plugins (messju)
103 - make Smarty::_read_file() work on latest php (messju)
104 - fixed improper tokenization of certain inline math expressions (boots)
105
106Version 2.6.11 (Dec 14, 2005)
107-----------------------------
108
109 - fixed code generation of non-cacheable blocks to play well with php's
110   "Alternative syntax for control structures" (kihara, messju)
111 - fix handling of multiple identical inserts in one display()-call (messju)
112 - replace {} string access with equivalent substr() to avoid E_STRICT
113   warnings in PHP 5.1 (boots)
114 - return valid reference in get_config_vars() when given var is
115   non-existant (Thomas Schulz, boots)
116 - plugin html_image: fix incorrect secure_dir error when
117   file doesn't exist (monte)
118 - plugin html_image: add path_prefix param (monte)
119 - add char_set parameter to escape modifier (Loading, monte)
120 - fix notice in debug security check (Drakla, monte)
121 - return valid reference in get_template_vars() when given var is
122   non-existant (monte)
123 - add escape type "urlpathinfo" to escape modifier (monte)
124
125Version 2.6.10 (Aug 5, 2005)
126----------------------------
127
128  - allow secure_dir to be a filename, not just
129    a directory name (monte)
130  - set debug.tpl as a secure_dir, not the entire
131    SMARTY_DIR (monte)
132  - fix proper escaping for literal strings in
133    Smarty_Compiler::_parse_var_props() (boots, messju)
134  - remove ambiguity for numeric values passed to smarty_make_timestamp()
135    (and thus the date_format modifier). numeric values are treated as
136    timestamps now. (andreas, messju)
137  - add passthru attribute feature to html_select_date (Sedgar,
138    monte)
139  - add "middle" parameter to truncate (monte)
140  - make form input label ids optional (monte)
141  - add error message for empty if/elseif statements (eykanal,
142    monte)
143  - cast selected value to string for comparison in html_radios
144    (Exeption, monte)
145  - updated html_select_date's year_as_text-feature to be xhtml compliant
146    (Mark West, messju)
147  - fix handling of selected month html_select_date (Yuri Weseman, messju)
148
149Version 2.6.9 (Mar 31, 2005)
150----------------------------
151
152  - disallow variable function calls in {if} statements (messju, monte)
153  - disallow variable function calls in {math} equations (messju, monte)
154
155Version 2.6.8 (Mar 21, 2005)
156----------------------------
157
158  - remove e-modifier from regex_replace modifier (messju)
159  - remove cast of object to array in foreach's from-attribute (messju)
160  - add "null" as a valid token for {if} when security is enabled (messju)
161  - add javascript_charcode encoding option to mailto function
162    (monte)
163  - add ids to html_radios labels (monte, menulis)
164  - fix handling of strip-tags with non-default delimiters (Mark West, messju)
165
166Version 2.6.7 (Feb 3, 2005)
167---------------------------
168
169  - fix handling of hashed opening php-tags inside strip-blocks (messju)
170  - removed border tag from html_image function (monte)
171  - change escape:url use rawurlencode() instead of urlencode() (messju)
172  - make $smarty.const.FOO compile to "FOO", and not to "constant('foo')".
173    this is less code and a little faster execution. note that undefined
174    constants are now displayed as the constant's name. (messju)
175  - make block functions and registered objects' block methods use a
176    local variable for block_content instead of a property of $smarty (messju)
177  - fix escaping in the generated code that calls smarty_core_load_plugins
178    (jes5199, messju)
179  - fix invalid HTML issue with popup (Stefanos Harhalakis,
180    Monte)
181  - fixed {popup} to properly handle inarray and function parameters and added
182    support for mouseoff and followmouse options (boots)
183
184Version 2.6.6 (Oct 13, 2004)
185----------------------------
186
187  - fixed nocache-handling with nested includes (Lars Jankowfsky, messju)
188  - moved /libs/core to /libs/internals (boots)
189  - fixed more parsing problems (messju)
190
191Version 2.6.5 (Sept 13, 2004)
192-----------------------------
193
194  - fixed some parsing problems with object calls introduced
195    in 2.6.4 (Monte)
196  - add $smarty->security_settings['ALLOW_CONSTANTS']. note: this
197    defaults to false which means you have to allow them explicitly
198    in your secured templates from now on! (messju)
199
200Version 2.6.4 (Sept 7, 2004)
201----------------------------
202
203  - add $smarty.ldelim and $smarty.rdelim to smarty special var (Monte)
204  - fall back to old uniqid()-behaviour when tempnam() fails in
205    core.write_file.php (messju)
206  - fix capitalize modifier, don't rely on buggy ucwords (Monte)
207  - make html_select_date work with negative timestamps, also
208    force year range to include given date unless explicitly
209    set (Garo, Monte)
210  - fix bug with {fetch}, passing user/pass in url did not work
211    (Monte)
212  - fix occasional wrong error messages on mismatched tags when
213    {else}, {elseif}, {foreachelse} or {sectionelse} is involved (messju)
214  - fix handling of methods arguments (messju, Manfred Wischin)
215  - remove touch() call that made the compiled-template's timestamp the
216    same as the source-template's one. (messju)
217  - add assign attribute to html_checkboxes and html_radios
218    (pcg, Monte)
219  - remove non-xhtml conformant tag from mailto function
220    (tacker, Monte)
221  - handle date_format codes %e, %T and %D for windows (tip,
222    Monte)
223  - fix unnecessary call to smarty_core_get_include_path() inside
224    Smarty::_get_auto_filename() (c960657, messju)
225  - add error-messages when anything else than an identifier is passed
226    to foreach's key- or item-attribute (messju)
227  - fix handling of digits inside tagnames (messju)
228  - fix escaping of backslashes in Smarty_Compiler::_quote_replace() (messju)
229
230Version 2.6.3 (June 16, 2004)
231-----------------------------
232
233  - added escapement of '</' to '<\/' in escape:javascript
234    modifier (c960657, Monte)
235  - added obfuscation of protocol-string in {mailto} when using hex-
236    encoding (bharat, messju)
237  - enhanced auto-generated filenames for templates_c and cache (messju)
238  - add 'nonstd' to escape modifier for escaping non-std chars,
239    such as ms doc quote (Monte)
240  - adjusted textformat to not output wrap chars after last para
241    (Monte)
242  - use tempnam() instead of unqid() to create better temporary files in
243    smarty_core_write_file() (xces, messju)
244  - add 'mail' to escape modifier for safe display of e-mail
245    addresses (Monte)
246  - add cycle function attribute "reset" to english docs (Monte)
247  - enhanced support of numeric constants as variable-expressions (messju)
248  - add case decentity to smarty_modifier_escape() (Konstantin A. Pelepelin,
249    messju)
250  - make smarty_core_write_compiled_include() php5-aware (messju)
251  - removed unused functionality to load a subset of lines from a file (messju)
252  - fix is_secure() should only check if a file is_readable, not if
253    the directory where it is in is readable (sagi, messju)
254  - fix problem displaying debug console when $default_resource_type
255    is not "file:" (c960657, Monte)
256  - fix permission handling with security and config_load (messju)
257  - removed '.' from the list of default template locations in
258    _parse_resource_name() (messju)
259  - fix avoid warning with template_exists() on an absolute paths (messju)
260  - fix parameters passed to resource's secure()-function (messju)
261  - fix handling of integer values like width and delay im
262    smarty_function_popup() (messju)
263
264Version 2.6.2 (Feb 17, 2004)
265----------------------------
266
267  - fix allow empty years, months and days in html_select_date's
268    time-attribute (messju)
269  - fix YES and NO should not be booleanized inside triple-quotes in a
270    config-file (messju)
271  - fix accidently slurped line following a triple-quoted value in a
272    config-file (messju)
273  - change default for use_sub_dirs to false (messju)
274  - fix quoting of values in smarty_function_popup() (messju)
275  - fix handling of hidden sections in Config_File (messju)
276  - add handling of resources for {config_load} (messju)
277  - fix bug when using arrays with tr_attr and td_attr in {html_table} (messju)
278  - add unit testing to cvs core (Monte)
279
280Version 2.6.1 (Jan 16, 2004)
281----------------------------
282
283  - rename $smarty->tpl_error_reporting to $smarty->error_reporting
284    (messju)
285  - fix interpretation of $smarty->security in {html_image} (messju)
286  - add caching of requested paths to _assemble_plugin_filepath() (messju)
287  - fix handling of comments inside {php}- and {literal}-blocks (messju)
288  - fix bug handling triple-quotes in config-files (BRDude, messju)
289  - change default of request_use_auto_globals to true - $_SERVER is
290    now preferred over $HTTP_SERVER_VARS (messju)
291  - re-add support for $SCRIPT_NAME (messju)
292  - reactivate $smarty->default_modifiers (messju)
293  - add cookie persistance to debug console (Monte)
294  - allow single-digit days and months without smarty_make_timestamp()
295    in html_select_date (messju)
296  - fix headers sent erroneously with cache_modified_check and fetch()
297    (wphilips, messju)
298  - fix config_file path bug (Marc Cabadas, Monte)
299  - fix 'is even by' and 'is odd by' logic (Monte)
300  - add day_empty, month_empty, year_empty and all_empty attributes to
301    html_select_date (messju)
302  - add table of explanation for {if} qualifiers in docs (boots)
303  - fix bug when comparing array-keys to "selected" in html_options
304    and html_checkboxes (messju)
305  - add better checks for correctly nested tags when compiling (messju)
306  - remove {$SCRIPT_NAME}. use {$smarty.server.SCRIPT_NAME} instead (messju)
307  - remove $global_assign. assign global variables explicitly instead (messju)
308  - fix example for count_characters in docs (boots)
309  - add section new basic syntax section "Escaping Smarty Parsing" in docs (boots)
310  - fix error handler call in config_load (boots)
311  - remove warning in debug_print_var on php-resources (messju)
312  - move function.assign.php to compiler.assign.php (messju)
313  - add property $tpl_error_reporting (messju)
314  - remove property $undefined. "null" is used literally instead (messju)
315
316Version 2.6.0 (Nov 19, 2003)
317----------------------------
318
319  - move Smarty::quote_replace() to Smarty_Compiler::_quote_replace() (messju)
320  - remove import of of attributes of {include_php} to php's namespace.
321    use $params[name] instead (messju)
322
323Version 2.6.0-RC3 (Nov 13, 2003)
324--------------------------------
325
326  - fix handling of $var.key inside [] (messju)
327  - fix handling of assign inside {insert}-tags (messju)
328  - fix handling if [...] inside triple-quotes in config-files (messju)
329  - fix handling of simple-math-operators inside modifiers (Dominik, messju)
330  - fix handling of trailing-slashes in open_basedir in
331    smarty_core_create_dir_structure() (packman, messju)
332
333Version 2.6.0-RC2 (Oct 8, 2003)
334-------------------------------
335
336  - apply modifiers only once to section-loop and foreach-from attrs (messju)
337  - remove use of _smarty_cached_paths-files (messju)
338  - remove Smarty::_plugin_implementation_exists() - use is_callable() (messju)
339  - ignore {strip}/{/strip) inside {strip}-blocks (messju)
340  - fixed removal of leading/trailing newlines in {strip}-blocks (messju)
341  - fixed proper escaping of " and ' with escape:javascript (messju)
342  - fixed bug in traversal of $smarty->plugins_dir-array. now the
343    first matching plugin is taken (messju)
344  - moved {strip} back into the compiler (messju)
345  - fixed config_load: handling of section-attribute and use of
346    multiple config-files in one template (atu, messju)
347
348Version 2.6.0-RC1 (August 11, 2003)
349-----------------------------------
350
351  - fixed status-header for cache_modified_check under cgi-sapi (messju)
352  - added optional parameter $cache_attrs to register_function() and
353    register_block(). $cache_attrs is an array containing attribute-
354    names that should be cached on calls to functions that have
355    $cacheable set to false. (messju)
356  - enabled registration of class-methods as callbacks for the register_*-
357    functions (use: array('classname', 'method_name')) as callback) (messju)
358  - added filepath caching (Monte)
359  - added optional assign-attribute to {capture}-tag (messju)
360  - added $cacheable-parameter to register_compiler_function() (messju)
361  - added $cacheable-parameter with default=true to register_function()
362    and register_block() (messju)
363  - add math speedup to core (Dominik, Monte)
364  - fix newlines for tags without template output (Monte)
365  - added config-option "request_use_auto_globals" to make auto-globals be
366    used as request vars instead of HTTP_*_VARS (messju)
367  - speed up config_load, simplify compiling (Monte)
368  - added block-methods for registered objects (Bharat Mediratta, messju)
369  - ignore one char resource names like c:foo.tpl (Monte)
370  - added default_resource_type feature (Monte)
371  - fix bug where config file starts with hidden section (boots, Monte)
372  - add discrete error checking pertaining to $cache_dir
373    and $compile_dir, their existance and writability (Monte)
374  - fixed behaviour of start=... for {counter} (messju)
375  - fixed assign for {counter} (messju)
376  - added params vdir, hdir and inner to html_table to allow looping
377    over the data in various directions (messju)
378  - allow spaces in literal tags (Paul Lockaby, Monte)
379  - speed up compiled templates, hardcode plugin filepaths
380    instead of dynamically calculate at runtime. (Monte)
381  - abstract many core components from Smarty.class.php,
382    speeding up core class instantiation (Monte)
383  - fixed bug in _create_dir_structure() when used with open_basedir-
384    restriction and relative paths (messju)
385  - use DIRECTORY_SEPARATOR exclusively, keep DIR_SEP for BC (Monte)
386  - changed "link" to "href" in html_image. "link" is still working
387    but deprecated (messju)
388  - html_image always renders an alt-tag now (default alt="") (messju)
389  - fixed assign attribute for multiple counters (messju)
390  - added simple math operators to variables (Monte)
391  - enabled array(&$obj. 'source', 'timestamp', 'secure', 'trusted')
392    as callback for register_resource() (messju);
393  - enabled array(&$obj, 'method') as callback for
394    $default_template_handler_func (messju)
395  - remove unnecessary close/open tags from compiled templates
396    (Monte)
397  - fixed errornous creation of '//' in image_path in html_image (messju)
398  - fix escapement of special chars for key vals in debug
399    console (Monte)
400  - fixed debug timing logic for config_load (Tom Sommer, Monte)
401  - all in-code doc comments converted to phpDocumentor format (Greg)
402  - moved strip from smarty core to plugin (Monte)
403  - moved config_load from smarty core to plugin (Monte)
404  - added &$repeat-parameter to block-functions (messju)
405  - enabled hex-constants in function.math.php (messju)
406  - enabled hex-constants (0x...) as function-attributes, inside if-statements
407    and as modifier-parameters (messju)
408  - fixed bug with passing $smarty as reference in Smarty.compiler.class
409    (messju)
410  - corrected output with {strip} and PHP tag newlines (Monte)
411  - added possibility to register function-callbacks as "array(&$obj, 'method)"
412    this affects register_function(), -block, -compiler_function, -modifier,
413    -prefilter, -postfilter, -outputfilter-functions() and $cache_handler_func
414    (messju)
415  - added <labels> to html_checkboxes and html_radios (Philippe, messju)
416  - added "labels"-options to turn off labels in html_checkboxes and _radios
417    (messju)
418
419Version 2.5.0 (April 11, 2003)
420------------------------------
421
422   - fixed bug with default modifier when passing integer 0
423     (Monte)
424   - change backtic syntax from $`foo` to `$foo` (Monte)
425   - recognize $foo[][] syntax inside embedded quotes without
426     backtics (Monte)
427   - name=123 is passed as an integer (not a string) to plugins now (messju)
428   - $length is now propagated to sub-values in debug_print_var (messju)
429
430Version 2.5.0-RC2 (March 26, 2003)
431----------------------------------
432
433    - made clear_cache() ignore compile_id, when clearing cache-groups (this
434      is when no $tpl_file is supplied) (messju)
435    - made onmouseout XHTML-compliant in function.popup.php (messju)
436    - applied local-var-naming-scheme to fetch() (messju)
437    - renamed $localvars to $_localvars in cache-file-handling-functions,
438      added _get_auto_id()-function (messju)
439    - swapped compile_id and cache_id in read_cache_file and write_cache_file
440      (messju)
441    - reverted patch for cache-file-handling (messju)
442    - made html_radios and html_checkboxes accept "selected" instead
443      of "checked" optionally. (messju)
444    - made compile_id ignored in clear_cache, made order of
445      auto_file_name $cache_id.$compile_id again, applied the the new
446      variable-naming-scheme for cache_file_handing functions (messju)
447    - removed notice of undefined var in _rm_auto() (messju)
448    - added warning message when an array is passed as
449      the "checked" value of html_radios (Monte)
450    - fixed errormessage in _compile_smarty_ref() (messju)
451    - updated docs for html_image "name" -> "file" (messju)
452    - fixed bug with html_options-optgroups (Nichlas Löfdahl, messju)
453    - cleaned up calls to readdir() (messju)
454    - fixed bug with passing multiple modifiers to a parameter
455      (Monte)
456    - updated docs for html_checkboxes, html_options and html_radios (messju)
457    - fixed wrong default "name" attribute for html_options (messju)
458    - html_checkboxes now expect the options as attribute "options" instead
459      of "checkboxes. html_radios expect "options" instead of "radios".
460      cleaned up indentiation (messju)
461    - fixed too greedy str_replace in trimwhitespace outputfilter (messju)
462    - html_checkboxes and html_radios passthru all unknown paramters now
463      additionally their output is now XHTML compliant (messju)
464    - html_options passthru all unknown paramters now (messju)
465    - fix link functionality of html_image, also make
466      output XHTML compatible (Hinrich Donner, Monte)
467    - append "@" to default modifier vars/args
468      supress possible warnings (Monte)
469    - fix problem with escaped double quotes (Monte)
470    - fix html_radios to not return an array (Monte)
471    - fixed length in modifier.truncate.php (messju)
472    - fixed handling of '$'-signs in trimwhitespace outputfilter (messju)
473    - fix bug that makes config files recompile every time
474      (Nagger, Monte)
475    - add dpi functionality to html_image, change "name"
476      parameter to "file" (Thomas Shulz, Monte)
477    - fix height/width parameter index in html_image (Gerard,
478      Monte)
479    - get rid of unsetting name and script attributes
480      to insert tag (Thomas Schulz, Monte)
481    - changed argument order of string_format modifier back,
482      was right in the first place (Monte)
483
484Version 2.5.0-RC1 (March 5, 2003)
485---------------------------------
486
487    - fixed notice in popup function (Nagger, Monte)
488    - fix "once" var compiling for include_php (Monte)
489    - added nl2br modifier to distribution (Monte)
490    - added html_image to distribution (Monte)
491    - added cat modifier to distribution (Monte)
492    - added html_table to distribution (Monte)
493    - added << >> <> support to if statments (SMK, Monte)
494    - fix _assign_smarty_interface to not overwrite keys
495      other than 'request' (Jerome Poudevigne, Monte)
496    - added html_checkboxes to distribution (Christopher Kvarme, Monte)
497    - added html_radios to distribution (Christopher Kvarme, Monte)
498    - fixed string_format modifier args (wrong order) (Paul
499      Lockaby, Monte)
500    - use tmp file for file writes, avoid file lock race (Monte)
501    - support syntax "$`smarty.config.foo`.tpl" for embedded
502      vars in quotes, and allow full dollar var syntax (Monte)
503    - add $smarty.config.varname variable for accessing config vars (Paul
504      Lockaby, Monte)
505    - silence PHP warnings in function.fetch.php (Eduardo,
506      Monte)
507    - added get_config_vars(), same basic functionality as
508      get_template_vars() (Monte)
509    - update get_template_vars() to be able to get
510      individual vars (Monte)
511    - fix minor logic in _fetch_template_info (Dennis Gearon,
512      Monte)
513    - fix cache groups with compile_id set (Monte)
514    - add support for merging appended vars (messju, Monte)
515    - allow null as function attribute value
516      (André Rabold, Monte)
517    - support $foo->bar[index] syntax (Monte)
518    - add get_registered_object function (messju, Monte)
519    - treat unrecognized param attribute syntax as string (Monte)
520    - support $smarty.const.$foo syntax (messju, Monte)
521    - remove E_NOTICE warnings from debug.tpl,
522      escape modifier (Kanstantin, Monte)
523    - don't count non-ascii chars in count_words modifier
524      (Kanstantin, Monte)
525    - clean up param calls to _parse_var and _parse_attrs (Monte)
526    - define $template_source var, elude possible warning
527      (Monte)
528    - fix syntax problem with evaluating PHP constants (Monte)
529    - add @ and === as valid if statement tokens (Monte)
530    - enable error messages for config_load errors,
531      use $this->config_class for loading class name (Monte)
532    - fix html_options to not escape already escaped entities (Monte)
533    - send Last-Modified header on cache creation (Monte)
534    - check strict syntax of function attributes (Monte)
535    - dropped support for modifers on object parameters,
536      added support for objects as modifier parameters (Monte)
537    - fixed bug with decimal numbers in if statements (Monte)
538
539Version 2.4.2 (Feb 11, 2003)
540----------------------------
541    - support embedded variables in objects (Monte)
542    - fix bug with objects with no properties (M Mohr, Monte)
543    - support full dollar var syntax in quoted text (Monte)
544    - fixed bug in $smarty.const.FOO introduced in 2.4.1 (M
545      Mohr, Monte)
546
547Version 2.4.1 (Feb 6, 2003)
548---------------------------
549
550    - ignore case in IF statements (Rainer Collet, Monte)
551    - treat undefined constants as null (Ferdinand Beyer, Monte)
552    - fix problem with inserts and nested fetches
553      (Rainer Collet, Monte)
554    - added support for passing params to include_php
555      (Tim Riley, Monte)
556    - added support for math operators in if statements (Monte)
557    - added support for $foo->bar[$x].blah syntax (Monte)
558
559Version 2.4.0 (Feb 2, 2003)
560---------------------------
561
562    - fix known problems with php tag handling in templates
563      (recursion, echoing xml tags) (Monte)
564    - add support for object registration (Monte)
565    - add debug template to secure_dir, add template_dir
566      to secure_dir by default (Ferdinand Beyer, Monte)
567    - added support for assigned object access (Monte)
568    - fixed bug with directories named '0' (Frank Bauer, Monte)
569    - add javascript parameter to escape modifier (Monte)
570    - added calling function line numbers to syntax error
571      messages in compiler (Monte)
572    - added support for modifiers to function calls (Monte)
573    - support return value for custom functions
574      instead of echoing (but echo still works) (Monte)
575    - added direct access to constants
576      via $smarty.const.FOO (Monte)
577    - added support for passing modifiers
578      to static values (Monte)
579    - fix up regex code in compiler, more accurate and
580      maintainable (Monte)
581    - added day_value_format to html_select_date (Marcus
582      Bointon, Monte)
583    - assigned variables are no longer in global
584      namespace, saving extract() calls and speeding
585      up fetch() and display() linearly with no. of
586      assigned variables (Monte)
587    - added trimwhitespace output filter to dist. (Monte)
588    - fix popup function to allow newlines in text (Monte)
589    - escape html entities in html_options (Monte)
590    - fixed bug with label for html_options (Monte)
591    - added config_load API function (Monte)
592    - added caching to config file loading (Monte)
593    - added "extra" parameter to mailto function (Monte,
594      Massimiliano Perantoni)
595    - added mailto plugin to dist.  (Monte)
596
597Version 2.3.1 (Nov 19, 2002)
598----------------------------
599
600    - added optgroup support to html_options (Monte, Robert
601      Amos)
602    - set mtime on compile files so they match source
603      files (Monte, Peter Bowen)
604    - added proper support for open_basedir setting
605      (Monte, Alessandro Astarita)
606    - added strip variable modifier, updated docs (Monte)
607    - fixed access to $smarty.x variables as arrays. (Andrei)
608    - fixed errors with example setup docs (Monte, Matthew
609      Hagerty)
610    - added textformat block function (Monte)
611
612Version 2.3.0 (Aug 7, 2002)
613---------------------------
614
615    - added assign_by_ref() and append_by_ref() functions
616      (Bob Silva, Monte)
617    - changed default warning type for plugin errors from
618      E_USER_WARNING to E_USER_ERROR (Monte)
619    - added $all_extra, $hour_extra, $minute_extra,
620      $second_extra and $meridian_extra parameters to
621      html_select_time function (Rainer Collet, Monte)
622    - update debug console to print objects (Simon Willison,
623      Monte)
624    - fix Config_File class to not error when there are no
625      sections (Peter Kmet, Monte)
626    - add default modifier logic (Monte)
627    - updated popup_init to be xhtml compliant (Tom Oram, Monte)
628    - fix filename bug with windows (Gary Loescher, Monte)
629    - add ability to supply expire time in seconds when clearing
630      cache or compile files (Monte)
631    - add {debug} plugin to distribution (Monte)
632    - fixed bug with insert tags, loading from "script" attribute
633      when caching is enabled (Monte)
634    - fix bug with debug_tpl file path with Windows (.SMK., Monte)
635    - fix append() function with string/array problem (Monte)
636
637Version 2.2.0 (July 11, 2002)
638-----------------------------
639
640    - make debug.tpl work with any delimiter (Monte)
641    - change logic in assign() and append() to test var names
642      against != '' instead of empty() (Monte)
643    - fix PHP notice in append() function (Monte)
644    - allow $plugins_dir to be an array of directories
645      (Andreas Kossmeier, Monte)
646    - move debug.tpl to SMARTY_DIR, add to constructor (Monte)
647    - fixed warning message in function.assign_debug_info (Monte)
648    - fixed $template_dir, $compile_dir, $cache_dir, $config_dir,
649      $plugin_dir to respect include_path (Monte)
650    - fixed warning message with output filter array (Monte)
651    - add optional 2nd parameter to date_format, used as
652      the default date if the passed date is empty (Monte)
653    - gave $reset a default value in cycle plugin (Monte)
654    - fixed warnings with html_select_date and timestamp
655      functions (Monte)
656    - added support for sub directory exlusion format (Monte)
657    - added support for grouping by cache_id, compile_id
658      and segments thereof (Monte)
659    - changed cache and compile files to human readable
660      format (Monte)
661    - remove overlib.js file from distribution (Monte)
662    - fixed bug with 304 Not Modified response sending
663      content (Monte)
664    - fixed cycle function to respect delimiter after
665      initial setting (Monte)
666    - update $GLOBALS references to work properly with
667      track_globals settings (Michal Prinke, Monte)
668    - fixed bug in math function with call to assign
669      (Grigory V. Kareev, Monte)
670    - optimized for loops with count() function calls (Monte)
671    - add month_value_format attribute to html_select_date
672      plugin (Gary Loescher, Monte)
673    - made it possible to use simple variables inside [] for
674      indexing. (Andrei)
675    - added "once" attribute to {include_php}. (Monte)
676
677Version 2.1.1
678-------------
679    - added cycle function. (Monte)
680    - fixed bug with resource testing, and include_path. (Monte)
681    - fixed a bug with register_outputfilter function. (Monte)
682
683Version 2.1.0
684-------------
685
686    - introduced output filters. (Andrei)
687    - changed the way filters are loaded, added load_filter()
688      API function and $autoload_filters variable. (Andrei)
689    - added caching logic for expire times per cache file
690      (Norbert Rocher, Monte)
691    - fixed html_select_date when field separator is "/"
692      (Roberto Berto, Monte)
693    - added YYYY-MM-DD format support to html_select_date
694      (Jan Rosier, Monte)
695    - fixed cache_lifetime logic bug, also made -1 = never
696      expire (Monte)
697    - fixed directory separator issue for Windows. (Andrei)
698    - added ability to use simple variables as array indices or
699      object properties. (Andrei)
700    - added ability to unregister pre/postfilters plugins at
701      runtime. (Andrei)
702    - added 'htmlall' attribute to escape modifier. (Monte)
703    - added template_exists() API function. (Andrei)
704    - fixed a problem with using dynamic values for 'file'
705      attribute of {include_php} tag. (Andrei)
706    - added $smarty.template variable. (Andrei)
707    - fixed several plugins that would not work if the plugin
708      directory was not the default one. (Andrei)
709    - implemented support for block functions. (Andrei)
710    - made it possible to assign variables in pre/postfilter
711      plugins. (Andrei)
712
713Version 2.0.1
714-------------
715    - rename plugin .make_timestamp.php to shared.make_timestamp.php.
716      (Monte)
717    - changed crc32() generated values, replace '-' with 'N'. (Monte)
718    - added support for +/- N syntax in html_select_date year values.
719      (Monte)
720    - fixed behavior of inserts with script attribute. (Andrei)
721    - fixed bug with $smarty.cookies and $smarty.server. (Andrei)
722    - wordwrap and indent are missing from 2.0 release, now fixed.
723      (Monte)
724    - removed show_info_header and show_info_include variables. (Monte)
725
726Version 2.0.0
727-------------
728    - added "eval" function plugin for evaluating variables as
729      templates. (Monte)
730    - removed $tpl_file_ext class variable, no longer used. (Monte)
731    - added "hex" and "hexentity" escape types to escape modifier.
732      (Monte)
733    - removed dependency on PEAR. (Andrei)
734    - update popup_init to accept src attribute. (Monte, Duncan Forrest)
735    - implemented several optimizations, speeding up Smarty
736      significantly in most cases. (Andrei,Monte)
737    - implemented plugin architecture. (Andrei)
738    - added wordwrap and indent modifiers. (Monte)
739    - added support for 'If-Modified-Since' headers for cached content.
740      (Monte)
741    - removed insert_tag_check class variable, no longer needed. (Monte)
742    - optimized cache fetches by scanning for insert tags only if they
743      exist. (Monte)
744    - fixed bugs in overlib. (Monte, Duncan Forrest)
745    - fixed a problem with compile_id usage. (Andrei)
746    - fixed problem with using assigned vars with {include_php ...}
747      filepath. (Monte)
748
749Version 1.5.2
750-------------
751    - added Smarty object as fifth argument for template resource functions.
752      (Monte)
753    - fixed a bug with incorrectly combined cache and compile id in
754      clear_cache(). (Andrei)
755    - fixed bug in smarty_make_timestamp introduced in PHP 4.1.0. (Monte)
756    - fixed bug with cached insert debug timing. (Monte)
757    - added 'script' attribute to {insert..} which specifies the script that
758      the insert function can be found in. (Andrei)
759    - added default template function handler. (Monte)
760
761Version 1.5.1
762-------------
763    - removed error message from the generic _read_file() method, the caller
764      should take care of that. (Andrei)
765    - fixed a bug with incorrectly combined cache and compile id. (Andrei)
766
767Version 1.5.0
768-------------
769    - added include_php built-in function, documented. (Monte)
770    - added trusted_dir functionality, documented. (Monte)
771    - consolidated secure_dir tests to one function. (Monte)
772    - prepended _smarty_ to variable names in fetch() class function to avoid
773      namespace conflicts. (Monte)
774    - introduced $compile_id class variable that can be used to set persistent
775      compile identifier across multiple display calls, documented. (Andrei)
776    - fixed bug with concatenated null cache and compile identifiers. (Andrei)
777    - added $smarty.section.* syntax for accessing section properties,
778      documented. (Andrei)
779    - added custom cache handling function ability, documented. (Monte)
780    - added assign attribute to include, include_php, insert, fetch, math, and
781      counter functions, documented. (Monte)
782    - fixed bug with fetch testing for local file when http address. (Monte)
783    - fixed bug with counter and skipval setting. (Monte)
784    - made {config_load ...} merge globals from each config file only once per
785      scope, thus avoiding several problems. (Andrei)
786    - added {foreach ...} tag that can be used to iterate through
787      non-sequential and associative arrays, documented. (Andrei)
788    - speeded up section property access a bit. (Andrei)
789    - removed $smarty variable from storage used by normal template variables,
790      to prevent any problems. (Andrei)
791    - fixed a bug that could cause parse error with quotes inside literal
792      blocks. (Andrei, Alexander Belonosov)
793    - added 'field_array' attribute to html_select_time function, documented.
794      (Andrei, Michael Caplan)
795    - documented {section} "max" attribute. (Monte)
796    - fixed notice message in Smarty_Compiler.class.php. (Monte)
797    - fixed bug with clear_cache introduced in 1.4.6, third parameter should
798      default to null. (Monte)
799    - updated Config_File class to support '\' path separator in OS/2. (Monte,
800      Francesco Cipriani)
801    - removed secure_ext setting (not used). (Monte)
802    - made cache reading process more efficient. (Monte)
803    - fixed bug, is_cached() now supports new 1.4.6 caching behavior. (Monte)
804    - update FAQ with mailing list Reply-To header FAQ. (Monte)
805    - supress error messages for fopen(), fix cache to regenerate if cache
806      file is not available (i.e. cluster race condition). (Monte)
807    - added index key example to QUICKSTART guide. (Monte)
808
809Version 1.4.6
810-------------
811    - fixed bug with {assign ...} when passing an empty value. (Monte)
812    - add more warning message fixes. (Monte, Tara Johnson)
813    - documentation updates. (Monte)
814    - update fetch function to give proper warning when fetching a non-readable
815      or non-existant file. (Monte)
816    - fixed problem with newline at the end of included templates (Monte, Andrei)
817    - added feature to regenerate cache if compile_check is enabled and an
818      involved template or config file gets modified. (Monte)
819    - added DEBUG execution times to included files: REQUIRES updated debug.tpl
820      file! (Monte)
821    - added support for hidden config variables that cannot be read by
822      templates. (Andrei)
823    - added execution time to DEBUG console, total and inserts. (Monte)
824    - fixed bug where DEBUG console would not appear with cached content. (Monte)
825    - added support for postfilter functions that are applied to compiled
826      template right after compilation. (Andrei)
827    - fixed the name of clear_compile_tpl() API function to clear_compiled_tpl.
828      (Andrei)
829    - added fix for removing comments so that the line numbers are reported
830      correctly in case of errors. (patch from Anders Janson)
831    - made html_options output xhtml compatible code. (Monte, Arnaud Limbourg)
832
833Version 1.4.5
834-------------
835    - update FAQ with index of questions at the top
836    - update overlib to 3.50, adjust addon code so that the overlib.js
837      file isn't modified, and not using the mini one. (Monte)
838    - added many more options to html_select_date. (Alexander Skwar, Andrei)
839    - added support for generating different compiled templates from the same
840      source template. (Hans-Peter Oeri, Andrei)
841    - modified Smarty to pass itself to insert functions as the second
842      parameter. (Andrei)
843    - modified Smarty to pass itself to prefilter functions as the second
844      parameter. (Andrei)
845    - fixed syntax error when including a non-existant template with security
846      enabled. (Monte)
847    - fixed comments handling to allow commenting out template blocks. (Andrei)
848    - implemented named capture buffers, with results accessible via
849      $smarty.capture.<name>. (Andrei)
850    - added ability to index arrays directly by numbers. (Andrei)
851    - fixed bug with SMARTY_DIR not prepended to Config_File include. (Monte)
852
853Version 1.4.4
854-------------
855    - fixed problem with including insecure templates with security enabled.
856      (Monte)
857    - numerous documentation updates. (Monte)
858    - added ENT_QUOTES to escapement of html. (Monte, Sam Beckwith)
859    - implemented access to request variables via auto-assigned $smarty
860      template variable. (Andrei)
861    - fixed a bug with parsing function arguments inside {if} tags if a comma
862      was present. (Andrei)
863    - updated debug console with config file vars. (Monte)
864    - added SMARTY_DIR constant as an alternative to relying on include_path.
865      (Monte)
866    - added popup_init and popup functions (requires overlib.js). (Monte)
867    - updated debug console with config file vars. (Monte)
868    - added debugging url control. (Monte)
869    - added 'quotes' type to escape modifier. (Monte, Mike Krus)
870    - added 'total' and 'iteration' section properties. (Andrei)
871    - added 'start', 'max', and 'step' section attributes/properties. (Andrei)
872    - fixed a bug with security checking of functions inside {if} tags.
873      (Andrei)
874    - fixed a bug in Config_File that would incorrectly booleanize values that
875      weren't really booleans. (Andrei)
876
877Version 1.4.3
878-------------
879    - added regex_replace modifier, documented. (Monte)
880    - added debugging console feature and custom function assign_debug_info,
881      documented. (Monte)
882    - added 'scope' attribute for {config_load}, 'global' is now deprecated but
883      is still supported. (Andrei)
884    - reduced template symbol table pollution by moving config array into the
885      class itself. (Andrei)
886    - fixed a bug with passing quoted arguments to modifiers inside {if}
887      statements. (Andrei, Sam Beckwith)
888    - added security features for third party template editing, documented
889      (Monte)
890    - added assign custom function, documented. (Monte)
891    - fixed bug with template header using version instead of _version. (Monte)
892    - fixed a problem with putting $ followed by numbers inside {strip} and
893      {/strip} tags. (Andrei)
894    - fixed Config_File class to allow empty config paths (defaults to current
895      directory). (Andrei)
896
897Version 1.4.2
898-------------
899    - move $version to internal variable, remove from docs. (Monte)
900    - cleaned up compiled templates global scope by moving some variables into
901      the class itself. (Andrei)
902    - fixed a bug that would not allow referring to a section in the including
903      file from the included file. (Andrei)
904    - configs directory missing from 1.4.1 release, added back in. (Monte)
905    - added windows include_path setup instructions to FAQ & QUICKSTART.
906      (Monte)
907
908Version 1.4.1
909-------------
910    - fix LOCK_EX logic for all windows platforms (Monte)
911    - fixed indexing by section properties with the new syntax. (Andrei)
912    - updated Smarty to use absolute paths when requiring/including Smarty
913      components. (Andrei, John Lim)
914
915Version 1.4.0
916-------------
917    - added {capture}{/capture} function, documented (Monte)
918    - added {counter} function, documented (Monte)
919
920Version 1.4.0b2
921---------------
922    - fixed issue in Config_File.class with referencing blank sections (Andrei)
923    - fixed problem with passing variables to included files (Andrei)
924    - fixed resource path recognition for windows (Monte)
925
926Version 1.4.0b1
927---------------
928    - added "componentized templates" tip into documentation (Monte)
929    - added {php}{/php} tags for embedding php code into templates (Monte)
930    - changed default value of $show_info_header to false (Monte)
931    - implemented '->' syntax for accessing properties of objects passed to the
932      template. (Andrei)
933    - allowed custom functions to receive Smarty object as the second
934      parameter; this can be used to dynamically change template variables, for
935      example. (Andrei)
936    - added custom compiler functions support, register_compiler_function() and
937      unregister_compiler_function() API functions. (Andrei, Ivo Jansch).
938    - updated GLOBAL_ASSIGN to take SCRIPT_NAME from HTTP_SERVER_VARS
939      instead of global variable. You can also assign several variables
940      in one shot with an array. (Monte, Roman Neuhauser)
941    - added template prefilters, register_prefilter() and
942      unregister_prefilter() API functions. (Monte)
943    - added RELEASE_NOTES file to distribution. (Monte)
944    - moved CREDITS out of manual into its own file. (Monte)
945    - added register_resource() and unregister_resource() API functions. (Monte)
946    - changed the syntax of indexing template variables, thus supporting
947      structures of arbitrary complexity; supplied fix_vars.php script to fix
948      old syntax. (Andrei)
949    - added $insert_tag_check to speed up cached pages if {insert ...} is not
950      used. (Monte)
951    - added $compiler_class variable to allow specifying a different compiler
952      class. (Andrei)
953    - changed Smarty to compile templates at runtime, allowing for arbitrary
954      template resources. (Monte)
955    - added fix for LOCK_EX under Windows and changed a couple of file
956      permissions for security. (Monte, Fernando Nunes)
957    - allow arbitrary date strings to date_format, html_select_date and
958      html_select_time (Monte)
959
960Version 1.3.2
961-------------
962    - fixed a bug that caused some nested includes to loop infinitely. (Andrei)
963    - added optional HTML header to output. (Monte)
964    - significantly improved config_load performance. (Andrei)
965    - added format attribute to math function. (Monte)
966    - added html_select_time custom function. (Andrei)
967    - fixed minor PHP warning when attempting to unset an unset variable
968      (Monte)
969    - added count_characters, count_words, count_sentences, count_paragraphs
970      modifiers (Monte)
971
972Version 1.3.1pl1
973--------------
974    - bug fix, recovered missing _syntax_error function (Monte)
975
976Version 1.3.1
977-------------
978    - document first, last, index_prev, index_next (Monte)
979    - added 'first' and 'last' section properties. (Andrei)
980    - split out compiling code to separate class for faster template execution
981      time (Monte)
982    - fixed a couple of minor PHP warnings (Monte)
983    - added and documented unregister_modifier() and unregister_function() API
984      calls. (Monte)
985    - added and documented 'fetch' and 'math' functions. (Monte)
986    - added ability to index looped variables by section properties, e.g.
987      $foo.index_prev/bar. (Andrei)
988    - added index_prev and index_next section properties. (Andrei)
989    - fixed issue with php executing in literal blocks. (Monte)
990
991Version 1.3.0
992-------------
993    - moved license from GPL to LGPL (Monte)
994    - implemented workaround for PHP "feature" that eats carriage returns
995      if the PHP tag is at the end of the line. (Andrei)
996    - removed $allow_php, added $php_handling logic (Monte)
997    - added file locking to prevent reader/writer problem. (Andrei)
998    - made Smarty catch unimplemented modifiers and custom functions and output
999      error messages during compilation instead of failing during run time.
1000      (Andrei)
1001    - removed short-tags at the top of the smarty scripts (Monte)
1002    - added register_function() and register_modifier() API calls to make
1003      registering stuff easier. (Andrei)
1004    - added template results caching capability. (Monte, Andrei)
1005    - added optional 'options' attribute to html_options custom function
1006      that allows passing associative arrays for values/output. (Andrei)
1007    - modifier arguments can now contain '|' and ':' characters inside quoted
1008      strings. (Andrei)
1009
1010Version 1.2.2
1011-------------
1012    - fixed bug that would not respect nested template directories and would
1013      put all compiled files into top-level one. (Andrei)
1014    - fixed bug using $PHP_VERSION instead of environment var PHP_VERSION.
1015      (Monte)
1016    - a couple small warning fixes. (Monte)
1017
1018Version 1.2.1
1019-------------
1020    - added $compile_dir, removed $compile_dir_ext, simplified usage. (Monte)
1021    - added tips & tricks chapter to documentation. (Monte)
1022    - misc documentation updates. (Monte)
1023
1024Version 1.2.0
1025-------------
1026    - updated documentation (Monte)
1027    - added file and line number information to syntax error messages. (Andrei)
1028    - added ability to index template vars by a key. (Andrei)
1029
1030Version 1.1.0
1031-------------
1032    - misc documentation changes, official stable release
1033
1034Version 1.0b
1035------------
1036    - fixed the bug that prevented using non-array values for 'loop' attribute.
1037      (Andrei)
1038    - many misc documentation changes & additions (Monte)
1039
1040Version 1.0a
1041------------
1042    - fixed bug that caused templates to recompile every time (Monte)
1043
1044Version 1.0
1045------------
1046    - initial release
1047
1048/* vim: set et tw=64 ft=changelog: */
Note: See TracBrowser for help on using the repository browser.