Commit Graph

4620 Commits

Author SHA1 Message Date
Maxime Steinhausser
e38be091ce [FrameworkBundle] framework.annotations default should be true only if doctrine/annotations is installed 2016-12-07 09:18:33 +01:00
Nicolas Grekas
dcf9fbb18c [HttpKernel] Fix annotation cache warmer with failing or missing classes 2016-12-02 15:52:29 +01:00
Robin Chalas
26f588a7b5 Fix unresolved parameters from default bundle configs in debug:config 2016-12-01 15:23:59 +01:00
Nicolas Grekas
695d10071b [FrameworkBundle] Resolve env params in debug:config command 2016-11-30 16:21:24 +01:00
Nicolas Grekas
a931002ca2 [FrameworkBundle] Forbid env parameters in routing configuration 2016-11-29 18:09:44 +01:00
Nicolas Grekas
bd5af67f08 Merge branch '3.1' into 3.2
* 3.1:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
  mark alias as private during creation
  [Serializer] Remove unused GetSetMethodNormalizer::denormalize
2016-11-29 12:12:32 +01:00
Christian Flothmann
828c76154f mark alias as private during creation 2016-11-28 07:44:24 +01:00
Fabien Potencier
24c40e0d22 bug #20601 [FrameworkBundle] Don't rely on any parent definition for "cache.annotations" (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[FrameworkBundle] Don't rely on any parent definition for "cache.annotations"

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Instead of a generic approach that failed in #20537, let's focus on the `cache.annotations` service, which is the one that needs special care because it can be required while the container is being built. See e.g.:
- #20234
- http://stackoverflow.com/questions/39625863/vichuploadbundle-inb-symfony-3-cant-load-cache-annotations-service/40626277
- https://github.com/schmittjoh/JMSDiExtraBundle/issues/262

When the service is required at build time, we can't provide it a logger, because no logger service is ready at that time. Still, that doesn't prevent the service from working. The late `CachePoolClearerPass` wires the logger for later instantiations so that `cache.annotations` has a properly configured logger *for the next requests*.

Commits
-------

f62b820 [FrameworkBundle] Dont rely on any parent definition for "cache.annotations"
2016-11-26 13:21:39 -08:00
Nicolas Grekas
5461c1ed53 Merge branch '3.1' into 3.2
* 3.1:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:32:42 +01:00
Nicolas Grekas
966d45f889 Merge branch '2.8' into 3.1
* 2.8:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:27:14 +01:00
Nicolas Grekas
4d04c40ae3 Merge branch '2.7' into 2.8
* 2.7:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:26:42 +01:00
Nicolas Grekas
e62b602dc4 bug #20374 [FrameworkBundle] Improve performance of ControllerNameParser (enumag)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Improve performance of ControllerNameParser

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Today I was searching for bottlenecks in my application using Blackfire. And among other things I found one in Symfony. Blackfire showed that `Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser::findAlternative()` was called almost 300 times which took 28 miliseconds.

It turns out that `Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader::load()` is calling `ControllerNameParser::parse()` without actually needing to do so because `$controller` is in the class::method notation already. `ControllerNameParser` threw an exception, DelegatingLoader caught and ignored it - that's ok. The problem is that generating the exception message took a lot of time because findAlternative is slow. In my case it called the levenshtein function over 5000 times which was completely useless because the exception is ignored anyway.

Commits
-------

cf333f3 [FrameworkBundle] Improve performance of ControllerNameParser
2016-11-25 13:12:15 +01:00
Jáchym Toušek
cf333f32c5 [FrameworkBundle] Improve performance of ControllerNameParser 2016-11-25 12:34:09 +01:00
Nicolas Grekas
b1e87714ab minor #20625 [FrameworkBundle] Add missing example for 'path' argument in debug:config (chalasr)
This PR was merged into the 3.2 branch.

Discussion
----------

[FrameworkBundle] Add missing example for 'path' argument in debug:config

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

The argument has been introduced in #18940 .

Commits
-------

c6b7aeb Add missing example for 'path' argument in debug:config
2016-11-25 11:03:22 +01:00
Nicolas Grekas
5e19c51bbd bug #20616 [Bridge/Doctrine] Use cache.prefix.seed parameter for generating cache namespace (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[Bridge/Doctrine] Use cache.prefix.seed parameter for generating cache namespace

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Exactly the same issue as in #20610, but for Doctrine ORM's cache:
> That's a design issue: using root_dir as discriminant doesn't work with blue/green deployment strategies, and doesn't prevent collision when different apps are deployed in the same path while sharing the same cache backend.

Commits
-------

5e3cbec [Bridge/Doctrine] Use cache.prefix.seed parameter for generating cache namespace
2016-11-25 10:51:05 +01:00
Nicolas Grekas
5e3cbecd54 [Bridge/Doctrine] Use cache.prefix.seed parameter for generating cache namespace 2016-11-25 10:37:59 +01:00
Grégoire Pineau
330c069604 [Workflow] Fixed graphviz dumper for state machine 2016-11-24 13:22:36 -08:00
Robin Chalas
c6b7aeb439
Add missing example for 'path' argument in debug:config 2016-11-24 21:38:42 +01:00
Nicolas Grekas
f62b82055b [FrameworkBundle] Dont rely on any parent definition for "cache.annotations" 2016-11-24 12:47:42 +01:00
Fabien Potencier
02b1e75757 Merge branch '3.1' into 3.2
* 3.1:
  [Filesystem] Remove extra argv in dumpFile() tests
  [DI] minor FileLoaders tests update
  [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
  [DOMCrawler] Bug fixed
  [FrameworkBundle] Mark cache.default_*_provider services private
  [Process] Do feat test before enabling TTY mode
  bumped Symfony version to 3.1.8
  updated VERSION for 3.1.7
  updated CHANGELOG for 3.1.7
  bumped Symfony version to 2.8.15
  updated VERSION for 2.8.14
  updated CHANGELOG for 2.8.14
  bumped Symfony version to 2.7.22
  updated VERSION for 2.7.21
  update CONTRIBUTORS for 2.7.21
  updated CHANGELOG for 2.7.21
  Fix annotation type for $context
  [Doctrine][Form] support large integers
2016-11-23 16:46:43 -08:00
Nicolas Grekas
82952bd43f [FrameworkBundle] Add framework.cache.prefix_seed for predictible cache key prefixes 2016-11-23 19:16:07 +01:00
Jordi Boggiano
cb12f2200d [FrameworkBundle] Avoid warming up the validator cache for non-existent classes 2016-11-21 16:13:32 -08:00
Nicolas Grekas
09adfda57e [FrameworkBundle] Mark cache.default_*_provider services private 2016-11-21 11:06:34 +01:00
Christian Flothmann
b1fb2a4a0a [Workflow] improve workflow config validation 2016-11-16 09:44:50 +01:00
Christian Flothmann
94a7e7ea88 [Workflow] streamline XML schema definition 2016-11-15 15:59:09 +01:00
Wouter J
6381caa0e2 Added XML support for Workflow configuration 2016-11-15 15:47:56 +01:00
Jules Pietri
91237c903b [FrameworkBundle] [Workflow] Fixed initial place config 2016-11-15 15:03:49 +01:00
Grégoire Pineau
e4e638056b minor #20492 [Workflow] Clarify validator API + fixed unknown "scalar" marking store (ro0NL)
This PR was squashed before being merged into the 3.2-dev branch (closes #20492).

Discussion
----------

[Workflow] Clarify validator API + fixed unknown "scalar" marking store

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no, if merged in 3.2
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

See also https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ValidateWorkflowsPass.php#L48

Commits
-------

a9cb38b [Workflow] Clarify validator API + fixed unknown "scalar" marking store
2016-11-15 10:46:40 +01:00
Roland Franssen
a9cb38bee3 [Workflow] Clarify validator API + fixed unknown "scalar" marking store 2016-11-15 10:46:39 +01:00
Fabien Potencier
b8cae3fa94 Merge branch '3.1'
* 3.1:
  [TwigBridge] fix tests
  Tag the FormFieldRegistry as being internal
  [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
  [FrameworkBundle] Register the ArrayDenormalizer
  [Serializer] Fix DataUriNormalizer's regex
  [Validator] Added missing swedish translation
  [TranslationDebug] workaround for getFallbackLocales.
  [Translation] fixed nested fallback catalogue  using multiple locales.
  fixed phpdoc
  [Command] Fixed method comments as phpDoc syntax
  Added single quotes for upgrade guides.
2016-11-14 08:20:13 -08:00
Fabien Potencier
61fea5a3f1 Merge branch '2.8' into 3.1
* 2.8:
  [TwigBridge] fix tests
  Tag the FormFieldRegistry as being internal
  [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
  [Validator] Added missing swedish translation
  [TranslationDebug] workaround for getFallbackLocales.
  [Translation] fixed nested fallback catalogue  using multiple locales.
  fixed phpdoc
  [Command] Fixed method comments as phpDoc syntax
  Added single quotes for upgrade guides.
2016-11-14 08:20:02 -08:00
Fabien Potencier
2cf474e2eb Merge branch '2.7' into 2.8
* 2.7:
  [TwigBridge] fix tests
  Tag the FormFieldRegistry as being internal
  [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
  [Validator] Added missing swedish translation
  [TranslationDebug] workaround for getFallbackLocales.
  [Translation] fixed nested fallback catalogue  using multiple locales.
  fixed phpdoc
  [Command] Fixed method comments as phpDoc syntax
2016-11-14 08:15:57 -08:00
Fabien Potencier
62533f322e bug #20432 [FrameworkBundle] Add --no-prefix option to translation:update (chalasr)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Add --no-prefix option to translation:update

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/20044
| License       | MIT
| Doc PR        | n/a

This adds an option `--no-prefix` to the `translation:update` command, allowing to use an empty string as prefix. I guess it should be treated as a feature as it adds a new option to the command, but it indeed fixes the bug reported in #20044 (yeah, really this time).

Commits
-------

b5a1584 [FrameworkBundle] Add --no-prefix option to translation:update
2016-11-11 07:53:50 -08:00
Kévin Dunglas
2eedafc231 [FrameworkBundle] Register the ArrayDenormalizer 2016-11-11 07:48:09 -08:00
Tobias Nyholm
caa3d6ffb3 [Workflow] Removed definition builder 2016-11-10 16:20:19 +01:00
Abdellatif Ait boudad
31deea1d3d [TranslationDebug] workaround for getFallbackLocales. 2016-11-09 20:23:10 +00:00
Nicolas Grekas
a81b048127 Merge branch '3.1'
* 3.1:
  [Cache] Make directory hashing case insensitive
2016-11-09 19:19:25 +01:00
Grégoire Pineau
08464c9f2c [Workfow] Rename current MarkingStore
* ScalarMarkingStore -> SingleStateMarkingStore
* PropertyAccessorMarkingStore -> MultipleStateMarkingStore

And I also made optionnal the `marking_store` config, to let the
componant choose the best marking store depending on the type
(state_machine or workflow).
2016-11-09 16:22:39 +01:00
Tobias Nyholm
ffaeba39fc [Workflow] Added Definition builder 2016-11-09 16:20:37 +01:00
Nicolas Grekas
6d4a658ab7 [Cache] Make directory hashing case insensitive 2016-11-09 15:09:05 +01:00
HeahDude
4fcce4c465 [FrameworkBundle] Fixed WorkflowCommand to support state machines 2016-11-09 13:57:17 +01:00
Julien Falque
dd69b8875d
Fix bundle commands are not available via find() 2016-11-07 20:38:43 +01:00
Robin Chalas
b5a1584c52
[FrameworkBundle] Add --no-prefix option to translation:update
Remove ending dot from option description for consistency
2016-11-07 20:37:55 +01:00
Fabien Potencier
b376d92320 Merge branch '3.1'
* 3.1:
  prefer getSourceContext() over getSource()
  [HttpFoundation] Avoid implicit null to array conversion in request matcher
  Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
  Update UPGRADE-2.7.md
2016-11-07 11:34:59 -08:00
Fabien Potencier
790e7dd74d Merge branch '2.8' into 3.1
* 2.8:
  prefer getSourceContext() over getSource()
  [HttpFoundation] Avoid implicit null to array conversion in request matcher
  Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
  Update UPGRADE-2.7.md
2016-11-07 11:34:53 -08:00
Fabien Potencier
570bebdcb3 Merge branch '2.7' into 2.8
* 2.7:
  prefer getSourceContext() over getSource()
  [HttpFoundation] Avoid implicit null to array conversion in request matcher
  Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
  Update UPGRADE-2.7.md
2016-11-07 11:34:39 -08:00
Grégoire Pineau
9e491982cf [Workflow] Made the code more robbust and ease on-boarding 2016-11-07 20:11:39 +01:00
Tobias Nyholm
bdd3f95da6 Make the Workflow support State Machines 2016-11-07 20:11:39 +01:00
Robin Chalas
b2fa7c4f07 Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
This reverts commit 3f650f864c, reversing
changes made to 962248dbd9.
2016-11-07 13:32:19 +01:00
Nicolas Grekas
7572a53b84 [Bridge\Monolog][FrameworkBundle] Add & wire a DebugProcessor 2016-11-05 10:30:35 +01:00
Nicolas Grekas
7e766dae4a erge branch '3.1'
* 3.1:
  Remove trailing space
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Console] simplified code
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 09:11:03 +01:00
Nicolas Grekas
63a626e4c8 Merge branch '2.8' into 3.1
* 2.8:
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Console] simplified code
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 09:04:31 +01:00
Nicolas Grekas
37956db606 Merge branch '2.7' into 2.8
* 2.7:
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 08:52:58 +01:00
Nicolas Grekas
0aca495522 minor #20364 CS: apply rules (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #20364).

Discussion
----------

CS: apply rules

| Q | A |
| --- | --- |
| Branch? | 2.7 |
| Bug fix? | no |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | n/a |
| Fixed tickets | - |
| License | MIT |
| Doc PR | - |

Commits
-------

22d4e15 CS: apply rules
2016-11-03 08:44:55 +01:00
Dariusz Ruminski
22d4e15634 CS: apply rules 2016-11-03 08:44:53 +01:00
Nicolas Grekas
87ef7235be Merge branch '3.1'
* 3.1:
  [PhpUnitBridge] Fix undefined variable
  Compatibility with Twig 1.27
  Remove extra line in doc-block comment
  [VarDumper] Fix dumping Twig source in stack traces
  Enhance GAE compat by removing some realpath()
  [DependencyInjection] Remove old code in XML loader
  bumped Symfony version to 3.1.7
  updated VERSION for 3.1.6
  updated CHANGELOG for 3.1.6
  bumped Symfony version to 2.8.14
  updated VERSION for 2.8.13
  updated CHANGELOG for 2.8.13
  bumped Symfony version to 2.7.21
  updated VERSION for 2.7.20
  update CONTRIBUTORS for 2.7.20
  updated CHANGELOG for 2.7.20
  [SecurityBundle] Fix twig-bridge lowest dep
2016-10-28 10:25:06 +02:00
Nicolas Grekas
b77d6d90c5 Merge branch '2.8' into 3.1
* 2.8:
  Compatibility with Twig 1.27
  [VarDumper] Fix dumping Twig source in stack traces
  Enhance GAE compat by removing some realpath()
  bumped Symfony version to 2.8.14
  updated VERSION for 2.8.13
  updated CHANGELOG for 2.8.13
  bumped Symfony version to 2.7.21
  updated VERSION for 2.7.20
  update CONTRIBUTORS for 2.7.20
  updated CHANGELOG for 2.7.20
  [SecurityBundle] Fix twig-bridge lowest dep
2016-10-28 10:18:15 +02:00
Nicolas Grekas
d12f26992b Merge branch '2.7' into 2.8
* 2.7:
  Compatibility with Twig 1.27
  Enhance GAE compat by removing some realpath()
  bumped Symfony version to 2.7.21
  updated VERSION for 2.7.20
  update CONTRIBUTORS for 2.7.20
  updated CHANGELOG for 2.7.20
  [SecurityBundle] Fix twig-bridge lowest dep
2016-10-28 10:10:49 +02:00
Nicolas Grekas
f2f232d599 Enhance GAE compat by removing some realpath() 2016-10-27 11:13:40 +02:00
Jérémy Romey
ba6bccabfe Added a default ide file link web view 2016-10-25 15:27:26 +02:00
Fabien Potencier
728034c44d Merge branch '3.1'
* 3.1:
  [TwigBundle] fixed usage of getSource in tests
  Trim constant values in XmlFileLoader
  move test to the HttpKernel component
  [TwigBridge] fixed Twig_Source required argument
  [HttpKernel] Fix a regression in the RequestDataCollector
  [HttpKernel] Refactor a RequestDataCollector test case to use a data provider
2016-10-22 18:13:47 -07:00
Fabien Potencier
d1e0ba973c Merge branch '2.8' into 3.1
* 2.8:
  [TwigBundle] fixed usage of getSource in tests
  Trim constant values in XmlFileLoader
  move test to the HttpKernel component
  [TwigBridge] fixed Twig_Source required argument
2016-10-22 18:13:38 -07:00
Fabien Potencier
5dfaf584fb Merge branch '2.7' into 2.8
* 2.7:
  [TwigBundle] fixed usage of getSource in tests
  Trim constant values in XmlFileLoader
  move test to the HttpKernel component
  [TwigBridge] fixed Twig_Source required argument
2016-10-22 18:13:14 -07:00
Christian Flothmann
c9ca322825 move test to the HttpKernel component 2016-10-22 11:18:43 +02:00
Nicolas Grekas
22f00a20ba Merge branch '3.1'
* 3.1:
  [2.8][PhpUnitBridge] Drop ErrorAssert in favor of @expectedDeprecation
  [3.1][PhpUnitBridge] Drop ErrorAssert in favor of @expectedDeprecation
2016-10-21 23:10:51 +02:00
Nicolas Grekas
5735255467 [3.1][PhpUnitBridge] Drop ErrorAssert in favor of @expectedDeprecation 2016-10-21 22:36:24 +02:00
Fabien Potencier
de4a650d8c Merge branch '3.1'
* 3.1:
  [TwigBridge] removed deprecations added in Twig 1.27
  PHP CS Fixer: use php_unit_dedicate_assert
  3.0 Upgrade Guide: Added details describing how to pass data to a form through the options resolver
  fixed Filesystem:makePathRelative and added 2 more testcases
  no 304 response if method is not cacheable
  move tags from decorated to decorating service
2016-10-17 21:30:21 -07:00
Fabien Potencier
f07bf03667 Merge branch '2.8' into 3.1
* 2.8:
  [TwigBridge] removed deprecations added in Twig 1.27
  PHP CS Fixer: use php_unit_dedicate_assert
  3.0 Upgrade Guide: Added details describing how to pass data to a form through the options resolver
  fixed Filesystem:makePathRelative and added 2 more testcases
  no 304 response if method is not cacheable
  move tags from decorated to decorating service
2016-10-17 21:30:12 -07:00
Fabien Potencier
ee8203a599 Merge branch '2.7' into 2.8
* 2.7:
  [TwigBridge] removed deprecations added in Twig 1.27
  PHP CS Fixer: use php_unit_dedicate_assert
  fixed Filesystem:makePathRelative and added 2 more testcases
  no 304 response if method is not cacheable
  move tags from decorated to decorating service
2016-10-17 21:28:30 -07:00
Dariusz Ruminski
b0df3a7eb9 PHP CS Fixer: use php_unit_dedicate_assert 2016-10-16 22:09:53 +02:00
Ryan Weaver
da7daee407 Removing the Controller::getUser() deprecation 2016-10-14 19:46:34 -04:00
Nicolas Grekas
f065095db7 Merge branch '3.1'
* 3.1:
  [travis] Test on PHP 7.1
  simplified code
  Remove unused variable
  3.0 Upgrade Guide: Added Table of Contents
  [HttpFoundation] add missing upgrade entry
  [FrameworkBundle] Convert null prefix to an empty string in translation:update command
  Improved the deprecation messages for service aliases
  [Serializer] minor: Remove an extra space in a YamlFileLoader error
  [HttpKernel] Clean ArgumentMetadataFactory::getType()
  [PropertyInfo] Fix edge cases in ReflectionExtractor
2016-10-13 08:29:04 +02:00
Nicolas Grekas
6d329d99fd Merge branch '2.8' into 3.1
* 2.8:
  [travis] Test on PHP 7.1
  simplified code
  Remove unused variable
  [FrameworkBundle] Convert null prefix to an empty string in translation:update command
  [PropertyInfo] Fix edge cases in ReflectionExtractor
2016-10-13 08:28:43 +02:00
Nicolas Grekas
7108c375a2 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Test on PHP 7.1
  [FrameworkBundle] Convert null prefix to an empty string in translation:update command
2016-10-13 08:28:24 +02:00
Fabien Potencier
3f650f864c bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Convert null prefix to an empty string in translation:update

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20044
| License       | MIT
| Doc PR        | n/a

This command needs the ability to use an empty string as prefix, which is not possible using `bin/console translation:update --prefix=""` because `$argv` doesn't parse empty strings thus the value is converted to `null` by `ArgvInput` (only since #19946, before the option was not considered to be set, giving the default `'__'` thus this should be fine from a BC pov).

Here I propose to explicitly convert the `prefix` value to an empty string if set to `null`, as it is a very specific need and we can't guess that from `ArgvInput`.
An other way to fix it could be to add a `--no-prefix` option to the command but I don't think it is worth it, and it couldn't be treated as a bug fix thus not fixed before `3.2`.

Commits
-------

f02b687 [FrameworkBundle] Convert null prefix to an empty string in translation:update command
2016-10-09 04:27:22 -07:00
Robin Chalas
f02b6876b4
[FrameworkBundle] Convert null prefix to an empty string in translation:update command 2016-10-09 13:14:32 +02:00
Nicolas Grekas
117bd4c305 Merge branch '3.1'
* 3.1:
  Minor fixes & cleanups
  [DependencyInjection] Add missing PHPDoc type
  Correct a typo in the ReflectionExtractor's description
  [HttpFoundation] JSONP callback validation
  [Console] Improved the explanation of the hasOption() method
  Uniformize exception vars according to our CS
  add missing use statement
  bug #18042 [Security] $attributes can be anything, but RoleVoter assumes strings
2016-10-06 10:59:27 +02:00
Fabien Potencier
d9dfed2976 Merge branch '2.8' into 3.1
* 2.8:
  [DependencyInjection] Add missing PHPDoc type
  Correct a typo in the ReflectionExtractor's description
  [HttpFoundation] JSONP callback validation
  [Console] Improved the explanation of the hasOption() method
  Uniformize exception vars according to our CS
  add missing use statement
  bug #18042 [Security] $attributes can be anything, but RoleVoter assumes strings
2016-10-05 18:44:51 -07:00
Fabien Potencier
f09b1ed561 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] JSONP callback validation
  [Console] Improved the explanation of the hasOption() method
  add missing use statement
  bug #18042 [Security] $attributes can be anything, but RoleVoter assumes strings
2016-10-05 18:43:09 -07:00
Christian Flothmann
32451b1a09 add missing use statement 2016-10-05 18:08:03 +02:00
Nicolas Grekas
9a2bc59205 Merge branch '3.1'
* 3.1:
  Fix event annotation for arguments resolving event
  [HttpKernel] Fix nullable types handling
  [FrameworkBundle] Alter container class instead of kernel name in cache:clear command
  [VarDumper] Fix ReflectionNamedType->getName() detection
  [Console] Fix validation of null values using SymfonyStyle::ask()
  [Validator] Add Czech and Slovak translations for BIC
  [Console] Escape default value and question in SymfonyStyle::ask()
2016-10-05 10:12:34 +02:00
Nicolas Grekas
f89789f49b Merge branch '2.8' into 3.1
* 2.8:
  [FrameworkBundle] Alter container class instead of kernel name in cache:clear command
  [VarDumper] Fix ReflectionNamedType->getName() detection
  [Console] Fix validation of null values using SymfonyStyle::ask()
  [Validator] Add Czech and Slovak translations for BIC
  [Console] Escape default value and question in SymfonyStyle::ask()
2016-10-05 10:09:31 +02:00
Nicolas Grekas
ed8ccd1689 Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Alter container class instead of kernel name in cache:clear command
  [Console] Fix validation of null values using SymfonyStyle::ask()
  [Console] Escape default value and question in SymfonyStyle::ask()
2016-10-05 10:09:05 +02:00
Fabien Potencier
63308cd492 minor #20101 Simplified link-to-source mapping definitions in debug.file_link_format (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

Simplified link-to-source mapping definitions in debug.file_link_format

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19950
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/7019

Having to json_encode here (or any other kind of encoding) is really tedious to deal with: it makes it hard to have things working quickly. `%f` and `%l` aren't encoded anyway, so let's use very unlikely chars as separators here also instead.

Commits
-------

27df38e Simplified link-to-source mapping definitions in debug.file_link_format
2016-10-04 19:32:40 -07:00
Nicolas Grekas
73c96939cd [FrameworkBundle] Alter container class instead of kernel name in cache:clear command 2016-10-04 16:32:03 +02:00
Fabien Potencier
53d2bdee76 Merge branch '2.8' into 3.1
* 2.8:
  Use "more entropy" option for uniqid()
  reset constraint options
  added checks for public services on compiler passes that use service id and not references
2016-10-03 08:50:10 -07:00
Fabien Potencier
8de92ab32d fixed Twig version 2016-10-01 08:45:01 -07:00
Fabien Potencier
b14c8e750b Merge branch '2.7' into 2.8
* 2.7:
  added checks for public services on compiler passes that use service id and not references
2016-10-01 08:39:05 -07:00
Fabien Potencier
996c1ee3cb added checks for public services on compiler passes that use service id and not references 2016-10-01 08:38:16 -07:00
Fabien Potencier
ee114d64f9 bug #20116 fixed AddConstraintValidatorsPass config (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

fixed AddConstraintValidatorsPass config

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

65131e2 added checks for public services on compiler passes that use service id and not references
2016-10-01 08:24:54 -07:00
Fabien Potencier
65131e2cbf added checks for public services on compiler passes that use service id and not references 2016-10-01 08:06:30 -07:00
Fabien Potencier
df3a485a86 reverted unneeded code 2016-09-30 11:45:21 -07:00
Fabien Potencier
8da0c5ada7 feature #20097 [FrameworkBundle] removed the Doctrine Annotations lib dependency on FrameworkBundle (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] removed the Doctrine Annotations lib dependency on FrameworkBundle

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes (fixing this is easy by adding doctrine/annotations explicitly)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15748 partially
| License       | MIT
| Doc PR        | n/a

Another PR to reduce the number of required dependencies on FrameworkBundle. This PR removes the Doctrine annotations library from the list.

Commits
-------

c2d8356 [FrameworkBundle] removed the Doctrine Annotations lib dependency on FrameworkBundle
2016-09-30 11:37:17 -07:00
Fabien Potencier
c2d8356cb6 [FrameworkBundle] removed the Doctrine Annotations lib dependency on FrameworkBundle 2016-09-30 09:58:09 -07:00
Martin Hasoň
450c37cb49 [FrameworkBundle] Add phpstorm ide 2016-09-30 14:10:15 +02:00
Nicolas Grekas
27df38e2f3 Simplified link-to-source mapping definitions in debug.file_link_format 2016-09-30 11:45:11 +01:00
Fabien Potencier
469818cceb feature #20075 [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

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

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (except for people using FrameworkBundle without requiring symfony/symfony which should be pretty rare; and fixing this is easy by adding symfony/security-core and symfony/security-csrf explicitly)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15748 partially
| License       | MIT
| Doc PR        | n/a

Another PR to reduce the number of required dependencies on FrameworkBundle. This PR removes the Security Core and CSRF components from the list.

Commits
-------

d703784 [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle
2016-09-28 10:27:44 -07:00
Fabien Potencier
0e4523fc31 feature #20072 [FrameworkBundle] removed the Templating component dependency on FrameworkBundle (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] removed the Templating component dependency on FrameworkBundle

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (except for people using FrameworkBundle without requiring symfony/symfony which should be pretty rare; and fixing this is easy by adding symfony/templating explicitly)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15748 partially
| License       | MIT
| Doc PR        | n/a

Another PR to reduce the number of required dependencies on FrameworkBundle. This PR removes the Templating component from the list.

I made most of the work in previous version, so this change is really just about adding a good error message when templating is not enabled. For the record, this is also in the path of making possible to use Symfony with Twig without using the Templating component indirection (I think that this is in fact the last step).

Commits
-------

b3de62f [FrameworkBundle] removed the Templating component dependency on FrameworkBundle
2016-09-28 10:25:38 -07:00
Fabien Potencier
d703784d1f [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle 2016-09-28 10:11:47 -07:00
Fabien Potencier
b3de62f0b3 [FrameworkBundle] removed the Templating component dependency on FrameworkBundle 2016-09-28 08:53:44 -07:00
Fabien Potencier
a496a2a1ad [FrameworkBundle] removed the Translation component dependency on FrameworkBundle 2016-09-28 08:31:25 -07:00
Fabien Potencier
6acf54f26b bug #20066 [FrameworkBundle] fix yaml:lint when yaml is not installed along side framework-bundle (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] fix yaml:lint when yaml is not installed along side framework-bundle

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

YAML is not an explicit dependency of FrameworkBundle. If it is not installed, the console is broken as the yaml:lint commands tries to extends the one in the YAML component. This bug only exists in master as this refactoring happened in 3.2

Commits
-------

b1c5a68 [FrameworkBundle] fixed yaml:lint when yaml is not installed along side framwork-bundle
2016-09-28 07:37:20 -07:00
Fabien Potencier
b1c5a686c8 [FrameworkBundle] fixed yaml:lint when yaml is not installed along side framwork-bundle 2016-09-28 07:20:56 -07:00
Fabien Potencier
1dd4e21fad [FrameworkBundle] removed the Asset component dependency on FrameworkBundle 2016-09-28 06:51:58 -07:00
Fabien Potencier
2318b60984 Merge branch '3.1'
* 3.1:
  expectedException expects FQCN
  Fixed expectedException annotations
  [Cache] Fix password used to make the redis connection.
  Security and validators messages translation to Latvian
  [Form] FormView->isRendered() remove dead code and simplify the flow
  Fixed issue with legacy find() method not working as expected
2016-09-24 08:57:00 -07:00
Fabien Potencier
90f6b30f81 Merge branch '2.8' into 3.1
* 2.8:
  expectedException expects FQCN
  Fixed expectedException annotations
  Security and validators messages translation to Latvian
  [Form] FormView->isRendered() remove dead code and simplify the flow
2016-09-24 08:56:48 -07:00
Fabien Potencier
b049d098d3 Merge branch '2.7' into 2.8
* 2.7:
  Fixed expectedException annotations
  Security and validators messages translation to Latvian
  [Form] FormView->isRendered() remove dead code and simplify the flow
2016-09-24 08:56:40 -07:00
Roland Franssen
b074a7156a Fixed expectedException annotations 2016-09-23 11:13:36 -07:00
Fabien Potencier
7f1f23257d feature #20012 [Translation] added Base Exception for the component. (aitboudad)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Translation] added Base Exception for the component.

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

0fa4397 [Translation] added Base Exception for the component.
2016-09-21 10:50:29 -07:00
Abdellatif Ait boudad
0fa4397b27 [Translation] added Base Exception for the component. 2016-09-21 18:16:56 +01:00
Christian Flothmann
fed3c3d0a0 [FrameworkBundle] add changes to upgrade file too 2016-09-21 18:58:17 +02:00
Fabien Potencier
9e8825bda7 removed obsolete images (since 2.2) 2016-09-21 07:17:40 -07:00
Fabien Potencier
8993c8c32f feature #19997 inlined some CSS (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

inlined some CSS

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

This PR has several goals:

* It fixes the discrepancy between where CSS files were stored (FrameworkBundle) and where there were used (TwigBundle);

* It removes the need to install the assets to get exceptions (think Silex, micro-kernel-based-edition, ...);

* It makes things consistent with how we already manage images for exceptions (they are inlined);

* It makes things consistent with how we manage assets for the web profiler.

Commits
-------

f354638 inlined some CSS
2016-09-21 07:15:58 -07:00
Fabien Potencier
f354638717 inlined some CSS 2016-09-21 07:14:31 -07:00
Fabien Potencier
84229f84fb Merge branch '3.1'
* 3.1:
  [TwigBridge] removed Twig null nodes (deprecated as of Twig 1.25)
  Make redis host configurable in tests
  [Console] Fix empty optionnal options with = separator in argv
2016-09-19 13:29:03 -07:00
Fabien Potencier
8b7c3d38b3 minor #19974 Make redis host configurable in tests (jakzal)
This PR was squashed before being merged into the 3.1 branch (closes #19974).

Discussion
----------

Make redis host configurable in tests

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Makes running tests on dockerized environments possible, since we can now export the `REDIS_HOST` environment variable:

```
REDIS_HOST=redis ./phpunit src/Symfony/Component/Cache
```

If this gets merged, in master we can later replace the `SYMFONY__REDIS_HOST` usage in the FrameworkBundle with the new `env(REDIS_HOST)`.

Commits
-------

c87de00 Make redis host configurable in tests
2016-09-19 12:25:04 -07:00
Jakub Zalas
c87de00e9a Make redis host configurable in tests 2016-09-19 12:25:01 -07:00
Christian Flothmann
9603ffa458 AccessDeniedException: rename object to subject
With this change the name is inline with what we use in the base voter
interface.
2016-09-19 13:01:06 +02:00
WouterJ
41a76494ec [HttpKernel] Use VarDumper in the profiler 2016-09-17 16:23:20 +02:00
Nicolas Grekas
f532322fe3 bug #19950 [FrameworkBundle] Parse source link maps using json_decode() instead of parse_str() (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Parse source link maps using json_decode() instead of parse_str()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | updated code exists only on master
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19807
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/6944

Because `parse_str()` turns some characters into underscores in keys (e.g. `.`).

Commits
-------

9b174fb [FrameworkBundle] Parse source link maps using json_decode() instead of parse_str()
2016-09-16 15:58:28 +02:00
Nicolas Grekas
9b174fb0c1 [FrameworkBundle] Parse source link maps using json_decode() instead of parse_str() 2016-09-16 15:37:46 +02:00
Fabien Potencier
835176c932 Merge branch '3.1'
* 3.1:
  added a comment about a workaround
  [Finder] no PHP warning on empty directory iteration
  [HttpKernel] Fixed the nullable support for php 7.1 and below
  fixed CS
  [Form] Fix typo in doc comment
  Fix version constraint
  [Config] Handle open_basedir restrictions in FileLocator
  Fixed bad merge
  [DoctrineBridge][PropertyInfo] Treat Doctrine decimal type as string
  [bugfix] [Console] Set `Input::$interactive` to `false` when command is executed with `--quiet` as verbosity level
  Use JSON_UNESCAPED_SLASHES for lint commands output
  Fixed collapsed ChoiceType options attributes
  [FrameworkBundle] Remove cache clearer default value in config
  Consider the umask setting when dumping a file.
  Fixed the nullable support for php 7.1 and below
  Make ReflectionExtractor compatible with ReflectionType changes in PHP 7.1
2016-09-14 15:49:28 -07:00
Fabien Potencier
47657e55d2 feature #19197 [Serializer][FrameworkBundle] Add a CSV encoder (dunglas)
This PR was squashed before being merged into the 3.2-dev branch (closes #19197).

Discussion
----------

[Serializer][FrameworkBundle] Add a CSV encoder

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | todo

Usage:

```php
use Symfony\Component\Serializer\Serializer;
use Symfony\Component\Serializer\Encoder\CsvEncoder;
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;

$serializer = new Serializer(array(new ObjectNormalizer()), array(new CsvEncoder()));
// or $serializer = $container->get('serializer'); when using the full stack framework
$serializer->encode($something, 'csv');
$serializer->decode(<<<'CSV'
id,name
1,Kévin
CSV
, 'csv');
```

CSV files must contain a header line with property names as keys.

ping @clementtalleu @Simperfit @gorghoa

Commits
-------

e71f5be [Serializer][FrameworkBundle] Add a CSV encoder
2016-09-14 15:14:31 -07:00
Kévin Dunglas
e71f5bea96 [Serializer][FrameworkBundle] Add a CSV encoder 2016-09-14 15:10:23 -07:00
Fabien Potencier
d6d6a47fcf feature #19326 [Serializer][FrameworkBundle] Add a YAML encoder (dunglas)
This PR was squashed before being merged into the 3.2-dev branch (closes #19326).

Discussion
----------

[Serializer][FrameworkBundle] Add a YAML encoder

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | todo

Add YAML support to the Serializer.

Commits
-------

9366a7d [Serializer][FrameworkBundle] Add a YAML encoder
2016-09-14 14:57:14 -07:00
Kévin Dunglas
9366a7dc77 [Serializer][FrameworkBundle] Add a YAML encoder 2016-09-14 14:57:11 -07:00
Fabien Potencier
68737ebbf3 feature #19485 [FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter (tgalopin)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | -
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Following the cache warmer for annotations PR (https://github.com/symfony/symfony/pull/18533), this PR introduces a cache warmer for YAML and XML Validator configuration.

Based on the PhpArrayAdapter, it uses the naming conventions (`Resources/config/validation`) to find the files and compile them into a single PHP file stored in the cache directory. This file uses shared memory on PHP 7.

The benefit of this PR are the same than the ones of the annotations PR:

- validation configuration can be warmed up offline
- on PHP 7, there is no need for user extension to get maximum performances (ie. if you use this PR and the other one, you probably won't need to enable APCu to have great performances)
- on PHP 7 again, we are not sensitive to APCu memory fragmentation
- last but not least, global performance is slightly better (I get 30us per class gain in Blackfire)

This PR also deprecates the framework.validator.cache key in favor of the cache pool introduced in https://github.com/symfony/symfony/pull/18544.

Commits
-------

6bdaf0b [FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter
2016-09-14 14:10:29 -07:00
Fabien Potencier
3416f2128d feature #19790 [FrameworkBundle] add support for prioritizing form type extension tags (dmaicher)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] add support for prioritizing form type extension tags

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19735
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/6958

This PR proposes to add support for `priority` on `form.type_extension` dependecyinjection tags to enable sorting/prioritizing form type extensions.

Issue was mentioned here: https://github.com/symfony/symfony/issues/19735

Commits
-------

a3db5f0 [FrameworkBundle] add support for prioritizing form type extension tags
2016-09-14 14:07:36 -07:00
Fabien Potencier
46dd1d5719 feature #19507 [FrameworkBundle] Introduce a cache warmer for Serializer based on PhpArrayAdapter (tgalopin)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Introduce a cache warmer for Serializer based on PhpArrayAdapter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Following the cache warmer for annotations (#18533) and for the validator (#19485), this PR introduces a cache warmer for the Serializer YAML and XML metadata configuration (mainly groups).

Based on the PhpArrayAdapter, it uses the naming conventions (Resources/config/serialization) to find the files and compile them into a single PHP file stored in the cache directory. This file uses shared memory on PHP 7.

The benefit of this PR are the same than the ones of the previous PR:

- serialization metadata cache can be warmed up offline
- on PHP 7, there is no need for user extension to get maximum performances (ie. if you use this PR and the other one, you probably won't need to enable APCu to have great performances)
- on PHP 7 again, we are not sensitive to APCu memory fragmentation
last but not least, global performance is slightly better (I get 30us per class gain in Blackfire)

As previous work on the Serializer cache system introduced issues (see 96e418a14f), it would be interesting to pay careful attention to the backward compatibility during the review (ping @Ener-Getick).

Commits
-------

810f469 [FrameworkBundle] Introduce a cache warmer for Serializer based on PhpArrayAdapter
2016-09-14 13:50:36 -07:00
Fabien Potencier
0d5dbb75ee Merge branch '2.8' into 3.1
* 2.8:
  [Form] Fix typo in doc comment
  [Config] Handle open_basedir restrictions in FileLocator
  [bugfix] [Console] Set `Input::$interactive` to `false` when command is executed with `--quiet` as verbosity level
  Use JSON_UNESCAPED_SLASHES for lint commands output
  Fixed collapsed ChoiceType options attributes
  Fixed the nullable support for php 7.1 and below
2016-09-14 13:33:02 -07:00
Fabien Potencier
be3a827ef1 Merge branch '2.7' into 2.8
* 2.7:
  [Form] Fix typo in doc comment
  [Config] Handle open_basedir restrictions in FileLocator
  [bugfix] [Console] Set `Input::$interactive` to `false` when command is executed with `--quiet` as verbosity level
  Use JSON_UNESCAPED_SLASHES for lint commands output
  Fixed collapsed ChoiceType options attributes
  Fixed the nullable support for php 7.1 and below
2016-09-14 13:31:12 -07:00
Fabien Potencier
059b4363d4 feature #19807 [FrameworkBundle] Add %debug.file_link_format% with remapping for IDE links (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Add %debug.file_link_format% with remapping for IDE links

| Q             | A
| ------------- | ---
| Branch?       | master
| New feature?  | yes
| Tests pass?   | yes
| Fixed tickets | #14340
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/6944

`templating.helper.code.file_link_format` is a parameter that requires templating to be defined, but holds a concept that is used beyond templating borders.
Let's make it a general parameter that can be injected easily when required.

Commits
-------

1c4ca8c [FrameworkBundle] Add %debug.file_link_format% with remapping for IDE links
2016-09-14 12:22:10 -07:00
Fabien Potencier
277c7fa6a8 feature #19891 [FrameworkBundle] Add cache:pool:clear command (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Add cache:pool:clear command

| Q             | A
| ------------- | ---
| Branch?       | master
| New feature?  | yes
| Tests pass?   | yes
| License       | MIT

Useful when deploying apps to get better control of cache pool clearing.

Commits
-------

37c5b18 [FrameworkBundle] Add cache:pool:clear command
2016-09-14 12:20:05 -07:00
Fabien Potencier
f9ccdd3db6 feature #19900 [FrameworkBundle] Add CachePoolClearerPass for weak cache pool refs in cache clearers (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Add CachePoolClearerPass for weak cache pool refs in cache clearers

| Q             | A
| ------------- | ---
| Branch?       | master
| New feature?  | yes
| Tests pass?   | yes
| License       | MIT

On 3.1, when a cache pool is private and not injected anywhere, it is still added to its clearer service.
The `CachePoolClearerPass` fixes this by referencing pools in clearers only after the removing passes.

Commits
-------

c4b9f7d [FrameworkBundle] Add CachePoolClearerPass for weak cache pool refs in cache clearers
2016-09-14 12:17:33 -07:00
Nicolas Grekas
1c4ca8c9a4 [FrameworkBundle] Add %debug.file_link_format% with remapping for IDE links 2016-09-14 21:12:42 +02:00
Nicolas Grekas
37c5b183e5 [FrameworkBundle] Add cache:pool:clear command 2016-09-14 11:09:26 +02:00
Fabien Potencier
26e2846c8a bug #19904 [Form] Fixed collapsed ChoiceType options attributes (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed collapsed ChoiceType options attributes

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19898
| License       | MIT
| Doc PR        | ~

Commits
-------

7806e2a Fixed collapsed ChoiceType options attributes
2016-09-13 17:22:22 -07:00
Fabien Potencier
c2b660dc60 bug #19893 [FrameworkBundle] Remove cache clearer default value in config (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[FrameworkBundle] Remove cache clearer default value in config

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes
| Tests pass?   | yes
| License       | MIT

`cache.default_clearer` is already the default behavior (tested), but duplicating this in the configuration prevents inheriting the `clearer` setting when configuring child pools.

Commits
-------

193542f [FrameworkBundle] Remove cache clearer default value in config
2016-09-13 17:01:35 -07:00
Fabien Potencier
946b96b70d bug #19922 [Yaml][TwigBridge] Use JSON_UNESCAPED_SLASHES for lint commands output (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml][TwigBridge] Use JSON_UNESCAPED_SLASHES for lint commands output

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Slashes are escaped when sing the `lint:twig` and `lint:yaml` commands with the `format` option set to `json`, giving such results:

```json
[
    {
        "file": "yaml\/wrong\/1.yml",
        "valid": false,
        "message": "Unable to parse at line 1 (near \";:cc`\")."
    }
]
```

That's not convenient as file paths may be reused (e.g. copy-pasted).
Results stay fine as error messages are already escaped:

```json
[
    {
        "file": "yaml/wrong/1.yml",
        "valid": false,
        "message": "Unable to parse at line 1 (near \";:cc`\")."
    }
]
```

Commits
-------

0427594 Use JSON_UNESCAPED_SLASHES for lint commands output
2016-09-13 16:35:36 -07:00
Jakub Zalas
d093c406ca [FrameworkBundle] Fix TranslationUpdateCommand tests after a merge 2016-09-13 11:19:55 +01:00
Robin Chalas
04275945ef
Use JSON_UNESCAPED_SLASHES for lint commands output 2016-09-12 23:15:58 +02:00
Nicolas Grekas
f5c1b1c077 Merge branch '3.1'
* 3.1:
  [travis/appveyor] Wire simple-phpunit
  [Console] fixed PHP7 Errors are now handled and converted to Exceptions
  Fix #19721
  Fix translation:update command count
  bumped Symfony version to 2.8.12
  updated VERSION for 2.8.11
  updated CHANGELOG for 2.8.11
  bumped Symfony version to 2.7.19
  updated VERSION for 2.7.18
  update CONTRIBUTORS for 2.7.18
  updated CHANGELOG for 2.7.18
  [Security] Optimize RoleHierarchy's buildRoleMap method
  [FrameworkBundle] Fix Incorrect line break in exception message (500 debug page)
  [Security] Added note inside phpdoc.
  Minor cleanups and improvements
  [form] lazy trans `post_max_size_message`.
  [DI] Fix setting synthetic services on ContainerBuilder
  [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1)
2016-09-12 21:03:45 +02:00
Fabien Potencier
fad40286ee Merge branch '2.8' into 3.1
* 2.8:
  [travis/appveyor] Wire simple-phpunit
  [Console] fixed PHP7 Errors are now handled and converted to Exceptions
  Fix #19721
  Fix translation:update command count
  bumped Symfony version to 2.8.12
  updated VERSION for 2.8.11
  updated CHANGELOG for 2.8.11
  bumped Symfony version to 2.7.19
  updated VERSION for 2.7.18
  update CONTRIBUTORS for 2.7.18
  updated CHANGELOG for 2.7.18
  [Security] Optimize RoleHierarchy's buildRoleMap method
2016-09-12 11:17:37 -07:00
Nicolas Grekas
c4b9f7db67 [FrameworkBundle] Add CachePoolClearerPass for weak cache pool refs in cache clearers 2016-09-11 22:09:22 +02:00
HeahDude
7806e2a05d Fixed collapsed ChoiceType options attributes 2016-09-11 01:56:49 +02:00
David Maicher
a3db5f06c9 [FrameworkBundle] add support for prioritizing form type extension tags 2016-09-09 19:24:04 +02:00
Nicolas Grekas
193542f84f [FrameworkBundle] Remove cache clearer default value in config 2016-09-09 13:10:26 +02:00
Titouan Galopin
ffdd15ee06 Fix translation:update command count 2016-09-07 10:57:26 +02:00
Fabien Potencier
86f8d74ba1 Merge branch '2.8' into 3.1
* 2.8:
  [FrameworkBundle] Fix Incorrect line break in exception message (500 debug page)
  [Security] Added note inside phpdoc.
  Minor cleanups and improvements
  [form] lazy trans `post_max_size_message`.
  [DI] Fix setting synthetic services on ContainerBuilder
  [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1)
2016-09-06 16:30:54 -07:00
Fabien Potencier
9e9b41d0ea Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Fix Incorrect line break in exception message (500 debug page)
  Minor cleanups and improvements
  [form] lazy trans `post_max_size_message`.
  [DI] Fix setting synthetic services on ContainerBuilder
  [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1)
2016-09-06 16:19:39 -07:00
Robin Chalas
f2e30bcc58
Use DI exceptions in components compiler passes 2016-09-07 01:13:31 +02:00
Pedro Resende
1393e3e913 [FrameworkBundle] Fix Incorrect line break in exception message (500 debug page) 2016-09-06 15:45:52 -07:00
Nicolas Grekas
a2a442b554 Merge branch '3.1'
* 3.1:
  [FrameworkBundle] Check for class existence before is_subclass_of
  Update GroupSequence.php
  Code enhancement and cleanup
  [Form] Fix transformer tests after the ICU update
  [DI] Add anti-regression test
  Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"
  bumped Symfony version to 3.1.5
  updated VERSION for 3.1.4
  updated CHANGELOG for 3.1.4
  bumped Symfony version to 2.8.11
  updated VERSION for 2.8.10
  updated CHANGELOG for 2.8.10
  [BrowserKit] Fix cookie expiration on 32 bit systems
  bumped Symfony version to 2.7.18
  updated VERSION for 2.7.17
  update CONTRIBUTORS for 2.7.17
  updated CHANGELOG for 2.7.17
  Update misleading comment about RFC4627
2016-09-06 13:07:23 +02:00
Nicolas Grekas
c5aa4f0a7e Merge branch '2.8' into 3.1
* 2.8:
  [FrameworkBundle] Check for class existence before is_subclass_of
  Update GroupSequence.php
  Code enhancement and cleanup
  [Form] Fix transformer tests after the ICU update
  [DI] Add anti-regression test
  Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"
  bumped Symfony version to 2.8.11
  updated VERSION for 2.8.10
  updated CHANGELOG for 2.8.10
  [BrowserKit] Fix cookie expiration on 32 bit systems
  bumped Symfony version to 2.7.18
  updated VERSION for 2.7.17
  update CONTRIBUTORS for 2.7.17
  updated CHANGELOG for 2.7.17
  Update misleading comment about RFC4627
2016-09-06 13:02:40 +02:00
Nicolas Grekas
ccf63e6b8d Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Check for class existence before is_subclass_of
  Update GroupSequence.php
  Code enhancement and cleanup
  [DI] Add anti-regression test
  Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"
  [BrowserKit] Fix cookie expiration on 32 bit systems
  bumped Symfony version to 2.7.18
  updated VERSION for 2.7.17
  update CONTRIBUTORS for 2.7.17
  updated CHANGELOG for 2.7.17
  Update misleading comment about RFC4627
2016-09-06 12:55:00 +02:00
Nicolas Grekas
8693611b12 bug #19842 [FrameworkBundle] Check for class existence before is_subclass_of (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Check for class existence before is_subclass_of

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Same as #19342

Commits
-------

8a9e0f5 [FrameworkBundle] Check for class existence before is_subclass_of
2016-09-06 11:20:32 +02:00
Robin Chalas
8a9e0f526d [FrameworkBundle] Check for class existence before is_subclass_of 2016-09-06 10:59:36 +02:00
Yonel Ceruto
325da3c0d8 Code enhancement and cleanup 2016-09-06 09:26:07 +02:00
Fabien Potencier
816a3349ed minor #19774 [TwigBundle] Use vector images on the exception page (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[TwigBundle] Use vector images on the exception page

| Q             | A
| ------------- | ---
| Branch?       | master
| New feature?  | yes
| Tests pass?   | yes
| Fixed tickets | #19756
| License       | MIT

Before:
![capture du 2016-08-29 15-40-37](https://cloud.githubusercontent.com/assets/243674/18053289/f5ab33cc-6dfe-11e6-94cf-720098c214d8.png)

After:
![capture du 2016-08-29 21-00-36](https://cloud.githubusercontent.com/assets/243674/18063547/b274f520-6e2b-11e6-95cd-180ccb4cbf28.png)

Ghost SVG provided by  @patrick-mcdougle, thanks to him.

Commits
-------

1a3a4be [TwigBundle] Use vector images on the exception page
2016-08-30 10:02:24 -07:00
Nicolas Grekas
1a3a4be10d [TwigBundle] Use vector images on the exception page 2016-08-29 21:00:23 +02:00
Nicolas Grekas
d2d4b3ca82 [Yaml] Fix test scanning the full tmp directory 2016-08-29 17:14:38 +02:00
Nicolas Grekas
0cf50e2788 Merge branch '3.1'
* 3.1:
  fix typo
  add "provides" for psr/cache-implementation
  [Validator][GroupSequence] fixed GroupSequence validation ignores PropertyMetadata of parent classes
  [FrameworkBundle][Security] Remove useless mocks
  Add symfony/inflector to composer.json "replaces"
  [DoctrineBridge] Enhance exception message in EntityUserProvider
  added friendly exception when constraint validator does not exist or it is not enabled
  remove duplicate instruction
  [FrameworkBundle] Remove TranslatorBagInterface check
  [FrameworkBundle] Remove duplicated code in RouterDebugCommand
  [Validator] fixed duplicate constraints with parent class interfaces
  SecurityBundle:BasicAuthenticationListener: removed a default argument on getting a header value
2016-08-26 14:08:28 +02:00
Nicolas Grekas
224ebc0aff Merge branch '2.8' into 3.1
* 2.8:
  [Validator][GroupSequence] fixed GroupSequence validation ignores PropertyMetadata of parent classes
  [FrameworkBundle][Security] Remove useless mocks
  [DoctrineBridge] Enhance exception message in EntityUserProvider
  added friendly exception when constraint validator does not exist or it is not enabled
  remove duplicate instruction
  [FrameworkBundle] Remove TranslatorBagInterface check
  [FrameworkBundle] Remove duplicated code in RouterDebugCommand
  [Validator] fixed duplicate constraints with parent class interfaces
  SecurityBundle:BasicAuthenticationListener: removed a default argument on getting a header value
2016-08-26 14:04:02 +02:00
Nicolas Grekas
b05de7d2be Merge branch '2.7' into 2.8
* 2.7:
  [Validator][GroupSequence] fixed GroupSequence validation ignores PropertyMetadata of parent classes
  [FrameworkBundle][Security] Remove useless mocks
  [DoctrineBridge] Enhance exception message in EntityUserProvider
  added friendly exception when constraint validator does not exist or it is not enabled
  remove duplicate instruction
  [FrameworkBundle] Remove TranslatorBagInterface check
  [FrameworkBundle] Remove duplicated code in RouterDebugCommand
  [Validator] fixed duplicate constraints with parent class interfaces
  SecurityBundle:BasicAuthenticationListener: removed a default argument on getting a header value
2016-08-26 13:57:43 +02:00
Fabien Potencier
6de4359e4b minor #19736 [FrameworkBundle][Security] Remove useless mocks (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle][Security] Remove useless mocks

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Removes mocks causing issues in https://github.com/symfony/symfony/pull/19734.

Commits
-------

fcd3345 [FrameworkBundle][Security] Remove useless mocks
2016-08-25 10:52:51 -07:00
Ener-Getick
fcd3345e34
[FrameworkBundle][Security] Remove useless mocks 2016-08-25 14:52:03 +02:00
Yonel Ceruto
b66ea5e16e added friendly exception when constraint validator does not exist or it is not enabled 2016-08-24 03:54:03 -07:00
Fabien Potencier
f5f1e103c4 feature #19687 [FrameworkBundle] Use relative paths in templates paths cache (tgalopin)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Use relative paths in templates paths cache

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #3079
| License       | MIT
| Doc PR        | -

This implements the usage of relative paths instead of absolute ones in `var/cache/*/templates.php`, important for ability to build the cache in a different context than where it will be used.

This PR transforms the following `templates.php`:

``` php
<?php return array (
  ':default:index.html.twig' => '/home/tgalopin/www/symfony-standard/app/Resources/views/default/index.html.twig',
  '::base.html.twig' => '/home/tgalopin/www/symfony-standard/app/Resources/views/base.html.twig',
);
```

Into:

``` php
<?php return array (
  ':default:index.html.twig' => __DIR__.'/../../../app/Resources/views/default/index.html.twig',
  '::base.html.twig' => __DIR__.'/../../../app/Resources/views/base.html.twig',
);
```

I also added tests for the TemplateCachePathsWarmer and improved tests for the TemplateLocator.

Commits
-------

6f6139c [FrameworkBundle] Use relative paths in templates paths cache
2016-08-23 10:17:40 -07:00
Fabien Potencier
d30c3184df minor #19713 [FrameworkBundle] Remove duplicated code in RouterDebugCommand (JhonnyL)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Remove duplicated code in RouterDebugCommand

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

20a69aa [FrameworkBundle] Remove duplicated code in RouterDebugCommand
2016-08-23 10:14:32 -07:00
JhonnyL
fd27801cf1 [FrameworkBundle] Remove TranslatorBagInterface check 2016-08-23 10:02:31 -07:00
JhonnyL
20a69aa1cf [FrameworkBundle] Remove duplicated code in RouterDebugCommand 2016-08-23 14:39:28 +02:00
Fabien Potencier
c14fff01a4 minor #19656 [FrameworkBundle][Debug] Fix default config and cleaning of traces (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle][Debug] Fix default config and cleaning of traces

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| Tests pass?   | yes
| Fixed tickets | Follow up #19568
| License       | MIT
| Doc PR        | -

The default value of `framework.php_errors.log` must be `%kernel.debug%` to have deprecations and silenced errors logged in dev as before.

Cleaning the trace was broken because a closure can't be bound to an internal class.

This PR fixes both issues and enhance trace cleaning a bit by removing arguments from traces so that they take less memory when collected as part of the context of log messages.

Commits
-------

f640870 [FrameworkBundle][Debug] Fix default config and cleaning of traces
2016-08-22 10:31:21 -07:00
Titouan Galopin
6f6139c549 [FrameworkBundle] Use relative paths in templates paths cache 2016-08-22 14:30:54 +02:00
Nicolas Grekas
72dfda914d Merge branch '3.1'
* 3.1:
  Disable CLI color for Windows 10 greater than 10.0.10586
  Exception details break the layout
  [HttpKernel] Remove wrong docblock
  [HttpKernel] Fix HttpCache validation HTTP method
  [FrameworkBundle] Fix default lifetime of cache pools
  Move space from the before 'if' to the after 'if'
  [TwigBundle] Add a check for choice's attributes emptiness before calling block('attributes')
2016-08-19 08:48:55 +02:00
Nicolas Grekas
f6408702b8 [FrameworkBundle][Debug] Fix default config and cleaning of traces 2016-08-18 18:41:56 +02:00
Titouan Galopin
810f4694af [FrameworkBundle] Introduce a cache warmer for Serializer based on PhpArrayAdapter 2016-08-17 20:09:37 +02:00
Grégoire Pineau
8f245493f4 [Debug] Better error handling
1. Send the raw exception in the log context instead of custom formatting
2. Add config option to log in Symfony all PHP errors
2016-08-17 17:20:26 +02:00
Nicolas Grekas
ec603d3c7f [FrameworkBundle] Fix default lifetime of cache pools 2016-08-17 13:39:34 +02:00
Nicolas Grekas
77e0161870 Merge branch '3.1'
* 3.1:
  [Routing] Add missing options in docblock
  [VarDumper] Fix dumping continuations
  [PropertyInfo] Fix an error in PropertyInfoCacheExtractor
  [HttpFoundation] fixed Request::getContent() reusage bug
  [Form] Skip CSRF validation on form when POST max size is exceeded
  Use try-finally where it possible
  [DependencyInjection] ContainerBuilder: Remove obsolete definitions
  Enhance the phpDoc return types so IDEs can handle the configuration tree.
  fixes
  Remove 3.0 from branch suggestions for fixes in PR template
  [Process] Strengthen Windows pipe files opening (again...)
  [Cache] Handle unserialize() failures gracefully
  Fix #19531 [Form] DateType fails parsing when midnight is not a valid time
2016-08-16 18:09:30 +02:00
Fabien Potencier
d7f8ca72e8 Merge branch '2.8' into 3.1
* 2.8:
  [Routing] Add missing options in docblock
  [VarDumper] Fix dumping continuations
  [HttpFoundation] fixed Request::getContent() reusage bug
  [Form] Skip CSRF validation on form when POST max size is exceeded
  Enhance the phpDoc return types so IDEs can handle the configuration tree.
  fixes
  Remove 3.0 from branch suggestions for fixes in PR template
  [Process] Strengthen Windows pipe files opening (again...)
  Fix #19531 [Form] DateType fails parsing when midnight is not a valid time
2016-08-16 07:58:24 -07:00
Fabien Potencier
609ee2df0a Merge branch '2.7' into 2.8
* 2.7:
  [Routing] Add missing options in docblock
  [VarDumper] Fix dumping continuations
  [HttpFoundation] fixed Request::getContent() reusage bug
  [Form] Skip CSRF validation on form when POST max size is exceeded
  Enhance the phpDoc return types so IDEs can handle the configuration tree.
  fixes
  Remove 3.0 from branch suggestions for fixes in PR template
  [Process] Strengthen Windows pipe files opening (again...)
  Fix #19531 [Form] DateType fails parsing when midnight is not a valid time
2016-08-16 07:56:08 -07:00
Fabien Potencier
1a059e54cf bug #19373 [Form] Skip CSRF validation on form when POST max size is exceeded (jameshalsall)
This PR was squashed before being merged into the 2.7 branch (closes #19373).

Discussion
----------

[Form] Skip CSRF validation on form when POST max size is exceeded

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19140
| License       | MIT
| Doc PR        | N/A

In #19140 the CSRF validation listener was not aware that the POST max size had exceeded, and was adding a form error message that wasn't relevant to the actual error.

This introduces the `ServerParams` utility class into the `CsrfValidationListener` and checks that the POST max size has not been exceeded. If it has then it won't bother trying to validate the CSRF token.

My main concern with this change is that it opens up an attack vector around tokens, but I've encapsulated the request size validation in a single method in `ServerParams` now so that the request handlers are using the same logic.

Commits
-------

289531f [Form] Skip CSRF validation on form when POST max size is exceeded
2016-08-15 15:45:28 -07:00
James Halsall
289531f0d0 [Form] Skip CSRF validation on form when POST max size is exceeded 2016-08-15 15:45:25 -07:00
Titouan Galopin
6bdaf0bceb [FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter 2016-08-11 14:01:30 +02:00
Fabien Potencier
90f7ff50c8 feature #19473 [Security] Expose the required roles in AccessDeniedException (Nicofuma)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Security] Expose the required roles in AccessDeniedException

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

Nowadays it is more and more common to protect some sensitive actions and part of a website using 2FA or some re-authentication mechanism (per example, on Github you have to enter your password again when you add an ssh key). But currently, in Symfony, it is really hard to implement without having to duplicate the logic, provide an explicit list of URLs to protect or hack into the security component.

A good way to achieve that would be to add a special role (like IS_AUTHENTICATED_FULLY) and use it in the access map. But it requires us to be able to have a custom logic in an ExceptionListener depending on the roles behind an AccessDeniedException.

With this patch we could write an ExceptionListener of this kind (a similar logic could also be used in an AccessDeniedHandler):

```php
    public function onKernelException(GetResponseForExceptionEvent $event)
    {
        $exception = $event->getException();
        do {
            if ($exception instanceof AccessDeniedException) {
                foreach ($exception->getAttributes() as $role) {
                    if ($role === 'IS_AUTHENTICATED_2FA' && !$this->accessDecisionManager->decide($this->tokenStorage->getToken(), $role, $exception->getObject())) {
                        // Start 2FA
                    }
                }
            }
        } while (null !== $exception = $exception->getPrevious());
    }
```

Replaces #18661

Commits
-------

6618c18 [Security] Expose the required roles in AccessDeniedException
2016-08-09 06:40:33 -07:00
Nicolas Grekas
6f390d45e3 Merge branch '2.8' into 3.1
* 2.8:
  Relax 1 test failing with latest PHP versions
  bumped Symfony version to 2.8.10
  Remove usage of __CLASS__ outside of a class
  [HttpKernel] Fix variable conflicting name
  [Process] Fix double-fread() when reading unix pipes
  [Process] Fix AbstractPipes::write() for a situation seen on HHVM (at least)
  [Validator] Fix dockblock typehint in XmlFileLoader
  bumped Symfony version to 2.8.10
  updated VERSION for 2.8.9
  updated CHANGELOG for 2.8.9
  bumped Symfony version to 2.7.17
  updated VERSION for 2.7.16
  update CONTRIBUTORS for 2.7.16
  updated CHANGELOG for 2.7.16
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable

Conflicts:
	CHANGELOG-2.7.md
	CHANGELOG-3.0.md
	src/Symfony/Bridge/Swiftmailer/DataCollector/MessageDataCollector.php
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
	src/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php
	src/Symfony/Component/Console/Tests/Helper/TableTest.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/legacy-container9.php
	src/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2016-08-05 10:37:39 +02:00
Fabien Potencier
35b0ab9527 feature #18533 [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations (tgalopin)
This PR was squashed before being merged into the 3.2-dev branch (closes #18533).

Discussion
----------

[FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | WIP
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Depends on https://github.com/symfony/symfony/pull/18825 and https://github.com/symfony/symfony/pull/18823

This PR implements the usage of the new OpCacheAdapter in the annotations caching system. The idea to use this adapter as much as possible in Symfony (validator, serializer, ...). These other implementations will be the object of different PRs.

Commits
-------

f950a2b [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations
2016-07-30 03:40:02 -04:00
Titouan Galopin
f950a2bcde [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations 2016-07-30 03:40:00 -04:00
Fabien Potencier
851a0a11d0 Merge branch '3.1'
* 3.1:
  Minor fixes
  [Cache] Fix abstract AdapterTestCase cache property
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-30 03:26:43 -04:00
Fabien Potencier
273eb480f8 Merge branch '3.0' into 3.1
* 3.0:
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-30 03:24:41 -04:00
Fabien Potencier
ca71e7489f Merge branch '2.8' into 3.0
* 2.8:
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-30 03:22:48 -04:00
Fabien Potencier
ec1808f0cb Merge branch '2.7' into 2.8
* 2.7:
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
2016-07-30 03:20:35 -04:00
Vyacheslav Pavlov
774c984863 Minor fixes 2016-07-30 03:17:26 -04:00
Tristan Darricau
6618c18acb
[Security] Expose the required roles in AccessDeniedException 2016-07-29 17:08:58 +02:00
Roland Franssen
fcddb3a9c9 [Console][FrameworkBundle] Revised console header formatting 2016-07-29 05:54:38 -04:00
Nicolas Grekas
b6bbe43b4b Merge branch '3.1'
* 3.1:
  [TwigBundle] Removed redundant return statement.
  enable property info
  [Cache] Fix default lifetime being ignored
  [DependencyInjection] Fixed deprecated default message template with XML
  Reference the actual location of the documentation
  [TwigBridge] Removed extra arguments in 2 places.
  [Cache] Fix incorrect timestamps generated by FilesystemAdapter
  [Process] Fix write access check for pipes on Windows
  [HttpKernel] Use flock() for HttpCache's lock files

Conflicts:
	src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php
2016-07-28 13:15:50 +02:00
David Badura
c02933dba3 enable property info 2016-07-27 10:27:32 +02:00
Nicolas Grekas
194dcf3b5d Merge branch '3.1'
* 3.1:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/Console/Application.php
2016-07-26 10:08:27 +02:00
Nicolas Grekas
54043a084f Merge branch '3.0' into 3.1
* 3.0:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag
2016-07-26 10:04:17 +02:00
Nicolas Grekas
667ad70127 Merge branch '2.8' into 3.0
* 2.8:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/Finder/Tests/Shell/CommandTest.php
2016-07-26 10:03:56 +02:00