Files
smarty/NEWS

586 lines
26 KiB
Plaintext
Raw Blame History

- html_options passthru all unknown paramters now
- fix link functionality of html_image, also make
output XHTML compatible (Hinrich Donner, Monte)
- append "@" to default modifier vars/args
supress possible warnings (Monte)
- fix problem with escaped double quotes (Monte)
- fix html_radios to not return an array (Monte)
- fixed length in modifier.truncate.php (messju)
- fixed handling of '$'-signs in trimwhitespace outputfilter (messju)
- fix bug that makes config files recompile every time
(Nagger, Monte)
- add dpi functionality to html_image, change "name"
parameter to "file" (Thomas Shulz, Monte)
- fix height/width parameter index in html_image (Gerard,
Monte)
- get rid of unsetting name and script attributes
to insert tag (Thomas Schulz, Monte)
- changed argument order of string_format modifier back,
was right in the first place (Monte)
Version 2.5.0-RC1 (March 5, 2003)
---------------------------------
- fixed notice in popup function (Nagger, Monte)
- fix "once" var compiling for include_php (Monte)
- added nl2br modifier to distribution (Monte)
- added html_image to distribution (Monte)
- added cat modifier to distribution (Monte)
- added html_table to distribution (Monte)
- added << >> <> support to if statments (SMK, Monte)
- fix _assign_smarty_interface to not overwrite keys
other than 'request' (Jerome Poudevigne, Monte)
- added html_checkboxes to distribution (Christopher Kvarme, Monte)
- added html_radios to distribution (Christopher Kvarme, Monte)
- fixed string_format modifier args (wrong order) (Paul
Lockaby, Monte)
- use tmp file for file writes, avoid file lock race (Monte)
- support syntax "$`smarty.config.foo`.tpl" for embedded
vars in quotes, and allow full dollar var syntax (Monte)
- add $smarty.config.varname variable for accessing config vars (Paul
Lockaby, Monte)
- silence PHP warnings in function.fetch.php (Eduardo,
Monte)
- added get_config_vars(), same basic functionality as
get_template_vars() (Monte)
- update get_template_vars() to be able to get
individual vars (Monte)
- fix minor logic in _fetch_template_info (Dennis Gearon,
Monte)
- fix cache groups with compile_id set (Monte)
- add support for merging appended vars (messju, Monte)
- allow null as function attribute value
(Andr<64> Rabold, Monte)
- support $foo->bar[index] syntax (Monte)
- add get_registered_object function (messju, Monte)
- treat unrecognized param attribute syntax as string (Monte)
- support $smarty.const.$foo syntax (messju, Monte)
- remove E_NOTICE warnings from debug.tpl,
escape modifier (Kanstantin, Monte)
- don't count non-ascii chars in count_words modifier
(Kanstantin, Monte)
- clean up param calls to _parse_var and _parse_attrs (Monte)
- define $template_source var, elude possible warning
(Monte)
- fix syntax problem with evaluating PHP constants (Monte)
- add @ and === as valid if statement tokens (Monte)
- enable error messages for config_load errors,
use $this->config_class for loading class name (Monte)
- fix html_options to not escape already escaped entities (Monte)
- send Last-Modified header on cache creation (Monte)
- check strict syntax of function attributes (Monte)
- dropped support for modifers on object parameters,
added support for objects as modifier parameters (Monte)
- fixed bug with decimal numbers in if statements (Monte)
Version 2.4.2 (Feb 11, 2003)
----------------------------
- support embedded variables in objects (Monte)
- fix bug with objects with no properties (M Mohr, Monte)
- support full dollar var syntax in quoted text (Monte)
- fixed bug in $smarty.const.FOO introduced in 2.4.1 (M
Mohr, Monte)
Version 2.4.1 (Feb 6, 2003)
---------------------------
- ignore case in IF statements (Rainer Collet, Monte)
- treat undefined constants as null (Ferdinand Beyer, Monte)
- fix problem with inserts and nested fetches
(Rainer Collet, Monte)
- added support for passing params to include_php
(Tim Riley, Monte)
- added support for math operators in if statements (Monte)
- added support for $foo->bar[$x].blah syntax (Monte)
Version 2.4.0 (Feb 2, 2003)
---------------------------
- fix known problems with php tag handling in templates
(recursion, echoing xml tags) (Monte)
- add support for object registration (Monte)
- add debug template to secure_dir, add template_dir
to secure_dir by default (Ferdinand Beyer, Monte)
- added support for assigned object access (Monte)
- fixed bug with directories named '0' (Frank Bauer, Monte)
- add javascript parameter to escape modifier (Monte)
- added calling function line numbers to syntax error
messages in compiler (Monte)
- added support for modifiers to function calls (Monte)
- support return value for custom functions
instead of echoing (but echo still works) (Monte)
- added direct access to constants
via $smarty.const.FOO (Monte)
- added support for passing modifiers
to static values (Monte)
- fix up regex code in compiler, more accurate and
maintainable (Monte)
- added day_value_format to html_select_date (Marcus
Bointon, Monte)
- assigned variables are no longer in global
namespace, saving extract() calls and speeding
up fetch() and display() linearly with no. of
assigned variables (Monte)
- added trimwhitespace output filter to dist. (Monte)
- fix popup function to allow newlines in text (Monte)
- escape html entities in html_options (Monte)
- fixed bug with label for html_options (Monte)
- added config_load API function (Monte)
- added caching to config file loading (Monte)
- added "extra" parameter to mailto function (Monte,
Massimiliano Perantoni)
- added mailto plugin to dist. (Monte)
Version 2.3.1 (Nov 19, 2002)
----------------------------
- added optgroup support to html_options (Monte, Robert
Amos)
- set mtime on compile files so they match source
files (Monte, Peter Bowen)
- added proper support for open_basedir setting
(Monte, Alessandro Astarita)
- added strip variable modifier, updated docs (Monte)
- fixed access to $smarty.x variables as arrays. (Andrei)
- fixed errors with example setup docs (Monte, Matthew
Hagerty)
- added textformat block function (Monte)
Version 2.3.0 (Aug 7, 2002)
---------------------------
- added assign_by_ref() and append_by_ref() functions
(Bob Silva, Monte)
- changed default warning type for plugin errors from
E_USER_WARNING to E_USER_ERROR (Monte)
- added $all_extra, $hour_extra, $minute_extra,
$second_extra and $meridian_extra parameters to
html_select_time function (Rainer Collet, Monte)
- update debug console to print objects (Simon Willison,
Monte)
- fix Config_File class to not error when there are no
sections (Peter Kmet, Monte)
- add default modifier logic (Monte)
- updated popup_init to be xhtml compliant (Tom Oram, Monte)
- fix filename bug with windows (Gary Loescher, Monte)
- add ability to supply expire time in seconds when clearing
cache or compile files (Monte)
- add {debug} plugin to distribution (Monte)
- fixed bug with insert tags, loading from "script" attribute
when caching is enabled (Monte)
- fix bug with debug_tpl file path with Windows (.SMK., Monte)
- fix append() function with string/array problem (Monte)
Version 2.2.0 (July 11, 2002)
-----------------------------
- make debug.tpl work with any delimiter (Monte)
- change logic in assign() and append() to test var names
against != '' instead of empty() (Monte)
- fix PHP notice in append() function (Monte)
- allow $plugins_dir to be an array of directories
(Andreas Kossmeier, Monte)
- move debug.tpl to SMARTY_DIR, add to constructor (Monte)
- fixed warning message in function.assign_debug_info (Monte)
- fixed $template_dir, $compile_dir, $cache_dir, $config_dir,
$plugin_dir to respect include_path (Monte)
- fixed warning message with output filter array (Monte)
- add optional 2nd parameter to date_format, used as
the default date if the passed date is empty (Monte)
- gave $reset a default value in cycle plugin (Monte)
- fixed warnings with html_select_date and timestamp
functions (Monte)
- added support for sub directory exlusion format (Monte)
- added support for grouping by cache_id, compile_id
and segments thereof (Monte)
- changed cache and compile files to human readable
format (Monte)
- remove overlib.js file from distribution (Monte)
- fixed bug with 304 Not Modified response sending
content (Monte)
- fixed cycle function to respect delimiter after
initial setting (Monte)
- update $GLOBALS references to work properly with
track_globals settings (Michal Prinke, Monte)
- fixed bug in math function with call to assign
(Grigory V. Kareev, Monte)
- optimized for loops with count() function calls (Monte)
- add month_value_format attribute to html_select_date
plugin (Gary Loescher, Monte)
- made it possible to use simple variables inside [] for
indexing. (Andrei)
- added "once" attribute to {include_php}. (Monte)
Version 2.1.1
-------------
- added cycle function. (Monte)
- fixed bug with resource testing, and include_path. (Monte)
- fixed a bug with register_outputfilter function. (Monte)
Version 2.1.0
-------------
- introduced output filters. (Andrei)
- changed the way filters are loaded, added load_filter()
API function and $autoload_filters variable. (Andrei)
- added caching logic for expire times per cache file
(Norbert Rocher, Monte)
- fixed html_select_date when field separator is "/"
(Roberto Berto, Monte)
- added YYYY-MM-DD format support to html_select_date
(Jan Rosier, Monte)
- fixed cache_lifetime logic bug, also made -1 = never
expire (Monte)
- fixed directory separator issue for Windows. (Andrei)
- added ability to use simple variables as array indices or
object properties. (Andrei)
- added ability to unregister pre/postfilters plugins at
runtime. (Andrei)
- added 'htmlall' attribute to escape modifier. (Monte)
- added template_exists() API function. (Andrei)
- fixed a problem with using dynamic values for 'file'
attribute of {include_php} tag. (Andrei)
- added $smarty.template variable. (Andrei)
- fixed several plugins that would not work if the plugin
directory was not the default one. (Andrei)
- implemented support for block functions. (Andrei)
- made it possible to assign variables in pre/postfilter
plugins. (Andrei)
Version 2.0.1
-------------
- rename plugin .make_timestamp.php to shared.make_timestamp.php.
(Monte)
- changed crc32() generated values, replace '-' with 'N'. (Monte)
- added support for +/- N syntax in html_select_date year values.
(Monte)
- fixed behavior of inserts with script attribute. (Andrei)
- fixed bug with $smarty.cookies and $smarty.server. (Andrei)
- wordwrap and indent are missing from 2.0 release, now fixed.
(Monte)
- removed show_info_header and show_info_include variables. (Monte)
Version 2.0.0
-------------
- added "eval" function plugin for evaluating variables as
templates. (Monte)
- removed $tpl_file_ext class variable, no longer used. (Monte)
- added "hex" and "hexentity" escape types to escape modifier.
(Monte)
- removed dependency on PEAR. (Andrei)
- update popup_init to accept src attribute. (Monte, Duncan Forrest)
- implemented several optimizations, speeding up Smarty
significantly in most cases. (Andrei,Monte)
- implemented plugin architecture. (Andrei)
- added wordwrap and indent modifiers. (Monte)
- added support for 'If-Modified-Since' headers for cached content.
(Monte)
- removed insert_tag_check class variable, no longer needed. (Monte)
- optimized cache fetches by scanning for insert tags only if they
exist. (Monte)
- fixed bugs in overlib. (Monte, Duncan Forrest)
- fixed a problem with compile_id usage. (Andrei)
- fixed problem with using assigned vars with {include_php ...}
filepath. (Monte)
Version 1.5.2
-------------
- added Smarty object as fifth argument for template resource functions.
(Monte)
- fixed a bug with incorrectly combined cache and compile id in
clear_cache(). (Andrei)
- fixed bug in smarty_make_timestamp introduced in PHP 4.1.0. (Monte)
- fixed bug with cached insert debug timing. (Monte)
- added 'script' attribute to {insert..} which specifies the script that
the insert function can be found in. (Andrei)
- added default template function handler. (Monte)
Version 1.5.1
-------------
- removed error message from the generic _read_file() method, the caller
should take care of that. (Andrei)
- fixed a bug with incorrectly combined cache and compile id. (Andrei)
Version 1.5.0
-------------
- added include_php built-in function, documented. (Monte)
- added trusted_dir functionality, documented. (Monte)
- consolidated secure_dir tests to one function. (Monte)
- prepended _smarty_ to variable names in fetch() class function to avoid
namespace conflicts. (Monte)
- introduced $compile_id class variable that can be used to set persistent
compile identifier across multiple display calls, documented. (Andrei)
- fixed bug with concatenated null cache and compile identifiers. (Andrei)
- added $smarty.section.* syntax for accessing section properties,
documented. (Andrei)
- added custom cache handling function ability, documented. (Monte)
- added assign attribute to include, include_php, insert, fetch, math, and
counter functions, documented. (Monte)
- fixed bug with fetch testing for local file when http address. (Monte)
- fixed bug with counter and skipval setting. (Monte)
- made {config_load ...} merge globals from each config file only once per
scope, thus avoiding several problems. (Andrei)
- added {foreach ...} tag that can be used to iterate through
non-sequential and associative arrays, documented. (Andrei)
- speeded up section property access a bit. (Andrei)
- removed $smarty variable from storage used by normal template variables,
to prevent any problems. (Andrei)
- fixed a bug that could cause parse error with quotes inside literal
blocks. (Andrei, Alexander Belonosov)
- added 'field_array' attribute to html_select_time function, documented.
(Andrei, Michael Caplan)
- documented {section} "max" attribute. (Monte)
- fixed notice message in Smarty_Compiler.class.php. (Monte)
- fixed bug with clear_cache introduced in 1.4.6, third parameter should
default to null. (Monte)
- updated Config_File class to support '\' path separator in OS/2. (Monte,
Francesco Cipriani)
- removed secure_ext setting (not used). (Monte)
- made cache reading process more efficient. (Monte)
- fixed bug, is_cached() now supports new 1.4.6 caching behavior. (Monte)
- update FAQ with mailing list Reply-To header FAQ. (Monte)
- supress error messages for fopen(), fix cache to regenerate if cache
file is not available (i.e. cluster race condition). (Monte)
- added index key example to QUICKSTART guide. (Monte)
Version 1.4.6
-------------
- fixed bug with {assign ...} when passing an empty value. (Monte)
- add more warning message fixes. (Monte, Tara Johnson)
- documentation updates. (Monte)
- update fetch function to give proper warning when fetching a non-readable
or non-existant file. (Monte)
- fixed problem with newline at the end of included templates (Monte, Andrei)
- added feature to regenerate cache if compile_check is enabled and an
involved template or config file gets modified. (Monte)
- added DEBUG execution times to included files: REQUIRES updated debug.tpl
file! (Monte)
- added support for hidden config variables that cannot be read by
templates. (Andrei)
- added execution time to DEBUG console, total and inserts. (Monte)
- fixed bug where DEBUG console would not appear with cached content. (Monte)
- added support for postfilter functions that are applied to compiled
template right after compilation. (Andrei)
- fixed the name of clear_compile_tpl() API function to clear_compiled_tpl.
(Andrei)
- added fix for removing comments so that the line numbers are reported
correctly in case of errors. (patch from Anders Janson)
- made html_options output xhtml compatible code. (Monte, Arnaud Limbourg)
Version 1.4.5
-------------
- update FAQ with index of questions at the top
- update overlib to 3.50, adjust addon code so that the overlib.js
file isn't modified, and not using the mini one. (Monte)
- added many more options to html_select_date. (Alexander Skwar, Andrei)
- added support for generating different compiled templates from the same
source template. (Hans-Peter Oeri, Andrei)
- modified Smarty to pass itself to insert functions as the second
parameter. (Andrei)
- modified Smarty to pass itself to prefilter functions as the second
parameter. (Andrei)
- fixed syntax error when including a non-existant template with security
enabled. (Monte)
- fixed comments handling to allow commenting out template blocks. (Andrei)
- implemented named capture buffers, with results accessible via
$smarty.capture.<name>. (Andrei)
- added ability to index arrays directly by numbers. (Andrei)
- fixed bug with SMARTY_DIR not prepended to Config_File include. (Monte)
Version 1.4.4
-------------
- fixed problem with including insecure templates with security enabled.
(Monte)
- numerous documentation updates. (Monte)
- added ENT_QUOTES to escapement of html. (Monte, Sam Beckwith)
- implemented access to request variables via auto-assigned $smarty
template variable. (Andrei)
- fixed a bug with parsing function arguments inside {if} tags if a comma
was present. (Andrei)
- updated debug console with config file vars. (Monte)
- added SMARTY_DIR constant as an alternative to relying on include_path.
(Monte)
- added popup_init and popup functions (requires overlib.js). (Monte)
- updated debug console with config file vars. (Monte)
- added debugging url control. (Monte)
- added 'quotes' type to escape modifier. (Monte, Mike Krus)
- added 'total' and 'iteration' section properties. (Andrei)
- added 'start', 'max', and 'step' section attributes/properties. (Andrei)
- fixed a bug with security checking of functions inside {if} tags.
(Andrei)
- fixed a bug in Config_File that would incorrectly booleanize values that
weren't really booleans. (Andrei)
Version 1.4.3
-------------
- added regex_replace modifier, documented. (Monte)
- added debugging console feature and custom function assign_debug_info,
documented. (Monte)
- added 'scope' attribute for {config_load}, 'global' is now deprecated but
is still supported. (Andrei)
- reduced template symbol table pollution by moving config array into the
class itself. (Andrei)
- fixed a bug with passing quoted arguments to modifiers inside {if}
statements. (Andrei, Sam Beckwith)
- added security features for third party template editing, documented
(Monte)
- added assign custom function, documented. (Monte)
- fixed bug with template header using version instead of _version. (Monte)
- fixed a problem with putting $ followed by numbers inside {strip} and
{/strip} tags. (Andrei)
- fixed Config_File class to allow empty config paths (defaults to current
directory). (Andrei)
Version 1.4.2
-------------
- move $version to internal variable, remove from docs. (Monte)
- cleaned up compiled templates global scope by moving some variables into
the class itself. (Andrei)
- fixed a bug that would not allow referring to a section in the including
file from the included file. (Andrei)
- configs directory missing from 1.4.1 release, added back in. (Monte)
- added windows include_path setup instructions to FAQ & QUICKSTART.
(Monte)
Version 1.4.1
-------------
- fix LOCK_EX logic for all windows platforms (Monte)
- fixed indexing by section properties with the new syntax. (Andrei)
- updated Smarty to use absolute paths when requiring/including Smarty
components. (Andrei, John Lim)
Version 1.4.0
-------------
- added {capture}{/capture} function, documented (Monte)
- added {counter} function, documented (Monte)
Version 1.4.0b2
---------------
- fixed issue in Config_File.class with referencing blank sections (Andrei)
- fixed problem with passing variables to included files (Andrei)
- fixed resource path recognition for windows (Monte)
Version 1.4.0b1
---------------
- added "componentized templates" tip into documentation (Monte)
- added {php}{/php} tags for embedding php code into templates (Monte)
- changed default value of $show_info_header to false (Monte)
- implemented '->' syntax for accessing properties of objects passed to the
template. (Andrei)
- allowed custom functions to receive Smarty object as the second
parameter; this can be used to dynamically change template variables, for
example. (Andrei)
- added custom compiler functions support, register_compiler_function() and
unregister_compiler_function() API functions. (Andrei, Ivo Jansch).
- updated GLOBAL_ASSIGN to take SCRIPT_NAME from HTTP_SERVER_VARS
instead of global variable. You can also assign several variables
in one shot with an array. (Monte, Roman Neuhauser)
- added template prefilters, register_prefilter() and
unregister_prefilter() API functions. (Monte)
- added RELEASE_NOTES file to distribution. (Monte)
- moved CREDITS out of manual into its own file. (Monte)
- added register_resource() and unregister_resource() API functions. (Monte)
- changed the syntax of indexing template variables, thus supporting
structures of arbitrary complexity; supplied fix_vars.php script to fix
old syntax. (Andrei)
- added $insert_tag_check to speed up cached pages if {insert ...} is not
used. (Monte)
- added $compiler_class variable to allow specifying a different compiler
class. (Andrei)
- changed Smarty to compile templates at runtime, allowing for arbitrary
template resources. (Monte)
- added fix for LOCK_EX under Windows and changed a couple of file
permissions for security. (Monte, Fernando Nunes)
- allow arbitrary date strings to date_format, html_select_date and
html_select_time (Monte)
Version 1.3.2
-------------
- fixed a bug that caused some nested includes to loop infinitely. (Andrei)
- added optional HTML header to output. (Monte)
- significantly improved config_load performance. (Andrei)
- added format attribute to math function. (Monte)
- added html_select_time custom function. (Andrei)
- fixed minor PHP warning when attempting to unset an unset variable
(Monte)
- added count_characters, count_words, count_sentences, count_paragraphs
modifiers (Monte)
Version 1.3.1pl1
--------------
- bug fix, recovered missing _syntax_error function (Monte)
Version 1.3.1
-------------
- document first, last, index_prev, index_next (Monte)
- added 'first' and 'last' section properties. (Andrei)
- split out compiling code to separate class for faster template execution
time (Monte)
- fixed a couple of minor PHP warnings (Monte)
- added and documented unregister_modifier() and unregister_function() API
calls. (Monte)
- added and documented 'fetch' and 'math' functions. (Monte)
- added ability to index looped variables by section properties, e.g.
$foo.index_prev/bar. (Andrei)
- added index_prev and index_next section properties. (Andrei)
- fixed issue with php executing in literal blocks. (Monte)
Version 1.3.0
-------------
- moved license from GPL to LGPL (Monte)
- implemented workaround for PHP "feature" that eats carriage returns
if the PHP tag is at the end of the line. (Andrei)
- removed $allow_php, added $php_handling logic (Monte)
- added file locking to prevent reader/writer problem. (Andrei)
- made Smarty catch unimplemented modifiers and custom functions and output
error messages during compilation instead of failing during run time.
(Andrei)
- removed short-tags at the top of the smarty scripts (Monte)
- added register_function() and register_modifier() API calls to make
registering stuff easier. (Andrei)
- added template results caching capability. (Monte, Andrei)
- added optional 'options' attribute to html_options custom function
that allows passing associative arrays for values/output. (Andrei)
- modifier arguments can now contain '|' and ':' characters inside quoted
strings. (Andrei)
Version 1.2.2
-------------
- fixed bug that would not respect nested template directories and would
put all compiled files into top-level one. (Andrei)
- fixed bug using $PHP_VERSION instead of environment var PHP_VERSION.
(Monte)
- a couple small warning fixes. (Monte)
Version 1.2.1
-------------
- added $compile_dir, removed $compile_dir_ext, simplified usage. (Monte)
- added tips & tricks chapter to documentation. (Monte)
- misc documentation updates. (Monte)
Version 1.2.0
-------------
- updated documentation (Monte)
- added file and line number information to syntax error messages. (Andrei)
- added ability to index template vars by a key. (Andrei)
Version 1.1.0
-------------
- misc documentation changes, official stable release
Version 1.0b
------------
- fixed the bug that prevented using non-array values for 'loop' attribute.
(Andrei)
- many misc documentation changes & additions (Monte)
Version 1.0a
------------
- fixed bug that caused templates to recompile every time (Monte)
Version 1.0
------------
- initial release
/* vim: set et tw=64 ft=changelog: */