<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><description /><title>Twig, the flexible, fast, and secure template lang</title><generator>Tumblr (3.0; @twig-project)</generator><link>http://blog.twig.sensiolabs.org/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/twig-project" /><feedburner:info uri="twig-project" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/" /><item><title>Twig 1.13.0 released</title><description>&lt;p&gt;Twig 1.13.0 has just been released. It contains nice speed optimizations for the escaping filter. Here is the full changlog:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;fixed getting a numeric-like item on a variable (&amp;#8216;09&amp;#8217; for instance)&lt;/li&gt;
&lt;li&gt;fixed getting a boolean or float key on an array, so it is consistent with PHP&amp;#8217;s array access:
&lt;code&gt;{{ array[false] }}&lt;/code&gt; behaves the same as &lt;code&gt;echo $array[false];&lt;/code&gt; (equals &lt;code&gt;$array[0]&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;made the escape filter 20% faster for happy path (escaping string for html with UTF-8)&lt;/li&gt;
&lt;li&gt;changed ☃ to § in tests&lt;/li&gt;
&lt;li&gt;enforced usage of named arguments after positional ones&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/BzAYn2Lxi8w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/BzAYn2Lxi8w/50092566775</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/50092566775</guid><pubDate>Fri, 10 May 2013 17:24:59 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/50092566775</feedburner:origLink></item><item><title>Security Release: Twig 1.12.3 released</title><description>&lt;p&gt;I&amp;#8217;ve just released Twig 1.12.3 which contains a security vulnerability fix.&lt;/p&gt;

&lt;h2&gt;Description&lt;/h2&gt;

&lt;p&gt;Your application is affected if you are using &lt;code&gt;Twig_Loader_Filesystem&lt;/code&gt; for
loading Twig templates but only if you are using non-trusted template names
(names provided by a end-user for instance).&lt;/p&gt;

&lt;p&gt;When affected, it is possible to go up one directory for the paths configured
in your loader.&lt;/p&gt;

&lt;p&gt;For instance, if the filesystem loader is configured with &lt;code&gt;/path/to/templates&lt;/code&gt;
as a path to look for templates, you can force Twig to include a file stored
in &lt;code&gt;/path/to&lt;/code&gt; by prepending the path with &lt;code&gt;/../&lt;/code&gt; like in &lt;code&gt;{% include
"/../somefile_in_path_to" %}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note that using anything else (like &lt;code&gt;../somefile&lt;/code&gt;, &lt;code&gt;/../../somefile&lt;/code&gt;, or
&lt;code&gt;../../somefile&lt;/code&gt;) won&amp;#8217;t work and you will get a proper exception.&lt;/p&gt;

&lt;h2&gt;Affected Versions&lt;/h2&gt;

&lt;p&gt;All versions of Twig are affected.&lt;/p&gt;

&lt;h2&gt;How to Patch&lt;/h2&gt;

&lt;p&gt;If you cannot upgrade, you can apply the following patch:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/fabpot/Twig/commit/3d19a2eed53570776af313593aaeb5ad62cf4980.diff" target="_blank"&gt;https://github.com/fabpot/Twig/commit/3d19a2eed53570776af313593aaeb5ad62cf4980.diff&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Credits&lt;/h2&gt;

&lt;p&gt;I want to thank Rick Prent who reported the issue and provided a fix for it.&lt;/p&gt;

&lt;h2&gt;Check your Project&lt;/h2&gt;

&lt;p&gt;As a quick remember, you can check your projects using Composer for
vulnerability issues with the &lt;a href="http://security.sensiolabs.org" target="_blank"&gt;SensioLabs Security
Checker&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/ZmyrthNNd98" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/ZmyrthNNd98/47461911874</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/47461911874</guid><pubDate>Mon, 08 Apr 2013 18:00:21 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/47461911874</feedburner:origLink></item><item><title>Twig 1.12.2 released</title><description>&lt;p&gt;I&amp;#8217;ve just released Twig 1.12.2:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;fixed the timezone used by the date filter and function when the given date contains a timezone (like 2010-01-28T15:00:00+02:00)&lt;/li&gt;
&lt;li&gt;fixed globals when getGlobals is called early on&lt;/li&gt;
&lt;li&gt;added the first and last filter&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/EjS6HKshRBc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/EjS6HKshRBc/42681359635</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/42681359635</guid><pubDate>Sat, 09 Feb 2013 19:39:27 +0100</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/42681359635</feedburner:origLink></item><item><title>Twig 1.12.1 released</title><description>&lt;p&gt;I&amp;#8217;ve just released Twig 1.12.1. It removed a backward compatibility break that was introduced in Twig 1.12.0. It also adds two small features:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;added support for object instances as the second argument of the constant function&lt;/li&gt;
&lt;li&gt;added support for &lt;code&gt;{{ some_string[:2] }}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/ycA_e-W_Ydo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/ycA_e-W_Ydo/40619021918</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/40619021918</guid><pubDate>Tue, 15 Jan 2013 21:11:35 +0100</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/40619021918</feedburner:origLink></item><item><title>Twig 1.12.0 released</title><description>&lt;p&gt;Twig 1.12.0 is has just been released. You can read more about the new features in a previous &lt;a href="http://blog.twig.sensiolabs.org/post/39237503408/twig-1-12-0-rc1-released" target="_blank"&gt;blog post&lt;/a&gt;. Since RC1, we have fixed a couple of bugs and introduce the &lt;code&gt;verbatim&lt;/code&gt; tag as an alias to the existing &lt;code&gt;raw&lt;/code&gt; tag.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/_kzxXBNmQuE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/_kzxXBNmQuE/40011861424</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/40011861424</guid><pubDate>Tue, 08 Jan 2013 15:11:10 +0100</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/40011861424</feedburner:origLink></item><item><title>Twig 1.12.0-RC1 released</title><description>&lt;p&gt;The first release candidate for Twig 1.12.0 has just been released. This
version introduces a lot of nice enhancements that should simplify the way
developers and web designers work with Twig.&lt;/p&gt;

&lt;h2&gt;Extending Twig the easy Way&lt;/h2&gt;

&lt;p&gt;You can extend Twig by creating an extension or by calling method directly on
the Twig environment. Let&amp;#8217;s see how you can create a new function.&lt;/p&gt;

&lt;p&gt;Until now, it was a bit cumbersome and quite limited; you were able to map a
Twig function to a PHP function or to a method from a Twig extension class
(and depending on which you choose, you need to use a specific class):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$twig-&amp;gt;addFunction('some_function', new Twig_Function_Function('some_function'));
$twig-&amp;gt;addFunction('some_function', new Twig_Function_Method($extension, 'someMethod'));
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As of 1.12, you can use any valid PHP callable, and everything is managed by
one class:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$twig-&amp;gt;addFunction(new Twig_SimpleFunction('some_function', 'some_function'));
$twig-&amp;gt;addFunction(new Twig_SimpleFunction('some_function', array($extension, 'someMethod')));
$twig-&amp;gt;addFunction(new Twig_SimpleFunction('some_function', function () { /* ... */ }));
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Calling Things the flexible Way&lt;/h2&gt;

&lt;p&gt;When defining a macro, you can now set default values for all arguments
instead of relying on the &lt;code&gt;default&lt;/code&gt; filter:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{# before #}

{% macro input(name, value, type, size) %}
    &amp;lt;input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|default('')|e }}" size="{{ size|20 }}" /&amp;gt;
{% endmacro %}

{# after #}

{% macro input(name, value = "", type = "text", size = 20) %}
    &amp;lt;input type="{{ type }}" name="{{ name }}" value="{{ value|e }}" size="{{ size }}" /&amp;gt;
{% endmacro %}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Some functions and filters in Twig have a long list of arguments and
remembering their order and their meaning is not easy. You can now use named
arguments to make things easier and more explicit:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{# before #}

{{ data|convert_encoding('UTF-8', 'iso-2022-jp') }}

{# after #}

{{ data|convert_encoding(from='iso-2022-jp', to='UTF-8') }}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A new &lt;a href="http://twig.sensiolabs.org/doc/functions/include.html" target="_blank"&gt;&lt;code&gt;include&lt;/code&gt;&lt;/a&gt;
function has been introduced to simplify the including of other files when
passing multiple options:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{# before #}
{% sandbox %}
    {% include 'page.html' ignore missing %}
{% endsandbox %}

{# after #}
{{ include('page.html', sandboxed = true, ignore_missing = true) }}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The ternary operator syntax has been extended to simplify some common use
cases:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{# standard syntax #}
{{ foo ? 'yes' : 'no' }}

{# extended syntaxes as of Twig 1.12 #}
{{ foo ?: 'no' }} is the same as {{ foo ? foo : 'no' }}
{{ foo ? 'yes' }} is the same as {{ foo ? 'yes' : '' }}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As always, everything should be backward compatible, meaning that all your
existing templates will still work as before. Of course, if that&amp;#8217;s not the
case, report it as soon as possible so that we can fix the regressions before
the 1.12.0 final is released later this week.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/j6WlbGXcoJY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/j6WlbGXcoJY/39237503408</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/39237503408</guid><pubDate>Sun, 30 Dec 2012 21:08:37 +0100</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/39237503408</feedburner:origLink></item><item><title>Twig 1.11.1 released</title><description>&lt;p&gt;Twig 1.11.1 is a maintenance release where the following bugs have been fixed:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;fixed debug info line numbering (was off by 2)&lt;/li&gt;
&lt;li&gt;fixed escaping when calling a macro inside another one (regression introduced in 1.9.1)&lt;/li&gt;
&lt;li&gt;optimized variable access on PHP 5.4&lt;/li&gt;
&lt;li&gt;fixed a crash of the C extension when an exception was thrown from a macro called without being imported (using _self.XXX)&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/pUXfEvRScGc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/pUXfEvRScGc/35493939334</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/35493939334</guid><pubDate>Sun, 11 Nov 2012 18:22:48 +0100</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/35493939334</feedburner:origLink></item><item><title>Twig 1.11.0 released</title><description>&lt;p&gt;I&amp;#8217;m very happy to announce the immediate availability of Twig 1.11.&lt;/p&gt;

&lt;p&gt;As with any new release, the documentation has been improved for existing features, and two new recipes have been published: &lt;a href="http://twig.sensiolabs.org/doc/recipes.html#using-a-database-to-store-templates" target="_blank"&gt;Using a Database to store Templates&lt;/a&gt; and &lt;a href="http://twig.sensiolabs.org/doc/recipes.html#using-different-template-sources" target="_blank"&gt;Using different Template Sources&lt;/a&gt;. I have also added a new section to explain &lt;a href="http://twig.sensiolabs.org/doc/tags/extends.html#how-blocks-work" target="_blank"&gt;how blocks work&lt;/a&gt; in Twig.&lt;/p&gt;

&lt;p&gt;In 1.11, you can now import a template from a string thanks to the &lt;a href="http://twig.sensiolabs.org/template_from_string" target="_blank"&gt;template_from_string&lt;/a&gt; function (this was probably one the of most often asked feature on the mailing-list).&lt;/p&gt;

&lt;p&gt;Of course, we have fixed some bugs too:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;macro compilation when a variable name is a PHP reserved keyword&lt;/li&gt;
&lt;li&gt;bitwise operator precedences&lt;/li&gt;
&lt;li&gt;default timezone usage for the date function&lt;/li&gt;
&lt;li&gt;the date filter behavior which now always apply the default timezone, except if false is passed as the timezone&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;And last, but not the least, the performance of the exception management has been greatly improved, especially when using the &lt;a href="http://twig.sensiolabs.org/doc/api.html#twig-loader-chain" target="_blank"&gt;Twig loader chain&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/kXOkVa9Li3U" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/kXOkVa9Li3U/35199073943</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/35199073943</guid><pubDate>Wed, 07 Nov 2012 13:46:50 +0100</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/35199073943</feedburner:origLink></item><item><title>Twig 1.10.3 released</title><description>&lt;p&gt;Twig 1.10.3 has just been released. This version fixes a regression introduced in 1.10.2, and adds a new filter to &lt;a href="http://twig.sensiolabs.org/split" target="_blank"&gt;split&lt;/a&gt; strings.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/4vBJJDovn4U" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/4vBJJDovn4U/33887840724</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/33887840724</guid><pubDate>Fri, 19 Oct 2012 12:52:12 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/33887840724</feedburner:origLink></item><item><title>Twig 1.10.1 released</title><description>&lt;p&gt;Twig 1.10.1 has just been released. It contains some fixes to the C extensions, and a speed optimization for macros.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: I&amp;#8217;ve just released 1.10.2 due to a problem with macro calls and PHP 5.4.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/Jmr5CvvnNuw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/Jmr5CvvnNuw/33630518723</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/33630518723</guid><pubDate>Mon, 15 Oct 2012 09:38:00 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/33630518723</feedburner:origLink></item><item><title>Good usage of macros</title><description>&lt;p&gt;The documentation for Twig macros has just been updated.&lt;/p&gt;

&lt;p&gt;When macros are defined and used in the same template, the old docs recommended to use the &lt;code&gt;_self&lt;/code&gt; variable to call macros. Even if it works, it is a very bad idea as it relies on the current implementation (coupling usage and implementation is never a good idea).&lt;/p&gt;

&lt;p&gt;If you are currently using this &amp;#8220;hack&amp;#8221; in your templates, I recommend you to use the proper way (always importing the macros before using them) as the implementation for macros will change in Twig 2.x and the current shortcut won&amp;#8217;t work anymore.&lt;/p&gt;

&lt;p&gt;More information in the doc &lt;a href="https://github.com/fabpot/Twig/commit/a6473b7cfddee17b073d570738289137b9dfeb22" target="_blank"&gt;commit&lt;/a&gt; and in the updated &lt;a href="http://twig.sensiolabs.org/doc/tags/macro.html" target="_blank"&gt;documentation&lt;/a&gt;. You can also have a look at this &lt;a href="https://github.com/symfony/symfony/commit/8731cc30fff6e34891270ad7db9d1d4fd26800a6" target="_blank"&gt;change&lt;/a&gt; I&amp;#8217;ve just made to Symfony.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/2CuEiTDecdc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/2CuEiTDecdc/33630180093</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/33630180093</guid><pubDate>Mon, 15 Oct 2012 09:24:00 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/33630180093</feedburner:origLink></item><item><title>Twig 1.10.0 released</title><description>&lt;p&gt;Twig 1.10.0 has just been released.&lt;/p&gt;

&lt;p&gt;This new version adds several nice features.&lt;/p&gt;

&lt;h2&gt;Functional Test Framework&lt;/h2&gt;

&lt;p&gt;Twig has a test suite composed of unit and functional tests. For functional tests, we have nice abstraction that allow us to write tests very easily. As of 1.10.0, this abstraction has been extracted so that you can now benefit from it and write your own tests for your customized filters/tags/functions/tests.&lt;/p&gt;

&lt;h2&gt;Namespaced templates support&lt;/h2&gt;

&lt;p&gt;Twig now support namespaced templates. It help organize your template in a better way.&lt;/p&gt;

&lt;p&gt;You can learn more about these new features in the documentation or directly from the diff: &lt;a href="https://github.com/fabpot/Twig/compare/v1.9.2...v1.10.0" target="_blank"&gt;https://github.com/fabpot/Twig/compare/v1.9.2&amp;#8230;v1.10.0&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/Kdtw08VSjHE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/Kdtw08VSjHE/32473470874</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/32473470874</guid><pubDate>Fri, 28 Sep 2012 22:29:03 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/32473470874</feedburner:origLink></item><item><title>Twig 1.9.2 released</title><description>&lt;p&gt;Twig 1.9.2 has just been released. It mainly fixes some issues with the C extensions.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/5Lfev5qlEXs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/5Lfev5qlEXs/30180932466</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/30180932466</guid><pubDate>Sat, 25 Aug 2012 19:37:58 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/30180932466</feedburner:origLink></item><item><title>Twig 1.9.1 released</title><description>&lt;p&gt;Twig 1.9.1 has just been released. The changelog reads as follows:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;optimized macro calls when auto-escaping is on&lt;/li&gt;
&lt;li&gt;fixed wrong parent class for Twig_Function_Node&lt;/li&gt;
&lt;li&gt;made Twig_Loader_Chain more explicit about problems&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/vSytH0-PEgM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/vSytH0-PEgM/27757120772</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/27757120772</guid><pubDate>Sun, 22 Jul 2012 12:34:36 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/27757120772</feedburner:origLink></item><item><title>Twig 1.9.0 released</title><description>&lt;p&gt;I&amp;#8217;ve just released Twig 1.9.0.&lt;/p&gt;

&lt;p&gt;The major change in this release is the support for more built-in escaping strategies. Twig now supports HTML, CSS, JS, URL, and HTML attributes out of the box (thanks to Pádraic Brady who did a great job at implementing most of the new escaping strategies in the Zend Framework Escaper class from which our code is greatly inspired). The documentation on escaping has also been updated to give more accurate information on what the developer needs to be aware of.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/O-iQTn0YOH4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/O-iQTn0YOH4/27129940359</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/27129940359</guid><pubDate>Fri, 13 Jul 2012 18:35:43 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/27129940359</feedburner:origLink></item><item><title>Twig 1.8.3 released</title><description>&lt;p&gt;Twig 1.8.3 has just been released. The changelog reads as follows:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;fixed paths in the filesystem loader when passing a path that ends with a slash or a backslash&lt;/li&gt;
&lt;li&gt;fixed escaping when a project defines a function named html or js&lt;/li&gt;
&lt;li&gt;fixed chmod mode to apply the umask correctly&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/JL4rbU5kH_w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/JL4rbU5kH_w/25306758601</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/25306758601</guid><pubDate>Sun, 17 Jun 2012 20:53:21 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/25306758601</feedburner:origLink></item><item><title>Twig 1.8.2 released</title><description>&lt;p&gt;Twig 1.8.2 has just been released. The changelog reads as follows:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;added the &lt;a href="http://twig.sensiolabs.org/abs" target="_blank"&gt;abs&lt;/a&gt; filter&lt;/li&gt;
&lt;li&gt;fixed a regression when using a number in template attributes&lt;/li&gt;
&lt;li&gt;fixed compiler when mbstring.func_overload is set to 2&lt;/li&gt;
&lt;li&gt;fixed DateTimeZone support in date filter&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/mAsQcUVx8OQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/mAsQcUVx8OQ/24050954518</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/24050954518</guid><pubDate>Wed, 30 May 2012 08:19:00 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/24050954518</feedburner:origLink></item><item><title>Twig 1.8.1 released</title><description>&lt;p&gt;I&amp;#8217;ve just released Twig 1.8.1. It contains the following changes:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;fixed a regression when dealing with SimpleXMLElement instances in templates&lt;/li&gt;
&lt;li&gt;fixed &amp;#8220;is_safe&amp;#8221; value for the &amp;#8220;dump&amp;#8221; function when &amp;#8220;html_errors&amp;#8221; is not defined in php.ini&lt;/li&gt;
&lt;li&gt;switched to use mbstring whenever possible instead of iconv&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/_JoEXAr1otE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/_JoEXAr1otE/23232407504</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/23232407504</guid><pubDate>Thu, 17 May 2012 18:06:12 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/23232407504</feedburner:origLink></item><item><title>Twig 1.8.0 released</title><description>&lt;p&gt;I&amp;#8217;m proud to announce the immediate availability of Twig 1.8.0. This version has two main new features.&lt;/p&gt;

&lt;p&gt;The new &lt;a href="http://twig.sensiolabs.org/embed" target="_blank"&gt;&lt;code&gt;embed&lt;/code&gt;&lt;/a&gt; tag gives the web designer yet another possibility when organizing his templates.&lt;/p&gt;

&lt;p&gt;I have also enhanced the way autoescaping works to allow dynamic strategies to be applied (read the new &lt;a href="http://twig.sensiolabs.org/doc/recipes.html#using-the-template-name-to-set-the-default-escaping-strategy" target="_blank"&gt;recipe&lt;/a&gt; to learn more about that possibility). The &lt;a href="http://twig.sensiolabs.org/autoescape" target="_blank"&gt;&lt;code&gt;autoescape&lt;/code&gt;&lt;/a&gt; tag syntax has also be simplified (everything is backward compatible though).&lt;/p&gt;

&lt;p&gt;Beside the code, I&amp;#8217;ve also reorganized the &lt;a href="http://twig.sensiolabs.org/documentation" target="_blank"&gt;documentation&lt;/a&gt; and the table of contents.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/0moOpwLEXYU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/0moOpwLEXYU/22642469546</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/22642469546</guid><pubDate>Tue, 08 May 2012 09:12:11 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/22642469546</feedburner:origLink></item><item><title>Offline Documentation</title><description>&lt;p&gt;I&amp;#8217;m always looking for ways to improve the documentation and its usability. If you are always connected, the website offers a lot of documentation, easily accessible via the built-in search engine: The website short URLs allows you to quickly lookup for any built-in tag, filter, function, or test: write a URL like &lt;code&gt;&lt;a href="http://twig.sensiolabs.org/XXX" target="_blank"&gt;http://twig.sensiolabs.org/XXX&lt;/a&gt;&lt;/code&gt; where &lt;code&gt;XXX&lt;/code&gt; is what you are looking for, and you will be redirected to the most relevant page&amp;#8230; even if you make a typo! These shortcuts also makes easy to type in a link in a mailing-list post, an IRC conversation, or a blog post.&lt;/p&gt;

&lt;p&gt;But today, I&amp;#8217;m really happy to announce that you can now also download the whole Twig documentation for &lt;em&gt;easy offline reading&lt;/em&gt;. Get the gorgeous &lt;a href="http://twig.sensiolabs.org/pdf/Twig.pdf" target="_blank"&gt;PDF document&lt;/a&gt; for your laptop and get the great &lt;a href="http://twig.sensiolabs.org/epub/Twig.epub" target="_blank"&gt;EPUB file&lt;/a&gt; for your tablet or your phone.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/twig-project/~4/NGReKH6DI20" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/twig-project/~3/NGReKH6DI20/22309349665</link><guid isPermaLink="false">http://blog.twig.sensiolabs.org/post/22309349665</guid><pubDate>Thu, 03 May 2012 08:14:01 +0200</pubDate><feedburner:origLink>http://blog.twig.sensiolabs.org/post/22309349665</feedburner:origLink></item></channel></rss>
