This PR was merged into the 1.x branch.
Discussion
----------
Fix float representation in compiled templates
closes#2788
Commits
-------
e346c2ac fixed float representation in compiled templates
This PR was squashed before being merged into the 1.x branch (closes#2796).
Discussion
----------
Switch to short array notation
Commits
-------
d39f6a87 fixed .php_cs CS
8753069c removed 5.3 from Travis matrix
1c9bdd06 removed array notation in comments
a2c42534 enabled short array notation in docs
b75c9fab fixed usage of short array notation in tests
a0399fe6 fixed usage of short array notation in tests
0446296d fixed more short array notations
5c55243d switched to use PHP short array notation for Twig's code
8758b570 switched to use short arrays in generated code
63702811 dropped PHP 5.3 support
777912e5 bumped version
This PR was squashed before being merged into the 1.x branch (closes#2786).
Discussion
----------
Added hint that the php c extension is only for php5
As @fabpot mention in the slack channel the php c twig extension is only available for php5 and is not needed when using php7 as there the performance boost is not significant enough.
Related Issue: #1695
Commits
-------
7266c9ad Added hint that the php c extension is only for php5
This PR was submitted for the 2.x branch but it was squashed and merged into the 1.x branch instead (closes#2757).
Discussion
----------
Enhances join filter for natural language join (i.e., "A, B and C")
Simply adds a second optional parameter to the join filter that will be placed between the last two entries when generating the string. Since the filter only took one argument previously, this should be 100% backward compatible. Allows simple "first, second and third" string from an array. Compatible with any length input array.
Commits
-------
bf529d0a Enhances join filter for natural language join (i.e., \"A, B and C\")
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes#2769).
Discussion
----------
Update .travis.yml
Commits
-------
721fb3f6 Update .travis.yml
This PR was merged into the 1.x branch.
Discussion
----------
Make sure twig_include returns a string
Currently returns `null` if `$ignoreMissing` is `true` and it's not found, but the return type is `string`.
Commits
-------
a55f76bf Make sure twig_include returns a string
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes#2764).
Discussion
----------
Document combining JSON constants
Working out how to do this took a Slack conversation and a StackOverflow answer. I'm adding ti to the documentation so others can get the answer immediately.
Apologies for any reST errors, it's been 10+ years since I wrote any.
Commits
-------
7f4ecd66 Document combining JSON constants
This PR was merged into the 1.x branch.
Discussion
----------
Improved the code of an example
The original code contains an unneeded *"pop culture"* reference. For those unaware of it, it contains two strong words ("kill" and "bastard").
The concern about this example was firstly raised in the `#diversity` channel of [Symfony Slack](https://symfony.com/support).
Commits
-------
f07a876d Improved the code of an example
This PR was merged into the 1.x branch.
Discussion
----------
Fix multi-byte UFT-8 in escape('html_attr')
same as #2750 but on 1.x
Commits
-------
8863b68c Fix multi-byte UFT-8 in escape('html_attr')
This PR was merged into the 1.x branch.
Discussion
----------
[RFC] Added new "deprecated" tag
```twig
{% deprecated 'The message...' %}
```
This new tag would allow us to define a deprecation warning anywhere within a template, useful for Frameworks, bundles, etc. where breaking the BC is frequently when templates are involved.
It will be easy to guarantee a smooth migration path when we want e.g. rename/remove a template or block, as well as displaying an accurate depreciation message.
**Deprecating a whole template `{# base.twig #}`**
```twig
{% deprecated 'The "' ~ _self ~ '" template is deprecated, use "layout.twig" instead' %}
{% extends 'layout.twig' %}
```
If we're extending from this template `{% extends 'base.twig' %}` then:
```
The "base.twig" template is deprecated, use "layout.twig" instead ("base.twig" at line 1).
```
**Deprecating a block {# greeting/blocks.twig #}**
```twig
{% block hey %}
{% deprecated 'The "hey" block is deprecated, use "greet" block instead' %}
{{ block('greet') }}
{% endblock %}
{% block greet %}
Hey you!
{% endblock %}
```
If we're using this block `{{ block('hey') }}` then:
```
The "hey" block is deprecated, use "greet" block instead ("greeting/blocks.twig" at line 2).
```
also other examples come from my mind like deprecating macros, and any other extension point.
Commits
-------
2ab43383 Added "deprecated" tag
This PR was squashed before being merged into the 1.x branch (closes#2730).
Discussion
----------
Add support for dynamic tests
fixes#2589
Commits
-------
4beb7bfb Add support for dynamic tests
This PR was merged into the 1.x branch.
Discussion
----------
Fix GlobalsInterface extends for IDE
Commits
-------
0b819abb Fix GlobalsInterface extends for IDE