Commit Graph

30309 Commits

Author SHA1 Message Date
Nicolas Grekas
e8fb0d133e Merge branch '4.4' into 5.0
* 4.4:
  Add: ExcludeList usage for PHPUnit 9.4
  [Cache] Fix compat wth DBAL v3
2020-07-08 10:06:16 +02:00
Nicolas Grekas
ddf795390a Merge branch '3.4' into 4.4
* 3.4:
  [Cache] Fix compat wth DBAL v3
2020-07-08 10:03:32 +02:00
Nicolas Grekas
e67c6d8886 bug #37506 [HttpClient] fix buffering AsyncResponse with no passthru (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] fix buffering AsyncResponse with no passthru

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Commits
-------

1ffeba3f09 [HttpClient] fix buffering AsyncResponse with no passthru
2020-07-08 09:52:00 +02:00
Nicolas Grekas
d08524330a [Cache] Fix compat wth DBAL v3 2020-07-08 09:40:56 +02:00
Nicolas Grekas
98f5d50945 [String] throw when Alpine is used and translit fails 2020-07-07 19:07:07 +02:00
Grégoire Pineau
50d5167a66 [HttpFoundation] Added File::getContent() 2020-07-07 13:52:54 +02:00
Fabien Potencier
70ebf7e912 feature #37492 [ErrorHandler] Allow override of the default non-debug template (PhilETaylor)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[ErrorHandler] Allow override of the default non-debug template

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes - a very tiny one
| Deprecations? | no
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Add new feature to allow the default hardcoded non-debug template to be overridden when `symfony/error-handler`used as a component in other projects.

Currently, when used as a component, its not possible (that I could see) to override the standard default template of `views/error.html.php` therefore the look and feel, and text is hard coded. There is much written on how to customise the error pages when using the full symfony stack, but not when using individual `symfony/error-handler` component on its own.

This PR is related to the use of `symfony/error-handler` as a component in other projects - specifically the Joomla Content Management System, where, in non debug mode, a generic template **needs to be translatable, and customisable** even though most of the time when the error occurs will bt at boot time and not much available to it. https://github.com/joomla/joomla-cms/issues/29968

This PR allows the use of code such as

```php
<?php

require 'vendor/autoload.php';

use Symfony\Component\ErrorHandler\ErrorHandler;
use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer;

ErrorHandler::register();
HtmlErrorRenderer::setTemplate('/path/to/custom/mine.php');

throw new Exception('myException is this', 500);
```

and then for further customisation of the "look and feel" to be done in `mine.php`

Due to the unique way the error handler component is init'ed, the use of static calls has been employed rather than any DI approach, I hope this is ok.

Commits
-------

6e1d16b44d [ErrorHandler] Allow override of the default non-debug template
2020-07-07 10:33:05 +02:00
Phil E. Taylor
6e1d16b44d [ErrorHandler] Allow override of the default non-debug template 2020-07-07 10:32:58 +02:00
Nicolas Grekas
1ffeba3f09 [HttpClient] fix buffering AsyncResponse with no passthru 2020-07-06 20:08:07 +02:00
Nicolas Grekas
c046229c9e Merge branch '5.1'
* 5.1:
  minor #37121 [Contracts] Add missing "extra.thanks" entries in composer.json (nicolas-grekas)
  [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
  fix handling null as empty data
  [Security\Http] Skip remember-me logout on empty token
  Missing return in loadValuesForChoices method
  No need to create an issue when creating a PR
  Use ">=" for the "php" requirement
  [HttpClient] Fix promise behavior in HttplugClient
  [Console] Fixes question input encoding on Windows
2020-07-06 15:25:45 +02:00
Nicolas Grekas
361bf335e2 bug #37504 [Security\Http] Skip remember-me logout on empty token (chalasr)
This PR was merged into the 5.1 branch.

Discussion
----------

[Security\Http] Skip remember-me logout on empty token

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37501
| License       | MIT
| Doc PR        | -

Commits
-------

551f9418a3 [Security\Http] Skip remember-me logout on empty token
2020-07-06 15:25:09 +02:00
Nicolas Grekas
7da6d710cf Merge branch '5.0' into 5.1
* 5.0:
  minor #37121 [Contracts] Add missing "extra.thanks" entries in composer.json (nicolas-grekas)
  [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
  fix handling null as empty data
  No need to create an issue when creating a PR
  Use ">=" for the "php" requirement
  [HttpClient] Fix promise behavior in HttplugClient
  [Console] Fixes question input encoding on Windows
2020-07-06 15:23:11 +02:00
Nicolas Grekas
564af6436a Merge branch '4.4' into 5.0
* 4.4:
  minor #37121 [Contracts] Add missing "extra.thanks" entries in composer.json (nicolas-grekas)
  [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
  fix handling null as empty data
  No need to create an issue when creating a PR
  [Console] Fixes question input encoding on Windows
2020-07-06 15:22:03 +02:00
Nicolas Grekas
2f65991a9d Merge branch '3.4' into 4.4
* 3.4:
  [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
  fix handling null as empty data
  No need to create an issue when creating a PR
  [Console] Fixes question input encoding on Windows
2020-07-06 15:18:39 +02:00
Nicolas Grekas
c0181c7667 bug #37461 [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows (JasonStephensTAMU)
This PR was merged into the 3.4 branch.

Discussion
----------

[Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  |no
| Deprecations? | no
| Tickets       | Fix #37294
| License       | MIT
| Doc PR        |

Passes current Process unit tests.

On Windows systems, a new set of sf_proc_## files are generated in the system temp directory for each WindowsPipes object. These files are removed when the WindowsPipes object is destroyed.

This avoids receiving a permission denied error when attempting to write to sf_proc_## files between multiple sites running as different users, when the users do not have permissions to modify each others files.

Changes
- [Process] WindowsPipes always creates new sf_proc_## files in constructor
- [Process] WindowsPipes removes its sf_proc_## files in destructor

Commits
-------

220be89f5c [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
2020-07-06 15:15:39 +02:00
Jason Stephens
220be89f5c [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows 2020-07-06 15:15:13 +02:00
Nicolas Grekas
091fd5016d bug #37505 [Form] fix handling null as empty data (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] fix handling null as empty data

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37493
| License       | MIT
| Doc PR        |

Commits
-------

b5aa55dab9 fix handling null as empty data
2020-07-06 15:09:26 +02:00
Christian Flothmann
b5aa55dab9 fix handling null as empty data 2020-07-06 14:28:35 +02:00
Robin Chalas
551f9418a3 [Security\Http] Skip remember-me logout on empty token 2020-07-06 12:10:25 +02:00
Robin Chalas
4297897869 bug #37385 [Console] Fixes question input encoding on Windows (YaFou)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fixes question input encoding on Windows

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #35842, Fix #36324, Fix #37495 and Fix #37278 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | no <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained 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 branch master.
-->

To ask a question to a user, the [QuestionHelper](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/QuestionHelper.php) use [`fgets`](https://www.php.net/manual/en/function.fgets.php). However, special characters are not supported on Windows with this function (like accents: `é`, `à`, `ö`). The solution is to set a special encoding with [`sapi_windows_cp_get`](https://www.php.net/manual/en/function.sapi-windows-cp-get).

> Before
```php
$stream = fopen('php://stdin', 'r');
$input = fgets($stream);
echo $input;

// input: "Bonjour à tous"
// output: 'Bonjour \ tous" or "Bonjour   tous"
```

> After
```php
// Check if the function exists because it only exists on Windows
if(function_exists('sapi_windows_cp_set')) {
    sapi_windows_cp_get(437);
}

$stream = fopen('php://stdin', 'r');
$input = fgets($stream);
echo $input;

// input: "Bonjour à tous"
// output: 'Bonjour à tous"
```

*Thanks to @bnjmnfnk for the solution 😉*

Commits
-------

4288df4f74 [Console] Fixes question input encoding on Windows
2020-07-06 10:57:31 +02:00
Yonel Ceruto
6075debead Missing return in loadValuesForChoices method 2020-07-05 20:50:18 -04:00
Nicolas Grekas
085e66cfc2 Merge branch '4.4' into 5.0
* 4.4:
  Use ">=" for the "php" requirement
  [HttpClient] Fix promise behavior in HttplugClient
2020-07-05 11:43:09 +02:00
Alex Pott
4a360766cc Use ">=" for the "php" requirement 2020-07-05 11:39:30 +02:00
Nicolas Grekas
32707260f9 bug #37491 [HttpClient] Fix promise behavior in HttplugClient (brentybh)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[HttpClient] Fix promise behavior in HttplugClient

| Q             | A
| ------------- | ---
| Branch?       | 4.4 & up <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #37488 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained 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 branch master.
-->

## The Problem
Promises have 2 important methods: `then` and `wait`.
To implement Httplug's promise interface, we built `HttplugPromise` on top of Guzzle promise.
However, when an error occurred (Httplug `NetworkException` thrown) while init the request/before actually sending the request,
`HttplugClient::sendAsyncRequest` will return a `Http\Promise\RejectedPromise`, which is a dummy implementation.

If the `then` callable returns a promise-like object, `Http\Promise\RejectedPromise` will treat it as plain value.
Guzzle promise will try to resolve the promise-like value, which is an object that has `then` method on it.

bbf3b200bc/src/Promise.php (L116)

To fix this, I edited `src/Symfony/Component/HttpClient/HttplugClient.php`.

Next, let me explain why to edit `src/Symfony/Component/HttpClient/Response/HttplugPromise.php`.
After the previous fix, when a Guzzle promise returned by the `then` callable, things will work.
However, If I return a `HttplugPromiseInterface`, it doesn't work, because Guzzle promise `wait` the return value (result)
only if it's a Guzzle promise.

bbf3b200bc/src/Promise.php (L63)

To fix this, I referenced the `wait` code of Guzzle promise and edited our `HttplugPromise`.

## How this fix make sense

So, why to return a promise from the `then` callable?
This let us change the promise chain according to current promise's result (fulfilled/rejected).

For example, we can retry an HTTP request if it failed.
Please take a look at my test code.

Commits
-------

147b6adc39 [HttpClient] Fix promise behavior in HttplugClient
2020-07-04 11:37:25 +02:00
Bohan Yang
147b6adc39 [HttpClient] Fix promise behavior in HttplugClient 2020-07-04 11:37:14 +02:00
Nicolas Grekas
e6e1ca38c0 Merge branch '5.1'
* 5.1:
  [Console] fix reading from STDIN
2020-07-04 11:30:53 +02:00
Nicolas Grekas
5de5b7d82e Merge branch '5.0' into 5.1
* 5.0:
  [Console] fix reading from STDIN
2020-07-04 11:30:46 +02:00
Nicolas Grekas
c2c4d4dc12 Merge branch '4.4' into 5.0
* 4.4:
  [Console] fix reading from STDIN
2020-07-04 11:30:38 +02:00
Nicolas Grekas
5da153603b [Console] fix reading from STDIN 2020-07-04 11:30:27 +02:00
Nicolas Grekas
901e938da3 Merge branch '5.1'
* 5.1:
  [HttpClient][CurlHttpClient] Fix http_version option usage
  [HttpClient] fix parsing response headers in CurlResponse
  [PropertyAccess] Remove inflector component
  [Console] Do not check for "stty" using "exec" if that function is disabled
  [Console] always use stty when possible to ask hidden questions
2020-07-03 20:06:54 +02:00
Nicolas Grekas
a815bc2b41 Merge branch '5.0' into 5.1
* 5.0:
  [HttpClient][CurlHttpClient] Fix http_version option usage
  [HttpClient] fix parsing response headers in CurlResponse
  [Console] Do not check for "stty" using "exec" if that function is disabled
  [Console] always use stty when possible to ask hidden questions
2020-07-03 20:06:49 +02:00
Nicolas Grekas
f9225109e4 Merge branch '4.4' into 5.0
* 4.4:
  [HttpClient][CurlHttpClient] Fix http_version option usage
  [HttpClient] fix parsing response headers in CurlResponse
  [Console] Do not check for "stty" using "exec" if that function is disabled
  [Console] always use stty when possible to ask hidden questions
2020-07-03 20:06:40 +02:00
Nicolas Grekas
fec23313e7 bug #37469 [Console] always use stty when possible to ask hidden questions (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] always use stty when possible to ask hidden questions

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36565, replaces #36590
| License       | MIT
| Doc PR        | -

The current code doesn't make much sense: we check `hasSttyAvailable()`, and if the answer is `false`, we still use `stty` directly.

This PR relies on `stream_isatty` and equivalent fallback checks to decide if the password can be hidden or not.

Best reviewed [ignoring whitespaces](https://github.com/symfony/symfony/pull/37469/files?w=1).

Commits
-------

055b605e30 [Console] always use stty when possible to ask hidden questions
2020-07-03 20:04:21 +02:00
Nicolas Grekas
b3df84c857 minor #37470 [Workflow] Normalize workflow changelog (lyrixx)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Workflow] Normalize workflow changelog

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Commits
-------

e1de806050 [Workflow] Normalize workflow changelog
2020-07-03 14:54:52 +02:00
Nicolas Grekas
ee0e37b47d bug #37486 [HttpClient] fix parsing response headers in CurlResponse (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix parsing response headers in CurlResponse

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

This fixes rare notices that look like:
`Argument 2 passed to Symfony\Component\HttpClient\Chunk\DataChunk::__construct() must be of the type string, null given`

I'm unable to provide a test case since I'm unable to provide a simple reproducer.

It happens that curl can call the header-function with multiple lines at once apparently, while most of the time it does so with one at a time.

Commits
-------

eb70fb2f26 [HttpClient] fix parsing response headers in CurlResponse
2020-07-03 14:36:03 +02:00
Thomas Calvet
2676902a77 [HttpClient][CurlHttpClient] Fix http_version option usage 2020-07-03 13:44:40 +02:00
Nicolas Grekas
eb70fb2f26 [HttpClient] fix parsing response headers in CurlResponse 2020-07-03 13:27:27 +02:00
Mponos George
8942d5a5b8
[PropertyAccess] Remove inflector component
[PropertyAccess] Remove inflector component as a requirements since the component is deprecated.
2020-07-03 10:49:29 +03:00
Nicolas Grekas
3a4a58385e [HttpClient] always yield a LastChunk in AsyncResponse on destruction 2020-07-02 21:33:50 +02:00
David Maicher
d057dffcd6 [Mime] allow non-ASCII characters in local part of email 2020-07-01 19:26:13 +02:00
Nicolas Grekas
659699b9ce Merge branch '3.4' into 4.4
* 3.4:
  [Console] Do not check for "stty" using "exec" if that function is disabled
2020-07-01 19:14:21 +02:00
Michael Voříšek
02124b6b3b [Console] Do not check for "stty" using "exec" if that function is disabled 2020-07-01 19:13:52 +02:00
Nicolas Grekas
055b605e30 [Console] always use stty when possible to ask hidden questions 2020-07-01 17:27:01 +02:00
Fabien Potencier
8cc90b9845 feature #36364 [HttpKernel][WebProfilerBundle] Add session profiling (mtarld)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpKernel][WebProfilerBundle] Add session profiling

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| License       | MIT
| Doc PR        |

This PR proposes to add session profiling.
It provides stateless checking status and session usage backtraces.

Under are screesnhots of provided profiling:
![Screenshot from 2020-04-06 13-42-41](https://user-images.githubusercontent.com/4955509/78581189-d6c32580-7833-11ea-9de5-d1e4f8e60c27.png)
![Screenshot from 2020-04-06 13-43-04](https://user-images.githubusercontent.com/4955509/78581193-d88ce900-7833-11ea-90a4-85d07c64d47e.png)
![Screenshot from 2020-04-06 17-43-17](https://user-images.githubusercontent.com/4955509/78581159-cca12700-7833-11ea-98d2-38306ec9ea37.png)
![Screenshot from 2020-04-06 17-43-35](https://user-images.githubusercontent.com/4955509/78581238-e8a4c880-7833-11ea-89e2-ff4fdea8dce5.png)

Commits
-------

5dbaef8883 Add session profiling
2020-07-01 16:42:25 +02:00
Grégoire Pineau
e1de806050 [Workflow] Normalize workflow changelog 2020-07-01 15:44:40 +02:00
Mathias Arlaud
5dbaef8883 Add session profiling 2020-07-01 14:40:41 +02:00
Fabien Potencier
5b6139f488 feature #37428 [Workflow] Added Function (and Twig extension) to retrieve a specific transition (Carlos Pereira De Amorim)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Workflow] Added Function (and Twig extension) to retrieve a specific transition

You can now easily retrieve a specific transition. Useful when you want the metadata of a specific transition.

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | hmmmm, should I create a ticket first ?
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/13907

I needed to get the metadata of a transition, but in order to do that, you need the transition object. So here is a PR to easily get the transition object

Commits
-------

0eebe74259 [Workflow] Added Function (and Twig extension) to retrieve a specific transition
2020-07-01 14:24:19 +02:00
Carlos Pereira De Amorim
0eebe74259 [Workflow] Added Function (and Twig extension) to retrieve a specific transition 2020-07-01 14:24:18 +02:00
Fabien Potencier
d8082fa2f8 feature #36487 [HttpClient] Add MockResponse::getRequestMethod() and getRequestUrl() to allow inspecting which request has been sent (javespi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] Add MockResponse::getRequestMethod() and getRequestUrl() to allow inspecting which request has been sent

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | -  <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | - <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained 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 branch master.
-->

---

As same as the `MockResponse` class has `getRequestOptions()` when doing a request; I've added:
* `getRequestUrl()` - returns the URL used when doing the request
* `getRequestMethod()` - returns the HTTP method used when doing the request

With these two getters, we would be able to assert that the method and URL passed to the `HttpClient` were well generated. I've tried to assert the URL generated in a unit test of a class with a `SymfonyHttpClient` injected and it wasn't possible. Calling `$mock->getInfo('url')` returns `null`.

Example, if we have a class with `HttpClientInterface` injected like this:

```php
final class SymfonyHttpUserClient
{
    private HttpClientInterface $httpClient;
    private string $baseUri;

    public function __construct(
        HttpClientInterface $httpClient,
        string $baseUri
    ) {
        $this->httpClient = $httpClient;
        $this->baseUri = $baseUri;
    }

    public function getById(string $userId): void
    {
        $this->httpClient->request(
            'GET',
            $this->baseUri . $customerId
        );
    }
}
```

And if we want to do a unit test of `SymfonyHttpUserClient` right now we are not able to check if the URL of the request was well-formed passing a `MockResponse`. Also, we weren't able to assert the HTTP method (maybe this piece is not so critical to assert in the unit test).

```php
class SymfonyHttpUserClientTests extends TestCase
{
    public function testGetById(): void
    {
        $baseUri = 'https://user-api.test/api/v1/users/';
        $mockResponse = new MockResponse();
        $symfonyHttpUserClient = new SymfonyHttpUserClient(
            new MockHttpClient(
                [$mockResponse],
                $baseUri
            ),
            $baseUri
        );

        // test get by id:
        $symfonyHttpUserClient->getById('some-user-id');

        // cannot be asserted right now:
        $this->assertSame($mockResponse->getInfo('url'), $baseUri . 'some-user-id'); // fail
        $this->assertSame($mockResponse->getInfo('http_method'), 'GET'); // fail

        // it could be with the new getters:
        $this->assertSame($mockResponse->getRequestUrl(), $baseUri . 'some-user-id');
        $this->assertSame($mockResponse->getRequestMethod(), 'GET');
    }
}
```

This only happens if the class has injected the HttpClient and if it is used inside void methods with no being able to return the response. If the class returns the response, `url` and `http_method` are available with `$response->getInfo()` call. But this response object is a new one, is not the mock passed by argument when you instance the MockHttpClient.

Var dumps of `getInfo` array:

```
$response->getInfo() from MockClient:

..array(10) {
  ["start_time"]=>
  float(1587109014.7985)
  ["user_data"]=>
  NULL
  ["http_code"]=>
  int(200)
  ["response_headers"]=>
  array(0) {
  }
  ["error"]=>
  NULL
  ["canceled"]=>
  bool(false)
  ["redirect_count"]=>
  int(0)
  ["redirect_url"]=>
  NULL
  ["http_method"]=>
  string(3) "GET"
  ["url"]=>
  string(47) "https://user-api.test/api/v1/users/some-user-id"
}

$mock->getInfo()

array(4) {
  ["http_code"]=>
  int(200)
  ["response_headers"]=>
  array(0) {
  }
  ["error"]=>
  NULL
  ["canceled"]=>
  bool(false)
}
```

This is a minor change, I opened the PR with `4.4` as base branch; but not sure if it should be opened with `5.0` as base branch or even `master` taking account is a feature (add two new getters in MockResponse class). Let me know if I didn't follow right the instructions (first PR on Symfony project 😃)

Thanks!

Commits
-------

7a250d80c1 [HttpClient] Add MockResponse::getRequestMethod() and getRequestUrl() to allow inspecting which request has been sent
2020-07-01 14:18:06 +02:00
Fabien Potencier
501542a0dd feature #37295 Move event alias mappings to their components (derrabus)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Move event alias mappings to their components

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

For a small console tool, I wanted to use the Console, EventDispatcher and DI components standalone. In order to make use of aliased events, I had to copy over the mapping information from FrameworkBundle, which was a bit unfortunate.

With this PR, I'd like to suggest to store all alias mappings on the `*Events` classes of each component instead. This change will make the mapping reusable outside of the full-stack framework.

Note: I've bumped the dependencies of FrameworkBundle/SercurityBundle in order to gain access to the moved mapping information. If any of the bumps is too heavy, please tell me and I'll implement a fallback instead.

Commits
-------

28e6f6f72c Move event alias mappings to their components.
2020-07-01 14:12:45 +02:00
YaFou
4288df4f74
[Console] Fixes question input encoding on Windows 2020-07-01 11:10:10 +02:00
Nicolas Grekas
1bbfde581f Merge branch '5.1'
* 5.1:
  [ErrorHandler] fix throwing from __toString()
  Removed comments and requirements relative to php <5.5 (not supported anymore)
  Fix caching of parent locales file in translator
  fix validating lazy properties that evaluate to null
2020-06-30 19:42:41 +02:00
Nicolas Grekas
85d471bf05 Merge branch '5.0' into 5.1
* 5.0:
  [ErrorHandler] fix throwing from __toString()
  Removed comments and requirements relative to php <5.5 (not supported anymore)
  Fix caching of parent locales file in translator
  fix validating lazy properties that evaluate to null
2020-06-30 19:42:22 +02:00
Nicolas Grekas
23fcbd4dd5 Merge branch '4.4' into 5.0
* 4.4:
  [ErrorHandler] fix throwing from __toString()
  Removed comments and requirements relative to php <5.5 (not supported anymore)
  Fix caching of parent locales file in translator
  fix validating lazy properties that evaluate to null
2020-06-30 19:40:59 +02:00
Nicolas Grekas
450034c986 Merge branch '3.4' into 4.4
* 3.4:
  [ErrorHandler] fix throwing from __toString()
  Removed comments and requirements relative to php <5.5 (not supported anymore)
  fix validating lazy properties that evaluate to null
2020-06-30 19:40:09 +02:00
Nicolas Grekas
52ddce1a74 bug #37447 [Validator] fix validating lazy properties that evaluate to null (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] fix validating lazy properties that evaluate to null

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37430
| License       | MIT
| Doc PR        |

Commits
-------

776daf28b4 fix validating lazy properties that evaluate to null
2020-06-30 19:35:43 +02:00
Nicolas Grekas
aeb4637341 [ErrorHandler] fix throwing from __toString() 2020-06-30 19:28:29 +02:00
Javier Espinosa
7a250d80c1 [HttpClient] Add MockResponse::getRequestMethod() and getRequestUrl() to allow inspecting which request has been sent 2020-06-30 18:39:01 +02:00
Dmitrii Lozhkin
0a4ef897b7 [VarDumper] improve rendering HTML 2020-06-30 16:43:42 +02:00
Alexander M. Turek
28e6f6f72c Move event alias mappings to their components. 2020-06-30 16:13:44 +02:00
Nicolas Grekas
78e6fc4b42 bug #37449 [Translation] Fix caching of parent locales file in translator (jvasseur)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translation] Fix caching of parent locales file in translator

| Q             | A
| ------------- | ---
| Branch?       | 4.4 (this is the lowest maintained branch with this code)
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       |
| License       | MIT
| Doc PR        |

The `parentLocales` property was probably meant as a cache for the content of the `parents.json` file but instead the content is stored in a local variable and the property stays `null`. This means the file is read on each call to `computeFallbackLocales`.

This PR update the code to what was probably meant to be.

(Ref https://github.com/symfony/symfony/pull/28070)

Commits
-------

02c9ac68a4 Fix caching of parent locales file in translator
2020-06-30 15:55:33 +02:00
Grégoire Pineau
5c5ea7500e Removed comments and requirements relative to php <5.5 (not supported anymore) 2020-06-30 14:50:28 +02:00
Nicolas Grekas
d555112fbf feature #37443 [HttpClient] add StreamableInterface to ease turning responses into PHP streams (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] add StreamableInterface to ease turning responses into PHP streams

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | -
| Tickets       | -
| License       | MIT
| Doc PR        | -

Commits
-------

de103b31a9 [HttpClient] add StreamableInterface to ease turning responses into PHP streams
2020-06-30 14:30:51 +02:00
Nicolas Grekas
3ce43915bd minor #37433 Console ProgressBar: Change redraw default value to 25fps (flack)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Console ProgressBar: Change redraw default value to 25fps

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

`ProgressBar` has a default value of `0.1` for `$minSecondsBetweenRedraws` which works out to 10 fps, so below the threshhold at which the human eye perceives it as a moving image instead of a series of individual images. Of course, the console's progress bar is not really an animation tool, but it seems like a low-hanging fruit to change the redraw frequency to something that can be perceived as a fluid motion. So I'm proposing to change `$minSecondsBetweenRedraws` to `0.016666666666667`, i.e. 60 fps, which is a fairly typical refresh rate for computer screens, so redrawing more often than that would be pointless. It means of course to redraw six times more often than currently, but i guess performance is not such a big concern here, right?

Commits
-------

b1c38bada7 Console ProgressBar: Change redraw default value to 25fps
2020-06-30 11:12:36 +02:00
flack
b1c38bada7 Console ProgressBar: Change redraw default value to 25fps 2020-06-30 11:11:53 +02:00
Christian Flothmann
6aecad7438 Merge branch '5.1'
* 5.1:
  fix compatibility with Doctrine DBAL 3.0
  skip test if guesser is not supported
  Added missing license headers
2020-06-29 16:32:23 +02:00
Christian Flothmann
eb58ea6a26 Merge branch '5.0' into 5.1
* 5.0:
  fix compatibility with Doctrine DBAL 3.0
  skip test if guesser is not supported
2020-06-29 16:31:29 +02:00
Christian Flothmann
5a91e51154 Merge branch '4.4' into 5.0
* 4.4:
  fix compatibility with Doctrine DBAL 3.0
  skip test if guesser is not supported
2020-06-29 16:24:36 +02:00
Christian Flothmann
f194602c30 minor #37450 [Mime] skip test if guesser is not supported (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] skip test if guesser is not supported

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

fixes tests on AppVeyor

Commits
-------

3b77abea65 skip test if guesser is not supported
2020-06-29 16:24:11 +02:00
Christian Flothmann
b17df8cdd7 fix compatibility with Doctrine DBAL 3.0 2020-06-29 15:55:34 +02:00
Christian Flothmann
3b77abea65 skip test if guesser is not supported 2020-06-29 15:46:05 +02:00
Jérôme
02c9ac68a4
Fix caching of parent locales file in translator 2020-06-29 15:31:43 +02:00
Christian Flothmann
776daf28b4 fix validating lazy properties that evaluate to null 2020-06-29 12:55:42 +02:00
Fabien Potencier
f706d6a276 minor #37445 [Security] Added missing license headers (wouterj)
This PR was merged into the 5.1 branch.

Discussion
----------

[Security] Added missing license headers

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

See 3be6ce121b

Seems like the fabbot reviews (and I) missed quite a lot of these in my big security PR.

Commits
-------

ea81b61e5f Added missing license headers
2020-06-29 10:19:14 +02:00
Wouter de Jong
ea81b61e5f Added missing license headers 2020-06-28 20:41:01 +02:00
Nicolas Grekas
de103b31a9 [HttpClient] add StreamableInterface to ease turning responses into PHP streams 2020-06-28 17:56:16 +02:00
Nicolas Grekas
75031a1230 Merge branch '5.1'
* 5.1:
  Fix test that fails on old distros
  Fix: compatibility with phpunit 9.3
  [DoctrineBridge] work around Connection::ping() deprecation
  [MimeType] Duplicated MimeType due to PHP Bug
  [HttpClient] fix casting TraceableResponse to php streams
  [DI] fix parsing of argument type=binary in xml
  fix guessing form types for DateTime types
  fix handling typed properties as constraint options
  Fix the 'supports' method argument type of the security voter
  Use the driverConnection executeUpdate method
2020-06-28 17:36:15 +02:00
Nicolas Grekas
009961795b bug #37440 [HttpClient] fix casting TraceableResponse to php streams (nicolas-grekas)
This PR was merged into the 5.1 branch.

Discussion
----------

[HttpClient] fix casting TraceableResponse to php streams

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37393
| License       | MIT
| Doc PR        | -

We'd better replace these checks by an `instanceof` one, but that'd be for master.

Commits
-------

5733289278 [HttpClient] fix casting TraceableResponse to php streams
2020-06-28 17:33:45 +02:00
Nicolas Grekas
4ad5079082 Merge branch '5.0' into 5.1
* 5.0:
  Fix test that fails on old distros
  Fix: compatibility with phpunit 9.3
  [DoctrineBridge] work around Connection::ping() deprecation
  [MimeType] Duplicated MimeType due to PHP Bug
  [DI] fix parsing of argument type=binary in xml
  fix guessing form types for DateTime types
  fix handling typed properties as constraint options
  Fix the 'supports' method argument type of the security voter
  Use the driverConnection executeUpdate method
2020-06-28 17:32:35 +02:00
Nicolas Grekas
55768b18c9 Merge branch '4.4' into 5.0
* 4.4:
  Fix test that fails on old distros
  Fix: compatibility with phpunit 9.3
  [DoctrineBridge] work around Connection::ping() deprecation
  [MimeType] Duplicated MimeType due to PHP Bug
  [DI] fix parsing of argument type=binary in xml
  fix guessing form types for DateTime types
  fix handling typed properties as constraint options
  Use the driverConnection executeUpdate method
2020-06-28 17:28:17 +02:00
Nicolas Grekas
27290714b7 Merge branch '3.4' into 4.4
* 3.4:
  Fix test that fails on old distros
2020-06-28 17:22:55 +02:00
Nicolas Grekas
b344f6d7db Fix test that fails on old distros 2020-06-28 17:22:27 +02:00
Nicolas Grekas
2e2fac8766 Merge branch '3.4' into 4.4
* 3.4:
  [MimeType] Duplicated MimeType due to PHP Bug
  fix guessing form types for DateTime types
  fix handling typed properties as constraint options
2020-06-28 17:07:02 +02:00
Nicolas Grekas
6ef3fee863 bug #37291 [MimeType] Duplicated MimeType due to PHP Bug (juanmrad)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[MimeType] Duplicated MimeType due to PHP Bug

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

## Issue:

Currently there is a PHP bug https://bugs.php.net/bug.php?id=77784 that is causing several MimeTypes to be given as duplicated:

```
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
Instead of:
```
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```

This Patch will fix the Issues by checking if a returned MimeType is duplicated and return appropriate MimeType.

This patch should be reverted if the PHP Bug is ever fixed.

Commits
-------

7cb29c8b4b [MimeType] Duplicated MimeType due to PHP Bug
2020-06-28 16:49:48 +02:00
Juan Mrad
7cb29c8b4b [MimeType] Duplicated MimeType due to PHP Bug 2020-06-28 16:49:36 +02:00
Nicolas Grekas
5733289278 [HttpClient] fix casting TraceableResponse to php streams 2020-06-28 16:07:40 +02:00
Nicolas Grekas
0492099432 Merge branch '5.1'
* 5.1:
  [Notifier] Notifier 5.2 is incompatible with 5.1 bridges.
  [DI] fix minor perf regression when creating non-shared services
2020-06-28 15:35:06 +02:00
Nicolas Grekas
b57f414d4a minor #37438 [Notifier] Notifier 5.2 is incompatible with 5.1 bridges (derrabus)
This PR was merged into the 5.1 branch.

Discussion
----------

[Notifier] Notifier 5.2 is incompatible with 5.1 bridges

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

#36611 introduced a breaking change that made the Notifier 5.2 incompatible with all Notifier bridges 5.0-5.1. Because of this, the tests are currently failing on Travis. This PR attempts to fix this.

Commits
-------

1b6bbc2e71 [Notifier] Notifier 5.2 is incompatible with 5.1 bridges.
2020-06-28 15:31:24 +02:00
Tito Miguel Costa
4cf1a1e8e6 fixed docblock 2020-06-28 15:18:51 +02:00
Alexander M. Turek
1b6bbc2e71 [Notifier] Notifier 5.2 is incompatible with 5.1 bridges. 2020-06-27 23:56:40 +02:00
Alexandre Tranchant
d903d9a757 Added a FrenchInflector for the String component
French inflector implements InflectorInterface, it uses regexp and it is tested in the FrenchInflectorTest
2020-06-27 22:18:36 +02:00
Nicolas Grekas
75e2ee17b0 [DI] fix minor perf regression when creating non-shared services 2020-06-27 15:48:04 +02:00
Tobias Schultze
70b6a00148 [DI] fix parsing of argument type=binary in xml 2020-06-26 19:49:20 +02:00
Christian Flothmann
9ba90bf1f8 fix guessing form types for DateTime types 2020-06-26 14:15:21 +02:00
Fabien Potencier
9660e6b1e2 bug #37392 [Validator] fix handling typed properties as constraint options (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] fix handling typed properties as constraint options

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37387
| License       | MIT
| Doc PR        |

Commits
-------

4a66a6098f fix handling typed properties as constraint options
2020-06-25 12:06:33 +02:00
Tito Costa
204cd739d3 added info method to symfony style 2020-06-25 12:05:17 +02:00
Christian Flothmann
4a66a6098f fix handling typed properties as constraint options 2020-06-25 11:23:26 +02:00
François Pluchino
b8192eecab Fix the 'supports' method argument type of the security voter 2020-06-25 11:01:55 +02:00
Fabien Potencier
7bac792328 Fix logic 2020-06-25 10:39:34 +02:00
Fabien Potencier
73596ef4f7 bug #37358 Directly use the driverConnection executeUpdate method (TristanPouliquen)
This PR was merged into the 4.4 branch.

Discussion
----------

Directly use the driverConnection executeUpdate method

executeUpdate & executeQuery methods do not throw a TableNotFoundException. No need for the try/catch as it is done for executeQuery

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/issues/37355
| License       | MIT

As explained in https://github.com/symfony/symfony/issues/37355, when doing a write operation, one should avoid using the `executeQuery` method of a Connection, as Doctrine's MasterSlaveConnection can pick a slave instance (usually read-only) for these operations.

Commits
-------

eec12ecd23 Use the driverConnection executeUpdate method
2020-06-25 10:28:26 +02:00
Fabien Potencier
213c6ab6d5 bug #36347 [Notifier][Slack] Error trown when having more than 10 fields specified #36346 (birkof)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Notifier][Slack] Error trown when having more than 10 fields specified #36346

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #36346 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

As written in [docs](https://api.slack.com/reference/block-kit/blocks#section) of Section block, for fields we have to had maximum 10 items specified.

Commits
-------

68b2490ee2 [Notifier][Slack] Error trown when having more than 10 fields specified #36346
2020-06-25 09:24:04 +02:00
Daniel STANCU
68b2490ee2 [Notifier][Slack] Error trown when having more than 10 fields specified #36346 2020-06-25 09:23:57 +02:00
Robin Chalas
a184e54cb3 Merge branch '5.1'
* 5.1:
  fix merge
  Fix merge
2020-06-24 17:21:47 +02:00
Robin Chalas
5355172c10 Merge branch '5.0' into 5.1
* 5.0:
  fix merge
  Fix merge
2020-06-24 17:21:02 +02:00
Robin Chalas
2caadf17b4 Merge branch '4.4' into 5.0
* 4.4:
  fix merge
  Fix merge
2020-06-24 17:19:54 +02:00
Tobias Schultze
40890b14e4 minor #37302 [Form] Move configuration to PHP (misekai)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Form] Move configuration to PHP

| Q             | A
| ------------- | ---
| Branch?       | master for features / 3.4, 4.4, 5.0 or 5.1 for bug fixes <!-- see below -->
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Part of #37186
| License       | MIT
| Doc PR        | -

Commits
-------

9e2e8eeb29 [Form] Move configuration to PHP
2020-06-24 16:38:26 +02:00
Alex Vo
9e2e8eeb29 [Form] Move configuration to PHP 2020-06-24 16:38:17 +02:00
Fabien Potencier
fb123e4fca feature #37272 [HttpFoundation] add HeaderUtils::parseQuery(): it does the same as parse_str() but preserves dots in variable names (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpFoundation] add `HeaderUtils::parseQuery()`: it does the same as `parse_str()` but preserves dots in variable names

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Inspired by https://github.com/symfony/psr-http-message-bridge/pull/80
/cc @drupol

Related to #9009, #29664, #26220 but also https://github.com/api-platform/core/issues/509 and https://www.drupal.org/project/drupal/issues/2984272
/cc @dunglas @alexpott

Commits
-------

dd81e32ec1 [HttpFoundation] add `HeaderUtils::parseQuery()`: it does the same as `parse_str()` but preserves dots in variable names
2020-06-24 15:46:31 +02:00
Fabien Potencier
550ab6fd8c Fix merge 2020-06-24 15:38:36 +02:00
Fabien Potencier
809b4d6748 Merge branch '5.1'
* 5.1:
  [HttpClient] Support for cURL handler objects.
  [HttpClient] unset activity list when creating CurlResponse
  Fixed typo in test name
  [DI] Fix call to sprintf in ServicesConfigurator::stack()
  add .body wrapper element
  [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
  [VarDumper] Support for cURL handler objects.
  Check whether path is file in DataPart::fromPath()
  [DI][FrameworkBundle] Remove whitelist occurrences
  Avoid accessibility errors on debug toolbar
  Resolve event bubbling logic in a compiler pass
  update cookie test
2020-06-24 15:36:31 +02:00
Fabien Potencier
01872c7fe3 Merge branch '5.0' into 5.1
* 5.0:
  [HttpClient] Support for cURL handler objects.
  [HttpClient] unset activity list when creating CurlResponse
  Fixed typo in test name
  add .body wrapper element
  [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
  [VarDumper] Support for cURL handler objects.
  Check whether path is file in DataPart::fromPath()
  [DI][FrameworkBundle] Remove whitelist occurrences
  Avoid accessibility errors on debug toolbar
  update cookie test
2020-06-24 15:36:18 +02:00
Fabien Potencier
d1c1973bb4 Merge branch '4.4' into 5.0
* 4.4:
  [HttpClient] Support for cURL handler objects.
  [HttpClient] unset activity list when creating CurlResponse
  Fixed typo in test name
  add .body wrapper element
  [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
  [VarDumper] Support for cURL handler objects.
  Check whether path is file in DataPart::fromPath()
  [DI][FrameworkBundle] Remove whitelist occurrences
  Avoid accessibility errors on debug toolbar
2020-06-24 15:36:01 +02:00
Fabien Potencier
378894d64d Merge branch '3.4' into 4.4
* 3.4:
  Fixed typo in test name
  [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
  [VarDumper] Support for cURL handler objects.
  [DI][FrameworkBundle] Remove whitelist occurrences
  Avoid accessibility errors on debug toolbar
2020-06-24 15:34:53 +02:00
Fabien Potencier
40152c37ce bug #37389 [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3" (YaFou)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #36068 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | no
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained 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 branch master.
-->

`.mp3` files are more common than `.mpga` files.

Commits
-------

76a744ad91 [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
2020-06-24 15:26:36 +02:00
Fabien Potencier
de0563d8cd minor #37242 [BrowserKit] update cookie test for cookie values with double quotes (gabrielsolomon)
This PR was merged into the 5.0 branch.

Discussion
----------

[BrowserKit] update cookie test for cookie values with double quotes

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | no
| New feature?  | noâ
| Deprecations? | no
| Tickets       | Fix #37161
| License       | MIT
| Doc PR        | symfony/symfony-docs#

Provide a test for cookie values with double quotes

Commits
-------

a50c660823 update cookie test
2020-06-24 11:01:43 +02:00
Alexander M. Turek
7ccc2e1f28 [HttpClient] Support for cURL handler objects. 2020-06-24 10:43:17 +02:00
Fabien Potencier
19668b2a75 bug #37383 [VarDumper] Support for cURL handler objects (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] Support for cURL handler objects

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | #37378
| License       | MIT
| Doc PR        | N/A

Commits
-------

39c1a6373b [VarDumper] Support for cURL handler objects.
2020-06-24 10:40:29 +02:00
Fabien Potencier
5855d112b7 [Notifier] Return SentMessage from the Notifier message handler 2020-06-24 08:23:54 +02:00
Nicolas Grekas
b249f00519 [HttpClient] unset activity list when creating CurlResponse 2020-06-23 20:33:34 +02:00
Robin Chalas
968bd0ffec Fixed typo in test name 2020-06-23 14:31:34 +02:00
Nicolas Grekas
dd81e32ec1 [HttpFoundation] add HeaderUtils::parseQuery(): it does the same as parse_str() but preserves dots in variable names 2020-06-23 13:46:20 +02:00
Kévin Dunglas
11da9d3c29
[DI] Fix call to sprintf in ServicesConfigurator::stack() 2020-06-23 12:20:00 +02:00
Fabien Potencier
ce8f8a5f18 feature #36611 Add Notifier SentMessage (jeremyFreeAgent)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Add Notifier SentMessage

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/13624

Like Mailer, Notifier returns now a SentMessage that contains the messageId (returned by the provider in the response). It contains also the body of the response as array to have more info about price, number of sms sent, status and so on.

- [x] apply to bridges

Commits
-------

5a6f0537ec Add Notifier SentMessage
2020-06-23 09:04:53 +02:00
Jérémy Romey
5a6f0537ec Add Notifier SentMessage 2020-06-23 09:04:45 +02:00
YaFou
76a744ad91
[HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3" 2020-06-23 08:52:36 +02:00
Fabien Potencier
a3900af2f0 feature #37357 [FrameworkBundle] allow configuring trusted proxies using semantic configuration (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] allow configuring trusted proxies using semantic configuration

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | -
| Tickets       | -
| License       | MIT
| Doc PR        | -

On top of the improved DX this should provide, this PR (and #37351) will allow [removing the corresponding lines](https://github.com/symfony/recipes/pull/790) from `index.php` & recipes.

Using values:
```yaml
framework:
    trusted_proxies: '127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16'
#or
    trusted_proxies: '%env(TRUSTED_PROXIES)%'
```

`trusted_headers` is similar but is an array of headers to trust.
```yaml
framework:
    # that's the defaults already
    trusted_headers: ['x-forwarded-all', '!x-forwarded-host', '!x-forwarded-prefix']
```

Commits
-------

af9dd52752 [FrameworkBundle] allow configuring trusted proxies using semantic configuration
2020-06-23 06:59:37 +02:00
Alexander M. Turek
39c1a6373b [VarDumper] Support for cURL handler objects. 2020-06-22 16:59:03 +02:00
Ondřej Frei
9e3670e140 Check whether path is file in DataPart::fromPath() 2020-06-22 16:55:08 +02:00
Fabien Potencier
b3a313cd35 feature #37373 [DI] deprecate Definition/Alias::setPrivate() (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[DI] deprecate Definition/Alias::setPrivate()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | yes
| Tickets       | -
| License       | MIT
| Doc PR        | -

Right now, there is a very subtle difference between `setPublic()` and `setPrivate()` that dates back to the FC/BC layer we created to turn services private by default.

We kept this difference to help third party bundles provide support for a wide range of versions of Symfony, but since 5.2 will be released at the same time as 3.4 will enter EOM, we should remove this behavior and deprecate `setPrivate()` to signal the change.

This is what this PR does.

Commits
-------

1bea690f4d [DI] deprecate Definition/Alias::setPrivate()
2020-06-22 14:41:31 +02:00
Nicolas Grekas
af9dd52752 [FrameworkBundle] allow configuring trusted proxies using semantic configuration 2020-06-22 14:34:19 +02:00
Fabien Potencier
33c6766117 minor #37376 [DI][FrameworkBundle] Remove "whitelist" occurrences (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI][FrameworkBundle] Remove "whitelist" occurrences

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Commits
-------

12ab96ec9b [DI][FrameworkBundle] Remove whitelist occurrences
2020-06-22 13:34:12 +02:00
Fabien Potencier
2c9e9cd0c2 feature #37351 [FrameworkBundle] allow enabling the HTTP cache using semantic configuration (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] allow enabling the HTTP cache using semantic configuration

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Right now, using the HTTP cache requires tweaking the `public/index.php` file [as explained in the doc](https://symfony.com/doc/current/http_cache.html).

This PR removes this requirement by allowing one to do this instead:
```yaml
framework:
    http_cache: true
```

Commits
-------

56b993ac2e [FrameworkBundle] allow enabling the HTTP cache using semantic configuration
2020-06-22 12:54:50 +02:00
Robin Chalas
12ab96ec9b [DI][FrameworkBundle] Remove whitelist occurrences 2020-06-22 11:57:22 +02:00
Gijs van Lammeren
13554b0fae [Messenger] added support for Amazon SQS QueueUrl as DSN 2020-06-22 11:19:58 +02:00
Nicolas Grekas
1bea690f4d [DI] deprecate Definition/Alias::setPrivate() 2020-06-22 10:12:56 +02:00
Nicolas Grekas
abae49d572 Merge branch '5.1'
* 5.1:
  Relax tests to unlock change on master
  [DI] fix dumping deprecated private aliases
  [DI] fix typo in Preloader
  Fix UserCheckerListener registration with custom user checkers
  [Messenger] fixed queue_name option amazon sqs connection
2020-06-22 10:00:49 +02:00
Nicolas Grekas
0878dd4ac0 Merge branch '5.0' into 5.1
* 5.0:
  Relax tests to unlock change on master
  [DI] fix dumping deprecated private aliases
  [DI] fix typo in Preloader
2020-06-22 09:53:17 +02:00
Nicolas Grekas
cf68c1d810 Merge branch '4.4' into 5.0
* 4.4:
  Relax tests to unlock change on master
  [DI] fix dumping deprecated private aliases
  [DI] fix typo in Preloader
2020-06-22 09:53:10 +02:00
Nicolas Grekas
a9ffbf4ccf Merge branch '3.4' into 4.4
* 3.4:
  Relax tests to unlock change on master
2020-06-22 09:52:44 +02:00
Nicolas Grekas
afe596e16a Relax tests to unlock change on master 2020-06-22 09:47:42 +02:00
Tristan Pouliquen
eec12ecd23 Use the driverConnection executeUpdate method 2020-06-22 09:47:17 +02:00
Fabien Potencier
9cff4e1188 Add missing CHANGELOG 2020-06-21 19:32:04 +02:00
Nicolas Grekas
90f6e11ee8 [DI] fix dumping deprecated private aliases 2020-06-21 18:08:20 +02:00
Nicolas Grekas
1f224763f4 [DI] fix typo in Preloader 2020-06-21 16:44:07 +02:00
Fabien Potencier
3267e8e66f feature #37318 [Security] Add attributes on Passport (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Add attributes on Passport

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | not yet

see https://github.com/symfonycorp/connect/pull/95
/cc @wouterj

Commits
-------

440ada3c5f [Security] Add attributes on Passport
2020-06-20 17:04:28 +02:00
Robin Chalas
0091864837 bug #37364 [Messenger] fixed queue_name option on amazon sqs connection (ck-developer)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger] fixed queue_name option on amazon sqs connection

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37293
| License | MIT

Commits
-------

a6cb24d71f [Messenger] fixed queue_name option amazon sqs connection
2020-06-20 14:04:17 +02:00
Nicolas Grekas
56b993ac2e [FrameworkBundle] allow enabling the HTTP cache using semantic configuration 2020-06-20 14:01:26 +02:00
c.khedhi@prismamedia.com
a6cb24d71f [Messenger] fixed queue_name option amazon sqs connection 2020-06-20 12:58:38 +02:00
Nicolas Grekas
6ad781c834 Merge branch '5.1'
* 5.1:
  [DI] fix merge
2020-06-20 10:55:06 +02:00
Nicolas Grekas
71b65d4e70 [DI] fix merge 2020-06-20 10:54:56 +02:00
Nicolas Grekas
f0fa3b0702 Merge branch '5.1'
* 5.1:
  [SecurityBundle] Drop cache.security_expression_language definition if invalid
  [DI] disable preload.php on the CLI
  collect all transformation failures
2020-06-20 10:35:01 +02:00
Nicolas Grekas
4e0b7e5d5b Merge branch '5.0' into 5.1
* 5.0:
  [SecurityBundle] Drop cache.security_expression_language definition if invalid
  [DI] disable preload.php on the CLI
  collect all transformation failures
2020-06-20 10:33:33 +02:00
Nicolas Grekas
8afd50ecca Merge branch '4.4' into 5.0
* 4.4:
  [SecurityBundle] Drop cache.security_expression_language definition if invalid
  [DI] disable preload.php on the CLI
  collect all transformation failures
2020-06-20 10:32:35 +02:00
Nicolas Grekas
c815e7632a Merge branch '3.4' into 4.4
* 3.4:
  collect all transformation failures
2020-06-20 10:31:25 +02:00
Fabien Potencier
440ada3c5f [Security] Add attributes on Passport 2020-06-20 09:18:00 +02:00
Nicolas Grekas
50ccf2f1b2 [DI] disable preload.php on the CLI 2020-06-19 15:00:29 +02:00
Christian Flothmann
a9987ce341 collect all transformation failures 2020-06-19 08:23:51 +02:00
Nicolas Grekas
3f91ac04fe Merge branch '5.1'
* 5.1:
  fix
2020-06-18 23:37:39 +02:00
Nicolas Grekas
f768dc7aaf fix 2020-06-18 23:37:09 +02:00
Nicolas Grekas
e14aeddd53 Merge branch '5.1'
* 5.1:
  fix test
  Added Unit tests for php 8 union types.
2020-06-18 23:19:34 +02:00
Nicolas Grekas
eb150febaf Merge branch '5.0' into 5.1
* 5.0:
  fix test
  Added Unit tests for php 8 union types.
2020-06-18 23:19:28 +02:00
Nicolas Grekas
723be72706 Merge branch '4.4' into 5.0
* 4.4:
  fix test
  Added Unit tests for php 8 union types.
2020-06-18 23:17:00 +02:00
Nicolas Grekas
64f280586b Merge branch '3.4' into 4.4
* 3.4:
  Added Unit tests for php 8 union types.
2020-06-18 22:41:34 +02:00
Nicolas Grekas
e707967ea8 minor #37346 Added Unit tests for php 8 union types (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

Added Unit tests for php 8 union types

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

The missing test cases for #37340.

Commits
-------

2ca8ecdb74 Added Unit tests for php 8 union types.
2020-06-18 22:40:01 +02:00
Nicolas Grekas
96723297b8 Merge branch '5.1'
* 5.1:
  [Cache] fix test
2020-06-18 22:36:39 +02:00
Nicolas Grekas
8df623e830 [Cache] fix test 2020-06-18 22:36:30 +02:00
Alexander M. Turek
2ca8ecdb74 Added Unit tests for php 8 union types. 2020-06-18 22:30:22 +02:00
Nicolas Grekas
529863a947 Merge branch '5.1'
* 5.1:
  [PropertyAccess] fix typo
2020-06-18 22:06:41 +02:00
Nicolas Grekas
04e6b995d9 [PropertyAccess] fix typo 2020-06-18 22:06:29 +02:00
Nicolas Grekas
092632dc14 Merge branch '5.1'
* 5.1: (28 commits)
  [DI] fix
  Use "composer/package-versions-deprecated" when possible
  Fix
  Small update in our internal terminology
  Fix support for PHP8 union types
  [VarDumper] fix typo
  [Lock][Messenger] Fix precedence of DSN options for 5.1
  Fix support for PHP8 union types
  [FrameworkBundle] preserve dots in query-string when redirecting
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  Remove unnecessary null check
  [HttpFoundation] Allow `null` in InputBag@set
  [HttpClient] Convert CurlHttpClient::handlePush() to instance method
  Fix package rename when releasing
  bumped Symfony version to 5.1.3
  updated VERSION for 5.1.2
  updated CHANGELOG for 5.1.2
  ...
2020-06-18 21:55:03 +02:00
Nicolas Grekas
eea6abf318 Merge branch '5.0' into 5.1
* 5.0:
  [DI] fix
  Use "composer/package-versions-deprecated" when possible
  Fix
2020-06-18 21:54:27 +02:00
Nicolas Grekas
f3d9cfe8db Merge branch '4.4' into 5.0
* 4.4:
  [DI] fix
  Use "composer/package-versions-deprecated" when possible
  Fix
2020-06-18 21:53:24 +02:00
Nicolas Grekas
d2efe50eee [DI] fix 2020-06-18 21:50:30 +02:00
Nicolas Grekas
03b9ff177d Use "composer/package-versions-deprecated" when possible 2020-06-18 21:48:48 +02:00
Nicolas Grekas
172d6400e3 Merge branch '3.4' into 4.4
* 3.4:
  Fix
2020-06-18 21:38:14 +02:00
Nicolas Grekas
8bbbdbe745 Fix 2020-06-18 21:30:53 +02:00
Nicolas Grekas
01b5b8312b minor #37289 [5.1] Fix support for PHP8 union types (nicolas-grekas)
This PR was merged into the 5.1 branch.

Discussion
----------

[5.1] Fix support for PHP8 union types

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Same as #37340 for 5.1

Commits
-------

dd1b61703f Fix support for PHP8 union types
2020-06-18 21:00:54 +02:00
Nyholm
00682acdea Small update in our internal terminology 2020-06-18 20:43:12 +02:00
Nicolas Grekas
dd1b61703f Fix support for PHP8 union types 2020-06-18 20:40:13 +02:00
Nicolas Grekas
2121c55b02 Merge branch '5.0' into 5.1
* 5.0:
  [VarDumper] fix typo
  Fix support for PHP8 union types
  [FrameworkBundle] preserve dots in query-string when redirecting
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [HttpClient] Convert CurlHttpClient::handlePush() to instance method
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  Fix precendence in 4.4
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 20:24:02 +02:00
Nicolas Grekas
3074cb0594 Merge branch '4.4' into 5.0
* 4.4:
  [VarDumper] fix typo
  Fix support for PHP8 union types
  [FrameworkBundle] preserve dots in query-string when redirecting
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [HttpClient] Convert CurlHttpClient::handlePush() to instance method
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  Fix precendence in 4.4
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 20:18:56 +02:00
Nicolas Grekas
2eb3c0eb7f [VarDumper] fix typo 2020-06-18 20:15:32 +02:00
Nicolas Grekas
453c3a7187 bug #37268 [Messenger] Fix precedence of DSN options for 4.4 (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Fix precedence of DSN options for 4.4

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/pull/37218#discussion_r438779225
| License       | MIT
| Doc PR        | N/A

This PR fix précédence of DSN options over constructor options in all component on branch 4.4

Commits
-------

992205a759 Fix precendence in 4.4
2020-06-18 20:10:55 +02:00
Nicolas Grekas
ab24fb9181 bug #37269 [Lock][Messenger] Fix precedence of DSN options for 5.1 (jderusse)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Lock][Messenger] Fix precedence of DSN options for 5.1

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/pull/37218#discussion_r438779225
| License       | MIT
| Doc PR        | N/A

This PR fix précédence of DSN options over constructor options in all component on branch 5.1

Commits
-------

9670e9ff06 [Lock][Messenger] Fix precedence of DSN options for 5.1
2020-06-18 20:09:38 +02:00
Jérémy Derussé
9670e9ff06 [Lock][Messenger] Fix precedence of DSN options for 5.1 2020-06-18 20:07:42 +02:00
Nicolas Grekas
da68e66a99 Fix support for PHP8 union types 2020-06-18 19:59:13 +02:00
Nicolas Grekas
7eca3a5970 Merge branch '3.4' into 4.4
* 3.4:
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 19:51:13 +02:00
Nicolas Grekas
e09372bcbf [3.4] Fix support for PHP8 union types 2020-06-18 19:32:39 +02:00
Nicolas Grekas
57251cdcdd bug #37275 [DI] tighten detection of local dirs to prevent false positives (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] tighten detection of local dirs to prevent false positives

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36510 and #37150
| License       | MIT
| Doc PR        | -

Commits
-------

b746dd900c [DI] tighten detection of local dirs to prevent false positives
2020-06-18 19:13:26 +02:00
Nicolas Grekas
907ffa0701 bug #36230 [VarDumper] Fix CliDumper coloration on light arrays (l-vo)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] Fix CliDumper coloration on light arrays

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

When `AbstractDumper::DUMP_LIGHT_ARRAY` is used with the `CliDumper`, the first line (opening bracket) is not colored. When an empty array is dumped (with or without  `AbstractDumper::DUMP_LIGHT_ARRAY`) the array is not colored too. This PR aims to fix that.

Commits
-------

7af3469771 [VarDumper] Fix CliDumper coloration
2020-06-18 18:42:48 +02:00
Nyholm
c143aacd81 [3.4] Small update in our internal terminology 2020-06-18 18:35:04 +02:00
Nicolas Grekas
38c0971bf9 bug #37312 Fix package rename when releasing (94noni)
This PR was merged into the 5.1 branch.

Discussion
----------

Fix package rename when releasing

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix when upgrading my local project to use the package instead of my old code :)
| License       | MIT

---

Related to
a89a2a8893 (diff-bd586be86489d3e4725496bf5d4caf23) friendly ping @fabpot

The package is released at https://packagist.org/packages/symfony/free-mobile-notifier
And thus this needed to be fixed t give proper hint to devs

Thanks

Commits
-------

7a93222259 Fix package rename when releasing
2020-06-18 18:21:30 +02:00
Nicolas Grekas
8c4b49613a [Cache] fix compat with DBAL v3 2020-06-18 17:42:01 +02:00
Christian Scheb
a74a506883 Remove unnecessary null check 2020-06-18 16:13:31 +02:00
Taylor Otwell
14ec6a7659 [HttpFoundation] Allow null in InputBag@set 2020-06-18 01:21:19 +02:00
Mikko Pesari
9497972500 [HttpClient] Convert CurlHttpClient::handlePush() to instance method
Fix #37252
2020-06-18 00:57:36 +03:00
Marc Laporte
aeef1e19bb
Adding a keyword for Packagist
Thank you @javiereguiluz for the suggestion.
https://github.com/symfony/symfony/pull/37273
2020-06-16 17:43:05 -04:00
Antoine M
7a93222259 Fix package rename when releasing 2020-06-16 18:25:20 +01:00
Fabien Potencier
6f6e4cefe4 minor #37273 Adding a few keywords (marclaporte)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Adding a few keywords

| Q             | A
| ------------- | ---
| Branch?       | N/A
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

So project will appear here:
https://packagist.org/search/?tags=console
https://packagist.org/search/?tags=cli
https://packagist.org/search/?tags=command%20line

Commits
-------

f1c5bdf6f8 Adding a few keywords
2020-06-16 07:03:57 +02:00
Fabien Potencier
bf2fb938be bumped Symfony version to 5.1.3 2020-06-15 16:01:03 +02:00
Fabien Potencier
b551cb4c45
Merge pull request #37288 from fabpot/release-5.1.2
released v5.1.2
2020-06-15 15:51:55 +02:00
Fabien Potencier
04f054e44c updated VERSION for 5.1.2 2020-06-15 15:51:38 +02:00
Nicolas Grekas
dadc606800 Merge branch '5.1'
* 5.1:
  [Console] Reset question validator attempts only for actual stdin (bis)
  Fix CookieClearingLogoutListener DI configuration
  [HttpFoundation] use InputBag for Request::$request only if data is coming from a form
  Make PhpDocExtractor compatible with phpDocumentor v5
  fixed prototype block prefixes hierarchy of the CollectionType
  Reset question validator attempts only for actual stdin
  fixed block prefixes hierarchy of the CollectionType
  bumped Symfony version to 5.0.11
  updated VERSION for 5.0.10
  updated CHANGELOG for 5.0.10
  bumped Symfony version to 4.4.11
  updated VERSION for 4.4.10
  updated CHANGELOG for 4.4.10
2020-06-15 14:59:35 +02:00
Nicolas Grekas
d472983f21 Merge branch '5.0' into 5.1
* 5.0:
  [Console] Reset question validator attempts only for actual stdin (bis)
2020-06-15 14:59:21 +02:00
Nicolas Grekas
01095156ad Merge branch '4.4' into 5.0
* 4.4:
  [Console] Reset question validator attempts only for actual stdin (bis)
2020-06-15 14:59:07 +02:00
Nicolas Grekas
867642e337 [Console] Reset question validator attempts only for actual stdin (bis) 2020-06-15 14:37:55 +02:00
Fabien Potencier
5562d5c1ba Merge branch '5.0' into 5.1
* 5.0:
  Make PhpDocExtractor compatible with phpDocumentor v5
  Reset question validator attempts only for actual stdin
  bumped Symfony version to 5.0.11
  updated VERSION for 5.0.10
  updated CHANGELOG for 5.0.10
  bumped Symfony version to 4.4.11
  updated VERSION for 4.4.10
  updated CHANGELOG for 4.4.10
2020-06-15 13:50:15 +02:00
Fabien Potencier
6fff7b3672 Merge branch '4.4' into 5.0
* 4.4:
  Make PhpDocExtractor compatible with phpDocumentor v5
  Reset question validator attempts only for actual stdin
  bumped Symfony version to 4.4.11
  updated VERSION for 4.4.10
  updated CHANGELOG for 4.4.10
2020-06-15 13:49:47 +02:00
Fabien Potencier
05817f1928 bug #37265 [HttpFoundation] use InputBag for Request::$request only if data is coming from a form (nicolas-grekas)
This PR was merged into the 5.1 branch.

Discussion
----------

[HttpFoundation] use InputBag for Request::$request only if data is coming from a form

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37100
| License       | MIT
| Doc PR        | -

Commits
-------

786ba109d0 [HttpFoundation] use InputBag for Request::$request only if data is coming from a form
2020-06-15 13:42:23 +02:00
Laurent VOULLEMIER
7af3469771 [VarDumper] Fix CliDumper coloration
When using AbstractDumper::DUMP_LIGHT_ARRAY
2020-06-15 09:49:39 +02:00
Nicolas Grekas
786ba109d0 [HttpFoundation] use InputBag for Request::$request only if data is coming from a form 2020-06-15 08:52:54 +02:00
Fabien Potencier
52612b1541 bug #37160 Reset question validator attempts only for actual stdin (ostrolucky)
This PR was merged into the 4.4 branch.

Discussion
----------

Reset question validator attempts only for actual stdin

| Q             | A
| ------------- | ---
| Branch?       | 4/4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #37046
| License       | MIT
| Doc PR        |

Let's see what CI says. Works for me locally with phpunit and when running such command manually

Commits
-------

8fe7be4212 Reset question validator attempts only for actual stdin
2020-06-15 07:23:00 +02:00
Fabien Potencier
bb8e66bc5f bug #36975 [PropertyInfo] Make PhpDocExtractor compatible with phpDocumentor v5 (DerManoMann)
This PR was merged into the 4.4 branch.

Discussion
----------

[PropertyInfo] Make PhpDocExtractor compatible with phpDocumentor v5

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36049
| License       | MIT
| Doc PR        | N/A

Version 5 of phpDocumentor introduced some changes to the `getTagsByName()` method that break the `PhpDocExtractor`.

More specific, it now returns an instance of `InvalidTag` instead of `null` when parsing an invalid tag.

Commits
-------

b1f8e5a80a Make PhpDocExtractor compatible with phpDocumentor v5
2020-06-15 07:20:14 +02:00
DerManoMann
b1f8e5a80a Make PhpDocExtractor compatible with phpDocumentor v5
Version 5 of phpDocumentor introduced some changes to the
`getTagsByName()` method that break the `PhpDocExtractor`.
More specific, it now returns an instance of `InvalidTag` instead of
`null` when parsing an invalid tag.
2020-06-15 09:00:35 +12:00
Yonel Ceruto
65efc36e94 fixed prototype block prefixes hierarchy of the CollectionType 2020-06-14 11:52:41 -04:00
Gabriel Ostrolucký
8fe7be4212 Reset question validator attempts only for actual stdin 2020-06-14 17:02:32 +02:00
Yonel Ceruto
a8f2c60368 fixed block prefixes hierarchy of the CollectionType 2020-06-14 09:34:09 -04:00
Nicolas Grekas
b746dd900c [DI] tighten detection of local dirs to prevent false positives 2020-06-14 14:27:25 +02:00
Marc Laporte
f1c5bdf6f8
Adding a few keywords
So project will appear here:
https://packagist.org/search/?tags=console
https://packagist.org/search/?tags=cli
https://packagist.org/search/?tags=command%20line
2020-06-13 15:20:33 -04:00
Fabien Potencier
b04512a6fa Merge branch '5.1'
* 5.1:
  [Security] Run functional tests also for the authenticator system
  Fix register csrf protection listener
  bumped Symfony version to 5.1.2
  updated VERSION for 5.1.1
  updated CHANGELOG for 5.1.1
2020-06-13 17:58:10 +02:00
Jérémy Derussé
992205a759
Fix precendence in 4.4 2020-06-13 17:35:21 +02:00
Wouter de Jong
49639caeaf [Security] Run functional tests also for the authenticator system 2020-06-13 17:06:42 +02:00
Alessandro Lai
876c64e52e
Rework to throw exception if status code is not initialized; add tests 2020-06-12 16:38:11 +02:00
Fabien Potencier
cef93eaec5 feature #35834 [Notifier] Remove default transport property in Transports class (jschaedl)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Remove default transport property in Transports class

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | - <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | tbd. <!-- required for new features -->

At the moment the `Transports` class uses the first element of the injected transports array as the default transport: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Notifier/Transport/Transports.php#L35

If you try to send a message that doesn't define a transport (`!$message->getTransport()`) the default transport is used. I see two main drawbacks with this solution that I try to fix with this PR:

1. There is no check if the given message is supported by the default transport. What means that the transport is going to fail with an Exception, if it's not supporting the given message. E.g. the `SlackTransport` only supports `ChatMessage`s with nullable options or options from type `SlackOptions`. So as a default transport the `SlackTransport` can't handle all types of `ChatMessage`s.

2. Why should we only send the message using the default transport if there are more possible transports which are probably supported?

I did the following to fix the mentioned drawbacks:

- removed the default transport property
- added a check to make sure the transport defined by the message supports it
- send the message to **all** supported transports, in case the given message does not define a transport
- added a test

Commits
-------

5c167b08d3 [Notifier] Remove default transport property in Transports class
2020-06-12 14:23:25 +02:00
Jan Schädlich
5c167b08d3 [Notifier] Remove default transport property in Transports class 2020-06-12 14:23:20 +02:00
Fabien Potencier
86c79ce316 bumped Symfony version to 5.1.2 2020-06-12 14:20:44 +02:00
Fabien Potencier
6aafc48ddf updated VERSION for 5.1.1 2020-06-12 13:25:56 +02:00
Fabien Potencier
e5354f4f1b bumped Symfony version to 5.0.11 2020-06-12 13:25:22 +02:00
Fabien Potencier
3b4cc39f18 updated VERSION for 5.0.10 2020-06-12 13:20:19 +02:00
Fabien Potencier
055dd28bb8 bumped Symfony version to 4.4.11 2020-06-12 13:19:16 +02:00
Fabien Potencier
e71a9ff228 updated VERSION for 4.4.10 2020-06-12 13:15:37 +02:00
Fabien Potencier
b30f4c1537 bumped Symfony version to 3.4.43 2020-06-12 13:14:22 +02:00
Fabien Potencier
4d48338b6c updated VERSION for 3.4.42 2020-06-12 12:57:07 +02:00
Gabriel Solomon
a50c660823 update cookie test 2020-06-12 12:22:24 +03:00
Nicolas Grekas
813d220aa1 Merge branch '5.1'
* 5.1:
  cs
  fix merge
2020-06-12 10:40:00 +02:00
Nicolas Grekas
3afa4b2e72 Merge branch '5.0' into 5.1
* 5.0:
  cs
  fix merge
2020-06-12 10:39:51 +02:00
Nicolas Grekas
7b6ffda0b9 cs 2020-06-12 10:39:40 +02:00
Nicolas Grekas
d735b76302 fix merge 2020-06-12 10:38:59 +02:00
Nicolas Grekas
da28c38b9f Merge branch '5.1'
* 5.1:
  fix merge
2020-06-12 10:26:30 +02:00
Nicolas Grekas
acc88829de Merge branch '5.0' into 5.1
* 5.0:
  fix merge
2020-06-12 10:26:18 +02:00
Nicolas Grekas
15747d3ebb Merge branch '4.4' into 5.0
* 4.4:
  fix merge
2020-06-12 10:26:05 +02:00
Nicolas Grekas
6304b6b11a fix merge 2020-06-12 10:25:05 +02:00
Nicolas Grekas
e0478c0ab7 Merge branch '5.1'
* 5.1:
  fix merge
2020-06-12 10:22:55 +02:00
Nicolas Grekas
5b70cc8ac8 Merge branch '5.0' into 5.1
* 5.0:
  fix merge
2020-06-12 10:22:42 +02:00
Nicolas Grekas
8fa1cea06d fix merge 2020-06-12 10:22:28 +02:00
Nicolas Grekas
a10b542cd4 Merge branch '5.1'
* 5.1:
  [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables
  switch the context when validating nested forms
  remove unused param from validator service config
  Fix typo
  [HttpKernel] Fix regression where Store does not return response body correctly
  rework form validator tests
  Update AbstractController.php
2020-06-12 10:18:54 +02:00
Nicolas Grekas
03bd1bf90a Merge branch '5.0' into 5.1
* 5.0:
  [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables
  switch the context when validating nested forms
  remove unused param from validator service config
  Fix typo
  [HttpKernel] Fix regression where Store does not return response body correctly
  rework form validator tests
  Update AbstractController.php
2020-06-12 10:11:32 +02:00
Nicolas Grekas
6c4695f4ec Merge branch '4.4' into 5.0
* 4.4:
  [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables
  switch the context when validating nested forms
  remove unused param from validator service config
  Fix typo
  [HttpKernel] Fix regression where Store does not return response body correctly
  rework form validator tests
  Update AbstractController.php
2020-06-12 10:11:14 +02:00
Nicolas Grekas
02df1c9b53 Merge branch '3.4' into 4.4
* 3.4:
  switch the context when validating nested forms
  Fix typo
  [HttpKernel] Fix regression where Store does not return response body correctly
  rework form validator tests
  Update AbstractController.php
2020-06-12 10:10:13 +02:00
Thomas Calvet
dac3c8fae8 [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables 2020-06-12 09:37:04 +02:00
Fabien Potencier
1f83212541 bug #37103 [Form] switch the context when validating nested forms (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] switch the context when validating nested forms

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37072
| License       | MIT
| Doc PR        |

Commits
-------

38135de549 switch the context when validating nested forms
2020-06-12 09:33:15 +02:00
Christian Flothmann
38135de549 switch the context when validating nested forms 2020-06-12 09:11:17 +02:00
Tobias Schultze
c14f0e6dea Merge branch '5.1' 2020-06-11 23:21:11 +02:00
Tobias Schultze
551f7cfa8d Merge branch '5.0' into 5.1 2020-06-11 23:20:02 +02:00
Tobias Schultze
c704acbf9b Merge branch '4.4' into 5.0 2020-06-11 23:19:34 +02:00
Fabien Potencier
816b6ea6f1 Fix typo 2020-06-11 15:00:25 +02:00
Matthias Pigulla
176e769e5f [HttpKernel] Fix regression where Store does not return response body correctly 2020-06-11 14:59:37 +02:00
Fabien Potencier
b1f2a1409c bug #37193 [DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters

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

> Only array parameters are not inlined when dumped.

This is true only when the XML debug container is used, not on a live container that can contain unresolved parameters in the `%my_param%` form. That was my mistake. We have to resolve to get the parameter type.

`$value = [];` was just an improvement to avoid useless parameter resolve btw.

Commits
-------

da0e2c36ef [DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters
2020-06-11 14:58:51 +02:00
Nicolas Grekas
69c37c0335 bug #37054 [String] Fix ellipsis of truncate when not using cut option (DuboisS)
This PR was merged into the 5.1 branch.

Discussion
----------

[String] Fix ellipsis of truncate when not using cut option

| Q             | A
| ------------- | ---
| Branch?       | 5.1 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | - <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | - <!-- required for new features -->

[Since 5.1](https://symfony.com/blog/new-in-symfony-5-1-string-improvements#keep-the-last-word-when-truncating), we can use a cut option on truncate.
But with this option, we don't have the expected behavior when the entire chain is returned.

Currently:
`u('Lorem Ipsum')->truncate(8, '…', false); // 'Lorem Ipsum...'`
Instead of:
`u('Lorem Ipsum')->truncate(8, '…', false); // 'Lorem Ipsum'`

Thanks to @jmsche for his help.

Commits
-------

a2ee6c6cf4 [String] Fix ellipsis of truncate when not using cut option
2020-06-11 14:17:23 +02:00
Steven Dubois
a2ee6c6cf4 [String] Fix ellipsis of truncate when not using cut option 2020-06-11 14:16:36 +02:00
Fabien Potencier
8df6380fc7 Fix CHANGELOG 2020-06-11 09:26:22 +02:00
Nicolas Grekas
d3a450353d [HttpClient] make DNS resolution lazy with NativeHttpClient 2020-06-11 00:12:57 +02:00
Thomas Calvet
da0e2c36ef [DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters 2020-06-10 18:12:11 +02:00
Nicolas Grekas
ff05be06ec [HttpClient] fix offset computation for data chunks 2020-06-10 17:33:47 +02:00
Nicolas Grekas
a7b18ff590 [HttpClient] disable AMP's inactivity timeout, we deal with it on our own already 2020-06-10 17:30:04 +02:00
Fabien Potencier
7c892eedba bug #37176 [Routing] Keeping routes priorities after add a name prefix to the collection (yceruto)
This PR was merged into the 5.1 branch.

Discussion
----------

[Routing] Keeping routes priorities after add a name prefix to the collection

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37089
| License       | MIT
| Doc PR        | -

Commits
-------

10105267b5 kept routes priorities after add a name prefix to the collection
2020-06-10 16:21:57 +02:00
Fabien Potencier
292be5fda8 bug #37140 [Lock] Fixed reading locks from replica set secondary nodes (kralos)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Lock] Fixed reading locks from replica set secondary nodes

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37139
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/13775

Force lock existence query to use `readPreference=primary` in case the given mongo connection is using any of the following `readPreference`s:

* primaryPreferred
* secondary
* secondaryPreferred
* nearest

Any of the above would fail if a secondary node is queried during a lock release.

Commits
-------

ebf7eaf503 [Lock] Fixed reading locks from replica set secondary nodes
2020-06-10 16:19:12 +02:00
Joe Bennett
ebf7eaf503 [Lock] Fixed reading locks from replica set secondary nodes 2020-06-10 16:18:57 +02:00
Yonel Ceruto
10105267b5 kept routes priorities after add a name prefix to the collection 2020-06-10 07:49:58 -04:00
Fabien Potencier
d1b014a1cb feature #37165 [Mime] Add DKIM support (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Mime] Add DKIM support

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #36014 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | not yet

```php
$dkimSigner = new DkimSigner($pk, 'example.com', 'sf');
$signedEmail = $dkimSigner->sign($email);
```
You can also pass options:

```php
$dkimSigner = new DkimSigner($pk, 'example.com', 'sf');
$signedEmail = $dkimSigner->sign($email, (new DkimOptions())
    ->bodyCanon('relaxed')
    ->headerCanon('relaxed')
    ->headersToIgnore(['Message-ID'])
    ->toArray()
);
```

Commits
-------

6dc533821c [Mime] Add DKIM support
2020-06-10 12:50:38 +02:00
Fabien Potencier
6dc533821c [Mime] Add DKIM support 2020-06-10 12:27:43 +02:00
Robin Chalas
c70241e3d2 bug #37177 [Ldap] fix refreshUser() ignoring extra_fields (arkste)
This PR was squashed before being merged into the 4.4 branch (closes #37177).

Discussion
----------

[Ldap] fix refreshUser() ignoring extra_fields

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? |no
| Tickets       | -
| License       | MIT
| Doc PR        | -

While #31532 introduced `extra_fields` in general, #32824 later added `LdapUser` & `LdapUserProvider` and ignored `extra_fields` on `refreshUser()`.

This PR fixes `refreshUser()` and adds a test which makes sure, that the refreshed ldap user doesn't lose its default values.

Commits
-------

cb8f12996c [Ldap] fix refreshUser() ignoring extra_fields
2020-06-10 10:37:06 +02:00
Arkadius Stefanski
cb8f12996c [Ldap] fix refreshUser() ignoring extra_fields 2020-06-10 10:36:58 +02:00
Fabien Potencier
52161f35c7 [Mailer] Remove an internal annot 2020-06-10 07:55:43 +02:00
Fabien Potencier
ea956b1956 feature #36802 [Console] Add support for true colors (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Console] Add support for true colors

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #26576, Fix #19844 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | -

This PR adds support for true colors in the Console component.

Instead of adding many ways to add more colors than the current "default" ones, I've opted to only add true color support via Hex CSS colors. If you have something else (RGB, HSV, ...), you need to first convert it to a CSS color. I've also decided to not support the ANSI 256 colors as most terminals support true colors nowadays.

If true colors are not supported by the terminal, we fall back to the "nearest" default color.

`<fg=green;bg=blue>` is now equivalent to `<fg=#00ff00;bg=#00f>`.

The `Color` class is usable outside of the Console framework as well:

```php
$color = new Color('black', 'white');
echo $color->apply("foo");
echo "\n";

$color = new Color('red', 'yellow');
echo $color->apply("foo");
echo "\n";

$color = new Color('#000000', '#ffffff');
echo $color->apply("foo");
$color = new Color('#000', '#fff', ['underscore', 'reverse']);
echo $color->apply("bar");
echo "\n";
```

Rainbow time!

```php
function rainbowColor($i) {
    $h = (int) ($i / 43);
    $f = (int) ($i - 43 * $h);
    $t = (int) ($f * 255 / 43);
    $q = 255 - $t;

    if ($h == 0) {
        return new Color('', sprintf('#FF%02x00', $t));
    } elseif ($h == 1) {
        return new Color('', sprintf('#%02xFF00', $q));
    } elseif ($h == 2) {
        return new Color('', sprintf('#00FF%02x', $t));
    } elseif ($h == 3) {
        return new Color('', sprintf('#00%02xFF', $q));
    } elseif ($h == 4) {
        return new Color('', sprintf('#%02x00FF', $t));
    } elseif ($h == 5) {
        return new Color('', sprintf('#FF00%02x', $q));
    }
}

for ($i = 0; $i < 128; $i++) {
    echo rainbowColor($i)->apply(' ');
}
echo "\n";

for ($i = 255; $i >= 128; $i--) {
    echo rainbowColor($i)->apply(' ');
}
echo "\n";
```

![image](https://user-images.githubusercontent.com/47313/81796170-59af5e00-950d-11ea-8203-18c13ae8a07e.png)

Commits
-------

d066514cf1 [Console] Add support for true colors
2020-06-10 05:08:03 +02:00
Fabien Potencier
d066514cf1 [Console] Add support for true colors 2020-06-10 04:55:06 +02:00
Fabien Potencier
1fd4e8bb60 [DependencyInjection] Add abstract_arg() and param() 2020-06-10 04:11:30 +02:00
Fabien Potencier
bb70cc8c47 minor #37039 [ExpressionLanguage] add details for error messages (mamontovdmitriy)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[ExpressionLanguage] add details for error messages

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36847
| License       | MIT
| Doc PR        |

Hello!

This PR contains a more detail error messages for [ExpressionLanguage], which include info about affected node and attribute.

My English is poor. Please, spell check in error texts.

Commits
-------

5852a8cedd [ExpressionLanguage] add details for error messages
2020-06-10 03:51:12 +02:00
Fabien Potencier
dee6d437b6 feature #37040 [PropertyInfo] Support using the SerializerExtractor with no group check (GuilhemN)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[PropertyInfo] Support using the SerializerExtractor with no group check

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       |  <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        |  <!-- required for new features -->

It seems there is no way currently to leverage the new `@Ignore` annotation metadata without using serializer groups in third party code.
Indeed the only way to access the serializer's metadata is through the PropertyInfo component since metadata are marked as `@internal` in the Serializer component itself. However, the PropertyInfo component doesn't allow accessing them without using a groups constraint.

This PR proposes a fix by interpreting `serializer_groups = null` as no groups constraint.

This feature would be useful in NelmioApiDocBundle, see https://github.com/nelmio/NelmioApiDocBundle/issues/1595.

Commits
-------

4190bfaf48 [PropertyInfo] Support using the SerializerExtractor with no group check
2020-06-10 03:48:12 +02:00
Guilhem Niot
4190bfaf48 [PropertyInfo] Support using the SerializerExtractor with no group check 2020-06-10 03:48:06 +02:00
Fabien Potencier
4972ee08ef minor #37147 [DependencyInjection] Display alternatives when a service is not found in CheckExceptionOnInvalidReferenceBehaviorPass (fancyweb)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[DependencyInjection] Display alternatives when a service is not found in CheckExceptionOnInvalidReferenceBehaviorPass

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

I often see the mistake of using `@my_service` instead of `my_service` in bundles configurations in YAML (on entries that are then turned into references). Since we don't currently display alternatives, the message content is just that the service don't exist which is hard to understand for new users of the framework.

Commits
-------

6b8f181f1a [DependencyInjection] Display alternatives when a service is not found in CheckExceptionOnInvalidReferenceBehaviorPass
2020-06-10 03:37:54 +02:00
Fabien Potencier
f88570af2f bug #37162 [Mailer] added the reply-to addresses to the API SES transport request. (ribeiropaulor)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] added the reply-to addresses to the API SES transport request.

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

The transport was not sending the reply-to addresses to the SES API when using SendEmail API method.

Commits
-------

ee752f90ed [Mailer] added the reply-to addresses to the API SES transport request.
2020-06-10 03:24:15 +02:00
Paulo Ribeiro
ee752f90ed [Mailer] added the reply-to addresses to the API SES transport request.
The transport was not sending the reply-to addresses to the SES API.
2020-06-10 03:24:02 +02:00
Nicolas Grekas
6d6d989dbe bug #37144 [DI] Add check around class_alias for generated proxy classes (enumag)
This PR was merged into the 5.1 branch.

Discussion
----------

[DI] Add check around class_alias for generated proxy classes

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | nofiles -->
| Tickets       | Fix #37059
| License       | MIT
| Doc PR        |

Here is the [requested](https://github.com/symfony/symfony/issues/37059#issuecomment-638633262) fix.

I'd like to note that I consider this kind of a workaround. I don't know why the issue only started to appear with Symfony 5.1 and not before. There might be some other problem hidden somewhere else.

Commits
-------

c8b7459115 Add class_alias for generated proxy classes
2020-06-09 18:10:54 +02:00
Fabien Potencier
6e28fdaa57 [Mime] Deprecate Address::fromString() 2020-06-09 17:54:11 +02:00
Nicolas Grekas
548818d7e9 [HttpClient] improve monitoring of timeouts with AmpHttpClient 2020-06-09 17:53:13 +02:00
Fabien Potencier
61d79e19a9 Merge branch '5.1'
* 5.1:
  [Mime] use fromString when creating a new Adress
2020-06-09 17:07:48 +02:00
Fabien Potencier
d08db0f3f5 Merge branch '5.0' into 5.1
* 5.0:
  [Mime] use fromString when creating a new Adress
2020-06-09 17:07:35 +02:00
Fabien Potencier
748854bad1 Merge branch '4.4' into 5.0
* 4.4:
  [Mime] use fromString when creating a new Adress
2020-06-09 17:07:20 +02:00
Fabien Potencier
5b719d1ee4 bug #37167 [Mime] use fromString when creating a new Address (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] use fromString when creating a new Address

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | n/a

When creating an Address, there are two ways right now in 4.4: `Address::create()` which takes an email or an instance of Address and `Address::fromString()` which takes an email or an email+name.

In 4.4, I propose to make `create` supports everything possible. And in 5.2, I will probably propose to deprecate `fromString()`.

Commits
-------

de68787693 [Mime] use fromString when creating a new Adress
2020-06-09 17:06:27 +02:00
Christian Flothmann
f062e08f4d rework form validator tests 2020-06-09 16:48:06 +02:00
Nicolas Grekas
284f6f2b0f Merge branch '5.1'
* 5.1:
  [Messenger] fix typo
2020-06-09 16:24:57 +02:00
Nicolas Grekas
7da0ffd062 Merge branch '5.0' into 5.1
* 5.0:
  [Messenger] fix typo
2020-06-09 16:24:29 +02:00
Nicolas Grekas
bd4a238fb2 Merge branch '4.4' into 5.0
* 4.4:
  [Messenger] fix typo
2020-06-09 16:23:46 +02:00
Nicolas Grekas
749380a399 [Messenger] fix typo 2020-06-09 16:23:13 +02:00
Nicolas Grekas
7e6ff0d47e Merge branch '5.1'
* 5.1:
  Correctly use doctrine/dbal v3+
  Correctly use doctrine/dbal v3+
2020-06-09 16:16:45 +02:00
Nicolas Grekas
374e23b967 Merge branch '5.0' into 5.1
* 5.0:
  Correctly use doctrine/dbal v3+
  Correctly use doctrine/dbal v3+
2020-06-09 16:15:34 +02:00
Nicolas Grekas
9bfe5065b7 Merge branch '4.4' into 5.0
* 4.4:
  Correctly use doctrine/dbal v3+
  Correctly use doctrine/dbal v3+
2020-06-09 16:10:15 +02:00
Nicolas Grekas
2ebb63a883 Merge branch '3.4' into 4.4
* 3.4:
  Correctly use doctrine/dbal v3+
2020-06-09 16:07:49 +02:00
Nicolas Grekas
909931d9a4 Correctly use doctrine/dbal v3+ 2020-06-09 16:07:03 +02:00
Nicolas Grekas
4a51827b6d Correctly use doctrine/dbal v3+ 2020-06-09 16:02:17 +02:00
Nicolas Grekas
880142ac40 Merge branch '5.1'
* 5.1:
  [Cache] fix parse error on PHP 5.5
  [Cache] fix compat with doctrine/dbal v3
  [Lock] fix compat with doctrine/dbal v3
2020-06-09 14:11:52 +02:00
Nicolas Grekas
d5ff9e7d81 Merge branch '5.0' into 5.1
* 5.0:
  [Cache] fix parse error on PHP 5.5
  [Cache] fix compat with doctrine/dbal v3
  [Lock] fix compat with doctrine/dbal v3
2020-06-09 14:11:32 +02:00
Nicolas Grekas
d0a11c7911 Merge branch '4.4' into 5.0
* 4.4:
  [Cache] fix parse error on PHP 5.5
2020-06-09 14:09:45 +02:00
Nicolas Grekas
e1050c9373 Merge branch '3.4' into 4.4
* 3.4:
  [Cache] fix parse error on PHP 5.5
2020-06-09 14:08:55 +02:00
Nicolas Grekas
ef6fc09260 [Cache] fix parse error on PHP 5.5 2020-06-09 14:06:18 +02:00
Nicolas Grekas
e8f4ca1c6d Merge branch '4.4' into 5.0
* 4.4:
  [Cache] fix compat with doctrine/dbal v3
  [Lock] fix compat with doctrine/dbal v3
2020-06-09 13:54:45 +02:00
Nicolas Grekas
1c328c64ad Merge branch '3.4' into 4.4
* 3.4:
  [Cache] fix compat with doctrine/dbal v3
2020-06-09 13:52:05 +02:00
Nicolas Grekas
0f76308929 [Cache] fix compat with doctrine/dbal v3 2020-06-09 13:48:38 +02:00
Nicolas Grekas
7bbbd3dd0d [Lock] fix compat with doctrine/dbal v3 2020-06-09 13:46:03 +02:00
Nicolas Grekas
ddcb795484 Merge branch '5.1'
* 5.1:
  minor #37141 [Messenger] fix forward compatibility with Doctrine DBAL 2.11+ (xabbuh)
  fix forward compatibility with Doctrine DBAL 3
  [WebProfilerBundle] Set NullLogger for functional tests
  [Mailer] Fixed generator bug when creating multiple transports using Transport::fromDsn
  [FrameworkBundle] Fix XSD definition
  Update welcome.html.php
  [FrameworkBundle] Remove reference to APP_SECRET in MicroKernelTrait
  [travis] add nightly to allowed failures
2020-06-09 13:33:42 +02:00
Nicolas Grekas
afefcfd078 Merge branch '5.0' into 5.1
* 5.0:
  minor #37141 [Messenger] fix forward compatibility with Doctrine DBAL 2.11+ (xabbuh)
  fix forward compatibility with Doctrine DBAL 3
  [WebProfilerBundle] Set NullLogger for functional tests
  [Mailer] Fixed generator bug when creating multiple transports using Transport::fromDsn
  [FrameworkBundle] Fix XSD definition
  Update welcome.html.php
  [travis] add nightly to allowed failures
2020-06-09 13:33:28 +02:00
Nicolas Grekas
19228e6740 Merge branch '4.4' into 5.0
* 4.4:
  minor #37141 [Messenger] fix forward compatibility with Doctrine DBAL 2.11+ (xabbuh)
  fix forward compatibility with Doctrine DBAL 3
  [WebProfilerBundle] Set NullLogger for functional tests
  [Mailer] Fixed generator bug when creating multiple transports using Transport::fromDsn
  [FrameworkBundle] Fix XSD definition
  Update welcome.html.php
  [travis] add nightly to allowed failures
2020-06-09 13:33:14 +02:00
Fabien Potencier
5a0645974f minor #37141 [Messenger] fix forward compatibility with Doctrine DBAL 2.11+ (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger] fix forward compatibility with Doctrine DBAL 2.11+

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

The methods will be deprecated in 2.11 (see doctrine/dbal#4019), but the forward compatibility layer is only present in 3.0 (see doctrine/dbal#4007).

Commits
-------

bca4f9970b fix forward compatibility with Doctrine DBAL 2.11+
2020-06-09 13:31:06 +02:00
Nicolas Grekas
ae6894c3ed Merge branch '3.4' into 4.4
* 3.4:
  fix forward compatibility with Doctrine DBAL 3
  [WebProfilerBundle] Set NullLogger for functional tests
  [travis] add nightly to allowed failures
2020-06-09 13:29:11 +02:00
Christian Flothmann
316efef8b8 fix forward compatibility with Doctrine DBAL 3 2020-06-09 13:16:53 +02:00
Fabien Potencier
de68787693 [Mime] use fromString when creating a new Adress 2020-06-09 11:16:12 +02:00
Fabien Potencier
4d477ec3f0 feature #36736 [FrameworkBundle][Mailer] Add a way to configure some email headers from semantic configuration (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle][Mailer] Add a way to configure some email headers from semantic configuration

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a  <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | not yet

The configuration allows to set global `sender` and `recipients`, but for the *envelope*.

If you want to set some global headers, it was not possible (a default `from` header for instance, of a `bcc`).

That's implemented in this PR.

Commits
-------

805e9e62c1 [FrameworkBundle][Mailer] Add a way to configure some email headers from semantic configuration
2020-06-09 10:49:17 +02:00
Fabien Potencier
805e9e62c1 [FrameworkBundle][Mailer] Add a way to configure some email headers from semantic configuration 2020-06-09 10:31:02 +02:00
Ahmed TAILOULOUTE
c5833fa784 [Mailer] Fixed generator bug when creating multiple transports using Transport::fromDsn 2020-06-09 10:20:50 +02:00
Jáchym Toušek
c8b7459115
Add class_alias for generated proxy classes 2020-06-09 08:49:31 +02:00
Nicolas Grekas
f3cc7c1bad [HttpClient] added support for pausing responses with a new pause_handler callable exposed as an info item 2020-06-09 07:26:34 +02:00
Fabien Potencier
d75ef185d1 feature #36779 [HttpClient] add AsyncDecoratorTrait to ease processing responses without breaking async (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] add AsyncDecoratorTrait to ease processing responses without breaking async

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #31885, fix #32367
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/13736

This PR allows processing the stream of chunks.

```php
<?php
$client = new class() implements HttpClientInterface {
    use AsyncDecoratorTrait;

    public function request(string $method, string $url, array $options): ResponseInterface
    {
        return new AsyncResponse($method, $url, $options, static function (ChunkInterface $chunk, AsyncContext $context) {

            // do what you want with chunks, e.g. split them
            // in smaller chunks, group them, skip some, etc.

            yield $chunk;
        });
    }
};
```

Some ideas:
- custom retry/redirect logic
- align chunk boundaries with server-sent events and yield augmented chunks that know about messages (see #36692)
- play some OAuth dance before issuing the real request
- do some live transclusion
- be creative :)

Any custom logic should fit into the `$passthru` filter iterator (the last constructor argument of `AsyncResponse`). There, one has access to an `AsyncContext` DTO, which allows controlling the stream, eg. to replace the current request/response, to change the passthru filter itself, etc.

The surrounding logic will catch badly behaving filters to ease spotting some mistakes (eg. never forwarding an "isLast()" chunk, or yielding extra chunks after an "isLast()" one, etc.)

For the record:
- When the chunk passthru issues many internal requests in order to complete the external one, the info of each internal request is accessible via the `previous_info` entry. I considered merging all internal `response_headers` info under the main one since that's possible, but I'm not sure it's worth the added complexity. Please tell me if you think we should do it.
- A future iteration/PR might add support for time-based events. Right now, implementing a pause in the stream involves calling `usleep()`, but this doesn't play really well with async. Implementing small pauses and summing them up to the target pause might be good enough - we'll need to give it a try to know better.

Commits
-------

766a1c6287 [HttpClient] add AsyncDecoratorTrait to ease processing responses without breaking async
2020-06-09 07:11:55 +02:00
Thomas Landauer
53491b9762 Update welcome.html.php 2020-06-08 20:54:12 +02:00
Fabien Potencier
5a74790bfd Merge branch '5.1'
* 5.1:
  fix forward compatibility with Doctrine DBAL 2.11+
  [SecurityBundle] Fix the session listener registration under the new authentication manager
  allow cursor to be used even when STDIN is not defined
2020-06-08 20:51:17 +02:00
Thomas Calvet
6b8f181f1a [DependencyInjection] Display alternatives when a service is not found in CheckExceptionOnInvalidReferenceBehaviorPass 2020-06-08 15:43:58 +02:00
Christian Flothmann
bca4f9970b fix forward compatibility with Doctrine DBAL 2.11+ 2020-06-08 11:16:34 +02:00
Nicolas Grekas
766a1c6287 [HttpClient] add AsyncDecoratorTrait to ease processing responses without breaking async 2020-06-08 00:07:07 +02:00
Christian Flothmann
aff1ffaeff allow cursor to be used even when STDIN is not defined 2020-06-07 21:47:44 +02:00
Nicolas Grekas
ec6b2801ec Merge branch '5.1'
* 5.1: (36 commits)
  Fixed left-over debug statement
  set column length for mysql 5.6 compatibility
  [Mime] Remove unused var
  [HttpClient] fix monitoring timeouts when other streams are active
  [PhpUnitBridge] fix syntax on PHP 5.3
  [PhpUnitBridge] Fix undefined index when output of "composer show" cannot be parsed
  properly cascade validation to child forms
  [PropertyAccess] Fix getter call order BC
  [PhpUnitBridge] fix undefined var on version 3.4
  Fix invalid char in SQS Headers
  Move ajax clear event listener initialization on loadToolbar
  [HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray()
  Fix CS
  FrameworkBundle Serializer issue
  register event listeners depending on the installed packages
  take into account the context when preserving empty array objects
  Only register CSRF protection listener if CSRF is available
  [VarExporter] tfix: s/markAsSkipped/markTestSkipped/
  Also check PUBLIC_ACCESS for authenticated tokens
  Fix enabled_locales behavior
  ...
2020-06-07 17:48:04 +02:00
Nicolas Grekas
5de548b60e bug #37053 [PropertyAccess] Fix getter call order BC (1ed)
This PR was merged into the 5.1 branch.

Discussion
----------

[PropertyAccess] Fix getter call order BC

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | #37052
| License       | MIT
| Doc PR        | -

Property Accessor breaks BC due to a change in the order of calling the getters, see #37052

Commits
-------

8cf80688c7 [PropertyAccess] Fix getter call order BC
2020-06-07 17:47:03 +02:00
Nicolas Grekas
717de3ef87 bug #37117 [Messenger/DoctrineBridge] set column length for mysql 5.6 compatibility (Nemo64)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger/DoctrineBridge] set column length for mysql 5.6 compatibility

MySQL 5.6 does not support more than 191 characters when an index is used and when using utf8mb4 as charset.
As a workaround, I define the length of the queue_name field.

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37116
| License       | MIT

Commits
-------

d12190687b set column length for mysql 5.6 compatibility
2020-06-07 17:46:15 +02:00
Nicolas Grekas
a31d761bd8 bug #37127 [Messenger/AmazonSqsBridge] Fixed left-over debug statement (sstok)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger/AmazonSqsBridge] Fixed left-over debug statement

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  |
| Deprecations? | no
| Tickets       | Related to #37038
| License       | MIT
| Doc PR        |

I noticed whats properly a left-over debugging statement that blocks the code from further execution. /cc @jderusse can you check this (thanks).

Commits
-------

8b827e46f6 Fixed left-over debug statement
2020-06-07 17:45:39 +02:00
Nicolas Grekas
2ea0a147ce Merge branch '5.0' into 5.1
* 5.0:
  [Mime] Remove unused var
  [HttpClient] fix monitoring timeouts when other streams are active
  [PhpUnitBridge] fix syntax on PHP 5.3
  [PhpUnitBridge] Fix undefined index when output of "composer show" cannot be parsed
  properly cascade validation to child forms
  [PhpUnitBridge] fix undefined var on version 3.4
  Move ajax clear event listener initialization on loadToolbar
  [HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray()
  take into account the context when preserving empty array objects
  [VarExporter] tfix: s/markAsSkipped/markTestSkipped/
  bumped Symfony version to 5.0.10
  updated VERSION for 5.0.9
  updated CHANGELOG for 5.0.9
  bumped Symfony version to 4.4.10
  updated VERSION for 4.4.9
  updated CHANGELOG for 4.4.9
  bumped Symfony version to 3.4.42
  updated VERSION for 3.4.41
  update CONTRIBUTORS for 3.4.41
  updated CHANGELOG for 3.4.41
2020-06-07 17:42:22 +02:00
Nicolas Grekas
12dce498e1 Merge branch '4.4' into 5.0
* 4.4:
  [Mime] Remove unused var
  [HttpClient] fix monitoring timeouts when other streams are active
  [PhpUnitBridge] fix syntax on PHP 5.3
  [PhpUnitBridge] Fix undefined index when output of "composer show" cannot be parsed
  properly cascade validation to child forms
  [PhpUnitBridge] fix undefined var on version 3.4
  Move ajax clear event listener initialization on loadToolbar
  [HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray()
  take into account the context when preserving empty array objects
  [VarExporter] tfix: s/markAsSkipped/markTestSkipped/
  bumped Symfony version to 4.4.10
  updated VERSION for 4.4.9
  updated CHANGELOG for 4.4.9
  bumped Symfony version to 3.4.42
  updated VERSION for 3.4.41
  update CONTRIBUTORS for 3.4.41
  updated CHANGELOG for 3.4.41
2020-06-07 17:38:39 +02:00
Nicolas Grekas
3755efd88c bug #37048 [HttpClient] fix monitoring timeouts when other streams are active (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix monitoring timeouts when other streams are active

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Commits
-------

d2a53f0bda [HttpClient] fix monitoring timeouts when other streams are active
2020-06-07 17:37:15 +02:00
Nicolas Grekas
1e7f3e26a1 Merge branch '3.4' into 4.4
* 3.4:
  [PhpUnitBridge] fix syntax on PHP 5.3
  [PhpUnitBridge] Fix undefined index when output of "composer show" cannot be parsed
  properly cascade validation to child forms
  [PhpUnitBridge] fix undefined var on version 3.4
  bumped Symfony version to 3.4.42
  updated VERSION for 3.4.41
  update CONTRIBUTORS for 3.4.41
  updated CHANGELOG for 3.4.41
2020-06-07 17:34:22 +02:00
Sebastiaan Stok
8b827e46f6
Fixed left-over debug statement 2020-06-07 11:03:29 +02:00
Marco Pfeiffer
d12190687b set column length for mysql 5.6 compatibility
MySQL 5.6 does not support more than 191 characters when an index is used and when using utf8mb4 as charset.
As a workaround, I define the length of the queue_name field.
2020-06-06 13:22:26 +02:00
Fabien Potencier
86613797d1 [Mime] Remove unused var 2020-06-05 23:43:09 +02:00
Nicolas Grekas
d2a53f0bda [HttpClient] fix monitoring timeouts when other streams are active 2020-06-05 22:14:25 +02:00
Loenix
0162063994
Fix minor mistake in error message 2020-06-05 15:34:09 +02:00
Christian Flothmann
7df5298ddf properly cascade validation to child forms 2020-06-04 12:14:17 +02:00
Gábor Egyed
8cf80688c7
[PropertyAccess] Fix getter call order BC 2020-06-04 11:56:18 +02:00
Fabien Potencier
b25168fe28 minor #36665 SCA: file_exists -> is_dir|is_file in foundation and kernel (kalessil)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

SCA: file_exists -> is_dir|is_file in foundation and kernel

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | n/a
| License       | MIT
| Doc PR        | n/a

Inspired by #36556 and replaces file_exists with is_dir|is_file alternative in order to leverage built-in cache advantages.

Commits
-------

0c467691b2 SCA: file_exists -> is_dir|is_file in foundation and kernel
2020-06-03 10:29:26 +02:00
Vladimir Reznichenko
0c467691b2 SCA: file_exists -> is_dir|is_file in foundation and kernel 2020-06-03 10:29:19 +02:00
Fabien Potencier
ac00dcd0fb minor #36991 [String] use base58 by default in ByteString::fromRandom() (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[String] use base58 by default in ByteString::fromRandom()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

This is the list from the [bitcoin alphabet](https://en.wikipedia.org/wiki/Base58): it's been designed to avoid characters that look ambiguous when printed.

Commits
-------

b36baa77bb [String] use base58 by default in ByteString::fromRandom()
2020-06-03 10:16:11 +02:00
Fabien Potencier
e778ea6367 bug #37022 [DependencyInjection] Improve missing package/version deprecation (acrobat)
This PR was merged into the 5.1 branch.

Discussion
----------

[DependencyInjection] Improve missing package/version deprecation

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       |
| License       | MIT
| Doc PR        |

After updating to symfony 5.1 I've got some deprecations related to the missing package/version attributes/options for `deprecated` on services.

But currently it's not clear which bundle/part of the code is triggering the deprecations. The only way for me to track down where they were coming from was by setting a xdebug breakpoint in the `XmlFileLoader` and check the `$file` variable.

So it seemed like a good idea to include the file path in the deprecation message, that way it will be easier for users to know if their code or a bundle (and which) is triggering this deprecation.

Before:
<img width="871" alt="Screenshot 2020-05-31 at 13 51 03" src="https://user-images.githubusercontent.com/1374857/83351609-d0d65600-a345-11ea-9785-3237a3ec2360.png">

After:
<img width="907" alt="Screenshot 2020-05-31 at 13 50 10" src="https://user-images.githubusercontent.com/1374857/83351606-cfa52900-a345-11ea-9617-60d07e46234b.png">

Commits
-------

f603317363 [DependencyInjection] Improve missing package/version deprecation
2020-06-03 10:14:01 +02:00
Fabien Potencier
773b4ef382 bug #37038 Fix invalid char in SQS Headers (jderusse)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

Fix invalid char in SQS Headers

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | yes
| Tickets       | https://github.com/symfony/symfony/pull/36525#issuecomment-636658635
| License       | MIT
| Doc PR        | /

From [Amazon documnetation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html) header's name have constraints:
- only `a-zA-Z0-9_\.-` + not start/end with a `.`
- 256 char

This PR serialize ALL headers in a single SQS Attribute.

Commits
-------

76a18b0b47 Fix invalid char in SQS Headers
2020-06-03 10:07:24 +02:00
Jérémy Derussé
76a18b0b47 Fix invalid char in SQS Headers 2020-06-03 10:07:11 +02:00
Jeroen Noten
69547d9cfc [HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray() 2020-06-02 15:48:45 +02:00
Fabien Potencier
ab3772a94e bug #37020 [ExpressionLanguage] reset the internal state when the parser is finished (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[ExpressionLanguage] reset the internal state when the parser is finished

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Commits
-------

d58eb020d0 reset the internal state when the parser is finished
2020-06-02 10:46:57 +02:00
Fabien Potencier
73fed65d16 Fix CS 2020-06-02 10:42:14 +02:00
Fabien Potencier
2234a70621 minor #37057 [Validator] simplify the tests (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[Validator] simplify the tests

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Commits
-------

cfc6fc8527 simplify the tests
2020-06-02 10:41:45 +02:00
Christian Flothmann
98fff21140 take into account the context when preserving empty array objects 2020-06-01 19:29:37 +02:00
Dmitriy Mamontov
5852a8cedd [ExpressionLanguage] add details for error messages 2020-06-01 13:44:50 +03:00
David Prévot
393c9d920a [VarExporter] tfix: s/markAsSkipped/markTestSkipped/ 2020-05-31 15:10:09 -10:00
Wouter de Jong
0ac530f460 Also check PUBLIC_ACCESS for authenticated tokens
Currently, authenticated users are denied access for pages that have
PUBLIC_ACCESS, as this attribute is only checked when no token was set.
2020-05-31 23:41:52 +02:00
Jeroen Thora
f603317363
[DependencyInjection] Improve missing package/version deprecation 2020-05-31 13:36:45 +02:00
Christian Flothmann
d58eb020d0 reset the internal state when the parser is finished 2020-05-31 09:33:39 +02:00
Christian Flothmann
cfc6fc8527 simplify the tests 2020-05-31 09:21:25 +02:00
Fabien Potencier
2af156d6fe bumped Symfony version to 5.1.1 2020-05-31 08:17:42 +02:00
Fabien Potencier
70780fc68b updated VERSION for 5.1.0 2020-05-31 08:14:18 +02:00
Fabien Potencier
779a0d5453 bumped Symfony version to 5.0.10 2020-05-31 08:13:19 +02:00
Fabien Potencier
0bf2da0734 updated VERSION for 5.0.9 2020-05-31 07:30:12 +02:00
Fabien Potencier
d45883fb7b bumped Symfony version to 4.4.10 2020-05-31 07:29:28 +02:00
Fabien Potencier
8e93e5bec1 updated VERSION for 4.4.9 2020-05-31 07:25:51 +02:00
Fabien Potencier
3519647496 bumped Symfony version to 3.4.42 2020-05-31 07:24:17 +02:00
Fabien Potencier
8b909cef4b updated VERSION for 3.4.41 2020-05-31 07:14:17 +02:00
Nicolas Grekas
608b770f1b Merge branch '5.1'
* 5.1:
  [Validator] use "allowedVariables" to configure the ExpressionLanguageSyntax constraint
  [Security] Fixed AbstractToken::hasUserChanged()
  [PropertyAccess] fix merge
  [DI] fix typo
2020-05-30 23:59:47 +02:00
Nicolas Grekas
af444f8aaf bug #37009 [Validator] use "allowedVariables" to configure the ExpressionLanguageSyntax constraint (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[Validator] use "allowedVariables" to configure the ExpressionLanguageSyntax constraint

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix symfony/symfony-docs#13669
| License       | MIT
| Doc PR        |

Commits
-------

4807dab305 [Validator] use "allowedVariables" to configure the ExpressionLanguageSyntax constraint
2020-05-30 23:58:16 +02:00
Christian Flothmann
4807dab305 [Validator] use "allowedVariables" to configure the ExpressionLanguageSyntax constraint 2020-05-30 23:56:41 +02:00
Nicolas Grekas
3e05f1dafe Merge branch '5.0' into 5.1
* 5.0:
  [Security] Fixed AbstractToken::hasUserChanged()
  [DI] fix typo
2020-05-30 23:52:37 +02:00
Nicolas Grekas
41b95952d3 Merge branch '4.4' into 5.0
* 4.4:
  [Security] Fixed AbstractToken::hasUserChanged()
  [DI] fix typo
2020-05-30 23:52:15 +02:00
Nicolas Grekas
bdb01db3dc bug #37008 [Security] Fixed AbstractToken::hasUserChanged() (wouterj)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Security] Fixed AbstractToken::hasUserChanged()

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36989
| License       | MIT
| Doc PR        | -

This PR completely reverts #35944.

That PR tried to fix a BC break (ref #35941, #35509) introduced by #31177. However, this broke many authentications (ref #36989), as the User is serialized in the session (as hinted by @stof). Many applications don't include the `roles` property in the serialization (at least, the MakerBundle doesn't include it).

In 5.2, we should probably deprecate having different roles in token and user, which fixes the BC breaks all together.

Commits
-------

f297beb42c [Security] Fixed AbstractToken::hasUserChanged()
2020-05-30 23:50:18 +02:00
Wouter de Jong
f297beb42c [Security] Fixed AbstractToken::hasUserChanged() 2020-05-30 23:50:11 +02:00
Nicolas Grekas
d9506ab843 Merge branch '3.4' into 4.4
* 3.4:
  [DI] fix typo
2020-05-30 23:49:23 +02:00
Nicolas Grekas
308f28678c [PropertyAccess] fix merge 2020-05-30 23:17:32 +02:00
Nicolas Grekas
fa31260e5e [DI] fix typo 2020-05-30 23:06:01 +02:00
Nicolas Grekas
6567abe3f1 Merge branch '5.1'
* 5.1:
  Fix abstract method name in PHP doc block
  Various cleanups
  [HttpClient] fix issues in tests
  Fixes sprintf(): Too few arguments in form transformer
  [Console] Fix QuestionHelper::disableStty()
  [Validator] Use Mime component to determine mime type for file validator
  validate subforms in all validation groups
  Update Hungarian translations
  Add meaningful message when Process is not installed (ProcessHelper)
  [Messenger] Change the default notify timeout value for PostgreSQL
  [PropertyAccess] Fix TypeError parsing again.
  [TwigBridge] fix fallback html-to-txt body converter
  [Security/Http] fix merge
  [ErrorHandler] fix setting $trace to null in FatalError
  [Form] add missing Czech validators translation
  [Validator] add missing Czech translations
  never directly validate Existence (Required/Optional) constraints
2020-05-30 22:38:10 +02:00
Nicolas Grekas
51da6239ba Merge branch '5.0' into 5.1
* 5.0:
  Fix abstract method name in PHP doc block
  Various cleanups
  [HttpClient] fix issues in tests
  Fixes sprintf(): Too few arguments in form transformer
  [Console] Fix QuestionHelper::disableStty()
  [Validator] Use Mime component to determine mime type for file validator
  validate subforms in all validation groups
  Update Hungarian translations
  Add meaningful message when Process is not installed (ProcessHelper)
  [PropertyAccess] Fix TypeError parsing again.
  [TwigBridge] fix fallback html-to-txt body converter
  [Security/Http] fix merge
  [ErrorHandler] fix setting $trace to null in FatalError
  [Form] add missing Czech validators translation
  [Validator] add missing Czech translations
  never directly validate Existence (Required/Optional) constraints
2020-05-30 22:35:19 +02:00
Nicolas Grekas
527f3f305e Merge branch '4.4' into 5.0
* 4.4:
  Fix abstract method name in PHP doc block
  Various cleanups
  [HttpClient] fix issues in tests
  Fixes sprintf(): Too few arguments in form transformer
  [Console] Fix QuestionHelper::disableStty()
  [Validator] Use Mime component to determine mime type for file validator
  validate subforms in all validation groups
  Update Hungarian translations
  Add meaningful message when Process is not installed (ProcessHelper)
  [PropertyAccess] Fix TypeError parsing again.
  [TwigBridge] fix fallback html-to-txt body converter
  [Form] add missing Czech validators translation
  [Validator] add missing Czech translations
  never directly validate Existence (Required/Optional) constraints
2020-05-30 22:12:43 +02:00
Nicolas Grekas
143718c750 Merge branch '3.4' into 4.4
* 3.4:
  Fix abstract method name in PHP doc block
2020-05-30 22:07:26 +02:00
Nicolas Grekas
79f80d361c minor #37015 Fix abstract method name in PHP doc block (l-vo)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix abstract method name in PHP doc block

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Commits
-------

d6966c3147 Fix abstract method name in PHP doc block
2020-05-30 22:07:07 +02:00
Nicolas Grekas
282cafb093 Merge branch '3.4' into 4.4
* 3.4:
  Various cleanups
2020-05-30 22:06:45 +02:00
Laurent VOULLEMIER
d6966c3147
Fix abstract method name in PHP doc block 2020-05-30 21:50:06 +02:00
Nicolas Grekas
d8f282edca Various cleanups 2020-05-30 20:58:05 +02:00
Nicolas Grekas
255e9117a0 Merge branch '3.4' into 4.4
* 3.4:
  Fixes sprintf(): Too few arguments in form transformer
  [Console] Fix QuestionHelper::disableStty()
  validate subforms in all validation groups
  Update Hungarian translations
  Add meaningful message when Process is not installed (ProcessHelper)
  [PropertyAccess] Fix TypeError parsing again.
  [Form] add missing Czech validators translation
  [Validator] add missing Czech translations
  never directly validate Existence (Required/Optional) constraints
2020-05-30 20:50:54 +02:00
Nicolas Grekas
84081adbf7 bug #36894 [Validator] never directly validate Existence (Required/Optional) constraints (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] never directly validate Existence (Required/Optional) constraints

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36637 #36723
| License       | MIT
| Doc PR        |

Using `Optional` or `Required` like "regular" constraints does not make any sense, but doing so didn't break before #36365. I suggest to ignore them for now and deprecate using them outside the `Collection` constraint in 5.2.

Commits
-------

d333aae187 never directly validate Existence (Required/Optional) constraints
2020-05-30 20:43:38 +02:00
Nicolas Grekas
8e40814164 bug #37007 [Console] Fix QuestionHelper::disableStty() (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix QuestionHelper::disableStty()

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no>
| Tickets       | -
| License       | MIT
| Doc PR        | -

We broke it when adding `Terminal::hasSttyAvailable()`.
Let's fix it on 3.4 and move it to terminal on master, as suggested in #36977

Commits
-------

5d93b61278 [Console] Fix QuestionHelper::disableStty()
2020-05-30 20:43:03 +02:00
Nicolas Grekas
ca66e6cede minor #37003 [PropertyAccess] Fix TypeError parsing again (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyAccess] Fix TypeError parsing again

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | #36872
| License       | MIT
| Doc PR        | N/A

Apparently, the format of `TypeError`s has changed again in php8. While investigating, I noticed our error message parsing is not handling anonymous classes well, so I've added some test cases for them.

I chose a fuzzier regular expression to parse the expected return type from the error message. Additionally, I'm checking the stack trace if the caught `TypeError` is really caused by the accessor call.

Commits
-------

03b4e98630 [PropertyAccess] Fix TypeError parsing again.
2020-05-30 20:42:19 +02:00
Nicolas Grekas
2e8ae40183 bug #36865 [Form] validate subforms in all validation groups (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] validate subforms in all validation groups

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36852
| License       | MIT
| Doc PR        |

Commits
-------

b819d94d14 validate subforms in all validation groups
2020-05-30 20:41:29 +02:00
Nicolas Grekas
a337ba5547 [HttpClient] fix issues in tests 2020-05-30 20:33:03 +02:00
Pedro Casado
ff7d3f4f01 Fixes sprintf(): Too few arguments in form transformer 2020-05-30 19:48:24 +02:00
Robin Chalas
5d93b61278 [Console] Fix QuestionHelper::disableStty() 2020-05-29 16:49:42 +02:00
Pierre du Plessis
472883313f
[Validator] Use Mime component to determine mime type for file validator 2020-05-29 14:10:59 +02:00
Christian Flothmann
b819d94d14 validate subforms in all validation groups 2020-05-29 11:57:12 +02:00
Gábor Egyed
1614595424
Update Hungarian translations 2020-05-29 09:47:21 +02:00
Laurent VOULLEMIER
3ab76e40ff Add meaningful message when Process is not installed (ProcessHelper) 2020-05-29 05:22:46 +02:00
Fabien Potencier
2ff26b7ce8 bug #36990 [Messenger] Change the default notify timeout value for PostgreSQL (fabpot)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger] Change the default notify timeout value for PostgreSQL

| Q             | A
| ------------- | ---
| Branch?       | 5.1 <!-- see below -->
| Bug fix?      | yes-ish
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | n/a

The default value of 0 means that notify is kind of disable and that incurs many SQL requests. 10 minutes is kind of arbitrary but seems to be a good balance between waiting for a message (blocking) and trying again later in case of an issue.

Commits
-------

d9decf9da2 [Messenger] Change the default notify timeout value for PostgreSQL
2020-05-29 05:19:22 +02:00