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