Commit Graph

32234 Commits

Author SHA1 Message Date
Nicolas Grekas d024d79559 Merge branch '3.4'
* 3.4: (22 commits)
  use Precise on Travis to keep PHP LDAP support
  Fix case sensitive sameSite cookie
  [PropertyInfo] Use rawurlencode to escape PSR-6 keys
  fix(security): ensure the 'route' index is set before attempting to use it
  Fix registering lazy command services with autoconfigure enabled
  Fix the design of the profiler exceptions when there is no message
  [Config] Minor fix
  document the TwigRenderer class deprecation
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages
  [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter
  Change "this" to "that" to avoid confusion
  [VarDumper] Move locale sniffing to dump() time
  [VarDumper] Use "C" locale when using "comma" flags
  [Config] Make ClassExistenceResource throw on invalid parents
  [DebugBundle] Added min_depth to Configuration
  [Console] Add a factory command loader for standalone application with lazy-loading needs
  ...
2017-07-21 13:08:07 +02:00
Nicolas Grekas 6dc5f59ae3 Merge branch '3.3' into 3.4
* 3.3:
  use Precise on Travis to keep PHP LDAP support
  Fix case sensitive sameSite cookie
  [PropertyInfo] Use rawurlencode to escape PSR-6 keys
  fix(security): ensure the 'route' index is set before attempting to use it
  Fix the design of the profiler exceptions when there is no message
  [Config] Minor fix
  [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-21 13:05:08 +02:00
Nicolas Grekas 444a840ea5 Merge branch '3.2' into 3.3
* 3.2:
  use Precise on Travis to keep PHP LDAP support
  Fix case sensitive sameSite cookie
  [PropertyInfo] Use rawurlencode to escape PSR-6 keys
  fix(security): ensure the 'route' index is set before attempting to use it
  [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-21 13:04:46 +02:00
Nicolas Grekas 0793fe76b1 Merge branch '2.8' into 3.2
* 2.8:
  use Precise on Travis to keep PHP LDAP support
  fix(security): ensure the 'route' index is set before attempting to use it
  [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-21 13:03:24 +02:00
Nicolas Grekas 6158ab363d Merge branch '2.7' into 2.8
* 2.7:
  use Precise on Travis to keep PHP LDAP support
  fix(security): ensure the 'route' index is set before attempting to use it
2017-07-21 13:02:55 +02:00
Nicolas Grekas da6ed16628 minor #23612 use Precise on Travis to keep PHP LDAP support (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

use Precise on Travis to keep PHP LDAP support

| 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        |

Travis CI [started to roll out Ubuntu Trusty](https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming) as the default distribution. However, it seems that the PHP LDAP extension is missing on Trusty (see travis-ci/travis-ci#7067) starting to make our builds fail. Thus, I suggest to keep using Precise until the linked issue has been fixed.

Commits
-------

5441b1a use Precise on Travis to keep PHP LDAP support
2017-07-21 13:02:19 +02:00
Christian Flothmann 5441b1ad38 use Precise on Travis to keep PHP LDAP support 2017-07-21 12:55:18 +02:00
Fabien Potencier 19ba63125d minor #23594 [Bridge\Doctrine] Fix BC with DI v3.4 (nicolas-grekas)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Bridge\Doctrine] Fix BC with DI v3.4

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

As allowed by composer.json.
Code borrowed from branch 3.4

Commits
-------

b03f0bdb06 [Bridge\Doctrine] Fix BC with DI v3.4
2017-07-20 21:30:51 +02:00
Fabien Potencier e02ba32ea3 minor #23556 [Console] Fix registering lazy command services with autoconfigure enabled (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix registering lazy command services with autoconfigure enabled

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

For
```yaml
_defaults:
    autoconfigure: true

App\:
    resource: '../../src/*'

App\Command\FooCommand:
    tags:
        - { name: console.command, command: foo }
```

Before you get the following error:
> Missing "command" attribute on tag "console.command" for service "App\Command\FooCommand"

Now the command is lazy.

----
Btw, @Tobion's https://github.com/symfony/symfony/pull/22734#discussion_r127410411
> Wouldn't it be more straightforward if aliases are just the additional tags using the command attribute as well?
Then there is no need for an alias property at all and this strange condition doesn't apply either.

Partially addressed here by removing the need for repeating the `command` attribute on each `console.command` tag
```yaml
# before
tags:
    - { name: console.command, command: foo }
    - { name: console.command, command: foo, alias: foobar }

# after
tags:
    - { name: console.command, command: foo }
    - { name: console.command, alias: foobar }
```

Tobias proposal:

```yaml
tags:
    - { name: console.command, command: app:my-command }
    - { name: console.command, command: app:my-alias }
```

I wanted to propose exactly the same at first, but finally found more clear to add a specific attribute for aliases, especially because relying on the order on which tags are defined sounds less good to me. Please tell me about your preference.

(And sorry for the noise around this feature, I want to polish it for 3.4)

Commits
-------

8a71aa31bb Fix registering lazy command services with autoconfigure enabled
2017-07-20 20:08:38 +02:00
Fabien Potencier b9cc0890c4 feature #22317 [Console] Make SymfonyQuestionHelper::ask optional by default (ro0NL)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Console] Make SymfonyQuestionHelper::ask optional by default

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes (nothing in core depends on it)
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

i noticed when writing commands i always keep doing

```php
$io = new SymfonyStyle($input, $output);
$answer = $io->ask('...', null, function ($value) { return $value; });

// instead of just
$answer = $io->ask('...');
```

only to bypass a built-in validation, of which im not sure why it's there. Note the base question helper doesnt make this assumption...

Commits
-------

2da429cd0a [Console] Make SymfonyQuestionHelper::ask optional by default
2017-07-20 19:25:39 +02:00
Fabien Potencier 68582c0a9a bug #23586 Fix case sensitive sameSite cookie (mikefrancis)
This PR was submitted for the master branch but it was merged into the 3.2 branch instead (closes #23586).

Discussion
----------

Fix case sensitive sameSite cookie

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

Commits
-------

14c310f5fb Fix case sensitive sameSite cookie
2017-07-20 09:59:08 +02:00
Mike Francis 14c310f5fb Fix case sensitive sameSite cookie 2017-07-20 09:58:49 +02:00
Fabien Potencier e33beda8db minor #23595 [PropertyInfo] Use rawurlencode to escape PSR-6 keys (dunglas)
This PR was merged into the 3.2 branch.

Discussion
----------

[PropertyInfo] Use rawurlencode to escape PSR-6 keys

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

Use `rawurlenode` instead of my custom escaper as suggested by @nicolas-grekas: https://twitter.com/nicolasgrekas/status/887728384469590016

Commits
-------

ab91659ad6 [PropertyInfo] Use rawurlencode to escape PSR-6 keys
2017-07-20 09:54:53 +02:00
Kévin Dunglas ab91659ad6
[PropertyInfo] Use rawurlencode to escape PSR-6 keys 2017-07-20 09:53:02 +02:00
Fabien Potencier 34d5f9eefe bug #23584 Fix the design of the profiler exceptions when there is no message (javiereguiluz)
This PR was merged into the 3.3 branch.

Discussion
----------

Fix the design of the profiler exceptions when there is no message

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

This changes a bit the HTML structure of exception pages so we can show exceptions without messages in a better way inside the profiler.

### Before

![before](https://user-images.githubusercontent.com/73419/28358961-092f845e-6c71-11e7-8225-63d01a8011f0.png)

### After

![after](https://user-images.githubusercontent.com/73419/28358968-0e6cfba4-6c71-11e7-9b76-3d6eb7a9f0bc.png)

Commits
-------

25a47d8796 Fix the design of the profiler exceptions when there is no message
2017-07-20 09:48:08 +02:00
Fabien Potencier f4fffc082c bug #23238 [Security] ensure the 'route' index is set before attempting to use it (gsdevme)
This PR was submitted for the 2.8 branch but it was merged into the 2.7 branch instead (closes #23238).

Discussion
----------

[Security] ensure the 'route' index is set before attempting to use it

| 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        |

```
                // matching a request is more powerful than matching a URL path + context, so try that first
                if ($this->urlMatcher instanceof RequestMatcherInterface) {
                    $parameters = $this->urlMatcher->matchRequest($request);
                } else {
                    $parameters = $this->urlMatcher->match($request->getPathInfo());
                }

                return $path === $parameters['_route'];
```
Hi the issue here is the code is assuming a `_route` has been returned from the `match()` method.. however there is nothing to suggest that is always the case. For example if I just want to return a controller that is perhaps not added as an actual route I can & it works.. Although this will generate a notice warning.

**In terms of what happens if the `_route` is not defined should it return `false?` or actually  perform a similar condition as `return $path === rawurldecode($request->getPathInfo());` **

I have an implementation of a router that is just returning a controller path and its arguments without a `_route` which works aside from this notice.

Commits
-------

7ae578cc1a fix(security): ensure the 'route' index is set before attempting to use it
2017-07-20 09:38:10 +02:00
Gavin Staniforth 7ae578cc1a fix(security): ensure the 'route' index is set before attempting to use it 2017-07-20 09:38:09 +02:00
Javier Eguiluz 14a54a2aa9 bug #23330 [WebProfilerBundle] Fix full sized dump hovering in toolbar (ogizanagi)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] Fix full sized dump hovering in toolbar

| Q             | A
| ------------- | ---
| Branch?       | 2.8 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #23563 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Since #22953, the dump block shown on hovering the toolbar item takes the full width. But at least on OS X chrome, safari and firefox, the behavior is buggy and makes it unusable as the cursor can't reach the dumped content:

![juin-29-2017 21-09-38](https://user-images.githubusercontent.com/2211145/27705877-b25c1496-5d0f-11e7-8fff-169e080e335c.gif)

Honestly, I don't really understand the issue here and tried some tweaks until it works everywhere, (including trying to add a `.no-resize` class on `sf-toolbar-info` to avoid executing the related js event listener in case it was conflicting).

As shown in the screenshot, it also fixes the case where the dump wasn't full width under a certain size.

Commits
-------

28930c5 [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-19 19:48:51 +02:00
Nicolas Grekas b03f0bdb06 [Bridge\Doctrine] Fix BC with DI v3.4 2017-07-19 17:20:22 +02:00
Maxime Steinhausser a3936979ac bug #23581 [Config] Minor fix (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Config] Minor fix

| 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        | -

My bad.

BTW @javiereguiluz I confirm my diagnosis on #23573

Here is the last exception in that error page:
![capture du 2017-07-19 09-37-41](https://user-images.githubusercontent.com/243674/28355877-2bc71b5e-6c66-11e7-8e53-a88c42bec4e5.png)

Commits
-------

fa0b942 [Config] Minor fix
2017-07-19 15:09:59 +02:00
Robin Chalas 5556a3a1f9 feature #23510 [Console] Add a factory command loader for standalone application with lazy-loading needs (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Add a factory command loader for standalone application with lazy-loading needs

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| Bug fix?      | no
| New feature?  | yes <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes (failure unrelated)
| Fixed tickets | https://github.com/symfony/symfony/pull/22734#issuecomment-314706630 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | todo (with https://github.com/symfony/symfony-docs/issues/8147)

So standalone applications can also benefit from the lazy loading feature without requiring a PSR-11 implementation specifically for this need.

The loader does not memoize any resolved command from factories, as it's the `Application` responsibility and the `ContainerCommandLoader` does not either (the PSR-11 does not enforce two successive calls to return the same value).

Commits
-------

9b40b4a [Console] Add a factory command loader for standalone application with lazy-loading needs
2017-07-19 12:10:53 +02:00
Fabien Potencier 8c028bd956 Merge branch '3.3' into 3.4
* 3.3:
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages
  [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter
  Change "this" to "that" to avoid confusion
  [VarDumper] Move locale sniffing to dump() time
  [VarDumper] Use "C" locale when using "comma" flags
  [Config] Make ClassExistenceResource throw on invalid parents
2017-07-19 11:38:19 +02:00
Fabien Potencier 2d8fb99d57 Merge branch '3.2' into 3.3
* 3.2:
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter
  Change "this" to "that" to avoid confusion
  [VarDumper] Move locale sniffing to dump() time
2017-07-19 11:37:49 +02:00
Fabien Potencier 4b4f831769 Merge branch '2.8' into 3.2
* 2.8:
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [VarDumper] Move locale sniffing to dump() time
2017-07-19 11:36:17 +02:00
Fabien Potencier ce12665c3c Merge branch '2.7' into 2.8
* 2.7:
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [VarDumper] Move locale sniffing to dump() time
2017-07-19 11:35:27 +02:00
Fabien Potencier f4172b0bff bug #23580 Fix login redirect when referer contains a query string (fabpot)
This PR was squashed before being merged into the 2.7 branch (closes #23580).

Discussion
----------

Fix login redirect when referer contains a query string

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

In 3.3, #19026 was merged to fix a bug that should have been fixed in 2.7. The fix was wrong anyway, so this PR fixes it the proper way.

The first two commits refactors test (using mocks for data objects is a bad idea and using too many mocks actually makes tests test nothing).

The actual fix is in the third commit.

Commits
-------

022ac0be09 [Security] added more tests
9c7a1406cb [Security] fixed default target path when referer contains a query string
b1f1ae26b4 [Security] simplified tests
3387612451 [Security] refactored tests
2017-07-19 11:34:08 +02:00
Robin Chalas 8a71aa31bb Fix registering lazy command services with autoconfigure enabled 2017-07-19 11:10:41 +02:00
Javier Eguiluz 25a47d8796 Fix the design of the profiler exceptions when there is no message 2017-07-19 10:54:05 +02:00
Nicolas Grekas fa0b9428c5 [Config] Minor fix 2017-07-19 09:37:29 +02:00
Christian Flothmann 535208042a document the TwigRenderer class deprecation 2017-07-19 08:45:45 +02:00
Fabien Potencier 022ac0be09 [Security] added more tests 2017-07-19 08:09:02 +02:00
Fabien Potencier 9c7a1406cb [Security] fixed default target path when referer contains a query string 2017-07-19 07:57:00 +02:00
Fabien Potencier b1f1ae26b4 [Security] simplified tests 2017-07-19 07:53:07 +02:00
Fabien Potencier 3387612451 [Security] refactored tests 2017-07-19 07:49:47 +02:00
Nicolas Grekas df748fc2bb feature #23357 [VarDumper] Add interval caster (maidmaid)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] Add interval caster

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

 cf https://github.com/symfony/symfony/pull/22431#issuecomment-312567747

Commits
-------

a73522c Add interval caster
2017-07-19 07:49:44 +02:00
Nicolas Grekas 719465c04e feature #23550 [DebugBundle] Added min_depth to Configuration (james-johnston-thumbtack)
This PR was merged into the 3.4 branch.

Discussion
----------

[DebugBundle] Added min_depth to Configuration

This enables calling the recently-added `setMinDepth` function on `VarCloner`.

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

Commits
-------

30cd70d [DebugBundle] Added min_depth to Configuration
2017-07-19 07:40:55 +02:00
Fabien Potencier cb65cf6945 bug #23577 [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #23566 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

295fda9a31 [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages
2017-07-19 07:30:45 +02:00
Maxime Steinhausser 295fda9a31 [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages 2017-07-19 07:00:48 +02:00
Fabien Potencier 1375601c2d bug #23558 [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter (dmaicher)
This PR was squashed before being merged into the 3.2 branch (closes #23558).

Discussion
----------

[FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter

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

The `ValidatorCacheWarmer` was using an `ArrayAdapter` with `$storeSerialized=false`. This is a problem as inside the `LazyLoadingMetadataFactory` the metaData objects are mutated (parent class constraints are merged into it) after they have been written into the cache.

So this means that currently when warming up the validator cache actually the merged metaData version is finally taken from the `ArrayAdapter` and written into the `PhpFilesAdapter`.

Which then caused some duplicate constraints as the parent constraints are merged again after fetching from the cache inside `LazyLoadingMetadataFactory`.

This fix makes sure we serialize objects into the `ArrayAdapter`.

Writing a test case for this does not seem easy to me. Any ideas?

EDIT: Maybe its even safer to just clone the object when writing it into the cache?

```diff
diff --git a/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
index 79ad1f2..88eaf33 100644
--- a/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
+++ b/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
@@ -117,7 +117,7 @@ class LazyLoadingMetadataFactory implements MetadataFactoryInterface
         }

         if (null !== $this->cache) {
-            $this->cache->write($metadata);
+            $this->cache->write(clone $metadata);
         }
```

Opinions?

Commits
-------

c0556cb204 [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter
2017-07-19 06:29:53 +02:00
David Maicher c0556cb204 [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter 2017-07-19 06:29:52 +02:00
Fabien Potencier 1cac0a0bba feature #23561 [DI] Optimize use of private and pre-defined services (nicolas-grekas)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[DI] Optimize use of private and pre-defined services

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

By making private services really private and taking into account that (un)setting pre-defined services is not allowed anymore, we can go one step further into optimizing the dumped container.

Commits
-------

c0c1881fe4 [DI] Optimize use of private and pre-defined services
2017-07-19 06:19:43 +02:00
Fabien Potencier 547185fe7a bug #23573 [Config] Make ClassExistenceResource throw on invalid parents (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Config] Make ClassExistenceResource throw on invalid parents

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

Let's throw a more specific exception when a parent class/interface/trait is missing.
Fine tunes #23041

Commits
-------

53b01903ce [Config] Make ClassExistenceResource throw on invalid parents
2017-07-19 06:18:00 +02:00
Fabien Potencier a19c120a79 feature #23569 Remove last legacy codes (nicolas-grekas)
This PR was merged into the 4.0-dev branch.

Discussion
----------

Remove last legacy codes

| 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
-------

86ec5e10a7 Remove last legacy codes
2017-07-19 06:13:43 +02:00
Fabien Potencier 2040770da5 bug #23574 [VarDumper] Move locale sniffing to dump() time (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Move locale sniffing to dump() time

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

Commits
-------

eed8a5143d [VarDumper] Move locale sniffing to dump() time
2017-07-19 06:11:13 +02:00
Fabien Potencier cd2529432a bug #23575 [VarDumper] Use "C" locale when using "comma" flags (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[VarDumper] Use "C" locale when using "comma" flags

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

Adding trailing comma implicitly requires a C locale.

Commits
-------

305ae5e5d4 [VarDumper] Use "C" locale when using "comma" flags
2017-07-19 05:57:51 +02:00
Fabien Potencier 1f8cc178c1 minor #23579 [DI] Change "this" to "that" in `findAndSortTaggedServices` doc to reduce confusion (simshaun)
This PR was merged into the 3.2 branch.

Discussion
----------

[DI] Change "this" to "that" in `findAndSortTaggedServices` doc to reduce confusion

Continuation of PR #23578 which I royally messed up.....

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

I know this is extremely minor, but reading the description of this method, I got confused. Wondering if it's just me.

Where it says:

> The order of additions must be respected for services having the same priority, and knowing that the \SplPriorityQueue class does not respect the FIFO method, we should not use **this** class.

Should it not say "we should not use **that** class"?

Commits
-------

04b7b04b65 Change "this" to "that" to avoid confusion
2017-07-19 05:54:37 +02:00
Shaun Simmons 04b7b04b65 Change "this" to "that" to avoid confusion 2017-07-18 17:34:47 -04:00
Nicolas Grekas eed8a5143d [VarDumper] Move locale sniffing to dump() time 2017-07-18 18:11:53 +02:00
Nicolas Grekas 305ae5e5d4 [VarDumper] Use "C" locale when using "comma" flags 2017-07-18 18:05:00 +02:00
Nicolas Grekas 53b01903ce [Config] Make ClassExistenceResource throw on invalid parents 2017-07-18 16:40:06 +02:00