Commit Graph

4485 Commits

Author SHA1 Message Date
Nicolas Grekas
726ad262ef Merge branch '3.2'
* 3.2: (51 commits)
  [FrameworkBundle] [Workflow] Fix service marking store configuration
  Fix merge
  [Validator] add class name to the cache key
  [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize
  Throw less misleading exception when property access not found
  [Twig] Fix deprecations with Twig 1.29
  [FrameworkBundle] Fix validation cache warmer with failing or missing classes
  Fixed typo
  [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed
  Fix email address
  fix the docblock in regard to the role argument
  [Bridge\Twig] Trigger deprecation when using FormExtension::$renderer
  Don't use the "app" global variable in the profiler
  [VarDumper] fix tests when xdebug is enabled
  Fix merge
  FIXED NON EXISTING TYPE DECLARATION
  [Form] Add failing test for data collector bug
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Form] Fix FormDataCollector
  Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles
  ...
2016-12-08 16:31:48 +01:00
Nicolas Grekas
8e6023b882 bug #20688 [FrameworkBundle] Resolve env params in debug:config command (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[FrameworkBundle] Resolve env params in debug:config command

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

Displays e.g. `url: '%env(DATABASE_URL)%'`
instead of `url: env_DATABASE_URL_b188317b1d181eca5f0be35aefdae9c4`
when doing `bin/console debug:config doctrine`

Commits
-------

695d100 [FrameworkBundle] Resolve env params in debug:config command
2016-12-08 16:27:33 +01:00
Nicolas Grekas
a7b5080806 bug #20725 [HttpKernel] Fix annotation cache warmer with failing or missing classes (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[HttpKernel] Fix annotation cache warmer with failing or missing classes

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

Commits
-------

dcf9fbb [HttpKernel] Fix annotation cache warmer with failing or missing classes
2016-12-08 16:22:53 +01:00
Nicolas Grekas
2293b18c43 bug #20830 [FrameworkBundle] Fix validation cache warmer with failing or missing classes (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[FrameworkBundle] Fix validation cache warmer with failing or missing classes

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

Commits
-------

53234e9 [FrameworkBundle] Fix validation cache warmer with failing or missing classes
2016-12-08 16:21:32 +01:00
fduch
3289b10d9f [FrameworkBundle] [Workflow] Fix service marking store configuration 2016-12-08 16:19:07 +01:00
Nicolas Grekas
a28c522790 Merge branch '3.1' into 3.2
* 3.1: (28 commits)
  Fix merge
  [Validator] add class name to the cache key
  [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize
  Throw less misleading exception when property access not found
  [Twig] Fix deprecations with Twig 1.29
  Fixed typo
  [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed
  Fix email address
  fix the docblock in regard to the role argument
  Don't use the "app" global variable in the profiler
  [VarDumper] fix tests when xdebug is enabled
  Fix merge
  FIXED NON EXISTING TYPE DECLARATION
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Console] fixed PHP7 Errors when not using Dispatcher
  Regression test for missing controller arguments (3.1)
  Regression test for missing controller arguments
  fix a test checking for a value
  [Form][DX] FileType "multiple" fixes
  fixed CS
  ...
2016-12-08 16:18:22 +01:00
Nicolas Grekas
53234e907a [FrameworkBundle] Fix validation cache warmer with failing or missing classes 2016-12-08 13:38:08 +01:00
Sander Toonen
8e1dac5507 [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed 2016-12-07 14:49:48 +01:00
Fabien Potencier
4033b602ff feature #20260 [DependencyInjection] Support autowiring for EventDispatcher/EventDispatcherInterface (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] Support autowiring for EventDispatcher/EventDispatcherInterface

| 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 | n/a |

As it is a very common dependency. Currently it gives:

> [Symfony\Component\DependencyInjection\Exception\RuntimeException]
> Unable to autowire argument of type "Symfony\Component\EventDispatcher\EventDispatcherInterface" for the service "dummy". Multiple services exist for this interface (debug.event_dispatcher, debug.event_dispatcher.parent).

After this, the `TraceableEventDispatcher` will be injected in dev and the `ContainerAwareEventDispatcher` in prod, as when injecting `@event_dispatcher` explicitly.

ping @weaverryan

IMHO this could be treated as a an enhancement for the autowiring feature and be part of 3.2.

Commits
-------

5fd4733 Support autowiring for EventDispatcher/EventDispatcherInterface
2016-12-06 15:46:10 +01:00
Nicolas Grekas
fa36e1d377 [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders 2016-12-06 11:57:32 +01:00
Nicolas Grekas
dcf9fbb18c [HttpKernel] Fix annotation cache warmer with failing or missing classes 2016-12-02 15:52:29 +01:00
Johan DESMYTER
dbf4850268 debug service with one line by tag 2016-12-02 13:03:32 +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
2cdc6d2a07 Merge branch '3.2'
* 3.2:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
  [VarDumper] Use default color for ellipsed namespaces/paths
  mark alias as private during creation
  [Serializer] Remove unused GetSetMethodNormalizer::denormalize
2016-11-29 12:12:53 +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
ea7e2452bd Merge branch '3.2'
* 3.2:
  Fix tests that do not trigger any depreciation
  [HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable
  [Cache] Mark FilesystemAdapterTrait as internal
  [FrameworkBundle] Dont rely on any parent definition for "cache.annotations"
2016-11-26 20:22:04 -08: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
13265aece3 Merge branch '3.2'
* 3.2:
  [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
  [Bridge/Doctrine] Use cache.prefix.seed parameter for generating cache namespace
  Tag missing internals
  Add missing example for 'path' argument in debug:config
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:33:00 +01: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
Fabien Potencier
d23fabfdc7 Merge branch '3.2'
* 3.2:
  [Workflow] Fixed graphviz dumper for state machine
  [HttpKernel] Fix exception when serializing request attributes
2016-11-24 13:23:15 -08: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
df7f83ca6d Merge branch '3.2'
* 3.2: (24 commits)
  [Filesystem] Remove extra argv in dumpFile() tests
  [DI] minor FileLoaders tests update
  [FrameworkBundle] Add framework.cache.prefix_seed for predictible cache key prefixes
  [SecurityBundle] Remove FirewallContext mandatory FirewallConfig argument deprecation
  [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
  [DI] Allow null as default env value
  [WebProfilerBundle] Fix deprecated uses of profiler_dump
  [SecurityBundle] Fix FirewallConfig nullable arguments
  [FrameworkBundle] Avoid warming up the validator cache for non-existent classes
  [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
  ...
2016-11-23 16:46:49 -08: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
Fabien Potencier
a4edafbd7d updated version to 3.3 2016-11-19 12:35:20 -08:00
Robin Chalas
5fd47332b7
Support autowiring for EventDispatcher/EventDispatcherInterface
CS Fixes
2016-11-16 19:46: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