Commit Graph

1527 Commits

Author SHA1 Message Date
Nicolas Grekas
349e5fe9b8 Merge branch '3.2' into 3.3
* 3.2:
  typo
  CS: adjust chaining indentation
2017-06-02 16:38:05 +02:00
Nicolas Grekas
89c3f5cccb Merge branch '2.8' into 3.2
* 2.8:
  typo
  CS: adjust chaining indentation
2017-06-02 16:37:52 +02:00
Nicolas Grekas
0057459882 Merge branch '2.7' into 2.8
* 2.7:
  CS: adjust chaining indentation
2017-06-02 16:36:56 +02:00
Nicolas Grekas
1542925d8d minor #22986 CS: adjust chaining indentation (keradus)
This PR was merged into the 2.7 branch.

Discussion
----------

CS: adjust chaining indentation

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

Commits
-------

8c3c0fe CS: adjust chaining indentation
2017-06-02 16:34:38 +02:00
Nicolas Grekas
018b1a3d2d feature #23022 [Di] Remove closure-proxy arguments (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Di] Remove closure-proxy arguments

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

With #23008, we don't need this in core anymore.
Let's drop it now.
Technically that's a BC break, but for a feature that is very new, and still quite hidden.
Doing this now would save us from maintaining this code, and help reduce the overall complexity.

Basically reverts #20953

Commits
-------

57daadb [Di] Remove closure-proxy arguments
2017-06-02 11:10:29 +02:00
Nicolas Grekas
e5a698e215 Merge branch '3.2' into 3.3
* 3.2:
  typo
  [EventDispatcher] Fix ContainerAwareEventDispatcher::hasListeners(null)
  Use namespaced Twig
2017-06-02 10:55:39 +02:00
Nicolas Grekas
a6b525e136 Merge branch '2.8' into 3.2
* 2.8:
  [EventDispatcher] Fix ContainerAwareEventDispatcher::hasListeners(null)
  Use namespaced Twig
2017-06-02 10:26:05 +02:00
Nicolas Grekas
434c8334ed Merge branch '2.7' into 2.8
* 2.7:
  [EventDispatcher] Fix ContainerAwareEventDispatcher::hasListeners(null)
  Use namespaced Twig
2017-06-02 09:47:27 +02:00
Nicolas Grekas
c3d1262208 Use namespaced Twig 2017-06-01 23:44:38 +02:00
Nicolas Grekas
57daadbf67 [Di] Remove closure-proxy arguments 2017-06-01 22:59:07 +02:00
Robin Chalas
28b253ab40 Fix CacheCollectorPass priority 2017-06-01 19:06:24 +02:00
Dariusz
8c3c0fe65e CS: adjust chaining indentation 2017-05-31 11:30:46 +02:00
Fabien Potencier
daac6dbb41 Merge branch '3.2' into 3.3
* 3.2:
  [Console] ChoiceQuestion must have choices
  [Filesystem] improve error handling in lock()
  [FrameworkBundle][Console] Fix the override of a command registered by the kernel
2017-05-28 07:08:56 -07:00
Fabien Potencier
46fc4c4ae6 Merge branch '2.8' into 3.2
* 2.8:
  [Console] ChoiceQuestion must have choices
  [Filesystem] improve error handling in lock()
  [FrameworkBundle][Console] Fix the override of a command registered by the kernel
2017-05-28 07:08:39 -07:00
Fabien Potencier
44cf367497 Merge branch '2.7' into 2.8
* 2.7:
  [Console] ChoiceQuestion must have choices
  [Filesystem] improve error handling in lock()
  [FrameworkBundle][Console] Fix the override of a command registered by the kernel
2017-05-28 07:07:33 -07:00
Maxime Steinhausser
68c1917af9 [FrameworkBundle][Validator] Move the PSR-11 factory to the component 2017-05-26 10:48:50 +02:00
adev
3e6643bd90 [FrameworkBundle][Console] Fix the override of a command registered by the kernel
Fix #18558
2017-05-24 23:07:05 +02:00
Maxime Steinhausser
df747ce43f [FrameworkBundle][Validator] Deprecate passing validator instances/aliases over using the service locator 2017-05-21 19:05:02 +02:00
Fabien Potencier
428b9bfa4f Merge branch '3.2'
* 3.2:
  [Console] Do not duplicate Helper::strlen() code
  [FrameworkBundle] Adding the extension XML
  [Form] Minor: Fix comment in ChoiceType
  [FrameworkBundle] AbstractConfigCommand: do not try registering bundles twice
  fixed CS
  fixed CS
  [DI] Fix PhpDumper blank lines around namespace
  fixed CS
  [Workflow] fix use directives
  [Workflow] Move twig extension registration to twig bundle
  Filesystem: annotate the one network test with a "network" group.
  [DependencyInjection] Don't store default deprecation template in every service definition instance
2017-05-11 09:47:52 -07:00
Fabien Potencier
b81a6629ee Merge branch '2.8' into 3.2
* 2.8:
  fixed CS
  [DI] Fix PhpDumper blank lines around namespace
  fixed CS
  Filesystem: annotate the one network test with a "network" group.
  [DependencyInjection] Don't store default deprecation template in every service definition instance
2017-05-07 18:51:21 -07:00
Fabien Potencier
a23330bf1e fixed CS 2017-05-07 18:19:21 -07:00
Christopher Hertel
f50afad839 fixed missing autoconfigure in container debug 2017-05-07 00:45:28 +02:00
Ryan Weaver
25a39c2682 debug:container --types (classes/interfaces) 2017-05-04 11:13:13 -07:00
Fabien Potencier
09f22f43e8 feature #22385 [DX][FrameworkBundle] Show private aliases in debug:container (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DX][FrameworkBundle] Show private aliases in debug:container

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

By building and compiling the container without `TYPE_REMOVING` passes, private aliases are available (shown when `--show-private` is passed). The ContainerBuilderDebugDumpPass now makes use of the ConfigCache component, removing the need for clearing the cache to get the debug:container output up to date (in sync with latest config).

Config
-------

```yaml
services:
    AppBundle\Foo:
        public: false

    foo_consumer1:
        class: AppBundle\Foo
        arguments: [ '@AppBundle\Foo' ]

    foo_consumer2:
        class: AppBundle\Foo
        arguments: [ '@AppBundle\Foo' ]

    foo_alias:
        alias: AppBundle\Foo

    foo_private_alias:
        public: false
        alias: AppBundle\Foo
```

Before
-------

![before](http://image.prntscr.com/image/2a69485a4a764316a90260b4e3dfc2a2.png)

After
------

![after](http://image.prntscr.com/image/ea42daa0e5c94841a28dd256450dc8ef.png)

Commits
-------

883723ef53 Show private aliases in debug:container
2017-05-03 12:26:38 -07:00
Robin Chalas
6c1b384b75 Avoid reflection-based registration for command public services 2017-04-29 11:46:23 +02:00
Fabien Potencier
b11822640a bug #22481 [FrameworkBundle] Restore 3.2-like behavior for FormPass, to help BC with Sonata (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] Restore 3.2-like behavior for FormPass, to help BC with Sonata

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

I tried updating a Sonata project to 3.3, and found it broken.
The issue is that Sonata uses the constructor arguments of the `form.extension` to create its own `form.extension` service - but borrows its first args from the Symfony one.

Here is the form pass doing that:
https://github.com/sonata-project/SonataCoreBundle/blob/3.x/DependencyInjection/Compiler/FormFactoryCompilerPass.php
And the implementation of the form extension:
https://github.com/sonata-project/SonataCoreBundle/blob/3.x/DependencyInjection/SonataCoreExtension.php

Question: is this covered by the BC policy? It shouldn't to me, because that would prevent *any* service reconfiguration.

Thus, I'm proposing the attached patch, which basically reverts the deprecated `FormPass` in FrameworkBundle to its 3.2 state.

I added a check to the new `FormPass` in the Form component so that it doesn't overwrite such compatibility configurations.

See for corresponding fix on https://github.com/sonata-project/SonataCoreBundle/pull/399

Commits
-------

c97b08e6c0 [FrameworkBundle] Restore 3.2-like behavior for FormPass, to help BC with Sonata
2017-04-26 13:20:29 -04:00
Robin Chalas
883723ef53 Show private aliases in debug:container 2017-04-21 00:49:45 +02:00
Fabien Potencier
f730ffae49 feature #22234 [DI] Introducing autoconfigure: automatic _instanceof configuration (weaverryan)
This PR was squashed before being merged into the 3.3-dev branch (closes #22234).

Discussion
----------

[DI] Introducing autoconfigure: automatic _instanceof configuration

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes (mostly, a continuation of a new feature)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/issues/7538

This is a proposal to allow the user to opt into some automatic `_instanceof` config. Suppose I want to auto-tag all of my voters and event subscribers

```yml
# current
services:
    _defaults:
        autowire: true

    _instanceof:
        Symfony\Component\Security\Core\Authorization\Voter\VoterInterface:
            tags: [security.voter]

        Symfony\Component\EventDispatcher\EventSubscriberInterface:
            tags: [kernel.event_subscriber]

    # services using the above tags
    AppBundle\Security\PostVoter: ~
    AppBundle\EventListener\CheckRequirementsSubscriber: ~
```

If I'm registering a service with a class that implements `VoterInterface`, when would I ever *not* want that to be tagged with `security.voter`? Here's the proposed code:

```yml
# proposed
services:
    _defaults:
        autowire: true
        autoconfigure: true

    # services using the auto_configure_instanceof functionality
    AppBundle\Security\PostVoter: ~
    AppBundle\EventListener\CheckRequirementsSubscriber: ~
```

The user must opt into this and it only applies locally to this configuration file. It works because each enabled bundle would have the opportunity to add one or more "automatic instanceof" definitions - e.g. SecurityBundle would add the `security.voter` instanceof config, FrameworkBundle would add the `kernel.event_subscriber` instanceof config, etc.

For another example, you can check out the proposed changes to `symfony-demo` - symfony/symfony-demo#483 - the `_instanceof` section is pretty heavy: 81694ac21e/app/config/services.yml (L20)

Thanks!

Commits
-------

18627bf9f6 [DI] Introducing autoconfigure: automatic _instanceof configuration
2017-04-20 11:20:32 -06:00
Ryan Weaver
18627bf9f6 [DI] Introducing autoconfigure: automatic _instanceof configuration 2017-04-20 11:20:30 -06:00
Nicolas Grekas
c97b08e6c0 [FrameworkBundle] Restore 3.2-like behavior for FormPass, to help BC with Sonata 2017-04-20 15:25:36 +02:00
Nicolas Grekas
86dbbde66f feature #22416 [FrameworkBundle][Workflow] Deprecate the default type of a workflow (lyrixx)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle][Workflow] Deprecate the default type of a workflow

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

---

Before this patch, the default type is "workflow". Most of the time a
"state_machine" is better because it's simpler and it involves less
knowledge to be able to use it.

So this patch deprecate a missing type in Symfony 3.3. And In Symfony
4.0 the default value will become "state_machine".

Commits
-------

004751c [FrameworkBundle][Workflow] Deprecate the default type of a workflow
2017-04-18 17:41:42 +02:00
Robin Chalas
cd4a01c247 Don't create unused aliases for public command 2017-04-13 18:59:03 +02:00
Fabien Potencier
4f0daa740a feature #22420 [DI] Make tagged abstract services throw earlier (nicolas-grekas)
This PR was squashed before being merged into the 3.3-dev branch (closes #22420).

Discussion
----------

[DI] Make tagged abstract services throw earlier

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

As spotted by @stof in https://github.com/symfony/symfony/pull/22388#issuecomment-293565243, skipping abstract tagged services removes an opportunity to report config mistakes to users.

Instead of skipping them, let's throw as done before (thus reverting #22039, ping @chalasr).
I made `$container->findTaggedServiceIds()` accept a 2nd arg to make this more systematic.
To keep the possibility to have abstract tagged services *for the purpose of tag inheritance*, `ResolveTagsInheritancePass` now resets their tags.

Commits
-------

388e4b3389 [DI] Make tagged abstract services throw earlier
cd06c1297b Revert "minor #22039 Skip abstract definitions in compiler passes (chalasr)"
2017-04-13 08:28:14 -07:00
Grégoire Pineau
004751c5e8 [FrameworkBundle][Workflow] Deprecate the default type of a workflow
Before this patch, the default type is "workflow". Most of the time a
"state_machine" is better because it's simpler and it involves less
knowledge to be able to use it.

So this patch deprecate a missing type in Symfony 3.3. And In Symfony
4.0 the default value will become "state_machine".
2017-04-13 16:36:11 +02:00
Nicolas Grekas
388e4b3389 [DI] Make tagged abstract services throw earlier 2017-04-13 15:45:25 +02:00
Nicolas Grekas
cd06c1297b Revert "minor #22039 Skip abstract definitions in compiler passes (chalasr)"
This reverts commit 207d068a40, reversing
changes made to 4836007172.
2017-04-13 10:36:10 +02:00
Christian Flothmann
9d733177a4 relax FormPass test assertions
Relying on a precalculated hash makes the test very fragile as the hash
value changes with every change we make for some of the DI classes.
2017-04-13 09:22:50 +02:00
Nicolas Grekas
46fc0b9363 Merge branch '3.2'
* 3.2:
  add changelog for the DUMP_OBJECT_AS_MAP flag
  Relax some mocks
2017-04-12 22:43:31 +02:00
Christian Flothmann
f6da5dde3e fix remaining risky tests 2017-04-12 20:55:56 +02:00
Nicolas Grekas
61be73394e Relax some mocks 2017-04-12 20:12:51 +02:00
Nicolas Grekas
3deeb0cb73 Merge branch '3.2'
* 3.2:
  [2.8] Prevent double registrations related to tag priorities
  Prevent double registrations related to tag priorities
  [3.2] Prevent double registrations related to tag priorities
2017-04-12 18:56:48 +02:00
Fabien Potencier
79d2c0e2ca Merge branch '2.8' into 3.2
* 2.8:
  [2.8] Prevent double registrations related to tag priorities
  Prevent double registrations related to tag priorities
2017-04-12 09:52:46 -07:00
Fabien Potencier
d564c6ad7d bug #22399 [2.8] Prevent double registrations related to tag priorities (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8] Prevent double registrations related to tag priorities

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

#22396 on 2.8

Commits
-------

2be5821743 [2.8] Prevent double registrations related to tag priorities
2017-04-12 09:50:09 -07:00
Fabien Potencier
c839532f5c Merge branch '2.7' into 2.8
* 2.7:
  Prevent double registrations related to tag priorities
2017-04-12 09:49:00 -07:00
Nicolas Grekas
2be5821743 [2.8] Prevent double registrations related to tag priorities 2017-04-12 18:45:59 +02:00
Nicolas Grekas
6764dcdf39 Prevent double registrations related to tag priorities 2017-04-12 17:35:56 +02:00
Kévin Dunglas
053de25edf Add a new Link component 2017-04-10 09:55:52 -07:00
Roland Franssen
a7bd9443a8 [FrameworkBundle] Fix console fixtures 2017-04-04 23:42:02 +02:00
Nicolas Grekas
080cb5b5c2 Merge branch '3.2'
* 3.2:
  [FrameworkBundle] Update console fixtures after #22217
  Allow Upper Case property names
  fix some risky tests
  bumped Symfony version to 2.7.27
  updated VERSION for 2.7.26
  update CONTRIBUTORS for 2.7.26
  updated CHANGELOG for 2.7.26
2017-04-04 20:59:08 +02:00
Nicolas Grekas
aa46df1997 Merge branch '2.8' into 3.2
* 2.8:
  [FrameworkBundle] Update console fixtures after #22217
2017-04-04 20:55:04 +02:00