change_log.txt
47.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
===== Smarty 3.0.9 =====
27/07/2011
- bugfix subtemplate could use wrong varibale scope when it was recalled from different templates
26/07/2011
- bugfix experimental getTags() method did not work
15/07/2011
- bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags
12/07/2011
- bugfix PHP did eat line break on nocache sections
19/06/2011
- bugfix clear_config Smarty2 BC wrapper function was missing
16/06/2011
- bugfix do not overwrite 'smarty' template variable when {include ... scope=parent} exits
09/06/2011
- bugfix smarty security_policy issue in plugins {html_image} and {fetch}
07/06/2011
- bugfix registerFilter() or registerPlugin() on template objects did register to the main Smarty object if the register methods had been used on the main Smarty object before.
===== Smarty 3.0.8 =====
29/05/2011
- bugfix <?xml ...> in templates did break "cache modified check"
14/05/2011
- bugfix error handling at stream resources
13/05/2011
- bugfix condition starting with "-" did fail at {if} and {while} tags
22/04/2011
- bugfix allow only fixed string as file attribute at {extends} tag
- workaround for PHP 5.2.13 bug in method_exists()
01/04/2011
- bugfix do not run filters and default modifier when displaying the debug template
- bugfix of embedded double quotes within multi line strings (""")
29/03/2011
- bugfix on error message in smarty_internal_compile_block.php
- bugfix mb handling in strip modifier
- bugfix for Smarty2 style registered compiler function on unnamed attribute passing like {tag $foo $bar}
17/03/2011
- bugfix on default {function} parameters when {function} was used in nocache sections
- bugfix on compiler object destruction. compiler_object property was by mistake unset.
09/03/2011
-bugfix a variable filter should run before modifers on an output tag (see change of 23/07/2010)
08/03/2011
- bugfix loading config file without section should load only defaults
03/03/2011
- bugfix "smarty" template variable was not recreated when cached templated had expired
- bugfix internal rendered_content must be cleared after subtemplate was included
01/03/2011
- bugfix replace modifier did not work in 3.0.7 on systems without multibyte support
- bugfix {$smarty.template} could return in 3.0.7 parent template name instead of
child name when it needed to compile
25/02/2011
- bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
24/02/2011
- bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object
18/02/2011
- bugfix removed possible race condition when isCached() was called for an individually cached subtemplate
- bugfix force default debug.tpl to be loaded by the file resource when default_resource_type was modified
17/02/2011
-improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache()
16/02/2011
-fixed typo in exception message of Smarty_Internal_Template
-improvement allow leading spaces on } tag closing if auto_literal is enabled
13/02/2011
- bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
- removed obsolete {popup_init..} plugin from demo templates
===== Smarty 3.0.7 =====
09/02/2011
- patched vulnerability when using {$smarty.template}
01/02/2011
- removed assert() from config and template parser
31/01/2011
- bugfix the lexer/parser did fail on special characters like VT
16/01/2011
-bugfix of ArrayAccess object handling in internal _count() method
-bugfix of Iterator object handling in internal _count() method
14/01/2011
-bugfix removed memory leak while processing compileAllTemplates
12/01/2011
- bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode
10/01/2011
- bugfix when using {$smarty.block.child} and name of {block} was in double quoted string
- bugfix updateParentVariables() was called twice when leaving {include} processing
- bugfix mb_str_replace in replace and escape modifiers work with utf8
31/12/2010
- bugfix dynamic configuration of $debugging_crtl did not work
- bugfix default value of $config_read_hidden changed to false
- bugfix format of attribute array on compiler plugins
- bugfix getTemplateVars() could return value from wrong scope
28/12/2010
- bugfix multiple {append} tags failed to compile.
22/12/2010
- update do not clone the Smarty object an internal createTemplate() calls to increase performance
21/12/2010
- update html_options to support class and id attrs
17/12/2010
- bugfix added missing support of $cache_attrs for registered plugins
15/12/2010
- bugfix assignment as condition in {while} did drop an E_NOTICE
14/12/2010
- bugfix when passing an array as default parameter at {function} tag
13/12/2010
- bugfix {$smarty.template} in child template did not return right content
- bugfix Smarty3 did not search the PHP include_path for template files
===== Smarty 3.0.6 =====
12/12/2010
- bugfix fixed typo regarding yesterdays change to allow streamWrapper
11/12/2010
- bugfix nested block tags in template inheritance child templates did not work correctly
- bugfix {$smarty.current_dir} in child template did not point to dir of child template
- bugfix changed code when writing temporary compiled files to allow stream_wrapper
06/12/2010
- bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable
05/12/2010
- bugfix missing declaration of $smarty in Smarty class
- bugfix empty($foo) in {if} did drop a notice when $foo was not assigned
01/12/2010
- improvement of {debug} tag output
27/11/2010
-change run output filter before cache file is written. (same as in Smarty2)
24/11/2011
-bugfix on parser at !$foo|modifier
-change parser logic when assignments used as condition in {if] and {while} to allow assign to array element
23/11/2011
-bugfix allow integer as attribute name in plugin calls
-change trimm whitespace from error message, removed long list of expected tokens
22/11/2010
- bugfix on template inheritance when an {extends} tag was inserted by a prefilter
- added error message for illegal variable file attributes at {extends...} tags
===== Smarty 3.0.5 =====
19/11/2010
- bugfix on block plugins with modifiers
18/11/2010
- change on handling of unassigned template variable -- default will drop E_NOTICE
- bugfix on Smarty2 wrapper load_filter() did not work
17/11/2010
- bugfix on {call} with variable function name
- bugfix on {block} if name did contain '-'
- bugfix in function.fetch.php , referece to undefined $smarty
16/11/2010
- bugfix whitespace in front of "<?php" in smarty_internal_compile_private_block_plugin.php
- bugfix {$smarty.now} did compile incorrectly
- bugfix on reset(),end(),next(),prev(),current() within templates
- bugfix on default parameter for {function}
15/11/2010
- bugfix when using {$smarty.session} as object
- bugfix scoping problem on $smarty object passed to filters
- bugfix captured content could not be accessed globally
- bugfix Smarty2 wrapper functions could not be call from within plugins
===== Smarty 3.0.4 =====
14/11/2010
- bugfix isset() did not allow multiple parameter
- improvment of some error messages
- bugfix html_image did use removed property $request_use_auto_globals
- small performace patch in Smarty class
13/11/2010
- bugfix overloading problem when $smarty->fetch()/display() have been used in plugins
(introduced with 3.0.2)
- code cleanup
===== Smarty 3.0.3 =====
13/11/2010
- bugfix on {debug}
- reverted location of loadPlugin() to Smarty class
- fixed comments in plugins
- fixed internal_config (removed unwanted code line)
- improvement remove last linebreak from {function} definition
===== Smarty 3.0.2 =====
12/11/2010
- reactivated $error_reporting property handling
- fixed typo in compile_continue
- fixed security in {fetch} plugin
- changed back plugin parameters to two. second is template object
with transparent access to Smarty object
- fixed {config_load} scoping form compile time to run time
===== Smarty 3.0.0 =====
11/11/2010
- major update including some API changes
10/11/2010
- observe compile_id also for config files
09/11/2010
-bugfix on complex expressions as start value for {for} tag
request_use_auto_globals
04/11/2010
- bugfix do not allow access of dynamic and private object members of assigned objects when
security is enabled.
01/11/2010
- bugfix related to E_NOTICE change. {if empty($foo)} did fail when $foo contained a string
28/10/2010
- bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}}
27/10/2010
- bugfix default parameter values did not work for template functions included with {include}
25/10/2010
- bugfix for E_NOTICE change, array elements did not work as modifier parameter
20/10/2010
- bugfix for the E_NOTICE change
19/10/2010
- change Smarty does no longer mask out E_NOTICE by default during template processing
13/10/2010
- bugfix removed ambiguity between ternary and stream variable in template syntax
- bugfix use caching properties of template instead of smarty object when compiling child {block}
- bugfix {*block}...{/block*} did throw an exception in template inheritance
- bugfix on template inheritance using nested eval or string resource in {extends} tags
- bugfix on output buffer handling in isCached() method
===== RC4 =====
01/10/2010
- added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops
- change of 'string' resource. It's no longer evaluated and compiled files are now stored
- new 'eval' resource which evaluates a template without saving the compiled file
- change in isCached() method to allow multiple calls for the same template
25/09/2010
- bugfix on some compiling modifiers
24/09/2010
- bugfix merge_compiled_includes flag was not restored correctly in {block} tag
22/09/2010
- bugfix on default modifier
18/09/2010
- bugfix untility compileAllConfig() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
- bugfix on templateExists() for extends resource
17/09/2010
- bugfix {$smarty.template} and {$smarty.current_dir} did not compile correctly within {block} tags
- bugfix corrected error message on missing template files in extends resource
- bugfix untility compileAllTemplates() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
16/09/2010
- bugfix when a doublequoted modifier parameter did contain Smarty tags and ':'
15/09/2010
- bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags
- use ucfirst for resource name on internal resource class names
12/09/2010
- bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
10/09/2010
- bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
08/09/2010
- allow multiple template inheritance branches starting in subtemplates
07/09/2010
- bugfix {counter} and {cycle} plugin assigned result to smarty variable not in local(template) scope
- bugfix templates containing just {strip} {/strip} tags did produce an error
23/08/2010
- fixed E_STRICT errors for uninitialized variables
22/08/2010
- added attribute cache_id to {include} tag
13/08/2010
- remove exception_handler property from Smarty class
- added Smarty's own exceptions SmartyException and SmartyCompilerException
09/08/2010
- bugfix on modifier with doublequoted strings as parameter containing embedded tags
06/08/2010
- bugfix when cascading some modifier like |strip|strip_tags modifier
05/08/2010
- added plugin type modifiercompiler to produce compiled modifier code
- changed standard modifier plugins to the compiling versions whenever possible
- bugfix in nocache sections {include} must not cache the subtemplate
02/08/2010
- bugfix strip did not work correctly in conjunction with comment lines
31/07/2010
- bugfix on nocache attribute at {assign} and {append}
30/07/2010
- bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append}
25/07/2010
- another bugfix of change from 23/07/2010 when compiling modifer
24/07/2010
- bugfix of change from 23/07/2010 when compiling modifer
23/07/2010
- changed execution order. A variable filter does now run before modifiers on output of variables
- bugfix use always { and } as delimiter for debug.tpl
22/07/2010
- bugfix in templateExists() methode
20/07/2010
- fixed handling of { strip } tag with whitespaces
15/07/2010
- bufix {$smarty.template} does include now the relative path, not just filename
===== RC3 =====
15/07/2010
- make the date_format modifier work also on objects of the DateTime class
- implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output
08/07/2010
- bugfix on assigning multidimensional arrays within templates
- corrected bugfix for truncate modifier
07/07/2010
- bugfix the truncate modifier needs to check if the string is utf-8 encoded or not
- bugfix support of script files relative to trusted_dir
06/07/2010
- create exception on recursive {extends} calls
- fixed reported line number at "unexpected closing tag " exception
- bugfix on escape:'mail' modifier
- drop exception if 'item' variable is equal 'from' variable in {foreach} tag
01/07/2010
- removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins
25/06/2010
- bugfix escaping " when block tags are used within doublequoted strings
24/06/2010
- replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility
- added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace
22/06/2010
- allow spaces between typecast and value in template syntax
- bugfix get correct count of traversables in {foreach} tag
21/06/2010
- removed use of PHP shortags SMARTY_PHP_PASSTHRU mode
- improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true
20/06/2010
- replace internal get_time() calls with standard PHP5 microtime(true) calls
- closed security hole when php.ini asp_tags = on
18/06/2010
- added __toString method to the Smarty_Variable class
14/06/2010
- make handling of Smarty comments followed by newline BC to Smarty2
===== RC2 =====
13/06/2010
- bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value
- bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit)
11/06/2010
- bugfix the lexer did fail on larger {literal} ... {/literal} sections
03/06/2010
- bugfix on calling template functions like Smarty tags
01/06/2010
- bugfix on template functions used with template inheritance
- removed /* vim: set expandtab: */ comments
- bugfix of auto literal problem introduce with fix of 31/05/2010
31/05/2010
- bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others.
27/05/2010
- bugfix on object chaining using variable properties
- make scope of {counter} and {cycle} tags again global as in Smarty2
26/05/2010
- bugfix removed decrepated register_resource call in smarty_internal_template.php
25/05/2010
- rewrite of template function handling to improve speed
- bugfix on file dependency when merge_compiled_includes = true
16/05/2010
- bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'}
14/05/2010
- bugfix compile new config files if compile_check and force_compile = false
- added variable static classes names to template syntax
11/05/2010
- bugfix make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally
- reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag.
10/05/2010
- bugfix on {foreach} and {for} optimizations of 27/04/2010
09/05/2010
- update of template and config file parser because of minor parser generator bugs
07/05/2010
- bugfix on {insert}
06/05/2010
- bugfix when merging compiled templates and objects are passed as parameter of the {include} tag
05/05/2010
- bugfix on {insert} to cache parameter
- implementation of $smarty->default_modifiers as in Smarty2
- bugfix on getTemplateVars method
01/05/2010
- bugfix on handling of variable method names at object chaning
30/04/2010
- bugfix when comparing timestamps in sysplugins/smarty_internal_config.php
- work around of a substr_compare bug in older PHP5 versions
- bugfix on template inheritance for tag names starting with "block"
- bugfix on {function} tag with name attribute in doublequoted strings
- fix to make calling of template functions unambiguously by madatory usage of the {call} tag
===== RC1 =====
27/04/2010
- change default of $debugging_ctrl to 'NONE'
- optimization of compiled code of {foreach} and {for} loops
- change of compiler for config variables
27/04/2010
- bugfix in $smarty->cache->clear() method. (do not cache template object)
17/04/2010
- security fix in {math} plugin
12/04/2010
- bugfix in smarty_internal_templatecompilerbase (overloaded property)
- removed parser restrictions in using true,false and null as ID
07/04/2010
- bugfix typo in smarty_internal_templatecompilerbase
31/03/2010
- compile locking by touching old compiled files to avoid concurrent compilations
29/03/2010
- bugfix allow array definitions as modifier parameter
- bugfix observe compile_check property when loading config files
- added the template object as third filter parameter
25/03/2010
- change of utility->compileAllTemplates() log messages
- bugfix on nocache code in {function} tags
- new method utility->compileAllConfig() to compile all config files
24/03/2010
- bugfix on register->modifier() error messages
23/03/2010
- bugfix on template inheritance when calling multiple child/parent relations
- bugfix on caching mode SMARTY_CACHING_LIFETIME_SAVED and cache_lifetime = 0
22/03/2010
- bugfix make directory separator operating system independend in compileAllTemplates()
21/03/2010
- removed unused code in compileAllTemplates()
19/03/2010
- bugfix for multiple {/block} tags on same line
17/03/2010
- bugfix make $smarty->cache->clear() function independent from caching status
16/03/2010
- bugfix on assign attribute at registered template objects
- make handling of modifiers on expression BC to Smarty2
15/03/2010
- bugfix on block plugin calls
11/03/2010
- changed parsing of <?php and ?> back to Smarty2 behaviour
08/03/2010
- bugfix on uninitialized properties in smarty_internal_template
- bugfix on $smarty->disableSecurity()
04/03/2010
- bugfix allow uppercase chars in registered resource names
- bugfix on accessing chained objects of static classes
01/03/2010
- bugfix on nocache code in {block} tags if child template was included by {include}
27/02/2010
- allow block tags inside double quoted string
26/02/2010
- cache modified check implemented
- support of access to a class constant from an object (since PHP 5.3)
24/02/2010
- bugfix on expressions in doublequoted string enclosed in backticks
- added security property $static_classes for static class security
18/02/2010
- bugfix on parsing Smarty tags inside <?xml ... ?>
- bugfix on truncate modifier
17/02/2010
- removed restriction that modifiers did require surrounding parenthesis in some cases
- added {$smarty.block.child} special variable for template inheritance
16/02/2010
- bugfix on <?xml ... ?> tags for all php_handling modes
- bugfix on parameter of variablefilter.htmlspecialchars.php plugin
14/02/2010
- added missing _plugins property in smarty.class.php
- bugfix $smarty.const... inside doublequoted strings and backticks was compiled into wrong PHP code
12/02/2010
- bugfix on nested {block} tags
- changed Smarty special variable $smarty.parent to $smarty.block.parent
- added support of nested {bock} tags
10/02/2010
- avoid possible notice on $smarty->cache->clear(...), $smarty->clear_cache(....)
- allow Smarty tags inside <? ... ?> tags in SMARTY_PHP_QUOTE and SMARTY_PHP_PASSTHRU mode
- bugfix at new "for" syntax like {for $x=1 to 10 step 2}
09/02/2010
- added $smarty->_tag_stack for tracing block tag hierarchy
08/02/2010
- bugfix use template fullpath at ยงsmarty->cache->clear(...), $smarty->clear_cache(....)
- bugfix of cache filename on extended templates when force_compile=true
07/02/2010
- bugfix on changes of 05/02/2010
- preserve line endings type form template source
- API changes (see README file)
05/02/2010
- bugfix on modifier and block plugins with same name
02/02/2010
- retaining newlines at registered functions and function plugins
01/25/2010
- bugfix cache resource was not loaded when caching was globally off but enabled at a template object
- added test that $_SERVER['SCRIPT_NAME'] does exist in Smarty.class.php
01/22/2010
- new method $smarty->createData([$parent]) for creating a data object (required for bugfixes below)
- bugfix config_load() method now works also on a data object
- bugfix get_config_vars() method now works also on a data and template objects
- bugfix clear_config() method now works also on a data and template objects
01/19/2010
- bugfix on plugins if same plugin was called from a nocache section first and later from a cached section
###beta 7###
01/17/2010
- bugfix on $smarty.const... in double quoted strings
01/16/2010
- internal change of config file lexer/parser on handling of section names
- bugfix on registered objects (format parameter of register_object was not handled correctly)
01/14/2010
- bugfix on backslash within single quoted strings
- bugfix allow absolute filepath for config files
- bugfix on special Smarty variable $smarty.cookies
- revert handling of newline on no output tags like {if...}
- allow special characters in config file section names for Smarty2 BC
01/13/2010
- bugfix on {if} tags
01/12/2010
- changed back modifer handling in parser. Some restrictions still apply:
if modifiers are used in side {if...} expression or in mathematical expressions
parentheses must be used.
- bugfix the {function..} tag did not accept the name attribute in double quotes
- closed possible security hole at <?php ... ?> tags
- bugfix of config file parser on large config files
###beta 6####
01/11/2010
- added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source
- added missing support of insert plugins
- added optional nocache attribute to {block} tags in parent template
- updated <?php...?> handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen)
01/09/2010
- bugfix on nocache {block} tags in parent templates
01/08/2010
- bugfix on variable filters. filter/nofilter attributes did not work on output statements
01/07/2010
- bugfix on file dependency at template inheritance
- bugfix on nocache code at template inheritance
01/06/2010
- fixed typo in smarty_internal_resource_registered
- bugfix for custom delimiter at extends resource and {extends} tag
01/05/2010
- bugfix sha1() calculations at extends resource and some general improvments on sha1() handling
01/03/2010
- internal change on building cache files
01/02/2010
- update cached_timestamp at the template object after cache file is written to avoid possible side effects
- use internally always SMARTY_CACHING_LIFETIME_* constants
01/01/2010
- bugfix for obtaining plugins which must be included (related to change of 12/30/2009)
- bugfix for {php} tag (trow an exception if allow_php_tag = false)
12/31/2009
- optimization of generated code for doublequoted strings containing variables
- rewrite of {function} tag handling
- can now be declared in an external subtemplate
- can contain nocache sections (nocache_hash handling)
- can be called in noccache sections (nocache_hash handling)
- new {call..} tag to call template functions with a variable name {call name=$foo}
- fixed nocache_hash handling in merged compiled templates
12/30/2009
- bugfix for plugins defined in the script as smarty_function_foo
12/29/2009
- use sha1() for filepath encoding
- updates on nocache_hash handling
- internal change on merging some data
- fixed cache filename for custom resources
12/28/2009
- update for security fixes
- make modifier plugins always trusted
- fixed bug loading modifiers in child template at template inheritance
12/27/2009
--- this is a major update with a couple of internal changes ---
- new config file lexer/parser (thanks to Thue Jnaus Kristensen)
- template lexer/parser fixes for PHP and {literal} handing (thanks to Thue Jnaus Kristensen)
- fix on registered plugins with different type but same name
- rewrite of plugin handling (optimized execution speed)
- closed a security hole regarding PHP code injection into cache files
- fixed bug in clear cache handling
- Renamed a couple of internal classes
- code cleanup for merging compiled templates
- couple of runtime optimizations (still not all done)
- update of getCachedTimestamp()
- fixed bug on modifier plugins at nocache output
12/19/2009
- bugfix on comment lines in config files
12/17/2009
- bugfix of parent/global variable update at included/merged subtemplates
- encode final template filepath into filename of compiled and cached files
- fixed {strip} handling in auto literals
12/16/2009
- update of changelog
- added {include file='foo.tpl' inline} inline option to merge compiled code of subtemplate into the calling template
12/14/2009
- fixed sideefect of last modification (objects in array index did not work anymore)
12/13/2009
- allow boolean negation ("!") as operator on variables outside {if} tag
12/12/2009
- bugfix on single quotes inside {function} tag
- fix short append/prepend attributes in {block} tags
12/11/2009
- bugfix on clear_compiled_tpl (avoid possible warning)
12/10/2009
- bugfix on {function} tags and template inheritance
12/05/2009
- fixed problem when a cached file was fetched several times
- removed unneeded lexer code
12/04/2009
- added max attribute to for loop
- added security mode allow_super_globals
12/03/2009
- template inheritance: child templates can now call functions defined by the {function} tag in the parent template
- added {for $foo = 1 to 5 step 2} syntax
- bugfix for {$foo.$x.$y.$z}
12/01/2009
- fixed parsing of names of special formated tags like if,elseif,while,for,foreach
- removed direct access to constants in templates because of some syntax problems
- removed cache resource plugin for mysql from the distribution
- replaced most hard errors (exceptions) by softerrors(trigger_error) in plugins
- use $template_class property for template class name when compiling {include},{eval} and {extends} tags
11/30/2009
- map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter
- allow {function} tags within {block} tags
11/28/2009
- ignore compile_id at debug template
- added direct access to constants in templates
- some lexer/parser optimizations
11/27/2009
- added cache resource MYSQL plugin
11/26/2009
- bugfix on nested doublequoted strings
- correct line number on unknown tag error message
- changed {include} compiled code
- fix on checking dynamic varibales with error_unassigned = true
11/25/2009
- allow the following writing for boolean: true, TRUE, True, false, FALSE, False
- {strip} tag functionality rewritten
11/24/2009
- bugfix for $smarty->config_overwrite = false
11/23/2009
- suppress warnings on unlink caused by race conditions
- correct line number on unknown tag error message
------- beta 5
11/23/2009
- fixed configfile parser for text starting with a numeric char
- the default_template_handler_func may now return a filepath to a template source
11/20/2009
- bugfix for empty config files
- convert timestamps of registered resources to integer
11/19/2009
- compiled templates are no longer touched with the filemtime of template source
11/18/2009
- allow integer as attribute name in plugin calls
------- beta 4
11/18/2009
- observe umask settings when setting file permissions
- avoide unneeded cache file creation for subtemplates which did occur in some situations
- make $smarty->_current_file available during compilation for Smarty2 BC
11/17/2009
- sanitize compile_id and cache_id (replace illegal chars with _)
- use _dir_perms and _file_perms properties at file creation
- new constant SMARTY_RESOURCE_DATE_FORMAT (default '%b %e, %Y') which is used as default format in modifier date_format
- added {foreach $array as $key=>$value} syntax
- renamed extend tag and resource to extends: {extends file='foo.tol'} , $smarty->display('extends:foo.tpl|bar.tpl);
- bugfix cycle plugin
11/15/2009
- lexer/parser optimizations on quoted strings
11/14/2009
- bugfix on merging compiled templates when source files got removed or renamed.
- bugfix modifiers on registered object tags
- fixed locaion where outputfilters are running
- fixed config file definitions at EOF
- fix on merging compiled templates with nocache sections in nocache includes
- parser could run into a PHP error on wrong file attribute
11/12/2009
- fixed variable filenames in {include_php} and {insert}
- added scope to Smarty variables in the {block} tag compiler
- fix on nocache code in child {block} tags
11/11/2009
- fixed {foreachelse}, {forelse}, {sectionelse} compiled code at nocache variables
- removed checking for reserved variables
- changed debugging handling
11/10/2009
- fixed preg_qoute on delimiters
11/09/2009
- lexer/parser bugfix
- new SMARTY_SPL_AUTOLOAD constant to control the autoloader option
- bugfix for {function} block tags in included templates
11/08/2009
- fixed alphanumeric array index
- bugfix on complex double quoted strings
11/05/2009
- config_load method can now be called on data and template objects
11/04/2009
- added typecasting support for template variables
- bugfix on complex indexed special Smarty variables
11/03/2009
- fixed parser error on objects with special smarty vars
- fixed file dependency for {incude} inside {block} tag
- fixed not compiling on non existing compiled templates when compile_check = false
- renamed function names of autoloaded Smarty methods to Smarty_Method_....
- new security_class property (default is Smarty_Security)
11/02/2009
- added neq,lte,gte,mod as aliases to if conditions
- throw exception on illegal Smarty() constructor calls
10/31/2009
- change of filenames in sysplugins folder for internal spl_autoload function
- lexer/parser changed for increased compilation speed
10/27/2009
- fixed missing quotes in include_php.php
10/27/2009
- fixed typo in method.register_resource
- pass {} through as literal
10/26/2009
- merge only compiled subtemplates into the compiled code of the main template
10/24/2009
- fixed nocache vars at internal block tags
- fixed merging of recursive includes
10/23/2009
- fixed nocache var problem
10/22/2009
- fix trimwhitespace outputfilter parameter
10/21/2009
- added {$foo++}{$foo--} syntax
- buxfix changed PHP "if (..):" to "if (..){" because of possible bad code when concenating PHP tags
- autoload Smarty internal classes
- fixed file dependency for config files
- some code optimizations
- fixed function definitions on some autoloaded methodes
- fixed nocache variable inside if condition of {if} tag
10/20/2009
- check at compile time for variable filter to improve rendering speed if no filter is used
- fixed bug at combination of {elseif} tag and {...} in double quoted strings of static class parameter
10/19/2009
- fixed compiled template merging on variable double quoted strings as name
- fixed bug in caching mode 2 and cache_lifetime -1
- fixed modifier support on block tags
10/17/2009
- remove ?>\n<?php and ?><?php sequences from compiled template
10/15/2009
- buxfix on assigning array elements inside templates
- parser bugfix on array access
10/15/2009
- allow bit operator '&' inside {if} tag
- implementation of ternary operator
10/13/2009
- do not recompile evaluated templates if reused just with other data
- recompile config files when config properties did change
- some lexer/parser otimizations
10/11/2009
- allow {block} tags inside included templates
- bugfix for resource plugins in Smarty2 format
- some optimizations of internal.template.php
10/11/2009
- fixed bug when template with same name is used with different data objects
- fixed bug with double quoted name attribute at {insert} tag
- reenabled assign_by_ref and append_by_ref methodes
10/07/2009
- removed block nesting checks for {capture}
10/05/2009
- added support of "isinstance" to {if} tag
10/03/2009
- internal changes to improve performance
- fix registering of filters for classes
10/01/2009
- removed default timezone setting
- reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable
- {PHP} tag can be enabled by allow_php_tag = true
09/30/2009
- fixed handling template_exits methode for all resource types
- bugfix for other cache resources than file
- the methodes assign_by_ref is now wrapped to assign, append_by_ref to append
- allow arrays of variables pass in display, fetch and createTemplate calls
$data = array('foo'=>'bar','foo2'=>'blar');
$smarty->display('my.tpl',$data);
09/29/2009
- changed {php} tag handling
- removed support of Smarty::instance()
- removed support of PHP resource type
- improved execution speed of {foreach} tags
- fixed bug in {section} tag
09/23/2009
- improvements and bugfix on {include} tag handling
NOTICE: existing compiled template and cache files must be deleted
09/19/2009
- replace internal "eval()" calls by "include" during rendering process
- speed improvment for templates which have included subtemplates
the compiled code of included templates is merged into the compiled code of the parent template
- added logical operator "xor" for {if} tag
- changed parameter ordering for Smarty2 BC
fetch($template, $cache_id = null, $compile_id = null, $parent = null)
display($template, $cache_id = null, $compile_id = null, $parent = null)
createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
- property resource_char_set is now replaced by constant SMARTY_RESOURCE_CHAR_SET
- fixed handling of classes in registered blocks
- speed improvement of lexer on text sections
09/01/2009
- dropped nl2br as plugin
- added '<>' as comparission operator in {if} tags
- cached caching_lifetime property to cache_liftime for backward compatibility with Smarty2.
{include} optional attribute is also now cache_lifetime
- fixed trigger_error methode (moved into Smarty class)
- version is now Beta!!!
08/30/2009
- some speed optimizations on loading internal plugins
08/29/2009
- implemented caching of registered Resources
- new property 'auto_literal'. if true(default) '{ ' and ' }' interpreted as literal, not as Smarty delimiter
08/28/2009
- Fix on line breaks inside {if} tags
08/26/2009
- implemented registered resources as in Smarty2. NOTE: caching does not work yet
- new property 'force_cache'. if true it forces the creation of a new cache file
- fixed modifiers on arrays
- some speed optimization on loading internal classes
08/24/2009
- fixed typo in lexer definition for '!==' operator
- bugfix - the ouput of plugins was not cached
- added global variable SCRIPT_NAME
08/21/2009
- fixed problems whitespace in conjuction with custom delimiters
- Smarty tags can now be used as value anywhere
08/18/2009
- definition of template class name moded in internal.templatebase.php
- whitespace parser changes
08/12/2009
- fixed parser problems
08/11/2009
- fixed parser problems with custom delimiter
08/10/2009
- update of mb support in plugins
08/09/2009
- fixed problems with doublequoted strings at name attribute of {block} tag
- bugfix at scope attribute of {append} tag
08/08/2009
- removed all internal calls of Smarty::instance()
- fixed code in double quoted strings
08/05/2009
- bugfix mb_string support
- bugfix of \n.\t etc in double quoted strings
07/29/2009
- added syntax for variable config vars like #$foo#
07/28/2009
- fixed parsing of $smarty.session vars containing objects
07/22/2009
- fix of "$" handling in double quoted strings
07/21/2009
- fix that {$smarty.current_dir} return correct value within {block} tags.
07/20/2009
- drop error message on unmatched {block} {/block} pairs
07/01/2009
- fixed smarty_function_html_options call in plugin function.html_select_date.php (missing ,)
06/24/2009
- fixed smarty_function_html_options call in plugin function.html_select_date.php
06/22/2009
- fix on \n and spaces inside smarty tags
- removed request_use_auto_globals propert as it is no longer needed because Smarty 3 will always run under PHP 5
06/18/2009
- fixed compilation of block plugins when caching enabled
- added $smarty.current_dir which returns the current working directory
06/14/2009
- fixed array access on super globals
- allow smarty tags within xml tags
06/13/2009
- bugfix at extend resource: create unique files for compiled template and cache for each combination of template files
- update extend resource to handle appen and prepend block attributes
- instantiate classes of plugins instead of calling them static
06/03/2009
- fixed repeat at block plugins
05/25/2009
- fixed problem with caching of compiler plugins
05/14/2009
- fixed directory separator handling
05/09/2009
- syntax change for stream variables
- fixed bug when using absolute template filepath and caching
05/08/2009
- fixed bug of {nocache} tag in included templates
05/06/2009
- allow that plugins_dir folder names can end without directory separator
05/05/2009
- fixed E_STRICT incompabilities
- {function} tag bug fix
- security policy definitions have been moved from plugins folder to file Security.class.php in libs folder
- added allow_super_global configuration to security
04/30/2009
- functions defined with the {function} tag now always have global scope
04/29/2009
- fixed problem with directory setter methodes
- allow that cache_dir can end without directory separator
04/28/2009
- the {function} tag can no longer overwrite standard smarty tags
- inherit functions defined by the {fuction} tag into subtemplates
- added {while <statement>} sytax to while tag
04/26/2009
- added trusted stream checking to security
- internal changes at file dependency check for caching
04/24/2009
- changed name of {template} tag to {function}
- added new {template} tag
04/23/2009
- fixed access of special smarty variables from included template
04/22/2009
- unified template stream syntax with standard Smarty resource syntax $smarty->display('mystream:mytemplate')
04/21/2009
- change of new style syntax for forach. Now: {foreach $array as $var} like in PHP
04/20/2009
- fixed "$foo.bar ..." variable replacement in double quoted strings
- fixed error in {include} tag with variable file attribute
04/18/2009
- added stream resources ($smarty->display('mystream://mytemplate'))
- added stream variables {$mystream:myvar}
04/14/2009
- fixed compile_id handling on {include} tags
- fixed append/prepend attributes in {block} tag
- added {if 'expression' is in 'array'} syntax
- use crc32 as hash for compiled config files.
04/13/2009
- fixed scope problem with parent variables when appending variables within templates.
- fixed code for {block} without childs (possible sources for notice errors removed)
04/12/2009
- added append and prepend attribute to {block} tag
04/11/2009
- fixed variables in 'file' attribute of {extend} tag
- fixed problems in modifiers (if mb string functions not present)
04/10/2009
- check if mb string functions available otherwise fallback to normal string functions
- added global variable scope SMARTY_GLOBAL_SCOPE
- enable 'variable' filter by default
- fixed {$smarty.block.parent.foo}
- implementation of a 'variable' filter as replacement for default modifier
04/09/2009
- fixed execution of filters defined by classes
- compile the always the content of {block} tags to make shure that the filters are running over it
- syntax corrections on variable object property
- syntax corrections on array access in dot syntax
04/08/2009
- allow variable object property
04/07/2009
- changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants
- Smarty variable global attribute replaced with scope attribute
04/06/2009
- variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE
- more getter/setter methodes
04/05/2009
- replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion
- added append array for short form of assign {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'}
04/04/2009
- make output of template default handlers cachable and save compiled source
- some fixes on yesterdays update
04/03/2006
- added registerDefaultTemplateHandler methode and functionallity
- added registerDefaultPluginHandler methode and functionallity
- added {append} tag to extend Smarty array variabled
04/02/2009
- added setter/getter methodes
- added $foo@first and $foo@last properties at {for} tag
- added $set_timezone (true/false) property to setup optionally the default time zone
03/31/2009
- bugfix smarty.class and internal.security_handler
- added compile_check configuration
- added setter/getter methodes
03/30/2009
- added all major setter/getter methodes
03/28/2009
- {block} tags can be nested now
- md5 hash function replace with crc32 for speed optimization
- file order for exted resource inverted
- clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer
03/27/2009
- added extend resource
03/26/2009
- fixed parser not to create error on `word` in double quoted strings
- allow PHP array(...)
- implemented $smarty.block.name.parent to access parent block content
- fixed smarty.class
03/23/2009
- fixed {foreachelse} and {forelse} tags
03/22/2009
- fixed possible sources for notice errors
- rearrange SVN into distribution and development folders
03/21/2009
- fixed exceptions in function plugins
- fixed notice error in Smarty.class.php
- allow chained objects to span multiple lines
- fixed error in modifers
03/20/2009
- moved /plugins folder into /libs folder
- added noprint modifier
- autoappend a directory separator if the xxxxx_dir definition have no trailing one
03/19/2009
- allow array definition as modifer paramter
- changed modifier to use multi byte string funktions.
03/17/2009
- bugfix
03/15/2009
- added {include_php} tag for BC
- removed @ error suppression
- bugfix fetch did always repeat output of first call when calling same template several times
- PHPunit tests extended
03/13/2009
- changed block syntax to be Smarty like {block:titel} -> {block name=titel}
- compiling of {block} and {extend} tags rewriten for better performance
- added special Smarty variable block ($smarty.block.foo} returns the parent definition of block foo
- optimization of {block} tag compiled code.
- fixed problem with escaped double quotes in double quoted strings
03/12/2009
- added support of template inheritance by {extend } and {block } tags.
- bugfix comments within literals
- added scope attribuie to {include} tag
03/10/2009
- couple of bugfixes and improvements
- PHPunit tests extended
03/09/2009
- added support for global template vars. {assign_global...} $smarty->assign_global(...)
- added direct_access_security
- PHPunit tests extended
- added missing {if} tag conditions like "is div by" etc.
03/08/2009
- splitted up the Compiler class to make it easier to use a coustom compiler
- made default plugins_dir relative to Smarty root and not current working directory
- some changes to make the lexer parser better configurable
- implemented {section} tag for Smarty2 BC
03/07/2009
- fixed problem with comment tags
- fixed problem with #xxxx in double quoted string
- new {while} tag implemented
- made lexer and paser class configurable as $smarty property
- Smarty method get_template_vars implemented
- Smarty method get_registered_object implemented
- Smarty method trigger_error implemented
- PHPunit tests extended
03/06/2009
- final changes on config variable handling
- parser change - unquoted strings will by be converted into single quoted strings
- PHPunit tests extended
- some code cleanup
- fixed problem on catenate strings with expression
- update of count_words modifier
- bugfix on comment tags
03/05/2009
- bugfix on <?xml...> tag with caching enabled
- changes on exception handling (by Monte)
03/04/2009
- added support for config variables
- bugfix on <?xml...> tag
03/02/2009
- fixed unqouted strings within modifier parameter
- bugfix parsing of mofifier parameter
03/01/2009
- modifier chaining works now as in Smarty2
02/28/2009
- changed handling of unqouted strings
02/26/2009
- bugfix
- changed $smarty.capture.foo to be global for Smarty2 BC.
02/24/2009
- bugfix {php} {/php} tags for backward compatibility
- bugfix for expressions on arrays
- fixed usage of "null" value
- added $smarty.foreach.foo.first and $smarty.foreach.foo.last
02/06/2009
- bugfix for request variables without index for example $smarty.get
- experimental solution for variable functions in static class
02/05/2009
- update of popup plugin
- added config variables to template parser (load config functions still missing)
- parser bugfix for empty quoted strings
02/03/2009
- allow array of objects as static class variabales.
- use htmlentities at source output at template errors.
02/02/2009
- changed search order on modifiers to look at plugins folder first
- parser bug fix for modifier on array elements $foo.bar|modifier
- parser bug fix on single quoted srings
- internal: splitted up compiler plugin files
02/01/2009
- allow method chaining on static classes
- special Smarty variables $smarty.... implemented
- added {PHP} {/PHP} tags for backward compatibility
01/31/2009
- added {math} plugin for Smarty2 BC
- added template_exists method
- changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards
01/30/2009
- bugfix in single quoted strings
- changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers
01/29/2009
- syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax
- allow {for $foo in [1,2,3]} syntax
- bugfix in double quoted strings
- allow <?xml...?> tags in template even if short_tags are enabled
01/28/2009
- fixed '!==' if condition.
01/28/2009
- added support of {strip} {/strip} tag.
01/27/2009
- bug fix on backticks in double quoted strings at objects
01/25/2009
- Smarty2 modfiers added to SVN
01/25/2009
- bugfix allow arrays at object properties in Smarty syntax
- the template object is now passed as additional parameter at plugin calls
- clear_compiled_tpl methode completed
01/20/2009
- access to class constants implemented ( class::CONSTANT )
- access to static class variables implemented ( class::$variable )
- call of static class methodes implemented ( class::methode() )
01/16/2009
- reallow leading _ in variable names {$_var}
- allow array of objects {$array.index->methode()} syntax
- finished work on clear_cache and clear_cache_all methodes
01/11/2009
- added support of {literal} tag
- added support of {ldelim} and {rdelim} tags
- make code compatible to run with E_STRICT error setting
01/08/2009
- moved clear_assign and clear_all_assign to internal.templatebase.php
- added assign_by_ref, append and append_by_ref methodes
01/02/2009
- added load_filter methode
- fished work on filter handling
- optimization of plugin loading
12/30/2008
- added compiler support of registered object
- added backtick support in doubled quoted strings for backward compatibility
- some minor bug fixes and improvments
12/23/2008
- fixed problem of not working "not" operator in if-expressions
- added handling of compiler function plugins
- finished work on (un)register_compiler_function methode
- finished work on (un)register_modifier methode
- plugin handling from plugins folder changed for modifier plugins
deleted - internal.modifier.php
- added modifier chaining to parser
12/17/2008
- finished (un)register_function methode
- finished (un)register_block methode
- added security checking for PHP functions in PHP templates
- plugin handling from plugins folder rewritten
new - internal.plugin_handler.php
deleted - internal.block.php
deleted - internal.function.php
- removed plugin checking from security handler
12/16/2008
- new start of this change_log file