source: trunk/include/smarty/change_log.txt @ 23384

Last change on this file since 23384 was 23384, checked in by rvelices, 11 years ago

smarty 3 - first pass for tests

File size: 74.8 KB
Line 
1===== Smarty-3.1.13  =====
213.01.2013
3- enhancement allow to disable exception message escaping by SmartyException::$escape = false;  (Issue #130)
4
509.01.2013
6- bugfix compilation did fail when a prefilter did modify an {extends} tag (Forum Topic 23966)
7- bugfix template inheritance could fail if nested {block} tags in childs did contain {$smarty.block.child} (Issue #127)
8- bugfix template inheritance could fail if {block} tags in childs did have similar name as used plugins (Issue #128)
9- added abstract method declaration doCompile() in Smarty_Internal_TemplateCompilerBase (Forum Topic 23969)
10
1106.01.2013
12- Allow '://' URL syntax in template names of stream resources  (Issue #129)
13
1427.11.2012
15- bugfix wrong variable usage in smarty_internal_utility.php (Issue #125)
16
1726.11.2012
18- bugfix global variable assigned within template function are not seen after template function exit (Forum Topic 23800)
19
2024.11.2012
21- made SmartyBC loadable via composer (Issue #124)
22
2320.11.2012
24- bugfix assignGlobal() called from plugins did not work (Forum Topic 23771)
25
2613.11.2012
27- adding attribute "strict" to html_options, html_checkboxes, html_radios to only print disabled/readonly attributes if their values are true or "disabled"/"readonly" (Issue #120)
28
2901.11.2012
30- bugfix muteExcpetedErrors() would screw up for non-readable paths (Issue #118)
31
32===== Smarty-3.1.12  =====
3314.09.2012
34- bugfix template inheritance failed to compile with delimiters {/ and /} (Forum Topic 23008)
35
3611.09.2012
37- bugfix escape Smarty exception messages to avoid possible script execution
38
3910.09.2012
40- bugfix tag option flags and shorttag attributes did not work when rdel started with '=' (Forum Topic 22979)
41
4231.08.2012
43- bugfix resolving relative paths broke in some circumstances (Issue #114)
44
4522.08.2012
46- bugfix test MBString availability through mb_split, as it could've been compiled without regex support (--enable-mbregex).
47  Either we get MBstring's full package, or we pretend it's not there at all.
48
4921.08.2012
50- bugfix $auto_literal = false did not work with { block} tags in child templates
51  (problem was reintroduced after fix in 3.1.7)(Forum Topic 20581)
52
5317.08.2012
54- bugfix compiled code of nocache sections could contain wrong escaping (Forum Topic 22810)
55
5615.08.2012
57- bugfix template inheritance did produce wrong code if subtemplates with {block} was
58  included several times (from smarty-developers forum)
59
6014.08.2012
61- bugfix PHP5.2 compatibility compromised by SplFileInfo::getBasename() (Issue 110)
62
6301.08.2012
64- bugfix avoid PHP error on $smarty->configLoad(...) with invalid section specification (Forum Topic 22608)
65
6630.07.2012
67-bugfix {assign} in a nocache section should not overwrite existing variable values
68   during compilation (issue 109)
69   
7028.07.2012
71- bugfix array access of config variables did not work (Forum Topic 22527)
72
7319.07.2012
74- bugfix the default plugin handler did create wrong compiled code for static class methods
75  from external script files (issue 108)
76 
77===== Smarty-3.1.11 =====
7830.06.2012
79- bugfix {block.. hide} did not work as nested child (Forum Topic 22216)
80
8125.06.2012
82- bugfix the default plugin handler did not allow static class methods for modifier (issue 85)
83
8424.06.2012
85- bugfix escape modifier support for PHP < 5.2.3 (Forum Topic 21176)
86
8711.06.2012
88- bugfix the patch for Topic 21856 did break tabs between tag attributes (Forum Topic 22124)
89
90===== Smarty-3.1.10  =====
9109.06.2012
92- bugfix the compiler did ignore registered compiler plugins for closing tags (Forum Topic 22094)
93- bugfix the patch for Topic 21856 did break multiline tags (Forum Topic 22124)
94
95===== Smarty-3.1.9 =====
9607.06.2012
97- bugfix fetch() and display() with relative paths (Issue 104)
98- bugfix treat "0000-00-00" as 0 in modifier.date_format (Issue 103)
99
10024.05.2012
101- bugfix Smarty_Internal_Write_File::writeFile() could cause race-conditions on linux systems (Issue 101)
102- bugfix attribute parameter names of plugins may now contain also "-"  and ":"  (Forum Topic 21856)
103- bugfix add compile_id to cache key of of source (Issue 97)
104
10522.05.2012
106- bugfix recursive {include} within {section} did fail (Smarty developer group)
107
10812.05.2012
109- bugfix {html_options} did not properly escape values (Issue 98)
110
11103.05.2012
112- bugfix make HTTP protocall version variable (issue 96)
113
11402.05.2012
115- bugfix  {nocache}{block}{plugin}... did produce wrong compiled code when caching is disabled (Forum Topic 21572, issue 95)
116
11712.04.2012
118- bugfix Smarty did eat the linebreak after the <?xml...?> closing tag (Issue 93)
119- bugfix concurrent cache updates could create a warning (Forum Topic 21403)
120
12108.04.2012
122- bugfix "\\" was not escaped correctly when generating nocache code (Forum Topic 21364)
123
12430.03.2012
125- bugfix template inheritance did  not throw exception when a parent template was deleted (issue 90)
126
12727.03.2012
128- bugfix prefilter did run multiple times on inline subtemplates compiled into several main templates (Forum Topic 21325)
129- bugfix implement Smarty2's behaviour of variables assigned by reference in SmartyBC. {assign} will affect all references.
130  (issue 88)
131
13221.03.2012
133- bugfix compileAllTemplates() and compileAllConfig() did not return the number of compiled files (Forum Topic 21286)
134
13513.03.2012
136- correction of yesterdays bugfix (Forum Topic 21175 and 21182)
137
13812.03.2012
139- bugfix a double quoted string of "$foo" did not compile into PHP "$foo" (Forum Topic 21175)
140- bugfix template inheritance did set $merge_compiled_includes globally true
141
14203.03.2012
143- optimization of compiling speed when same modifier was used several times
144
14502.03.2012
146- enhancement the default plugin handler can now also resolve undefined modifier (Smarty::PLUGIN_MODIFIER)
147  (Issue 85)
148
149===== Smarty-3.1.8  =====
15019.02.2012
151- bugfix {include} could result in a fatal error if used in appended or prepended nested {block} tags
152  (reported by mh and Issue 83)
153- enhancement added Smarty special variable $smarty.template_object to return the current template object (Forum Topic 20289)
154
155
15607.02.2012
157- bugfix increase entropy of internal function names in compiled and cached template files (Forum Topic 20996)
158- enhancement cacheable parameter added to default plugin handler, same functionality as in registerPlugin (request by calguy1000)
159
16006.02.2012
161- improvement stream_resolve_include_path() added to Smarty_Internal_Get_Include_Path (Forum Topic 20980)
162- bugfix fetch('extends:foo.tpl') always yielded $source->exists == true (Forum Topic 20980)
163- added modifier unescape:"url", fix (Forum Topic 20980)
164- improvement replaced some calls of preg_replace with str_replace (Issue 73)
165
16630.01.2012
167- bugfix Smarty_Security internal $_resource_dir cache wasn't properly propagated
168
16927.01.2012
170- bugfix Smarty did not a template name of "0" (Forum Topic 20895)
171
17220.01.2012
173- bugfix typo in Smarty_Internal_Get_IncludePath did cause runtime overhead (Issue 74)
174- improvment remove unneeded assigments (Issue 75 and 76)
175- fixed typo in template parser
176- bugfix output filter must not run before writing cache when template does contain nocache code (Issue 71)
177
17802.01.2012
179- bugfix {block foo nocache} did not load plugins within child {block} in nocache mode (Forum Topic 20753)
180
18129.12.2011
182- bugfix enable more entropy in Smarty_Internal_Write_File for "more uniqueness" and Cygwin compatibility (Forum Topic 20724)
183- bugfix embedded quotes in single quoted strings did not compile correctly in {nocache} sections (Forum Topic 20730)
184
18528.12.2011
186- bugfix Smarty's internal header code must be excluded from postfilters (issue 71)
187
18822.12.2011
189- bugfix the new lexer of 17.12.2011 did fail if mbstring.func_overload != 0 (issue 70) (Forum Topic 20680)
190- bugfix template inheritace did fail if mbstring.func_overload != 0 (issue 70) (Forum Topic 20680)
191
19220.12.2011
193- bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return
194  content after {$smarty.block.child} (Forum Topic 20564)
195
196===== Smarty-3.1.7 =====
19718.12.2011
198- bugfix strings ending with " in multiline strings of config files failed to compile (issue #67)
199- added chaining to Smarty_Internal_Templatebase
200- changed unloadFilter() to not return a boolean in favor of chaining and API conformity
201- bugfix unregisterObject() raised notice when object to unregister did not exist
202- changed internals to use Smarty::$_MBSTRING ($_CHARSET, $_DATE_FORMAT) for better unit testing
203- added Smarty::$_UTF8_MODIFIER for proper PCRE charset handling (Forum Topic 20452)
204- added Smarty_Security::isTrustedUri() and Smarty_Security::$trusted_uri to validate
205  remote resource calls through {fetch} and {html_image} (Forum Topic 20627)
206
20717.12.2011
208- improvement of compiling speed by new handling of plain text blocks in the lexer/parser (issue #68)
209
21016.12.2011
211- bugfix the source exits flag and timestamp was not setup when template was in php include path (issue #69)
212
2139.12.2011
214- bugfix {capture} tags around recursive {include} calls did throw exception (Forum Topic 20549)
215- bugfix $auto_literal = false did not work with { block} tags in child templates (Forum Topic 20581)
216- bugfix template inheritance: do not include code of {include} in overloaded {block} into compiled
217  parent template (Issue #66}
218- bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return expected
219  result (Forum Topic 20564)
220   
221===== Smarty-3.1.6  =====
22230.11.2011
223- bugfix is_cache() for individual cached subtemplates with $smarty->caching = CACHING_OFF did produce
224  an exception (Forum Topic 20531)
225
22629.11.2011
227- bugfix added exception if the default plugin handler did return a not static callback (Forum Topic 20512)
228
22925.11.2011
230- bugfix {html_select_date} and {html_slecet_time} did not default to current time if "time" was not specified
231  since r4432 (issue 60)
232
23324.11.2011
234- bugfix a subtemplate later used as main template did use old variable values
235
23621.11.2011
237- bugfix cache file could include unneeded modifier plugins under certain condition
238
23918.11.2011
240- bugfix declare all directory properties private to map direct access to getter/setter also on extended Smarty class
241
24216.11.2011
243- bugfix Smarty_Resource::load() did not always return a proper resource handler (Forum Topic 20414)
244- added escape argument to html_checkboxes and html_radios (Forum Topic 20425)
245
246===== Smarty-3.1.5  =====
24714.11.2011
248- bugfix allow space between function name and open bracket (forum topic 20375)
249
25009.11.2011
251- bugfix different behaviour of uniqid() on cygwin. See https://bugs.php.net/bug.php?id=34908
252  (forum topic 20343)
253
25401.11.2011
255- bugfix {if} and {while} tags without condition did not throw a SmartyCompilerException (Issue #57)
256- bugfix multiline strings in config files could fail on longer strings (reopened Issue #55)
257
25822.10.2011
259- bugfix smarty_mb_from_unicode() would not decode unicode-points properly
260- bugfix use catch Exception instead UnexpectedValueException in
261  clearCompiledTemplate to be PHP 5.2 compatible
262
26321.10.2011
264- bugfix apostrophe in plugins_dir path name failed (forum topic 20199)
265- improvement sha1() for array keys longer than 150 characters
266- add Smarty::$allow_ambiguous_resources to activate unique resource handling (Forum Topic 20128)
267
26820.10.2011
269- @silenced unlink() in Smarty_Internal_Write_File since debuggers go haywire without it.
270- bugfix Smarty::clearCompiledTemplate() threw an Exception if $cache_id was not present in $compile_dir when $use_sub_dirs = true.
271- bugfix {html_select_date} and {html_select_time} did not properly handle empty time arguments (Forum Topic 20190)
272- improvement removed unnecessary sha1()
273
27419.10.2011
275- revert PHP4 constructor message
276- fixed PHP4 constructor message
277
278===== Smarty-3.1.4 =====
27919.10.2011
280- added exception when using PHP4 style constructor
281
28216.10.2011
283- bugfix testInstall() did not propery check cache_dir and compile_dir
284
28515.10.2011
286- bugfix Smarty_Resource and Smarty_CacheResource runtime caching (Forum Post 75264)
287
28814.10.2011
289- bugfix unique_resource did not properly apply to compiled resources (Forum Topic 20128)
290- add locking to custom resources (Forum Post 75252)
291- add Smarty_Internal_Template::clearCache() to accompany isCached() fetch() etc.
292
29313.10.2011
294- add caching for config files in Smarty_Resource
295- bugfix disable of caching after isCached() call did not work (Forum Topic 20131)
296- add concept unique_resource to combat potentially ambiguous template_resource values when custom resource handlers are used (Forum Topic 20128)
297- bugfix multiline strings in config files could fail on longer strings (Issue #55)
298
29911.10.2011
300- add runtime checks for not matching {capture}/{/capture} calls (Forum Topic 20120)
301 
30210.10.2011
303- bugfix variable name typo in {html_options} and {html_checkboxes} (Issue #54)
304- bugfix <?xml> tag did create wrong output when caching enabled and the tag was in included subtemplate
305- bugfix Smarty_CacheResource_mysql example was missing strtotime() calls
306
307===== Smarty-3.1.3  =====
30807.10.2011
309- improvement removed html comments from {mailto} (Forum Topic 20092)
310- bugfix testInstall() would not show path to internal plugins_dir (Forum Post 74627)
311- improvement testInstall() now showing resolved paths and checking the include_path if necessary
312- bugfix html_options plugin did not handle object values properly (Issue #49, Forum Topic 20049)
313- improvement html_checkboxes and html_radios to accept null- and object values, and label_ids attribute
314- improvement removed some unnecessary count()s
315- bugfix parent pointer was not set when fetch() for other template was called on template object
316
31706.10.2011
318- bugfix switch lexer internals depending on mbstring.func_overload
319- bugfix start_year and end_year of {html_select_date} did not use current year as offset base (Issue #53)
320
32105.10.2011
322- bugfix of problem introduced with r4342 by replacing strlen() with isset()
323- add environment configuration issue with mbstring.func_overload Smarty cannot compensate for (Issue #45)
324- bugfix nofilter tag option did not disable default modifier
325- bugfix html_options plugin did not handle null- and object values properly (Issue #49, Forum Topic 20049)
326
32704.10.2011
328- bugfix assign() in plugins called in subtemplates did change value also in parent template
329- bugfix of problem introduced with r4342 on math plugin
330- bugfix output filter should not run on individually cached subtemplates
331- add unloadFilter() method
332- bugfix has_nocache_code flag was not reset before compilation
333
334===== Smarty-3.1.2  =====
33503.10.2011
336- improvement add internal $joined_template_dir property instead computing it on the fly several times
337
33801.10.2011
339- improvement replaced most in_array() calls by more efficient isset() on array_flip()ed haystacks
340- improvement replaced some strlen($foo) > 3 calls by isset($foo[3])
341- improvement Smarty_Internal_Utility::clearCompiledTemplate() removed redundant strlen()s
342
34329.09.2011
344- improvement of Smarty_Internal_Config::loadConfigVars() dropped the in_array for index look up
345
34628.09.2011
347- bugfix on template functions called nocache calling other template functions
348
34927.09.2011
350- bugfix possible warning "attempt to modify property of non-object" in {section} (issue #34)
351- added chaining to Smarty_Internal_Data so $smarty->assign('a',1)->assign('b',2); is possible now
352- bugfix remove race condition when a custom resource did change timestamp during compilation
353- bugfix variable property did not work on objects variable in template
354- bugfix smarty_make_timestamp() failed to process DateTime objects properly
355- bugfix wrong resource could be used on compile check of custom resource
356
35726.09.2011
358- bugfix repeated calls to same subtemplate did not make use of cached template object
359
36024.09.2011
361- removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application
362- optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable
363- added compile_dir and cache_dir to list of muted directories
364- improvment better error message for undefined templates at {include}
365
36623.09.2011
367- remove unused properties
368- optimization use real function instead anonymous function for preg_replace_callback
369- bugfix a relative {include} in child template blocks failed
370- bugfix direct setting of $template_dir, $config_dir, $plugins_dir in __construct() of an
371  extended Smarty class created problems
372- bugfix error muting was not implemented for cache locking
373
374===== Smarty 3.1.1  =====
37522.09.2011
376- bugfix {foreachelse} does fail if {section} was nested inside {foreach}
377- bugfix debug.tpl did not display correctly when it was compiled with escape_html = true
378
37921.09.2011
380- bugfix look for mixed case plugin file names as in 3.0 if not found try all lowercase
381- added $error_muting to suppress error messages even for badly implemented error_handlers
382- optimized autoloader
383- reverted ./ and ../ handling in fetch() and display() - they're allowed again
384
38520.09.2011
386- bugfix removed debug echo output while compiling template inheritance
387- bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"}
388- bugfix {include} did not work inside nested {block} tags
389- bugfix {assign} with scope root and global did not work in all cases
390
39119.09.2011
392- bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261
393- bugfix output filter shall not run on included subtemplates
394
39518.09.2011
396- bugfix template caching did not care about file.tpl in different template_dir
397- bugfix {include $file} was broken when merge_compiled_incluges = true
398- bugfix {include} was broken when merge_compiled_incluges = true and same indluded template
399  was used in different main templates in one compilation run
400- bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
401- bugfix debug.tpl did not display correctly when it was compiled with escape_html = true
402
40317.09.2011
404- bugfix lock_id for file resource would create invalid filepath
405- bugfix resource caching did not care about file.tpl in different template_dir
406
407===== Smarty 3.1.0  =====
40815/09/2011
409- optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used
410
41111/09/2011
412- added  unregisterObject() method
413
41406/09/2011
415- bugfix  isset() did not work in templates on config variables
416
41703/09/2011
418- bugfix createTemplate() must default to cache_id and compile_id of Smarty object
419- bugfix Smarty_CacheResource_KeyValueStore must include $source->uid in cache filepath to keep templates with same
420  name but different folders seperated
421- added cacheresource.apc.php example in demo folder
422
42302/09/2011
424- bugfix cache lock file must use absolute filepath
425
42601/09/2011
427- update of cache locking
428
42930/08/2011
430- added locking mechanism to CacheResource API (implemented with File and KeyValueStores)
431
43228/08/2011
433- bugfix clearCompileTemplate() did not work for specific template subfolder or resource
434
43527/08/2011
436- bugfix {$foo|bar+1} did create syntax error
437
43826/08/2011
439- bugfix when generating nocache code which contains double \
440- bugfix handle race condition if cache file was deleted between filemtime and include
441
44217/08/2011
443- bugfix CacheResource_Custom bad internal fetch() call
444
44515/08/2011
446- bugfix CacheResource would load content twice for KeyValueStore and Custom handlers
447
44806/08/2011
449- bugfix {include} with scope attribute could execute in wrong scope
450- optimization of compile_check processing
451
45203/08/2011
453- allow comment tags to comment {block} tags out in child templates
454
45526/07/2011
456- bugfix experimental getTags() method did not work
457
45824/07/2011
459- sure opened output buffers are closed on exception
460- bugfix {foreach} did not work on IteratorAggregate
461
46222/07/2011
463- clear internal caches on clearAllCache(), clearCache(), clearCompiledTemplate()
464
46521/07/2011
466- bugfix value changes of variable values assigned to Smarty object could not be seen on repeated $smarty->fetch() calls
467
46817/07/2011
469- bugfix {$smarty.block.child} did drop a notice at undefined child
470
47115/07/2011
472- bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags
473- added caches for Smarty_Template_Source and Smarty_Template_Compiled to reduce I/O for multiple cache_id rendering
474
47514/07/2011
476- made Smarty::loadPlugin() respect the include_path if required
477
47813/07/2011
479- optimized internal file write functionality
480- bugfix PHP did eat line break on nocache sections
481- fixed typo of Smarty_Security properties $allowed_modifiers and $disabled_modifiers
482
48306/07/2011
484- bugfix variable modifier must run befor gereral filtering/escaping
485
48604/07/2011
487- bugfix use (?P<name>) syntax at preg_match as some pcre libraries failed on (?<name>)
488- some performance improvement when using generic getter/setter on template objects
489
49030/06/2011
491- bugfix generic getter/setter of Smarty properties used on template objects did throw exception
492- removed is_dir and is_readable checks from directory setters for better performance
493
49428/06/2011
495- added back support of php template resource as undocumented feature
496- bugfix automatic recompilation on version change could drop undefined index notice on old 3.0 cache and compiled files
497- update of README_3_1_DEV.txt and moved into the distribution folder
498- improvement show first characters of eval and string templates instead sha1 Uid in debug window
499
500===== Smarty 3.1-RC1 =====
50125/06/2011
502- revert change of 17/06/2011. $_smarty varibale removed. call loadPlugin() from inside plugin code if required
503- code cleanup, remove no longer used properties and methods
504- update of PHPdoc comments
505
50623/06/2011
507- bugfix {html_select_date} would not respect current time zone
508
50919/06/2011
510- added $errors argument to testInstall() functions to suppress output.
511- added plugin-file checks to testInstall()
512
51318/06/2011
514- bugfix mixed use of same subtemplate inline and not inline in same script could cause a warning during compilation
515
51617/06/2011
517- bugfix/change use $_smarty->loadPlugin() when loading nested depending plugins via loadPlugin
518- bugfix {include ... inline} within {block}...{/block} did fail
519
52016/06/2011
521- bugfix do not overwrite '$smarty' template variable when {include ... scope=parent} is called
522- bugfix complete empty inline subtemplates did fail
523
52415/06/2011
525- bugfix template variables where not accessable within inline subtemplates
526
52712/06/2011
528- bugfix removed unneeded merging of template variable when fetching includled subtemplates
529
53010/06/2011
531- made protected properties $template_dir, $plugins_dir, $cache_dir, $compile_dir, $config_dir accessible via magic methods
532
53309/06/2011
534- fix smarty security_policy issue in plugins {html_image} and {fetch}
535
53605/06/2011
537- update of SMARTY_VERSION
538- bugfix made getTags() working again
539
54004/06/2011
541- allow extends resource in file attribute of {extends} tag
542
54303/06/2011
544- added {setfilter} tag to set filters for variable output
545- added escape_html property to control autoescaping of variable output
546
54727/05/2011
548- added allowed/disabled tags and modifiers in security for sandboxing
549
55023/05/2011
551- added base64: and urlencode: arguments to eval and string resource types
552
55322/05/2011
554- made time-attribute of {html_select_date} and {html_select_time} accept arrays as defined by attributes prefix and field_array
555
55613/05/2011
557- remove setOption / getOption calls from SamrtyBC class
558
55902/05/2011
560- removed experimental setOption() getOption() methods
561- output returned content also on opening tag calls of block plugins
562- rewrite of default plugin handler
563- compile code of variable filters for better performance
564
56520/04/2011
566- allow {php} {include_php} tags and PHP_ALLOW handling only with the SmartyBC class
567- removed support of php template resource
568
56920/04/2011
570- added extendsall resource example
571- optimization of template variable access
572- optimization of subtemplate handling {include}
573- optimization of template class
574
57501/04/2011
576- bugfix quote handling in capitalize modifier
577
57828/03/2011
579- bugfix stripslashes() requried when using PCRE e-modifier
580
58104/03/2011
582- upgrade to new PHP_LexerGenerator version 0.4.0 for better performance
583
58427/02/2011
585- ignore .svn folders when clearing cache and compiled files
586- string resources do not need a modify check
587
58826/02/2011
589- replaced smarty_internal_wrapper by SmartyBC class
590- load utility functions as static methods instead through __call()
591- bugfix in extends resource when subresources are used
592- optimization of modify checks
593
59425/02/2011
595- use $smarty->error_unassigned to control NOTICE handling on unassigned variables
596
59721/02/2011
598- added new new compile_check mode COMPILECHECK_CACHEMISS
599- corrected new cloning behaviour of createTemplate()
600- do no longer store the compiler object as property in the compile_tag classes to avoid possible memory leaks
601  during compilation
602
60319/02/2011
604- optimizations on merge_compiled_includes handling
605- a couple of optimizations and bugfixes related to new resource structure
606
60717/02/2011
608- changed ./ and ../ behaviour
609
61014/02/2011
611- added {block ... hide} option to supress block if no child is defined
612
61313/02/2011
614- update handling of recursive subtemplate calls
615- bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
616
61712/02/2011
618- new class Smarty_Internal_TemplateBase with shared methods of Smarty and Template objects
619- optimizations of template processing
620- made register... methods permanet
621- code for default_plugin_handler
622- add automatic recompilation at version change
623
62404/02/2011
625- change in Smarty_CacheResource_Custom
626- bugfix cache_lifetime did not compile correctly at {include} after last update
627- moved isCached processing into CacheResource class
628- bugfix new CacheResource API did not work with disabled compile_check
629
63003/02/2011
631- handle template content as function to improve speed on multiple calls of same subtemplate and isCached()/display() calls
632- bugfixes and improvents in the new resource API
633- optimizations of template class code
634
63525/01/2011
636- optimized function html_select_time
637
63822/01/2011
639- added Smarty::$use_include_path configuration directive for Resource API
640
64121/01/2011
642- optimized function html_select_date
643
64419/01/2011
645- optimized outputfilter trimwhitespace
646
64718/01/2011
648- bugfix Config to use Smarty_Resource to fetch sources
649- optimized Smarty_Security's isTrustedDir() and isTrustedPHPDir()
650
65117/01/2011
652- bugfix HTTP headers for CGI SAPIs
653
65416/01/2011
655- optimized internals of Smarty_Resource and Smarty_CacheResource
656
65714/01/2011
658- added modifiercompiler escape to improve performance of escaping html, htmlall, url, urlpathinfo, quotes, javascript
659- added support to choose template_dir to load from: [index]filename.tpl
660
66112/01/2011
662- added unencode modifier to revert results of encode modifier
663- added to_charset and from_charset modifier for character encoding
664
66511/01/2011
666- added SMARTY_MBSTRING to generalize MBString detection
667- added argument $lc_rest to modifier.capitalize to lower-case anything but the first character of a word
668- changed strip modifier to consider unicode white-space, too
669- changed wordwrap modifier to accept UTF-8 strings
670- changed count_sentences modifier to consider unicode characters and treat sequences delimited by ? and ! as sentences, too
671- added argument $double_encode to modifier.escape (applies to html and htmlall only)
672- changed escape modifier to be UTF-8 compliant
673- changed textformat block to be UTF-8 compliant
674- optimized performance of mailto function
675- fixed spacify modifier so characters are not prepended and appended, made it unicode compatible
676- fixed truncate modifier to properly use mb_string if possible
677- removed UTF-8 frenzy from count_characters modifier
678- fixed count_words modifier to treat "hello-world" as a single word like str_count_words() does
679- removed UTF-8 frenzy from upper modifier
680- removed UTF-8 frenzy from lower modifier
681
68201/01/2011
683- optimize smarty_modified_escape for hex, hexentity, decentity.
684
68528/12/2010
686- changed $tpl_vars, $config_vars and $parent to belong to Smarty_Internal_Data
687- added Smarty::registerCacheResource() for dynamic cache resource object registration
688
68927/12/2010
690- added Smarty_CacheResource API and refactored existing cache resources accordingly
691- added Smarty_CacheResource_Custom and Smarty_CacheResource_Mysql
692
69326/12/2010
694- added Smarty_Resource API and refactored existing resources accordingly
695- added Smarty_Resource_Custom and Smarty_Resource_Mysql
696- bugfix Smarty::createTemplate() to return properly cloned template instances
697
69824/12/2010
699- optimize smarty_function_escape_special_chars() for PHP >= 5.2.3
700
701===== SVN 3.0 trunk  =====
70214/05/2011
703- bugfix error handling at stream resources
704
70513/05/2011
706- bugfix condition starting with "-" did fail at {if} and {while} tags
707
70822/04/2011
709- bugfix allow only fixed string as file attribute at {extends} tag
710
71101/04/2011
712- bugfix do not run filters and default modifier when displaying the debug template
713- bugfix of embedded double quotes within multi line strings (""")
714
71529/03/2011
716- bugfix on error message in smarty_internal_compile_block.php
717- bugfix mb handling in strip modifier
718- bugfix for Smarty2 style registered compiler function on unnamed attribute passing like {tag $foo $bar}
719
72017/03/2011
721- bugfix on default {function} parameters when {function} was used in nocache sections
722- bugfix on compiler object destruction. compiler_object property was by mistake unset.
723
72409/03/2011
725-bugfix a variable filter should run before modifers on an output tag (see change of 23/07/2010)
726
72708/03/2011
728- bugfix loading config file without section should load only defaults
729
73003/03/2011
731- bugfix "smarty" template variable was not recreated when cached templated had expired
732- bugfix internal rendered_content must be cleared after subtemplate was included
733
73401/03/2011
735- bugfix replace modifier did not work in 3.0.7 on systems without multibyte support
736- bugfix {$smarty.template} could return in 3.0.7 parent template name instead of
737         child name when it needed to compile
738
73925/02/2011
740- bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
741
74224/02/2011
743- bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object
744
74518/02/2011
746- bugfix removed possible race condition when isCached() was called for an individually cached subtemplate
747- bugfix force default debug.tpl to be loaded by the file resource
748
74917/02/2011
750-improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache()
751
75216/02/2011
753-fixed typo in exception message of Smarty_Internal_Template
754-improvement allow leading spaces on } tag closing if auto_literal is enabled
755
75613/02/2011
757- bufix replace $smarty->triggerError() by exception
758- removed obsolete {popup_init..} plugin from demo templates
759- bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
760
761===== Smarty 3.0.7  =====
76209/02/2011
763- patched vulnerability when using {$smarty.template}
764
76501/02/2011
766- removed assert() from config and template parser
767
76831/01/2011
769- bugfix the lexer/parser did fail on special characters like VT
770
77116/01/2011
772-bugfix of ArrayAccess object handling in internal _count() method
773-bugfix of Iterator object handling in internal _count() method
774
77514/01/2011
776-bugfix removed memory leak while processing compileAllTemplates
777
77812/01/2011
779- bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode
780
78110/01/2011
782- bugfix when using {$smarty.block.child} and name of {block} was in double quoted string
783- bugfix updateParentVariables() was called twice when leaving {include} processing
784
785- bugfix mb_str_replace in replace and escape modifiers work with utf8
786
78731/12/2010
788- bugfix dynamic configuration of $debugging_crtl did not work
789- bugfix default value of $config_read_hidden changed to false
790- bugfix format of attribute array on compiler plugins
791- bugfix getTemplateVars() could return value from wrong scope
792
79328/12/2010
794- bugfix multiple {append} tags failed to compile.
795
79622/12/2010
797- update do not clone the Smarty object an internal createTemplate() calls to increase performance
798
79921/12/2010
800- update html_options to support class and id attrs
801
80217/12/2010
803- bugfix added missing support of $cache_attrs for registered plugins
804
80515/12/2010
806- bugfix assignment as condition in {while} did drop an E_NOTICE
807
80814/12/2010
809- bugfix when passing an array as default parameter at {function} tag
810
81113/12/2010
812- bugfix {$smarty.template} in child template did not return right content
813- bugfix Smarty3 did not search the PHP include_path for template files
814
815===== Smarty 3.0.6  =====
816
81712/12/2010
818- bugfix fixed typo regarding yesterdays change to allow streamWrapper
819
82011/12/2010
821- bugfix nested block tags in template inheritance child templates did not work correctly
822- bugfix {$smarty.current_dir} in child template did not point to dir of child template
823- bugfix changed code when writing temporary compiled files to allow stream_wrapper
824
82506/12/2010
826- bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable
827
82805/12/2010
829- bugfix missing declaration of $smarty in Smarty class
830- bugfix empty($foo) in {if} did drop a notice when $foo was not assigned
831
83201/12/2010
833- improvement of {debug} tag output
834
83527/11/2010
836-change run output filter before cache file is written. (same as in Smarty2)
837
83824/11/2011
839-bugfix on parser at  !$foo|modifier
840-change parser logic when assignments used as condition in {if] and {while} to allow assign to array element
841
84223/11/2011
843-bugfix allow integer as attribute name in plugin calls
844-change  trimm whitespace from error message, removed long list of expected tokens
845
84622/11/2010
847- bugfix on template inheritance when an {extends} tag was inserted by a prefilter
848- added error message for illegal variable file attributes at {extends...} tags
849
850===== Smarty 3.0.5  =====
851
852
85319/11/2010
854- bugfix on block plugins with modifiers
855
85618/11/2010
857- change on handling of unassigned template variable -- default will drop E_NOTICE
858- bugfix on Smarty2 wrapper load_filter() did not work
859
86017/11/2010
861- bugfix on {call} with variable function name
862- bugfix on {block} if name did contain '-'
863- bugfix in function.fetch.php , referece to undefined $smarty
864
86516/11/2010
866- bugfix whitespace in front of "<?php" in smarty_internal_compile_private_block_plugin.php
867- bugfix {$smarty.now} did compile incorrectly
868- bugfix on reset(),end(),next(),prev(),current() within templates
869- bugfix on default parameter for {function}
870
87115/11/2010
872- bugfix when using {$smarty.session} as object
873- bugfix scoping problem on $smarty object passed to filters
874- bugfix captured content could not be accessed globally
875- bugfix Smarty2 wrapper functions could not be call from within plugins
876
877===== Smarty 3.0.4  =====
878
87914/11/2010
880- bugfix isset() did not allow multiple parameter
881- improvment of some error messages
882- bugfix html_image did use removed property $request_use_auto_globals
883- small performace patch in Smarty class
884
88513/11/2010
886- bugfix  overloading problem when $smarty->fetch()/display() have been used in plugins
887                                (introduced with 3.0.2)
888- code cleanup
889                                                               
890===== Smarty 3.0.3  =====
891
89213/11/2010
893- bugfix on {debug}
894- reverted location of loadPlugin() to Smarty class
895- fixed comments in plugins
896- fixed internal_config (removed unwanted code line)
897- improvement  remove last linebreak from {function} definition
898
899===== Smarty 3.0.2  =====
900
90112/11/2010
902- reactivated $error_reporting property handling
903- fixed typo in compile_continue
904- fixed security in {fetch} plugin
905- changed back plugin parameters to two. second is template object
906  with transparent access to Smarty object
907- fixed {config_load} scoping form compile time to run time
908
909===== Smarty 3.0.0  =====
910
911
912
91311/11/2010
914- major update including some API changes
915
91610/11/2010
917- observe compile_id also for config files
918
91909/11/2010
920-bugfix on  complex expressions as start value for {for} tag
921request_use_auto_globals
92204/11/2010
923- bugfix do not allow access of dynamic and private object members of assigned objects when
924  security is enabled.
925
92601/11/2010
927- bugfix related to E_NOTICE change.  {if empty($foo)} did fail when $foo contained a string
928
92928/10/2010
930- bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}}
931
93227/10/2010
933- bugfix default parameter values did not work for template functions included with {include}
934
93525/10/2010
936- bugfix for E_NOTICE change, array elements did not work as modifier parameter
937
93820/10/2010
939- bugfix for the E_NOTICE change
940
94119/10/2010
942- change Smarty does no longer mask out E_NOTICE by default during template processing
943
94413/10/2010
945- bugfix removed ambiguity between ternary and stream variable in template syntax
946- bugfix use caching properties of template instead of smarty object when compiling child {block}
947- bugfix {*block}...{/block*} did throw an exception in template inheritance
948- bugfix on template inheritance using nested eval or string resource in {extends} tags
949- bugfix on output buffer handling in isCached() method
950
951=====  RC4 =====
952
95301/10/2010
954- added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops
955- change of 'string' resource. It's no longer evaluated and compiled files are now stored
956- new 'eval' resource which evaluates a template without saving the compiled file
957- change in isCached() method to allow multiple calls for the same template
958
95925/09/2010
960- bugfix on some compiling modifiers
961
96224/09/2010
963- bugfix merge_compiled_includes flag was not restored correctly in {block} tag
964
96522/09/2010
966- bugfix on default modifier
967
96818/09/2010
969- bugfix untility compileAllConfig() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
970- bugfix on templateExists() for extends resource
971
97217/09/2010
973- bugfix {$smarty.template} and {$smarty.current_dir} did not compile correctly within {block} tags
974- bugfix corrected error message on missing template files in extends resource
975- bugfix untility compileAllTemplates() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
976
97716/09/2010
978- bugfix when a doublequoted modifier parameter did contain Smarty tags and ':'
979
98015/09/2010
981- bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags
982- use ucfirst for resource name on internal resource class names
983
98412/09/2010
985- bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
986
98710/09/2010
988- bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
989
99008/09/2010
991- allow multiple template inheritance branches starting in subtemplates
992
99307/09/2010
994- bugfix {counter} and {cycle} plugin assigned result to smarty variable not in local(template) scope
995- bugfix templates containing just {strip} {/strip} tags did produce an error
996
997
99823/08/2010
999- fixed E_STRICT errors for uninitialized variables
1000
100122/08/2010
1002- added attribute cache_id to {include} tag
1003
100413/08/2010
1005- remove exception_handler property from Smarty class
1006- added Smarty's own exceptions SmartyException and SmartyCompilerException
1007
100809/08/2010
1009- bugfix on modifier with doublequoted strings as parameter containing embedded tags
1010
101106/08/2010
1012- bugfix when cascading some modifier like |strip|strip_tags modifier
1013
101405/08/2010
1015- added plugin type modifiercompiler to produce compiled modifier code
1016- changed standard modifier plugins to the compiling versions whenever possible
1017- bugfix in nocache sections {include} must not cache the subtemplate
1018
101902/08/2010
1020- bugfix strip did not work correctly in conjunction with comment lines
1021
102231/07/2010
1023- bugfix on nocache attribute at {assign} and {append}
1024
102530/07/2010
1026- bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append}
1027
102825/07/2010
1029- another bugfix of change from 23/07/2010 when compiling modifer
1030
103124/07/2010
1032- bugfix of change from 23/07/2010 when compiling modifer
1033
103423/07/2010
1035- changed execution order. A variable filter does now run before modifiers on output of variables
1036- bugfix use always { and } as delimiter for debug.tpl
1037
1038
103922/07/2010
1040- bugfix in templateExists() method
1041
104220/07/2010
1043- fixed handling of { strip } tag with whitespaces
1044
104515/07/2010
1046- bufix  {$smarty.template} does include now the relative path, not just filename
1047
1048=====  RC3 =====
1049
1050
1051
1052
105315/07/2010
1054- make the date_format modifier work also on objects of the DateTime class
1055- implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output
1056
105708/07/2010
1058- bugfix on assigning multidimensional arrays within templates
1059- corrected bugfix for truncate modifier
1060
106107/07/2010
1062- bugfix the truncate modifier needs to check if the string is utf-8 encoded or not
1063- bugfix support of script files relative to trusted_dir
1064
106506/07/2010
1066- create exception on recursive {extends} calls
1067- fixed reported line number at "unexpected closing tag " exception
1068- bugfix on escape:'mail' modifier
1069- drop exception if 'item' variable is equal 'from' variable in {foreach} tag
1070
107101/07/2010
1072- removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins
1073
107425/06/2010
1075- bugfix escaping " when block tags are used within doublequoted strings
1076
107724/06/2010
1078- replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility
1079- added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace
1080
1081
108222/06/2010
1083- allow spaces between typecast and value in template syntax
1084- bugfix get correct count of traversables in {foreach} tag
1085
108621/06/2010
1087- removed use of PHP shortags SMARTY_PHP_PASSTHRU mode
1088- improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true
1089
109020/06/2010
1091- replace internal get_time() calls with standard PHP5 microtime(true) calls
1092- closed security hole when php.ini asp_tags = on
1093
109418/06/2010
1095- added __toString method to the Smarty_Variable class
1096
1097
109814/06/2010
1099- make handling of Smarty comments followed by newline BC to Smarty2
1100
1101
1102=====  RC2 =====
1103
1104
1105
110613/06/2010
1107- bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value
1108- bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit)
1109
111011/06/2010
1111- bugfix the lexer did fail on larger {literal} ... {/literal} sections
1112
111303/06/2010
1114- bugfix on calling template functions like Smarty tags
1115
111601/06/2010
1117- bugfix on template functions used with template inheritance
1118- removed /* vim: set expandtab: */ comments
1119- bugfix of auto literal problem introduce with fix of 31/05/2010
1120
112131/05/2010
1122- bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others.
1123
112427/05/2010
1125- bugfix on object chaining using variable properties
1126- make scope of {counter} and {cycle} tags again global as in Smarty2
1127
112826/05/2010
1129- bugfix removed decrepated register_resource call in smarty_internal_template.php
1130
113125/05/2010
1132- rewrite of template function handling to improve speed
1133- bugfix on file dependency when merge_compiled_includes = true
1134
1135
113616/05/2010
1137- bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'}
1138
113914/05/2010
1140- bugfix compile new config files if compile_check and force_compile = false
1141- added variable static classes names to template syntax
1142
114311/05/2010
1144- bugfix  make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally
1145- reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag.
1146
114710/05/2010
1148- bugfix on {foreach} and {for} optimizations of 27/04/2010
1149
115009/05/2010
1151- update of template and config file parser because of minor parser generator bugs
1152
115307/05/2010
1154- bugfix on {insert}
1155
115606/05/2010
1157- bugfix when merging compiled templates and objects are passed as parameter of the {include} tag
1158
115905/05/2010
1160- bugfix on {insert} to cache parameter
1161- implementation of $smarty->default_modifiers as in Smarty2
1162- bugfix on getTemplateVars method
1163
116401/05/2010
1165- bugfix on handling of variable method names at object chaning
1166
116730/04/2010
1168- bugfix when comparing timestamps in sysplugins/smarty_internal_config.php
1169- work around of a substr_compare bug in older PHP5 versions
1170- bugfix on template inheritance for tag names starting with "block"
1171- bugfix on {function} tag with name attribute in doublequoted strings
1172- fix to make calling of template functions unambiguously by madatory usage of the {call} tag
1173
1174=====  RC1 =====
1175
117627/04/2010
1177- change default of $debugging_ctrl to 'NONE'
1178- optimization of compiled code of {foreach} and {for} loops
1179- change of compiler for config variables
1180
118127/04/2010
1182- bugfix in $smarty->cache->clear() method. (do not cache template object)
1183
1184
118517/04/2010
1186- security fix in {math} plugin
1187
1188
118912/04/2010
1190- bugfix in smarty_internal_templatecompilerbase (overloaded property)
1191- removed parser restrictions in using true,false and null as ID
1192
119307/04/2010
1194- bugfix typo in smarty_internal_templatecompilerbase
1195
119631/03/2010
1197- compile locking by touching old compiled files to avoid concurrent compilations
1198
119929/03/2010
1200- bugfix allow array definitions as modifier parameter
1201- bugfix observe compile_check property when loading config files
1202- added the template object as third filter parameter
1203
120425/03/2010
1205- change of utility->compileAllTemplates() log messages
1206- bugfix on nocache code in {function} tags
1207- new method utility->compileAllConfig() to compile all config files
1208
120924/03/2010
1210- bugfix on register->modifier() error messages
1211
121223/03/2010
1213- bugfix on template inheritance when calling multiple child/parent relations
1214- bugfix on caching mode SMARTY_CACHING_LIFETIME_SAVED and cache_lifetime = 0
1215
121622/03/2010
1217- bugfix make directory separator operating system independend in compileAllTemplates()
1218
121921/03/2010
1220- removed unused code in compileAllTemplates()
1221
122219/03/2010
1223- bugfix for multiple {/block} tags on same line
1224
122517/03/2010
1226- bugfix make $smarty->cache->clear() function independent from caching status
1227
122816/03/2010
1229- bugfix on assign attribute at registered template objects
1230- make handling of modifiers on expression BC to Smarty2
1231 
123215/03/2010
1233- bugfix on block plugin calls
1234
123511/03/2010
1236- changed parsing of <?php and ?> back to Smarty2 behaviour
1237
123808/03/2010
1239- bugfix on uninitialized properties in smarty_internal_template
1240- bugfix on $smarty->disableSecurity()
1241
124204/03/2010
1243- bugfix allow uppercase chars in registered resource names
1244- bugfix on accessing chained objects of static classes
1245
124601/03/2010
1247- bugfix on nocache code in {block} tags if child template was included by {include}
1248
124927/02/2010
1250- allow block tags inside double quoted string
1251
125226/02/2010
1253- cache modified check implemented
1254- support of access to a class constant from an object (since PHP 5.3)
1255
125624/02/2010
1257- bugfix on expressions in doublequoted string enclosed in backticks
1258- added security property $static_classes for static class security
1259
126018/02/2010
1261- bugfix on parsing Smarty tags inside <?xml ... ?>
1262- bugfix on truncate modifier
1263
126417/02/2010
1265- removed restriction that modifiers did require surrounding parenthesis in some cases
1266- added {$smarty.block.child} special variable for template inheritance
1267
126816/02/2010
1269- bugfix on <?xml ... ?> tags for all php_handling modes
1270- bugfix on parameter of variablefilter.htmlspecialchars.php plugin
1271
127214/02/2010
1273- added missing _plugins property in smarty.class.php
1274- bugfix $smarty.const... inside doublequoted strings and backticks was compiled into wrong PHP code
1275
127612/02/2010
1277- bugfix on nested {block} tags
1278- changed Smarty special variable $smarty.parent to $smarty.block.parent
1279- added support of nested {bock} tags
1280
128110/02/2010
1282- avoid possible notice on $smarty->cache->clear(...), $smarty->clear_cache(....)
1283- allow Smarty tags inside <? ... ?> tags in SMARTY_PHP_QUOTE and SMARTY_PHP_PASSTHRU mode
1284- bugfix at new "for" syntax like {for $x=1 to 10 step 2}
1285
128609/02/2010
1287- added $smarty->_tag_stack for tracing block tag hierarchy
1288
128908/02/2010
1290- bugfix  use template fullpath at §smarty->cache->clear(...), $smarty->clear_cache(....)
1291- bugfix of cache filename on extended templates when force_compile=true
1292
129307/02/2010
1294- bugfix on changes of 05/02/2010
1295- preserve line endings type form template source
1296- API changes (see README file)
1297
129805/02/2010
1299- bugfix on modifier and block plugins with same name
1300
130102/02/2010
1302- retaining newlines at registered functions and function plugins
1303
130401/25/2010
1305- bugfix cache resource was not loaded when caching was globally off but enabled at a template object
1306- added test that $_SERVER['SCRIPT_NAME'] does exist in Smarty.class.php
1307
130801/22/2010
1309- new method $smarty->createData([$parent]) for creating a data object (required for bugfixes below)
1310- bugfix config_load() method now works also on a data object
1311- bugfix get_config_vars() method now works also on a data and template objects
1312- bugfix clear_config() method now works also on a data and template objects
1313
131401/19/2010
1315- bugfix on plugins if same plugin was called from a nocache section first and later from a cached section
1316
1317
1318###beta 7###
1319
1320
132101/17/2010
1322- bugfix on $smarty.const... in double quoted strings
1323
132401/16/2010
1325- internal change of config file lexer/parser on handling of section names
1326- bugfix on registered objects (format parameter of register_object was not handled correctly)
1327
132801/14/2010
1329- bugfix on backslash within single quoted strings
1330- bugfix allow absolute filepath for config files
1331- bugfix on special Smarty variable $smarty.cookies
1332- revert handling of newline on no output tags like {if...}
1333- allow special characters in config file section names for Smarty2 BC
1334
133501/13/2010
1336- bugfix on {if} tags
1337
133801/12/2010
1339- changed back modifer handling in parser. Some restrictions still apply:
1340    if modifiers are used in side {if...} expression or in mathematical expressions
1341    parentheses must be used.
1342- bugfix the {function..} tag did not accept the name attribute in double quotes
1343- closed possible security hole at <?php ... ?> tags
1344- bugfix of config file parser on large config files
1345
1346
1347###beta 6####
1348
134901/11/2010
1350- added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source
1351- added missing support of insert plugins
1352- added optional nocache attribute to {block} tags in parent template
1353- updated <?php...?> handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen)
1354
135501/09/2010
1356- bugfix on nocache {block} tags in parent templates
1357
135801/08/2010
1359- bugfix on variable filters. filter/nofilter attributes did not work on output statements
1360
136101/07/2010
1362- bugfix on file dependency at template inheritance
1363- bugfix on nocache code at template inheritance
1364
136501/06/2010
1366- fixed typo in smarty_internal_resource_registered
1367- bugfix for custom delimiter at extends resource and {extends} tag
1368
136901/05/2010
1370- bugfix sha1() calculations at extends resource and some general improvments on sha1() handling
1371
1372
137301/03/2010
1374- internal change on building cache files
1375
137601/02/2010
1377- update cached_timestamp at the template object after cache file is written to avoid possible side effects
1378- use internally always SMARTY_CACHING_LIFETIME_* constants
1379
138001/01/2010
1381- bugfix for obtaining plugins which must be included (related to change of 12/30/2009)
1382- bugfix for {php} tag (trow an exception if allow_php_tag = false)
1383
138412/31/2009
1385- optimization of generated code for doublequoted strings containing variables
1386- rewrite of {function} tag handling
1387  - can now be declared in an external subtemplate
1388  - can contain nocache sections (nocache_hash handling)
1389  - can be called in noccache sections (nocache_hash handling)
1390  - new {call..} tag to call template functions with a variable name {call name=$foo}
1391- fixed nocache_hash handling in merged compiled templates
1392
139312/30/2009
1394- bugfix for plugins defined in the script as smarty_function_foo
1395
139612/29/2009
1397- use sha1() for filepath encoding
1398- updates on nocache_hash handling
1399- internal change on merging some data
1400- fixed cache filename for custom resources
1401
140212/28/2009
1403- update for security fixes
1404- make modifier plugins always trusted
1405- fixed bug loading modifiers in child template at template inheritance
1406
140712/27/2009
1408--- this is a major update with a couple of internal changes ---
1409- new config file lexer/parser (thanks to Thue Jnaus Kristensen)
1410- template lexer/parser fixes for PHP and {literal} handing (thanks to Thue Jnaus Kristensen)
1411- fix on registered plugins with different type but same name
1412- rewrite of plugin handling (optimized execution speed)
1413- closed a security hole regarding PHP code injection into cache files
1414- fixed bug in clear cache handling
1415- Renamed a couple of internal classes
1416- code cleanup for merging compiled templates
1417- couple of runtime optimizations (still not all done)
1418- update of getCachedTimestamp()
1419- fixed bug on modifier plugins at nocache output
1420
142112/19/2009
1422- bugfix on comment lines in config files
1423
142412/17/2009
1425- bugfix of parent/global variable update at included/merged subtemplates
1426- encode final template filepath into filename of compiled and cached files
1427- fixed {strip} handling in auto literals
1428
142912/16/2009
1430- update of changelog
1431- added {include file='foo.tpl' inline}  inline option to merge compiled code of subtemplate into the calling template
1432
143312/14/2009
1434- fixed sideefect of last modification (objects in array index did not work anymore)
1435
143612/13/2009
1437- allow boolean negation ("!") as operator on variables outside {if} tag
1438
143912/12/2009
1440- bugfix on single quotes inside {function} tag
1441- fix short append/prepend attributes in {block} tags
1442
144312/11/2009
1444- bugfix on clear_compiled_tpl (avoid possible warning)
1445
144612/10/2009
1447- bugfix on {function} tags and template inheritance
1448
144912/05/2009
1450- fixed problem when a cached file was fetched several times
1451- removed unneeded lexer code
1452
145312/04/2009
1454- added max attribute to for loop
1455- added security mode allow_super_globals
1456
145712/03/2009
1458- template inheritance: child templates can now call functions defined by the {function} tag in the parent template
1459- added {for $foo = 1 to 5 step 2}  syntax
1460- bugfix for {$foo.$x.$y.$z}
1461
146212/01/2009
1463- fixed parsing of names of special formated tags like if,elseif,while,for,foreach
1464- removed direct access to constants in templates because of some syntax problems
1465- removed cache resource plugin for mysql from the distribution
1466- replaced most hard errors (exceptions) by softerrors(trigger_error) in plugins
1467- use $template_class property for template class name when compiling {include},{eval} and {extends} tags
1468
146911/30/2009
1470- map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter
1471- allow {function} tags within {block} tags
1472
147311/28/2009
1474- ignore compile_id at debug template
1475- added direct access to constants in templates
1476- some lexer/parser optimizations
1477
147811/27/2009
1479- added cache resource MYSQL plugin
1480
148111/26/2009
1482- bugfix on nested doublequoted strings
1483- correct line number on unknown tag error message
1484- changed {include} compiled code
1485- fix on checking dynamic varibales with error_unassigned = true
1486
148711/25/2009
1488- allow the following writing for boolean: true, TRUE, True, false, FALSE, False
1489- {strip} tag functionality rewritten
1490
149111/24/2009
1492- bugfix for $smarty->config_overwrite = false
1493
149411/23/2009
1495- suppress warnings on unlink caused by race conditions
1496- correct line number on unknown tag error message
1497
1498------- beta 5
149911/23/2009
1500- fixed configfile parser for text starting with a numeric char
1501- the default_template_handler_func may now return a filepath to a template source
1502
150311/20/2009
1504- bugfix for empty config files
1505- convert timestamps of registered resources to integer
1506
150711/19/2009
1508- compiled templates are no longer touched with the filemtime of template source
1509
151011/18/2009
1511- allow integer as attribute name in plugin calls
1512
1513------- beta 4
151411/18/2009
1515- observe umask settings when setting file permissions
1516- avoide unneeded cache file creation for subtemplates which did occur in some situations
1517- make $smarty->_current_file available during compilation for Smarty2 BC
1518
151911/17/2009
1520- sanitize compile_id and cache_id (replace illegal chars with _)
1521- use _dir_perms and _file_perms properties at file creation
1522- new constant SMARTY_RESOURCE_DATE_FORMAT (default '%b %e, %Y') which is used as default format in modifier date_format
1523- added {foreach $array as $key=>$value} syntax
1524- renamed extend tag and resource to extends: {extends file='foo.tol'} , $smarty->display('extends:foo.tpl|bar.tpl);
1525- bugfix cycle plugin
1526
152711/15/2009
1528- lexer/parser optimizations on quoted strings
1529
153011/14/2009
1531- bugfix on merging compiled templates when source files got removed or renamed.
1532- bugfix modifiers on registered object tags
1533- fixed locaion where outputfilters are running
1534- fixed config file definitions at EOF
1535- fix on merging compiled templates with nocache sections in nocache includes
1536- parser could run into a PHP error on wrong file attribute
1537
153811/12/2009
1539- fixed variable filenames in {include_php} and {insert}
1540- added scope to Smarty variables in the {block} tag compiler
1541- fix on nocache code in child {block} tags
1542
154311/11/2009
1544- fixed {foreachelse}, {forelse}, {sectionelse} compiled code at nocache variables
1545- removed checking for reserved variables
1546- changed debugging handling
1547
154811/10/2009
1549- fixed preg_qoute on delimiters
1550
155111/09/2009
1552- lexer/parser bugfix
1553- new SMARTY_SPL_AUTOLOAD constant to control the autoloader option
1554- bugfix for {function} block tags in included templates
1555
155611/08/2009
1557- fixed alphanumeric array index
1558- bugfix on complex double quoted strings
1559
156011/05/2009
1561- config_load method can now be called on data and template objects
1562
156311/04/2009
1564- added typecasting support for template variables
1565- bugfix on complex indexed special Smarty variables
1566
156711/03/2009
1568- fixed parser error on objects with special smarty vars
1569- fixed file dependency for {incude} inside {block} tag
1570- fixed not compiling on non existing compiled templates when compile_check = false
1571- renamed function names of autoloaded Smarty methods to Smarty_Method_....
1572- new security_class property (default is Smarty_Security)
1573
157411/02/2009
1575- added neq,lte,gte,mod as aliases to if conditions
1576- throw exception on illegal Smarty() constructor calls
1577
157810/31/2009
1579- change of filenames in sysplugins folder for internal spl_autoload function
1580- lexer/parser changed for increased compilation speed
1581
158210/27/2009
1583- fixed missing quotes in include_php.php
1584
158510/27/2009
1586- fixed typo in method.register_resource
1587- pass {} through as literal
1588
158910/26/2009
1590- merge only compiled subtemplates into the compiled code of the main template
1591
159210/24/2009
1593- fixed nocache vars at internal block tags
1594- fixed merging of recursive includes
1595
159610/23/2009
1597- fixed nocache var problem
1598
159910/22/2009
1600- fix trimwhitespace outputfilter parameter
1601
160210/21/2009
1603- added {$foo++}{$foo--} syntax
1604- buxfix changed PHP "if (..):" to "if (..){" because of possible bad code when concenating PHP tags
1605- autoload Smarty internal classes
1606- fixed file dependency for config files
1607- some code optimizations
1608- fixed function definitions on some autoloaded methods
1609- fixed nocache variable inside if condition of {if} tag
1610
161110/20/2009
1612- check at compile time for variable filter to improve rendering speed if no filter is used
1613- fixed bug at combination of {elseif} tag and {...} in double quoted strings of static class parameter
1614
161510/19/2009
1616- fixed compiled template merging on variable double quoted strings as name
1617- fixed bug in caching mode 2 and cache_lifetime -1
1618- fixed modifier support on block tags
1619
162010/17/2009
1621- remove ?>\n<?php and ?><?php sequences from compiled template
1622
162310/15/2009
1624- buxfix on assigning array elements inside templates
1625- parser bugfix on array access
1626
162710/15/2009
1628- allow bit operator '&' inside {if} tag
1629- implementation of ternary operator
1630
163110/13/2009
1632- do not recompile evaluated templates if reused just with other data
1633- recompile config files when config properties did change
1634- some lexer/parser otimizations
1635
163610/11/2009
1637- allow {block} tags inside included templates
1638- bugfix for resource plugins in Smarty2 format
1639- some optimizations of internal.template.php
1640
164110/11/2009
1642- fixed bug when template with same name is used with different data objects
1643- fixed bug with double quoted name attribute at {insert} tag
1644- reenabled assign_by_ref and append_by_ref methods
1645
164610/07/2009
1647- removed block nesting checks for {capture}
1648
164910/05/2009
1650- added support of "isinstance" to {if} tag
1651
165210/03/2009
1653- internal changes to improve performance
1654- fix registering of filters for classes
1655
165610/01/2009
1657- removed default timezone setting
1658- reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable
1659- {PHP} tag can be enabled by allow_php_tag = true
1660
166109/30/2009
1662- fixed handling template_exits method for all resource types
1663- bugfix for other cache resources than file
1664- the methods assign_by_ref is now wrapped to assign, append_by_ref to append
1665- allow arrays of variables pass in display, fetch and createTemplate calls
1666  $data = array('foo'=>'bar','foo2'=>'blar');
1667  $smarty->display('my.tpl',$data);
1668
166909/29/2009
1670- changed {php} tag handling
1671- removed support of Smarty::instance()
1672- removed support of PHP resource type
1673- improved execution speed of {foreach} tags
1674- fixed bug in {section} tag
1675
167609/23/2009
1677- improvements and bugfix on {include} tag handling
1678NOTICE: existing compiled template and cache files must be deleted
1679
168009/19/2009
1681- replace internal "eval()" calls by "include" during rendering process
1682- speed improvment for templates which have included subtemplates
1683    the compiled code of included templates is merged into the compiled code of the parent template
1684- added logical operator "xor" for {if} tag
1685- changed parameter ordering for Smarty2 BC
1686    fetch($template, $cache_id = null, $compile_id = null, $parent = null)
1687    display($template, $cache_id = null, $compile_id = null, $parent = null)
1688    createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
1689- property resource_char_set is now replaced by constant SMARTY_RESOURCE_CHAR_SET
1690- fixed handling of classes in registered blocks
1691- speed improvement of lexer on text sections
1692
169309/01/2009
1694- dropped nl2br as plugin
1695- added '<>' as comparission operator in {if} tags
1696- cached caching_lifetime property to cache_liftime for backward compatibility with Smarty2.
1697  {include} optional attribute is also now cache_lifetime
1698- fixed trigger_error method (moved into Smarty class)
1699- version is now  Beta!!!
1700
1701
170208/30/2009
1703- some speed optimizations on loading internal plugins
1704
1705
170608/29/2009
1707- implemented caching of registered Resources
1708- new property 'auto_literal'. if true(default)  '{ ' and ' }' interpreted as literal, not as Smarty delimiter
1709
1710
171108/28/2009
1712- Fix on line breaks inside {if} tags
1713
171408/26/2009
1715- implemented registered resources as in Smarty2. NOTE: caching does not work yet
1716- new property 'force_cache'. if true it forces the creation of a new cache file
1717- fixed modifiers on arrays
1718- some speed optimization on loading internal classes
1719
1720
172108/24/2009
1722- fixed typo in lexer definition for '!==' operator
1723- bugfix - the ouput of plugins was not cached
1724- added global variable SCRIPT_NAME
1725
172608/21/2009
1727- fixed problems whitespace in conjuction with custom delimiters
1728- Smarty tags can now be used as value anywhere
1729
173008/18/2009
1731- definition of template class name moded in internal.templatebase.php
1732- whitespace parser changes
1733
173408/12/2009
1735- fixed parser problems
1736
173708/11/2009
1738- fixed parser problems with custom delimiter
1739
174008/10/2009
1741- update of mb support in plugins
1742
1743
174408/09/2009
1745- fixed problems with doublequoted strings at name attribute of {block} tag
1746- bugfix at scope attribute of {append} tag
1747
174808/08/2009
1749- removed all internal calls of Smarty::instance()
1750- fixed code in double quoted strings
1751
175208/05/2009
1753- bugfix mb_string support
1754- bugfix of \n.\t etc in double quoted strings
1755
175607/29/2009
1757- added syntax for variable config vars  like  #$foo#
1758
175907/28/2009
1760- fixed parsing of $smarty.session vars containing objects
1761
176207/22/2009
1763- fix of "$" handling in double quoted strings
1764
176507/21/2009
1766- fix that {$smarty.current_dir} return correct value within {block} tags.
1767
176807/20/2009
1769- drop error message on unmatched {block} {/block} pairs
1770
177107/01/2009
1772- fixed smarty_function_html_options call in plugin function.html_select_date.php (missing ,)
1773
177406/24/2009
1775- fixed smarty_function_html_options call in plugin function.html_select_date.php
1776
177706/22/2009
1778- fix on \n and spaces inside smarty tags
1779- removed request_use_auto_globals propert as it is no longer needed because Smarty 3 will always run under PHP 5
1780
1781
178206/18/2009
1783- fixed compilation of block plugins when caching enabled
1784- added $smarty.current_dir  which returns the current working directory
1785
178606/14/2009
1787- fixed array access on super globals
1788- allow smarty tags within xml tags
1789
179006/13/2009
1791- bugfix at extend resource: create unique files for compiled template and cache for each combination of template files
1792- update extend resource to handle appen and prepend block attributes
1793- instantiate classes of plugins instead of calling them static
1794
179506/03/2009
1796- fixed repeat at block plugins
1797
179805/25/2009
1799- fixed problem with caching of compiler plugins
1800
180105/14/2009
1802- fixed directory separator handling
1803
180405/09/2009
1805- syntax change for stream variables
1806- fixed bug when using absolute template filepath and caching
1807
180805/08/2009
1809- fixed bug of {nocache}  tag in included templates
1810
181105/06/2009
1812- allow that plugins_dir folder names can end without directory separator
1813
181405/05/2009
1815- fixed E_STRICT incompabilities
1816- {function} tag bug fix
1817- security policy definitions have been moved from plugins folder to file Security.class.php in libs folder
1818- added allow_super_global configuration to security
1819
182004/30/2009
1821- functions defined with the {function} tag now always have global scope
1822
182304/29/2009
1824- fixed problem with directory setter methods
1825- allow that cache_dir can end without directory separator
1826
182704/28/2009
1828- the {function} tag can no longer overwrite standard smarty tags
1829- inherit functions defined by the {fuction} tag into subtemplates
1830- added {while <statement>} sytax to while tag
1831
183204/26/2009
1833- added trusted stream checking to security
1834- internal changes at file dependency check for caching
1835
183604/24/2009
1837- changed name of {template} tag to {function}
1838- added new {template} tag
1839
184004/23/2009
1841- fixed access of special smarty variables from included template
1842
184304/22/2009
1844- unified template stream syntax with standard Smarty resource syntax  $smarty->display('mystream:mytemplate')
1845
184604/21/2009
1847- change of new style syntax for forach. Now:  {foreach $array as $var}  like in PHP
1848
184904/20/2009
1850- fixed "$foo.bar  ..." variable replacement in double quoted strings
1851- fixed error in {include} tag with variable file attribute
1852
185304/18/2009
1854- added stream resources  ($smarty->display('mystream://mytemplate'))
1855- added stream variables  {$mystream:myvar}
1856
185704/14/2009
1858- fixed compile_id handling on {include} tags
1859- fixed append/prepend attributes in {block} tag
1860- added  {if  'expression' is in 'array'}  syntax
1861- use crc32 as hash for compiled config files.
1862
186304/13/2009
1864- fixed scope problem with parent variables when appending variables within templates.
1865- fixed code for {block} without childs (possible sources for notice errors removed)
1866
186704/12/2009
1868- added append and prepend attribute to {block} tag
1869
187004/11/2009
1871- fixed variables in 'file' attribute of {extend} tag
1872- fixed problems in modifiers (if mb string functions not present)
1873
187404/10/2009
1875- check if mb string functions available otherwise fallback to normal string functions
1876- added global variable scope SMARTY_GLOBAL_SCOPE
1877- enable 'variable' filter by default
1878- fixed {$smarty.block.parent.foo}
1879- implementation of a 'variable' filter as replacement for default modifier
1880
188104/09/2009
1882- fixed execution of filters defined by classes
1883- compile the always the content of {block} tags to make shure that the filters are running over it
1884- syntax corrections on variable object property
1885- syntax corrections on array access in dot syntax
1886
188704/08/2009
1888- allow variable object property
1889
189004/07/2009
1891- changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants
1892- Smarty variable global attribute replaced with scope attribute
1893
189404/06/2009
1895- variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE
1896- more getter/setter methods
1897
189804/05/2009
1899- replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion
1900- added append array for short form of assign  {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'}
1901
190204/04/2009
1903- make output of template default handlers cachable and save compiled source
1904- some fixes on yesterdays update
1905
190604/03/2006
1907- added registerDefaultTemplateHandler method and functionallity
1908- added registerDefaultPluginHandler method and functionallity
1909- added {append} tag to extend Smarty array variabled
1910
191104/02/2009
1912- added setter/getter methods
1913- added $foo@first and $foo@last properties at {for} tag
1914- added $set_timezone (true/false) property to setup optionally the default time zone
1915
191603/31/2009
1917- bugfix smarty.class and internal.security_handler
1918- added compile_check configuration
1919- added setter/getter methods
1920
192103/30/2009
1922- added all major setter/getter methods
1923
192403/28/2009
1925- {block} tags can be nested now
1926- md5 hash function replace with crc32 for speed optimization
1927- file order for exted resource inverted
1928- clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer
1929
193003/27/2009
1931- added extend resource
1932
193303/26/2009
1934- fixed parser not to create error on `word` in double quoted strings
1935- allow PHP  array(...)
1936- implemented  $smarty.block.name.parent to access parent block content
1937- fixed smarty.class
1938
1939
194003/23/2009
1941- fixed {foreachelse} and {forelse} tags
1942
194303/22/2009
1944- fixed possible sources for notice errors
1945- rearrange SVN into distribution and development folders
1946
194703/21/2009
1948- fixed exceptions in function plugins
1949- fixed notice error in Smarty.class.php
1950- allow chained objects to span multiple lines
1951- fixed error in modifers
1952
195303/20/2009
1954- moved /plugins folder into /libs folder
1955- added noprint modifier
1956- autoappend a directory separator if the xxxxx_dir definition have no trailing one
1957
195803/19/2009
1959- allow array definition as modifer parameter
1960- changed modifier to use multi byte string funktions.
1961
196203/17/2009
1963- bugfix
1964
196503/15/2009
1966- added {include_php} tag for BC
1967- removed @ error suppression
1968- bugfix fetch did always repeat output of first call when calling same template several times
1969- PHPunit tests extended
1970
197103/13/2009
1972- changed block syntax to be Smarty like  {block:titel} -> {block name=titel}
1973- compiling of {block} and {extend} tags rewriten for better performance
1974- added special Smarty variable block  ($smarty.block.foo} returns the parent definition of block foo
1975- optimization of {block} tag compiled code.
1976- fixed problem with escaped double quotes in double quoted strings
1977
197803/12/2009
1979- added support of template inheritance by {extend } and {block } tags.
1980- bugfix comments within literals
1981- added scope attribuie to {include} tag
1982
198303/10/2009
1984- couple of bugfixes and improvements
1985- PHPunit tests extended
1986
198703/09/2009
1988- added support for global template vars.  {assign_global...}  $smarty->assign_global(...)
1989- added direct_access_security
1990- PHPunit tests extended
1991- added missing {if} tag conditions like "is div by" etc.
1992
199303/08/2009
1994- splitted up the Compiler class to make it easier to use a coustom compiler
1995- made default plugins_dir relative to Smarty root and not current working directory
1996- some changes to make the lexer parser better configurable
1997- implemented {section} tag for Smarty2 BC
1998
199903/07/2009
2000- fixed problem with comment tags
2001- fixed problem with #xxxx in double quoted string
2002- new {while} tag implemented
2003- made lexer and paser class configurable as $smarty property
2004- Smarty method get_template_vars implemented
2005- Smarty method get_registered_object implemented
2006- Smarty method trigger_error implemented
2007- PHPunit tests extended
2008
200903/06/2009
2010- final changes on config variable handling
2011- parser change - unquoted strings will by be converted into single quoted strings
2012- PHPunit tests extended
2013- some code cleanup
2014- fixed problem on catenate strings with expression
2015- update of count_words modifier
2016- bugfix on comment tags
2017
2018
201903/05/2009
2020- bugfix on <?xml...> tag with caching enabled
2021- changes on exception handling (by Monte)
2022
202303/04/2009
2024- added support for config variables
2025- bugfix on <?xml...> tag
2026
202703/02/2009
2028- fixed unqouted strings within modifier parameter
2029- bugfix parsing of mofifier parameter
2030
203103/01/2009
2032- modifier chaining works now as in Smarty2
2033
203402/28/2009
2035- changed handling of unqouted strings
2036
203702/26/2009
2038- bugfix
2039- changed $smarty.capture.foo to be global for Smarty2 BC.
2040
204102/24/2009
2042- bugfix {php} {/php} tags for backward compatibility
2043- bugfix for expressions on arrays
2044- fixed usage of "null" value
2045- added $smarty.foreach.foo.first and $smarty.foreach.foo.last
2046
204702/06/2009
2048- bugfix for request variables without index  for example $smarty.get
2049- experimental solution for variable functions in static class
2050
205102/05/2009
2052- update of popup plugin
2053- added config variables to template parser (load config functions still missing)
2054- parser bugfix for empty quoted strings
2055
205602/03/2009
2057- allow array of objects as static class variabales.
2058- use htmlentities at source output at template errors.
2059
206002/02/2009
2061- changed search order on modifiers to look at plugins folder first
2062- parser bug fix for modifier on array elements  $foo.bar|modifier
2063- parser bug fix on single quoted srings
2064- internal: splitted up compiler plugin files
2065
206602/01/2009
2067- allow method chaining on static classes
2068- special Smarty variables  $smarty.... implemented
2069- added {PHP} {/PHP} tags for backward compatibility
2070
207101/31/2009
2072- added {math} plugin for Smarty2 BC
2073- added template_exists method
2074- changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards
2075
207601/30/2009
2077- bugfix in single quoted strings
2078- changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers
2079
208001/29/2009
2081- syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax
2082- allow  {for $foo in [1,2,3]} syntax
2083- bugfix in double quoted strings
2084- allow <?xml...?> tags in template even if short_tags are enabled
2085
208601/28/2009
2087- fixed '!==' if condition.
2088
208901/28/2009
2090- added support of {strip} {/strip} tag.
2091
209201/27/2009
2093- bug fix on backticks in double quoted strings at objects
2094
209501/25/2009
2096- Smarty2 modfiers added to SVN
2097
209801/25/2009
2099- bugfix allow arrays at object properties in Smarty syntax
2100- the template object is now passed as additional parameter at plugin calls
2101- clear_compiled_tpl method completed
2102
210301/20/2009
2104- access to class constants implemented  ( class::CONSTANT )
2105- access to static class variables implemented ( class::$variable )
2106- call of static class methods implemented ( class::method() )
2107
210801/16/2009
2109- reallow leading _ in variable names  {$_var}
2110- allow array of objects  {$array.index->method()} syntax
2111- finished work on clear_cache and clear_cache_all methods
2112
211301/11/2009
2114- added support of {literal} tag
2115- added support of {ldelim} and {rdelim} tags
2116- make code compatible to run with E_STRICT error setting
2117
211801/08/2009
2119- moved clear_assign and clear_all_assign to internal.templatebase.php
2120- added assign_by_ref, append and append_by_ref methods
2121
212201/02/2009
2123- added load_filter method
2124- fished work on filter handling
2125- optimization of plugin loading
2126
212712/30/2008
2128- added compiler support of registered object
2129- added backtick support in doubled quoted strings for backward compatibility
2130- some minor bug fixes and improvments
2131
213212/23/2008
2133- fixed problem of not working "not" operator in if-expressions
2134- added handling of compiler function plugins
2135- finished work on (un)register_compiler_function method
2136- finished work on (un)register_modifier method
2137- plugin handling from plugins folder changed for modifier plugins
2138  deleted - internal.modifier.php
2139- added modifier chaining to parser
2140
214112/17/2008
2142- finished (un)register_function method
2143- finished (un)register_block method
2144- added security checking for PHP functions in PHP templates
2145- plugin handling from plugins folder rewritten
2146  new - internal.plugin_handler.php
2147  deleted - internal.block.php
2148  deleted - internal.function.php
2149- removed plugin checking from security handler
2150
215112/16/2008
2152
2153- new start of this change_log file
Note: See TracBrowser for help on using the repository browser.