[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/Smarty/ -> change_log.txt (source)

   1  ===== Smarty-3.1.7 =====
   2  18.12.2011
   3  - bugfix strings ending with " in multiline strings of config files failed to compile (isse #67)
   4  - added chaining to Smarty_Internal_Templatebase
   5  - changed unloadFilter() to not return a boolean in favor of chaining and API conformity
   6  - bugfix unregisterObject() raised notice when object to unregister did not exist
   7  - changed internals to use Smarty::$_MBSTRING ($_CHARSET, $_DATE_FORMAT) for better unit testing
   8  - added Smarty::$_UTF8_MODIFIER for proper PCRE charset handling (Forum Topic 20452)
   9  - added Smarty_Security::isTrustedUri() and Smarty_Security::$trusted_uri to validate 
  10    remote resource calls through {fetch} and {html_image} (Forum Topic 20627)
  11  
  12  17.12.2011
  13  - improvement of compiling speed by new handling of plain text blocks in the lexer/parser (issue #68)
  14  
  15  16.12.2011
  16  - bugfix the source exits flag and timestamp was not setup when template was in php include path (issue #69)
  17  
  18  9.12.2011
  19  - bugfix {capture} tags around recursive {include} calls did throw exception (Forum Topic 20549)
  20  - bugfix $auto_literal = false did not work with { block} tags in child templates (Forum Topic 20581)
  21  - bugfix template inheritance: do not include code of {include} in overloaded {block} into compiled 
  22    parent template (Issue #66}
  23  - bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return expected
  24    result (Forum Topic 20564)
  25      
  26  ===== Smarty-3.1.6  =====
  27  30.11.2011
  28  - bugfix is_cache() for individual cached subtemplates with $smarty->caching = CACHING_OFF did produce
  29    an exception (Forum Topic 20531)
  30  
  31  29.11.2011
  32  - bugfix added exception if the default plugin handler did return a not static callback (Forum Topic 20512)
  33  
  34  25.11.2011
  35  - bugfix {html_select_date} and {html_slecet_time} did not default to current time if "time" was not specified 
  36    since r4432 (issue 60)
  37  
  38  24.11.2011
  39  - bugfix a subtemplate later used as main template did use old variable values
  40  
  41  21.11.2011
  42  - bugfix cache file could include unneeded modifier plugins under certain condition
  43  
  44  18.11.2011
  45  - bugfix declare all directory properties private to map direct access to getter/setter also on extended Smarty class
  46  
  47  16.11.2011
  48  - bugfix Smarty_Resource::load() did not always return a proper resource handler (Forum Topic 20414)
  49  - added escape argument to html_checkboxes and html_radios (Forum Topic 20425)
  50  
  51  ===== Smarty-3.1.5  =====
  52  14.11.2011
  53  - bugfix allow space between function name and open bracket (forum topic 20375)
  54  
  55  09.11.2011
  56  - bugfix different behaviour of uniqid() on cygwin. See https://bugs.php.net/bug.php?id=34908
  57    (forum topic 20343)
  58  
  59  01.11.2011
  60  - bugfix {if} and {while} tags without condition did not throw a SmartyCompilerException (Issue #57)
  61  - bugfix multiline strings in config files could fail on longer strings (reopened Issue #55)
  62  
  63  22.10.2011
  64  - bugfix smarty_mb_from_unicode() would not decode unicode-points properly
  65  - bugfix use catch Exception instead UnexpectedValueException in 
  66    clearCompiledTemplate to be PHP 5.2 compatible
  67  
  68  21.10.2011
  69  - bugfix apostrophe in plugins_dir path name failed (forum topic 20199)
  70  - improvement sha1() for array keys longer than 150 characters
  71  - add Smarty::$allow_ambiguous_resources to activate unique resource handling (Forum Topic 20128)
  72  
  73  20.10.2011
  74  - @silenced unlink() in Smarty_Internal_Write_File since debuggers go haywire without it.
  75  - bugfix Smarty::clearCompiledTemplate() threw an Exception if $cache_id was not present in $compile_dir when $use_sub_dirs = true.
  76  - bugfix {html_select_date} and {html_select_time} did not properly handle empty time arguments (Forum Topic 20190)
  77  - improvement removed unnecessary sha1()
  78  
  79  19.10.2011
  80  - revert PHP4 constructor message
  81  - fixed PHP4 constructor message
  82  
  83  ===== Smarty-3.1.4 =====
  84  19.10.2011
  85  - added exception when using PHP4 style constructor
  86  
  87  16.10.2011
  88  - bugfix testInstall() did not propery check cache_dir and compile_dir
  89  
  90  15.10.2011
  91  - bugfix Smarty_Resource and Smarty_CacheResource runtime caching (Forum Post 75264)
  92  
  93  14.10.2011
  94  - bugfix unique_resource did not properly apply to compiled resources (Forum Topic 20128)
  95  - add locking to custom resources (Forum Post 75252)
  96  - add Smarty_Internal_Template::clearCache() to accompany isCached() fetch() etc.
  97  
  98  13.10.2011
  99  - add caching for config files in Smarty_Resource
 100  - bugfix disable of caching after isCached() call did not work (Forum Topic 20131)
 101  - add concept unique_resource to combat potentially ambiguous template_resource values when custom resource handlers are used (Forum Topic 20128)
 102  - bugfix multiline strings in config files could fail on longer strings (Issue #55)
 103  
 104  11.10.2011
 105  - add runtime checks for not matching {capture}/{/capture} calls (Forum Topic 20120)
 106   
 107  10.10.2011
 108  - bugfix variable name typo in {html_options} and {html_checkboxes} (Issue #54)
 109  - bugfix <?xml> tag did create wrong output when caching enabled and the tag was in included subtemplate
 110  - bugfix Smarty_CacheResource_mysql example was missing strtotime() calls
 111  
 112  ===== Smarty-3.1.3  =====
 113  07.10.2011
 114  - improvement removed html comments from {mailto} (Forum Topic 20092)
 115  - bugfix testInstall() would not show path to internal plugins_dir (Forum Post 74627)
 116  - improvement testInstall() now showing resolved paths and checking the include_path if necessary
 117  - bugfix html_options plugin did not handle object values properly (Issue #49, Forum Topic 20049)
 118  - improvement html_checkboxes and html_radios to accept null- and object values, and label_ids attribute
 119  - improvement removed some unnecessary count()s
 120  - bugfix parent pointer was not set when fetch() for other template was called on template object
 121  
 122  06.10.2011
 123  - bugfix switch lexer internals depending on mbstring.func_overload
 124  - bugfix start_year and end_year of {html_select_date} did not use current year as offset base (Issue #53)
 125  
 126  05.10.2011
 127  - bugfix of problem introduced with r4342 by replacing strlen() with isset()
 128  - add environment configuration issue with mbstring.func_overload Smarty cannot compensate for (Issue #45)
 129  - bugfix nofilter tag option did not disable default modifier
 130  - bugfix html_options plugin did not handle null- and object values properly (Issue #49, Forum Topic 20049)
 131  
 132  04.10.2011
 133  - bugfix assign() in plugins called in subtemplates did change value also in parent template
 134  - bugfix of problem introduced with r4342 on math plugin 
 135  - bugfix output filter should not run on individually cached subtemplates
 136  - add unloadFilter() method
 137  - bugfix has_nocache_code flag was not reset before compilation
 138  
 139  ===== Smarty-3.1.2  =====
 140  03.10.2011
 141  - improvement add internal $joined_template_dir property instead computing it on the fly several times
 142  
 143  01.10.2011
 144  - improvement replaced most in_array() calls by more efficient isset() on array_flip()ed haystacks
 145  - improvement replaced some strlen($foo) > 3 calls by isset($foo[3])
 146  - improvement Smarty_Internal_Utility::clearCompiledTemplate() removed redundant strlen()s
 147  
 148  29.09.2011
 149  - improvement of Smarty_Internal_Config::loadConfigVars() dropped the in_array for index look up
 150  
 151  28.09.2011
 152  - bugfix on template functions called nocache calling other template functions
 153  
 154  27.09.2011
 155  - bugfix possible warning "attempt to modify property of non-object" in {section} (issue #34)
 156  - added chaining to Smarty_Internal_Data so $smarty->assign('a',1)->assign('b',2); is possible now
 157  - bugfix remove race condition when a custom resource did change timestamp during compilation
 158  - bugfix variable property did not work on objects variable in template
 159  - bugfix smarty_make_timestamp() failed to process DateTime objects properly
 160  - bugfix wrong resource could be used on compile check of custom resource
 161  
 162  26.09.2011
 163  - bugfix repeated calls to same subtemplate did not make use of cached template object
 164  
 165  24.09.2011
 166  - removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application
 167  - optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable
 168  - added compile_dir and cache_dir to list of muted directories
 169  - improvment better error message for undefined templates at {include}
 170  
 171  23.09.2011
 172  - remove unused properties
 173  - optimization use real function instead anonymous function for preg_replace_callback
 174  - bugfix a relative {include} in child template blocks failed
 175  - bugfix direct setting of $template_dir, $config_dir, $plugins_dir in __construct() of an 
 176    extended Smarty class created problems
 177  - bugfix error muting was not implemented for cache locking
 178  
 179  ===== Smarty 3.1.1  =====
 180  22.09.2011
 181  - bugfix {foreachelse} does fail if {section} was nested inside {foreach}
 182  - bugfix debug.tpl did not display correctly when it was compiled with escape_html = true
 183  
 184  21.09.2011
 185  - bugfix look for mixed case plugin file names as in 3.0 if not found try all lowercase
 186  - added $error_muting to suppress error messages even for badly implemented error_handlers
 187  - optimized autoloader
 188  - reverted ./ and ../ handling in fetch() and display() - they're allowed again
 189  
 190  20.09.2011
 191  - bugfix removed debug echo output while compiling template inheritance
 192  - bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"}
 193  - bugfix {include} did not work inside nested {block} tags
 194  - bugfix {assign} with scope root and global did not work in all cases
 195  
 196  19.09.2011
 197  - bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261
 198  - bugfix output filter shall not run on included subtemplates
 199  
 200  18.09.2011
 201  - bugfix template caching did not care about file.tpl in different template_dir
 202  - bugfix {include $file} was broken when merge_compiled_incluges = true
 203  - bugfix {include} was broken when merge_compiled_incluges = true and same indluded template
 204    was used in different main templates in one compilation run
 205  - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
 206  - bugfix debug.tpl did not display correctly when it was compiled with escape_html = true
 207  
 208  17.09.2011
 209  - bugfix lock_id for file resource would create invalid filepath
 210  - bugfix resource caching did not care about file.tpl in different template_dir
 211  
 212  ===== Smarty 3.1.0  =====
 213  15/09/2011
 214  - optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used
 215  
 216  11/09/2011
 217  - added  unregisterObject() methode
 218  
 219  06/09/2011
 220  - bugfix  isset() did not work in templates on config variables
 221  
 222  03/09/2011
 223  - bugfix createTemplate() must default to cache_id and compile_id of Smarty object
 224  - bugfix Smarty_CacheResource_KeyValueStore must include $source->uid in cache filepath to keep templates with same
 225    name but different folders seperated
 226  - added cacheresource.apc.php example in demo folder
 227  
 228  02/09/2011
 229  - bugfix cache lock file must use absolute filepath
 230  
 231  01/09/2011
 232  - update of cache locking
 233  
 234  30/08/2011
 235  - added locking mechanism to CacheResource API (implemented with File and KeyValueStores)
 236  
 237  28/08/2011
 238  - bugfix clearCompileTemplate() did not work for specific template subfolder or resource
 239  
 240  27/08/2011
 241  - bugfix {$foo|bar+1} did create syntax error
 242  
 243  26/08/2011
 244  - bugfix when generating nocache code which contains double \
 245  - bugfix handle race condition if cache file was deleted between filemtime and include
 246  
 247  17/08/2011
 248  - bugfix CacheResource_Custom bad internal fetch() call
 249  
 250  15/08/2011
 251  - bugfix CacheResource would load content twice for KeyValueStore and Custom handlers
 252  
 253  06/08/2011
 254  - bugfix {include} with scope attribute could execute in wrong scope
 255  - optimization of compile_check processing
 256  
 257  03/08/2011
 258  - allow comment tags to comment {block} tags out in child templates
 259  
 260  26/07/2011
 261  - bugfix experimental getTags() method did not work
 262  
 263  24/07/2011
 264  - sure opened output buffers are closed on exception
 265  - bugfix {foreach} did not work on IteratorAggregate
 266  
 267  22/07/2011
 268  - clear internal caches on clearAllCache(), clearCache(), clearCompiledTemplate()
 269  
 270  21/07/2011
 271  - bugfix value changes of variable values assigned to Smarty object could not be seen on repeated $smarty->fetch() calls
 272  
 273  17/07/2011
 274  - bugfix {$smarty.block.child} did drop a notice at undefined child
 275  
 276  15/07/2011
 277  - bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags
 278  - added caches for Smarty_Template_Source and Smarty_Template_Compiled to reduce I/O for multiple cache_id rendering
 279  
 280  14/07/2011
 281  - made Smarty::loadPlugin() respect the include_path if required
 282  
 283  13/07/2011
 284  - optimized internal file write functionality
 285  - bugfix PHP did eat line break on nocache sections
 286  - fixed typo of Smarty_Security properties $allowed_modifiers and $disabled_modifiers
 287  
 288  06/07/2011
 289  - bugfix variable modifier must run befor gereral filtering/escaping
 290  
 291  04/07/2011
 292  - bugfix use (?P<name>) syntax at preg_match as some pcre libraries failed on (?<name>)
 293  - some performance improvement when using generic getter/setter on template objects
 294  
 295  30/06/2011
 296  - bugfix generic getter/setter of Smarty properties used on template objects did throw exception
 297  - removed is_dir and is_readable checks from directory setters for better performance
 298  
 299  28/06/2011
 300  - added back support of php template resource as undocumented feature
 301  - bugfix automatic recompilation on version change could drop undefined index notice on old 3.0 cache and compiled files
 302  - update of README_3_1_DEV.txt and moved into the distribution folder
 303  - improvement show first characters of eval and string templates instead sha1 Uid in debug window
 304  
 305  ===== Smarty 3.1-RC1 =====
 306  25/06/2011
 307  - revert change of 17/06/2011. $_smarty varibale removed. call loadPlugin() from inside plugin code if required
 308  - code cleanup, remove no longer used properties and methods
 309  - update of PHPdoc comments
 310  
 311  23/06/2011
 312  - bugfix {html_select_date} would not respect current time zone
 313  
 314  19/06/2011
 315  - added $errors argument to testInstall() functions to suppress output.
 316  - added plugin-file checks to testInstall()
 317  
 318  18/06/2011
 319  - bugfix mixed use of same subtemplate inline and not inline in same script could cause a warning during compilation
 320  
 321  17/06/2011
 322  - bugfix/change use $_smarty->loadPlugin() when loading nested depending plugins via loadPlugin
 323  - bugfix {include ... inline} within {block}...{/block} did fail
 324  
 325  16/06/2011
 326  - bugfix do not overwrite '$smarty' template variable when {include ... scope=parent} is called
 327  - bugfix complete empty inline subtemplates did fail
 328  
 329  15/06/2011
 330  - bugfix template variables where not accessable within inline subtemplates
 331  
 332  12/06/2011
 333  - bugfix removed unneeded merging of template variable when fetching includled subtemplates
 334  
 335  10/06/2011
 336  - made protected properties $template_dir, $plugins_dir, $cache_dir, $compile_dir, $config_dir accessible via magic methods
 337  
 338  09/06/2011
 339  - fix smarty security_policy issue in plugins {html_image} and {fetch}
 340  
 341  05/06/2011
 342  - update of SMARTY_VERSION
 343  - bugfix made getTags() working again
 344  
 345  04/06/2011
 346  - allow extends resource in file attribute of {extends} tag
 347  
 348  03/06/2011
 349  - added {setfilter} tag to set filters for variable output
 350  - added escape_html property to control autoescaping of variable output
 351  
 352  27/05/2011
 353  - added allowed/disabled tags and modifiers in security for sandboxing
 354  
 355  23/05/2011
 356  - added base64: and urlencode: arguments to eval and string resource types
 357  
 358  22/05/2011
 359  - made time-attribute of {html_select_date} and {html_select_time} accept arrays as defined by attributes prefix and field_array
 360  
 361  13/05/2011
 362  - remove setOption / getOption calls from SamrtyBC class
 363  
 364  02/05/2011
 365  - removed experimental setOption() getOption() methods
 366  - output returned content also on opening tag calls of block plugins
 367  - rewrite of default plugin handler
 368  - compile code of variable filters for better performance 
 369  
 370  20/04/2011
 371  - allow {php} {include_php} tags and PHP_ALLOW handling only with the SmartyBC class
 372  - removed support of php template resource
 373  
 374  20/04/2011
 375  - added extendsall resource example
 376  - optimization of template variable access
 377  - optimization of subtemplate handling {include}
 378  - optimization of template class
 379  
 380  01/04/2011
 381  - bugfix quote handling in capitalize modifier
 382  
 383  28/03/2011
 384  - bugfix stripslashes() requried when using PCRE e-modifier
 385  
 386  04/03/2011
 387  - upgrade to new PHP_LexerGenerator version 0.4.0 for better performance
 388  
 389  27/02/2011
 390  - ignore .svn folders when clearing cache and compiled files
 391  - string resources do not need a modify check
 392  
 393  26/02/2011
 394  - replaced smarty_internal_wrapper by SmartyBC class
 395  - load utility functions as static methods instead through __call()
 396  - bugfix in extends resource when subresources are used
 397  - optimization of modify checks
 398  
 399  25/02/2011
 400  - use $smarty->error_unassigned to control NOTICE handling on unassigned variables
 401  
 402  21/02/2011
 403  - added new new compile_check mode COMPILECHECK_CACHEMISS
 404  - corrected new cloning behaviour of createTemplate()
 405  - do no longer store the compiler object as property in the compile_tag classes to avoid possible memory leaks 
 406    during compilation
 407  
 408  19/02/2011
 409  - optimizations on merge_compiled_includes handling
 410  - a couple of optimizations and bugfixes related to new resource structure
 411  
 412  17/02/2011
 413  - changed ./ and ../ behaviour
 414  
 415  14/02/2011
 416  - added {block ... hide} option to supress block if no child is defined
 417  
 418  13/02/2011
 419  - update handling of recursive subtemplate calls
 420  - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
 421  
 422  12/02/2011
 423  - new class Smarty_Internal_TemplateBase with shared methods of Smarty and Template objects
 424  - optimizations of template processing
 425  - made register... methods permanet
 426  - code for default_plugin_handler
 427  - add automatic recompilation at version change
 428  
 429  04/02/2011
 430  - change in Smarty_CacheResource_Custom
 431  - bugfix cache_lifetime did not compile correctly at {include} after last update
 432  - moved isCached processing into CacheResource class
 433  - bugfix new CacheResource API did not work with disabled compile_check
 434  
 435  03/02/2011
 436  - handle template content as function to improve speed on multiple calls of same subtemplate and isCached()/display() calls
 437  - bugfixes and improvents in the new resource API
 438  - optimizations of template class code
 439  
 440  25/01/2011
 441  - optimized function html_select_time
 442  
 443  22/01/2011
 444  - added Smarty::$use_include_path configuration directive for Resource API
 445  
 446  21/01/2011
 447  - optimized function html_select_date
 448  
 449  19/01/2011
 450  - optimized outputfilter trimwhitespace
 451  
 452  18/01/2011
 453  - bugfix Config to use Smarty_Resource to fetch sources
 454  - optimized Smarty_Security's isTrustedDir() and isTrustedPHPDir()
 455  
 456  17/01/2011
 457  - bugfix HTTP headers for CGI SAPIs
 458  
 459  16/01/2011
 460  - optimized internals of Smarty_Resource and Smarty_CacheResource
 461  
 462  14/01/2011
 463  - added modifiercompiler escape to improve performance of escaping html, htmlall, url, urlpathinfo, quotes, javascript
 464  - added support to choose template_dir to load from: [index]filename.tpl
 465  
 466  12/01/2011
 467  - added unencode modifier to revert results of encode modifier
 468  - added to_charset and from_charset modifier for character encoding
 469  
 470  11/01/2011
 471  - added SMARTY_MBSTRING to generalize MBString detection
 472  - added argument $lc_rest to modifier.capitalize to lower-case anything but the first character of a word
 473  - changed strip modifier to consider unicode white-space, too
 474  - changed wordwrap modifier to accept UTF-8 strings
 475  - changed count_sentences modifier to consider unicode characters and treat sequences delimited by ? and ! as sentences, too
 476  - added argument $double_encode to modifier.escape (applies to html and htmlall only)
 477  - changed escape modifier to be UTF-8 compliant
 478  - changed textformat block to be UTF-8 compliant
 479  - optimized performance of mailto function
 480  - fixed spacify modifier so characters are not prepended and appended, made it unicode compatible
 481  - fixed truncate modifier to properly use mb_string if possible
 482  - removed UTF-8 frenzy from count_characters modifier
 483  - fixed count_words modifier to treat "hello-world" as a single word like str_count_words() does
 484  - removed UTF-8 frenzy from upper modifier
 485  - removed UTF-8 frenzy from lower modifier
 486  
 487  01/01/2011
 488  - optimize smarty_modified_escape for hex, hexentity, decentity.
 489  
 490  28/12/2010
 491  - changed $tpl_vars, $config_vars and $parent to belong to Smarty_Internal_Data
 492  - added Smarty::registerCacheResource() for dynamic cache resource object registration
 493  
 494  27/12/2010
 495  - added Smarty_CacheResource API and refactored existing cache resources accordingly
 496  - added Smarty_CacheResource_Custom and Smarty_CacheResource_Mysql
 497  
 498  26/12/2010
 499  - added Smarty_Resource API and refactored existing resources accordingly
 500  - added Smarty_Resource_Custom and Smarty_Resource_Mysql
 501  - bugfix Smarty::createTemplate() to return properly cloned template instances
 502  
 503  24/12/2010
 504  - optimize smarty_function_escape_special_chars() for PHP >= 5.2.3
 505  
 506  ===== SVN 3.0 trunk  =====
 507  14/05/2011
 508  - bugfix error handling at stream resources
 509  
 510  13/05/2011
 511  - bugfix condition starting with "-" did fail at {if} and {while} tags
 512  
 513  22/04/2011
 514  - bugfix allow only fixed string as file attribute at {extends} tag
 515  
 516  01/04/2011
 517  - bugfix do not run filters and default modifier when displaying the debug template
 518  - bugfix of embedded double quotes within multi line strings (""")
 519  
 520  29/03/2011
 521  - bugfix on error message in smarty_internal_compile_block.php
 522  - bugfix mb handling in strip modifier
 523  - bugfix for Smarty2 style registered compiler function on unnamed attribute passing like {tag $foo $bar}
 524  
 525  17/03/2011
 526  - bugfix on default {function} parameters when {function} was used in nocache sections
 527  - bugfix on compiler object destruction. compiler_object property was by mistake unset.
 528  
 529  09/03/2011
 530  -bugfix a variable filter should run before modifers on an output tag (see change of 23/07/2010)
 531  
 532  08/03/2011
 533  - bugfix loading config file without section should load only defaults
 534  
 535  03/03/2011
 536  - bugfix "smarty" template variable was not recreated when cached templated had expired
 537  - bugfix internal rendered_content must be cleared after subtemplate was included
 538  
 539  01/03/2011
 540  - bugfix replace modifier did not work in 3.0.7 on systems without multibyte support
 541  - bugfix {$smarty.template} could return in 3.0.7 parent template name instead of 
 542           child name when it needed to compile
 543  
 544  25/02/2011
 545  - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
 546  
 547  24/02/2011
 548  - bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object
 549  
 550  18/02/2011
 551  - bugfix removed possible race condition when isCached() was called for an individually cached subtemplate
 552  - bugfix force default debug.tpl to be loaded by the file resource
 553  
 554  17/02/2011
 555  -improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache()
 556  
 557  16/02/2011
 558  -fixed typo in exception message of Smarty_Internal_Template
 559  -improvement allow leading spaces on } tag closing if auto_literal is enabled
 560  
 561  13/02/2011
 562  - bufix replace $smarty->triggerError() by exception
 563  - removed obsolete {popup_init..} plugin from demo templates
 564  - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
 565  
 566  ===== Smarty 3.0.7  =====
 567  09/02/2011
 568  - patched vulnerability when using {$smarty.template}
 569  
 570  01/02/2011
 571  - removed assert() from config and template parser
 572  
 573  31/01/2011
 574  - bugfix the lexer/parser did fail on special characters like VT
 575  
 576  16/01/2011
 577  -bugfix of ArrayAccess object handling in internal _count() method
 578  -bugfix of Iterator object handling in internal _count() method
 579  
 580  14/01/2011
 581  -bugfix removed memory leak while processing compileAllTemplates
 582  
 583  12/01/2011
 584  - bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode
 585  
 586  10/01/2011
 587  - bugfix when using {$smarty.block.child} and name of {block} was in double quoted string
 588  - bugfix updateParentVariables() was called twice when leaving {include} processing
 589  
 590  - bugfix mb_str_replace in replace and escape modifiers work with utf8
 591  
 592  31/12/2010
 593  - bugfix dynamic configuration of $debugging_crtl did not work
 594  - bugfix default value of $config_read_hidden changed to false
 595  - bugfix format of attribute array on compiler plugins
 596  - bugfix getTemplateVars() could return value from wrong scope
 597  
 598  28/12/2010
 599  - bugfix multiple {append} tags failed to compile.
 600  
 601  22/12/2010
 602  - update do not clone the Smarty object an internal createTemplate() calls to increase performance
 603  
 604  21/12/2010
 605  - update html_options to support class and id attrs
 606  
 607  17/12/2010
 608  - bugfix added missing support of $cache_attrs for registered plugins
 609  
 610  15/12/2010
 611  - bugfix assignment as condition in {while} did drop an E_NOTICE
 612  
 613  14/12/2010
 614  - bugfix when passing an array as default parameter at {function} tag
 615  
 616  13/12/2010
 617  - bugfix {$smarty.template} in child template did not return right content
 618  - bugfix Smarty3 did not search the PHP include_path for template files
 619  
 620  ===== Smarty 3.0.6  =====
 621  
 622  12/12/2010
 623  - bugfix fixed typo regarding yesterdays change to allow streamWrapper
 624  
 625  11/12/2010
 626  - bugfix nested block tags in template inheritance child templates did not work correctly
 627  - bugfix {$smarty.current_dir} in child template did not point to dir of child template
 628  - bugfix changed code when writing temporary compiled files to allow stream_wrapper
 629  
 630  06/12/2010
 631  - bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable
 632  
 633  05/12/2010
 634  - bugfix missing declaration of $smarty in Smarty class
 635  - bugfix empty($foo) in {if} did drop a notice when $foo was not assigned
 636  
 637  01/12/2010
 638  - improvement of {debug} tag output
 639  
 640  27/11/2010
 641  -change run output filter before cache file is written. (same as in Smarty2)
 642  
 643  24/11/2011
 644  -bugfix on parser at  !$foo|modifier
 645  -change parser logic when assignments used as condition in {if] and {while} to allow assign to array element
 646  
 647  23/11/2011
 648  -bugfix allow integer as attribute name in plugin calls
 649  -change  trimm whitespace from error message, removed long list of expected tokens
 650  
 651  22/11/2010
 652  - bugfix on template inheritance when an {extends} tag was inserted by a prefilter
 653  - added error message for illegal variable file attributes at {extends...} tags
 654  
 655  ===== Smarty 3.0.5  =====
 656  
 657  
 658  19/11/2010
 659  - bugfix on block plugins with modifiers
 660  
 661  18/11/2010
 662  - change on handling of unassigned template variable -- default will drop E_NOTICE
 663  - bugfix on Smarty2 wrapper load_filter() did not work
 664  
 665  17/11/2010
 666  - bugfix on {call} with variable function name
 667  - bugfix on {block} if name did contain '-'
 668  - bugfix in function.fetch.php , referece to undefined $smarty
 669  
 670  16/11/2010
 671  - bugfix whitespace in front of "<?php" in smarty_internal_compile_private_block_plugin.php
 672  - bugfix {$smarty.now} did compile incorrectly
 673  - bugfix on reset(),end(),next(),prev(),current() within templates
 674  - bugfix on default parameter for {function}
 675  
 676  15/11/2010
 677  - bugfix when using {$smarty.session} as object
 678  - bugfix scoping problem on $smarty object passed to filters
 679  - bugfix captured content could not be accessed globally
 680  - bugfix Smarty2 wrapper functions could not be call from within plugins
 681  
 682  ===== Smarty 3.0.4  =====
 683  
 684  14/11/2010
 685  - bugfix isset() did not allow multiple parameter
 686  - improvment of some error messages
 687  - bugfix html_image did use removed property $request_use_auto_globals
 688  - small performace patch in Smarty class
 689  
 690  13/11/2010
 691  - bugfix  overloading problem when $smarty->fetch()/display() have been used in plugins
 692                  (introduced with 3.0.2)
 693  - code cleanup
 694                                  
 695  ===== Smarty 3.0.3  =====
 696  
 697  13/11/2010
 698  - bugfix on {debug}
 699  - reverted location of loadPlugin() to Smarty class
 700  - fixed comments in plugins
 701  - fixed internal_config (removed unwanted code line)
 702  - improvement  remove last linebreak from {function} definition
 703  
 704  ===== Smarty 3.0.2  =====
 705  
 706  12/11/2010
 707  - reactivated $error_reporting property handling
 708  - fixed typo in compile_continue
 709  - fixed security in {fetch} plugin
 710  - changed back plugin parameters to two. second is template object 
 711    with transparent access to Smarty object
 712  - fixed {config_load} scoping form compile time to run time
 713  
 714  ===== Smarty 3.0.0  =====
 715  
 716  
 717  
 718  11/11/2010
 719  - major update including some API changes
 720  
 721  10/11/2010
 722  - observe compile_id also for config files
 723  
 724  09/11/2010
 725  -bugfix on  complex expressions as start value for {for} tag
 726  request_use_auto_globals
 727  04/11/2010
 728  - bugfix do not allow access of dynamic and private object members of assigned objects when
 729    security is enabled.
 730  
 731  01/11/2010
 732  - bugfix related to E_NOTICE change.  {if empty($foo)} did fail when $foo contained a string 
 733  
 734  28/10/2010
 735  - bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}}
 736  
 737  27/10/2010
 738  - bugfix default parameter values did not work for template functions included with {include}
 739  
 740  25/10/2010
 741  - bugfix for E_NOTICE change, array elements did not work as modifier parameter
 742  
 743  20/10/2010
 744  - bugfix for the E_NOTICE change
 745  
 746  19/10/2010
 747  - change Smarty does no longer mask out E_NOTICE by default during template processing
 748  
 749  13/10/2010
 750  - bugfix removed ambiguity between ternary and stream variable in template syntax
 751  - bugfix use caching properties of template instead of smarty object when compiling child {block}
 752  - bugfix {*block}...{/block*} did throw an exception in template inheritance
 753  - bugfix on template inheritance using nested eval or string resource in {extends} tags
 754  - bugfix on output buffer handling in isCached() method
 755  
 756  =====  RC4 =====
 757  
 758  01/10/2010
 759  - added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops
 760  - change of 'string' resource. It's no longer evaluated and compiled files are now stored
 761  - new 'eval' resource which evaluates a template without saving the compiled file
 762  - change in isCached() method to allow multiple calls for the same template
 763  
 764  25/09/2010
 765  - bugfix on some compiling modifiers
 766  
 767  24/09/2010
 768  - bugfix merge_compiled_includes flag was not restored correctly in {block} tag
 769  
 770  22/09/2010
 771  - bugfix on default modifier
 772  
 773  18/09/2010
 774  - bugfix untility compileAllConfig() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
 775  - bugfix on templateExists() for extends resource
 776  
 777  17/09/2010
 778  - bugfix {$smarty.template} and {$smarty.current_dir} did not compile correctly within {block} tags
 779  - bugfix corrected error message on missing template files in extends resource
 780  - bugfix untility compileAllTemplates() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
 781  
 782  16/09/2010
 783  - bugfix when a doublequoted modifier parameter did contain Smarty tags and ':'
 784  
 785  15/09/2010
 786  - bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags
 787  - use ucfirst for resource name on internal resource class names
 788  
 789  12/09/2010
 790  - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
 791  
 792  10/09/2010
 793  - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
 794  
 795  08/09/2010
 796  - allow multiple template inheritance branches starting in subtemplates
 797  
 798  07/09/2010
 799  - bugfix {counter} and {cycle} plugin assigned result to smarty variable not in local(template) scope
 800  - bugfix templates containing just {strip} {/strip} tags did produce an error
 801  
 802  
 803  23/08/2010
 804  - fixed E_STRICT errors for uninitialized variables
 805  
 806  22/08/2010
 807  - added attribute cache_id to {include} tag
 808  
 809  13/08/2010
 810  - remove exception_handler property from Smarty class
 811  - added Smarty's own exceptions SmartyException and SmartyCompilerException
 812  
 813  09/08/2010
 814  - bugfix on modifier with doublequoted strings as parameter containing embedded tags
 815  
 816  06/08/2010
 817  - bugfix when cascading some modifier like |strip|strip_tags modifier
 818  
 819  05/08/2010
 820  - added plugin type modifiercompiler to produce compiled modifier code
 821  - changed standard modifier plugins to the compiling versions whenever possible
 822  - bugfix in nocache sections {include} must not cache the subtemplate
 823  
 824  02/08/2010
 825  - bugfix strip did not work correctly in conjunction with comment lines
 826  
 827  31/07/2010
 828  - bugfix on nocache attribute at {assign} and {append}
 829  
 830  30/07/2010
 831  - bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append}
 832  
 833  25/07/2010
 834  - another bugfix of change from 23/07/2010 when compiling modifer
 835  
 836  24/07/2010
 837  - bugfix of change from 23/07/2010 when compiling modifer
 838  
 839  23/07/2010
 840  - changed execution order. A variable filter does now run before modifiers on output of variables
 841  - bugfix use always { and } as delimiter for debug.tpl
 842  
 843  
 844  22/07/2010
 845  - bugfix in templateExists() methode
 846  
 847  20/07/2010
 848  - fixed handling of { strip } tag with whitespaces
 849  
 850  15/07/2010
 851  - bufix  {$smarty.template} does include now the relative path, not just filename
 852  
 853  =====  RC3 =====
 854  
 855  
 856  
 857  
 858  15/07/2010
 859  - make the date_format modifier work also on objects of the DateTime class
 860  - implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output
 861  
 862  08/07/2010
 863  - bugfix on assigning multidimensional arrays within templates
 864  - corrected bugfix for truncate modifier
 865  
 866  07/07/2010
 867  - bugfix the truncate modifier needs to check if the string is utf-8 encoded or not
 868  - bugfix support of script files relative to trusted_dir
 869  
 870  06/07/2010
 871  - create exception on recursive {extends} calls
 872  - fixed reported line number at "unexpected closing tag " exception
 873  - bugfix on escape:'mail' modifier
 874  - drop exception if 'item' variable is equal 'from' variable in {foreach} tag
 875  
 876  01/07/2010
 877  - removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins
 878  
 879  25/06/2010
 880  - bugfix escaping " when block tags are used within doublequoted strings
 881  
 882  24/06/2010
 883  - replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility
 884  - added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace
 885  
 886  
 887  22/06/2010
 888  - allow spaces between typecast and value in template syntax
 889  - bugfix get correct count of traversables in {foreach} tag
 890  
 891  21/06/2010
 892  - removed use of PHP shortags SMARTY_PHP_PASSTHRU mode
 893  - improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true 
 894  
 895  20/06/2010
 896  - replace internal get_time() calls with standard PHP5 microtime(true) calls
 897  - closed security hole when php.ini asp_tags = on
 898  
 899  18/06/2010
 900  - added __toString method to the Smarty_Variable class
 901  
 902  
 903  14/06/2010
 904  - make handling of Smarty comments followed by newline BC to Smarty2
 905  
 906  
 907  =====  RC2 =====
 908  
 909  
 910  
 911  13/06/2010
 912  - bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value
 913  - bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit)
 914  
 915  11/06/2010
 916  - bugfix the lexer did fail on larger {literal} ... {/literal} sections
 917  
 918  03/06/2010
 919  - bugfix on calling template functions like Smarty tags
 920  
 921  01/06/2010
 922  - bugfix on template functions used with template inheritance
 923  - removed /* vim: set expandtab: */ comments
 924  - bugfix of auto literal problem introduce with fix of 31/05/2010
 925  
 926  31/05/2010
 927  - bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others.
 928  
 929  27/05/2010
 930  - bugfix on object chaining using variable properties
 931  - make scope of {counter} and {cycle} tags again global as in Smarty2
 932  
 933  26/05/2010
 934  - bugfix removed decrepated register_resource call in smarty_internal_template.php
 935  
 936  25/05/2010
 937  - rewrite of template function handling to improve speed
 938  - bugfix on file dependency when merge_compiled_includes = true
 939  
 940  
 941  16/05/2010
 942  - bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'}
 943  
 944  14/05/2010
 945  - bugfix compile new config files if compile_check and force_compile = false
 946  - added variable static classes names to template syntax
 947  
 948  11/05/2010
 949  - bugfix  make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally
 950  - reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag.
 951  
 952  10/05/2010
 953  - bugfix on {foreach} and {for} optimizations of 27/04/2010 
 954  
 955  09/05/2010
 956  - update of template and config file parser because of minor parser generator bugs 
 957  
 958  07/05/2010
 959  - bugfix on {insert} 
 960  
 961  06/05/2010
 962  - bugfix when merging compiled templates and objects are passed as parameter of the {include} tag
 963  
 964  05/05/2010
 965  - bugfix on {insert} to cache parameter
 966  - implementation of $smarty->default_modifiers as in Smarty2
 967  - bugfix on getTemplateVars method 
 968  
 969  01/05/2010
 970  - bugfix on handling of variable method names at object chaning
 971  
 972  30/04/2010
 973  - bugfix when comparing timestamps in sysplugins/smarty_internal_config.php
 974  - work around of a substr_compare bug in older PHP5 versions
 975  - bugfix on template inheritance for tag names starting with "block"
 976  - bugfix on {function} tag with name attribute in doublequoted strings
 977  - fix to make calling of template functions unambiguously by madatory usage of the {call} tag
 978  
 979  =====  RC1 =====
 980  
 981  27/04/2010
 982  - change default of $debugging_ctrl to 'NONE'
 983  - optimization of compiled code of {foreach} and {for} loops
 984  - change of compiler for config variables
 985  
 986  27/04/2010
 987  - bugfix in $smarty->cache->clear() method. (do not cache template object)
 988  
 989  
 990  17/04/2010
 991  - security fix in {math} plugin
 992  
 993  
 994  12/04/2010
 995  - bugfix in smarty_internal_templatecompilerbase (overloaded property)
 996  - removed parser restrictions in using true,false and null as ID
 997  
 998  07/04/2010
 999  - bugfix typo in smarty_internal_templatecompilerbase 
1000  
1001  31/03/2010
1002  - compile locking by touching old compiled files to avoid concurrent compilations
1003  
1004  29/03/2010
1005  - bugfix allow array definitions as modifier parameter
1006  - bugfix observe compile_check property when loading config files
1007  - added the template object as third filter parameter
1008  
1009  25/03/2010
1010  - change of utility->compileAllTemplates() log messages
1011  - bugfix on nocache code in {function} tags 
1012  - new method utility->compileAllConfig() to compile all config files
1013  
1014  24/03/2010
1015  - bugfix on register->modifier() error messages
1016  
1017  23/03/2010
1018  - bugfix on template inheritance when calling multiple child/parent relations
1019  - bugfix on caching mode SMARTY_CACHING_LIFETIME_SAVED and cache_lifetime = 0
1020  
1021  22/03/2010
1022  - bugfix make directory separator operating system independend in compileAllTemplates()
1023  
1024  21/03/2010
1025  - removed unused code in compileAllTemplates()
1026  
1027  19/03/2010
1028  - bugfix for multiple {/block} tags on same line
1029  
1030  17/03/2010
1031  - bugfix make $smarty->cache->clear() function independent from caching status
1032  
1033  16/03/2010
1034  - bugfix on assign attribute at registered template objects
1035  - make handling of modifiers on expression BC to Smarty2
1036   
1037  15/03/2010
1038  - bugfix on block plugin calls
1039  
1040  11/03/2010
1041  - changed parsing of <?php and ?> back to Smarty2 behaviour
1042  
1043  08/03/2010
1044  - bugfix on uninitialized properties in smarty_internal_template
1045  - bugfix on $smarty->disableSecurity()
1046  
1047  04/03/2010
1048  - bugfix allow uppercase chars in registered resource names
1049  - bugfix on accessing chained objects of static classes
1050  
1051  01/03/2010
1052  - bugfix on nocache code in {block} tags if child template was included by {include}
1053  
1054  27/02/2010
1055  - allow block tags inside double quoted string 
1056  
1057  26/02/2010
1058  - cache modified check implemented
1059  - support of access to a class constant from an object (since PHP 5.3)
1060  
1061  24/02/2010
1062  - bugfix on expressions in doublequoted string enclosed in backticks
1063  - added security property $static_classes for static class security
1064  
1065  18/02/2010
1066  - bugfix on parsing Smarty tags inside <?xml ... ?>
1067  - bugfix on truncate modifier
1068  
1069  17/02/2010
1070  - removed restriction that modifiers did require surrounding parenthesis in some cases
1071  - added {$smarty.block.child} special variable for template inheritance
1072  
1073  16/02/2010
1074  - bugfix on <?xml ... ?> tags for all php_handling modes
1075  - bugfix on parameter of variablefilter.htmlspecialchars.php plugin
1076  
1077  14/02/2010
1078  - added missing _plugins property in smarty.class.php
1079  - bugfix $smarty.const... inside doublequoted strings and backticks was compiled into wrong PHP code
1080  
1081  12/02/2010
1082  - bugfix on nested {block} tags
1083  - changed Smarty special variable $smarty.parent to $smarty.block.parent
1084  - added support of nested {bock} tags
1085  
1086  10/02/2010
1087  - avoid possible notice on $smarty->cache->clear(...), $smarty->clear_cache(....)
1088  - allow Smarty tags inside <? ... ?> tags in SMARTY_PHP_QUOTE and SMARTY_PHP_PASSTHRU mode
1089  - bugfix at new "for" syntax like {for $x=1 to 10 step 2}
1090  
1091  09/02/2010
1092  - added $smarty->_tag_stack for tracing block tag hierarchy
1093  
1094  08/02/2010
1095  - bugfix  use template fullpath at §smarty->cache->clear(...), $smarty->clear_cache(....)
1096  - bugfix of cache filename on extended templates when force_compile=true
1097  
1098  07/02/2010
1099  - bugfix on changes of 05/02/2010
1100  - preserve line endings type form template source
1101  - API changes (see README file)
1102  
1103  05/02/2010
1104  - bugfix on modifier and block plugins with same name
1105  
1106  02/02/2010
1107  - retaining newlines at registered functions and function plugins
1108  
1109  01/25/2010
1110  - bugfix cache resource was not loaded when caching was globally off but enabled at a template object
1111  - added test that $_SERVER['SCRIPT_NAME'] does exist in Smarty.class.php
1112  
1113  01/22/2010
1114  - new method $smarty->createData([$parent]) for creating a data object (required for bugfixes below)
1115  - bugfix config_load() method now works also on a data object
1116  - bugfix get_config_vars() method now works also on a data and template objects
1117  - bugfix clear_config() method now works also on a data and template objects
1118  
1119  01/19/2010
1120  - bugfix on plugins if same plugin was called from a nocache section first and later from a cached section
1121  
1122  
1123  ###beta 7###
1124  
1125  
1126  01/17/2010
1127  - bugfix on $smarty.const... in double quoted strings
1128  
1129  01/16/2010
1130  - internal change of config file lexer/parser on handling of section names
1131  - bugfix on registered objects (format parameter of register_object was not handled correctly)
1132  
1133  01/14/2010
1134  - bugfix on backslash within single quoted strings
1135  - bugfix allow absolute filepath for config files
1136  - bugfix on special Smarty variable $smarty.cookies
1137  - revert handling of newline on no output tags like {if...} 
1138  - allow special characters in config file section names for Smarty2 BC
1139  
1140  01/13/2010
1141  - bugfix on {if} tags 
1142  
1143  01/12/2010
1144  - changed back modifer handling in parser. Some restrictions still apply:
1145      if modifiers are used in side {if...} expression or in mathematical expressions 
1146      parentheses must be used.
1147  - bugfix the {function..} tag did not accept the name attribute in double quotes
1148  - closed possible security hole at <?php ... ?> tags
1149  - bugfix of config file parser on large config files
1150  
1151  
1152  ###beta 6####
1153  
1154  01/11/2010
1155  - added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source
1156  - added missing support of insert plugins
1157  - added optional nocache attribute to {block} tags in parent template
1158  - updated <?php...?> handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen)
1159  
1160  01/09/2010
1161  - bugfix on nocache {block} tags in parent templates
1162  
1163  01/08/2010
1164  - bugfix on variable filters. filter/nofilter attributes did not work on output statements
1165  
1166  01/07/2010
1167  - bugfix on file dependency at template inheritance
1168  - bugfix on nocache code at template inheritance
1169  
1170  01/06/2010
1171  - fixed typo in smarty_internal_resource_registered
1172  - bugfix for custom delimiter at extends resource and {extends} tag
1173  
1174  01/05/2010
1175  - bugfix sha1() calculations at extends resource and some general improvments on sha1() handling 
1176  
1177  
1178  01/03/2010
1179  - internal change on building cache files
1180  
1181  01/02/2010
1182  - update cached_timestamp at the template object after cache file is written to avoid possible side effects
1183  - use internally always SMARTY_CACHING_LIFETIME_* constants
1184  
1185  01/01/2010
1186  - bugfix for obtaining plugins which must be included (related to change of 12/30/2009)
1187  - bugfix for {php} tag (trow an exception if allow_php_tag = false)
1188  
1189  12/31/2009
1190  - optimization of generated code for doublequoted strings containing variables
1191  - rewrite of {function} tag handling
1192    - can now be declared in an external subtemplate
1193    - can contain nocache sections (nocache_hash handling)
1194    - can be called in noccache sections (nocache_hash handling)
1195    - new {call..} tag to call template functions with a variable name {call name=$foo}
1196  - fixed nocache_hash handling in merged compiled templates
1197  
1198  12/30/2009
1199  - bugfix for plugins defined in the script as smarty_function_foo
1200  
1201  12/29/2009
1202  - use sha1() for filepath encoding
1203  - updates on nocache_hash handling
1204  - internal change on merging some data
1205  - fixed cache filename for custom resources 
1206  
1207  12/28/2009
1208  - update for security fixes
1209  - make modifier plugins always trusted
1210  - fixed bug loading modifiers in child template at template inheritance
1211  
1212  12/27/2009
1213  --- this is a major update with a couple of internal changes ---
1214  - new config file lexer/parser (thanks to Thue Jnaus Kristensen)
1215  - template lexer/parser fixes for PHP and {literal} handing (thanks to Thue Jnaus Kristensen)
1216  - fix on registered plugins with different type but same name
1217  - rewrite of plugin handling (optimized execution speed)
1218  - closed a security hole regarding PHP code injection into cache files
1219  - fixed bug in clear cache handling
1220  - Renamed a couple of internal classes
1221  - code cleanup for merging compiled templates
1222  - couple of runtime optimizations (still not all done)
1223  - update of getCachedTimestamp()
1224  - fixed bug on modifier plugins at nocache output
1225  
1226  12/19/2009
1227  - bugfix on comment lines in config files
1228  
1229  12/17/2009
1230  - bugfix of parent/global variable update at included/merged subtemplates
1231  - encode final template filepath into filename of compiled and cached files
1232  - fixed {strip} handling in auto literals
1233  
1234  12/16/2009
1235  - update of changelog
1236  - added {include file='foo.tpl' inline}  inline option to merge compiled code of subtemplate into the calling template
1237  
1238  12/14/2009
1239  - fixed sideefect of last modification (objects in array index did not work anymore)
1240  
1241  12/13/2009
1242  - allow boolean negation ("!") as operator on variables outside {if} tag
1243  
1244  12/12/2009
1245  - bugfix on single quotes inside {function} tag
1246  - fix short append/prepend attributes in {block} tags
1247  
1248  12/11/2009
1249  - bugfix on clear_compiled_tpl (avoid possible warning)
1250  
1251  12/10/2009
1252  - bugfix on {function} tags and template inheritance
1253  
1254  12/05/2009
1255  - fixed problem when a cached file was fetched several times
1256  - removed unneeded lexer code
1257  
1258  12/04/2009
1259  - added max attribute to for loop
1260  - added security mode allow_super_globals
1261  
1262  12/03/2009
1263  - template inheritance: child templates can now call functions defined by the {function} tag in the parent template
1264  - added {for $foo = 1 to 5 step 2}  syntax
1265  - bugfix for {$foo.$x.$y.$z}
1266  
1267  12/01/2009
1268  - fixed parsing of names of special formated tags like if,elseif,while,for,foreach
1269  - removed direct access to constants in templates because of some syntax problems
1270  - removed cache resource plugin for mysql from the distribution
1271  - replaced most hard errors (exceptions) by softerrors(trigger_error) in plugins
1272  - use $template_class property for template class name when compiling {include},{eval} and {extends} tags
1273  
1274  11/30/2009
1275  - map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter
1276  - allow {function} tags within {block} tags
1277  
1278  11/28/2009
1279  - ignore compile_id at debug template
1280  - added direct access to constants in templates
1281  - some lexer/parser optimizations
1282  
1283  11/27/2009
1284  - added cache resource MYSQL plugin
1285  
1286  11/26/2009
1287  - bugfix on nested doublequoted strings
1288  - correct line number on unknown tag error message
1289  - changed {include} compiled code
1290  - fix on checking dynamic varibales with error_unassigned = true
1291  
1292  11/25/2009
1293  - allow the following writing for boolean: true, TRUE, True, false, FALSE, False
1294  - {strip} tag functionality rewritten
1295  
1296  11/24/2009
1297  - bugfix for $smarty->config_overwrite = false
1298  
1299  11/23/2009
1300  - suppress warnings on unlink caused by race conditions
1301  - correct line number on unknown tag error message
1302  
1303  ------- beta 5
1304  11/23/2009
1305  - fixed configfile parser for text starting with a numeric char
1306  - the default_template_handler_func may now return a filepath to a template source
1307  
1308  11/20/2009
1309  - bugfix for empty config files
1310  - convert timestamps of registered resources to integer
1311  
1312  11/19/2009
1313  - compiled templates are no longer touched with the filemtime of template source
1314  
1315  11/18/2009
1316  - allow integer as attribute name in plugin calls
1317  
1318  ------- beta 4
1319  11/18/2009
1320  - observe umask settings when setting file permissions
1321  - avoide unneeded cache file creation for subtemplates which did occur in some situations
1322  - make $smarty->_current_file available during compilation for Smarty2 BC
1323  
1324  11/17/2009
1325  - sanitize compile_id and cache_id (replace illegal chars with _)
1326  - use _dir_perms and _file_perms properties at file creation
1327  - new constant SMARTY_RESOURCE_DATE_FORMAT (default '%b %e, %Y') which is used as default format in modifier date_format
1328  - added {foreach $array as $key=>$value} syntax
1329  - renamed extend tag and resource to extends: {extends file='foo.tol'} , $smarty->display('extends:foo.tpl|bar.tpl);
1330  - bugfix cycle plugin
1331  
1332  11/15/2009
1333  - lexer/parser optimizations on quoted strings
1334  
1335  11/14/2009
1336  - bugfix on merging compiled templates when source files got removed or renamed.
1337  - bugfix modifiers on registered object tags
1338  - fixed locaion where outputfilters are running
1339  - fixed config file definitions at EOF
1340  - fix on merging compiled templates with nocache sections in nocache includes
1341  - parser could run into a PHP error on wrong file attribute
1342  
1343  11/12/2009
1344  - fixed variable filenames in {include_php} and {insert}
1345  - added scope to Smarty variables in the {block} tag compiler
1346  - fix on nocache code in child {block} tags
1347  
1348  11/11/2009
1349  - fixed {foreachelse}, {forelse}, {sectionelse} compiled code at nocache variables
1350  - removed checking for reserved variables
1351  - changed debugging handling
1352  
1353  11/10/2009
1354  - fixed preg_qoute on delimiters
1355  
1356  11/09/2009
1357  - lexer/parser bugfix 
1358  - new SMARTY_SPL_AUTOLOAD constant to control the autoloader option
1359  - bugfix for {function} block tags in included templates
1360  
1361  11/08/2009
1362  - fixed alphanumeric array index 
1363  - bugfix on complex double quoted strings
1364  
1365  11/05/2009
1366  - config_load method can now be called on data and template objects
1367  
1368  11/04/2009
1369  - added typecasting support for template variables
1370  - bugfix on complex indexed special Smarty variables
1371  
1372  11/03/2009
1373  - fixed parser error on objects with special smarty vars
1374  - fixed file dependency for {incude} inside {block} tag
1375  - fixed not compiling on non existing compiled templates when compile_check = false
1376  - renamed function names of autoloaded Smarty methods to Smarty_Method_....
1377  - new security_class property (default is Smarty_Security)
1378  
1379  11/02/2009
1380  - added neq,lte,gte,mod as aliases to if conditions 
1381  - throw exception on illegal Smarty() constructor calls
1382  
1383  10/31/2009
1384  - change of filenames in sysplugins folder for internal spl_autoload function
1385  - lexer/parser changed for increased compilation speed
1386  
1387  10/27/2009
1388  - fixed missing quotes in include_php.php
1389  
1390  10/27/2009
1391  - fixed typo in method.register_resource
1392  - pass {} through as literal
1393  
1394  10/26/2009
1395  - merge only compiled subtemplates into the compiled code of the main template
1396  
1397  10/24/2009
1398  - fixed nocache vars at internal block tags
1399  - fixed merging of recursive includes
1400  
1401  10/23/2009
1402  - fixed nocache var problem
1403  
1404  10/22/2009
1405  - fix trimwhitespace outputfilter parameter
1406  
1407  10/21/2009
1408  - added {$foo++}{$foo--} syntax
1409  - buxfix changed PHP "if (..):" to "if (..){" because of possible bad code when concenating PHP tags
1410  - autoload Smarty internal classes
1411  - fixed file dependency for config files 
1412  - some code optimizations
1413  - fixed function definitions on some autoloaded methodes
1414  - fixed nocache variable inside if condition of {if} tag
1415  
1416  10/20/2009
1417  - check at compile time for variable filter to improve rendering speed if no filter is used
1418  - fixed bug at combination of {elseif} tag and {...} in double quoted strings of static class parameter
1419  
1420  10/19/2009
1421  - fixed compiled template merging on variable double quoted strings as name
1422  - fixed bug in caching mode 2 and cache_lifetime -1 
1423  - fixed modifier support on block tags
1424  
1425  10/17/2009
1426  - remove ?>\n<?php and ?><?php sequences from compiled template
1427  
1428  10/15/2009
1429  - buxfix on assigning array elements inside templates
1430  - parser bugfix on array access
1431  
1432  10/15/2009
1433  - allow bit operator '&' inside {if} tag
1434  - implementation of ternary operator
1435  
1436  10/13/2009
1437  - do not recompile evaluated templates if reused just with other data
1438  - recompile config files when config properties did change
1439  - some lexer/parser otimizations
1440  
1441  10/11/2009
1442  - allow {block} tags inside included templates
1443  - bugfix for resource plugins in Smarty2 format
1444  - some optimizations of internal.template.php
1445  
1446  10/11/2009
1447  - fixed bug when template with same name is used with different data objects
1448  - fixed bug with double quoted name attribute at {insert} tag
1449  - reenabled assign_by_ref and append_by_ref methodes
1450  
1451  10/07/2009
1452  - removed block nesting checks for {capture}
1453  
1454  10/05/2009
1455  - added support of "isinstance" to {if} tag
1456  
1457  10/03/2009
1458  - internal changes to improve performance
1459  - fix registering of filters for classes
1460  
1461  10/01/2009
1462  - removed default timezone setting
1463  - reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable
1464  - {PHP} tag can be enabled by allow_php_tag = true
1465  
1466  09/30/2009
1467  - fixed handling template_exits methode for all resource types
1468  - bugfix for other cache resources than file
1469  - the methodes assign_by_ref is now wrapped to assign, append_by_ref to append
1470  - allow arrays of variables pass in display, fetch and createTemplate calls
1471    $data = array('foo'=>'bar','foo2'=>'blar');
1472    $smarty->display('my.tpl',$data);
1473  
1474  09/29/2009
1475  - changed {php} tag handling
1476  - removed support of Smarty::instance()
1477  - removed support of PHP resource type
1478  - improved execution speed of {foreach} tags
1479  - fixed bug in {section} tag
1480  
1481  09/23/2009
1482  - improvements and bugfix on {include} tag handling
1483  NOTICE: existing compiled template and cache files must be deleted
1484  
1485  09/19/2009
1486  - replace internal "eval()" calls by "include" during rendering process
1487  - speed improvment for templates which have included subtemplates
1488      the compiled code of included templates is merged into the compiled code of the parent template
1489  - added logical operator "xor" for {if} tag
1490  - changed parameter ordering for Smarty2 BC
1491      fetch($template, $cache_id = null, $compile_id = null, $parent = null)
1492      display($template, $cache_id = null, $compile_id = null, $parent = null)
1493      createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
1494  - property resource_char_set is now replaced by constant SMARTY_RESOURCE_CHAR_SET
1495  - fixed handling of classes in registered blocks
1496  - speed improvement of lexer on text sections
1497  
1498  09/01/2009
1499  - dropped nl2br as plugin
1500  - added '<>' as comparission operator in {if} tags
1501  - cached caching_lifetime property to cache_liftime for backward compatibility with Smarty2.
1502    {include} optional attribute is also now cache_lifetime
1503  - fixed trigger_error methode (moved into Smarty class)
1504  - version is now  Beta!!!
1505  
1506  
1507  08/30/2009
1508  - some speed optimizations on loading internal plugins
1509  
1510  
1511  08/29/2009
1512  - implemented caching of registered Resources
1513  - new property 'auto_literal'. if true(default)  '{ ' and ' }' interpreted as literal, not as Smarty delimiter
1514  
1515  
1516  08/28/2009
1517  - Fix on line breaks inside {if} tags
1518  
1519  08/26/2009
1520  - implemented registered resources as in Smarty2. NOTE: caching does not work yet
1521  - new property 'force_cache'. if true it forces the creation of a new cache file
1522  - fixed modifiers on arrays
1523  - some speed optimization on loading internal classes
1524  
1525  
1526  08/24/2009
1527  - fixed typo in lexer definition for '!==' operator
1528  - bugfix - the ouput of plugins was not cached
1529  - added global variable SCRIPT_NAME
1530  
1531  08/21/2009
1532  - fixed problems whitespace in conjuction with custom delimiters
1533  - Smarty tags can now be used as value anywhere
1534  
1535  08/18/2009
1536  - definition of template class name moded in internal.templatebase.php
1537  - whitespace parser changes
1538  
1539  08/12/2009
1540  - fixed parser problems
1541  
1542  08/11/2009
1543  - fixed parser problems with custom delimiter
1544  
1545  08/10/2009
1546  - update of mb support in plugins
1547  
1548  
1549  08/09/2009
1550  - fixed problems with doublequoted strings at name attribute of {block} tag
1551  - bugfix at scope attribute of {append} tag
1552  
1553  08/08/2009
1554  - removed all internal calls of Smarty::instance()
1555  - fixed code in double quoted strings
1556  
1557  08/05/2009
1558  - bugfix mb_string support
1559  - bugfix of \n.\t etc in double quoted strings
1560  
1561  07/29/2009
1562  - added syntax for variable config vars  like  #$foo#
1563  
1564  07/28/2009
1565  - fixed parsing of $smarty.session vars containing objects
1566  
1567  07/22/2009
1568  - fix of "$" handling in double quoted strings
1569  
1570  07/21/2009
1571  - fix that {$smarty.current_dir} return correct value within {block} tags.
1572  
1573  07/20/2009
1574  - drop error message on unmatched {block} {/block} pairs
1575  
1576  07/01/2009
1577  - fixed smarty_function_html_options call in plugin function.html_select_date.php (missing ,)
1578  
1579  06/24/2009
1580  - fixed smarty_function_html_options call in plugin function.html_select_date.php
1581  
1582  06/22/2009
1583  - fix on \n and spaces inside smarty tags
1584  - removed request_use_auto_globals propert as it is no longer needed because Smarty 3 will always run under PHP 5
1585  
1586  
1587  06/18/2009
1588  - fixed compilation of block plugins when caching enabled
1589  - added $smarty.current_dir  which returns the current working directory
1590  
1591  06/14/2009
1592  - fixed array access on super globals
1593  - allow smarty tags within xml tags
1594  
1595  06/13/2009
1596  - bugfix at extend resource: create unique files for compiled template and cache for each combination of template files
1597  - update extend resource to handle appen and prepend block attributes
1598  - instantiate classes of plugins instead of calling them static
1599  
1600  06/03/2009
1601  - fixed repeat at block plugins
1602  
1603  05/25/2009
1604  - fixed problem with caching of compiler plugins
1605  
1606  05/14/2009
1607  - fixed directory separator handling
1608  
1609  05/09/2009
1610  - syntax change for stream variables
1611  - fixed bug when using absolute template filepath and caching
1612  
1613  05/08/2009
1614  - fixed bug of {nocache}  tag in included templates
1615  
1616  05/06/2009
1617  - allow that plugins_dir folder names can end without directory separator
1618  
1619  05/05/2009
1620  - fixed E_STRICT incompabilities
1621  - {function} tag bug fix 
1622  - security policy definitions have been moved from plugins folder to file Security.class.php in libs folder
1623  - added allow_super_global configuration to security
1624  
1625  04/30/2009
1626  - functions defined with the {function} tag now always have global scope
1627  
1628  04/29/2009
1629  - fixed problem with directory setter methodes
1630  - allow that cache_dir can end without directory separator
1631  
1632  04/28/2009
1633  - the {function} tag can no longer overwrite standard smarty tags
1634  - inherit functions defined by the {fuction} tag into subtemplates
1635  - added {while <statement>} sytax to while tag
1636  
1637  04/26/2009
1638  - added trusted stream checking to security
1639  - internal changes at file dependency check for caching
1640  
1641  04/24/2009
1642  - changed name of {template} tag to {function}
1643  - added new {template} tag
1644  
1645  04/23/2009
1646  - fixed access of special smarty variables from included template
1647  
1648  04/22/2009
1649  - unified template stream syntax with standard Smarty resource syntax  $smarty->display('mystream:mytemplate')
1650  
1651  04/21/2009
1652  - change of new style syntax for forach. Now:  {foreach $array as $var}  like in PHP
1653  
1654  04/20/2009
1655  - fixed "$foo.bar  ..." variable replacement in double quoted strings
1656  - fixed error in {include} tag with variable file attribute
1657  
1658  04/18/2009
1659  - added stream resources  ($smarty->display('mystream://mytemplate'))
1660  - added stream variables  {$mystream:myvar}
1661  
1662  04/14/2009
1663  - fixed compile_id handling on {include} tags
1664  - fixed append/prepend attributes in {block} tag
1665  - added  {if  'expression' is in 'array'}  syntax
1666  - use crc32 as hash for compiled config files.
1667  
1668  04/13/2009
1669  - fixed scope problem with parent variables when appending variables within templates.
1670  - fixed code for {block} without childs (possible sources for notice errors removed)
1671  
1672  04/12/2009
1673  - added append and prepend attribute to {block} tag
1674  
1675  04/11/2009
1676  - fixed variables in 'file' attribute of {extend} tag
1677  - fixed problems in modifiers (if mb string functions not present)
1678  
1679  04/10/2009
1680  - check if mb string functions available otherwise fallback to normal string functions
1681  - added global variable scope SMARTY_GLOBAL_SCOPE 
1682  - enable 'variable' filter by default
1683  - fixed {$smarty.block.parent.foo} 
1684  - implementation of a 'variable' filter as replacement for default modifier
1685  
1686  04/09/2009
1687  - fixed execution of filters defined by classes
1688  - compile the always the content of {block} tags to make shure that the filters are running over it
1689  - syntax corrections on variable object property
1690  - syntax corrections on array access in dot syntax
1691  
1692  04/08/2009
1693  - allow variable object property
1694  
1695  04/07/2009
1696  - changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants
1697  - Smarty variable global attribute replaced with scope attribute
1698  
1699  04/06/2009
1700  - variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE
1701  - more getter/setter methodes
1702  
1703  04/05/2009
1704  - replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion
1705  - added append array for short form of assign  {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'}
1706  
1707  04/04/2009
1708  - make output of template default handlers cachable and save compiled source
1709  - some fixes on yesterdays update
1710  
1711  04/03/2006
1712  - added registerDefaultTemplateHandler methode and functionallity
1713  - added registerDefaultPluginHandler methode and functionallity
1714  - added {append} tag to extend Smarty array variabled
1715  
1716  04/02/2009
1717  - added setter/getter methodes
1718  - added $foo@first and $foo@last properties at {for} tag
1719  - added $set_timezone (true/false) property to setup optionally the default time zone
1720  
1721  03/31/2009
1722  - bugfix smarty.class and internal.security_handler
1723  - added compile_check configuration 
1724  - added setter/getter methodes
1725  
1726  03/30/2009
1727  - added all major setter/getter methodes
1728  
1729  03/28/2009
1730  - {block} tags can be nested now
1731  - md5 hash function replace with crc32 for speed optimization
1732  - file order for exted resource inverted
1733  - clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer
1734  
1735  03/27/2009
1736  - added extend resource
1737  
1738  03/26/2009
1739  - fixed parser not to create error on `word` in double quoted strings
1740  - allow PHP  array(...)
1741  - implemented  $smarty.block.name.parent to access parent block content
1742  - fixed smarty.class
1743  
1744  
1745  03/23/2009
1746  - fixed {foreachelse} and {forelse} tags
1747  
1748  03/22/2009
1749  - fixed possible sources for notice errors
1750  - rearrange SVN into distribution and development folders
1751  
1752  03/21/2009
1753  - fixed exceptions in function plugins
1754  - fixed notice error in Smarty.class.php
1755  - allow chained objects to span multiple lines
1756  - fixed error in modifers 
1757  
1758  03/20/2009
1759  - moved /plugins folder into /libs folder
1760  - added noprint modifier
1761  - autoappend a directory separator if the xxxxx_dir definition have no trailing one
1762  
1763  03/19/2009
1764  - allow array definition as modifer parameter
1765  - changed modifier to use multi byte string funktions. 
1766  
1767  03/17/2009
1768  - bugfix 
1769  
1770  03/15/2009
1771  - added {include_php} tag for BC
1772  - removed @ error suppression 
1773  - bugfix fetch did always repeat output of first call when calling same template several times
1774  - PHPunit tests extended
1775  
1776  03/13/2009
1777  - changed block syntax to be Smarty like  {block:titel} -> {block name=titel}
1778  - compiling of {block} and {extend} tags rewriten for better performance
1779  - added special Smarty variable block  ($smarty.block.foo} returns the parent definition of block foo
1780  - optimization of {block} tag compiled code.
1781  - fixed problem with escaped double quotes in double quoted strings
1782  
1783  03/12/2009
1784  - added support of template inheritance by {extend } and {block } tags.
1785  - bugfix comments within literals
1786  - added scope attribuie to {include} tag
1787  
1788  03/10/2009
1789  - couple of bugfixes and improvements
1790  - PHPunit tests extended
1791  
1792  03/09/2009
1793  - added support for global template vars.  {assign_global...}  $smarty->assign_global(...)
1794  - added direct_access_security
1795  - PHPunit tests extended
1796  - added missing {if} tag conditions like "is div by" etc.
1797  
1798  03/08/2009
1799  - splitted up the Compiler class to make it easier to use a coustom compiler
1800  - made default plugins_dir relative to Smarty root and not current working directory
1801  - some changes to make the lexer parser better configurable
1802  - implemented {section} tag for Smarty2 BC
1803  
1804  03/07/2009
1805  - fixed problem with comment tags
1806  - fixed problem with #xxxx in double quoted string
1807  - new {while} tag implemented
1808  - made lexer and paser class configurable as $smarty property
1809  - Smarty method get_template_vars implemented
1810  - Smarty method get_registered_object implemented
1811  - Smarty method trigger_error implemented
1812  - PHPunit tests extended
1813  
1814  03/06/2009
1815  - final changes on config variable handling
1816  - parser change - unquoted strings will by be converted into single quoted strings
1817  - PHPunit tests extended
1818  - some code cleanup
1819  - fixed problem on catenate strings with expression
1820  - update of count_words modifier
1821  - bugfix on comment tags
1822  
1823  
1824  03/05/2009
1825  - bugfix on <?xml...> tag with caching enabled
1826  - changes on exception handling (by Monte)
1827  
1828  03/04/2009
1829  - added support for config variables
1830  - bugfix on <?xml...> tag
1831  
1832  03/02/2009
1833  - fixed unqouted strings within modifier parameter
1834  - bugfix parsing of mofifier parameter
1835  
1836  03/01/2009
1837  - modifier chaining works now as in Smarty2
1838  
1839  02/28/2009
1840  - changed handling of unqouted strings
1841  
1842  02/26/2009
1843  - bugfix
1844  - changed $smarty.capture.foo to be global for Smarty2 BC.
1845  
1846  02/24/2009
1847  - bugfix {php} {/php} tags for backward compatibility
1848  - bugfix for expressions on arrays
1849  - fixed usage of "null" value
1850  - added $smarty.foreach.foo.first and $smarty.foreach.foo.last
1851  
1852  02/06/2009
1853  - bugfix for request variables without index  for example $smarty.get
1854  - experimental solution for variable functions in static class
1855  
1856  02/05/2009
1857  - update of popup plugin
1858  - added config variables to template parser (load config functions still missing)
1859  - parser bugfix for empty quoted strings
1860  
1861  02/03/2009
1862  - allow array of objects as static class variabales.
1863  - use htmlentities at source output at template errors.
1864  
1865  02/02/2009
1866  - changed search order on modifiers to look at plugins folder first
1867  - parser bug fix for modifier on array elements  $foo.bar|modifier
1868  - parser bug fix on single quoted srings
1869  - internal: splitted up compiler plugin files 
1870  
1871  02/01/2009
1872  - allow method chaining on static classes
1873  - special Smarty variables  $smarty.... implemented
1874  - added {PHP} {/PHP} tags for backward compatibility
1875  
1876  01/31/2009
1877  - added {math} plugin for Smarty2 BC
1878  - added template_exists method
1879  - changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards
1880  
1881  01/30/2009
1882  - bugfix in single quoted strings
1883  - changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers
1884  
1885  01/29/2009
1886  - syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax
1887  - allow  {for $foo in [1,2,3]} syntax
1888  - bugfix in double quoted strings
1889  - allow <?xml...?> tags in template even if short_tags are enabled
1890  
1891  01/28/2009
1892  - fixed '!==' if condition.
1893  
1894  01/28/2009
1895  - added support of {strip} {/strip} tag.
1896  
1897  01/27/2009
1898  - bug fix on backticks in double quoted strings at objects
1899  
1900  01/25/2009
1901  - Smarty2 modfiers added to SVN
1902  
1903  01/25/2009
1904  - bugfix allow arrays at object properties in Smarty syntax
1905  - the template object is now passed as additional parameter at plugin calls
1906  - clear_compiled_tpl methode completed
1907  
1908  01/20/2009
1909  - access to class constants implemented  ( class::CONSTANT )
1910  - access to static class variables implemented ( class::$variable )
1911  - call of static class methodes implemented ( class::methode() )
1912  
1913  01/16/2009
1914  - reallow leading _ in variable names  {$_var}
1915  - allow array of objects  {$array.index->methode()} syntax
1916  - finished work on clear_cache and clear_cache_all methodes
1917  
1918  01/11/2009
1919  - added support of {literal} tag
1920  - added support of {ldelim} and {rdelim} tags
1921  - make code compatible to run with E_STRICT error setting
1922  
1923  01/08/2009
1924  - moved clear_assign and clear_all_assign to internal.templatebase.php
1925  - added assign_by_ref, append and append_by_ref methodes
1926  
1927  01/02/2009
1928  - added load_filter methode
1929  - fished work on filter handling
1930  - optimization of plugin loading
1931  
1932  12/30/2008
1933  - added compiler support of registered object 
1934  - added backtick support in doubled quoted strings for backward compatibility
1935  - some minor bug fixes and improvments
1936  
1937  12/23/2008
1938  - fixed problem of not working "not" operator in if-expressions
1939  - added handling of compiler function plugins
1940  - finished work on (un)register_compiler_function methode
1941  - finished work on (un)register_modifier methode
1942  - plugin handling from plugins folder changed for modifier plugins
1943    deleted - internal.modifier.php
1944  - added modifier chaining to parser 
1945  
1946  12/17/2008
1947  - finished (un)register_function methode
1948  - finished (un)register_block methode
1949  - added security checking for PHP functions in PHP templates
1950  - plugin handling from plugins folder rewritten
1951    new - internal.plugin_handler.php
1952    deleted - internal.block.php
1953    deleted - internal.function.php
1954  - removed plugin checking from security handler
1955  
1956  12/16/2008
1957  
1958  - new start of this change_log file


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1