* 1.x:
updated CHANGELOG
reverted unexpected change
fixed previous merge
Organize and show value types
Added label for "Whitespace Control" section
Added note about case sensitivity of logic operators
Fixed CS
Fixed error guessing for nested templates
Travis no longer supports hhvm-nightly
fixed CS
Added an example for "and" on if statment
Updated exception messages for null vars in Twig_Template::getAttribute().
Use stubs for profiles. Fixes#1660
Conflicts:
doc/api.rst
This PR was submitted for the master branch but it was merged into the 1.x branch instead (closes#1624).
Discussion
----------
Organize and show value types
I was a little confused about how `auto_reload` and what kind of types you had to provide. Hope this helps to clarify that for others.
Should it also say something about how `cache: true` and `auto_reload: true` works together, as that is a question i have myself :)
Commits
-------
0a46d06 Organize and show value types
This PR was merged into the 1.x branch.
Discussion
----------
Use mocks for profiles. Fixes#1660
| Q | A
| ------------- | ---
| Bug fix? | yes #1660
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This PR aims to change the getProfile() method to returns mocks.
This fixes#1660
BTW Is there a specific reason why there are no mocks for the tests in the project ?
Commits
-------
f6bce94 Use stubs for profiles. Fixes#1660
This PR was merged into the 1.x branch.
Discussion
----------
Fixed error guessing for nested templates
Commits
-------
00fe940 Fixed CS
dd1b101 Fixed error guessing for nested templates
This PR was merged into the 1.x branch.
Discussion
----------
Travis no longer supports hhvm-nightly
See travis-ci/travis-ci#3788
Commits
-------
329d67c Travis no longer supports hhvm-nightly
This PR was merged into the 1.x branch.
Discussion
----------
Added note about case sensitivity of logic operators
Commits
-------
29986a9 Added note about case sensitivity of logic operators
This PR was merged into the 1.x branch.
Discussion
----------
[1.x] Updated exception messages for null vars
Updated exception messages for null vars in ```Twig_Template::getAttribute()```.
Example:
**Before:**
```
Impossible to invoke a method ("myMethod") on a NULL variable ("") in My:template.html.twig at line 1
```
**After:**
```
Impossible to invoke a method ("myMethod") on a null variable in My:template.html.twig at line 1
```
Commits
-------
ddf011d Updated exception messages for null vars in Twig_Template::getAttribute().
This PR was submitted for the master branch but it was merged into the 1.x branch instead (closes#1669).
Discussion
----------
Added an example for "and" on if statment
Commits
-------
2698a42 Added an example for "and" on if statment
* 1.x:
Fix two failed unit tests on Windows:
updated CHANGELOG
Reduce the name of the cache directories to 1 character
clean ups
bumped version to 1.18.2-DEV
prepared the 1.18.1 release
updated CHANGELOG
Cleanup API - make the compiler happy
Fixed memory leaks
tweaked docs about the C extension
removed an obsolete recipe
Conflicts:
CHANGELOG
doc/api.rst
doc/recipes.rst
ext/twig/php_twig.h
lib/Twig/Environment.php
lib/Twig/NodeTraverser.php
lib/Twig/Template.php
This PR was merged into the 1.x branch.
Discussion
----------
Fix two failed unit tests on Windows:
1. fopen() cannot handle directory, replaced by opendir() for getting a testing resource. (also double check a resource is opened)
2. comparing paths by assertEquals() which has mixed '\' and '/' on Windows.
Commits
-------
9d7163e Fix two failed unit tests on Windows:
1. fopen() cannot handle directory, replaced by opendir() for getting a testing resource. (also double check a resource is opened)
2. comparing paths by assertEquals() which has mixed '\' and '/' on Windows.
This PR was merged into the 1.x branch.
Discussion
----------
Reduce the name of the cache directories to 1 character
Currently Twig spread the cached template over a directory tree and it's a good practice because it makes the filesystem happier (some filesystems limit the number of file per directory and some filesystems do not index the content of the directories => to access a file in a directory you may have to go through all the files in the directory to find it).
But this technique as also a few drawbacks because it will consume more inodes and in PHP because of the realpath cache which could be saturated by the path of too many directories.
`----`
The current implementation use 2 levels of directory with a 2 chars name, which end-up to `36^4 == 1,679,616` combinations and when you have a lot of templates it can be a real issue.
Per example, with 8,000 templates you will have:
- 8,000 different keys because `8,000 <<< 1,679,616` (a key is the combination of the two directories name, so 4 characters)
- 1,296 directories directly under `twig/`
- **1 file** per directory
- a total of `8,000 + 8,000 + 1,296 =` **17,296 keys** in the realpath cache.
My proposal with this PR is to reduce the name of the directories to only one character which for 8,000 templates end up to:
- 1,296 different keys (a key is the combination of the two directories name, so 2 characters)
- 36 directories directly under `twig/`
- ~**8 files** per directory
- a total of `8,000 + 1,296 + 36 =` **9,332 keys** in the realpath cache.
Note: If you don't have a lot of templates (> 1,000) it will not change anything for you.
Commits
-------
2972309 Reduce the name of the cache directories to 1 character
This PR was merged into the 1.x branch.
Discussion
----------
Fix leaks
Commits
-------
c41d305 Cleanup API - make the compiler happy
8bb7cbb Fixed memory leaks
This PR was merged into the 2.0-dev branch.
Discussion
----------
[2.0] remove dead code
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Remove some unused code
Commits
-------
5928331 remove dead code
This PR was merged into the 2.0-dev branch.
Discussion
----------
[2.0] unclosed "verbatim" block should be litteraly written
Fixes#1654
cc @SpacePossum
Commits
-------
4ea4749 [2.0] unclosed "verbatim" block should be litteraly written
This PR was merged into the 1.18-dev branch.
Discussion
----------
Let's talk about Twig 2.0
No big changes, just the removal of deprecated features and things already documented in the docs.
see #1525 for some discussions.
Commits
-------
72cc7d8 removed obsolete docs
a1d5374 removed obsolete raw tag
c15b426 removed deprecated Twig_Loader_String class
42bd35e updated CHANGELOG
886b863 removed the Autoloader as Composer provide one
73311f1 simplified code with finally
6d50f98 replaced array() by [] in *generated* PHP code
5388a13 removed usage of call_user_func when possible
a9fa64e replaced some functions by anonymous ones
6c3febc removed pre-1.8 autoescape tag syntax, removed true as a valid autoescape strategy
706d659 drop support for PHP 5.3 and 5.4
176f60d removed obsolete Twig_Simple* classes
df3d533 removed obsolete interfaces
f0a81e0 dropped support for PHP 5.2
bb30b98 udpated the docs for 2.0
9aae0a3 removed deprecated Node::toXml() method
dc04436 removed deprecated tests
2def83d added missing deprecation notices
558ca46 remove string casts from loader which was done for template reference objects, but this type of parameter is not contracted by the LoaderInterface
5eff1b1 remove unneeded string cast
6cbbe7c fixed a unit test as Twig_ExistsLoaderInterface has been merged into Twig_LoaderInterface
cd72eb7 simplified code
4be32fb simplified code
84ed354 simplified code
0b0385f removed the ability to register a global variable after the runtime or the extensions have been initialized
79f52aa improved the performance of the filesystem loader
d821ec2 removed deprecated Twig_Environment::removeExtension()
2d659ed removed deprecated token parser broker
13f8ed7 updated CHANGELOG
fbecccd emptied deprecated interfaces
80395d1 removed deprecated Twig_Test_* classes
d2c864d removed deprecated Twig_Function_* classes
4aef0c2 removed deprecated Twig_Filter_* classes
f9195a2 bumped version to 2.0.0-DEV