This PR was squashed before being merged into the 1.x branch (closes#2152).
Discussion
----------
normalizePath: Do not mangle phar URLs.
Removing consecutive slashes breaks phar URLs. Example:
phar:///foo/bar is turned into phar:/foo/bar.
This change preserves the three slashes if path starts with phar://.
Commits
-------
7dd63fc normalizePath: Do not mangle phar URLs.
This PR was merged into the 1.x branch.
Discussion
----------
added runtime extensions
Commits
-------
9cb6860 allowed filters/functions/tests implementation to use a different class than the extension they belong to
* 1.x:
deprecated Twig_ExtensionInterface::getName()
added some missing tests for functions/filters as static calls
added missing information in deprecatd.rst
This PR was merged into the 1.x branch.
Discussion
----------
deprecated Twig_ExtensionInterface::getName()
see #2147
Commits
-------
71f03df deprecated Twig_ExtensionInterface::getName()
This PR was merged into the 1.x branch.
Discussion
----------
added some missing tests for functions/filters as static calls
Commits
-------
c73e97e added some missing tests for functions/filters as static calls
This PR was merged into the 1.x branch.
Discussion
----------
added a recipe about how to use Twig and AngularJS together
Commits
-------
b162a91 added a recipe about how to use Twig and AngularJS together
This PR was merged into the 2.0-dev branch.
Discussion
----------
removed code that deal with potential null nodes (not possible anymore)
Commits
-------
e50a84c removed code that deal with potential null nodes (not possible anymore)
* 1.x:
fixed error message
Improved the error message when a child template defines contents outside parent blocks
adding missing dots to some exception messages
fixed exception message that might end with a ?
added a missing deprecation notice
removed obsolete comment
bumped version to 1.25.1-DEV
prepared the 1.25.0 release
fixed docs
Expanded definition of empty
This PR was merged into the 1.x branch.
Discussion
----------
added a missing deprecation notice
Commits
-------
9c27479 added a missing deprecation notice
This PR was merged into the 1.x branch.
Discussion
----------
fixed exception message that might end with a ?
Commits
-------
5c43548 adding missing dots to some exception messages
fbf99fc fixed exception message that might end with a ?
This PR was squashed before being merged into the 1.x branch (closes#2139).
Discussion
----------
Improved the error message when a child template defines contents outside parent blocks
### Context
When using template inheritance, you cannot put template contents outside Twig blocks (except some special tags (form_theme), macros, etc.) Sadly, making this mistake is very common when learning Twig.
### Problem
The error message associated to this issue is cryptic and "impossible to understand" for newcomers:
```
A template that extends another one cannot have a body.
```
I recently delivered a Symfony training and nobody was able to understand what the error was. They didn't have the slightest clue. I explained it to them ... and a few days latter they had the same problem and again they couldn't remember what this error was related to.
### Solution
Most of the Twig/Symfony errors are very helpful. Let's improve this one to make it useful too.
Two years ago I tried to fix this error message (see #1396). Let's see if this new PR is accepted.
Commits
-------
23f53d5 Improved the error message when a child template defines contents outside parent blocks
This PR was submitted for the master branch but it was merged into the 1.x branch instead (closes#2134).
Discussion
----------
Expanded definition of empty
Based on the [source](https://github.com/twigphp/Twig/blob/f61bc838a97c26e2952af09070d1c4847eeedbe7/lib/Twig/Extension/Core.php#L1405), defined 'empty'. The comment in the code block is too subtle and I didn't notice it until I got to the edit page, and it also does not fully describe the definition of empty based on what the code does.
Commits
-------
9c6b8cb Expanded definition of empty