October 2, 2016 Javier Eguiluz

This week, Symfony development activity focused on performance. First, the FrameworkBundle made a lot of dependencies optional: Asset, Translation, Templating, Security Core, Doctrine annotations, etc. In addition, Twig extensions were refactored to separate their definition from their implementation. Lastly, this week the Symfony project reached the 500 million downloads milestone.

Symfony development highlights

2.7 changelog:

40c2cbd: [Finder] trim trailing directory slash in ExcludeDirectoryFilterIterator

07d4985: [Process] silent file operation to avoid open basedir issues

fd763ad: [VarDumper] fixed PHP 7.1 compatibility

da6c664: [Console] pretty format JSON fixtures

d2c050e: [TwigBundle] fix CacheWarmingTest are order dependent

c1c42a5: [Validator] made sure to process each interface metadata only once

8bfb8f2: [FrameworkBundle] fixed AddConstraintValidatorsPass config

2.8 changelog:

6717f2c: [Doctrine Bridge] fixed indexBy type extraction

2081bd9: [TwigBundle] adjust CacheWarmingTest for TemplateCacheWarmer

Master changelog:

57310e9: [FrameworkBundle] removed the Asset component dependency on FrameworkBundle

6acf54f: [FrameworkBundle] fixed yaml:lint when yaml is not installed along side framework-bundle

828570d: [FrameworkBundle] removed the Translation component dependency on FrameworkBundle

0e4523f: [FrameworkBundle] removed the Templating component dependency on FrameworkBundle

469818c: [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle

533c11c: [FrameworkBundle] added PHPStorm IDE to the list of file link formats

8da0c5a: [FrameworkBundle] removed the Doctrine Annotations lib dependency on FrameworkBundle

f2ed5fc: added Twig runtimes for critical Twig extensions and optimized them to not load extensions when the associated component is not installed

5228424: [Config] avoid loading non-needed class in prod

362a8ac: Twig extensions refatoring to decouple definitions from implementations

16489d6: [HttpKernel] avoid loading a class that's not-needed when doing HTTP

Newest issues and pull requests

Twig development highlights

Master changelog:

86e4c0d: added a recipe about how to use Twig and AngularJS together

f58cce7: deprecated Twig_ExtensionInterface::getName()

1704c48: added runtime extensions to allow filters/functions/tests implementation to use a different class than the extension they belong to

They talked about us