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