This PR was merged into the 1.17-dev branch.
Discussion
----------
added a profiler
This profiler allows to better understand what's going on when rendering templates. It should be used when debug is true only as it adds some overhead.
Here is a sample output in the text format:
```
main 567.04ms/100%
└ index 463.28ms/82%
└ base 463.24ms/82%
└ base::block(header)
└ index::block(content) 306.29ms/54%
│ └ included 50.18ms/9%
│ └ included 45.42ms/8%
│ └ included 35.42ms/6%
│ └ base::block(content) 104.97ms/19%
│ │ └ included 34.90ms/6%
│ └ included 35.84ms/6%
└ base::block(footer) 156.84ms/28%
└ included 38.96ms/7%
└ base::macro(foo)
```
You can also dump a profile in a Blackfire compatible format to [visualise the data as a graph](http://goo.gl/RwNGFH).
A profile is also a great way to be able to list all templates/blocks/macros that were used when rendering a template.
A PR on Symfony (symfony/symfony#13428) integrates this profiler in the Symfony web profiler to replace the current TimedTwigEngine and to add a new Twig panel.

Commits
-------
4408caa added a profiler
This PR was squashed before being merged into the 1.17-dev branch (closes#1565).
Discussion
----------
Update batch.rst
Commits
-------
403736f Update batch.rst
This PR was squashed before being merged into the 1.17-dev branch (closes#1598).
Discussion
----------
FIX#1596 FileSystem::findTemplate now applies realpath on the absolute ...
...path before returning it.
This is a purposal to fix the issue #1596.
Please make any feedback needed.
Commits
-------
5074114FIX#1596 FileSystem::findTemplate now applies realpath on the absolute ...
This PR was merged into the 1.17-dev branch.
Discussion
----------
Small things
Commits
-------
175a7c3 removed unneeded method
b7204f1 ensure that debug info are always sorted
This PR was merged into the 1.17-dev branch.
Discussion
----------
added some more tests for the filename autoescape strategy
Commits
-------
01ab6f3 added some more tests for the filename autoescape strategy
This PR was merged into the 1.16-dev branch.
Discussion
----------
added an escaping strategy based on the template filename extension
This PR introduces a new autoescaping strategy based on the template filename extension. This strategy has been extracted from Symfony, where we are using it for quite a long time now.
Commits
-------
4481bf5 added an escaping strategy based on the template filename extension
d6b2c89 fixed CS
This PR was merged into the 1.16-dev branch.
Discussion
----------
Fixed regression for dynamic parent
Fixes#1578
Commits
-------
d2fc98d Fixed regression for dynamic parent
This PR was merged into the 1.16-dev branch.
Discussion
----------
Adding example with ``not`` for ``if``
I could not find an example with ``not``, so I added it here.
Commits
-------
4a75e40 Adding example with ``not`` for ``if``
This PR was merged into the 1.16-dev branch.
Discussion
----------
Add display information to slice example
Displays the result of the example operation {{ '12345'[1:2] }} in the "slice" filter documentation
Commits
-------
d5fe413 Add display information to slice example
This PR was merged into the 1.16-dev branch.
Discussion
----------
The results of is_dir() are cached
If a production server uses statcache, the results of the first and second call of is_dir() is always the same.
So before calling is_dir() for the second time, use clearstatcache() to clear the results of the first call of is_dir().
Commits
-------
df0d813 The results of is_dir() are cached
This PR was merged into the 1.16-dev branch.
Discussion
----------
Fix the For optimizer, "include" function was always optimized
A `for`with an in `include` function was always optimized, making it impossible to use the `loop` variable inside the include unless it was explicitly passed in the `include` function parameters.
Commits
-------
4319bb9 Fix the For optimizer, "include" function was always optimized
This PR was merged into the 1.16-dev branch.
Discussion
----------
Use int instead of invalid timestamp type in PhpDoc
Commits
-------
d64d2b0 Use int instead of invalid timestamp type in PhpDoc
This PR was merged into the 1.16-dev branch.
Discussion
----------
removed @covers annotations
I propose to remove the `@covers` annotations for the following main reasons:
* they were only used in a limited number of test cases;
* they limited the code coverage of nodes for no reasons (some other tests are as valid to test the nodes).
Commits
-------
4ba0789 removed @covers annotations
This PR was merged into the 1.16-dev branch.
Discussion
----------
fixed alphabetic order in lists of filters and tags
My eyes needed more time than expected to find the `upper` filter, so this should help. 😏
Commits
-------
ba04803 fixed alphabetic order in lists of filters and tags
This PR was merged into the 1.16-dev branch.
Discussion
----------
first argument of Twig_Loader_Array must be an array
Commits
-------
435534e first argument of Twig_Loader_Array must be an array
This PR was merged into the 1.16-dev branch.
Discussion
----------
Fixed using of unary operators with default parameters
Fixes#1322
Commits
-------
5ba4e9c Fixed using of unary operators with default parameters
This PR was merged into the 1.16-dev branch.
Discussion
----------
Improved an exception message for unknown arguments
Commits
-------
6427189 Improved an exception message for unknown arguments
This PR was merged into the 1.16-dev branch.
Discussion
----------
Fixed php error for "in" operator
I have added the tests and also fixed the php error ``An exception has been thrown during the rendering of a template ("strlen() expects parameter 1 to be string, array given")``.
Commits
-------
8dfeda0 Fixed "in" operator for resources and strings
This PR was merged into the 1.16-dev branch.
Discussion
----------
Fixed guessing a template info for the Twig_Error_Loader exception
Commits
-------
8f617dc Fixed guessing a template info for the Twig_Error_Loader exception