001: ï»?==== Smarty-3.1.13 =====
002: 13.01.2013
003: - enhancement allow to disable exception message escaping by SmartyException::$escape = false; (Issue #130)
004:
005: 09.01.2013
006: - bugfix compilation did fail when a prefilter did modify an {extends} tag (Forum Topic 23966)
007: - bugfix template inheritance could fail if nested {block} tags in childs did contain {$smarty.block.child} (Issue #127)
008: - bugfix template inheritance could fail if {block} tags in childs did have similar name as used plugins (Issue #128)
009: - added abstract method declaration doCompile() in Smarty_Internal_TemplateCompilerBase (Forum Topic 23969)
010:
011: 06.01.2013
012: - Allow '://' URL syntax in template names of stream resources (Issue #129)
013:
014: 27.11.2012
015: - bugfix wrong variable usage in smarty_internal_utility.php (Issue #125)
016:
017: 26.11.2012
018: - bugfix global variable assigned within template function are not seen after template function exit (Forum Topic 23800)
019:
020: 24.11.2012
021: - made SmartyBC loadable via composer (Issue #124)
022:
023: 20.11.2012
024: - bugfix assignGlobal() called from plugins did not work (Forum Topic 23771)
025:
026: 13.11.2012
027: - 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)
028:
029: 01.11.2012
030: - bugfix muteExcpetedErrors() would screw up for non-readable paths (Issue #118)
031:
032: ===== Smarty-3.1.12 =====
033: 14.09.2012
034: - bugfix template inheritance failed to compile with delimiters {/ and /} (Forum Topic 23008)
035:
036: 11.09.2012
037: - bugfix escape Smarty exception messages to avoid possible script execution
038:
039: 10.09.2012
040: - bugfix tag option flags and shorttag attributes did not work when rdel started with '=' (Forum Topic 22979)
041:
042: 31.08.2012
043: - bugfix resolving relative paths broke in some circumstances (Issue #114)
044:
045: 22.08.2012
046: - bugfix test MBString availability through mb_split, as it could've been compiled without regex support (--enable-mbregex).
047: Either we get MBstring's full package, or we pretend it's not there at all.
048:
049: 21.08.2012
050: - bugfix $auto_literal = false did not work with { block} tags in child templates
051: (problem was reintroduced after fix in 3.1.7)(Forum Topic 20581)
052:
053: 17.08.2012
054: - bugfix compiled code of nocache sections could contain wrong escaping (Forum Topic 22810)
055:
056: 15.08.2012
057: - bugfix template inheritance did produce wrong code if subtemplates with {block} was
058: included several times (from smarty-developers forum)
059:
060: 14.08.2012
061: - bugfix PHP5.2 compatibility compromised by SplFileInfo::getBasename() (Issue 110)
062:
063: 01.08.2012
064: - bugfix avoid PHP error on $smarty->configLoad(...) with invalid section specification (Forum Topic 22608)
065:
066: 30.07.2012
067: -bugfix {assign} in a nocache section should not overwrite existing variable values
068: during compilation (issue 109)
069:
070: 28.07.2012
071: - bugfix array access of config variables did not work (Forum Topic 22527)
072:
073: 19.07.2012
074: - bugfix the default plugin handler did create wrong compiled code for static class methods
075: from external script files (issue 108)
076:
077: ===== Smarty-3.1.11 =====
078: 30.06.2012
079: - bugfix {block.. hide} did not work as nested child (Forum Topic 22216)
080:
081: 25.06.2012
082: - bugfix the default plugin handler did not allow static class methods for modifier (issue 85)
083:
084: 24.06.2012
085: - bugfix escape modifier support for PHP < 5.2.3 (Forum Topic 21176)
086:
087: 11.06.2012
088: - bugfix the patch for Topic 21856 did break tabs between tag attributes (Forum Topic 22124)
089:
090: ===== Smarty-3.1.10 =====
091: 09.06.2012
092: - bugfix the compiler did ignore registered compiler plugins for closing tags (Forum Topic 22094)
093: - bugfix the patch for Topic 21856 did break multiline tags (Forum Topic 22124)
094:
095: ===== Smarty-3.1.9 =====
096: 07.06.2012
097: - bugfix fetch() and display() with relative paths (Issue 104)
098: - bugfix treat "0000-00-00" as 0 in modifier.date_format (Issue 103)
099:
100: 24.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:
105: 22.05.2012
106: - bugfix recursive {include} within {section} did fail (Smarty developer group)
107:
108: 12.05.2012
109: - bugfix {html_options} did not properly escape values (Issue 98)
110:
111: 03.05.2012
112: - bugfix make HTTP protocall version variable (issue 96)
113:
114: 02.05.2012
115: - bugfix {nocache}{block}{plugin}... did produce wrong compiled code when caching is disabled (Forum Topic 21572, issue 95)
116:
117: 12.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:
121: 08.04.2012
122: - bugfix "\\" was not escaped correctly when generating nocache code (Forum Topic 21364)
123:
124: 30.03.2012
125: - bugfix template inheritance did not throw exception when a parent template was deleted (issue 90)
126:
127: 27.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:
132: 21.03.2012
133: - bugfix compileAllTemplates() and compileAllConfig() did not return the number of compiled files (Forum Topic 21286)
134:
135: 13.03.2012
136: - correction of yesterdays bugfix (Forum Topic 21175 and 21182)
137:
138: 12.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:
142: 03.03.2012
143: - optimization of compiling speed when same modifier was used several times
144:
145: 02.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 =====
150: 19.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:
156: 07.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:
160: 06.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:
166: 30.01.2012
167: - bugfix Smarty_Security internal $_resource_dir cache wasn't properly propagated
168:
169: 27.01.2012
170: - bugfix Smarty did not a template name of "0" (Forum Topic 20895)
171:
172: 20.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:
178: 02.01.2012
179: - bugfix {block foo nocache} did not load plugins within child {block} in nocache mode (Forum Topic 20753)
180:
181: 29.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:
185: 28.12.2011
186: - bugfix Smarty's internal header code must be excluded from postfilters (issue 71)
187:
188: 22.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:
192: 20.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 =====
197: 18.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:
207: 17.12.2011
208: - improvement of compiling speed by new handling of plain text blocks in the lexer/parser (issue #68)
209:
210: 16.12.2011
211: - bugfix the source exits flag and timestamp was not setup when template was in php include path (issue #69)
212:
213: 9.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 =====
222: 30.11.2011
223: - bugfix is_cache() for individual cached subtemplates with $smarty->caching = CACHING_OFF did produce
224: an exception (Forum Topic 20531)
225:
226: 29.11.2011
227: - bugfix added exception if the default plugin handler did return a not static callback (Forum Topic 20512)
228:
229: 25.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:
233: 24.11.2011
234: - bugfix a subtemplate later used as main template did use old variable values
235:
236: 21.11.2011
237: - bugfix cache file could include unneeded modifier plugins under certain condition
238:
239: 18.11.2011
240: - bugfix declare all directory properties private to map direct access to getter/setter also on extended Smarty class
241:
242: 16.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 =====
247: 14.11.2011
248: - bugfix allow space between function name and open bracket (forum topic 20375)
249:
250: 09.11.2011
251: - bugfix different behaviour of uniqid() on cygwin. See https://bugs.php.net/bug.php?id=34908
252: (forum topic 20343)
253:
254: 01.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:
258: 22.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:
263: 21.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:
268: 20.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:
274: 19.10.2011
275: - revert PHP4 constructor message
276: - fixed PHP4 constructor message
277:
278: ===== Smarty-3.1.4 =====
279: 19.10.2011
280: - added exception when using PHP4 style constructor
281:
282: 16.10.2011
283: - bugfix testInstall() did not propery check cache_dir and compile_dir
284:
285: 15.10.2011
286: - bugfix Smarty_Resource and Smarty_CacheResource runtime caching (Forum Post 75264)
287:
288: 14.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:
293: 13.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:
299: 11.10.2011
300: - add runtime checks for not matching {capture}/{/capture} calls (Forum Topic 20120)
301:
302: 10.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 =====
308: 07.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:
317: 06.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:
321: 05.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:
327: 04.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 =====
335: 03.10.2011
336: - improvement add internal $joined_template_dir property instead computing it on the fly several times
337:
338: 01.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:
343: 29.09.2011
344: - improvement of Smarty_Internal_Config::loadConfigVars() dropped the in_array for index look up
345:
346: 28.09.2011
347: - bugfix on template functions called nocache calling other template functions
348:
349: 27.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:
357: 26.09.2011
358: - bugfix repeated calls to same subtemplate did not make use of cached template object
359:
360: 24.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:
366: 23.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 =====
375: 22.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:
379: 21.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:
385: 20.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:
391: 19.09.2011
392: - bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261
393: - bugfix output filter shall not run on included subtemplates
394:
395: 18.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:
403: 17.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 =====
408: 15/09/2011
409: - optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used
410:
411: 11/09/2011
412: - added unregisterObject() method
413:
414: 06/09/2011
415: - bugfix isset() did not work in templates on config variables
416:
417: 03/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:
423: 02/09/2011
424: - bugfix cache lock file must use absolute filepath
425:
426: 01/09/2011
427: - update of cache locking
428:
429: 30/08/2011
430: - added locking mechanism to CacheResource API (implemented with File and KeyValueStores)
431:
432: 28/08/2011
433: - bugfix clearCompileTemplate() did not work for specific template subfolder or resource
434:
435: 27/08/2011
436: - bugfix {$foo|bar+1} did create syntax error
437:
438: 26/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:
442: 17/08/2011
443: - bugfix CacheResource_Custom bad internal fetch() call
444:
445: 15/08/2011
446: - bugfix CacheResource would load content twice for KeyValueStore and Custom handlers
447:
448: 06/08/2011
449: - bugfix {include} with scope attribute could execute in wrong scope
450: - optimization of compile_check processing
451:
452: 03/08/2011
453: - allow comment tags to comment {block} tags out in child templates
454:
455: 26/07/2011
456: - bugfix experimental getTags() method did not work
457:
458: 24/07/2011
459: - sure opened output buffers are closed on exception
460: - bugfix {foreach} did not work on IteratorAggregate
461:
462: 22/07/2011
463: - clear internal caches on clearAllCache(), clearCache(), clearCompiledTemplate()
464:
465: 21/07/2011
466: - bugfix value changes of variable values assigned to Smarty object could not be seen on repeated $smarty->fetch() calls
467:
468: 17/07/2011
469: - bugfix {$smarty.block.child} did drop a notice at undefined child
470:
471: 15/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:
475: 14/07/2011
476: - made Smarty::loadPlugin() respect the include_path if required
477:
478: 13/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:
483: 06/07/2011
484: - bugfix variable modifier must run befor gereral filtering/escaping
485:
486: 04/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:
490: 30/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:
494: 28/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 =====
501: 25/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:
506: 23/06/2011
507: - bugfix {html_select_date} would not respect current time zone
508:
509: 19/06/2011
510: - added $errors argument to testInstall() functions to suppress output.
511: - added plugin-file checks to testInstall()
512:
513: 18/06/2011
514: - bugfix mixed use of same subtemplate inline and not inline in same script could cause a warning during compilation
515:
516: 17/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:
520: 16/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:
524: 15/06/2011
525: - bugfix template variables where not accessable within inline subtemplates
526:
527: 12/06/2011
528: - bugfix removed unneeded merging of template variable when fetching includled subtemplates
529:
530: 10/06/2011
531: - made protected properties $template_dir, $plugins_dir, $cache_dir, $compile_dir, $config_dir accessible via magic methods
532:
533: 09/06/2011
534: - fix smarty security_policy issue in plugins {html_image} and {fetch}
535:
536: 05/06/2011
537: - update of SMARTY_VERSION
538: - bugfix made getTags() working again
539:
540: 04/06/2011
541: - allow extends resource in file attribute of {extends} tag
542:
543: 03/06/2011
544: - added {setfilter} tag to set filters for variable output
545: - added escape_html property to control autoescaping of variable output
546:
547: 27/05/2011
548: - added allowed/disabled tags and modifiers in security for sandboxing
549:
550: 23/05/2011
551: - added base64: and urlencode: arguments to eval and string resource types
552:
553: 22/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:
556: 13/05/2011
557: - remove setOption / getOption calls from SamrtyBC class
558:
559: 02/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:
565: 20/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:
569: 20/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:
575: 01/04/2011
576: - bugfix quote handling in capitalize modifier
577:
578: 28/03/2011
579: - bugfix stripslashes() requried when using PCRE e-modifier
580:
581: 04/03/2011
582: - upgrade to new PHP_LexerGenerator version 0.4.0 for better performance
583:
584: 27/02/2011
585: - ignore .svn folders when clearing cache and compiled files
586: - string resources do not need a modify check
587:
588: 26/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:
594: 25/02/2011
595: - use $smarty->error_unassigned to control NOTICE handling on unassigned variables
596:
597: 21/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:
603: 19/02/2011
604: - optimizations on merge_compiled_includes handling
605: - a couple of optimizations and bugfixes related to new resource structure
606:
607: 17/02/2011
608: - changed ./ and ../ behaviour
609:
610: 14/02/2011
611: - added {block ... hide} option to supress block if no child is defined
612:
613: 13/02/2011
614: - update handling of recursive subtemplate calls
615: - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
616:
617: 12/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:
624: 04/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:
630: 03/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:
635: 25/01/2011
636: - optimized function html_select_time
637:
638: 22/01/2011
639: - added Smarty::$use_include_path configuration directive for Resource API
640:
641: 21/01/2011
642: - optimized function html_select_date
643:
644: 19/01/2011
645: - optimized outputfilter trimwhitespace
646:
647: 18/01/2011
648: - bugfix Config to use Smarty_Resource to fetch sources
649: - optimized Smarty_Security's isTrustedDir() and isTrustedPHPDir()
650:
651: 17/01/2011
652: - bugfix HTTP headers for CGI SAPIs
653:
654: 16/01/2011
655: - optimized internals of Smarty_Resource and Smarty_CacheResource
656:
657: 14/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:
661: 12/01/2011
662: - added unencode modifier to revert results of encode modifier
663: - added to_charset and from_charset modifier for character encoding
664:
665: 11/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:
682: 01/01/2011
683: - optimize smarty_modified_escape for hex, hexentity, decentity.
684:
685: 28/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:
689: 27/12/2010
690: - added Smarty_CacheResource API and refactored existing cache resources accordingly
691: - added Smarty_CacheResource_Custom and Smarty_CacheResource_Mysql
692:
693: 26/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:
698: 24/12/2010
699: - optimize smarty_function_escape_special_chars() for PHP >= 5.2.3
700:
701: ===== SVN 3.0 trunk =====
702: 14/05/2011
703: - bugfix error handling at stream resources
704:
705: 13/05/2011
706: - bugfix condition starting with "-" did fail at {if} and {while} tags
707:
708: 22/04/2011
709: - bugfix allow only fixed string as file attribute at {extends} tag
710:
711: 01/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:
715: 29/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:
720: 17/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:
724: 09/03/2011
725: -bugfix a variable filter should run before modifers on an output tag (see change of 23/07/2010)
726:
727: 08/03/2011
728: - bugfix loading config file without section should load only defaults
729:
730: 03/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:
734: 01/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:
739: 25/02/2011
740: - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
741:
742: 24/02/2011
743: - bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object
744:
745: 18/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:
749: 17/02/2011
750: -improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache()
751:
752: 16/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:
756: 13/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 =====
762: 09/02/2011
763: - patched vulnerability when using {$smarty.template}
764:
765: 01/02/2011
766: - removed assert() from config and template parser
767:
768: 31/01/2011
769: - bugfix the lexer/parser did fail on special characters like VT
770:
771: 16/01/2011
772: -bugfix of ArrayAccess object handling in internal _count() method
773: -bugfix of Iterator object handling in internal _count() method
774:
775: 14/01/2011
776: -bugfix removed memory leak while processing compileAllTemplates
777:
778: 12/01/2011
779: - bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode
780:
781: 10/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:
787: 31/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:
793: 28/12/2010
794: - bugfix multiple {append} tags failed to compile.
795:
796: 22/12/2010
797: - update do not clone the Smarty object an internal createTemplate() calls to increase performance
798:
799: 21/12/2010
800: - update html_options to support class and id attrs
801:
802: 17/12/2010
803: - bugfix added missing support of $cache_attrs for registered plugins
804:
805: 15/12/2010
806: - bugfix assignment as condition in {while} did drop an E_NOTICE
807:
808: 14/12/2010
809: - bugfix when passing an array as default parameter at {function} tag
810:
811: 13/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:
817: 12/12/2010
818: - bugfix fixed typo regarding yesterdays change to allow streamWrapper
819:
820: 11/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:
825: 06/12/2010
826: - bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable
827:
828: 05/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:
832: 01/12/2010
833: - improvement of {debug} tag output
834:
835: 27/11/2010
836: -change run output filter before cache file is written. (same as in Smarty2)
837:
838: 24/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:
842: 23/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:
846: 22/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:
853: 19/11/2010
854: - bugfix on block plugins with modifiers
855:
856: 18/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:
860: 17/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:
865: 16/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:
871: 15/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:
879: 14/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:
885: 13/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:
892: 13/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:
901: 12/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:
913: 11/11/2010
914: - major update including some API changes
915:
916: 10/11/2010
917: - observe compile_id also for config files
918:
919: 09/11/2010
920: -bugfix on complex expressions as start value for {for} tag
921: request_use_auto_globals
922: 04/11/2010
923: - bugfix do not allow access of dynamic and private object members of assigned objects when
924: security is enabled.
925:
926: 01/11/2010
927: - bugfix related to E_NOTICE change. {if empty($foo)} did fail when $foo contained a string
928:
929: 28/10/2010
930: - bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}}
931:
932: 27/10/2010
933: - bugfix default parameter values did not work for template functions included with {include}
934:
935: 25/10/2010
936: - bugfix for E_NOTICE change, array elements did not work as modifier parameter
937:
938: 20/10/2010
939: - bugfix for the E_NOTICE change
940:
941: 19/10/2010
942: - change Smarty does no longer mask out E_NOTICE by default during template processing
943:
944: 13/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:
953: 01/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:
959: 25/09/2010
960: - bugfix on some compiling modifiers
961:
962: 24/09/2010
963: - bugfix merge_compiled_includes flag was not restored correctly in {block} tag
964:
965: 22/09/2010
966: - bugfix on default modifier
967:
968: 18/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:
972: 17/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:
977: 16/09/2010
978: - bugfix when a doublequoted modifier parameter did contain Smarty tags and ':'
979:
980: 15/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:
984: 12/09/2010
985: - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
986:
987: 10/09/2010
988: - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
989:
990: 08/09/2010
991: - allow multiple template inheritance branches starting in subtemplates
992:
993: 07/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:
998: 23/08/2010
999: - fixed E_STRICT errors for uninitialized variables
000:
001: 22/08/2010
002: - added attribute cache_id to {include} tag
003:
004: 13/08/2010
005: - remove exception_handler property from Smarty class
006: - added Smarty's own exceptions SmartyException and SmartyCompilerException
007:
008: 09/08/2010
009: - bugfix on modifier with doublequoted strings as parameter containing embedded tags
010:
011: 06/08/2010
012: - bugfix when cascading some modifier like |strip|strip_tags modifier
013:
014: 05/08/2010
015: - added plugin type modifiercompiler to produce compiled modifier code
016: - changed standard modifier plugins to the compiling versions whenever possible
017: - bugfix in nocache sections {include} must not cache the subtemplate
018:
019: 02/08/2010
020: - bugfix strip did not work correctly in conjunction with comment lines
021:
022: 31/07/2010
023: - bugfix on nocache attribute at {assign} and {append}
024:
025: 30/07/2010
026: - bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append}
027:
028: 25/07/2010
029: - another bugfix of change from 23/07/2010 when compiling modifer
030:
031: 24/07/2010
032: - bugfix of change from 23/07/2010 when compiling modifer
033:
034: 23/07/2010
035: - changed execution order. A variable filter does now run before modifiers on output of variables
036: - bugfix use always { and } as delimiter for debug.tpl
037:
038:
039: 22/07/2010
040: - bugfix in templateExists() method
041:
042: 20/07/2010
043: - fixed handling of { strip } tag with whitespaces
044:
045: 15/07/2010
046: - bufix {$smarty.template} does include now the relative path, not just filename
047:
048: ===== RC3 =====
049:
050:
051:
052:
053: 15/07/2010
054: - make the date_format modifier work also on objects of the DateTime class
055: - implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output
056:
057: 08/07/2010
058: - bugfix on assigning multidimensional arrays within templates
059: - corrected bugfix for truncate modifier
060:
061: 07/07/2010
062: - bugfix the truncate modifier needs to check if the string is utf-8 encoded or not
063: - bugfix support of script files relative to trusted_dir
064:
065: 06/07/2010
066: - create exception on recursive {extends} calls
067: - fixed reported line number at "unexpected closing tag " exception
068: - bugfix on escape:'mail' modifier
069: - drop exception if 'item' variable is equal 'from' variable in {foreach} tag
070:
071: 01/07/2010
072: - removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins
073:
074: 25/06/2010
075: - bugfix escaping " when block tags are used within doublequoted strings
076:
077: 24/06/2010
078: - replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility
079: - added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace
080:
081:
082: 22/06/2010
083: - allow spaces between typecast and value in template syntax
084: - bugfix get correct count of traversables in {foreach} tag
085:
086: 21/06/2010
087: - removed use of PHP shortags SMARTY_PHP_PASSTHRU mode
088: - improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true
089:
090: 20/06/2010
091: - replace internal get_time() calls with standard PHP5 microtime(true) calls
092: - closed security hole when php.ini asp_tags = on
093:
094: 18/06/2010
095: - added __toString method to the Smarty_Variable class
096:
097:
098: 14/06/2010
099: - make handling of Smarty comments followed by newline BC to Smarty2
100:
101:
102: ===== RC2 =====
103:
104:
105:
106: 13/06/2010
107: - bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value
108: - bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit)
109:
110: 11/06/2010
111: - bugfix the lexer did fail on larger {literal} ... {/literal} sections
112:
113: 03/06/2010
114: - bugfix on calling template functions like Smarty tags
115:
116: 01/06/2010
117: - bugfix on template functions used with template inheritance
118: - removed /* vim: set expandtab: */ comments
119: - bugfix of auto literal problem introduce with fix of 31/05/2010
120:
121: 31/05/2010
122: - bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others.
123:
124: 27/05/2010
125: - bugfix on object chaining using variable properties
126: - make scope of {counter} and {cycle} tags again global as in Smarty2
127:
128: 26/05/2010
129: - bugfix removed decrepated register_resource call in smarty_internal_template.php
130:
131: 25/05/2010
132: - rewrite of template function handling to improve speed
133: - bugfix on file dependency when merge_compiled_includes = true
134:
135:
136: 16/05/2010
137: - bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'}
138:
139: 14/05/2010
140: - bugfix compile new config files if compile_check and force_compile = false
141: - added variable static classes names to template syntax
142:
143: 11/05/2010
144: - bugfix make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally
145: - reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag.
146:
147: 10/05/2010
148: - bugfix on {foreach} and {for} optimizations of 27/04/2010
149:
150: 09/05/2010
151: - update of template and config file parser because of minor parser generator bugs
152:
153: 07/05/2010
154: - bugfix on {insert}
155:
156: 06/05/2010
157: - bugfix when merging compiled templates and objects are passed as parameter of the {include} tag
158:
159: 05/05/2010
160: - bugfix on {insert} to cache parameter
161: - implementation of $smarty->default_modifiers as in Smarty2
162: - bugfix on getTemplateVars method
163:
164: 01/05/2010
165: - bugfix on handling of variable method names at object chaning
166:
167: 30/04/2010
168: - bugfix when comparing timestamps in sysplugins/smarty_internal_config.php
169: - work around of a substr_compare bug in older PHP5 versions
170: - bugfix on template inheritance for tag names starting with "block"
171: - bugfix on {function} tag with name attribute in doublequoted strings
172: - fix to make calling of template functions unambiguously by madatory usage of the {call} tag
173:
174: ===== RC1 =====
175:
176: 27/04/2010
177: - change default of $debugging_ctrl to 'NONE'
178: - optimization of compiled code of {foreach} and {for} loops
179: - change of compiler for config variables
180:
181: 27/04/2010
182: - bugfix in $smarty->cache->clear() method. (do not cache template object)
183:
184:
185: 17/04/2010
186: - security fix in {math} plugin
187:
188:
189: 12/04/2010
190: - bugfix in smarty_internal_templatecompilerbase (overloaded property)
191: - removed parser restrictions in using true,false and null as ID
192:
193: 07/04/2010
194: - bugfix typo in smarty_internal_templatecompilerbase
195:
196: 31/03/2010
197: - compile locking by touching old compiled files to avoid concurrent compilations
198:
199: 29/03/2010
200: - bugfix allow array definitions as modifier parameter
201: - bugfix observe compile_check property when loading config files
202: - added the template object as third filter parameter
203:
204: 25/03/2010
205: - change of utility->compileAllTemplates() log messages
206: - bugfix on nocache code in {function} tags
207: - new method utility->compileAllConfig() to compile all config files
208:
209: 24/03/2010
210: - bugfix on register->modifier() error messages
211:
212: 23/03/2010
213: - bugfix on template inheritance when calling multiple child/parent relations
214: - bugfix on caching mode SMARTY_CACHING_LIFETIME_SAVED and cache_lifetime = 0
215:
216: 22/03/2010
217: - bugfix make directory separator operating system independend in compileAllTemplates()
218:
219: 21/03/2010
220: - removed unused code in compileAllTemplates()
221:
222: 19/03/2010
223: - bugfix for multiple {/block} tags on same line
224:
225: 17/03/2010
226: - bugfix make $smarty->cache->clear() function independent from caching status
227:
228: 16/03/2010
229: - bugfix on assign attribute at registered template objects
230: - make handling of modifiers on expression BC to Smarty2
231:
232: 15/03/2010
233: - bugfix on block plugin calls
234:
235: 11/03/2010
236: - changed parsing of <?php and ?> back to Smarty2 behaviour
237:
238: 08/03/2010
239: - bugfix on uninitialized properties in smarty_internal_template
240: - bugfix on $smarty->disableSecurity()
241:
242: 04/03/2010
243: - bugfix allow uppercase chars in registered resource names
244: - bugfix on accessing chained objects of static classes
245:
246: 01/03/2010
247: - bugfix on nocache code in {block} tags if child template was included by {include}
248:
249: 27/02/2010
250: - allow block tags inside double quoted string
251:
252: 26/02/2010
253: - cache modified check implemented
254: - support of access to a class constant from an object (since PHP 5.3)
255:
256: 24/02/2010
257: - bugfix on expressions in doublequoted string enclosed in backticks
258: - added security property $static_classes for static class security
259:
260: 18/02/2010
261: - bugfix on parsing Smarty tags inside <?xml ... ?>
262: - bugfix on truncate modifier
263:
264: 17/02/2010
265: - removed restriction that modifiers did require surrounding parenthesis in some cases
266: - added {$smarty.block.child} special variable for template inheritance
267:
268: 16/02/2010
269: - bugfix on <?xml ... ?> tags for all php_handling modes
270: - bugfix on parameter of variablefilter.htmlspecialchars.php plugin
271:
272: 14/02/2010
273: - added missing _plugins property in smarty.class.php
274: - bugfix $smarty.const... inside doublequoted strings and backticks was compiled into wrong PHP code
275:
276: 12/02/2010
277: - bugfix on nested {block} tags
278: - changed Smarty special variable $smarty.parent to $smarty.block.parent
279: - added support of nested {bock} tags
280:
281: 10/02/2010
282: - avoid possible notice on $smarty->cache->clear(...), $smarty->clear_cache(....)
283: - allow Smarty tags inside <? ... ?> tags in SMARTY_PHP_QUOTE and SMARTY_PHP_PASSTHRU mode
284: - bugfix at new "for" syntax like {for $x=1 to 10 step 2}
285:
286: 09/02/2010
287: - added $smarty->_tag_stack for tracing block tag hierarchy
288:
289: 08/02/2010
290: - bugfix use template fullpath at §smarty->cache->clear(...), $smarty->clear_cache(....)
291: - bugfix of cache filename on extended templates when force_compile=true
292:
293: 07/02/2010
294: - bugfix on changes of 05/02/2010
295: - preserve line endings type form template source
296: - API changes (see README file)
297:
298: 05/02/2010
299: - bugfix on modifier and block plugins with same name
300:
301: 02/02/2010
302: - retaining newlines at registered functions and function plugins
303:
304: 01/25/2010
305: - bugfix cache resource was not loaded when caching was globally off but enabled at a template object
306: - added test that $_SERVER['SCRIPT_NAME'] does exist in Smarty.class.php
307:
308: 01/22/2010
309: - new method $smarty->createData([$parent]) for creating a data object (required for bugfixes below)
310: - bugfix config_load() method now works also on a data object
311: - bugfix get_config_vars() method now works also on a data and template objects
312: - bugfix clear_config() method now works also on a data and template objects
313:
314: 01/19/2010
315: - bugfix on plugins if same plugin was called from a nocache section first and later from a cached section
316:
317:
318: ###beta 7###
319:
320:
321: 01/17/2010
322: - bugfix on $smarty.const... in double quoted strings
323:
324: 01/16/2010
325: - internal change of config file lexer/parser on handling of section names
326: - bugfix on registered objects (format parameter of register_object was not handled correctly)
327:
328: 01/14/2010
329: - bugfix on backslash within single quoted strings
330: - bugfix allow absolute filepath for config files
331: - bugfix on special Smarty variable $smarty.cookies
332: - revert handling of newline on no output tags like {if...}
333: - allow special characters in config file section names for Smarty2 BC
334:
335: 01/13/2010
336: - bugfix on {if} tags
337:
338: 01/12/2010
339: - changed back modifer handling in parser. Some restrictions still apply:
340: if modifiers are used in side {if...} expression or in mathematical expressions
341: parentheses must be used.
342: - bugfix the {function..} tag did not accept the name attribute in double quotes
343: - closed possible security hole at <?php ... ?> tags
344: - bugfix of config file parser on large config files
345:
346:
347: ###beta 6####
348:
349: 01/11/2010
350: - added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source
351: - added missing support of insert plugins
352: - added optional nocache attribute to {block} tags in parent template
353: - updated <?php...?> handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen)
354:
355: 01/09/2010
356: - bugfix on nocache {block} tags in parent templates
357:
358: 01/08/2010
359: - bugfix on variable filters. filter/nofilter attributes did not work on output statements
360:
361: 01/07/2010
362: - bugfix on file dependency at template inheritance
363: - bugfix on nocache code at template inheritance
364:
365: 01/06/2010
366: - fixed typo in smarty_internal_resource_registered
367: - bugfix for custom delimiter at extends resource and {extends} tag
368:
369: 01/05/2010
370: - bugfix sha1() calculations at extends resource and some general improvments on sha1() handling
371:
372:
373: 01/03/2010
374: - internal change on building cache files
375:
376: 01/02/2010
377: - update cached_timestamp at the template object after cache file is written to avoid possible side effects
378: - use internally always SMARTY_CACHING_LIFETIME_* constants
379:
380: 01/01/2010
381: - bugfix for obtaining plugins which must be included (related to change of 12/30/2009)
382: - bugfix for {php} tag (trow an exception if allow_php_tag = false)
383:
384: 12/31/2009
385: - optimization of generated code for doublequoted strings containing variables
386: - rewrite of {function} tag handling
387: - can now be declared in an external subtemplate
388: - can contain nocache sections (nocache_hash handling)
389: - can be called in noccache sections (nocache_hash handling)
390: - new {call..} tag to call template functions with a variable name {call name=$foo}
391: - fixed nocache_hash handling in merged compiled templates
392:
393: 12/30/2009
394: - bugfix for plugins defined in the script as smarty_function_foo
395:
396: 12/29/2009
397: - use sha1() for filepath encoding
398: - updates on nocache_hash handling
399: - internal change on merging some data
400: - fixed cache filename for custom resources
401:
402: 12/28/2009
403: - update for security fixes
404: - make modifier plugins always trusted
405: - fixed bug loading modifiers in child template at template inheritance
406:
407: 12/27/2009
408: --- this is a major update with a couple of internal changes ---
409: - new config file lexer/parser (thanks to Thue Jnaus Kristensen)
410: - template lexer/parser fixes for PHP and {literal} handing (thanks to Thue Jnaus Kristensen)
411: - fix on registered plugins with different type but same name
412: - rewrite of plugin handling (optimized execution speed)
413: - closed a security hole regarding PHP code injection into cache files
414: - fixed bug in clear cache handling
415: - Renamed a couple of internal classes
416: - code cleanup for merging compiled templates
417: - couple of runtime optimizations (still not all done)
418: - update of getCachedTimestamp()
419: - fixed bug on modifier plugins at nocache output
420:
421: 12/19/2009
422: - bugfix on comment lines in config files
423:
424: 12/17/2009
425: - bugfix of parent/global variable update at included/merged subtemplates
426: - encode final template filepath into filename of compiled and cached files
427: - fixed {strip} handling in auto literals
428:
429: 12/16/2009
430: - update of changelog
431: - added {include file='foo.tpl' inline} inline option to merge compiled code of subtemplate into the calling template
432:
433: 12/14/2009
434: - fixed sideefect of last modification (objects in array index did not work anymore)
435:
436: 12/13/2009
437: - allow boolean negation ("!") as operator on variables outside {if} tag
438:
439: 12/12/2009
440: - bugfix on single quotes inside {function} tag
441: - fix short append/prepend attributes in {block} tags
442:
443: 12/11/2009
444: - bugfix on clear_compiled_tpl (avoid possible warning)
445:
446: 12/10/2009
447: - bugfix on {function} tags and template inheritance
448:
449: 12/05/2009
450: - fixed problem when a cached file was fetched several times
451: - removed unneeded lexer code
452:
453: 12/04/2009
454: - added max attribute to for loop
455: - added security mode allow_super_globals
456:
457: 12/03/2009
458: - template inheritance: child templates can now call functions defined by the {function} tag in the parent template
459: - added {for $foo = 1 to 5 step 2} syntax
460: - bugfix for {$foo.$x.$y.$z}
461:
462: 12/01/2009
463: - fixed parsing of names of special formated tags like if,elseif,while,for,foreach
464: - removed direct access to constants in templates because of some syntax problems
465: - removed cache resource plugin for mysql from the distribution
466: - replaced most hard errors (exceptions) by softerrors(trigger_error) in plugins
467: - use $template_class property for template class name when compiling {include},{eval} and {extends} tags
468:
469: 11/30/2009
470: - map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter
471: - allow {function} tags within {block} tags
472:
473: 11/28/2009
474: - ignore compile_id at debug template
475: - added direct access to constants in templates
476: - some lexer/parser optimizations
477:
478: 11/27/2009
479: - added cache resource MYSQL plugin
480:
481: 11/26/2009
482: - bugfix on nested doublequoted strings
483: - correct line number on unknown tag error message
484: - changed {include} compiled code
485: - fix on checking dynamic varibales with error_unassigned = true
486:
487: 11/25/2009
488: - allow the following writing for boolean: true, TRUE, True, false, FALSE, False
489: - {strip} tag functionality rewritten
490:
491: 11/24/2009
492: - bugfix for $smarty->config_overwrite = false
493:
494: 11/23/2009
495: - suppress warnings on unlink caused by race conditions
496: - correct line number on unknown tag error message
497:
498: ------- beta 5
499: 11/23/2009
500: - fixed configfile parser for text starting with a numeric char
501: - the default_template_handler_func may now return a filepath to a template source
502:
503: 11/20/2009
504: - bugfix for empty config files
505: - convert timestamps of registered resources to integer
506:
507: 11/19/2009
508: - compiled templates are no longer touched with the filemtime of template source
509:
510: 11/18/2009
511: - allow integer as attribute name in plugin calls
512:
513: ------- beta 4
514: 11/18/2009
515: - observe umask settings when setting file permissions
516: - avoide unneeded cache file creation for subtemplates which did occur in some situations
517: - make $smarty->_current_file available during compilation for Smarty2 BC
518:
519: 11/17/2009
520: - sanitize compile_id and cache_id (replace illegal chars with _)
521: - use _dir_perms and _file_perms properties at file creation
522: - new constant SMARTY_RESOURCE_DATE_FORMAT (default '%b %e, %Y') which is used as default format in modifier date_format
523: - added {foreach $array as $key=>$value} syntax
524: - renamed extend tag and resource to extends: {extends file='foo.tol'} , $smarty->display('extends:foo.tpl|bar.tpl);
525: - bugfix cycle plugin
526:
527: 11/15/2009
528: - lexer/parser optimizations on quoted strings
529:
530: 11/14/2009
531: - bugfix on merging compiled templates when source files got removed or renamed.
532: - bugfix modifiers on registered object tags
533: - fixed locaion where outputfilters are running
534: - fixed config file definitions at EOF
535: - fix on merging compiled templates with nocache sections in nocache includes
536: - parser could run into a PHP error on wrong file attribute
537:
538: 11/12/2009
539: - fixed variable filenames in {include_php} and {insert}
540: - added scope to Smarty variables in the {block} tag compiler
541: - fix on nocache code in child {block} tags
542:
543: 11/11/2009
544: - fixed {foreachelse}, {forelse}, {sectionelse} compiled code at nocache variables
545: - removed checking for reserved variables
546: - changed debugging handling
547:
548: 11/10/2009
549: - fixed preg_qoute on delimiters
550:
551: 11/09/2009
552: - lexer/parser bugfix
553: - new SMARTY_SPL_AUTOLOAD constant to control the autoloader option
554: - bugfix for {function} block tags in included templates
555:
556: 11/08/2009
557: - fixed alphanumeric array index
558: - bugfix on complex double quoted strings
559:
560: 11/05/2009
561: - config_load method can now be called on data and template objects
562:
563: 11/04/2009
564: - added typecasting support for template variables
565: - bugfix on complex indexed special Smarty variables
566:
567: 11/03/2009
568: - fixed parser error on objects with special smarty vars
569: - fixed file dependency for {incude} inside {block} tag
570: - fixed not compiling on non existing compiled templates when compile_check = false
571: - renamed function names of autoloaded Smarty methods to Smarty_Method_....
572: - new security_class property (default is Smarty_Security)
573:
574: 11/02/2009
575: - added neq,lte,gte,mod as aliases to if conditions
576: - throw exception on illegal Smarty() constructor calls
577:
578: 10/31/2009
579: - change of filenames in sysplugins folder for internal spl_autoload function
580: - lexer/parser changed for increased compilation speed
581:
582: 10/27/2009
583: - fixed missing quotes in include_php.php
584:
585: 10/27/2009
586: - fixed typo in method.register_resource
587: - pass {} through as literal
588:
589: 10/26/2009
590: - merge only compiled subtemplates into the compiled code of the main template
591:
592: 10/24/2009
593: - fixed nocache vars at internal block tags
594: - fixed merging of recursive includes
595:
596: 10/23/2009
597: - fixed nocache var problem
598:
599: 10/22/2009
600: - fix trimwhitespace outputfilter parameter
601:
602: 10/21/2009
603: - added {$foo++}{$foo--} syntax
604: - buxfix changed PHP "if (..):" to "if (..){" because of possible bad code when concenating PHP tags
605: - autoload Smarty internal classes
606: - fixed file dependency for config files
607: - some code optimizations
608: - fixed function definitions on some autoloaded methods
609: - fixed nocache variable inside if condition of {if} tag
610:
611: 10/20/2009
612: - check at compile time for variable filter to improve rendering speed if no filter is used
613: - fixed bug at combination of {elseif} tag and {...} in double quoted strings of static class parameter
614:
615: 10/19/2009
616: - fixed compiled template merging on variable double quoted strings as name
617: - fixed bug in caching mode 2 and cache_lifetime -1
618: - fixed modifier support on block tags
619:
620: 10/17/2009
621: - remove ?>\n<?php and ?><?php sequences from compiled template
622:
623: 10/15/2009
624: - buxfix on assigning array elements inside templates
625: - parser bugfix on array access
626:
627: 10/15/2009
628: - allow bit operator '&' inside {if} tag
629: - implementation of ternary operator
630:
631: 10/13/2009
632: - do not recompile evaluated templates if reused just with other data
633: - recompile config files when config properties did change
634: - some lexer/parser otimizations
635:
636: 10/11/2009
637: - allow {block} tags inside included templates
638: - bugfix for resource plugins in Smarty2 format
639: - some optimizations of internal.template.php
640:
641: 10/11/2009
642: - fixed bug when template with same name is used with different data objects
643: - fixed bug with double quoted name attribute at {insert} tag
644: - reenabled assign_by_ref and append_by_ref methods
645:
646: 10/07/2009
647: - removed block nesting checks for {capture}
648:
649: 10/05/2009
650: - added support of "isinstance" to {if} tag
651:
652: 10/03/2009
653: - internal changes to improve performance
654: - fix registering of filters for classes
655:
656: 10/01/2009
657: - removed default timezone setting
658: - reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable
659: - {PHP} tag can be enabled by allow_php_tag = true
660:
661: 09/30/2009
662: - fixed handling template_exits method for all resource types
663: - bugfix for other cache resources than file
664: - the methods assign_by_ref is now wrapped to assign, append_by_ref to append
665: - allow arrays of variables pass in display, fetch and createTemplate calls
666: $data = array('foo'=>'bar','foo2'=>'blar');
667: $smarty->display('my.tpl',$data);
668:
669: 09/29/2009
670: - changed {php} tag handling
671: - removed support of Smarty::instance()
672: - removed support of PHP resource type
673: - improved execution speed of {foreach} tags
674: - fixed bug in {section} tag
675:
676: 09/23/2009
677: - improvements and bugfix on {include} tag handling
678: NOTICE: existing compiled template and cache files must be deleted
679:
680: 09/19/2009
681: - replace internal "eval()" calls by "include" during rendering process
682: - speed improvment for templates which have included subtemplates
683: the compiled code of included templates is merged into the compiled code of the parent template
684: - added logical operator "xor" for {if} tag
685: - changed parameter ordering for Smarty2 BC
686: fetch($template, $cache_id = null, $compile_id = null, $parent = null)
687: display($template, $cache_id = null, $compile_id = null, $parent = null)
688: createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
689: - property resource_char_set is now replaced by constant SMARTY_RESOURCE_CHAR_SET
690: - fixed handling of classes in registered blocks
691: - speed improvement of lexer on text sections
692:
693: 09/01/2009
694: - dropped nl2br as plugin
695: - added '<>' as comparission operator in {if} tags
696: - cached caching_lifetime property to cache_liftime for backward compatibility with Smarty2.
697: {include} optional attribute is also now cache_lifetime
698: - fixed trigger_error method (moved into Smarty class)
699: - version is now Beta!!!
700:
701:
702: 08/30/2009
703: - some speed optimizations on loading internal plugins
704:
705:
706: 08/29/2009
707: - implemented caching of registered Resources
708: - new property 'auto_literal'. if true(default) '{ ' and ' }' interpreted as literal, not as Smarty delimiter
709:
710:
711: 08/28/2009
712: - Fix on line breaks inside {if} tags
713:
714: 08/26/2009
715: - implemented registered resources as in Smarty2. NOTE: caching does not work yet
716: - new property 'force_cache'. if true it forces the creation of a new cache file
717: - fixed modifiers on arrays
718: - some speed optimization on loading internal classes
719:
720:
721: 08/24/2009
722: - fixed typo in lexer definition for '!==' operator
723: - bugfix - the ouput of plugins was not cached
724: - added global variable SCRIPT_NAME
725:
726: 08/21/2009
727: - fixed problems whitespace in conjuction with custom delimiters
728: - Smarty tags can now be used as value anywhere
729:
730: 08/18/2009
731: - definition of template class name moded in internal.templatebase.php
732: - whitespace parser changes
733:
734: 08/12/2009
735: - fixed parser problems
736:
737: 08/11/2009
738: - fixed parser problems with custom delimiter
739:
740: 08/10/2009
741: - update of mb support in plugins
742:
743:
744: 08/09/2009
745: - fixed problems with doublequoted strings at name attribute of {block} tag
746: - bugfix at scope attribute of {append} tag
747:
748: 08/08/2009
749: - removed all internal calls of Smarty::instance()
750: - fixed code in double quoted strings
751:
752: 08/05/2009
753: - bugfix mb_string support
754: - bugfix of \n.\t etc in double quoted strings
755:
756: 07/29/2009
757: - added syntax for variable config vars like #$foo#
758:
759: 07/28/2009
760: - fixed parsing of $smarty.session vars containing objects
761:
762: 07/22/2009
763: - fix of "$" handling in double quoted strings
764:
765: 07/21/2009
766: - fix that {$smarty.current_dir} return correct value within {block} tags.
767:
768: 07/20/2009
769: - drop error message on unmatched {block} {/block} pairs
770:
771: 07/01/2009
772: - fixed smarty_function_html_options call in plugin function.html_select_date.php (missing ,)
773:
774: 06/24/2009
775: - fixed smarty_function_html_options call in plugin function.html_select_date.php
776:
777: 06/22/2009
778: - fix on \n and spaces inside smarty tags
779: - removed request_use_auto_globals propert as it is no longer needed because Smarty 3 will always run under PHP 5
780:
781:
782: 06/18/2009
783: - fixed compilation of block plugins when caching enabled
784: - added $smarty.current_dir which returns the current working directory
785:
786: 06/14/2009
787: - fixed array access on super globals
788: - allow smarty tags within xml tags
789:
790: 06/13/2009
791: - bugfix at extend resource: create unique files for compiled template and cache for each combination of template files
792: - update extend resource to handle appen and prepend block attributes
793: - instantiate classes of plugins instead of calling them static
794:
795: 06/03/2009
796: - fixed repeat at block plugins
797:
798: 05/25/2009
799: - fixed problem with caching of compiler plugins
800:
801: 05/14/2009
802: - fixed directory separator handling
803:
804: 05/09/2009
805: - syntax change for stream variables
806: - fixed bug when using absolute template filepath and caching
807:
808: 05/08/2009
809: - fixed bug of {nocache} tag in included templates
810:
811: 05/06/2009
812: - allow that plugins_dir folder names can end without directory separator
813:
814: 05/05/2009
815: - fixed E_STRICT incompabilities
816: - {function} tag bug fix
817: - security policy definitions have been moved from plugins folder to file Security.class.php in libs folder
818: - added allow_super_global configuration to security
819:
820: 04/30/2009
821: - functions defined with the {function} tag now always have global scope
822:
823: 04/29/2009
824: - fixed problem with directory setter methods
825: - allow that cache_dir can end without directory separator
826:
827: 04/28/2009
828: - the {function} tag can no longer overwrite standard smarty tags
829: - inherit functions defined by the {fuction} tag into subtemplates
830: - added {while <statement>} sytax to while tag
831:
832: 04/26/2009
833: - added trusted stream checking to security
834: - internal changes at file dependency check for caching
835:
836: 04/24/2009
837: - changed name of {template} tag to {function}
838: - added new {template} tag
839:
840: 04/23/2009
841: - fixed access of special smarty variables from included template
842:
843: 04/22/2009
844: - unified template stream syntax with standard Smarty resource syntax $smarty->display('mystream:mytemplate')
845:
846: 04/21/2009
847: - change of new style syntax for forach. Now: {foreach $array as $var} like in PHP
848:
849: 04/20/2009
850: - fixed "$foo.bar ..." variable replacement in double quoted strings
851: - fixed error in {include} tag with variable file attribute
852:
853: 04/18/2009
854: - added stream resources ($smarty->display('mystream://mytemplate'))
855: - added stream variables {$mystream:myvar}
856:
857: 04/14/2009
858: - fixed compile_id handling on {include} tags
859: - fixed append/prepend attributes in {block} tag
860: - added {if 'expression' is in 'array'} syntax
861: - use crc32 as hash for compiled config files.
862:
863: 04/13/2009
864: - fixed scope problem with parent variables when appending variables within templates.
865: - fixed code for {block} without childs (possible sources for notice errors removed)
866:
867: 04/12/2009
868: - added append and prepend attribute to {block} tag
869:
870: 04/11/2009
871: - fixed variables in 'file' attribute of {extend} tag
872: - fixed problems in modifiers (if mb string functions not present)
873:
874: 04/10/2009
875: - check if mb string functions available otherwise fallback to normal string functions
876: - added global variable scope SMARTY_GLOBAL_SCOPE
877: - enable 'variable' filter by default
878: - fixed {$smarty.block.parent.foo}
879: - implementation of a 'variable' filter as replacement for default modifier
880:
881: 04/09/2009
882: - fixed execution of filters defined by classes
883: - compile the always the content of {block} tags to make shure that the filters are running over it
884: - syntax corrections on variable object property
885: - syntax corrections on array access in dot syntax
886:
887: 04/08/2009
888: - allow variable object property
889:
890: 04/07/2009
891: - changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants
892: - Smarty variable global attribute replaced with scope attribute
893:
894: 04/06/2009
895: - variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE
896: - more getter/setter methods
897:
898: 04/05/2009
899: - replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion
900: - added append array for short form of assign {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'}
901:
902: 04/04/2009
903: - make output of template default handlers cachable and save compiled source
904: - some fixes on yesterdays update
905:
906: 04/03/2006
907: - added registerDefaultTemplateHandler method and functionallity
908: - added registerDefaultPluginHandler method and functionallity
909: - added {append} tag to extend Smarty array variabled
910:
911: 04/02/2009
912: - added setter/getter methods
913: - added $foo@first and $foo@last properties at {for} tag
914: - added $set_timezone (true/false) property to setup optionally the default time zone
915:
916: 03/31/2009
917: - bugfix smarty.class and internal.security_handler
918: - added compile_check configuration
919: - added setter/getter methods
920:
921: 03/30/2009
922: - added all major setter/getter methods
923:
924: 03/28/2009
925: - {block} tags can be nested now
926: - md5 hash function replace with crc32 for speed optimization
927: - file order for exted resource inverted
928: - clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer
929:
930: 03/27/2009
931: - added extend resource
932:
933: 03/26/2009
934: - fixed parser not to create error on `word` in double quoted strings
935: - allow PHP array(...)
936: - implemented $smarty.block.name.parent to access parent block content
937: - fixed smarty.class
938:
939:
940: 03/23/2009
941: - fixed {foreachelse} and {forelse} tags
942:
943: 03/22/2009
944: - fixed possible sources for notice errors
945: - rearrange SVN into distribution and development folders
946:
947: 03/21/2009
948: - fixed exceptions in function plugins
949: - fixed notice error in Smarty.class.php
950: - allow chained objects to span multiple lines
951: - fixed error in modifers
952:
953: 03/20/2009
954: - moved /plugins folder into /libs folder
955: - added noprint modifier
956: - autoappend a directory separator if the xxxxx_dir definition have no trailing one
957:
958: 03/19/2009
959: - allow array definition as modifer parameter
960: - changed modifier to use multi byte string funktions.
961:
962: 03/17/2009
963: - bugfix
964:
965: 03/15/2009
966: - added {include_php} tag for BC
967: - removed @ error suppression
968: - bugfix fetch did always repeat output of first call when calling same template several times
969: - PHPunit tests extended
970:
971: 03/13/2009
972: - changed block syntax to be Smarty like {block:titel} -> {block name=titel}
973: - compiling of {block} and {extend} tags rewriten for better performance
974: - added special Smarty variable block ($smarty.block.foo} returns the parent definition of block foo
975: - optimization of {block} tag compiled code.
976: - fixed problem with escaped double quotes in double quoted strings
977:
978: 03/12/2009
979: - added support of template inheritance by {extend } and {block } tags.
980: - bugfix comments within literals
981: - added scope attribuie to {include} tag
982:
983: 03/10/2009
984: - couple of bugfixes and improvements
985: - PHPunit tests extended
986:
987: 03/09/2009
988: - added support for global template vars. {assign_global...} $smarty->assign_global(...)
989: - added direct_access_security
990: - PHPunit tests extended
991: - added missing {if} tag conditions like "is div by" etc.
992:
993: 03/08/2009
994: - splitted up the Compiler class to make it easier to use a coustom compiler
995: - made default plugins_dir relative to Smarty root and not current working directory
996: - some changes to make the lexer parser better configurable
997: - implemented {section} tag for Smarty2 BC
998:
999: 03/07/2009
000: - fixed problem with comment tags
001: - fixed problem with #xxxx in double quoted string
002: - new {while} tag implemented
003: - made lexer and paser class configurable as $smarty property
004: - Smarty method get_template_vars implemented
005: - Smarty method get_registered_object implemented
006: - Smarty method trigger_error implemented
007: - PHPunit tests extended
008:
009: 03/06/2009
010: - final changes on config variable handling
011: - parser change - unquoted strings will by be converted into single quoted strings
012: - PHPunit tests extended
013: - some code cleanup
014: - fixed problem on catenate strings with expression
015: - update of count_words modifier
016: - bugfix on comment tags
017:
018:
019: 03/05/2009
020: - bugfix on <?xml...> tag with caching enabled
021: - changes on exception handling (by Monte)
022:
023: 03/04/2009
024: - added support for config variables
025: - bugfix on <?xml...> tag
026:
027: 03/02/2009
028: - fixed unqouted strings within modifier parameter
029: - bugfix parsing of mofifier parameter
030:
031: 03/01/2009
032: - modifier chaining works now as in Smarty2
033:
034: 02/28/2009
035: - changed handling of unqouted strings
036:
037: 02/26/2009
038: - bugfix
039: - changed $smarty.capture.foo to be global for Smarty2 BC.
040:
041: 02/24/2009
042: - bugfix {php} {/php} tags for backward compatibility
043: - bugfix for expressions on arrays
044: - fixed usage of "null" value
045: - added $smarty.foreach.foo.first and $smarty.foreach.foo.last
046:
047: 02/06/2009
048: - bugfix for request variables without index for example $smarty.get
049: - experimental solution for variable functions in static class
050:
051: 02/05/2009
052: - update of popup plugin
053: - added config variables to template parser (load config functions still missing)
054: - parser bugfix for empty quoted strings
055:
056: 02/03/2009
057: - allow array of objects as static class variabales.
058: - use htmlentities at source output at template errors.
059:
060: 02/02/2009
061: - changed search order on modifiers to look at plugins folder first
062: - parser bug fix for modifier on array elements $foo.bar|modifier
063: - parser bug fix on single quoted srings
064: - internal: splitted up compiler plugin files
065:
066: 02/01/2009
067: - allow method chaining on static classes
068: - special Smarty variables $smarty.... implemented
069: - added {PHP} {/PHP} tags for backward compatibility
070:
071: 01/31/2009
072: - added {math} plugin for Smarty2 BC
073: - added template_exists method
074: - changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards
075:
076: 01/30/2009
077: - bugfix in single quoted strings
078: - changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers
079:
080: 01/29/2009
081: - syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax
082: - allow {for $foo in [1,2,3]} syntax
083: - bugfix in double quoted strings
084: - allow <?xml...?> tags in template even if short_tags are enabled
085:
086: 01/28/2009
087: - fixed '!==' if condition.
088:
089: 01/28/2009
090: - added support of {strip} {/strip} tag.
091:
092: 01/27/2009
093: - bug fix on backticks in double quoted strings at objects
094:
095: 01/25/2009
096: - Smarty2 modfiers added to SVN
097:
098: 01/25/2009
099: - bugfix allow arrays at object properties in Smarty syntax
100: - the template object is now passed as additional parameter at plugin calls
101: - clear_compiled_tpl method completed
102:
103: 01/20/2009
104: - access to class constants implemented ( class::CONSTANT )
105: - access to static class variables implemented ( class::$variable )
106: - call of static class methods implemented ( class::method() )
107:
108: 01/16/2009
109: - reallow leading _ in variable names {$_var}
110: - allow array of objects {$array.index->method()} syntax
111: - finished work on clear_cache and clear_cache_all methods
112:
113: 01/11/2009
114: - added support of {literal} tag
115: - added support of {ldelim} and {rdelim} tags
116: - make code compatible to run with E_STRICT error setting
117:
118: 01/08/2009
119: - moved clear_assign and clear_all_assign to internal.templatebase.php
120: - added assign_by_ref, append and append_by_ref methods
121:
122: 01/02/2009
123: - added load_filter method
124: - fished work on filter handling
125: - optimization of plugin loading
126:
127: 12/30/2008
128: - added compiler support of registered object
129: - added backtick support in doubled quoted strings for backward compatibility
130: - some minor bug fixes and improvments
131:
132: 12/23/2008
133: - fixed problem of not working "not" operator in if-expressions
134: - added handling of compiler function plugins
135: - finished work on (un)register_compiler_function method
136: - finished work on (un)register_modifier method
137: - plugin handling from plugins folder changed for modifier plugins
138: deleted - internal.modifier.php
139: - added modifier chaining to parser
140:
141: 12/17/2008
142: - finished (un)register_function method
143: - finished (un)register_block method
144: - added security checking for PHP functions in PHP templates
145: - plugin handling from plugins folder rewritten
146: new - internal.plugin_handler.php
147: deleted - internal.block.php
148: deleted - internal.function.php
149: - removed plugin checking from security handler
150:
151: 12/16/2008
152:
153: - new start of this change_log file
154: