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