Commit Graph

1336 Commits

Author SHA1 Message Date
Fabien Potencier
903f120816 Revert "bug #25151 [FrameworkBundle] Automatically enable the CSRF protection if CSRF manager exists (sroze)"
This reverts commit d5f04284f9, reversing
changes made to e52825e253.
2017-12-14 17:44:04 -08:00
Fabien Potencier
8013b4b2d3 Revert "bug #25502 Fixing wrong class_exists on interface (weaverryan)"
This reverts commit 5fd5f19eaf, reversing
changes made to 826d545ba0.
2017-12-14 17:44:00 -08:00
Nicolas Grekas
e5d178e55a Merge branch '2.8' into 3.3
* 2.8:
  [FrameworkBundle] remove esi/ssi renderers if inactive
2017-12-14 21:27:16 +01:00
Nicolas Grekas
39bcfd4702 Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] remove esi/ssi renderers if inactive
2017-12-14 21:21:22 +01:00
Fabien Potencier
0116c32c71 Merge branch '3.4' into 4.0
* 3.4:
  fixed wrong merge
  Tweak message to be Flex friendly
  [Routing] fixed tests
  Fixing wrong class_exists on interface
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
  Take advantage of AnnotationRegistry::registerUniqueLoader
  [DI] Optimize Container::get() for perf
  fix merge
  Fix tests
  Refactoring tests.
2017-12-14 11:48:22 -08:00
Fabien Potencier
032de3abf4 Merge branch '3.3' into 3.4
* 3.3:
  Tweak message to be Flex friendly
2017-12-14 11:45:05 -08:00
Fabien Potencier
5fd5f19eaf bug #25502 Fixing wrong class_exists on interface (weaverryan)
This PR was merged into the 3.4 branch.

Discussion
----------

Fixing wrong class_exists on interface

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        | symfony/symfony-docs#8873 already does not mention changing anything in the config

This was a bug introduced in #25151 on the 3.4 branch. It's... pretty self-explanatory I hope :).

Cheers!

Commits
-------

be75bd994b Fixing wrong class_exists on interface
2017-12-14 11:42:48 -08:00
Fabien Potencier
826d545ba0 fixed wrong merge 2017-12-14 11:41:37 -08:00
Fabien Potencier
e7cccb0575 fixed tests 2017-12-14 11:40:10 -08:00
Ryan Weaver
eaf5642b95
Tweak message to be Flex friendly 2017-12-14 11:37:45 -08:00
Ryan Weaver
be75bd994b
Fixing wrong class_exists on interface 2017-12-14 11:30:58 -08:00
David Maicher
e1c36525fd [FrameworkBundle] remove esi/ssi renderers if inactive 2017-12-13 20:39:50 +01:00
Yonel Ceruto
16af89045a Remove redundant translation path 2017-12-12 23:37:05 -05:00
Jonathan Johnson
97c3f429eb
Take advantage of AnnotationRegistry::registerUniqueLoader
This method will only add 'class_exists' as an autoloader if it has not
already been added. This helps alleviate a performance issue when the
same loader is added many times in tests.
2017-12-12 15:38:57 -08:00
Nicolas Grekas
0002c9b76d Merge branch '3.4' into 4.0
* 3.4: (37 commits)
  Remove some unused variables and properties
  [appveyor] disable memory limit on composer up
  [HttpFoundation] don't prefix cookies with "Set-Cookie:"
  Remove some unused variables and properties
  Fix debug:form definition
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Force root-namespace for function calls in the dumper container
  [DI] Fix circular-aliases message
  register system cache clearer only if it's used
  doc : Namespace prefix must end with a "\"
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  [HttpKernel] Disable inlining on PHP 5
  Ensure that inlined services with parameterized class name can be dumped
  [DI] Fix non-string class handling in PhpDumper
  Throw a sensible exception when controller has been removed
  Remove LOCK_EX That Breaks Cache Usage on NFS
  ...
2017-12-08 16:46:13 +01:00
Christian Flothmann
093eb3d40d register system cache clearer only if it's used 2017-12-07 17:10:25 +01:00
Christian Flothmann
1897ea087a Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Fix race condition when clearing old containers
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  [HttpKernel] Keep legacy container files for concurrent requests
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:42:03 +01:00
Christian Flothmann
f74ecedd0b Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:28:14 +01:00
Christian Flothmann
d2496ab5d2 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  Automatically enable the CSRF protection if CSRF manager exists
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:05:27 +01:00
Maxime Steinhausser
a44f8a5b1a [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed 2017-11-27 18:35:30 +01:00
Samuel ROZE
fd4340693c
Automatically enable the CSRF protection if CSRF manager exists 2017-11-24 15:22:02 +00:00
Nicolas Grekas
ae3b5de58d Merge branch '3.4' into 4.0
* 3.4:
  [Lock][Process][FrameworkBundle] fix tests
  Display a nice error message if the form/serializer component is missing.
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  Force phpunit-bridge update (bis)
  [Bridge/PhpUnit] Fix disabling global state preservation
  Incorrect dot on method loadChoices in upgrade doc
2017-11-22 13:29:35 +01:00
Nicolas Grekas
259ac66c25 minor #25104 [Lock][Process][FrameworkBundle] fix tests (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Lock][Process][FrameworkBundle] fix tests

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

When running tests locally, I have several failures. This fixes them.

Commits
-------

878b08c [Lock][Process][FrameworkBundle] fix tests
2017-11-22 13:26:32 +01:00
Nicolas Grekas
878b08cd46 [Lock][Process][FrameworkBundle] fix tests 2017-11-22 13:18:49 +01:00
Nicolas Grekas
4b38150de9 Merge branch '3.3' into 3.4
* 3.3:
  Display a nice error message if the form/serializer component is missing.
  Force phpunit-bridge update (bis)
  [Bridge/PhpUnit] Fix disabling global state preservation
2017-11-22 12:41:29 +01:00
Alexander M. Turek
2b45805e03 Display a nice error message if the form/serializer component is missing. 2017-11-22 12:31:00 +01:00
Nicolas Grekas
fac882c2d5 Merge branch '3.4'
* 3.4:
  [HttpKernel] Disable container inlining when legacy inlining has been used
  Let getFlashes starts the session
  Update default translations path
  [FrameworkBundle] Ignore failures when removing the old cache dir
2017-11-21 18:21:10 +01:00
Yonel Ceruto
ba3476c887 Update default translations path 2017-11-21 09:08:09 -05:00
Nicolas Grekas
5b6c1b3132 Merge branch '3.4'
* 3.4:
  [Bridge/PhpUnit] Sync the bridge version installed in vendor/ and in phpunit clone
  [DI] Analyze setter-circular deps more precisely
  fixing that PropertyNormalizer supports parent properties
  [SecurityBundle] Don't trigger auto-picking notice if provider is set per listener
  [TwigBundle][FrameworkBundle] Remove the internals from debug autowiring
  [DI] Skip hot_path tag for deprecated services as their class might also be
  [Cache] Memcached options should ignore "lazy"
  [FrameworkBundle] Dont create empty bundles directory
2017-11-20 22:12:12 +01:00
Amrouche Hamza
491839b7c2
[TwigBundle][FrameworkBundle] Remove the internals from debug autowiring 2017-11-20 10:25:08 +01:00
Nicolas Grekas
784186b249 Merge branch '3.4'
* 3.4:
  [TwigBridge] Fixed the .form-check-input class in the bs4 templates
  [Console] Fix traversable autocomplete values
  [SecurityBundle] Improve deprecations
  [DI] Friendlier name for generated container in "as_files" mode
  [Debug] Remove false-positive deprecation from DebugClassLoader
  [SecurityBundle] Add missing quotes in deprecation messages
  [ExpressionLanguage] Fix PhpDoc type-hints on Token value
  bumped Symfony version to 3.3.12
  Add default translations path option and convention
  updated VERSION for 3.3.11
  updated CHANGELOG for 3.3.11
  bumped Symfony version to 2.8.30
  updated VERSION for 2.8.29
  updated CHANGELOG for 2.8.29
  bumped Symfony version to 2.7.37
  updated VERSION for 2.7.36
  update CONTRIBUTORS for 2.7.36
  updated CHANGELOG for 2.7.36
2017-11-12 17:47:31 +01:00
Yonel Ceruto
1a8b1b41c9 Add default translations path option and convention 2017-11-10 15:13:35 -05:00
Nicolas Grekas
44b2f97dcd Merge branch '3.4'
* 3.4: (21 commits)
  fixed CS
  HttpCache lock update
  [Intl] Update ICU data to 60.1
  [YAML] Allow to parse custom tags when linting yaml files
  [HttpKernel][Debug] Remove noise from stack frames of deprecations
  [WebServerBundle] prevent console.terminate from being fired after stopping server
  [Validator] Fix Costa Rica IBAN format
  [Bridge/ProxyManager] Remove direct reference to value holder property
  [Validator] Add Belarus IBAN format
  [Config] Fix cannotBeEmpty()
  [Debug] More aggressively aggregate silenced notices per file+line
  [HttpFoundation] minor session-related fix
  [Cache][Lock] Add RedisProxy for lazy Redis connections
  [TwigBridge] [Bootstrap 4] Fix validation error design for expanded choiceType
  [FrameworkBundle] Specifically inject the debug dispatcher in the collector
  [WebserverBundle] fixed the bug that caused that the webserver would …
  update the pull request template
  [Stopwatch] minor fix
  Add default mapping path for validator component
  Add default mapping path for serializer component
  ...
2017-11-10 20:37:45 +01:00
Fabien Potencier
c549e3c647 bug #24856 [FrameworkBundle] Add default mapping path for validator component in bundle-less app (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Add default mapping path for validator component in bundle-less app

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

Same approach of https://github.com/symfony/symfony/pull/24833

Commits
-------

4e0daecc63 Add default mapping path for validator component
2017-11-10 10:57:49 -08:00
Fabien Potencier
93f206e878 bug #24833 [FrameworkBundle] Add default mapping path for serializer component in bundle-less app (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Add default mapping path for serializer component in bundle-less app

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

> http://symfony.com/doc/current/serializer.html#using-serialization-groups-annotations:
> In addition to the @Groups annotation, the Serializer component also supports Yaml or XML files. These files are automatically loaded when being stored in one of the following locations:
>* The `serialization.yml` or `serialization.xml` file in the `Resources/config/` directory of a bundle;
>* All `*.yml` and `*.xml` files in the `Resources/config/serialization/` directory of a bundle.

Inspired by the second convention, this proposal adds one more but for bundle-less structure. Theoretically this is what it does for you:
```yaml
framework:
    serializer:
        mapping:
            paths:
                - '%kernel.project_dir%/config/serializer/'
```

Commits
-------

43895b8dae Add default mapping path for serializer component
2017-11-10 10:56:06 -08:00
Nicolas Grekas
1f5e3538d8 [Cache][Lock] Add RedisProxy for lazy Redis connections 2017-11-10 08:19:32 +01:00
Nicolas Grekas
dd82ca8a58 Merge branch '3.4'
* 3.4:
  [DI] Add "container.hot_path" tag to flag the hot path and inline related services
  [FrameworkBundle] Fine-tune generated annotations.php cache
  [HttpFoundation] Prevent PHP from sending Last-Modified on session start
  Micro optim using explicit root namespaces
2017-11-09 18:30:28 +01:00
Fabien Potencier
a3e0e49094 minor #24872 [DI] Add "container.hot_path" tag to flag the hot path and inline related services (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add "container.hot_path" tag to flag the hot path and inline related services

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

This PR is the result of my quest to squeeze some performance out of 3.4/4.0.

It builds on two ideas:
- a new `container.inline` tag that identifies the services that are *always* needed. This tag is only applied to a very short list of bootstrapping services (`router`, `event_dispatcher`, `http_kernel` and `request_stack` only). Then, it is propagated to all dependencies of these services, with a special case for event listeners, where only listed events are propagated to their related listeners.
- replacing the PHP autoloader by plain inlined `require_once` in generated service factories, with the benefit of completely bypassing the autoloader for services and their class hierarchy.

The end result is significant, even on a simple Hello World.
Here is the Blackfire profile, results are consistent with `ab` benchmarks:

https://blackfire.io/profiles/compare/b5fa5ef0-755c-4967-b990-572305f8f381/graph

![capture du 2017-11-08 16-54-28](https://user-images.githubusercontent.com/243674/32558666-a3f439b2-c4a5-11e7-83a3-db588c3e21e5.png)

Commits
-------

f7cb559a06 [DI] Add "container.hot_path" tag to flag the hot path and inline related services
2017-11-09 06:24:55 -08:00
Nicolas Grekas
f7cb559a06 [DI] Add "container.hot_path" tag to flag the hot path and inline related services 2017-11-09 15:14:31 +01:00
Nicolas Grekas
d36adc2392 [FrameworkBundle] Fine-tune generated annotations.php cache 2017-11-09 13:39:01 +01:00
Nicolas Grekas
aaf2265203 Replace more docblocks by type-hints 2017-11-07 15:45:01 +01:00
Yonel Ceruto
4e0daecc63 Add default mapping path for validator component 2017-11-07 08:54:03 -05:00
Yonel Ceruto
43895b8dae Add default mapping path for serializer component 2017-11-07 08:53:47 -05:00
Nicolas Grekas
4c1de3fbff Merge branch '3.4'
* 3.4:
  [HttpFoundation] refactoring: calculate when need
  [Serializer] Fix extra attributes when no group specified
  [Intl] Make intl-data tests pass and save language aliases again
  [FrameworkBundle][Config] fix: do not add resource checkers for debug=false
  [DI] Fix "almost-circular" dependencies handling
  [Console] Fix CommandTester::setInputs() docblock
  Only enabling validation if it is present
  Fix displaying errors for bootstrap 4
  [Serializer] readd default argument value
  Fix reference dump for deprecated nodes
  [PhpUnitBridge] Fixed fatal error in CoverageListener when something goes wrong in Test::setUpBeforeClass
  [HttpKernel] Let the storage manage the session starts
  [VarDumper] fix trailling comma when dumping an exception
  [Validator] Fix TraceableValidator is reset on data collector instantiation
  Remove useless docblocks
  [FrameworkBundle] Fix docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 17:26:21 +01:00
Fabien Potencier
3671e08346 bug #24821 symfony/form auto-enables symfony/validator, even when not present (weaverryan)
This PR was merged into the 3.4 branch.

Discussion
----------

symfony/form auto-enables symfony/validator, even when not present

| Q             | A
| ------------- | ---
| Branch?       | 3.4 or master / 2.7, 2.8 or 3.3 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | not needed

In #24303, we allowed form to be used without the validator component. But, there is a small problem with the logic: the validation system is set to enabled, even if it is not present. If you install form but NOT validator, you see the error:

> Validation support cannot be enabled as the Validator component is not installed.

Assuming the form system really is usable without validation, this should be an easy merge.

Commits
-------

03c0254296 Only enabling validation if it is present
2017-11-05 07:35:58 -08:00
David Maicher
645f712190 [FrameworkBundle][Config] fix: do not add resource checkers for debug=false 2017-11-05 14:56:21 +01:00
Ryan Weaver
03c0254296 Only enabling validation if it is present 2017-11-04 17:11:56 -04:00
Robin Chalas
85f09a40f1 [FrameworkBundle] Drop serializer.cache option 2017-10-31 10:23:34 +01:00
Fabien Potencier
d8ee14f9a0 Merge branch '3.4'
* 3.4:
  [TwigBridge] Bootstrap 4 form theme fixes
  [VarDumper] HtmlDumper: fix collapsing nodes with depth <= maxDepth
  Fixing a bug where non-existent classes would cause issues
  Do not activate the cache if Doctrine's cache is not present
  [SecurityBundle] hotfix: update phpdocs on logout url
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  [HttpFoundation] Mark new methods on Response as final
  Fixed a few spelling mistakes in Luxembourgish translation
  [TwigBridge] Fix template paths in profiler
2017-10-29 14:09:05 -07:00
Fabien Potencier
b327a7c100 Merge branch '3.3' into 3.4
* 3.3:
  Fixing a bug where non-existent classes would cause issues
  [SecurityBundle] hotfix: update phpdocs on logout url
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  Fixed a few spelling mistakes in Luxembourgish translation
2017-10-29 14:08:13 -07:00
Fabien Potencier
7031b61187 Merge branch '2.8' into 3.3
* 2.8:
  [SecurityBundle] hotfix: update phpdocs on logout url
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  Fixed a few spelling mistakes in Luxembourgish translation
2017-10-29 14:07:11 -07:00
Fabien Potencier
4a4f4d2ca2 Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  Fixed a few spelling mistakes in Luxembourgish translation
2017-10-29 14:04:14 -07:00
Samuel ROZE
c5c7a2304d
Do not activate the cache if Doctrine's cache is not present 2017-10-29 16:04:35 +00:00
Fabien Potencier
d7e859e3c8 bug #24605 [FrameworkBundle] Do not load property_access.xml if the component isn't installed (ogizanagi)
This PR was squashed before being merged into the 2.7 branch (closes #24605).

Discussion
----------

[FrameworkBundle] Do not load property_access.xml if the component isn't installed

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/24563#issuecomment-337549147 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

This PR actually aims to fix https://github.com/symfony/symfony/pull/24563#issuecomment-337549147 as the exception introduced in the PR can't be reached anyway when using the FrameworkBundle without the property access component as you'll get:

> Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "PropertyAccessor" from namespace "Symfony\Component\PropertyAccess".

With this fix, you properly get:

> The ObjectNormalizer class requires the "PropertyAccess" component. Install "symfony/property-access" to use it.

Not sure this change really belongs to a patch release, but the original PR was accepted in the 2.7 branch.

Also, I'd rather remove the ObjectNormalizer definition if the component isn't available, as suggested by @xabbuh (https://github.com/symfony/symfony/pull/24563#issuecomment-336795644). But in 2.7, this is the only normalizer registered by default and the [`SerializerPass` throws an exception if no normalizer is registered.](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/SerializerPass.php#L46)

To sum up, either:

1. we completly prevent using the FrameworkBundle and the serializer without the property access component, even if you don't really care about the ObjectNormalizer because you only use your owns specific ones. (and you'll get the exception hinting to install the property access component)
2. we allow using the FrameworkBundle and the serializer without the property access component, so we remove the ObjectNormalizer definition, but the user'll get a `You must tag at least one service as "serializer.normalizer" to use the Serializer service` exception until he configures a normalizer (and we don't get the hint about installing the property access component to enable the ObjectNormalizer. We already have a suggest entry in the composer.json file, though).

To me option 2 looks better. WDYT?

Commits
-------

d297e27600 [FrameworkBundle] Do not load property_access.xml if the component isn't installed
2017-10-28 15:12:30 -07:00
Maxime Steinhausser
d297e27600 [FrameworkBundle] Do not load property_access.xml if the component isn't installed 2017-10-28 15:12:29 -07:00
Nicolas Grekas
5c74f11b52 Merge branch '3.4'
* 3.4:
  Ensure DeprecationErrorHandler::collectDeprecations() is triggered
  Config: mark builder property deprecated
  fix CachePoolPrunerPass to use correct command service id
  [TwigBridge] Re-add Bootstrap 3 Checkbox Layout
  [FrameworkBundle] Allow to disable assets via framework:assets xml configuration
  fixed $_ENV/$_SERVER precedence in test framework
  [HttpFoundation] Fix FileBag issue with associative arrays
  [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop)
  [HttpFoundation] Fix caching of session-enabled pages
  [Guard] remove invalid deprecation notice
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:54:10 +02:00
Kevin Bond
14c62dad5f
fix CachePoolPrunerPass to use correct command service id 2017-10-27 16:39:37 -04:00
Nicolas Grekas
4058f2f284 Merge branch '3.4'
* 3.4:
  [DI] minor docblock fixes
2017-10-24 16:16:56 +02:00
Nicolas Grekas
1e1b37753c Merge branch '3.3' into 3.4
* 3.3:
  [DI] minor docblock fixes
2017-10-24 16:12:06 +02:00
Nicolas Grekas
7fb9f614ee Merge branch '2.8' into 3.3
* 2.8:
  [DI] minor docblock fixes
2017-10-24 16:05:06 +02:00
Nicolas Grekas
2b95ba3299 Merge branch '2.7' into 2.8
* 2.7:
  [DI] minor docblock fixes
2017-10-24 15:48:52 +02:00
Nicolas Grekas
a13befe38e Merge branch '3.4'
* 3.4:
  [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring
  [2.8] Fix some docblocks
  Escape trailing \ in QuestionHelper autocompletion
  [FrameworkBundle][Serializer] Remove outdated condition
  Add "doctrine/annotations" to top-level composer.json
  Fix phpdoc inconsistencies, simplify no-op sprintf.
  Remove inapplicable phpdoc comment
  nit: Fix phpdoc inconsistency and unreachable statement
  [DI] Register default env var provided types
  Fix phpdoc and unnecessary sprintf
  [FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command
  [Security] Fix BC layer for AbstractGuardAuthenticator subclasses
  Prefer line formatter on missing cli dumper
  [DI] Enhance service locator error message
2017-10-24 14:50:36 +02:00
Nicolas Grekas
0c9edaf336 [DI] minor docblock fixes 2017-10-24 13:40:19 +02:00
Fabien Potencier
dc0116aa34 bug #24620 [FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command (Jean-Beru)
This PR was squashed before being merged into the 3.4 branch (closes #24620).

Discussion
----------

[FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

This PR will declare `workflow.registry` as a public service to avoid deprecation when `WorkflowDumpCommand` checks its existence. It only concerns 3.4 since this `isEnabled` method will be removed in 4.0.

Commits
-------

9e75847090 [FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command
2017-10-20 13:32:57 -07:00
hubert.lenoir
9e75847090 [FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command 2017-10-20 13:32:50 -07:00
Nicolas Grekas
2b725ca200 Merge branch '3.4'
* 3.4: (26 commits)
  [Routing] Fix resource miss
  [Security] Fixed auth provider authenticate() cannot return void
  [FrameworkBundle][Serializer] Move DateIntervalNormalizer definition to xml
  declare argument type
  Improving annotation loader message
  [FrameworkBundle][Serializer] Move normalizer/encoders definitions to xml file & remove unnecessary checks
  Update UPGRADE-4.0.md
  streamed response should return $this
  $isClientIpsVali is not used
  [WebServerBundle] Prevent commands from being registered by convention
  content can be a resource
  Adding the Form default theme files to be warmed up in Twig's cache
  Remove BC Break label from `NullDumper` class
  Username and password in basic auth are allowed to contain '.'
  Remove obsolete PHPDoc from UriSigner
  [Serializer] YamlEncoder: throw if the Yaml component isn't installed
  [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
  [PropertyInfo] Add support for the iterable type
  pdo session fix
  Fixed pathinfo calculation for requests starting with a question mark.  - fix bad conflict resolving issue  - port symfony/symfony#21968 to 3.3+
  ...
2017-10-20 12:28:39 -07:00
Fabien Potencier
1376b4becd Merge branch '3.3' into 3.4
* 3.3: (22 commits)
  [Routing] Fix resource miss
  [Security] Fixed auth provider authenticate() cannot return void
  declare argument type
  [FrameworkBundle][Serializer] Move normalizer/encoders definitions to xml file & remove unnecessary checks
  streamed response should return $this
  $isClientIpsVali is not used
  content can be a resource
  Adding the Form default theme files to be warmed up in Twig's cache
  Remove BC Break label from `NullDumper` class
  Username and password in basic auth are allowed to contain '.'
  Remove obsolete PHPDoc from UriSigner
  [Serializer] YamlEncoder: throw if the Yaml component isn't installed
  [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
  [PropertyInfo] Add support for the iterable type
  pdo session fix
  Fixed pathinfo calculation for requests starting with a question mark.  - fix bad conflict resolving issue  - port symfony/symfony#21968 to 3.3+
  Fixed unsetting from loosely equal keys OrderedHashMap
  add DOMElement as return type in Crawler::getIterator to support foreach support in ide
  Fixed mistake in exception expectation
  [Debug] Fix same vendor detection in class loader
  ...
2017-10-20 11:48:32 -07:00
Maxime Steinhausser
11244d51ee [FrameworkBundle][Serializer] Move DateIntervalNormalizer definition to xml 2017-10-20 09:58:10 +02:00
Maxime Steinhausser
0d7657b306 [FrameworkBundle][Serializer] Move normalizer/encoders definitions to xml file & remove unnecessary checks 2017-10-19 13:37:57 -07:00
Nicolas Grekas
14de848cc4 Merge branch '3.4'
* 3.4:
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA1
  updated CHANGELOG for 3.4.0-BETA1
  Do not process bindings in AbstractRecursivePass
  don't bind scalar values to controller method arguments
  Add extra autowiring aliases
  adding AdapterInterface alias for cache.app
  Adding a new debug:autowiring command
  [HttpFoundation] Make sessions secure and lazy
  [Routing] Ensure uniqueness without repeated check
  [Console] Sync ConsoleLogger::interpolate with the one in HttpKernel
2017-10-18 17:12:27 -07:00
Nicolas Grekas
347939c9b3 [HttpFoundation] Make sessions secure and lazy 2017-10-17 00:24:46 +02:00
Nicolas Grekas
3c05652270 Merge branch '3.4'
* 3.4:
  Clarify the exceptions are going to be rendered just after
  [DI] Remove colon from env placeholders
  fixed CS
  [Yaml] initialize inline line numbers
  [Workflow] Added tests for the is_valid() guard expression
  [Workflow] Added guard 'is_valid()' method support
  Add & use OptionResolverIntrospector
  Add debug:form type option
2017-10-09 10:45:52 +02:00
Fabien Potencier
b43bdf398d fixed CS 2017-10-06 08:49:22 -07:00
Grégoire Pineau
06d8198714 [Workflow] Added tests for the is_valid() guard expression 2017-10-06 10:14:03 +02:00
Alain Flaus
9499bc291c [Workflow] Added guard 'is_valid()' method support 2017-10-06 10:13:24 +02:00
Nicolas Grekas
522d079110 Merge branch '3.4'
* 3.4:
  [Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait
  [FrameworkBundle] Fix bad interface hint in AbstractController
  [VarDumper] deprecate MongoCaster
  [HttpFoundation] deprecate using  with the legacy mongo extension; use it with the mongodb/mongodb package and ext-mongodb instead
  Fix BC layer
  Reset profiler.
  [DI] Improve some deprecation messages
  [DI] remove inheritdoc from dumped container
  [Config] Fix dumped files invalidation by OPCache
  [Security] Add Guard authenticator <supports> method
  [Cache] Fix race condition in TagAwareAdapter
  [DI] Allow setting any public non-initialized services
  [Yaml] parse references on merge keys
  treat trailing backslashes in multi-line strings
  [FrameworkBundle] Expose dotenv in bin/console about
  fix refreshing line numbers for the inline parser
  fix version in changelog
  [FrameworkBundle] Make Controller helpers final
  [DoctrineBridge] Deprecate DbalSessionHandler
2017-10-05 17:11:25 +02:00
Alexander M. Turek
8c39bf7845 Reset profiler. 2017-10-05 12:20:28 +02:00
Nicolas Grekas
d3f3721715 Merge branch '3.4'
* 3.4: (33 commits)
  Remove remaining `@experimental` annotations
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Validator] Add unique entity violation cause
  [Lock] Automaticaly release lock when user forget it
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  fixed CS
  [FrameworkBundle] Don't clear app pools on cache:clear
  Hide label button when its setted to false
  removed useless PHPDoc
  [HttpFoundation] Return instance in StreamedResponse
  [Form] Fix FormInterface::submit() annotation
  [PHPUnitBridge] don't remove when set to  empty string
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  ...
2017-10-02 08:59:24 +02:00
Nicolas Grekas
b0c04f8354 [FrameworkBundle] Don't clear app pools on cache:clear 2017-09-30 20:17:55 +02:00
Nicolas Grekas
58be176371 Merge branch '3.4'
* 3.4:
  Moved PhpExtractor and PhpStringTokenParser to Translation component
  [Asset] Provide default context
  [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args
  Add exclusive Twig namespace for bundles path
  Share connection factories between cache and lock
2017-09-29 11:39:35 +02:00
Fabien Potencier
a442e378e1 feature #24362 [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Deprecate some compiler passes in favor of tagged iterator args

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

More code that we can drop :)

Commits
-------

fa62e5068e [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args
2017-09-28 16:21:02 -07:00
Nicolas Grekas
fa62e5068e [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args 2017-09-29 00:01:08 +02:00
Jérémy Derussé
95358ac98f
Share connection factories between cache and lock 2017-09-28 19:35:07 +02:00
Maxime Steinhausser
c88158a6da Merge branch '3.4'
* 3.4:
  fixed CS
  [Serializer] Add Support for  in CustomNormalizer
  Remove Validator\TypeTestCase and add validator logic to base TypeTestCase
  [Lock] Include lock component in framework bundle
  [WebProfilerBundle] Render file links for twig templates
  CsvEncoder handling variable structures and custom header order
  Saltless Encoder Interface
  [Serializer] throw more specific exceptions

# Conflicts:
#	src/Symfony/Bundle/FrameworkBundle/composer.json
#	src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php
#	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
#	src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
#	src/Symfony/Component/Serializer/Serializer.php
2017-09-27 20:38:05 +02:00
Fabien Potencier
e5ddd14b1d feature #22113 [Lock] Include lock component in framework bundle (jderusse)
This PR was squashed before being merged into the 3.4 branch (closes #22113).

Discussion
----------

[Lock] Include lock component in framework bundle

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

## Usage

use the best available "out of box" store (semaphore if available, filesyste otherwise)
```yml
framework:
    lock: ~
    # lock: true
```

```php
$this->get('lock')->acquire();
$this->get('lock.factory')->createLock('my resource')->acquire();
```

use a specific store
```yml
framework:
    lock: flock
    # lock: semaphore
    # lock: redis://localhost
    # lock: "%env(MEMCACHED_DSN)%"
    # lock: ["%env(REDIS_DSN_1)%", "%env(REDIS_DSN_2)%"]
```

```php
$this->get('lock')->acquire();
$this->get('lock.factory')->createLock('my resource')->acquire();
```

use a named lock
```yml
framework:
    lock:
        foo: flock
        bar: redis://localhost
```

```php
$this->get('lock.foo')->acquire();
$this->get('lock.bar.factory')->createLock('my resource')->acquire();
```

factory usage

```xml
        <service id="acme" class="AppBundle\Acme">
            <argument type="service">
                <service class="Symfony\Component\Lock\Lock">
                    <factory service="lock.foo.factory" method="createLock" />
                    <argument>my resource</argument>
                    <argument>30</argument> <!-- optional TTL -->
                </service>
            </argument>
        </service>
```

* [x] Tests

Commits
-------

b4b00c9c6f [Lock] Include lock component in framework bundle
2017-09-27 08:10:57 -07:00
Jérémy Derussé
b4b00c9c6f [Lock] Include lock component in framework bundle 2017-09-27 08:10:55 -07:00
Robin Chalas
bad858e380 Merge branch '3.4'
* 3.4:
  [PhpUnitBridge] Added a CoverageListener to enhance the code coverage report
  Add a method to check if any results were found
  [SecurityBundle] Deprecate ACL related code
  [FrameworkBundle] Enable assets with templates only if the Asset component is installed
2017-09-27 09:49:38 +02:00
Fabien Potencier
3c262bab75 minor #24172 [FrameworkBundle] Enable assets with templates only if the Asset component is installed (hason)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Enable assets with templates only if the Asset component is installed

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

Commits
-------

5bc0b0527e [FrameworkBundle] Enable assets with templates only if the Asset component is installed
2017-09-26 21:32:04 -07:00
Maxime Steinhausser
3640585bfd Merge branch '3.4'
* 3.4:
  use the parseFile() method of the YAML parser
  [Yaml] support parsing files
  Adding Definition::addError() and a compiler pass to throw errors as exceptions
  [DI] Add AutowireRequiredMethodsPass to fix bindings for `@required` methods
  [Cache] Add ResettableInterface to allow resetting any pool's local state
  [DI][DX] Throw exception on some ContainerBuilder methods used from extensions
  added missing @author tag for new class
  allow forms without translations and validator
  [VarDumper] Make `dump()` a little bit more easier to use
  [Form] Add ambiguous & exception debug:form tests
  Reset the authentication token between requests.
  [Serializer] Getter for extra attributes in ExtraAttributesException
  [DI] Dont use JSON_BIGINT_AS_STRING

# Conflicts:
#	src/Symfony/Component/Routing/composer.json
#	src/Symfony/Component/Translation/composer.json
#	src/Symfony/Component/Yaml/Inline.php
#	src/Symfony/Component/Yaml/Tests/ParserTest.php
#	src/Symfony/Component/Yaml/Yaml.php
2017-09-26 08:12:47 +02:00
Nicolas Grekas
0c0a0525a1 feature #24226 [Cache] Add ResettableInterface to allow resetting any pool's local state (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] Add ResettableInterface to allow resetting any pool's local state

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

To allow pools to leverage #24155 so that they can be used in multi-request loops.

Commits
-------

14c91f2 [Cache] Add ResettableInterface to allow resetting any pool's local state
2017-09-25 11:23:16 +02:00
Nicolas Grekas
14c91f2bc9 [Cache] Add ResettableInterface to allow resetting any pool's local state 2017-09-25 10:20:08 +02:00
Christian Flothmann
cb6ead1635 allow forms without translations and validator 2017-09-24 10:18:44 +01:00
Nicolas Grekas
e266fedfe0 Merge branch '3.4'
* 3.4:
  [DI] Turn services and aliases private by default, with BC layer
  [WebProfiler] Fix z-index for pinned AJAX block
  Require v3.4+ of the var-dumper component
2017-09-19 21:46:02 +02:00
Nicolas Grekas
9948b09c6d [DI] Turn services and aliases private by default, with BC layer 2017-09-19 11:28:48 +02:00
Fabien Potencier
7c160a176c Merge branch '3.4'
* 3.4:
  Display form defaults on debug:form
  [Serializer][FrameworkBundle] Add a DateInterval normalizer
  fix merge
  CS: recover no_break_comment
  [DI] Fix non-instantiables auto-discovery
2017-09-15 10:31:55 -07:00
Maxime Steinhausser
c7e84ccfee feature #23747 [Serializer][FrameworkBundle] Add a DateInterval normalizer (Lctrs)
This PR was squashed before being merged into the 3.4 branch (closes #23747).

Discussion
----------

[Serializer][FrameworkBundle] Add a DateInterval normalizer

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

Could be useful for API needing to submit a duration.

Most code have been adapted from @MisatoTremor's DateInterval form type. Credits to him.

Commits
-------

6185cb1991 [Serializer][FrameworkBundle] Add a DateInterval normalizer
2017-09-15 18:08:41 +02:00
Jérôme Parmentier
6185cb1991 [Serializer][FrameworkBundle] Add a DateInterval normalizer 2017-09-15 18:08:37 +02:00
Nicolas Grekas
c1d8833a88 Merge branch '3.4'
* 3.4:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
  Reset stopwatch.
  [Filesystem] mirror - fix copying content with same name as source/target.
  Removed unnecessary getDefinition() call.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 12:16:43 +02:00
Nicolas Grekas
4b31b47f08 Merge branch '3.3' into 3.4
* 3.3:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
  [Filesystem] mirror - fix copying content with same name as source/target.
  Removed unnecessary getDefinition() call.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 12:12:22 +02:00
Nicolas Grekas
ebbcb7b1be Merge branch '2.8' into 3.3
* 2.8:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
  [Filesystem] mirror - fix copying content with same name as source/target.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 12:08:59 +02:00