[ Index ]
 

Code source de Serendipity 1.2

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/bundled-libs/Smarty/ -> RELEASE_NOTES (source)

   1  2.6.7
   2  -----
   3  
   4  Those using Smarty with security enabled: a hole was found that allowed PHP code to be executed from within a template file. This has been fixed and you are engouraged to upgrade immediately. Note that this hole does NOT affect the security of your web server or PHP applications, only the ability for someone editing a template to execute PHP code. Other changes in this release can be found in the NEWS file.
   5  
   6  2.5.0
   7  -----
   8  
   9  Very minor adjustments since RC2, see the NEWS file for details.
  10  
  11  2.5.0-RC2
  12  ---------
  13  
  14  Many fixes since the RC1 release. This one is as close to production quality as
  15  they come, so this will be the last release before 2.5.0. The SGML documentation
  16  files have also been removed from the tarball. If you want them, get them from
  17  the CVS repository.
  18  
  19  2.5.0-RC1
  20  ---------
  21  
  22  Release Candidate 1. All $smarty vars can now be dynamic, such as
  23  $smarty.get.$foo. A new class function get_function_object() gets you a
  24  reference to an assigned object, useful within your own custom functions.
  25  append() can now merge as well as append with a third optional attribute. A new
  26  class function get_config_vars() was added, and get_template_vars() can now be
  27  used to get individual vars. Full variable syntax is now supported within
  28  double quotes via a backtick (`) syntax. Files created by smarty are now
  29  written to a tmp file then renamed to avoid file lock retention. html_radios,
  30  html_checkboxes, html_table, html_image, nl2br functions added, see the NEWS
  31  file for full details.
  32  
  33  2.4.2
  34  -----
  35  Another point release. Added support for dynamic object reference syntax
  36  ($foo->$bar), support for full variable syntax within quotes ("$foo[0].bar"),
  37  and other minor fixes. See the NEWS file for full details.
  38  
  39  2.4.1
  40  -----
  41  
  42  This is basically a point release, cleaning up a few things caught
  43  in the 2.4.0 release. See the NEWS file for full details.
  44  
  45  2.4.0
  46  -----
  47  
  48  Smarty now supports the ability to access objects within the templates. Two
  49  methods are available, one which closely follows Smartys conventions, and
  50  another that follows more traditional object syntax for those familiar with
  51  PHP.
  52  
  53  The internal compiling engine has also undergone some major work. The regex
  54  parsing was rewritten to be much more strict, more secure and more
  55  maintainable. Config files are now compiled, which can speed up pages quite a
  56  bit that use config files extensively. Assigned variables are no longer
  57  extracted to PHP namespace, saving an extract call for every template. There is
  58  now support for applying modifiers to static values and functions. You can now
  59  access constants with $smarty.const.VAR.  See the NEWS file for complete
  60  changes.
  61   
  62  2.3.1
  63  -----
  64  
  65  The mtime on compiled files will now match the source files, in the case where
  66  the source file may not get the current timestamp, recompiling will still work
  67  as expected. Proper support for open_basedir has been added, so Smarty should
  68  work correctly in safe mode. Added a few new features such as textformat block
  69  function, strip variable modifier and optgroup support for html_options. Also
  70  other minor bug fixes, see the Change Log.
  71  
  72  2.3.0
  73  -----
  74  
  75  Smarty now has a {debug} template function that brings up the debugging console
  76  right where {debug} is called, regardless of $debugging settings. This works a
  77  little different than turning on $debugging in the sense that it shows all the
  78  template variables available at the time {debug} is called, including local
  79  scope vars. It does not show the templates names however, since this
  80  executed during runtime of the template.
  81  
  82  You can now supply an expire time when clearing cache or compile files. This is
  83  mostly useful for removing stale files via the API.
  84  
  85  Plugins now stop execution upon error, instead of outputting a warning and
  86  continuing.
  87  
  88  Two new API functions, assign_by_ref() and append_by_ref() were added. They
  89  allow assigning template variables by reference. This can make a significant
  90  performance gain, especially if you are assigning large arrays of data. PHP 5.0
  91  will do this implicitly, so these functions are basically workarounds.
  92  
  93  Several misc bug fixes, see the Change Log for information.
  94  
  95  
  96  2.2.0
  97  -----
  98  
  99  Smarty now allows an array of paths for the $plugin_dir class variable. The
 100  directories will be searched in the order they are given, so for efficiency keep
 101  the most-used plugins at the top. Also, absolute paths to the plugin directories are
 102  more efficient than relying on the PHP include_path.
 103  
 104  Cache files can now be grouped with the cache_id. See the documentation under
 105  the new "Caching" section for details. compile_id also respects the same
 106  grouping syntax. The cache/compile file structure changed, so be sure to clear
 107  out all your cache and compile files when upgrading Smarty. Also if you are
 108  using PHP-accelerator, restart apache. I've seen some quirky things happen if
 109  the phpa files do not get cleared (known issue with phpa and parent
 110  class-member changes, so just clear 'em.)
 111  
 112  Smarty now correctly respects the PHP include_path for $template_dir, $compile_dir,
 113  $cache_dir, $config_dir and $plugin_dir. Be aware that relying on the
 114  include_path is an overhead, try to use absolute pathnames when possible
 115  (or relative to working directory.)
 116  
 117  Documentation has been updated and rearranged a bit. Most notably, the
 118  installation instructions are completely revamped, and a new Caching section
 119  explains Smarty's caching in detail along with the new grouping functionality.
 120  
 121  Many misc. bug fixes and enhancements, see the full ChangeLog (NEWS file) for
 122  details.
 123  
 124  2.1.1
 125  -----
 126  
 127  There was a bug with template paths and the include_path, this has been fixed.
 128  Also register_outputfilter() did not work, this is fixed. A new template
 129  function named "cycle" has been added to the distribution, nice for cycling
 130  through a list (or array) of values.
 131  
 132  2.1.0
 133  -----
 134  
 135  This release has quite a few new features and fixes. Most notable are the
 136  introduction of block functions, so you can write plugins that work on a block
 137  of text with {func}{/func} notation. Also output filters were added, so you can
 138  apply a function against the output of your templates. This differs from the 
 139  postfilter function, which works on the compiled template at compile time, and
 140  output filters work on the template output at runtime.
 141  
 142  Many other features and bug fixes are noted in the NEWS file.
 143  
 144  
 145  2.0.1
 146  -----
 147  
 148  This is a point release, fixing a few bugs and cleaning things up. A plugin
 149  was renamed, the dash "-" was removed from compiled template and cached file
 150  names. If you're upgrading, you might want to clear them out first.  See the
 151  ChangeLog for details.
 152  
 153  2.0.0
 154  -----
 155  
 156  This release is a huge milestone for Smarty. Most notable new things are a
 157  plugin architecture, removal of PEAR dependency, and optimizations that
 158  drastically improve the performance of Smarty in most cases.
 159  
 160  The plugin architecture allows modifiers, custom functions, compiler functions,
 161  prefilters, postfilters, resources, and insert functions to be added by
 162  simply dropping a file into the plugins directory. Once dropped in, they are
 163  automatically registered by the template engine. This makes user-contributed
 164  plugins easy to manage, as well as the internal workings of Smarty easy to
 165  control and customize. This new architecture depends on the __FILE__ constant,
 166  which contains the full path to the executing script. Some older versions of
 167  PHP incorrectly gave the script name and not the full filesystem path. Be sure
 168  your version of PHP populates __FILE__ correctly. If you use custom template
 169  resource functions, the format of these changed with the plugin architecture.
 170  Be sure to update your functions accordingly. See the template resource section
 171  of the documentation.
 172  
 173  The PEAR dependancy was removed from Smarty. The Config_File class that comes
 174  with Smarty was actually what needed PEAR for error handling which Smarty didn't
 175  use, but now everything is self-contained.
 176  
 177  Performance improvements are graphed on the benchmark page, you will see that
 178  overall performance has been sped up by as much as 80% in some cases.
 179  
 180  Smarty-cached pages now support If-Modified-Since headers, meaning that if a
 181  cached template page has not changed since the last request, a "304 Not
 182  Modified" header will be sent instead of resending the same page. This is
 183  disabled by default, change the setting of $cache_modified_check.
 184  
 185  
 186  1.5.2
 187  -----
 188  
 189  Mostly bug fixes, added a default template resource handler.
 190  
 191  
 192  1.5.1
 193  -----
 194  
 195  Critical bug fix release. If you use caching, you'll need to upgrade.
 196  
 197  
 198  1.5.0
 199  -----
 200  
 201  Several feature enhancements were made to this version, most notably the
 202  {foreach ...} command which is an alternative to {section ...} with an easier
 203  syntax for looping through a single array of values. Several functions were
 204  enhanced so that the output can be automatically assigned to a template
 205  variable instead of displayed (assign attribute). Cache files can now be
 206  controlled with a custom function as an alternative to the built-in file based
 207  method. Many code cleanups and bug fixed went into this release as well.
 208  
 209  
 210  1.4.6
 211  -----
 212  
 213  The behavior with caching and compile_check has been slightly enhanced. If
 214  caching is enabled AND compile_check is enabled, the cache will immediately get
 215  regenerated if _any_ involved template or config file is updated. This imposes
 216  a slight performance hit because it must check all the files for changes, so be
 217  sure to run live sites with caching enabled and compile_check disabled for best
 218  performance. If you update a template or config file, simply turn on
 219  compile_check, load the page, then turn it back off. This will update the cache
 220  file with the new content. This is accomplished by maintaining a list of
 221  included/loaded templates and config files at the beginning of the cache file.
 222  Therefore it is advisable to remove all cache files after upgrading to 1.4.6
 223  (although not absolutely necessary, old cache files will regenerate)
 224  
 225  The debug console now has script timing and array values printed. You MUST
 226  update your debug.tpl file with this version of Smarty. Also, the new debug.tpl
 227  will not work with older versions of Smarty.
 228  
 229  
 230  1.4.5
 231  -----
 232  
 233  Mostly bug fixes and minor improvements. Added compile id for separate compiled
 234  versions of the same script. The directory format and filename convention for
 235  the files in templates_c has changed, so you may want to remove all of the
 236  existing ones before you upgrade.
 237  
 238  
 239  1.4.4
 240  -----
 241  
 242  A few bug fixes, new section looping attributes and properties, debugging
 243  console function for control via URL, and overLib integration and access
 244  to request variables from within the template.
 245  
 246  
 247  1.4.3
 248  -----
 249  
 250  This release has a few bug fixes and several enhancements. Smarty now supports
 251  template security for third-party template editing. These features disallow the
 252  ability for someone to execute commands or PHP code from the template language.
 253  Smarty also now has a built-in debugging console, which is a javascript pop-up
 254  window that displays all the included template names and assigned variables.
 255  
 256  
 257  1.4.2
 258  -----
 259  
 260  This was mostly one bug fix with variable scoping within included templates
 261  and a few documentation changes and updates. See the ChangeLog file for full
 262  details.
 263  
 264  
 265  1.4.1
 266  -----
 267  
 268  It seems that the EX_LOCK logic from the previous release didn't fix all the
 269  problems with windows platforms. Hopefully this one does. It basically
 270  disables file locking on windows, so there is a potential that two programs
 271  could write over the same file at the same time, fyi.
 272  
 273  The reset is minor bug fixes, please refer to the ChangeLog file.
 274  
 275  
 276  1.4.0
 277  -----
 278  
 279  IMPORTANT NOTICE
 280  
 281  Smarty now has a new syntax for accessing elements within section loops. The
 282  new syntax is easier to use and nicely handles data structures of any
 283  complexity. Consequently, this breaks the old syntax.
 284  
 285  Here is an example of the syntax change:
 286  
 287  old syntax:
 288  {$sec1/sec2/sec3/customer.phone}
 289  
 290  new syntax:
 291  {$customer[$sec1][$sec2][$sec3].phone}
 292  
 293  The section names used to come first, followed by the variable name. Now the
 294  variable name always comes first, followed by the section names in brackets.
 295  You can access variable indexes anywhere, depending on how you passed the
 296  variables in.
 297  
 298  To fix your current templates, we have provided a script that will adjust the
 299  syntax for you. Located in misc/fix_vars.php, run this script from the the
 300  command line, giving each template as an argument. Be sure to use absolute
 301  pathnames, or pathnames relative to the executing script. Probably the easiest
 302  way to do this is to copy the fix_vars.php script into your template directory
 303  and run 'php -q fix_vars.php *.tpl' Be sure you have proper write permission,
 304  and backup your scripts first to be safe! The examples in the 1.4.0
 305  documentation have been updated to reflect the changes.
 306  
 307  cd /path/to/templates
 308  cp /path/to/fix_vars.php .
 309  find . -name "*.tpl" -exec php -q ./fix_vars.php {} \;
 310  
 311  NEW AND IMPROVED COMPILATION PROCESS
 312  
 313  Smarty 1.4.0 also has a new compilation process. Instead of compiling all the
 314  templates up front, it now compiles them at runtime. This has several
 315  advantages. First of all, there is no longer a need to have a single template
 316  directory. You can now have arbitrary template sources, such as multiple
 317  directories or even database calls. This also speeds the performance of Smarty
 318  when $compile_check is enabled, since it is only checking the template that is
 319  being executed instead of everything found in the template directory. The
 320  $tpl_file_ext is no longer needed, but kept for backward compatability.
 321  Templates can now be named anything you like with any extension.
 322  
 323  MINOR FIXES
 324  
 325  A workaround for LOCK_EX on Windows systems was added, and changed a couple of
 326  file permissions for better security on public servers.
 327  
 328  $show_info_header is now defaulted to false instead of true. This header causes
 329  problems when displaying content other than HTML, so now you must explicitly
 330  set this flag to true to show the header information (or change the default in
 331  your copy of Smarty.)
 332  
 333  Documentation is written in docbook format. I updated the docbook -> HTML
 334  generating software & style-sheets, and consequently the examples are no longer
 335  in a different background color. If anyone wants to contribute a better
 336  stylesheet or help with documentation, drop me a line. <monte at ohrt dot com>
 337  
 338  CHANGES/ENHANCEMENTS/UPDATES
 339  
 340  date_format, html_select_date and html_select_time used to require a unix
 341  timestamp as the format of the date passed into the template. Smarty is now a
 342  bit smarter at this. It will take a unix timestamp, a mysql timestamp, or any
 343  date string that is parsable by strtotime, such as 10/01/2001 or 2001-10-01,
 344  etc. Just give some formats a try and see what works.
 345  
 346  Smarty now has template prefilters, meaning that you can run your templates
 347  through custom functions before they are compiled. This is good for things like
 348  removing unwanted comments, keeping an eye on words or functionality people are
 349  putting in templates, translating XML -> HTML, etc. See the register_prefilter
 350  documentation for more info.
 351  
 352  Another addition are the so-called compiler functions. These are custom
 353  functions registered by the user that are executed at compilation time of the
 354  template. They can be used to inject PHP code or time-sensitive static content
 355  into the compiled template.
 356  
 357  The run-time custom functions are now passed the Smarty object as the second
 358  parameter. This can be used, for example, to assign or clear template variables
 359  from inside the custom function.
 360  
 361  clear_compile_dir() was added for clearing out compiled versions of your
 362  templates. Not something normally needed, but you may have a need for this if
 363  you have $compile_check set to false and you periodically update templates via
 364  some automated process. As of 1.4.0, uncompiled templates _always_ get
 365  compiled regardless of $compile_check setting, although they won't be checked
 366  for recompile if $compile_check is set to false.
 367  
 368  You can now refer to properties of objects assigned from PHP by using the '->'
 369  symbol and specifying the property name after it, e.g. $foo->bar.
 370  
 371  {php}{/php} tags were added to embed php into the templates. Not normally
 372  needed, but some circumstances may call for it. Check out the "componentized
 373  templates" tip in the documentation for an example.
 374  
 375  {capture}{/capture} and {counter} functions were added. See the documentation
 376  for a complete description and examples.
 377  
 378  UPGRADE NOTES
 379  
 380  The format of the files created in the $compile_dir are now a bit different.
 381  The compiled template filename is the template resource name url-encoded.
 382  Therefore, all compiled files are now in the top directory of $compile_dir.
 383  This was done to make way for arbitrary template resources. Each compiled
 384  template also has a header that states what template resource was used to
 385  create it. From a unix command prompt, you can use "head -2 *" to see the first
 386  two lines of each file.
 387  
 388  When upgrading to 1.4.0, you will want to clear out all your old files in the
 389  $compile_dir. If you have $compile_check set to false and the compiled template
 390  does not yet exist, it will compile it regardless of this setting. This way you
 391  can clear out the $compile_dir and not worry about setting $compile_check to
 392  true to get the inital compilation under way.
 393  
 394  
 395  1.3.2
 396  -----
 397  
 398  Smarty now has (an optional) header prepended to the output of the Smarty
 399  templates. This displays the Smarty version and the date/time when the page was
 400  generated. This is useful for debugging your cache routines, and purely
 401  informational so there is evidence that the page was generated by Smarty. Set
 402  $show_info_header to false to disable it.
 403  
 404  {config_load ...} performance was tuned by placing the loaded variables into a
 405  global array, so basically a config file is read from the file system and
 406  placed into a php array structure only once, no matter how many times it is
 407  called in any of the templates. The scope of the loaded variables has changed a
 408  bit as well. Variables loaded by config_load used to be treated as global
 409  variables, meaning that parent templates (templates that included the current
 410  template) could see them. Now the default behavior is such that loaded
 411  variables are only visible by the current template and child templates (all
 412  templates included after the {config_load ...} is called.) To mimic the
 413  original behavior, provide the attribute "global=yes" like so: {config_load
 414  file="mystuff.conf" global=yes}. Now when you load in mystuff.conf, the
 415  variables will be visible to parent templates (merged with any existing config
 416  variables.)
 417  
 418  A formatting attribute was added to the {math ...} function, adding the ability
 419  to control the format of the output. Use the same formatting syntax as the PHP
 420  function sprintf().
 421  
 422  {html_select_time ...} was added, a custom function that works much like
 423  {html_select_date ...} except it displays time elements instead of dates.
 424  
 425  A few custom modifiers were added: count_characters, count_words,
 426  count_sentences, count_paragraphs. All pretty self-explanatory.
 427  
 428  /* vim: set et: */


Généré le : Sat Nov 24 09:00:37 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics