Commit Graph

29853 Commits

Author SHA1 Message Date
Nicolas Grekas
2abb25e881 Merge branch '2.8' into 3.4
* 2.8:
  [Security] guardAuthenticationProvider::authenticate cannot return null according to interface specification
  [VarDumper] Remove decoration from actual output in tests
  [PropertyInfo] Minor cleanup and perf improvement
  [Bridge/Doctrine] fix count() notice on PHP 7.2
  [Security] Skip user checks if not implementing UserInterface
  [HttpFoundation] Add HTTP_EARLY_HINTS const
  [DoctrineBridge] Improve exception message at `IdReader::getIdValue()`
  fixed CS
  Use new PHP7.2 functions in hasColorSupport
  [VarDumper] Fix dumping of SplObjectStorage
  Fixed being logged out on failed attempt in guard
2018-04-25 17:24:55 +02:00
Nicolas Grekas
fcebc33d39 Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] Remove decoration from actual output in tests
  [Bridge/Doctrine] fix count() notice on PHP 7.2
  [Security] Skip user checks if not implementing UserInterface
  [HttpFoundation] Add HTTP_EARLY_HINTS const
  [DoctrineBridge] Improve exception message at `IdReader::getIdValue()`
  fixed CS
  Use new PHP7.2 functions in hasColorSupport
  [VarDumper] Fix dumping of SplObjectStorage
2018-04-25 16:40:02 +02:00
Nicolas Grekas
ff962261ae bug #27016 [Security][Guard] GuardAuthenticationProvider::authenticate cannot return null (biomedia-thomas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security][Guard] GuardAuthenticationProvider::authenticate cannot return null

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

Authenticate method in GuardAuthenticationProvider returned null when the token does not originate from any of the guard authenticators. This check was not done in the supports method. According to the interface authenticate cannot return null. This patch copies theguard authenticator checks to the supports method.

Commits
-------

9dff22c [Security] guardAuthenticationProvider::authenticate cannot return null according to interface specification
2018-04-25 16:30:57 +02:00
Thomas
9dff22ca99 [Security] guardAuthenticationProvider::authenticate cannot return null according to interface specification 2018-04-25 16:28:23 +02:00
Nicolas Grekas
bf8ed0a3fc bug #26831 [Bridge/Doctrine] count(): Parameter must be an array or an object that implements Countable (gpenverne)
This PR was merged into the 2.7 branch.

Discussion
----------

[Bridge/Doctrine] count(): Parameter must be an array or an object that implements Countable

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

Php7.2 will throw a warning on count(null) [http://php.net/manual/en/migration72.incompatible.php](http://php.net/manual/en/migration72.incompatible.php)

Error:
```
count(): Parameter must be an array or an object that implements Countable
```
when no result returned on validating unique constraint

For example, on an entity with annotation uniqueEntity:
```
 @UniqueEntity(
     fields={"email"},
     repositoryMethod="findMemberWithPasswordFromEmail",
 )
```

And in repository, a method ``findMemberWithPasswordFromEmail`` which return null if no entity found (``getOneOrNullResult``)

Commits
-------

715373f [Bridge/Doctrine] fix count() notice on PHP 7.2
2018-04-25 16:25:57 +02:00
Nicolas Grekas
778d47f0ac minor #27046 [HttpKernel] Remove decoration from actual output in tests (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Remove decoration from actual output in tests

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

AppVeyor has color support since #26910, that breaks the build.
Fixes it by removing decoration from tested DumpDataCollector CLI outputs, same as what's already done for HTML dumps

Commits
-------

c4daef9 [VarDumper] Remove decoration from actual output in tests
2018-04-25 16:23:57 +02:00
Nicolas Grekas
e9cc947aef [PhpUnitBridge] Fix #26994 2018-04-25 16:21:38 +02:00
Robin Chalas
c4daef9db6 [VarDumper] Remove decoration from actual output in tests 2018-04-25 16:05:38 +02:00
Nicolas Grekas
447ce8e416 minor #27003 [PropertyInfo] Minor cleanup and perf improvement (dunglas)
This PR was squashed before being merged into the 2.8 branch (closes #27003).

Discussion
----------

[PropertyInfo] Minor cleanup and perf improvement

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | n/a

Commits
-------

4a8306e [PropertyInfo] Minor cleanup and perf improvement
2018-04-25 14:21:53 +02:00
Kévin Dunglas
4a8306e7be [PropertyInfo] Minor cleanup and perf improvement 2018-04-25 14:21:47 +02:00
gpenverne
715373fea6 [Bridge/Doctrine] fix count() notice on PHP 7.2 2018-04-25 14:09:36 +02:00
Robin Chalas
384acf9f7f [Security] Skip user checks if not implementing UserInterface 2018-04-25 13:44:04 +02:00
Fabien Potencier
0a83b17fb6 feature #27017 [Serializer] Allow to access to the context and various other infos in callbacks and max depth handler (dunglas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Serializer] Allow to access to the context and various other infos in callbacks and max depth handler

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes<!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | todo

Allows to access to the context, format, parent object and attribute name in max depth handlers and callbacks.

ping @meyerbaptiste

Commits
-------

0e5f74071a [Serializer] Allow to access to the context and various other infos in callbacks and max depth handler
2018-04-25 13:39:43 +02:00
Fabien Potencier
f7264ed971 bug #27001 [Messenger] Typecast the auto-setup as a bool. (davidbarratt)
This PR was squashed before being merged into the 4.1-dev branch (closes #27001).

Discussion
----------

[Messenger] Typecast the auto-setup as a bool.

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #26996
| License       | MIT
| Doc PR        |

Commits
-------

566a8be35b [Messenger] Typecast the auto-setup as a bool.
2018-04-25 12:51:12 +02:00
David Barratt
566a8be35b [Messenger] Typecast the auto-setup as a bool. 2018-04-25 12:51:00 +02:00
Roland Franssen
5ce90bd251 [DI] Handle invalid bundle configuration class 2018-04-25 11:56:16 +02:00
Robin Chalas
817da643eb [AppVeyor] Fix race condition in tests 2018-04-24 22:18:09 +02:00
Sergey Rabochiy
314e8813b3 [DI] Add check of internal type to ContainerBuilder::getReflectionClass 2018-04-24 12:28:38 +02:00
Kévin Dunglas
0e5f74071a
[Serializer] Allow to access to the context and various other infos in callbacks and max depth handler 2018-04-23 16:28:06 +02:00
Ahmad Mayahi
c606d60c54 [HttpFoundation] Add HTTP_EARLY_HINTS const 2018-04-23 14:28:22 +02:00
Fabien Potencier
9ae116f9e5 feature #26832 [MonologBridge] Added WebSubscriberProcessor to ease processor configuration (lyrixx)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[MonologBridge] Added WebSubscriberProcessor to ease processor configuration

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

---

Side note: I could be nice to have an interface to act as the marker to AutoConfigure processors

Commits
-------

b1287d65d3 [MonologBridge] Added WebSubscriberProcessor to ease processor configuration
2018-04-23 13:44:44 +02:00
Grégoire Pineau
b1287d65d3 [MonologBridge] Added WebSubscriberProcessor to ease processor configuration 2018-04-23 12:08:25 +02:00
Javier Spagnoletti
5e98478d94 [DoctrineBridge] Improve exception message at IdReader::getIdValue() 2018-04-23 06:20:42 -03:00
Grégoire Paris
6fbcc51566
Add type hints
This makes classes inheriting from phpunit classes compatible with phpunit 7.
Fixes #26931
2018-04-22 11:28:57 +02:00
Fabien Potencier
2ed0c67375 minor #26990 declare types in array_map callbacks (DQNEO)
This PR was squashed before being merged into the 4.1-dev branch (closes #26990).

Discussion
----------

declare types in array_map callbacks

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

This is a continuation of https://github.com/symfony/symfony/pull/26821

Commits
-------

e7d5634cf4 declare types in array_map callbacks
2018-04-22 08:37:48 +02:00
DQNEO
e7d5634cf4 declare types in array_map callbacks 2018-04-22 08:37:41 +02:00
Fabien Potencier
cbc2376803 feature #24699 [HttpFoundation] Add HeaderUtils class (c960657)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpFoundation] Add HeaderUtils class

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

In several places in HttpFoundation we parse HTTP header values using a variety of regular expressions. Some of them fail in various corner cases.

Parsing HTTP headers is not entirely trivial. We must be able to parse quoted strings with backslash escaping properly and ignore white-space in certain places.

In practice, our limitations in this respect may not be a big problem. We only care about a few different HTTP request headers, and they are usually restricted to a simple values without quoted strings etc. However, this is no excuse for not doing it right :-)

This PR introduces a new utility class for parsing headers. This allows Symfony itself and third-party code to parse HTTP headers in a robust way without using complex regular expressions that are difficult to write and error prone.

Commits
-------

b435e80cae [HttpFoundation] Add HeaderUtility class
2018-04-22 08:29:56 +02:00
Fabien Potencier
9cb1f14ac3 feature #26791 [BrowserKit] Bypass Header Informations (cfjulien)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[BrowserKit] Bypass Header Informations

This enables browser Testingtools like mink to pass headerfiles while doing a form submit

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

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->
We tried to do some Browsertesting with Mink and Behat, something like:

```gherkin
Scenario Outline: greet in native language

Given the browser language is "<lang>"
And I called the website
When I fill in "PHP" for "username"
And I submit the form
Then I should see "<greeting>"

	Examples:
		| lang 	| greeting 	|
		| en 	| Hello 	|
		| de 	| Hallo 	|
		| fr 	| Bonjour 	|
		| zh 	| 你好 		|
		| ru 	| привет	|
		| be 	| Bonjour 	|
```

```php
  public function theBrowserLanguageIs($arg1)
    {
        $this->getSession()->setRequestHeader('Accept', '*/*');
        $this->getSession()->setRequestHeader('Accept-Language', $arg1);
    }

```

While everything works fine with visit form submit didn't send the headers. At Mink theres also an open issue for that
https://github.com/minkphp/MinkBrowserKitDriver/issues/79

but actually the problem was between the mink browserkit and the symfony client.

Commits
-------

fa2063efe4 [BroserKit] Enable passthrew header information on submit
2018-04-22 08:26:08 +02:00
Fabien Potencier
2ceef595a5 feature #26825 [Form] Add choice_translation_locale option for Intl choice types (yceruto, fabpot)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Form] Add choice_translation_locale option for Intl choice types

| Q             | A
| ------------- | ---
| Branch?       | master (4.2)
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #26737
| License       | MIT
| Doc PR        | symfony/symfony-docs#...

This PR adds possibility to show the list of elements for a custom locale different to the current one and proposes also deprecate the `ChoiceLoaderInterface` implementation from all of them, moving it to a separate class.

See related issue #26737 for full description and use-case.

After:
```php
$formBuilder->add('country', CountryType::class, [
    'choice_translation_locale' => 'es',
]);
```

Alternative of https://github.com/symfony/symfony/pull/23629

TODO:

- [x] Update `UPGRADE-*.md` and `src/**/CHANGELOG.md` files.
- [x] Add some tests.

Commits
-------

9592fa64cf moved feature to 4.1
e250dfa702 Add choice_translation_locale option for Intl choice types
2018-04-22 08:19:16 +02:00
Fabien Potencier
9592fa64cf moved feature to 4.1 2018-04-22 08:17:00 +02:00
Fabien Potencier
4057067b99 bug #26014 [Security] Fixed being logged out on failed attempt in guard (iltar)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Fixed being logged out on failed attempt in guard

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

This fixes the issue described in the ticket. After this fix, guard will no longer "forget" your authentication when your next attempt fails.

Commits
-------

4fc0ecbf90 Fixed being logged out on failed attempt in guard
2018-04-22 08:05:13 +02:00
Fabien Potencier
82a95dfb22 bug #25348 [HttpFoundation] Send cookies using header() to fix "SameSite" ones (nicolas-grekas, cvilleger)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Send cookies using header() to fix "SameSite" ones

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

Commits
-------

73fec237da [HttpFoundation] Add functional tests for Response::sendHeaders()
e350ea000f [HttpFoundation] Send cookies using header() to fix "SameSite" ones
2018-04-22 08:00:43 +02:00
Fabien Potencier
923417122a fixed CS 2018-04-22 07:56:10 +02:00
Fabien Potencier
a6c22f5edc bug #26910 Use new PHP7.2 functions in hasColorSupport (johnstevenson)
This PR was squashed before being merged into the 2.7 branch (closes #26910).

Discussion
----------

Use new PHP7.2 functions in hasColorSupport

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

Fixes bc break in #26609
Reference: https://github.com/composer/xdebug-handler/blob/master/src/Process.php#L111

Commits
-------

b0c92254a0 Use new PHP7.2 functions in hasColorSupport
2018-04-22 07:55:13 +02:00
johnstevenson
b0c92254a0 Use new PHP7.2 functions in hasColorSupport 2018-04-22 07:55:01 +02:00
Philipp Cordes
b2ac6b6fbf [VarDumper] Fix dumping of SplObjectStorage 2018-04-22 07:45:54 +02:00
DQNEO
66adc9f1c8 Revert the type declaration for Role, because users might do duck typing. 2018-04-21 20:42:13 +09:00
cvilleger
73fec237da [HttpFoundation] Add functional tests for Response::sendHeaders() 2018-04-20 20:41:36 +02:00
Yonel Ceruto
e250dfa702 Add choice_translation_locale option for Intl choice types 2018-04-20 11:42:13 -04:00
Christian Schmidt
b435e80cae [HttpFoundation] Add HeaderUtility class 2018-04-20 16:29:33 +02:00
Fabien Potencier
833909bd68 feature #26921 [DI][FrameworkBundle] Hide service ids that start with a dot (nicolas-grekas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI][FrameworkBundle] Hide service ids that start with a dot

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

Now that services are private by default, `debug:container` should display them by default.
In fact, the public/private concept should not trigger a difference in visibility for this command.

Instead, I propose to handle service ids that start with a dot as hidden services.

PR should be ready.

(For reference, I tried using a tag instead in #26891, but that doesn't work in practice when working on the implementation.)

Commits
-------

cea051ee5e [DI][FrameworkBundle] Hide service ids that start with a dot
2018-04-20 15:23:35 +02:00
Nicolas Grekas
cea051ee5e [DI][FrameworkBundle] Hide service ids that start with a dot 2018-04-20 15:14:43 +02:00
Nicolas Grekas
1b1c03af83 Merge branch '4.0'
* 4.0:
  Fix tests
  PropertyInfo\DoctrineExtractor - There is bug when indexBy is meta key
  Fix PercentType error rendering.
  [minor] SCA
  [Cache] Inline some hot function calls
  fixed Silex project's URL
  fixed deprecations in tests
  fixed Twig URL
  [Cache] Add missing `@internal` tag on ProxyTrait
  fix formatting arguments in plaintext format
  Fix PSR exception context key
  Don't assume that file binary exists on *nix OS
  Fix that ESI/SSI processing can turn a \"private\" response \"public\"
  [Form] Fixed trimming choice values
  fix rendering exception stack traces
  [Routing] Fix loading multiple class annotations for invokable classes
2018-04-20 13:04:56 +02:00
Nicolas Grekas
6d9d329deb Merge branch '3.4' into 4.0
* 3.4:
  Fix tests
  PropertyInfo\DoctrineExtractor - There is bug when indexBy is meta key
  Fix PercentType error rendering.
  [minor] SCA
  [Cache] Inline some hot function calls
2018-04-20 12:04:09 +02:00
Nicolas Grekas
9a0422ce45 Merge branch '2.8' into 3.4
* 2.8:
  PropertyInfo\DoctrineExtractor - There is bug when indexBy is meta key
  [minor] SCA
2018-04-20 12:02:27 +02:00
Nicolas Grekas
8c5fe4461b Merge branch '2.7' into 2.8
* 2.7:
  [minor] SCA
2018-04-20 11:59:25 +02:00
Nicolas Grekas
48f0afccde minor #26988 Fix wrong phpdoc (Nek-)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Fix wrong phpdoc

The exception was renamed but the phpdoc not updated. This has no impact on anything (even IDE autocompletion) but looks bad. Here is a fix.

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

Commits
-------

878bc62 Fix wrong phpdoc
2018-04-20 11:57:39 +02:00
Nicolas Grekas
939a42f623 Fix tests 2018-04-20 11:55:01 +02:00
Maxime Veber
878bc62c1f
Fix wrong phpdoc
The exception was renamed but the phpdoc not updated. This have no impact on anything (even IDE autocompletion) but looks bad. Here is a fix.
2018-04-20 11:49:05 +02:00
Vladimir Tsykun
d0cb1de9a5 [HttpKernel] LoggerDataCollector: splitting logs on different sub-requests 2018-04-20 11:44:17 +02:00
insekticid
583759f0b6 PropertyInfo\DoctrineExtractor - There is bug when indexBy is meta key 2018-04-20 11:36:43 +02:00
Alexis MARQUIS
4715397979 Fix PercentType error rendering. 2018-04-20 11:32:41 +02:00
Christian Flothmann
468533e18f [TwigBundle] fix tests 2018-04-20 11:14:37 +02:00
Nicolas Grekas
b97a4ae031 minor #26938 [minor] SCA (kalessil)
This PR was squashed before being merged into the 2.7 branch (closes #26938).

Discussion
----------

[minor] SCA

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

- Control flow tweaks

Commits
-------

877e678 [minor] SCA
2018-04-20 10:39:24 +02:00
Vladimir Reznichenko
877e67883c [minor] SCA 2018-04-20 10:39:18 +02:00
Nicolas Grekas
bf871f4f69 minor #26984 [Cache] Inline some hot function calls (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] Inline some hot function calls

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

The Cache component is typically found in critical code paths, let's inline some calls.
I didn't change all calls but only those in potential hot paths.
Submitted against 3.4 to reduce future merge conflicts.

The PR also embeds edge-case behavior fixes for `ChainAdapter`.

Commits
-------

52b4bfc [Cache] Inline some hot function calls
2018-04-20 10:33:35 +02:00
Nicolas Grekas
52b4bfc042 [Cache] Inline some hot function calls 2018-04-20 10:22:20 +02:00
Fabien Potencier
dcbfd00b02 Merge branch '3.4' into 4.0
* 3.4:
  fixed Silex project's URL
2018-04-20 08:21:32 +02:00
Fabien Potencier
d0928fc14f Merge branch '2.8' into 3.4
* 2.8:
  fixed Silex project's URL
2018-04-20 08:21:16 +02:00
Fabien Potencier
d05f0a0e03 fixed Silex project's URL 2018-04-20 08:21:07 +02:00
Fabien Potencier
bb45c75d7b Merge branch '3.4' into 4.0
* 3.4:
  fixed deprecations in tests
  fixed Twig URL
  [Cache] Add missing `@internal` tag on ProxyTrait
  fix formatting arguments in plaintext format
  Fix PSR exception context key
  Don't assume that file binary exists on *nix OS
  Fix that ESI/SSI processing can turn a \"private\" response \"public\"
  [Form] Fixed trimming choice values
  fix rendering exception stack traces
  [Routing] Fix loading multiple class annotations for invokable classes
2018-04-20 08:20:23 +02:00
Fabien Potencier
f180bfe2a2 fixed deprecations in tests 2018-04-20 08:20:06 +02:00
Fabien Potencier
437acb4357 Merge branch '2.8' into 3.4
* 2.8:
  fixed Twig URL
  Don't assume that file binary exists on *nix OS
  Fix that ESI/SSI processing can turn a \"private\" response \"public\"
  [Form] Fixed trimming choice values
2018-04-20 08:18:40 +02:00
Fabien Potencier
e8e7ff2d7b Merge branch '2.7' into 2.8
* 2.7:
  fixed Twig URL
  Don't assume that file binary exists on *nix OS
  Fix that ESI/SSI processing can turn a \"private\" response \"public\"
  [Form] Fixed trimming choice values
2018-04-20 08:15:58 +02:00
Fabien Potencier
f981f7aae8 fixed Twig URL 2018-04-20 08:14:58 +02:00
Fabien Potencier
306c5992ec feature #26768 [DI] Allow autoconfigured calls in PHP (Gary PEGEOT, GaryPEGEOT)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI] Allow autoconfigured calls in PHP

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

Allow to auto-configured method calls like:
```php
$container->registerForAutoconfiguration(LoggerAwareInterface::class)->addMethodCall('setLogger', array(new Reference(LoggerInterface::class)));
```

Commits
-------

1d811cb3f7 Add test for both _intanceof and manual method setting.
71bf3ced74 CS fix
15c45ee40a Add more test-cases
2612f81052 Allow autoconfigured calls in PHP.
2018-04-20 06:42:42 +02:00
Fabien Potencier
1b1bbd43a3 feature #26833 [HttpKernel] Added support for timings in ArgumentValueResolvers (iltar)
This PR was squashed before being merged into the 4.1-dev branch (closes #26833).

Discussion
----------

[HttpKernel] Added support for timings in ArgumentValueResolvers

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

This feature provides timings for the supports and resolve methods for each individual argument value resolver. It was already possible to see the `controller.get_arguments` timing, but it was impossible to track a possible performance issue any further without using different tools. I've explicitly added the `supports` method as well, as it might otherwise hide performance issues. The `ServiceValueResolver` for example, does a `container::has`, which in turn might trigger a factory method, which might trigger a query for example.

~~Due to the feature freeze I've already added this to 4.2. If for some reason it's okay to still merge it into 4.1, I can update the upgrade files.~~ - Changed to 4.1

##### *Without performance issue*
![image](https://user-images.githubusercontent.com/1754678/38416250-6cf45528-3994-11e8-91d4-2472c97c6c50.png)

##### *With performance issue*
![image](https://user-images.githubusercontent.com/1754678/38416266-7966eb7c-3994-11e8-9dc5-a99daa8f9a69.png)

Commits
-------

1c0d8928aa [HttpKernel] Added support for timings in ArgumentValueResolvers
2018-04-20 06:27:48 +02:00
Iltar van der Berg
1c0d8928aa [HttpKernel] Added support for timings in ArgumentValueResolvers 2018-04-20 06:27:42 +02:00
DQNEO
74ab256bec declare type for arguments of anonymous functions for v2.7 2018-04-20 06:20:29 +02:00
Fabien Potencier
3d40bfa1c4 bug #26877 Add working orphaned events template (kejwmen)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Add working orphaned events template

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

Current template is broken, this PR introduces a simple working template to fix profiler.

Commits
-------

089817b9b1 Add working orphaned events template
2018-04-20 06:10:43 +02:00
Lars Strojny
8c1672743d Don’t normalize global values 2018-04-19 22:19:20 +02:00
Nicolas Grekas
3d7c7cf39a [Cache] Add missing @internal tag on ProxyTrait 2018-04-19 13:01:15 +02:00
Christian Flothmann
f1c1d36fda fix formatting arguments in plaintext format 2018-04-19 10:26:28 +02:00
Fabien Potencier
8c4fd1299b feature #26787 [Security] Make security.providers optional (MatTheCat)
This PR was squashed before being merged into the 4.1-dev branch (closes #26787).

Discussion
----------

[Security] Make security.providers optional

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

Don't really know if it's viable but I just hit #21998 so I would like to tackle this.

Commits
-------

ee54bfa646 [Security] Make security.providers optional
2018-04-19 08:45:32 +02:00
Mathieu Lechat
ee54bfa646 [Security] Make security.providers optional 2018-04-19 08:45:26 +02:00
Nicolas Grekas
a55916a895 [VarDumper] Add dd() helper == dump() + die() 2018-04-18 16:09:39 +02:00
Samuel ROZE
4429c9b20f bug #26956 [Messenger][AmqpExt] Allow disabling the auto-setup of the connection (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26956).

Discussion
----------

[Messenger][AmqpExt] Allow disabling the auto-setup of the connection

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

Allow disabling the auto-setup of the AMQP connection. Especially useful when the messages are published to another system (see #26937)

Commits
-------

b3039faa1a [Messenger][AmqpExt] Allow disabling the auto-setup of the connection
2018-04-17 17:51:29 +01:00
Samuel ROZE
b3039faa1a [Messenger][AmqpExt] Allow disabling the auto-setup of the connection 2018-04-17 17:51:20 +01:00
Samuel ROZE
fe199317da feature #26941 [Messenger] Allow to configure the transport (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26941).

Discussion
----------

[Messenger] Allow to configure the transport

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | ish
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #26900, #26908, #26935
| License       | MIT
| Doc PR        | ø

We allow users to configure the encoder/decoder used by the built-in adapter(s). This also adds the support of configuring the default's encoder/decoder format and context.

Commits
-------

1a3f0bbb14 [Messenger] Allow to configure the transport
2018-04-17 17:47:47 +01:00
Samuel ROZE
1a3f0bbb14 [Messenger] Allow to configure the transport 2018-04-17 17:47:06 +01:00
abluchet
a4737915c8 [Messenger] Allow sender tag name omission 2018-04-17 14:59:00 +02:00
Fabien Potencier
b0410d457e bug #26886 Don't assume that file binary exists on *nix OS (teohhanhui)
This PR was merged into the 2.7 branch.

Discussion
----------

Don't assume that file binary exists on *nix OS

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

Certain lightweight distributions such as Alpine Linux (popular for smaller Docker images) do not include it by default.

Commits
-------

e2c1f24fbd Don't assume that file binary exists on *nix OS
2018-04-17 12:07:04 +02:00
Pavel.Batanov
a28393e482
Fix PSR exception context key 2018-04-17 12:32:18 +03:00
Teoh Han Hui
e2c1f24fbd Don't assume that file binary exists on *nix OS
Certain lightweight distributions such as Alpine Linux (popular for smaller Docker images) do not include it by default.
2018-04-17 11:15:40 +02:00
Fabien Potencier
8f2132fce3 bug #26899 [Routing] Fix loading multiple class annotations for invokable classes (1ed)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Fix loading multiple class annotations for invokable classes

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

The support for full route definition for invokable controllers as class annotation was introduced by
https://github.com/symfony/symfony/pull/2172, but that works with one route only, which is inconsistent with how `@Route` works at other places. This PR adds support for multiple class annotations for invokable controllers and fixes the inconsistency.

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

2a9c668ad7 [Routing] Fix loading multiple class annotations for invokable classes
2018-04-17 09:10:52 +02:00
Maxime Steinhausser
60af39b161 [DebugBundle][VarDumper] Fix server dumper placeholder command 2018-04-16 22:53:37 +02:00
Fabien Potencier
d17d38d291 bug #26643 Fix that ESI/SSI processing can turn a "private" response "public" (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #26643).

Discussion
----------

Fix that ESI/SSI processing can turn a "private" response "public"

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

Under the condition that
* we are merging in at least one *embedded* response,
* all *embedded* responses are `public`,
* the *main* response is `private` and
* all responses use expiration-based caching (note: no `s-maxage` on the *main* response)

... the resulting response will turn to `Cache-Control: public`.

The real issue is that when all responses use expiration-based caching, a combined max age is computed. This is set on the *main* response using `Response::setSharedMaxAge()`, which implicitly sets `Cache-Control: public`.

The fix provided in this PR solves the problem by applying the same logic to the *main* response that is applied for *embedded* responses, namely that responses with `!Response::isCacheable()` will make the resulting response have `Cache-Control: private, no-cache, must-revalidate` and have `(s)max-age` removed.

This makes the change easy to understand, but makes responses uncacheable too often. This is because the `Response::isCacheable()` method was written to determine whether it is safe for a shared cache to keep the response, which is not the case as soon as a `private` response is involved. This might be improved upon in another PR.

Commits
-------

3d27b5946d Fix that ESI/SSI processing can turn a \"private\" response \"public\"
2018-04-16 19:47:59 +02:00
Matthias Pigulla
3d27b5946d Fix that ESI/SSI processing can turn a \"private\" response \"public\" 2018-04-16 19:47:52 +02:00
Samuel ROZE
177cea0ee1 Support nested configuration on adapters 2018-04-16 18:40:17 +01:00
Fabien Potencier
d2f8df8054 bug #26895 [Config] Fixes the valid placeholder types for variable node (romain-pierre)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Config] Fixes the valid placeholder types for variable node

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | we will see...    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #26894
| License       | MIT

This is a proposition, still in discussion.
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

9fbdcdbeb9 Fixes the valid placeholder types for variable node
2018-04-16 19:38:06 +02:00
Fabien Potencier
7e4de96c03 minor #26909 [Messenger][DX] Uses the adapter name instead of the service name (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26909).

Discussion
----------

[Messenger][DX] Uses the adapter name instead of the service name

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

As a developer, I don't get why I would need to use the service name while I give a name to the adapters. This is basically what this PR means for me in terms of configuration:
```patch
framework:
    messenger:
        routing:
            # We want the command below to be handled async with the "messenger.default_sender" (AMQP producer).
-            'App\Message\Command\CreateNumber': messenger.sender.amqp
+            'App\Message\Command\CreateNumber': amqp

        adapters:
            amqp: "%env(AMQP_DSN)%"
```

And in terms of pulling the messages:
```patch
- bin/console messenger:consume-messages messenger.receiver.amqp
+ bin/console messenger:consume-messages amqp
```

Commits
-------

b5afb40441 [Messenger][DX] Uses the adapter name instead of the service name
2018-04-16 19:19:59 +02:00
Samuel ROZE
b5afb40441 [Messenger][DX] Uses the adapter name instead of the service name 2018-04-16 19:19:48 +02:00
Fabien Potencier
baeb1bf671 bug #26922 [TwigBundle] fix rendering exception stack traces (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBundle] fix rendering exception stack traces

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

Commits
-------

99302e72fc fix rendering exception stack traces
2018-04-16 16:11:39 +02:00
Romain Pierre
9fbdcdbeb9 Fixes the valid placeholder types for variable node 2018-04-16 10:25:21 +02:00
Samuel ROZE
c442929737 minor #26912 [Messenger] Testing LoggingMiddleware and minor improvements (yceruto)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Testing LoggingMiddleware and minor improvements

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

- This add tests for `LoggingMiddleware` class
- Similar to [`translator.logging`](6bbb5bcc52/src/Symfony/Component/Translation/LoggingTranslator.php (L33)) a logging service doesn't make sense without a [hard `logger` dependency](6bbb5bcc52/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml (L25-L29)) and according to:
6bbb5bcc52/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php (L52-L54)

   it must be removed if `logger` alias doesn't exists.

Commits
-------

eedad4c061 Make logger arg a hard dependency, remove dead code and add tests
2018-04-15 22:28:31 +01:00
HeahDude
00cdf5e0a5 [Form] Fixed trimming choice values 2018-04-15 21:28:23 +02:00
Nicolas Grekas
ccb0e84799 [Form] tweak CHANGELOG 2018-04-15 08:55:41 -05:00
Yonel Ceruto
eedad4c061 Make logger arg a hard dependency, remove dead code and add tests 2018-04-14 13:36:02 -04:00
Nicolas Grekas
782ffe2fd2 Merge branch '4.0'
* 4.0:
  [HttpKernel] Make ServiceValueResolver work if controller namespace starts with a backslash in routing
  Add d-block to bootstrap 4 alerts
  [Console] Don't go past exact matches when autocompleting
  [DI] Improve error message for non-autowirable scalar argument
  Disable autoloader call on interface_exists check
  [Validator] Fix LazyLoadingMetadataFactory with PSR6Cache for non classname if tested values isn't an existing class
  [HttpKernel] Dont create mock cookie for new sessions in tests
2018-04-14 11:36:26 -05:00
Nicolas Grekas
594925a934 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Make ServiceValueResolver work if controller namespace starts with a backslash in routing
  Add d-block to bootstrap 4 alerts
  [Console] Don't go past exact matches when autocompleting
  [DI] Improve error message for non-autowirable scalar argument
  Disable autoloader call on interface_exists check
  [Validator] Fix LazyLoadingMetadataFactory with PSR6Cache for non classname if tested values isn't an existing class
  [HttpKernel] Dont create mock cookie for new sessions in tests
2018-04-14 11:34:42 -05:00
Nicolas Grekas
0a02fb1bdd Merge branch '2.8' into 3.4
* 2.8:
  [Console] Don't go past exact matches when autocompleting
  Disable autoloader call on interface_exists check
  [Validator] Fix LazyLoadingMetadataFactory with PSR6Cache for non classname if tested values isn't an existing class
2018-04-14 11:33:56 -05:00
Nicolas Grekas
32c04bdcbb Merge branch '2.7' into 2.8
* 2.7:
  [Console] Don't go past exact matches when autocompleting
  Disable autoloader call on interface_exists check
  [Validator] Fix LazyLoadingMetadataFactory with PSR6Cache for non classname if tested values isn't an existing class
2018-04-14 11:27:29 -05:00
Mathieu TUDISCO
3b47441fd5 [HttpKernel] Make ServiceValueResolver work if controller namespace starts with a backslash in routing 2018-04-14 10:06:52 -05:00
Nicolas Grekas
6bdaa406d2 bug #26870 Add d-block to bootstrap 4 alerts (Normunds)
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes #26870).

Discussion
----------

Add d-block to bootstrap 4 alerts

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

Commits
-------

40bd8bd Add d-block to bootstrap 4 alerts
2018-04-14 09:57:28 -05:00
Normunds
40bd8bd797 Add d-block to bootstrap 4 alerts 2018-04-14 09:54:06 -05:00
Nicolas Grekas
ce5b3e7ded minor #26913 [Messenger] Add tests for ValidationMiddleware (yceruto)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Add tests for ValidationMiddleware

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

Commits
-------

4a3f8f4 Add tests for ValidationMiddleware
2018-04-14 09:04:31 -05:00
Nicolas Grekas
f394b4540b minor #26914 [Messenger] Add tests for ChainHandler class (yceruto)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Add tests for ChainHandler class

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

More tests, the last one for now ;)

Commits
-------

2d3ce1d Add tests for ChainHandler class
2018-04-14 08:34:18 -05:00
Nicolas Grekas
3265df040e bug #26920 [PhpUnit Bridge] Fixes a non-initialized variable (romain-pierre)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[PhpUnit Bridge] Fixes a non-initialized variable

| Q             | A
| ------------- | ---
| Branch?       | to be updated
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT

If you are ok with this, I will rebase on the best branch.

Commits
-------

fa5f5b3 Fixes a non-initialized variable in phpunit bridge
2018-04-14 08:31:23 -05:00
Nicolas Grekas
16ae72059e bug #26857 [HttpKernel] Dont create mock cookie for new sessions in tests (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Dont create mock cookie for new sessions in tests

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

@romainneutron can you please check if this fixes your issue?

Commits
-------

86b850e [HttpKernel] Dont create mock cookie for new sessions in tests
2018-04-14 08:14:37 -05:00
Yonel Ceruto
2d3ce1dc58 Add tests for ChainHandler class 2018-04-14 08:58:06 -04:00
Christian Flothmann
99302e72fc fix rendering exception stack traces 2018-04-13 17:45:35 +02:00
Romain Pierre
fa5f5b3797 Fixes a non-initialized variable in phpunit bridge 2018-04-13 16:57:55 +02:00
Yonel Ceruto
4a3f8f4775 Add tests for ValidationMiddleware 2018-04-13 08:28:05 -04:00
Samuel ROZE
6bbb5bcc52 minor #26907 [Messenger] Minor improvements and cleanup (yceruto)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Minor improvements and cleanup

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

- enable some of opcode optimizations
- add missing typehints
- cleanup

Commits
-------

d8cc7a4715 Minor improvements and cleanup
2018-04-12 21:15:39 +01:00
Samuel ROZE
d60425c868 Allow the logger to be null (as per every other bits in the FrameworkBundle) 2018-04-12 19:18:53 +01:00
Yonel Ceruto
d8cc7a4715 Minor improvements and cleanup
- enable some of opcode optimizations
- add missing typehints
- cleanup
2018-04-12 11:42:15 -04:00
Samuel ROZE
3c4be3cdda
Update the tests to also use interface_exists 2018-04-12 16:38:50 +01:00
Ryan Weaver
2405eae500 Fixing bad class_exists vs interface_exists 2018-04-12 11:21:29 -04:00
Gábor Egyed
2a9c668ad7 [Routing] Fix loading multiple class annotations for invokable classes 2018-04-12 11:01:03 +02:00
Samuel ROZE
aa04d06dc4 feature #26632 [Messenger] Add AMQP adapter (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26632).

Discussion
----------

[Messenger] Add AMQP adapter

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

- [x] Depends on the Messenger component #24411
- [x] Add tests once we are all happy about the structure

---

In order to give a great DX for simple needs such as sending messages through an AMQP broker such as RabbitMq, we should ship an AMQP adapter for the Messenger component within Symfony Core. It should be as simple as this proposal. We don't need to handle more specific use-cases nor brokers as other adapters such as the [enqueue adapter](https://github.com/sroze/enqueue-bridge) can also be used.

Configuring the adapter is as simple as the following configuration:
```yaml
# config/packages/messenger_adapters.yaml
framework:
    messenger:
        adapter: "%env(MESSENGER_DSN)%"
```

With the given `.env` for example:
```
MESSENGER_DSN=amqp://guest:guest@localhost:5672/%2f/messages
```

Keep in mind that after having configured the adapter, developers have to route their messages to the given adapter.

```yaml
# config/packages/messenger_routes.yaml
framework:
    messenger:
        routing:
producer).
            'App\Message\Command\CreateNumber': messenger.default_sender
```

---

Additionally, multiple adapters can be created and messages routed to these ones.

```yaml
# config/packages/messenger_routes.yaml
framework:
    messenger:
        adapters:
            commands: "amqp://guest:guest@localhost:5672/%2f/commands"
            maintenance: "amqp://guest:guest@localhost:5672/%2f/maintenance"
        routing:
producer).
            'App\Message\Command\CreateNumber': messenger.commands_sender
            'App\Message\Command\MaintenanceSpecificCommand': messenger.maintenance_sender
```

Commits
-------

798c230ad5 [Messenger] Add AMQP adapter
2018-04-12 09:16:00 +01:00
Samuel ROZE
798c230ad5 [Messenger] Add AMQP adapter 2018-04-12 09:15:52 +01:00
Tobias Schultze
11bdd807ab minor #26856 [DI] Improve error message for non-autowirable scalar argument (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Improve error message for non-autowirable scalar argument

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

Commits
-------

7f398117f4 [DI] Improve error message for non-autowirable scalar argument
2018-04-10 19:23:09 +02:00
Robin Chalas
10674688da bug #26875 [Console] Don't go past exact matches when autocompleting (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Don't go past exact matches when autocompleting

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

Commits
-------

adba79a [Console] Don't go past exact matches when autocompleting
2018-04-10 11:58:27 +02:00
Gary PEGEOT
1d811cb3f7 Add test for both _intanceof and manual method setting. 2018-04-10 11:14:46 +02:00
Mateusz Sip
089817b9b1
Add working orphaned events template 2018-04-10 01:02:34 +02:00
Nicolas Grekas
adba79a6b0 [Console] Don't go past exact matches when autocompleting 2018-04-09 15:41:45 -05:00
Nicolas Grekas
7f398117f4 [DI] Improve error message for non-autowirable scalar argument 2018-04-09 15:40:31 -05:00
Grégoire Pineau
8e0fcf933c [FrameworkBundle] Fixed configuration of php_errors.log 2018-04-09 18:19:45 +02:00
Pascal Montoya
5198f435a0
Disable autoloader call on interface_exists check 2018-04-09 10:32:24 +02:00
Pascal Montoya
cd914209bd
[Validator] Fix LazyLoadingMetadataFactory with PSR6Cache for non classname if tested values isn't an existing class 2018-04-09 10:32:24 +02:00
Samuel ROZE
a726f05f81 minor #26862 [Messenger] Rename the middleware tag (sroze)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Rename the middleware tag

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

After a using it for a bit of time, it's weird to have the `messenger.message_handler` tag while using the `message_bus_middleware` tag for the middlewares.

I propose to rename the tag from `message_bus_middleware` to `messenger.bus_middleware` to keep some consistency.

Commits
-------

dd18445482 Rename the middleware tag from `message_bus_middleware` to `messenger.bus_middleware`
2018-04-09 09:13:48 +01:00
Maxime Steinhausser
d66827eca4 [Console] Support iterable in SymfonyStyle::write/writeln 2018-04-08 12:38:20 +02:00
Samuel ROZE
dd18445482 Rename the middleware tag from message_bus_middleware to messenger.bus_middleware 2018-04-08 10:53:48 +01:00
Christian Flothmann
a59ef8f8b6 Merge branch '4.0'
* 4.0:
  [Translation] Use unix-style EOL for xliff-core-1.2-strict.xsd
  bumped Symfony version to 4.0.9
  updated VERSION for 4.0.8
  updated CHANGELOG for 4.0.8
  bumped Symfony version to 3.4.9
  updated VERSION for 3.4.8
  updated CHANGELOG for 3.4.8
  bumped Symfony version to 2.8.39
  updated VERSION for 2.8.38
  updated CHANGELOG for 2.8.38
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 11:02:26 +02:00
Christian Flothmann
2bec0e1400 Merge branch '3.4' into 4.0
* 3.4:
  [Translation] Use unix-style EOL for xliff-core-1.2-strict.xsd
  bumped Symfony version to 3.4.9
  updated VERSION for 3.4.8
  updated CHANGELOG for 3.4.8
  bumped Symfony version to 2.8.39
  updated VERSION for 2.8.38
  updated CHANGELOG for 2.8.38
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 10:49:08 +02:00
Christian Flothmann
7cd5e43141 Merge branch '2.8' into 3.4
* 2.8:
  bumped Symfony version to 2.8.39
  updated VERSION for 2.8.38
  updated CHANGELOG for 2.8.38
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 10:21:29 +02:00
Christian Flothmann
611b84606d Merge branch '2.7' into 2.8
* 2.7:
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 09:53:13 +02:00
Christian Flothmann
16edba5d99 bug #26834 [Yaml] Throw parse error on unfinished inline map (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] Throw parse error on unfinished inline map

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

Throws a parse error instead of a PHP notice.

Commits
-------

4359936 [Yaml] Throw parse error on unfinished inline map
2018-04-08 09:51:31 +02:00
Tobias Schultze
629e82dca6 minor #26828 [HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface (nicolas-grekas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface

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

Forgotten in #26096

Commits
-------

5d7117bf0a [HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface
2018-04-07 21:59:24 +02:00
Nicolas Grekas
86b850ebd8 [HttpKernel] Dont create mock cookie for new sessions in tests 2018-04-07 16:32:26 +02:00
Nicolas Grekas
5d7117bf0a [HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface 2018-04-07 15:53:44 +02:00
Nicolas Grekas
c36f6db14b [Translation] Use unix-style EOL for xliff-core-1.2-strict.xsd 2018-04-07 15:20:24 +02:00
Fabien Potencier
02e5fbceea bumped Symfony version to 4.0.9 2018-04-06 18:49:36 +02:00
Tobias Schultze
5100071caf [Console] add support for iterable in output 2018-04-06 18:29:06 +02:00
Fabien Potencier
cdef8e4256 updated VERSION for 4.0.8 2018-04-06 18:25:03 +02:00
Fabien Potencier
4dda7abdce bumped Symfony version to 3.4.9 2018-04-06 18:24:29 +02:00
Fabien Potencier
884b994be9 updated VERSION for 3.4.8 2018-04-06 17:19:48 +02:00
Fabien Potencier
b04452a223 bumped Symfony version to 2.8.39 2018-04-06 17:19:00 +02:00
Fabien Potencier
47b29834cb updated VERSION for 2.8.38 2018-04-06 16:52:08 +02:00
Fabien Potencier
e73aa2985b bumped Symfony version to 2.7.46 2018-04-06 16:50:48 +02:00
Fabien Potencier
952879e147 updated VERSION for 2.7.45 2018-04-06 14:49:33 +02:00
Nicolas Grekas
e350ea000f [HttpFoundation] Send cookies using header() to fix "SameSite" ones 2018-04-06 13:05:51 +02:00
Nicolas Grekas
43599362a2 [Yaml] Throw parse error on unfinished inline map 2018-04-06 13:01:31 +02:00
Julien Menth
fa2063efe4 [BroserKit] Enable passthrew header information on submit
This enables browser Testingtools like mink to pass headerfiles while doing a form submmit
2018-04-06 12:52:03 +02:00
Nicolas Grekas
368a0c34b8 [PhpUnitBridge] Fix PHP 5.3 compat 2018-04-06 09:49:42 +02:00
Fabien Potencier
f1a9d7098e Merge branch '4.0'
* 4.0:
  [Form] Fix typo in Upgrade 3.4/4.0
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
  Fix Typo in Guard Factory
2018-04-06 09:35:57 +02:00
Fabien Potencier
5ea5ee2079 Merge branch '3.4' into 4.0
* 3.4:
  [Form] Fix typo in Upgrade 3.4/4.0
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
  Fix Typo in Guard Factory
2018-04-06 09:35:43 +02:00
Fabien Potencier
ee054cd756 Merge branch '2.8' into 3.4
* 2.8:
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
  Fix Typo in Guard Factory
2018-04-06 09:35:25 +02:00
Fabien Potencier
72b238ed3a Merge branch '2.7' into 2.8
* 2.7:
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
2018-04-06 09:35:03 +02:00
Fabien Potencier
dc29b27a83 feature #26660 [SecurityBundle] allow using custom function inside allow_if expressions (dmaicher)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[SecurityBundle] allow using custom function inside allow_if expressions

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

This is a follow-up for https://github.com/symfony/symfony/pull/26263

As discussed there I propose to allow using custom functions as a new feature only and thus targeting `master` here.

If we agree to move forward with this there are some todos:
- [x] fix tests
- [x] add cache warmer for allow_if expressions
- [x] update documentation to mention this new feature
- [x] update UPGRADE files

ping @nicolas-grekas @stof

Commits
-------

41552cd896 [SecurityBundle] allow using custom function inside allow_if expressions
2018-04-06 08:18:32 +02:00
Fabien Potencier
0f4c0e92b2 feature #26096 [HttpFoundation] Added a migrating session handler (rossmotley)
This PR was squashed before being merged into the 4.1-dev branch (closes #26096).

Discussion
----------

[HttpFoundation] Added a migrating session handler

| Q             | A
| ------------- | ---
| Branch?       | master
| 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/9496

- [x] gather feedback for my changes
- [x] submit changes to the documentation
- [x] update the changelog

When migrating to a new session handler on a live system, it's useful to be able to do it with no loss of session data. This migrating handler allows the sessions to be written to an additional handler to enable a migration workflow like:

* Switch to migrating handler, with your new handler as the 'write only' one. The old handler behaves as usual and sessions get written to the new one.
* After verifying the data in the new handler (and after the session gc period), switch the migrating handler to use your old handler as the 'write only' one instead, so the sessions will now be read from the new handler. This step allows easier rollbacks.
* After verifying everything, switch from the migrating handler to the new handler

Commits
-------

3acd548349 [HttpFoundation] Added a migrating session handler
2018-04-06 07:59:02 +02:00
Ross Motley
3acd548349 [HttpFoundation] Added a migrating session handler 2018-04-06 07:58:54 +02:00
Fabien Potencier
47e2bd31da feature #26528 [Debug] Support any Throwable object in FlattenException (derrabus)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Debug] Support any Throwable object in FlattenException

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

Alternative to #26447 without BC breaks, follows #26028.

This PR removes the need to convert `Throwable` objects into exceptions when working with `FlattenException`.

ping @instabledesign @ostrolucky @nicolas-grekas

Commits
-------

96c1a6fa71 Support any Throwable object in FlattenException.
2018-04-06 07:53:59 +02:00
Fabien Potencier
60e48cb0f5 fixed typo 2018-04-06 07:34:50 +02:00
Fabien Potencier
dbafc11630 bug #26799 [DI][Config] Fix empty env validation (ro0NL)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI][Config] Fix empty env validation

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #26747
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

d40a4f409d [DI][Config] Fix empty env validation
2018-04-06 07:33:43 +02:00
Fabien Potencier
3a37e41bfb bug #26816 [Messenger][FrameworkBundle] Move collector, command into the component & minor tweaks (ogizanagi)
This PR was squashed before being merged into the 4.1-dev branch (closes #26816).

Discussion
----------

[Messenger][FrameworkBundle] Move collector, command into the component & minor tweaks

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Some suggestions more aligned with most of the core practices, mainly:

- Move the command & collector to the component itself. They are not dependent of the Fwb in any way and are useful out of the fwb usage.
- Add an exception in FrameworkExtension if the `framework.messenger` key is enabled, but the component isn't installed.

Commits
-------

6aec62bad3 [FrameworkBundle] Minor messenger component tweaks
f9c9ca0514 [Messenger] Move data collector & command into the component
2018-04-06 07:28:47 +02:00
Alexander M. Turek
96c1a6fa71 Support any Throwable object in FlattenException. 2018-04-05 19:04:06 +02:00
Christian Flothmann
79e898ffe8 remove CSRF Twig extension when class is missing 2018-04-05 18:06:51 +02:00
Maxime Steinhausser
6aec62bad3 [FrameworkBundle] Minor messenger component tweaks 2018-04-05 17:47:14 +02:00
Maxime Steinhausser
f9c9ca0514 [Messenger] Move data collector & command into the component 2018-04-05 17:21:58 +02:00
Peter Orosz
24c460afa6 [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener 2018-04-05 16:23:45 +02:00
Nicolas Grekas
f77c1d0d09 [PhpUnitBridge] Fix parse error on PHP 5.3 2018-04-05 13:02:18 +02:00
Nicolas Grekas
c307ff8f96 [PhpUnitBridge] Fix parse error on PHP 5.3 2018-04-05 13:00:58 +02:00
Nicolas Grekas
65b601323f [PhpUnitBridge] Replace global function by closure 2018-04-05 12:56:53 +02:00
Grégoire Pineau
3b1c5820d3 [PhpUnitBridge] Search for other SYMFONY_* env vars in phpunit.xml then phpunit.xml.dist 2018-04-05 11:13:43 +02:00
Maxime Steinhausser
a01b8e420d [Messenger] Fix composer branch-alias 2018-04-04 23:42:37 +02:00
Samuel ROZE
08ca9f5a56 bug #26804 [Messenger] Fix handles tag attribute (ro0NL)
This PR was squashed before being merged into the 4.1-dev branch (closes #26804).

Discussion
----------

[Messenger] Fix handles tag attribute

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

92f7e37a27 [Messenger] Fix handles tag attribute
2018-04-04 20:34:11 +01:00
Roland Franssen
92f7e37a27 [Messenger] Fix handles tag attribute 2018-04-04 20:34:01 +01:00
Fabien Potencier
fb172cae86 feature #26800 [PhpUnitBridge] Search for SYMFONY_PHPUNIT_REMOVE env var in phpunit.xml then phpunit.xml.dist (lyrixx)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[PhpUnitBridge] Search for SYMFONY_PHPUNIT_REMOVE env var in phpunit.xml then phpunit.xml.dist

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

---

using the env var could be a bit annoying + not everyone may know this. So adding it to the `phpunit.xml.dist` file make sens IHMO

Commits
-------

5e2d43e322 [PhpUnitBridge] Search for SYMFONY_PHPUNIT_REMOVE env var in phpunit.xml then phpunit.xml.dist
2018-04-04 20:35:20 +02:00
David Maicher
41552cd896 [SecurityBundle] allow using custom function inside allow_if expressions 2018-04-04 20:31:39 +02:00
Fabien Potencier
5b4e1c5b6b Merge branch '4.0'
* 4.0:
  [Security] register custom providers on ExpressionLanguage directly
  [PhpUnitBridge] Catch deprecation error handler
2018-04-04 20:25:14 +02:00
Fabien Potencier
eb7050ab50 Merge branch '3.4' into 4.0
* 3.4:
  [Security] register custom providers on ExpressionLanguage directly
  [PhpUnitBridge] Catch deprecation error handler
2018-04-04 20:24:59 +02:00
Fabien Potencier
572042c4ec feature #26684 [Messenger] Remove the Doctrine middleware configuration from the FrameworkBundle (sroze)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Remove the Doctrine middleware configuration from the FrameworkBundle

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

As per @fabpot's request, remove the enabling feature of the DoctrineMiddleware from the FramworkBundle.

/cc @Nyholm

Commits
-------

27a8b1dc96 Remove the Doctrine middleware configuration from the FrameworkBundle
2018-04-04 19:46:16 +02:00
Fabien Potencier
2a4d024bcd feature #21856 [LDAP] Allow adding and removing values to/from multi-valued attributes (jean-gui)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[LDAP] Allow adding and removing values to/from multi-valued attributes

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

`EntryManagerInterface::update(Entry $entry)` is extremely slow in some specific cases such as adding or removing members to or from huge groupOfNames if you also enable the memberOf overlay in OpenLDAP. Disabling memberOf does make things a lot better, but it is still slow compared to inserting/removing only the elements you want.

This PR adds two methods to Symfony\Component\Ldap\Adapter\ExtLdap\EntryManager taking advantage of ldap_mod_add and ldap_mod_del.

I thought about using them directly in the update method, but since you need to know what values to add and remove, it would be necessary to retrieve the old values from LDAP.

I'm also unsure whether these two methods should be in an interface. I think that adding them to EntryManagerInterface would break BC, but I could create another interface, similarly to RenameEntryInterface.

Commits
-------

fa9db29064 Allow adding and removing values to/from multi-valued attributes
2018-04-04 19:33:55 +02:00
jean-gui
fa9db29064 Allow adding and removing values to/from multi-valued attributes 2018-04-04 19:25:31 +02:00
David Maicher
3a55a86609 [Security] register custom providers on ExpressionLanguage directly 2018-04-04 19:20:26 +02:00
Fabien Potencier
fe6aa6414f feature #26767 [Form] ability to set rounding strategy for MoneyType (syastrebov)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Form] ability to set rounding strategy for MoneyType

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

Added `rounding_mode` to the `MoneyType` to be possible to change rounding strategy for money values. For now it's just `ROUND_HALF_UP` but it's good to have `ROUND_DOWN` as well. E.g. to transform `15.999` to `15.99` instead of `15.1`.

Commits
-------

f3b142420f rounding_mode for money type
2018-04-04 19:12:35 +02:00
Fabien Potencier
a90cd13fa4 minor #26801 Update da translations (c960657)
This PR was merged into the 2.7 branch.

Discussion
----------

Update da translations

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

The Danish translations have several serious errors. This PR adjusts to official Danish orthography, and updates some texts for internal consistency and to better reflect the original English text.

Commits
-------

d0ea26bd15 Update da translations
2018-04-04 19:11:55 +02:00
Christian Schmidt
d0ea26bd15 Update da translations 2018-04-04 19:02:30 +02:00
Grégoire Pineau
5e2d43e322 [PhpUnitBridge] Search for SYMFONY_PHPUNIT_REMOVE env var in phpunit.xml then phpunit.xml.dist 2018-04-04 18:37:27 +02:00
Roland Franssen
d40a4f409d [DI][Config] Fix empty env validation 2018-04-04 18:31:13 +02:00
Zan Baldwin
c0a051d46d Fix Typo in Guard Factory 2018-04-04 16:36:22 +01:00
Nicolas Grekas
603f3abad9 bug #26794 [PhpUnitBridge] Catch deprecation error handler (cvilleger)
This PR was squashed before being merged into the 3.4 branch (closes #26794).

Discussion
----------

[PhpUnitBridge] Catch deprecation error handler

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

This fix `DeprecationErrorHandler` to catch deprecation triggered by `SymfonyTestListenerTrait`. `$trace[$i]['class']` points to `Symfony\Bridge\PhpUnit\Legacy\SymfonyTestsListenerForV6`, not the aliased version. The condition has been refactored to handle future version `SymfonyTestsListenerForV{x}`

Commits
-------

f40f181 [PhpUnitBridge] Catch deprecation error handler
2018-04-04 17:03:10 +02:00
cvilleger
f40f181167 [PhpUnitBridge] Catch deprecation error handler 2018-04-04 17:02:59 +02:00
Robin Chalas
e973f6f380 [master] fix test 2018-04-04 16:30:04 +02:00
Nicolas Grekas
bd4820b146 Merge branch '4.0'
* 4.0:
  [Routing] Fix throwing NoConfigurationException instead of 405
  [Security] Load the user before pre/post auth checks when needed
  [SecurityBundle] Add test for simple authentication config
  [WebProfilerBundle] fix version check
  [SecurityBundle] Add missing argument to security.authentication.provider.simple
  [Finder] fix tests
2018-04-04 15:53:40 +02:00
Nicolas Grekas
bc23cae7b0 Merge branch '3.4' into 4.0
* 3.4:
  [Routing] Fix throwing NoConfigurationException instead of 405
  [Security] Load the user before pre/post auth checks when needed
  [SecurityBundle] Add test for simple authentication config
  [WebProfilerBundle] fix version check
  [SecurityBundle] Add missing argument to security.authentication.provider.simple
  [Finder] fix tests
2018-04-04 15:50:32 +02:00
Nicolas Grekas
5d189e1018 Merge branch '2.8' into 3.4
* 2.8:
  [Security] Load the user before pre/post auth checks when needed
  [SecurityBundle] Add test for simple authentication config
  [SecurityBundle] Add missing argument to security.authentication.provider.simple
  [Finder] fix tests
2018-04-04 15:49:01 +02:00
Nicolas Grekas
2c7556f311 Merge branch '2.7' into 2.8
* 2.7:
  [Finder] fix tests
2018-04-04 15:38:31 +02:00
Nicolas Grekas
1605684616 bug #26788 [Security] Load the user before pre/post auth checks when needed (chalasr)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Load the user before pre/post auth checks when needed

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

Commits
-------

c318306 [Security] Load the user before pre/post auth checks when needed
2018-04-04 15:33:11 +02:00
Nicolas Grekas
73269cfd0e [Routing] Fix throwing NoConfigurationException instead of 405 2018-04-04 15:22:16 +02:00
Robin Chalas
c318306b44 [Security] Load the user before pre/post auth checks when needed 2018-04-04 15:01:49 +02:00
Samuel ROZE
27a8b1dc96 Remove the Doctrine middleware configuration from the FrameworkBundle 2018-04-04 13:52:24 +01:00
Robin Chalas
c82c2f1efa [SecurityBundle] Add test for simple authentication config 2018-04-04 14:16:21 +02:00
Nicolas Grekas
946eefa284 [WebProfilerBundle] fix version check 2018-04-04 14:14:22 +02:00
Boris Vujicic
1b26aac8d2 [SecurityBundle] Add missing argument to security.authentication.provider.simple 2018-04-04 13:53:06 +02:00
Sergey Yastrebov
f3b142420f rounding_mode for money type 2018-04-04 14:15:26 +03:00
Samuel ROZE
ff9153ea67 Mention the interface is a marker 2018-04-04 08:28:34 +01:00
Christian Flothmann
540ea112b5 [Finder] fix tests 2018-04-04 08:34:32 +02:00
Fabien Potencier
6fc1cc3ec3 added some validation 2018-04-04 08:31:43 +02:00
Shaun Simmons
c11a8eb92e Add a Monolog activation strategy for ignoring specific HTTP codes 2018-04-04 08:16:58 +02:00
Fabien Potencier
c9ebbce82f fixed a typo 2018-04-04 07:23:22 +02:00
Fabien Potencier
54268f1266 Merge branch '4.0'
* 4.0:
  fixed tests
  [Finder] Remove duplicate slashes in filenames
  [VarDumper] Skip some tests on custom xdebug.file_link_format
  [WebProfilerBundle][HttpKernel] Make FileLinkFormatter URL format generation lazy
  bumped Symfony version to 4.0.8
  updated VERSION for 4.0.7
  updated CHANGELOG for 4.0.7
  bumped Symfony version to 3.4.8
  updated VERSION for 3.4.7
  updated CHANGELOG for 3.4.7
2018-04-04 07:11:41 +02:00
Fabien Potencier
f76624a0b7 Merge branch '3.4' into 4.0
* 3.4:
  fixed tests
  [Finder] Remove duplicate slashes in filenames
  [VarDumper] Skip some tests on custom xdebug.file_link_format
  [WebProfilerBundle][HttpKernel] Make FileLinkFormatter URL format generation lazy
  bumped Symfony version to 3.4.8
  updated VERSION for 3.4.7
  updated CHANGELOG for 3.4.7
2018-04-04 07:10:37 +02:00
Fabien Potencier
c362622cf0 Merge branch '2.8' into 3.4
* 2.8:
  fixed tests
  [Finder] Remove duplicate slashes in filenames
2018-04-04 07:07:11 +02:00
Fabien Potencier
34bb83db0a fixed tests 2018-04-04 07:04:48 +02:00
Fabien Potencier
d3374b229b Merge branch '2.7' into 2.8
* 2.7:
  [Finder] Remove duplicate slashes in filenames
2018-04-04 07:04:41 +02:00
Helmut Hummel
cdde6d9353 [Finder] Remove duplicate slashes in filenames 2018-04-04 06:55:31 +02:00
Gary PEGEOT
71bf3ced74 CS fix 2018-04-04 01:22:26 +02:00
Gary PEGEOT
15c45ee40a Add more test-cases 2018-04-04 01:22:26 +02:00
Gary PEGEOT
2612f81052 Allow autoconfigured calls in PHP. 2018-04-04 01:22:26 +02:00
Samuel ROZE
235e037748 Fix validation configuration default test case 2018-04-03 22:35:24 +01:00
Nicolas Grekas
beb90e8264 minor #26776 [VarDumper] Skip some tests on custom xdebug.file_link_format (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] Skip some tests on custom xdebug.file_link_format

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A <!-- required for new features -->

Those tests are failing locally if a custom `xdebug.file_link_format` value is set.
Let's skip them as for `FrameworkExtensionTest::testFileLinkFormat`.
This will prevent some WTF moments and any actual error on these tests will be reported by the CI (IMHO isn't worth the hassle of updating the tests to handle both cases).

Commits
-------

f9216ed [VarDumper] Skip some tests on custom xdebug.file_link_format
2018-04-03 22:34:11 +02:00
Samuel ROZE
d5b88eb7eb feature #26685 [Messenger] Add a MessageHandlerInterface (multiple messages + auto-configuration) (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26685).

Discussion
----------

[Messenger] Add a `MessageHandlerInterface` (multiple messages + auto-configuration)

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

Based on @chalasr's PR: https://github.com/symfony/symfony/pull/26672.

This reduces the hassle of registering handlers: it allows the auto-configuration with a new interface `HandlerInterface`. At the same time, it allows a handler to handle multiple messages.

Commits
-------

07e6bc73a3 [Messenger] Add a `MessageHandlerInterface` (multiple messages + auto-configuration)
2018-04-03 21:23:24 +01:00
Samuel ROZE
07e6bc73a3 [Messenger] Add a MessageHandlerInterface (multiple messages + auto-configuration) 2018-04-03 21:23:12 +01:00
Samuel ROZE
56cd3d2f31 feature #26648 [Messenger] Added a middleware that validates messages (Nyholm)
This PR was squashed before being merged into the 4.1-dev branch (closes #26648).

Discussion
----------

[Messenger] Added a middleware that validates messages

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

This is inspired by [Fervo](https://github.com/fervo/ValidatedMessage).  It runs the validator over messages implementing the `ValidatedMessageInterface`.

Commits
-------

43a51714d4 [Messenger] Added a middleware that validates messages
2018-04-03 21:17:16 +01:00
Tobias Nyholm
43a51714d4 [Messenger] Added a middleware that validates messages 2018-04-03 21:17:07 +01:00
Maxime Steinhausser
f9216edad8 [VarDumper] Skip some tests on custom xdebug.file_link_format 2018-04-03 18:34:12 +02:00
Nicolas Grekas
5b68f69250 minor #26764 [DependencyInjection] fix expected exception message (xabbuh)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DependencyInjection] fix expected exception message

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

Updates a test that was introduced in #25631 to match the changes made in #26595.

Commits
-------

042eb4f fix expected exception message
2018-04-03 13:35:46 +02:00
Christian Flothmann
87dd56ba48 [Routing] fix merge 2018-04-03 13:31:47 +02:00
Christian Flothmann
042eb4f9c6 fix expected exception message 2018-04-03 12:51:31 +02:00
Nicolas Grekas
e074c0550c [WebProfilerBundle][HttpKernel] Make FileLinkFormatter URL format generation lazy 2018-04-03 12:14:10 +02:00
Fabien Potencier
b74ae405ba bumped Symfony version to 4.0.8 2018-04-03 08:44:46 +02:00
Fabien Potencier
df782dada3 updated VERSION for 4.0.7 2018-04-03 08:20:33 +02:00
Fabien Potencier
ad30087264 bumped Symfony version to 3.4.8 2018-04-03 08:18:41 +02:00
Fabien Potencier
9b6668540d updated VERSION for 3.4.7 2018-04-03 07:49:44 +02:00
Fabien Potencier
e6302e2c92 Merge branch '4.0'
* 4.0:
  [Yaml] Fix regression when trying to parse multiline
  Add PHPDbg support to HTTP components
  bumped Symfony version to 2.8.38
  updated VERSION for 2.8.37
  updated CHANGELOG for 2.8.37
  bumped Symfony version to 2.7.45
  updated VERSION for 2.7.44
  update CONTRIBUTORS for 2.7.44
  updated CHANGELOG for 2.7.44
  Fix check of color support on Windows
2018-04-03 07:25:17 +02:00
Fabien Potencier
8ac91cd1a4 Merge branch '3.4' into 4.0
* 3.4:
  [Yaml] Fix regression when trying to parse multiline
  Add PHPDbg support to HTTP components
  bumped Symfony version to 2.8.38
  updated VERSION for 2.8.37
  updated CHANGELOG for 2.8.37
  bumped Symfony version to 2.7.45
  updated VERSION for 2.7.44
  update CONTRIBUTORS for 2.7.44
  updated CHANGELOG for 2.7.44
  Fix check of color support on Windows
2018-04-03 07:24:00 +02:00
Fabien Potencier
c1bc67f1df Merge branch '2.8' into 3.4
* 2.8:
  Add PHPDbg support to HTTP components
  bumped Symfony version to 2.8.38
  updated VERSION for 2.8.37
  updated CHANGELOG for 2.8.37
  bumped Symfony version to 2.7.45
  updated VERSION for 2.7.44
  update CONTRIBUTORS for 2.7.44
  updated CHANGELOG for 2.7.44
  Fix check of color support on Windows
2018-04-03 07:22:50 +02:00
Fabien Potencier
0a320e4f98 Merge branch '2.7' into 2.8
* 2.7:
  Add PHPDbg support to HTTP components
  bumped Symfony version to 2.7.45
  updated VERSION for 2.7.44
  update CONTRIBUTORS for 2.7.44
  updated CHANGELOG for 2.7.44
  Fix check of color support on Windows
2018-04-03 07:20:27 +02:00
Anto
e787ecfc3f [Yaml] Fix regression when trying to parse multiline 2018-04-03 07:14:20 +02:00
Fabien Potencier
8912754442 feature #26475 [HttpFoundation] split FileException into specialized ones about upload handling (fmata)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpFoundation] split FileException into specialized ones about upload handling

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

Commits
-------

9e586cc7b1 [HttpFoundation] split FileException into specialized ones about upload handling
2018-04-03 07:09:59 +02:00
Fabien Potencier
9fda6d3ee3 feature #26702 Mark ExceptionInterfaces throwable (ostrolucky)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Mark ExceptionInterfaces throwable

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

This interface is meant to be catched, but currently it doesn't guarantee class extending it is an instance of Throwable or Exception.

Commits
-------

b2d8792908 Mark ExceptionInterfaces throwable
2018-04-03 07:07:39 +02:00
Haralan Dobrev
60dd79c835 Add PHPDbg support to HTTP components 2018-04-03 07:05:54 +02:00
Florent Mata
9e586cc7b1 [HttpFoundation] split FileException into specialized ones about upload handling 2018-04-02 18:37:24 +02:00
Nicolas Grekas
ca53d3e0fd Merge branch '4.0'
* 4.0:
  fix merge
2018-04-02 16:36:02 +02:00
Nicolas Grekas
a24fa391b9 Merge branch '3.4' into 4.0
* 3.4:
  fix merge
2018-04-02 16:35:51 +02:00
Nicolas Grekas
3f316e5fb1 fix merge 2018-04-02 16:35:16 +02:00
Nicolas Grekas
8659ba9f1f Merge branch '4.0'
* 4.0:
  fix merge
  fix merge
  fixed tests
  fixed missing use statement
  fixed deprecated messages in tests
2018-04-02 16:06:32 +02:00
Nicolas Grekas
0039ce2e97 Merge branch '3.4' into 4.0
* 3.4:
  fix merge
  fix merge
  fixed tests
2018-04-02 16:06:14 +02:00
Nicolas Grekas
7b8acbb0ac fix merge 2018-04-02 15:55:46 +02:00
Nicolas Grekas
fd11cc1d0e fix merge 2018-04-02 15:14:01 +02:00
Fabien Potencier
382b5868e4 bug #26740 [FrameworkBundle] fix log level support config handling (xabbuh)
This PR was squashed before being merged into the 4.1-dev branch (closes #26740).

Discussion
----------

[FrameworkBundle] fix log level support config handling

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

Commits
-------

2ee6bb4897 fix log level support config handling
ad8c8d00aa add PHP errors options to XML schema definition
2018-04-02 14:14:00 +02:00
Fabien Potencier
d73f491ed5 bug #26609 [Console] Fix check of color support on Windows (mlocati)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix check of color support on Windows

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

If the stream is redirected, `StreamOutput::hasColorSupport()` returns `false` on POSIX systems.
On Windows, this is not always true. Before PHP 7.2 we can't say if the stream is redirected, but since PHP 7.2 we have the `stream_isatty` function that works on Windows too: let's use it.

Sure, `sapi_windows_vt100_support` should return `false` if the stream is redirected, but it's in `or` with the other conditions, so the logic was flawed.

Commits
-------

f7f81892a0 Fix check of color support on Windows
2018-04-02 14:10:57 +02:00
Grégoire Pineau
95049154b3 Revert "[FrameworkBundle] Partially revert HttpCache is not longer abstract (4d075da)"
This reverts commit 60730666ab.
2018-04-02 13:58:37 +02:00
Fabien Potencier
9fcb4cd0b1 bumped Symfony version to 2.8.38 2018-04-02 13:53:17 +02:00
Grégoire Pineau
ca1352d7ab Fixed CHANGELOG 2018-04-02 13:40:05 +02:00
alexpozzi
baec431fd9 [Workflow][Registry] Added the 'all' method which returns all the workflows associated to a specific object #26618 2018-04-02 13:40:05 +02:00
Fabien Potencier
d39e86796a updated VERSION for 2.8.37 2018-04-02 13:38:22 +02:00
Fabien Potencier
8f8d06718e fixed tests 2018-04-02 13:35:51 +02:00
Fabien Potencier
3758a3b1b3 bumped Symfony version to 2.7.45 2018-04-02 13:31:07 +02:00
Nicolas Grekas
6e95c2ad27 Merge branch '4.0'
* 4.0: (24 commits)
  moved Twig runtime to proper class
  fixed deprecated messages in tests
  add PHP errors options to XML schema definition
  [HttpCache] Unlink tmp file on error
  Added LB translation for #26327 (Errors sign for people that do not see colors)
  [TwigBridge] Fix rendering of currency by MoneyType
  Import InvalidArgumentException in PdoAdapter
  [DI] Do not suggest writing an implementation when multiple exist
  [Intl] Update ICU data to 61.1
  Use 3rd person verb form in command description
  [Validator] Add Japanese translation
  Support phpdbg SAPI in Debug::enable()
  [HttpKernel] DumpDataCollector: do not flush when a dumper is provided
  [DI] Fix hardcoded cache dir for warmups
  [Routing] fix tests
  [Routing] Fixed the importing of files using glob patterns that match multiple resources
  [Ldap] cast to string when checking empty passwords
  [Validator] sync validator translation id
  [WebProfilerBundle] use the router to resolve file links
  no type errors with invalid submitted data types
  ...
2018-04-02 12:08:33 +02:00
Fabien Potencier
f33d3fd1e3 Merge branch '3.4' into 4.0
* 3.4:
  fixed missing use statement
  fixed deprecated messages in tests
2018-04-02 12:05:09 +02:00
Fabien Potencier
38968efce6 fixed missing use statement 2018-04-02 12:03:31 +02:00
Fabien Potencier
ef8a14154a updated VERSION for 2.7.44 2018-04-02 11:53:22 +02:00
Nicolas Grekas
a5a44472c9 Merge branch '3.4' into 4.0
* 3.4: (24 commits)
  moved Twig runtime to proper class
  fixed deprecated messages in tests
  add PHP errors options to XML schema definition
  [HttpCache] Unlink tmp file on error
  Added LB translation for #26327 (Errors sign for people that do not see colors)
  [TwigBridge] Fix rendering of currency by MoneyType
  Import InvalidArgumentException in PdoAdapter
  [DI] Do not suggest writing an implementation when multiple exist
  [Intl] Update ICU data to 61.1
  Use 3rd person verb form in command description
  [Validator] Add Japanese translation
  Support phpdbg SAPI in Debug::enable()
  [HttpKernel] DumpDataCollector: do not flush when a dumper is provided
  [DI] Fix hardcoded cache dir for warmups
  [Routing] fix tests
  [Routing] Fixed the importing of files using glob patterns that match multiple resources
  [Ldap] cast to string when checking empty passwords
  [Validator] sync validator translation id
  [WebProfilerBundle] use the router to resolve file links
  no type errors with invalid submitted data types
  ...
2018-04-02 11:52:41 +02:00
Fabien Potencier
367a7a77f5 Merge branch '2.8' into 3.4
* 2.8:
  fixed deprecated messages in tests
2018-04-02 11:45:26 +02:00
Fabien Potencier
79d491cee1 fixed deprecated messages in tests 2018-04-02 11:45:16 +02:00
Fabien Potencier
500b6794eb moved Twig runtime to proper class 2018-04-02 11:40:46 +02:00
Fabien Potencier
62eebd7d50 Merge branch '2.8' into 3.4
* 2.8:
  fixed deprecated messages in tests
  [HttpCache] Unlink tmp file on error
  Added LB translation for #26327 (Errors sign for people that do not see colors)
  [TwigBridge] Fix rendering of currency by MoneyType
  [HttpKernel] DumpDataCollector: do not flush when a dumper is provided
2018-04-02 11:38:44 +02:00
Fabien Potencier
92322f1be0 fixed deprecated messages in tests 2018-04-02 11:33:07 +02:00
Fabien Potencier
72501cd311 Merge branch '2.7' into 2.8
* 2.7:
  [HttpCache] Unlink tmp file on error
  Added LB translation for #26327 (Errors sign for people that do not see colors)
  [TwigBridge] Fix rendering of currency by MoneyType
  [HttpKernel] DumpDataCollector: do not flush when a dumper is provided
2018-04-02 11:31:53 +02:00
Christian Flothmann
2ee6bb4897 fix log level support config handling 2018-04-02 11:08:46 +02:00
Christian Flothmann
ad8c8d00aa add PHP errors options to XML schema definition 2018-04-02 10:42:40 +02:00
Christian Flothmann
7d39bac2dc add PHP errors options to XML schema definition 2018-04-02 10:41:14 +02:00
Fabien Potencier
b3fc3b5690 minor #26728 [VarDumper] Server dumper feature tweaks (ogizanagi)
This PR was squashed before being merged into the 4.1-dev branch (closes #26728).

Discussion
----------

[VarDumper] Server dumper feature tweaks

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

This contains the following fixes & enhancements:

- Remove the `ServerDumper::isServerListening()` method which is not required anymore by core (forgotten on original PR after fixing reviews). Unless this is shown really useful for someone, we probably don't want to support it now that the core doesn't use it anymore.
- Provide the unserialize `allowed_classes` option for security reasons
- Add ServerDumper HTML output max-width (value chosen based on bootstrap 4 container `max-width` for reference)

Commits
-------

c148e06b12 [VarDumper] Add ServerDumper HTML output max-width
4e98fc4cf0 [VarDumper] DumpServer: provide the unserialize "allowed_classes" options
4611314a49 [VarDumper] Remove ServerDumper::isServerListening
2018-04-01 10:34:34 +02:00
Fabien Potencier
46c9842a4c Revert "feature #26698 [Console] Use UTF-8 bullet for listing (ro0NL)"
This reverts commit 6bfc082b87, reversing
changes made to 9b25573e73.
2018-04-01 10:27:13 +02:00
Maxime Steinhausser
c148e06b12 [VarDumper] Add ServerDumper HTML output max-width 2018-03-31 18:16:41 +02:00
Maxime Steinhausser
4e98fc4cf0 [VarDumper] DumpServer: provide the unserialize "allowed_classes" options
Otherwise, could theoretically lead to security vulnerabilities (remote code execution/injection)
2018-03-31 17:59:40 +02:00
Maxime Steinhausser
4611314a49 [VarDumper] Remove ServerDumper::isServerListening
which is not required anymore by core
2018-03-31 17:45:59 +02:00
Chansig
c9a0355883 [HttpCache] Unlink tmp file on error 2018-03-31 09:59:49 +02:00
mweimerskirch
c1fae9ea4e Added LB translation for #26327 (Errors sign for people that do not see colors) 2018-03-31 07:18:09 +02:00
Gabriel Ostrolucký
b2d8792908 Mark ExceptionInterfaces throwable 2018-03-30 17:58:13 +02:00
Fabien Potencier
40fbaa22b1 feature #26693 [Console] Add box-double table style (maidmaid)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] Add box-double table style

| 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/pull/25456#pullrequestreview-82765645
| License       | MIT
| Doc PR        | /

In https://github.com/symfony/symfony/pull/25456#pullrequestreview-82765645 @javiereguiluz suggested to have a complete configuration for style table. It was a nice idea, but not yet implemented. The box-drawing characters allow to combine different styles (like double/single lines). This PR give the possibility to use them.

The previous https://github.com/symfony/symfony/pull/25456 introduced the box-drawing characters; this PR exploits all their strength.

![image](https://user-images.githubusercontent.com/4578773/38136596-d8f4f46c-3462-11e8-9a0d-dcfae6039d18.png)

See https://gist.github.com/maidmaid/3eb55afc4f2857cae89d7ac43d7943ae for some examples.

Commits
-------

463f986c28 Add box-double table style
2018-03-30 16:57:15 +02:00
Dany Maillard
463f986c28 Add box-double table style 2018-03-30 21:44:02 +10:00
Fabien Potencier
6bfc082b87 feature #26698 [Console] Use UTF-8 bullet for listing (ro0NL)
This PR was squashed before being merged into the 4.1-dev branch (closes #26698).

Discussion
----------

[Console] Use UTF-8 bullet for listing

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Inspired by the new table style, this updates the listing style.

before

![image](https://user-images.githubusercontent.com/1047696/38031214-019c79f4-329b-11e8-8352-9453c7ccc129.png)

after

![image](https://user-images.githubusercontent.com/1047696/38031186-ed8b1e66-329a-11e8-8538-2256a0e24a42.png)

Commits
-------

d1e4acb02e [Console] Use UTF-8 bullet for listing
2018-03-30 10:44:22 +02:00
Roland Franssen
d1e4acb02e [Console] Use UTF-8 bullet for listing 2018-03-30 10:44:16 +02:00
Fabien Potencier
9b25573e73 bug #26661 [Translation] XLIFF2: Make sure to trim source if it is too long for "name" (Nyholm)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Translation] XLIFF2: Make sure to trim source if it is too long for "name"

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

This PR is a follow-up on @javiereguiluz's comment here: https://github.com/symfony/symfony-docs/pull/9302

This feature was introduced in https://github.com/symfony/symfony/pull/26149

Commits
-------

ca41fecfd9 Make sure to trim source if it is too long
2018-03-30 10:43:09 +02:00
Fabien Potencier
f568271238 feature #26682 Improved the lint:xliff command (javiereguiluz)
This PR was squashed before being merged into the 4.1-dev branch (closes #26682).

Discussion
----------

Improved the lint:xliff command

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

This is how it looks:

![lint-xliff-output](https://user-images.githubusercontent.com/73419/37958502-fd8732e0-31b0-11e8-8688-8644ca930daf.png)

Commits
-------

6bbcc45d96 Improved the lint:xliff command
2018-03-30 10:39:14 +02:00
Javier Eguiluz
6bbcc45d96 Improved the lint:xliff command 2018-03-30 10:39:04 +02:00
Fabien Potencier
f62a6d7e88 feature #26681 Allow to easily ask Symfony not to set a response to private automatically (Toflar)
This PR was squashed before being merged into the 4.1-dev branch (closes #26681).

Discussion
----------

Allow to easily ask Symfony not to set a response to private automatically

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

This PR is related to the many discussions going on about the latest (Symfony 3.4+) changes regarding the way Symfony handles the session. I think we're almost there now, Symfony 4.1 automatically turns responses into `private` responses once the session is started and it's all done in the `AbstractSessionListener` where the session is also saved.
In other issues/PRs (https://github.com/symfony/symfony/pull/25583, https://github.com/symfony/symfony/pull/25699, https://github.com/symfony/symfony/issues/24988) it was agreed that setting the response to `private` if the session is started is a good default for Symfony. It was also agreed that setting it to `private` does not always make sense because you **can share a response** across sessions, it just requires a more complex caching setup with shared user context etc.
So there must be an easy way to disable this behaviour. Right now it's very hard to do so because what you end up doing is basically decorating the `session_listener` which is very hard because you have to keep track on that over different Symfony versions as the base listener might get additional features etc.

The [FOSCacheBundle](https://github.com/FriendsOfSymfony/FOSHttpCacheBundle/pull/438) is already having this problem, [Contao](https://github.com/contao/core-bundle/pull/1388) has the same issue and there will be probably more. Basically everyone that wants to share a response cache across the session will have to decorate the default listener. That's just too hard, so I came up with this solution. The header is easy. Every project can add that easily. It does not require any extension, configuration or adjustment of any service. It's clean, transparent and has absolutely no impact on "default" Symfony setups.

Would be happy to have some feedback before 4.1 freeze.

Commits
-------

0f36710708 Allow to easily ask Symfony not to set a response to private automatically
2018-03-30 10:02:28 +02:00
Yanick Witschi
0f36710708 Allow to easily ask Symfony not to set a response to private automatically 2018-03-30 10:02:23 +02:00
Fabien Potencier
6f15386b89 minor #26706 [Messenger] Make NoHandlerForMessageException a logic exception (ogizanagi)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Make NoHandlerForMessageException a logic exception

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | https://github.com/symfony/symfony/pull/26648#discussion_r178049882   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A <!-- required for new features -->

To me, a missing handler for a message is a program logic exception (or misconfiguration). Even if it's only detected at runtime here.
It's the same as `ServiceNotFoundException` which even is an `\InvalidArgumentException`. Could eventually also be the case here.

Commits
-------

0489bbd948 [Messenger] Make NoHandlerForMessageException a logic exception
2018-03-30 09:58:18 +02:00
Fabien Potencier
98ee8ab800 bug #26675 [HttpKernel] DumpDataCollector: do not flush when a dumper is provided (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] DumpDataCollector: do not flush when a dumper is provided

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | 3db14045d4/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php (L208-L209)   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

This explains [the workaround I initially used](3db14045d4/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php (L208-L209)) in the server dumper PR original code.

I might be wrong on the intent, but as soon as a dumper is provided (e.g by setting  `debug.dump_destination: php://stderr`), I think there is no need to set the `DumpDataCollector::$isCollected` flag to `false` as we explicitly ask for the dump to be output directly somewhere. So ne need to output again on `__destruct`.

Spotted by running tests on the `symfony/demo` with the server dumper enabled: dumps were output twice. Once on the server, once at the end of the tests.

But this can be easily seen as well by using `debug.dump_destination: php://stderr` on `test` env:

```diff
diff --git a/src/Controller/BlogController.php b/src/Controller/BlogController.php
index e3e30aa..bf9744e 100644
--- a/src/Controller/BlogController.php
+++ b/src/Controller/BlogController.php
@@ -50,6 +50,7 @@ class BlogController extends AbstractController
      */
     public function index(int $page, string $_format, PostRepository $posts): Response
     {
+        dump(get_class($posts));
         $latestPosts = $posts->findLatest($page);

         // Every template name also has two extensions that specify the format and
```

### Before

```sh
vendor/bin/simple-phpunit --filter=BlogControllerTest::testIndex
PHPUnit 6.5.7 by Sebastian Bergmann and contributors.

Testing Project Test Suite
BlogController.php on line 53:
"App\Repository\PostRepository"
.                                                                   1 / 1 (100%)

Time: 3.34 seconds, Memory: 44.25MB

OK (1 test, 1 assertion)
BlogController.php on line 53:
"App\Repository\PostRepository"
```

### After

```sh
vendor/bin/simple-phpunit --filter=BlogControllerTest::testIndex
PHPUnit 6.5.7 by Sebastian Bergmann and contributors.

Testing Project Test Suite
BlogController.php on line 53:
"App\Repository\PostRepository"
.                                                                   1 / 1 (100%)

Time: 731 ms, Memory: 28.00MB

OK (1 test, 1 assertion)
```

Commits
-------

11a0392516 [HttpKernel] DumpDataCollector: do not flush when a dumper is provided
2018-03-30 09:47:09 +02:00
Fabien Potencier
4243db5c87 bug #26663 [TwigBridge] Fix rendering of currency by MoneyType (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #26663).

Discussion
----------

[TwigBridge] Fix rendering of currency by MoneyType

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

Split from #25167 as suggested by @nicolas-grekas to see if this can be reasonably fixed on 2.7, the right way using this itsy-bitsy new feature.

#25167 still contains some valuable changes regarding tests. Ill continue either one PR depending on the target branch / proposed fix.

Commits
-------

a3a2ff0c74 [TwigBridge] Fix rendering of currency by MoneyType
2018-03-29 15:55:16 +02:00
Roland Franssen
a3a2ff0c74 [TwigBridge] Fix rendering of currency by MoneyType 2018-03-29 15:55:10 +02:00
Fabien Potencier
ecb629a245 minor #26672 [Messenger] Compile-time errors fixes and tweaks (chalasr)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Compile-time errors fixes and tweaks

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

Commits
-------

2889acf7f5 [Messenger] Compile time errors fixes and tweaks
2018-03-29 15:46:58 +02:00
Maxime Steinhausser
0489bbd948 [Messenger] Make NoHandlerForMessageException a logic exception 2018-03-29 15:15:19 +02:00
Konstantin Scheumann
b678f7f839 Import InvalidArgumentException in PdoAdapter 2018-03-29 15:02:00 +02:00
Robin Chalas
1ffdb50341 [DI] Do not suggest writing an implementation when multiple exist 2018-03-29 13:25:31 +02:00