Commit Graph

26425 Commits

Author SHA1 Message Date
Ruud Arentsen
29ba7a8cf1 Fixed cache pools affecting each other due to an overwritten seed variable 2019-09-13 12:59:08 +02:00
Christian Flothmann
dcd47335a8 don't change state in case of exception 2019-09-13 12:19:20 +02:00
Maxime Helias
45b4edc2dc [Inflector] add support 'see' to 'ee' for singularize 'fees' to 'fee' 2019-09-13 12:10:01 +02:00
Robin Chalas
b60e0c1454 Fix lint commands frozen on empty stdin 2019-09-12 20:34:14 +01:00
Fabien Potencier
2c58dcc34b [Mailer] Rename an exception class 2019-09-12 19:43:44 +01:00
Christian Flothmann
5e2c6da349 rename SmtpEnvelope to Envelope
Drop the Smtp prefix so that arbitrary transports do not have to depend
on SMTP specific concepts.
2019-09-12 16:17:57 +02:00
Grégoire Pineau
1862cb3ec5 [Workflow] Use a better exception message when many workflow are found 2019-09-12 11:37:54 +02:00
Fabien Potencier
5914a1fdef bug #33517 [Yaml] properly catch legacy tag syntax usages (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Yaml] properly catch legacy tag syntax usages

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

Commits
-------

d5894a4ff9 properly catch legacy tag syntax usages
2019-09-11 17:41:19 +02:00
Christian Flothmann
d5894a4ff9 properly catch legacy tag syntax usages 2019-09-11 15:36:32 +02:00
Nicolas Grekas
789448b65c Merge branch '4.3' into 4.4
* 4.3:
  Re-enable push support for HttpClient
  [DependencyInjection] Accept existing interfaces as valid named args
  Fixed incompatibility between ServiceSubscriberTrait and classes with protected $container property
2019-09-11 10:38:59 +02:00
Nicolas Grekas
6ea7f30b89 bug #33546 [DependencyInjection] Accept existing interfaces as valid named args (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[DependencyInjection] Accept existing interfaces as valid named args

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/33531
| License       | MIT
| Doc PR        | -

Commits
-------

6612e9a939 [DependencyInjection] Accept existing interfaces as valid named args
2019-09-11 10:33:14 +02:00
Kévin Dunglas
8483842888
Re-enable push support for HttpClient 2019-09-11 09:53:13 +02:00
Thomas Calvet
6612e9a939 [DependencyInjection] Accept existing interfaces as valid named args 2019-09-11 09:42:51 +02:00
andyexeter
d8533066de [Cache] Added reserved characters constant for CacheItem 2019-09-11 06:59:27 +02:00
Nicolas Grekas
0e3ea8f8c9 [DI] cascade preloading only to public parameters/properties 2019-09-10 19:54:02 +02:00
Nicolas Grekas
3536b1371b Merge branch '4.3' into 4.4
* 4.3:
  Update GitHub PR template
  don't dump a scalar tag value on its own line
2019-09-10 18:53:10 +02:00
Nicolas Grekas
13ff9f94c5 Merge branch '3.4' into 4.3
* 3.4:
  Update GitHub PR template
  don't dump a scalar tag value on its own line
2019-09-10 18:53:00 +02:00
Nicolas Grekas
8ca975ddf4 bug #33532 [HttpKernel] fix compat with legacy DebugClassLoader (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] fix compat with legacy DebugClassLoader

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

Commits
-------

73198c6d51 [HttpKernel] fix compat with legacy DebugClassLoader
2019-09-10 18:52:40 +02:00
Nicolas Grekas
e25c5957e0 [DI] fix related to preloading 2019-09-10 17:50:40 +02:00
Nicolas Grekas
73198c6d51 [HttpKernel] fix compat with legacy DebugClassLoader 2019-09-10 17:04:34 +02:00
Nicolas Grekas
541f80c635 minor #33529 [DI] use dirname() when possible (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] use dirname() when possible

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

On second look, I think this works :)

Commits
-------

2eae300537 [DI] use dirname() when possible
2019-09-10 15:08:12 +02:00
Nicolas Grekas
2eae300537 [DI] use dirname() when possible 2019-09-10 15:02:59 +02:00
Fabien Potencier
f7130e332f bug #33518 [Yaml] don't dump a scalar tag value on its own line (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] don't dump a scalar tag value on its own line

| 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 commit fine tunes the bugfix made in #33377 with the feedback provided in https://github.com/symfony/symfony/issues/33464#issuecomment-528290985.

Commits
-------

a549069a49 don't dump a scalar tag value on its own line
2019-09-10 13:35:27 +02:00
Fabien Potencier
51ffc18b6d Simplify usage of dirname() 2019-09-10 13:34:21 +02:00
Fabien Potencier
c709d43878 Merge branch '4.3' into 4.4
* 4.3:
  Remove Google references when not needed
  Simplify usage of dirname()
  Remove Google references when not needed
2019-09-10 13:27:29 +02:00
Fabien Potencier
1517d1682f Remove Google references when not needed 2019-09-10 13:27:19 +02:00
Fabien Potencier
6f459b9419 Merge branch '3.4' into 4.3
* 3.4:
  Remove Google references when not needed
2019-09-10 13:25:17 +02:00
Fabien Potencier
c4d44eb089 Simplify usage of dirname() 2019-09-10 13:22:25 +02:00
Christian Flothmann
a549069a49 don't dump a scalar tag value on its own line 2019-09-10 12:38:46 +02:00
Fabien Potencier
9665d7633d Remove Google references when not needed 2019-09-10 12:13:59 +02:00
Fabien Potencier
1c3d409490 bug #33525 [DI] fix Preloader (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix Preloader

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/32032/files#r322150801
| License       | MIT
| Doc PR        | -

Commits
-------

4cc8641326 [DI] fix Preloader
2019-09-10 11:48:59 +02:00
Nicolas Grekas
4cc8641326 [DI] fix Preloader 2019-09-10 11:11:45 +02:00
Nicolas Grekas
0e28518b33 [HttpClient] fix calling the buffer-enabling callback 2019-09-10 10:51:24 +02:00
Nicolas Grekas
6a7b77ecb2 [HttpClient] fix php notice on push 2019-09-10 08:36:23 +02:00
Robin Chalas
92e64a1dfa minor #33511 Require exact match when reading from stdin with a dash (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Require exact match when reading from stdin with a dash

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

I think reading from stdin should happen only when the argument is exactly a dash, with no other files on the command line.

The alternative is to allow a dash at any position in the list of files, but I'm not sure that'd make sense.

Commits
-------

3d14b79dad Require exact match when reading from stdin with a dash
2019-09-09 18:45:50 +02:00
Yonel Ceruto
ddffc972a8 minor tweaks to the welcome page 2019-09-09 09:46:27 -04:00
Christian Flothmann
600bde9562 do not perform string operations on null 2019-09-09 12:09:16 +02:00
Nicolas Grekas
e9f524a37e feature #32565 [HttpClient] Allow enabling buffering conditionally with a Closure (rjwebdev)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Allow enabling buffering conditionally with a Closure

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

With this PR, responses can be buffered automatically from a closure passed to the `buffer` option.

```php
$resp = $client->request('GET', $url, [
    'buffer' => function (array $headers): bool { return true/false; },
]);
```

When no option is provided, buffering is now enabled only for json, xml and text/* content types.

Commits
-------

f705ac9dc4 [HttpClient] Allow enabling buffering conditionally with a Closure
2019-09-09 09:21:48 +02:00
Nicolas Grekas
3d14b79dad Require exact match when reading from stdin with a dash 2019-09-09 08:40:31 +02:00
Alexander M. Turek
919afd2112 [Cache] Add types to constructors and private/final/internal methods. 2019-09-08 23:57:26 +02:00
Nicolas Grekas
81ac674b61 Merge branch '4.3' into 4.4
* 4.3:
  SCA: minor code tweaks
  [HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available
  fixed typo
  [HttpKernel] Fix Apache mod_expires Session Cache-Control issue
  Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler
2019-09-08 22:40:04 +02:00
Nicolas Grekas
5a06f94c08 Merge branch '3.4' into 4.3
* 3.4:
  SCA: minor code tweaks
  [HttpKernel] Fix Apache mod_expires Session Cache-Control issue
  Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler
2019-09-08 22:39:53 +02:00
Nicolas Grekas
26954bc4ff minor #33410 [HttpFoundation] Add types to private/final/internal methods and constructors (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Add types to private/final/internal methods and constructors

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

Commits
-------

1978d88f1b [HttpFoundation] Add types to private/final/internal methods and constructors.
2019-09-08 22:35:39 +02:00
Alexander M. Turek
1978d88f1b [HttpFoundation] Add types to private/final/internal methods and constructors. 2019-09-08 21:38:13 +02:00
Alexander M. Turek
def0ac7a2b Add types to private/final/internal methods and constructors. 2019-09-08 21:37:35 +02:00
Fabien Potencier
4d10d9e0c6 bug #33505 [HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available

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

Commits
-------

0aae1d7c0a [HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available
2019-09-08 19:52:35 +02:00
Vladimir Reznichenko
32ea449679 SCA: minor code tweaks 2019-09-08 19:26:24 +02:00
Fabien Potencier
afad96285e feature #32032 [DI] generate preload.php file for PHP 7.4 in cache folder (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] generate preload.php file for PHP 7.4 in cache folder

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

This PR makes the PhpDumper generate a preloading file suited for PHP 7.4.
On a skeleton app, the generated file is `var/cache/dev/srcApp_KernelDevDebugContainer.preload.php` (of course, this varies by env name + kernel class)

One missing thing is listing some classes that are always needed but are not related to services.

Typically: `Request` and `Response`. We might need a new mechanism to make this list extensible.

I did not measure the benefit of this on PHP 7.4. I would really appreciate if someone could give it a try on PHP 7.4 with preloading enabled.

Commits
-------

c4dad0de5d [DI] generate preload.php file for PHP 7.4 in cache folder
2019-09-08 19:24:47 +02:00
Nicolas Grekas
0aae1d7c0a [HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available 2019-09-08 18:59:44 +02:00
Nicolas Grekas
c4dad0de5d [DI] generate preload.php file for PHP 7.4 in cache folder 2019-09-08 17:48:39 +02:00
Alexander M. Turek
a1ee32039b Allow version 2 of the contracts package. 2019-09-08 12:38:38 +02:00
Fabien Potencier
47a87849c0 bug #32818 [HttpKernel] Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler (Arman-Hosseini)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler

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

I had this problem and I noticed that an issue had already been registered.
So I registered the pull request.

Commits
-------

9ed5f03b98 Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler
2019-09-08 09:16:45 +02:00
Alejandro Diaz Torres
ea03f6d664 [Serializer] Allow multi-dimenstion object array in AbstractObjectNormalizer 2019-09-08 09:15:36 +02:00
Fabien Potencier
1bfbaeb894 fixed typo 2019-09-08 09:09:18 +02:00
Fabien Potencier
dc75ae2614 feature #33189 New welcome page on startup for 4.4 LTS & 5.0 (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

New welcome page on startup for 4.4 LTS & 5.0

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

A new LTS version of Symfony is coming and a new major version too. That deserves a little more ❤️ than usual.

This picture simulate two components of the live: the Ocean and the sky/Universe, with the aim of inspiring calm at the same time desire to build good & great things:

 ![welcome-page](https://user-images.githubusercontent.com/2028198/63116799-77dd3300-bf68-11e9-8bb5-8c03b301c9e2.gif)

The HUE value changes randomly each time you enter to the homepage. That's just an idea to make it dynamic. I invite you to try it and send your ideas too. I'd like this experience to be extremely exciting for newcomers.

About all text & message this would be a good time to say what people want to hear :) Symfony's amazing \o/. Some communication skills are required here.

I'm not a designer, so I'd want some expert on this topic destroying the proposal making it even better :)

HTML+CSS only: I tried to use some moderm features that were compatible with most of browser, but I might be forgetting something.

The icons were taken from https://material.io/resources/icons/ (free), but I don't know how to deal with this license:
> Our icons are free for everyone to use. Please don’t try to sell them.
> Available under [Apache license version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).

Should we copy it somewhere? should it be visible to the user?

**Before:**
![old-welcome-page](https://user-images.githubusercontent.com/2028198/63117275-6cd6d280-bf69-11e9-9ffc-cce6000e3518.png)

A good first feeling is really really important, is it worth it? Thoughts!

ping to my friend @javiereguiluz this is for sure something you would like to check.

Cheers!

Commits
-------

328b97ec71 New welcome page
2019-09-08 09:00:00 +02:00
Fabien Potencier
e776419cee feature #33295 [OptionsResolver] Display full nested option hierarchy in exceptions (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[OptionsResolver] Display full nested option hierarchy in exceptions

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

It kind of improve the DX, especially when you define a lot of nested form options since the file and line cannot be displayed.

```php
$resolver->setDefaults([
    'array' => function (OptionsResolver $arrayResolver): void {
        $arrayResolver->setRequired('foo');
    },
]);

```

Before:
`The required option "foo" is missing.`

After:
`The required option "array[foo]" is missing.`

That can go to 4.3 I guess.

Commits
-------

a981fc3b50 [OptionsResolver] Display full nested options hierarchy in exceptions
2019-09-08 08:56:26 +02:00
Fabien Potencier
8aa708eeb9 feature #33486 [VarDumper] Display fully qualified title (pavinthan, nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] Display fully qualified title

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

We can see the objects with namespace that help us to navigate to the file easily.

Before: These are diffrent Collection class
<img width="203" alt="Screen Shot 2019-09-06 at 1 02 37 PM" src="https://user-images.githubusercontent.com/13897936/64410319-663f0500-d0a8-11e9-98d5-743e2ccf2737.png">

Now: we can see the diffrent
<img width="376" alt="Screen Shot 2019-09-06 at 1 02 20 PM" src="https://user-images.githubusercontent.com/13897936/64410304-60e1ba80-d0a8-11e9-9cb1-f88c0f8c3de9.png">

Commits
-------

a8252a23ff [VarDumper] display ellipsed FQCN for nested classes
84682eaa03 [VarDumper] Display fully qualified title
2019-09-08 08:52:49 +02:00
Peter Bowyer
9e942768c9 [HttpKernel] Fix Apache mod_expires Session Cache-Control issue 2019-09-08 08:50:59 +02:00
Fabien Potencier
4234601bd9 feature #33496 Deprecated not passing dash symbol (-) to STDIN commands (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

Deprecated not passing dash symbol (-) to STDIN commands

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/33446#issuecomment-528276646
| License       | MIT
| Doc PR        | -

Follow-up https://github.com/symfony/symfony/pull/33446

> There's a conflict here: when no argument was provided, the command also reads from STDIN.
So now, it reads from STDIN, and if there is nothing there, reads from the default template.
This has been caught in php/php-src#4672

> This creates an ambiguous situation - maybe one did pipe nothing but doesn't expect the default template dir to be linted.

> I'd suggest resolving the ambiguity by reading from STDIN only when explicitly asked for. Passing - as argument could the way. And we could trigger a deprecation for now.

For consistency, the other 2 lint commands (`lint:yaml` and `lint:xliff`) have been touched as well.

The plan for 5.0 is read from the STDIN only when `-` is given.

/cc @nicolas-grekas

Commits
-------

586f299ebd deprecated not passing dash symbol (-) to STDIN commands
2019-09-08 08:49:29 +02:00
Fabien Potencier
8f84347ec3 feature #32742 [Console] Added support for definition list and horizontal table (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Added support for definition list and horizontal table

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

I need that in a projet where I want to display some data horizontally.

Usage:
```php
<?php

use Symfony\Component\Console\Helper\TableSeparator;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Style\SymfonyStyle;

require __DIR__.'/vendor/autoload.php';

$io = new SymfonyStyle(new ArrayInput([]), new ConsoleOutput());

$io->table(['a', 'b', 'c'], [[1, 2, 3], [4, 5, 6]]);

$io->table(['a', 'b', 'c'], [[1, 2, 3], [4, 5, 6]], true);

$io->definitionList(
    ['foo' => 'bar'],
    new TableSeparator(),
    'this is a title',
    new TableSeparator(),
    ['foo2' => 'bar2']
);
```

![image](https://user-images.githubusercontent.com/408368/63788677-2df43580-c8f6-11e9-9ce6-b7abcecf7f24.png)

Commits
-------

66028fe19f [Console] Added support for definition list
2019-09-08 08:47:16 +02:00
Yonel Ceruto
586f299ebd deprecated not passing dash symbol (-) to STDIN commands 2019-09-07 09:00:46 -04:00
Nicolas Grekas
a8252a23ff [VarDumper] display ellipsed FQCN for nested classes 2019-09-07 13:31:53 +02:00
Pavinthan
84682eaa03 [VarDumper] Display fully qualified title 2019-09-07 13:22:19 +02:00
Fabien Potencier
d6ac45262c feature #33494 [Mailer] Change DSN syntax (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Change DSN syntax

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | -

The current syntax for failover and roundrobin is confusing. `&&` and `||` do not really convey the right meaning. I realized that while working on a new transport that will send on more than one transport in parallel. `&&` would be a natural fit, but that's already taken.

So, this pull request changes the syntax to be more explicit.

Commits
-------

39dd213960 [Mailer] Change the syntax for DSNs using failover or roundrobin
2019-09-07 09:28:15 +02:00
Fabien Potencier
39dd213960 [Mailer] Change the syntax for DSNs using failover or roundrobin 2019-09-07 08:40:47 +02:00
Nicolas Grekas
9d472c715f minor #33482 fix tests mocking final events (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

fix tests mocking final events

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

Fix tests in 4.4 extracted from #33297

Commits
-------

637461fd51 fix tests mocking final events
2019-09-06 17:55:53 +02:00
Nicolas Grekas
9dca229573 [Mailer] fix deps=low 2019-09-06 17:26:18 +02:00
Nicolas Grekas
388f28f726 Merge branch '4.3' into 4.4
* 4.3:
  cs fix
2019-09-06 16:52:15 +02:00
Nicolas Grekas
87ec83c00f Merge branch '3.4' into 4.3
* 3.4:
  cs fix
2019-09-06 16:50:57 +02:00
Nicolas Grekas
fbeef96d66 cs fix 2019-09-06 16:49:07 +02:00
Fabien Potencier
b58876c5b3 feature #33471 [Mailer] Check email validity before opening an SMTP connection (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Check email validity before opening an SMTP connection

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes-ish
| New feature?  | yes
| BC breaks?    | no-ish
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

When using an SMTP server to send emails, the connection to the SMTP server happens before being sure that the email to sent is valid. That does not happen with HTTP transports.

This pull request implements a new method to be sure that we don't connect to the SMTP server if the email is not valid.

Commits
-------

dc376f52a5 [Mailer] Check email validity before opening an SMTP connection
2019-09-06 16:42:40 +02:00
Nicolas Grekas
7a1545cc8f minor #33491 [Debug] disable new DebugClassLoader when testing the legacy one (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Debug] disable new DebugClassLoader when testing the legacy one

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

Commits
-------

25a683bbeb [Debug] disable new DebugClassLoader when testing the legacy one
2019-09-06 16:08:36 +02:00
Nicolas Grekas
25a683bbeb [Debug] disable new DebugClassLoader when testing the legacy one 2019-09-06 16:02:48 +02:00
Fabien Potencier
dc376f52a5 [Mailer] Check email validity before opening an SMTP connection 2019-09-06 15:51:50 +02:00
Oleg Andreyev
4f4c30d59e - updated AbstractToken to compare Roles
- Updated isEqualTo method to match roles as default User implements EquatableInterface
- added test case
- bumped symfony/security-core to 4.4
2019-09-06 15:59:50 +03:00
Nicolas Grekas
cab412f0cb Merge branch '4.3' into HEAD
* 4.3:
  typos bis
2019-09-06 12:29:12 +02:00
Nicolas Grekas
7ba77ecc0d typos bis 2019-09-06 12:24:45 +02:00
Nicolas Grekas
4234bc8ced Merge branch '4.3' into 4.4
* 4.3:
  typos
2019-09-06 12:15:53 +02:00
Nicolas Grekas
7d1286884b typos 2019-09-06 12:15:48 +02:00
Nicolas Grekas
28d331bb58 Merge branch '4.3' into 4.4
* 4.3:
  Fix more bad tests
  Fix test fixtures with deprecated method signatures.
  Fix 4.3 tests forward compat
  [Messenger] fix empty amqp body returned as false
  Fix routing cache broken when using generator_class
2019-09-06 12:03:11 +02:00
Nicolas Grekas
54a514fc1d bug #31964 [Router] routing cache crash when using generator_class (dFayet)
This PR was merged into the 4.3 branch.

Discussion
----------

[Router] routing cache crash when using generator_class

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

Since #28865 the Router use, by default, new generator, matcher, and dumpers.
This leads to crash when the Router use a custom generator, or matcher based on the old ones.

Commits
-------

a5b46e5390 Fix routing cache broken when using generator_class
2019-09-06 12:00:20 +02:00
Nicolas Grekas
1b835d1249 minor #33484 Fix test fixtures with deprecated method signatures (derrabus, nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix test fixtures with deprecated method signatures

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #33483 (partly)
| License       | MIT
| Doc PR        | N/A

This PR upgrades two fixtures that implemented deprecated method signatures. As far as I can tell, they are used in tests that do not specifically test legacy behavior, so the fixtures should be up to date. Currently, these fixtures cause failing tests on the 4.4 branch.

Commits
-------

cc3e3d54ea Fix more bad tests
592aacff6f Fix test fixtures with deprecated method signatures.
2019-09-06 11:53:27 +02:00
Nicolas Grekas
cc3e3d54ea Fix more bad tests 2019-09-06 11:34:03 +02:00
Alexander M. Turek
592aacff6f Fix test fixtures with deprecated method signatures. 2019-09-06 00:33:19 +02:00
Tobias Schultze
637461fd51 fix tests mocking final events 2019-09-05 22:36:38 +02:00
Tobias Schultze
ee5cbe3658 [Messenger] fix empty amqp body returned as false 2019-09-05 18:44:17 +02:00
Alexander M. Turek
248f0827c7 [Mailer] Added messenger to dev dependencies. 2019-09-05 17:38:24 +02:00
Alexander M. Turek
5bf8ccae17 [Validator] Update "suggest" section in composer.json. 2019-09-05 15:19:43 +02:00
Alexander M. Turek
0b08040459 [Validator] Deprecated CacheInterface in favor of PSR-6. 2019-09-05 14:29:38 +02:00
Fabien Potencier
b7371ea5c6 feature #33271 Added new ErrorController + Preview and enabling there the error renderer mechanism (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

Added new ErrorController + Preview and enabling there the error renderer mechanism

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes (deps=high failure is normal)
| Fixed tickets | -
| License       | MIT
| Doc PR        | TODO

After deprecating the `ExceptionController` in TwigBundle (refs https://github.com/symfony/symfony/pull/31398) the `twig.exception_controller` config key becomes useless as feature provided by TwigBundle, while the preview controller is taking more relevance for the error renderer mechanish.

**Proposal**
 * Deprecate the `twig.exception_controller` config key in favor of `framework.error_controller` with default `ErrorController` that activates the error renderer mechanism through the current `ExceptionListener`, meaning also that `DebugHandlersListener::onKernelException` method becomes useless too.
 * Deprecate the `PreviewErrorController` from TwigBundle in favor of similar in FrameworkBundle.

So you no longer need to install TwigBundle to create a custom error controller or check the preview output of an error renderer (included `TwigHtmlErrorRenderer`).

Btw this would fix https://github.com/symfony/symfony/pull/31398#issuecomment-490081769, removing here workaround in SecurityBundle.

TODO:
- [x] Update CHANGELOG & UPGRADE files
- [x] Add tests

WDYT?

Commits
-------

b79532ab0e Add ErrorController to preview and render errors
2019-09-05 13:15:04 +02:00
Grégoire Pineau
66028fe19f [Console] Added support for definition list 2019-09-05 11:05:30 +02:00
Fabien Potencier
7a9c5da1de minor #33463 [Mailer] Fix an error message (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Fix an error message

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

Now  that the host is not the name anymore, the error message when not having a host is wrong.

Commits
-------

60bb1c0ddc [Mailer] Fix an error message
2019-09-05 10:11:06 +02:00
Fabien Potencier
b2ca530d82 [Mailer] Fix typo 2019-09-05 03:35:53 +02:00
Fabien Potencier
60bb1c0ddc [Mailer] Fix an error message 2019-09-05 03:13:57 +02:00
Fabien Potencier
3e8a726c41 Merge branch '4.3' into 4.4
* 4.3:
  maintain sender/recipient name in SMTP envelopes
  Fix #32148 TransportException was not thrown
2019-09-04 12:09:07 +02:00
Christian Flothmann
46ed0e84cd maintain sender/recipient name in SMTP envelopes 2019-09-04 11:58:50 +02:00
Fabien Potencier
c6d56de86d [Mailer] Improve an exception when trying to send a RawMessage without an Envelope 2019-09-04 08:32:49 +02:00
Fabien Potencier
9407c6b6b0 bug #33449 Fix gmail relay (Beno!t POLASZEK)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix gmail relay

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

This tiny PR fixes #32148 by removing the emission of a notice which prevented a `TransportException` to be thrown when something wrong occured.

Commits
-------

6c90e08368 Fix #32148 TransportException was not thrown
2019-09-04 08:06:43 +02:00
Nicolas Grekas
b0abc10617 Merge branch '4.3' into 4.4
* 4.3:
  [HttpClient] Fix a bug preventing Server Pushes to be handled properly
  [HttpClient] fix support for 103 Early Hints and other informational status codes
  [DI] fix failure
  [Validator] Add ConstraintValidator::formatValue() tests
  [HttpClient] improve handling of HTTP/2 PUSH
  Fix #33427
  [Validator] Only handle numeric values in DivisibleBy
  [Validator] Sync string to date behavior and throw a better exception
  Check phpunit configuration for listeners
  [DI] fix support for "!tagged_locator foo"
2019-09-03 23:44:11 +02:00
Nicolas Grekas
29355c059c bug #33391 [HttpClient] fix support for 103 Early Hints and other informational status codes (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix support for 103 Early Hints and other informational status codes

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

I learned quite recently how 1xx status codes work in HTTP 1.1 when I discovered the [103 Early Hint](https://evertpot.com/http/103-early-hints) status code from [RFC8297](https://tools.ietf.org/html/rfc8297)

This PR fixes support for them by adding a new `getInformationalStatus()` method on `ChunkInterface`. This means that you can now know about 1xx status code by using the `$client->stream()` method:

```php

$response = $client->request('GET', '...');

foreach ($client->stream($response) as $chunk) {
    [$code, $headers] = $chunk->getInformationalStatus();
    if (103 === $code) {
        // $headers['link'] contains the early hints defined in RFC8297
    }

    // ...
}
```

Commits
-------

34275bba1c [HttpClient] fix support for 103 Early Hints and other informational status codes
2019-09-03 23:38:33 +02:00