Commit Graph

26532 Commits

Author SHA1 Message Date
Christian Flothmann
46ed0e84cd maintain sender/recipient name in SMTP envelopes 2019-09-04 11:58:50 +02:00
Fabien Potencier
c6d56de86d [Mailer] Improve an exception when trying to send a RawMessage without an Envelope 2019-09-04 08:32:49 +02:00
Fabien Potencier
9407c6b6b0 bug #33449 Fix gmail relay (Beno!t POLASZEK)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix gmail relay

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

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

Commits
-------

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

Discussion
----------

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

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

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

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

```php

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

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

    // ...
}
```

Commits
-------

34275bba1c [HttpClient] fix support for 103 Early Hints and other informational status codes
2019-09-03 23:38:33 +02:00
Nicolas Grekas
200281db40 Merge branch '3.4' into 4.3
* 3.4:
  [Validator] Add ConstraintValidator::formatValue() tests
  [Validator] Sync string to date behavior and throw a better exception
  Check phpunit configuration for listeners
2019-09-03 23:37:38 +02:00
Kévin Dunglas
e1fbaeb65c
[HttpClient] Fix a bug preventing Server Pushes to be handled properly 2019-09-03 23:26:51 +02:00
Nicolas Grekas
34275bba1c [HttpClient] fix support for 103 Early Hints and other informational status codes 2019-09-03 23:21:26 +02:00
Nicolas Grekas
0f434134d6 fix typo 2019-09-03 22:36:28 +02:00
Beno!t POLASZEK
6c90e08368 Fix #32148 TransportException was not thrown 2019-09-03 22:05:27 +02:00
Nicolas Grekas
a1a914ee54 bug #33430 [ErrorHandler][Bridge/PhpUnit] display deprecations for not-autoloaded classes (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler][Bridge/PhpUnit] display deprecations for not-autoloaded classes

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

Commits
-------

2ba3cc0aba [ErrorHandler][Bridge/PhpUnit] display deprecations for not-autoloaded classes
2019-09-03 21:50:39 +02:00
Nicolas Grekas
f48ebfa402 bug #33444 [HttpClient] improve handling of HTTP/2 PUSH, disable it by default (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] improve handling of HTTP/2 PUSH, disable it by default

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

This follows discussions with @dunglas
For the test cases, https://http2-push.io is down, let's use Akamai instead

This PR now considers the proxy settings before accepting a pushed response.
It also splits the responsibility of dealing with accepting pushed responses in method `acceptPushForRequest`.

The logic in this method could also be delegated to a userland callback passed as an option. Let's wait for someone with an actual use case before adding the option.

This PR also disables HTTP/2 PUSH by default because it is not stable: locally, with the latest curl version, enabling this on a server that pushes things fails with `Failure when receiving data from the peer`. This is not ready for prime time in either ext-curl or the underlying libcurl. You can still enable it explicitly by passing some positive number to the constructor.

Commits
-------

019bce7230 [HttpClient] improve handling of HTTP/2 PUSH
2019-09-03 21:47:20 +02:00
Nicolas Grekas
84fec703c8 minor #33447 [DI] fix failure (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] fix failure

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

Commits
-------

3b40cb19a2 [DI] fix failure
2019-09-03 21:14:56 +02:00
Nicolas Grekas
3b40cb19a2 [DI] fix failure 2019-09-03 21:14:00 +02:00
Fabien Potencier
33c02aedec minor #33434 [Validator] Add ConstraintValidator::formatValue() tests (fancyweb)
This PR was squashed before being merged into the 3.4 branch (closes #33434).

Discussion
----------

[Validator] Add ConstraintValidator::formatValue() tests

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

So https://github.com/symfony/symfony/pull/33401 tests can be built on top of this.

Commits
-------

b688aa31ec [Validator] Add ConstraintValidator::formatValue() tests
2019-09-03 18:24:41 +02:00
Thomas Calvet
b688aa31ec [Validator] Add ConstraintValidator::formatValue() tests 2019-09-03 18:24:34 +02:00
Fabien Potencier
c0f4037769 bug #33435 [Validator] Only handle numeric values in DivisibleBy (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[Validator] Only handle numeric values in DivisibleBy

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

Currently it probably breaks because `abs` throws a notice on objects.

Commits
-------

f974add66a [Validator] Only handle numeric values in DivisibleBy
2019-09-03 18:22:42 +02:00
Fabien Potencier
bb3652a37c feature #33327 [ErrorHandler] Registering basic exception handler for late failures (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] Registering basic exception handler for late failures

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

Follow-up https://github.com/symfony/symfony/pull/33260 but when all handlers fail.

It'll becomes common since 4.4 where the user has control over the error rendering mechanism. If they make a mistake, we have a support page to show it, currently a blank page is displayed.

Commits
-------

ffab734615 registering basic exception handler for late failures
2019-09-03 18:17:34 +02:00
Fabien Potencier
8798c87def bug #33437 Fix #33427 (sylfabre)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix #33427

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

Fix #33427 by checking if the message returned by the intl-icu catalog is empty. If yes then the translator returns an empty string instead of running `formatIntl()` which uses the constructor of `MessageFormatter` which throws an exception with empty strings.

Commits
-------

414dcebfc4 Fix #33427
2019-09-03 18:15:52 +02:00
Nicolas Grekas
019bce7230 [HttpClient] improve handling of HTTP/2 PUSH 2019-09-03 17:44:22 +02:00
Sylvain
414dcebfc4 Fix #33427 2019-09-03 17:39:16 +02:00
Yonel Ceruto
9690562410 minor #33329 [Translator] Nullable message id? (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translator] Nullable message id?

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

610a4e978f/src/Symfony/Component/Translation/DataCollectorTranslator.php (L144)

The message id shouldn't be `null`, but it's breaking the current code now. Shouldn't we first deprecate of passing `null` even if it's well documented?

Out there can be a lot of `->trans($var)` and `var|trans()` (like the current ones fixed here) that will break without previous warning.

WDTY?

Commits
-------

55eac63 Nullable message id?
2019-09-03 08:21:30 -04:00
Yonel Ceruto
55eac639c5 Nullable message id? 2019-09-03 08:18:35 -04:00
Thomas Calvet
f974add66a [Validator] Only handle numeric values in DivisibleBy 2019-09-03 11:18:02 +02:00
Thomas Calvet
28d7d9444f [Validator] Sync string to date behavior and throw a better exception 2019-09-03 11:01:58 +02:00
Fabien Potencier
4ee3c6bd6a bug #33436 [DI] fix support for "!tagged_locator foo" (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] fix support for "!tagged_locator foo"

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

Spotted during the workshop at WebSummerCamp

Commits
-------

a9f75692c9 [DI] fix support for "!tagged_locator foo"
2019-09-03 06:48:04 +02:00
Fabien Potencier
e69336feed minor #33433 [Mailer] Add a more precise exception (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Add a more precise exception

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

<!--
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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

561f9b7345 [Mailer] Add a more precise exception
2019-09-03 06:41:01 +02:00
Yonel Ceruto
b79532ab0e Add ErrorController to preview and render errors 2019-09-02 17:02:21 -04:00
Yonel Ceruto
ffab734615 registering basic exception handler for late failures 2019-09-02 15:55:59 -04:00
Nicolas Grekas
959eb56488 Merge branch '4.3' into 4.4
* 4.3:
  fix merge
2019-09-02 21:50:03 +02:00
Nicolas Grekas
d26a6568b3 fix merge 2019-09-02 21:49:51 +02:00
Nicolas Grekas
5d4a3a16e0 Merge branch '4.3' into 4.4
* 4.3:
  fix merge
2019-09-02 20:43:07 +02:00
Nicolas Grekas
af474ab97e fix merge 2019-09-02 20:42:57 +02:00
Nicolas Grekas
cf507a6728 Merge branch '4.3' into 4.4
* 4.3:
  [Bridge/PhpUnit] fix looking for composer
  cs fix
2019-09-02 20:34:52 +02:00
Nicolas Grekas
a9f75692c9 [DI] fix support for "!tagged_locator foo" 2019-09-02 19:38:36 +02:00
Nicolas Grekas
61dad16c9d cs fix 2019-09-02 18:03:34 +02:00
Fabien Potencier
561f9b7345 [Mailer] Add a more precise exception 2019-09-02 17:59:15 +02:00
Fabien Potencier
cf57ca81ee Merge branch '4.3' into 4.4
* 4.3:
  [Mailer] fixed Mailgun support when a response is not JSON as expected
2019-09-02 17:26:08 +02:00
Fabien Potencier
ca16f5278e bug #33432 [Mailer] Fix Mailgun support when a response is not JSON as expected (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] Fix Mailgun support when a response is not JSON as expected

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

Sometimes, like when getting a 401, the Mailgun API does not respond with JSON :(

Commits
-------

3b2db425f6 [Mailer] fixed Mailgun support when a response is not JSON as expected
2019-09-02 17:24:05 +02:00
Fabien Potencier
3b2db425f6 [Mailer] fixed Mailgun support when a response is not JSON as expected 2019-09-02 17:20:17 +02:00
Nicolas Grekas
2ba3cc0aba [ErrorHandler][Bridge/PhpUnit] display deprecations for not-autoloaded classes 2019-09-02 17:01:21 +02:00
Nicolas Grekas
727aa7ed9e Merge branch '4.3' into 4.4
* 4.3:
  [4.3] Cleanup tests
  Cleanup tests
  [Finder] Prevent unintentional file locks in Windows
  [FrameworkBundle] Fix about command not showing .env vars
  [DomCrawler] Fix FileFormField PHPDoc
  [Mailer] Remove the default dispatcher in AbstractTransport
  Fix #33395 PHP 5.3 compatibility
2019-09-02 16:51:55 +02:00
Nicolas Grekas
d05e49797c [4.3] Cleanup tests 2019-09-02 16:45:56 +02:00
Nicolas Grekas
d423b0f473 Merge branch '3.4' into 4.3
* 3.4:
  Cleanup tests
  [Finder] Prevent unintentional file locks in Windows
  [DomCrawler] Fix FileFormField PHPDoc
  Fix #33395 PHP 5.3 compatibility
2019-09-02 16:41:27 +02:00
Fabien Potencier
e15df84313 [Mailer] fixed wrong behavior 2019-09-02 16:39:38 +02:00
Nicolas Grekas
33e466577f minor #33428 Cleanup tests (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Cleanup tests

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

Commits
-------

a461943345 Cleanup tests
2019-09-02 16:39:16 +02:00
Nicolas Grekas
a461943345 Cleanup tests 2019-09-02 16:34:19 +02:00
Fabien Potencier
9e0640a281 [Mailer] fixed previous merge 2019-09-02 16:31:12 +02:00
Fabien Potencier
2ad7f97568 feature #33409 [Mailer] Add support for multiple mailers (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Add support for multiple mailers

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

This adds the possibility to define several email transports.

If you only have one email transport,  nothing changes:

```yaml
framework:
    mailer:
        dsn: '%env(MAILER_DSN)%'
```

But if you need more than one, use the `transports` entry instead:

```yaml
framework:
    mailer:
        transports:
            main: '%env(MAILER_DSN)%'
            important: '%env(MAILER_DSN_IMPORTANT)%'
```

Then, when sending an email via the `Mailer`, pass the mailer name explicitly (by default, the first one is used):

```php
// use the first "main" transport
$mailer->send($email);

// or use the "important" one (`null` is the envelope)
$mailer->send($email, null, 'important');
```

The web profiler now displays the name and the shorten DSN.

Commits
-------

de5fae4dd8 [Mailer] Add support for multiple mailers
2019-09-02 16:12:44 +02:00
Fabien Potencier
469c989697 [Mailer] Change the DSN semantics 2019-09-02 15:50:44 +02:00
Fabien Potencier
de5fae4dd8 [Mailer] Add support for multiple mailers 2019-09-02 12:19:09 +02:00
Fabien Potencier
5b7bba9ef3 [Mailer] Renamed getName() to toString() 2019-09-02 11:41:25 +02:00
Joe Springe
997cc5c3f0 [Finder] Prevent unintentional file locks in Windows 2019-09-01 23:32:23 +02:00
dFayet
a5b46e5390 Fix routing cache broken when using generator_class 2019-09-01 21:32:32 +02:00
Ruben Jacobs
f705ac9dc4 [HttpClient] Allow enabling buffering conditionally with a Closure 2019-09-01 16:50:09 +02:00
Robin Chalas
b9f8c7bbf9 bug #33376 [Mailer] Remove the default dispatcher in AbstractTransport (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] Remove the default dispatcher in AbstractTransport

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

Creating a default event dispatcher does not make sense as nobody can listen on it.

Commits
-------

55d6a65df9 [Mailer] Remove the default dispatcher in AbstractTransport
2019-08-31 06:21:39 +02:00
Fabien Potencier
71a8ecbfd6 minor #33289 [DomCrawler] Fix FileFormField PHPDoc (dunglas)
This PR was squashed before being merged into the 3.4 branch (closes #33289).

Discussion
----------

[DomCrawler] Fix FileFormField PHPDoc

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

`null` is a valid value, it is used in case of errors. Then the parent class must allow `null` values too. I think it's important regarding the ongoing process of adding typehints everywhere.

Commits
-------

162bfc3cad [DomCrawler] Fix FileFormField PHPDoc
2019-08-30 19:42:32 +02:00
Kévin Dunglas
162bfc3cad [DomCrawler] Fix FileFormField PHPDoc 2019-08-30 19:42:23 +02:00
Fabien Potencier
55d6a65df9 [Mailer] Remove the default dispatcher in AbstractTransport 2019-08-30 19:29:56 +02:00
Nicolas Grekas
9ea05b1601 Merge branch '4.3' into 4.4
* 4.3:
  [Console] allow Command::getName() to return null
2019-08-30 14:54:56 +02:00
Nicolas Grekas
8c0f54ba21 Merge branch '3.4' into 4.3
* 3.4:
  [Console] allow Command::getName() to return null
2019-08-30 14:54:44 +02:00
Nicolas Grekas
22ed6247fa Merge branch '4.3' into 4.4
* 4.3:
  [Routing] fix static route reordering when a previous dynamic route conflicts
  Return null as Expire header if it was set to null
  bug #33370 Fix import statement typo in NullCache (adrienbrault)
  [ProxyManager] remove ProxiedMethodReturnExpression polyfill
  fix dumping not inlined scalar tag values
2019-08-30 14:49:06 +02:00
Nicolas Grekas
247815d21c Merge branch '3.4' into 4.3
* 3.4:
  Return null as Expire header if it was set to null
  [ProxyManager] remove ProxiedMethodReturnExpression polyfill
  fix dumping not inlined scalar tag values
2019-08-30 14:41:22 +02:00
Nicolas Grekas
4b66beed75 bug #33363 [Routing] fix static route reordering when a previous dynamic route conflicts (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Routing] fix static route reordering when a previous dynamic route conflicts

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

Spotted while playing with the code.
I confirm the test case is green on 3.4 too (but route reordering didn't exist then.)

Commits
-------

cba3b6245a [Routing] fix static route reordering when a previous dynamic route conflicts
2019-08-30 14:41:04 +02:00
Nicolas Grekas
cba3b6245a [Routing] fix static route reordering when a previous dynamic route conflicts 2019-08-30 14:38:42 +02:00
Robin Chalas
720ffd869e bug #33385 [Console] allow Command::getName() to return null (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] allow Command::getName() to return null

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

As reported on 4510f04e70 (commitcomment-34845639)

Commits
-------

59ad6c29d1 [Console] allow Command::getName() to return null
2019-08-29 18:31:21 +02:00
Nicolas Grekas
bff95742eb bug #33353 Return null as Expire header if it was set to null (danrot)
This PR was squashed before being merged into the 3.4 branch (closes #33353).

Discussion
----------

Return null as Expire header if it was set to null

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

This PR fixes a regression introduces in #33332. If you set the `Expires` header to null when creating a `Response`, the `getExpires` function returned a date instead of null.

```php
$response = new Response(null, 200, ['Expires' => null]);
$response->getExpires(); // Returns a date currently, but should return null
```

See also [the comment](https://github.com/symfony/symfony/pull/33332#discussion_r317934607) in the PR introducing this regression.

Commits
-------

5e3c7ea452 Return null as Expire header if it was set to null
2019-08-29 18:18:10 +02:00
Daniel Rotter
5e3c7ea452 Return null as Expire header if it was set to null 2019-08-29 18:18:03 +02:00
Nicolas Grekas
59ad6c29d1 [Console] allow Command::getName() to return null 2019-08-29 18:09:35 +02:00
Fabien Potencier
92ac848c57 bug #33370 Fix import statement typo in NullCache (adrienbrault)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix import statement typo in NullCache

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

Commits
-------

0a3bb6d05a Fix import statement typo in NullCache
2019-08-29 17:35:09 +02:00
Christian Flothmann
390f4f4329 fix dumping not inlined scalar tag values 2019-08-29 10:16:36 +02:00
Adrien Brault
0a3bb6d05a
Fix import statement typo in NullCache 2019-08-28 12:39:31 +02:00
Nicolas Grekas
a2f46664a7 Merge branch '4.3' into 4.4
* 4.3:
  bumped Symfony version to 4.3.5
  Sort components on CI
  fix parameter type declaration and make fabbot happy
  Upgraded CI Composer
  updated VERSION for 4.3.4
  updated CHANGELOG for 4.3.4
  bumped Symfony version to 3.4.32
  updated VERSION for 3.4.31
  update CONTRIBUTORS for 3.4.31
  updated CHANGELOG for 3.4.31
2019-08-27 09:26:16 +02:00
Nicolas Grekas
28f4c09e2d Merge branch '3.4' into 4.3
* 3.4:
  Sort components on CI
  fix parameter type declaration and make fabbot happy
  Upgraded CI Composer
  bumped Symfony version to 3.4.32
  updated VERSION for 3.4.31
  update CONTRIBUTORS for 3.4.31
  updated CHANGELOG for 3.4.31
2019-08-27 09:25:30 +02:00
Fabien Potencier
e1e5a4601d bumped Symfony version to 4.3.5 2019-08-27 08:04:16 +02:00
Christian Flothmann
19b292893a fix parameter type declaration and make fabbot happy 2019-08-26 22:15:52 +02:00
Fabien Potencier
c94ad9e449 updated VERSION for 4.3.4 2019-08-26 18:47:42 +02:00
Fabien Potencier
afe2f0c511 bumped Symfony version to 3.4.32 2019-08-26 18:46:48 +02:00
Fabien Potencier
d92fb4e8ba updated VERSION for 3.4.31 2019-08-26 18:36:29 +02:00
Nicolas Grekas
c1bca297cf Merge branch '4.3' into 4.4
* 4.3:
  [DependencyInjection] Fixed the `getServiceIds` implementation to always return aliases
  [Messenger] Stop worker when it should stop
2019-08-26 18:27:46 +02:00
Nicolas Grekas
43e1c8eccf Merge branch '3.4' into 4.3
* 3.4:
  [DependencyInjection] Fixed the `getServiceIds` implementation to always return aliases
2019-08-26 18:27:33 +02:00
Fabien Potencier
a5d776d51d bug #33335 [DependencyInjection] Fixed the getServiceIds implementation to always return aliases (pdommelen)
This PR was squashed before being merged into the 3.4 branch (closes #33335).

Discussion
----------

[DependencyInjection] Fixed the `getServiceIds` implementation to always return aliases

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

Changed the getServiceIds implementation in the Container base class to include aliases. Modified existing tests. Added test which uses the PhpDumper.
Fixes https://github.com/symfony/symfony/issues/33307

Without this patch the implementations of the container are inconsistent in whether or not they return aliases (see issue). Fixing this could be considered a BC break for the affected Container class.

As an alternative to keep the behaviour in Container unchanged, the dumped container could be patched instead. And then only apply this version of the patch to master. This however keeps the inconsistency between Container and ContainerBuilder.

Commits
-------

834d5cbce2 [DependencyInjection] Fixed the `getServiceIds` implementation to always return aliases
2019-08-26 18:07:57 +02:00
pdommelen
834d5cbce2 [DependencyInjection] Fixed the getServiceIds implementation to always return aliases 2019-08-26 18:07:49 +02:00
Nicolas Grekas
0abd2712e9 [ErrorHandler] make DebugClassLoader turn multi-types declarations to "object" 2019-08-26 18:02:12 +02:00
Fabien Potencier
113fa0bc50 bug #33298 [Messenger] Stop worker when it should stop (tienvx)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Stop worker when it should stop

| Q             | A
| ------------- | ---
| Branch?       | 4.3 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | NA   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | NA <!-- 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

There are 2 things about this PR:
* This PR fix the bug when using `limit`, `memory-limit`, `time-limit` options with command `messenger:consume`, these options does not work if the receiver return multiple messages
* This PR is the continue work of https://github.com/symfony/symfony/pull/32783

Commits
-------

5c1f3a2414 [Messenger] Stop worker when it should stop
2019-08-26 17:58:46 +02:00
Nicolas Grekas
6dd9d24e50 minor #33236 Add return-types with help from DebugClassLoader in the CI (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Add return-types with help from DebugClassLoader in the CI

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

I've spent a great deal of time on this PR, experimenting with adding return types to the codebase.

TL;DR: my conclusion is that we cannot make it for 5.0.

There are two reasons for this:
1. The burden this will put on the community is immense, especially when considering that third party libs must also be updated for any apps to work at all on a return-typed 5.0. Symfony must add them last, not first.
2. We need return type covariance, yet this won't be available before PHP 7.4, while 5.0 supports 7.2.

What's attached?
- ~a draft patching logic in `DebugClassLoader` to add return-type where it discovers this should be done~
- return types added automatically thanks to #33283
- ~manual fixes for situations not handled (yet, if possible at all) by that logic in `DebugClassLoader`~ #33332

What's achieved? Tests are green \o/

At this stage, I think we have to acknowledge we won't add return-types in 5.0 but prepare a serious plan to add them in 6.0.

This plan could be:
- [x] make DebugClassLoader able to automate adding return types.
- [x] in 4.4: add all possible return types that don't break BC, e.g. in `Tests` and in generated code
- [x] spot and fix places where annotations aren't accurate, add more annotations where possible.
- [x] ensure `DebugClassLoader` triggers the best possible deprecations that encourage ppl to add return-types in their libs/apps. This means we could decide to disable the current ones (see #33235) and to re-enable them in 5.1. This will also give us the time to fine-tune the tooling (item 1. on this list)

Ideally, we could reach a point where we could test branch 4.4 *with* return-types: we'd use the tooling to add them automatically in the CI job, then we'd run tests and they should be green. Let's do this?

Help Wanted, here is how:

*With PHP 7.4*, run `php .github/patch-types.php`. This will add return types everywhere possible.

Then run tests, e.g. `./phpunit src/Symfony/Component/HttpFoundation --exclude-group legacy,issue-32995`

Here are the components that fail with return types added, please help me check them all with a PR on [my fork](https://github.com/nicolas-grekas/symfony/tree/eh-return-types):
 - [x] src/Symfony/Bridge/Doctrine
 - [x] src/Symfony/Bridge/Monolog
 - [x] src/Symfony/Bridge/PhpUnit
 - [x] src/Symfony/Bridge/ProxyManager
 - [x] src/Symfony/Bridge/Twig
 - [x] src/Symfony/Bundle/DebugBundle
 - [x] src/Symfony/Bundle/FrameworkBundle
 - [x] src/Symfony/Bundle/SecurityBundle
 - [x] src/Symfony/Bundle/TwigBundle
 - [x] src/Symfony/Bundle/WebProfilerBundle
 - [x] src/Symfony/Bundle/WebServerBundle
 - [x] src/Symfony/Component/Asset
 - [x] src/Symfony/Component/BrowserKit
 - [x] src/Symfony/Component/Cache
 - [x] https://github.com/nicolas-grekas/symfony/pull/28 src/Symfony/Component/Config
 - [x] src/Symfony/Component/Console
 - [x] src/Symfony/Component/CssSelector
 - [x] src/Symfony/Component/Debug
 - [x] https://github.com/nicolas-grekas/symfony/pull/28 src/Symfony/Component/DependencyInjection
 - [x] src/Symfony/Component/DomCrawler
 - [x] src/Symfony/Component/Dotenv
 - [x] src/Symfony/Component/ErrorHandler
 - [x] src/Symfony/Component/ErrorRenderer
 - [x] https://github.com/nicolas-grekas/symfony/pull/24 src/Symfony/Component/EventDispatcher
 - [x] src/Symfony/Component/ExpressionLanguage
 - [x] src/Symfony/Component/Filesystem
 - [x] src/Symfony/Component/Finder
 - [x] src/Symfony/Component/Form
 - [x] src/Symfony/Component/HttpClient
 - [x] src/Symfony/Component/HttpFoundation
 - [x] src/Symfony/Component/HttpKernel
 - [x] src/Symfony/Component/Inflector
 - [x] src/Symfony/Component/Intl
 - [x] src/Symfony/Component/Ldap
 - [x] src/Symfony/Component/Lock
 - [x] src/Symfony/Component/Mailer
 - [x] src/Symfony/Component/Messenger
 - [x] src/Symfony/Component/Mime
 - [x] src/Symfony/Component/OptionsResolver
 - [x] src/Symfony/Component/Process
 - [x] src/Symfony/Component/PropertyAccess
 - [x] src/Symfony/Component/PropertyInfo
 - [x] https://github.com/nicolas-grekas/symfony/pull/25 src/Symfony/Component/Routing
 - [x] https://github.com/nicolas-grekas/symfony/pull/26 src/Symfony/Component/Security
 - [x] src/Symfony/Component/Security/Core
 - [x] src/Symfony/Component/Security/Guard
 - [x] src/Symfony/Component/Security/Http
 - [x] https://github.com/nicolas-grekas/symfony/pull/29 src/Symfony/Component/Serializer
 - [x] src/Symfony/Component/Security/Csrf
 - [x] src/Symfony/Component/Stopwatch
 - [x] src/Symfony/Component/Templating
 - [x] https://github.com/nicolas-grekas/symfony/pull/27 src/Symfony/Component/Translation
 - [x] src/Symfony/Component/Validator
 - [x] src/Symfony/Component/VarDumper
 - [x] src/Symfony/Component/VarExporter
 - [x] src/Symfony/Component/WebLink
 - [x] src/Symfony/Component/Workflow
 - [x] src/Symfony/Component/Yaml
 - [x] src/Symfony/Contracts

Commits
-------

11149a1fbb Add return-types with help from DebugClassLoader in the CI
2019-08-26 15:38:09 +02:00
Nicolas Grekas
11149a1fbb Add return-types with help from DebugClassLoader in the CI 2019-08-26 15:31:28 +02:00
Yonel Ceruto
db9549d775 minor #33336 [HttpKernel] do not mock removed getPublicDir() method (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] do not mock removed getPublicDir() method

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

Commits
-------

54cb471 do not mock removed getPublicDir() method
2019-08-26 09:25:46 -04:00
Christian Flothmann
54cb4713b2 do not mock removed getPublicDir() method 2019-08-26 15:05:55 +02:00
Nicolas Grekas
72f6a970fc [ErrorHandler] make DebugClassLoader able to add return type declarations 2019-08-26 11:53:50 +02:00
Nicolas Grekas
123fc624e5 Merge branch '4.3' into 4.4
* 4.3:
  fix merge
  fix merge
2019-08-26 11:32:48 +02:00
Nicolas Grekas
97832ec5cd fix merge 2019-08-26 11:28:48 +02:00
Nicolas Grekas
5a6558b7fa fix merge 2019-08-26 11:20:32 +02:00
Nicolas Grekas
089097046b Merge branch '4.3' into 4.4
* 4.3: (23 commits)
  fix merge
  [SecurityBundle] fix return type declarations
  [BrowserKit] fix return type declarations
  [PropertyInfo] fix return type declarations
  [Bridge/Doctrine] fix return type declarations
  [Form] fix return type declarations
  [Console] fix return type declarations
  [Intl] fix return type declarations
  [Templating] fix return type declarations
  [DomCrawler] fix return type declarations
  [Validator] fix return type declarations
  [Process] fix return type declarations
  [Workflow] fix return type declarations
  [Cache] fix return type declarations
  [Serializer] fix return type declarations
  [Translation] fix return type declarations
  [DI] fix return type declarations
  [Config] fix return type declarations
  [HttpKernel] Fix return type declarations
  [Security] Fix return type declarations
  ...
2019-08-26 11:00:56 +02:00
Nicolas Grekas
9e154e7728 fix merge 2019-08-26 10:55:16 +02:00
Nicolas Grekas
74b2802197 Merge branch '3.4' into 4.3
* 3.4: (21 commits)
  [SecurityBundle] fix return type declarations
  [BrowserKit] fix return type declarations
  [PropertyInfo] fix return type declarations
  [Bridge/Doctrine] fix return type declarations
  [Form] fix return type declarations
  [Console] fix return type declarations
  [Intl] fix return type declarations
  [Templating] fix return type declarations
  [DomCrawler] fix return type declarations
  [Validator] fix return type declarations
  [Process] fix return type declarations
  [Workflow] fix return type declarations
  [Cache] fix return type declarations
  [Serializer] fix return type declarations
  [Translation] fix return type declarations
  [DI] fix return type declarations
  [Config] fix return type declarations
  [HttpKernel] Fix return type declarations
  [Security] Fix return type declarations
  [Routing] Fix return type declarations
  ...
2019-08-26 10:26:39 +02:00
Nicolas Grekas
c1d7a88b57 [BrowserKit] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
07405e2c60 [PropertyInfo] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
8706f18ea8 [Form] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
a32a713045 [Console] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
523e9b9feb [Intl] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
73f504c94a [Templating] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
2b8ef1d6d7 [DomCrawler] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
2ea98bb4a1 [Validator] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
6af0c80342 [Process] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
28646c7f9b [Workflow] fix return type declarations 2019-08-26 09:52:58 +02:00
Nicolas Grekas
5f9aaa743c [Cache] fix return type declarations 2019-08-26 09:52:58 +02:00
Alexander M. Turek
5072cfc7f8 [Serializer] fix return type declarations 2019-08-26 09:52:58 +02:00
Alexander M. Turek
70feaa407e [Translation] fix return type declarations 2019-08-26 09:52:58 +02:00
Alexander M. Turek
ca1fad471e [DI] fix return type declarations 2019-08-26 09:52:58 +02:00
Alexander M. Turek
9c63be489e [Config] fix return type declarations 2019-08-26 09:52:57 +02:00
Nicolas Grekas
05fe553666 [HttpKernel] Fix return type declarations 2019-08-26 09:50:50 +02:00
Alexander M. Turek
e0d79f71ed [Security] Fix return type declarations 2019-08-26 09:50:50 +02:00
Alexander M. Turek
c1b7118d7c [Routing] Fix return type declarations 2019-08-26 09:50:50 +02:00
Nicolas Grekas
ef5ead0005 [HttpFoundation] fix return type declarations 2019-08-26 09:50:50 +02:00
Fabien Potencier
610a4e978f feature #33308 [SecurityGuard] Deprecate returning non-boolean values from checkCredentials() (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[SecurityGuard] Deprecate returning non-boolean values from checkCredentials()

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

This PR suggests to deprecate implementations of `Symfony\Component\Security\Guard\AuthenticatorInterface::checkCredentials()` that return non-boolean values. This will allow us to add `bool` as return type declaration in the future.

https://github.com/nicolas-grekas/symfony/pull/26#discussion_r317084918

/cc @nicolas-grekas @weaverryan

Commits
-------

a0ca3afeca Deprecate returning non-boolean values from checkCredentials().
2019-08-25 08:59:38 +02:00
Yonel Ceruto
96a81bd7ad Fix closing tag in logs table 2019-08-24 19:32:44 -04:00
Kévin Dunglas
a414c0323a
[DomCrawler] Fix @throws 2019-08-24 00:39:04 +02:00
Alexander M. Turek
a0ca3afeca Deprecate returning non-boolean values from checkCredentials(). 2019-08-23 20:43:33 +02:00
Jérémy Romey
51640012f1 [HttpClient] Added TraceableHttpClient and WebProfiler panel
Co-authored-by: Jérémy Romey <jeremy@free-agent.fr>
Co-authored-by: Timothée Barray <tim@amicalement-web.net>
2019-08-23 19:16:53 +02:00
Nicolas Grekas
65d942010c Add more return types after fixing a typo in my script 2019-08-23 14:16:45 +02:00
Nicolas Grekas
3456446de5 fix merge 2019-08-23 13:11:38 +02:00
Nicolas Grekas
50bdb42c1a Merge branch '4.3' into 4.4
* 4.3:
  Fix mocks for ImmutableEventDispatcher.
2019-08-23 13:09:49 +02:00
Nicolas Grekas
94bd4023eb Merge branch '3.4' into 4.3
* 3.4:
  Fix mocks for ImmutableEventDispatcher.
2019-08-23 13:09:44 +02:00
Robin Chalas
5dd6468ec1 [Debug] Remove superfluous deprecation notice 2019-08-23 12:15:49 +02:00
Nicolas Grekas
5255ab89d2 minor #33300 Add missing return annotations on magic methods (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Add missing return annotations on magic methods

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

My script had a bug, spotted by reviewing #33267
These annotations express our intention to add real return types in a future major release (likely v6)

Commits
-------

10983fcb17 Add missing return annotations on magic methods
2019-08-23 11:57:17 +02:00
Nicolas Grekas
10983fcb17 Add missing return annotations on magic methods 2019-08-23 10:37:16 +02:00
Alexander M. Turek
874aaea75f Fix mocks for ImmutableEventDispatcher. 2019-08-23 10:05:57 +02:00
tien.xuan.vo
5c1f3a2414 [Messenger] Stop worker when it should stop 2019-08-23 13:45:45 +07:00
Thomas Calvet
a981fc3b50 [OptionsResolver] Display full nested options hierarchy in exceptions 2019-08-23 08:29:55 +02:00
Nicolas Grekas
ba784bf430 Merge branch '4.3' into 4.4
* 4.3:
  Revert "bug #31620 [FrameworkBundle] Inform the user when save_path will be ignored (gnat42)"
  [Form][PropertyPathMapper] Avoid extra call to get config
  [HttpKernel] remove unused fixtures
2019-08-22 18:30:04 +02:00
Nicolas Grekas
aeba22c4ad Merge branch '3.4' into 4.3
* 3.4:
  Revert "bug #31620 [FrameworkBundle] Inform the user when save_path will be ignored (gnat42)"
  [Form][PropertyPathMapper] Avoid extra call to get config
2019-08-22 18:29:54 +02:00
Nicolas Grekas
e91ae8bdad minor #33287 [HttpKernel] remove unused fixtures (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpKernel] remove unused fixtures

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

those are remnants of bundle inheritance that has been removed in sf 4

Commits
-------

5ffec16396 [HttpKernel] remove unused fixtures
2019-08-22 18:25:57 +02:00
Nicolas Grekas
118dfa03b9 minor #33291 [Form][PropertyPathMapper] Avoid extra call to get config (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form][PropertyPathMapper] Avoid extra call to get config

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

Commits
-------

3e2aada2d8 [Form][PropertyPathMapper] Avoid extra call to get config
2019-08-22 18:22:06 +02:00
Nicolas Grekas
47322db110 minor #33294 Add return types to internal & magic methods when possible (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Add return types to internal & magic methods when possible

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

Commits
-------

962dcfeed0 Add return types to internal & magic methods when possible
2019-08-22 15:37:25 +02:00
Nicolas Grekas
962dcfeed0 Add return types to internal & magic methods when possible 2019-08-22 15:18:41 +02:00
David Badura
e6ce9b560c display real handler if handler is wrapped 2019-08-22 15:10:44 +02:00
Fabien Potencier
3051c59eff fixed CSC 2019-08-22 11:15:28 +02:00
Fabien Potencier
8c2e128a1a feature #33091 [Mime] Add Address::fromString (gisostallenberg)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] Add Address::fromString

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

This will allow to create a Address from a string such as 'Name <name@example.com>'
Example:
```php
$address = Address::fromString("Name <name@example.com>");
```

Commits
-------

75ea8d0d67 Add Address::fromString
2019-08-22 11:13:11 +02:00
Giso Stallenberg
75ea8d0d67 Add Address::fromString
This will allow to create an Address from a string such as 'Name <name@example.com>'
2019-08-22 11:10:30 +02:00
Grégoire Pineau
9535f9e8d6 [DomCrawler] Added Crawler::matches(), ::closest(), ::outerHtml() 2019-08-22 10:52:44 +02:00
Nicolas Grekas
1981f06c88 Merge branch '4.3' into 4.4
* 4.3:
  fix deps=low
  [VarExporter] fix support for PHP 7.4
  Use PHP 7.4 on deps=low
2019-08-22 10:37:03 +02:00
Nicolas Grekas
0a25ccab8e fix deps=low 2019-08-22 10:16:11 +02:00
Nicolas Grekas
3979caf6ab Merge branch '3.4' into 4.3
* 3.4:
  Use PHP 7.4 on deps=low
2019-08-22 09:51:06 +02:00
Nicolas Grekas
1a036dc9ff [VarExporter] fix support for PHP 7.4 2019-08-22 09:33:08 +02:00
Thomas Calvet
3e2aada2d8 [Form][PropertyPathMapper] Avoid extra call to get config 2019-08-22 09:15:31 +02:00
Nicolas Grekas
21b87024f0 Use PHP 7.4 on deps=low 2019-08-22 08:53:14 +02:00
Tobias Schultze
5ffec16396 [HttpKernel] remove unused fixtures
those are remnants of bundle inheritance that has been removed in sf 4
2019-08-21 20:13:34 +02:00
Nicolas Grekas
153e081119 ws fix 2019-08-21 17:53:07 +02:00
Nicolas Grekas
f2e2df6a0c feature #33152 Mark all dispatched event classes as final (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

Mark all dispatched event classes as final

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

I think we should mark all our Event classes as final. There is no point in people extending them as the libraries that use the event, will only dispatch this event. So extending events in user-land achieves nothing as the subclasses won't be dispatched.
I'm not talking about the base events that are meant to be extended like KernelEvent, but the leaf events like ExceptionEvent, ResponseEvent etc.
Then we can also make them real final in 5.0 as the events are value objects that should not be mocked.

Commits
-------

4bb38eec89 Mark all dispatched event classes as final
2019-08-21 17:50:31 +02:00
Nicolas Grekas
2fff132cbb typo 2019-08-21 17:39:13 +02:00
Tobias Schultze
4bb38eec89 Mark all dispatched event classes as final 2019-08-21 17:17:54 +02:00
Alexander M. Turek
c39fd9c973 Fixed tests on the Security and Form components 2019-08-21 17:17:31 +02:00
Nicolas Grekas
fc186bb78f Add return types to tests and final|internal|private methods 2019-08-21 17:14:41 +02:00
Nicolas Grekas
8d8d3d4d40 minor #33280 fix deprecated call to setLocale with null (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

fix deprecated call to setLocale with null

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

Fix a potentially invalid call since #33272

Commits
-------

26f9afe8d1 fix deprecated call to setLocale with null
2019-08-21 17:06:06 +02:00
Nicolas Grekas
f499083f78 feature #33258 [HttpKernel] deprecate global dir to load resources from (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] deprecate global dir to load resources from

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

Replaces #31958

Here two example deprecations by adding files in the deprecated locations:
```
Overwriting the resource "@AcmeBundle/Resources/config/routing.yaml" with "/vagrant/src/Resources/AcmeBundle/config/routing.yaml" is deprecated since Symfony 4.4 and will be removed in 5.0.
Loading the file "foobar.yaml" from the global resource directory "/vagrant/src" is deprecated since Symfony 4.4 and will be removed in 5.0.
```

Commits
-------

aa82566f76 [HttpKernel] deprecate global dir to load resources from
2019-08-21 17:04:54 +02:00
Nicolas Grekas
2984ab7e4e Merge branch '4.3' into 4.4
* 4.3:
  Do not extend the new SF 4.3 ControllerEvent so we can make it final
  Backported return type violation bugfixes.
  [FrameworkBundle] Fix BrowserKit assertions to make them compatible with Panther
2019-08-21 17:03:51 +02:00
Nicolas Grekas
dd153d8dce bug #33282 [HttpKernel] Do not extend the new SF 4.3 ControllerEvent so we can make it final (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpKernel] Do not extend the new SF 4.3 ControllerEvent so we can make it final

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

See https://github.com/symfony/symfony/pull/33152#discussion_r313846346
Remember the ControllerEvent is new in SF 4.3 so we just go back to what it was before 4.3

Commits
-------

00140b6a7c Do not extend the new SF 4.3 ControllerEvent so we can make it final
2019-08-21 16:59:28 +02:00
Nicolas Grekas
72eaff8893 Merge branch '3.4' into 4.3
* 3.4:
  Backported return type violation bugfixes.
2019-08-21 16:58:38 +02:00
Tobias Schultze
00140b6a7c Do not extend the new SF 4.3 ControllerEvent so we can make it final 2019-08-21 16:40:57 +02:00
Alexander M. Turek
8877a013d7 Backported return type violation bugfixes. 2019-08-21 16:37:38 +02:00
Tobias Schultze
26f9afe8d1 fix deprecated call to setLocale with null 2019-08-21 15:33:13 +02:00
Kévin Dunglas
2316dc36fb
[FrameworkBundle] Fix BrowserKit assertions to make them compatible with Panther 2019-08-21 14:46:38 +02:00
Nicolas Grekas
9475b2e82d bug #33275 [Intl] make polyfill classes abstract, fix edge case (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Intl] make polyfill classes abstract, fix edge case

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

While working on return types, I keep stumbling on those classes that are `@internal`, but for which we must not add return types, because they're polyfills and are extended by stubs found in the `Resources` folder of the component.

Making the polyfills abstract fixes the linting issue.
This made me discover we have a glitch in the `getPattern()` implementation, that makes our version diverge from intl's. Fixed here too.

On 4.4 because let's not disrupt 3.4.

Commits
-------

c757b95aed [Intl] make polyfill classes abstract, fix edge case
2019-08-21 12:59:41 +02:00
Fabien Potencier
7046cac7f6 feature #33272 [Translation] deprecate support for null locales (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translation] deprecate support for null locales

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

Commits
-------

e6b6a9d33a deprecate support for null locales
2019-08-21 12:12:17 +02:00
Nicolas Grekas
c757b95aed [Intl] make polyfill classes abstract, fix edge case 2019-08-21 12:11:32 +02:00
Fabien Potencier
7aedfe7079 Merge branch '4.3' into 4.4
* 4.3:
  [Mime] Trim and remove line breaks from NamedAddress name arg
2019-08-21 10:50:18 +02:00
Fabien Potencier
58439e3166 bug #33216 [Mime] Trim and remove line breaks from NamedAddress name arg (maldoinc)
This PR was squashed before being merged into the 4.3 branch (closes #33216).

Discussion
----------

[Mime] Trim and remove line breaks from NamedAddress name arg

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

This patch trims the name argument of named address in order to avoid some cases where the name is a non-empty input consisting of whitespace and line breaks which would lead to forming of addresses such as `" " <mail@example.org>` <sup>1</sup>

---

In a large Symfony codebase that deals with sending large volumes of email we encountered an issue after the Mailer was changed from PHPMailer to the Symfony Mailer component.

The issue: Some emails would not render correctly as either plaintext or html but instead the original email source with headers and quoted-printable content would render in clients such as MS Outlook 2003, later versions of Outlook and other clients do not seem affected.

After some investigation we found that the error came from a line that looked like this: `$message->addTo(new NamedAddress($contact->getEmailCanonical(), $contact->getFullName()))`.

The `getFullName` method simply concated the first/last name with a space in between. For contacts without either, this resulted in representation 1. This causes MS Outlook 2003 (potentially Outlook 2000 as well but this was not tested) to malfunction and completely fail to render the email.

This patch aims to fix the aforementioned issue.

Commits
-------

e491e3a594 [Mime] Trim and remove line breaks from NamedAddress name arg
2019-08-21 10:46:47 +02:00
Emirald Mateli
e491e3a594 [Mime] Trim and remove line breaks from NamedAddress name arg 2019-08-21 10:46:37 +02:00
Christian Flothmann
e6b6a9d33a deprecate support for null locales 2019-08-21 10:16:47 +02:00
Fabien Potencier
eb7d74e6c5 [Mime] Remove NamedAddress 2019-08-21 09:13:01 +02:00
Fabien Potencier
5a753b1428 minor #33245 [Messenger] remove patch release BC layer of durable and expiring delay (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] remove patch release BC layer of durable and expiring delay

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

Removes the small BC layer of #33127 from 4.3 in 4.4

Commits
-------

d5aaf44529 [Messenger] remove patch release BC layer of durable and expiring delay
2019-08-21 07:11:00 +02:00
Tobias Schultze
aa82566f76 [HttpKernel] deprecate global dir to load resources from 2019-08-21 00:57:10 +02:00
Nicolas Grekas
22319a9935 minor #33264 [4.4] Add return types on internal|final|private methods (bis) (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[4.4] Add return types on internal|final|private methods (bis)

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

Found while working on #33259

`: self` is used for final methods only. I'd have preferred using `: object` but that's not possible on PHP 7.1

Commits
-------

23faee406f [4.4] Add return types on internal|final|private methods (bis)
2019-08-20 23:39:47 +02:00
Nicolas Grekas
23faee406f [4.4] Add return types on internal|final|private methods (bis) 2019-08-20 23:22:06 +02:00
Nicolas Grekas
7eb5feec51 minor #33261 Add types to routing and DI configuration traits. (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

Add types to routing and DI configuration traits.

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

This PR backports the type declarations added to the configurator traits of the Routing and DI components. These traits expose only final methods, so it should be pretty safe to add return types to them.

The only scenario I could make up where this change will break something is if a trait is used to override a method: https://3v4l.org/EAsk8 But I doubt that those traits are used that way.

On master, we've used the `object` return type for the fluent methods. That type is not available on 4.4 where we have to support php 7.1. I'm using `self` instead. Since the methods are final and thus cannot be overridden, I believe that we shouldn't run into covariance issues here, so `self` should be safe.

Commits
-------

1ca30c97e6 Add types to roting and DI configuration traits.
2019-08-20 23:07:54 +02:00
Nicolas Grekas
543e4013d0 bug #33263 [Ldap] Add missing LdapUser::setPassword() (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Add missing LdapUser::setPassword()

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

Required for password migrations.

Commits
-------

08dd4f3ae1 [Ldap] Add missing LdapUser::setPassword()
2019-08-20 23:06:27 +02:00
Nicolas Grekas
af6cf3140d Merge branch '4.3' into 4.4
* 4.3:
  More docblock fixes
  fix test
2019-08-20 23:03:47 +02:00
Nicolas Grekas
7a0787c8bd Merge branch '3.4' into 4.3
* 3.4:
  More docblock fixes
2019-08-20 23:02:25 +02:00
Robin Chalas
08dd4f3ae1 [Ldap] Add missing LdapUser::setPassword() 2019-08-20 22:58:33 +02:00
Nicolas Grekas
9b78d53d0d More docblock fixes 2019-08-20 22:53:36 +02:00
Alexander M. Turek
1ca30c97e6 Add types to roting and DI configuration traits. 2019-08-20 21:45:11 +02:00
Fabien Potencier
b7954640e3 bug #33260 [ErrorHandler] Registering basic exception handler to handle early failures (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] Registering basic exception handler to handle early failures

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

This behavior was previously handled by the removed `ExceptionHandler` class in https://github.com/symfony/symfony/pull/32637.

As this method is mainly called during Kernel boot, where nothing is yet available, the Response content is always HTML. Otherwise, If all goes well on booting, this exception handler will be replaced in `DebugHandlersListener` class:
8073b8abfb/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php (L139)

where the advanced exception handler mechanism is activated.

Commits
-------

a2077a2369 Registers basic exception handler to handle early failures
2019-08-20 21:09:10 +02:00
Yonel Ceruto
a2077a2369 Registers basic exception handler to handle early failures 2019-08-20 14:56:58 -04:00
Nicolas Grekas
8073b8abfb some backports from master 2019-08-20 18:35:28 +02:00
Nicolas Grekas
32116184d7 Add return types to internal|final|private methods 2019-08-20 17:32:53 +02:00
Nicolas Grekas
b253f25933 feature #33169 [HttpFoundation] Precalculate session expiry timestamp (azjezz)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Precalculate session expiry timestamp

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #13955, #21423, #14625
| License       | MIT

Continued work from the original PR #21423 / #21857

Commits
-------

066000afa2 [HttpFoundation] Precalculate session expiry timestamp
2019-08-20 16:51:07 +02:00
Nicolas Grekas
225bf41e3b Merge branch '4.3' into 4.4
* 4.3:
  cs fix
  Fix inconsistent return points.
  [Config] Add handling for ignored keys in ArrayNode::mergeValues.
  Fix inconsistent return points.
  [Security/Core] UserInterface::getPassword() can return null
  [Router] Fix TraceableUrlMatcher behaviour with trailing slash
  Revert "bug #33092 [DependencyInjection] Improve an exception message (fabpot)"
2019-08-20 16:44:19 +02:00
Nicolas Grekas
5ec6ff378b cs fix 2019-08-20 16:41:44 +02:00
Alexander M. Turek
c26c53596e Fix inconsistent return points. 2019-08-20 16:27:59 +02:00
Nicolas Grekas
c1e0c1b05f minor #33108 Revert "bug #33092 [DependencyInjection] Improve an exception message" (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

Revert "bug #33092 [DependencyInjection] Improve an exception message"

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

As reminded by @ro0NL in https://github.com/symfony/symfony/pull/33092#issuecomment-520138148, it looks like we forgot that `CheckDefinitionValidityPass` already checks and suggests for leading slashes.

Why didn't you get the exception from `CheckDefinitionValidityPass` @fabpot?

Commits
-------

ed590ca16b Revert "bug #33092 [DependencyInjection] Improve an exception message (fabpot)"
2019-08-20 16:12:03 +02:00
Nicolas Grekas
c3ccd2aee5 bug #33124 [Config] Add handling for ignored keys in ArrayNode::mergeValues. (Alexandre Parent)
This PR was squashed before being merged into the 4.3 branch (closes #33124).

Discussion
----------

[Config] Add handling for ignored keys in ArrayNode::mergeValues.

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

Fix case where normalized data accepting and keeping ignored keys is rejected during merge.

Commits
-------

311e1c4e9e [Config] Add handling for ignored keys in ArrayNode::mergeValues.
2019-08-20 16:11:21 +02:00
Alexandre Parent
311e1c4e9e [Config] Add handling for ignored keys in ArrayNode::mergeValues. 2019-08-20 16:11:15 +02:00
Nicolas Grekas
aefbc93a07 Merge branch '3.4' into 4.3
* 3.4:
  Fix inconsistent return points.
  [Security/Core] UserInterface::getPassword() can return null
  [Router] Fix TraceableUrlMatcher behaviour with trailing slash
2019-08-20 16:07:54 +02:00
Nicolas Grekas
9672f4c98f bug #33244 [Router] Fix TraceableUrlMatcher behaviour with trailing slash (Xavier Leune)
This PR was merged into the 3.4 branch.

Discussion
----------

[Router] Fix TraceableUrlMatcher behaviour with trailing slash

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32149
| License       | MIT
| Doc PR        | ¤
<!--
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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->
This pull requests fixes the bug #32149. This issue was about TraceableUrlMatcher having a wrong behaviour regarding trailing slashes (according to UrlMatcher and documentation).

With this pull requests, the test class TraceableUrlMatcherTest now extends UrlMatcherTest, to prevent such behaviour digression.

Thanks @nicolas-grekas for his feedback on the issue #32149

Commits
-------

fd1cb443fd [Router] Fix TraceableUrlMatcher behaviour with trailing slash
2019-08-20 15:36:35 +02:00
Nicolas Grekas
727d431bf2 minor #33257 [Security/Core] UserInterface::getPassword() can return null (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security/Core] UserInterface::getPassword() can return null

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

Our very own `User` class can return null already.

Commits
-------

00d7f8cde7 [Security/Core] UserInterface::getPassword() can return null
2019-08-20 15:35:21 +02:00
Nicolas Grekas
8069b58299 minor #33252 Fix inconsistent return points (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix inconsistent return points

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #17201 in preparation for #33228
| License       | MIT
| Doc PR        | N/A

Inconsistent return points in methods prevent adding return types. I thought, I'll give it a try and fix them. After this PR, PhpStorm's inspection still finds 39 issues, but as far as I can tell, they're either false positives or fixture code.

Commits
-------

f5b6ee9de1 Fix inconsistent return points.
2019-08-20 15:34:30 +02:00
Alexander M. Turek
f5b6ee9de1 Fix inconsistent return points. 2019-08-20 15:31:17 +02:00
Nicolas Grekas
00d7f8cde7 [Security/Core] UserInterface::getPassword() can return null 2019-08-20 15:10:28 +02:00
Nicolas Grekas
a2ef397ea3 Merge branch '4.3' into 4.4
* 4.3:
  cs fix
  cs fix
  [HttpKernel] Remove outdated docblock comment
  Fix handling for session parameters
2019-08-20 14:49:24 +02:00
Nicolas Grekas
2c1f349602 Merge branch '3.4' into 4.3
* 3.4:
  cs fix
  [HttpKernel] Remove outdated docblock comment
2019-08-20 14:49:02 +02:00
Nicolas Grekas
55a484dc20 cs fix 2019-08-20 14:35:37 +02:00
Nicolas Grekas
974b77e781 cs fix 2019-08-20 13:59:54 +02:00
Karoly Gossler
0e7bf6fb52 added Process::getLastOutputTime() method 2019-08-20 11:16:47 +02:00
Tobias Schultze
d5aaf44529 [Messenger] remove patch release BC layer of durable and expiring delay 2019-08-19 20:02:16 +02:00
Fabien Potencier
b681e935ad minor #33242 [DI] add return-types to generated containers (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] add return-types to generated containers

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

A chunk of #33236 ready for 4.4

Commits
-------

917091955c [DI] add return-types to generated containers
2019-08-19 17:58:03 +02:00
Fabien Potencier
c098374d21 bug #33239 [Ldap] Make LdapUser implement EquatableInterface (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Make LdapUser implement EquatableInterface

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

Bugfix because it is required for password migrations https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/Ldap/Security/LdapUserProvider.php#L128

Commits
-------

ae255095ea [Ldap] Make LdapUser implement EquatableInterface
2019-08-19 17:56:55 +02:00
Xavier Leune
fd1cb443fd [Router] Fix TraceableUrlMatcher behaviour with trailing slash 2019-08-19 17:56:40 +02:00
Nicolas Grekas
917091955c [DI] add return-types to generated containers 2019-08-19 16:04:49 +02:00
Mdewet
7d1fefe8b8 Typo - Fix bad classnames in Exceptions docblocks 2019-08-19 15:54:22 +02:00
Robin Chalas
ae255095ea [Ldap] Make LdapUser implement EquatableInterface 2019-08-19 14:33:50 +02:00
Fabien Potencier
ce372672d0 feature #33237 [Mailer] Remove the auth mode DSN option and support in the eSMTP transport (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Remove the auth mode DSN option and support in the eSMTP transport

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

The authentication mode can be automatically negotiated between the Mailer and the SMTP server. There is an option to force it to a given auth mode, but I don't see any valid use case. So, let's remove that feature.

Commits
-------

34cbda53c4 [Mailer] removed the auth mode DSN option and support in the eSMTP transport
2019-08-19 14:19:32 +02:00
Robin Chalas
841c0b041f [HttpKernel] Remove outdated docblock comment 2019-08-19 13:48:36 +02:00
Nicolas Grekas
034c06e181 [Mailer] conflict with symfony/sendgrid-mailer < 4.4 2019-08-19 13:44:21 +02:00
Nicolas Grekas
a0c1570915 [Mailer] fix tests 2019-08-19 13:34:47 +02:00
Nicolas Grekas
3cd20c993d Merge branch '4.3' into 4.4
* 4.3:
  [Routing] Add a param annotation for $annot.
  [DI] fix docblock
  [Console] fix docblock
  Add missing translations for Armenian locale
  [Process] Added missing return type.
  [Process] Doc block backport.
  Added doc block for Registry::supports().
  [Cache] Fix predis test
  Don't duplicate addresses in Sendgrid Transport
  Remove unnecessary statement
  Fix some docblocks.
  [Messenger] make delay exchange and queues durable like the normal ones by default
  Cancel delayed message if handler fails
  Added tests for #32370
2019-08-19 13:17:23 +02:00
Nicolas Grekas
3aa4537ef8 Merge branch '3.4' into 4.3
* 3.4:
  [Routing] Add a param annotation for $annot.
  [DI] fix docblock
  Add missing translations for Armenian locale
  [Process] Doc block backport.
  Fix some docblocks.
2019-08-19 13:14:47 +02:00
Fabien Potencier
34cbda53c4 [Mailer] removed the auth mode DSN option and support in the eSMTP transport 2019-08-19 13:04:31 +02:00
Nicolas Grekas
ca2869bdba minor #33234 [Routing] Add a param annotation for $annot (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Add a param annotation for $annot

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

This PR addresses https://github.com/symfony/symfony/pull/33191/files#r314998032

Commits
-------

5d26f4c72e [Routing] Add a param annotation for $annot.
2019-08-19 13:02:21 +02:00
Fabien Potencier
5b8c4676d0 [Mailer] simplified the way TLS/SSL/StartTls work 2019-08-19 11:19:02 +02:00
azjezz
066000afa2 [HttpFoundation] Precalculate session expiry timestamp
Co-authored-by: Benjamin Cremer <b.cremer@shopware.com>
Co-authored-by: Rob Frawley 2nd <rmf@src.run>
2019-08-19 10:02:10 +01:00
Alexander M. Turek
5d26f4c72e [Routing] Add a param annotation for $annot. 2019-08-19 11:00:11 +02:00
Nicolas Grekas
a8842072a5 [DI] fix docblock 2019-08-18 22:04:16 +02:00
Nicolas Grekas
2ae6e0c14e [Console] fix docblock 2019-08-18 21:32:16 +02:00
Fabien Potencier
63272d61d0 minor #33212 [VarDumper] Add test dump image (ismail1432)
This PR was squashed before being merged into the 4.4 branch (closes #33212).

Discussion
----------

[VarDumper] Add test dump image

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   |     <!-- please add some, will be required by reviewers -->
| Fixed tickets | #33107.   <!-- #-prefixed issue number(s), 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

8393a9b5c1 [VarDumper] Add test dump image
2019-08-18 21:21:12 +02:00
Smaine Milianni
8393a9b5c1 [VarDumper] Add test dump image 2019-08-18 21:20:46 +02:00
Fabien Potencier
2a1647a351 minor #33198 Add types to private and final methods (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

Add types to private and final methods

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

Backports from #33154.

Commits
-------

1b880677d4 Add types to private and final methods.
2019-08-18 20:07:05 +02:00
Fabien Potencier
aa53a71e03 minor #33204 [Workflow] Added doc block for Registry::supports() (derrabus)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] Added doc block for Registry::supports()

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

Follows #33197, prepares #33198.

Commits
-------

c76fd13848 Added doc block for Registry::supports().
2019-08-18 20:04:08 +02:00
Fabien Potencier
8eef7a7417 minor #33221 [Process] Doc block backport (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[Process] Doc block backport

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

This PR addresses https://github.com/symfony/symfony/pull/33154/files#r314600658

Commits
-------

fed395de4e [Process] Doc block backport.
2019-08-18 19:35:43 +02:00
Fabien Potencier
acb1373ac2 minor #33222 [Process] Added missing return type (derrabus)
This PR was merged into the 4.3 branch.

Discussion
----------

[Process] Added missing return type

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

Commits
-------

20ff512269 [Process] Added missing return type.
2019-08-18 19:18:45 +02:00
Fabien Potencier
d1d0943f80 bug #32497 [Messenger] DispatchAfterCurrentBusMiddleware does not cancel messages from delayed handlers (Nyholm, BastienClement)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] DispatchAfterCurrentBusMiddleware does not cancel messages from delayed handlers

| Q             | A
| ------------- | ---
| Branch?       | 4.3 for bug fixes
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? |no
| Tests pass?   | yes  (thanks @Nyholm)
| Fixed tickets | #32370
| License       | MIT
| Doc PR        | -

This is a fix for #32370. There is no need for anything sophisticated. There is no recursion or fancy stuff going on, just a queue of message handled sequentially. A simple variable is enough to keep track of the queue state.

Thanks @Nyholm for the test, it would clearly have been the hardest part of the job.

Commits
-------

1f5c8a6790 Cancel delayed message if handler fails
35c76a385d Added tests for #32370
2019-08-18 19:13:21 +02:00
Cedrick Oka
3211caa5b5 Allow exchange type headers binding 2019-08-18 17:49:22 +01:00
Amine Yakoubi
f6623c11bd Add missing translations for Armenian locale 2019-08-18 17:34:57 +01:00
Alexander M. Turek
1b880677d4 Add types to private and final methods. 2019-08-18 11:59:28 +02:00
Alexander M. Turek
20ff512269 [Process] Added missing return type. 2019-08-18 11:18:30 +02:00
Alexander M. Turek
fed395de4e [Process] Doc block backport. 2019-08-18 11:12:38 +02:00
Alexander M. Turek
c76fd13848 Added doc block for Registry::supports(). 2019-08-18 10:46:59 +02:00
Fabien Potencier
ff63bb325d feature #32783 [Messenger] InMemoryTransport handle acknowledged and rejected messages (tienvx)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] InMemoryTransport handle acknowledged and rejected messages

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

This PR do 2 things:
* Limit receiving messages from InMemoryTransport to 1 (reverted, another PR will fix the bug: worker does not stop when receiver return more messages than the number specify by the `--limit` option)
* Handle acknowledged and rejected messages in InMemoryTransport. Currently, it does not care about acknowledged and rejected messages. So it always return all messages that have been sent. So if we run console command `messenger:consume`, it will never stop, even though we set the `--limit` option.

For more information, please check the [reproduction](https://github.com/tienvx/symfony-messenger-in-memory-reproduction) project for the expected behavior.

See also my [messenger-memory-transport](https://github.com/tienvx/messenger-memory-transport) project

Commits
-------

71e7bdff22 [Messenger] InMemoryTransport handle acknowledged and rejected messages
2019-08-18 10:25:08 +02:00
Fabien Potencier
431ead273a bug #33127 [Messenger] make delay exchange and queues durable like the normal ones by default (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] make delay exchange and queues durable like the normal ones by default

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

This also imrproves BC of #32631 by only adding the new expiry argument in case the delay queue name was not overwritten using the options. I will remove the checks in 4.4 again. Please merge this PR before releasing the new 4.3 version so that 32631 and this PR are part of one release.

Commits
-------

e5ecda6de1 [Messenger] make delay exchange and queues durable like the normal ones by default
2019-08-18 10:19:16 +02:00
Fabien Potencier
9130c6ad1a bug #33140 [Intl] Full alpha3 language support (ro0NL)
This PR was merged into the 4.4 branch.

Discussion
----------

[Intl] Full alpha3 language support

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

I'll validate some more cases with tests.

Commits
-------

29aee2ddf2 [Intl] Full alpha3 language support
2019-08-18 10:17:19 +02:00
Fabien Potencier
98e86816ad feature #33155 [ErrorHandler] Added call() method utility to turns any PHP error into \ErrorException (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] Added call() method utility to turns any PHP error into \ErrorException

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

**Issue**

There is no easy way to catch PHP warnings, though some progress has been made in this area for PHP 8.0 (https://wiki.php.net/rfc/consistent_type_errors).

**Before**
```php
$file = file_get_contents('unknown.txt');
// PHP Warning:  file_get_contents(unknown.txt): failed to open stream: No such file or directory

// workaround:
$file = @file_get_contents('unknown.txt');
if (false === $file) {
    $e = error_get_last();
    throw new \ErrorException($e['message'], 0, $e['type'], $e['file'], $e['line']);
}
```

**After**
```php
$file = ErrorHandler::call('file_get_contents', 'unknown.txt');

// or
$file = ErrorHandler::call(static function () {
    return file_get_contents('unknown.txt');
});

// or (PHP 7.4)
$file = ErrorHandler::call(fn () => file_get_contents('unknown.txt'));
```

All credits to @nicolas-grekas https://github.com/symfony/symfony/issues/32936#issuecomment-518152681 and @vudaltsov for the idea.

Commits
-------

0faa855b5e Added ErrorHandler::call() method utility to turns any PHP warnings into `\ErrorException`
2019-08-18 10:09:38 +02:00
Fabien Potencier
6ee1f0b6f2 bug #33187 [Intl] Validate country preferred alpha code mapping (ro0NL)
This PR was merged into the 4.4 branch.

Discussion
----------

[Intl] Validate country preferred alpha code mapping

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

Use the same approach for the preferred alpha2-to-alpha3 code mapping, like Languages does. It provides us some more support in terms of maintenance.

The added `CD => COD` was previously implied based on ordering upstream.

Commits
-------

345305904b [Intl] Validate region preferred alpha code mapping
2019-08-18 10:05:02 +02:00
Nicolas Grekas
76bb1fca5c minor #33197 Fix some docblocks (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix some docblocks

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

Backports from #33154.

Commits
-------

df89373e62 Fix some docblocks.
2019-08-18 09:33:13 +02:00
Quynh Xuan Nguyen
99f73fcca8 [Cache] Fix predis test 2019-08-18 09:29:35 +02:00
tien.xuan.vo
71e7bdff22 [Messenger] InMemoryTransport handle acknowledged and rejected messages 2019-08-18 09:00:51 +07:00
Fabien Potencier
d77d89d74f bug #33210 [Mailer] Don't duplicate addresses in Sendgrid Transport (pierredup)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] Don't duplicate addresses in Sendgrid Transport

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

Sendgrid requires the `to`, `cc` and `bcc` fields to be unique

Commits
-------

2706a9763f Don't duplicate addresses in Sendgrid Transport
2019-08-17 13:06:15 +02:00
Yonel Ceruto
328b97ec71 New welcome page 2019-08-17 00:29:54 -04:00
Fabien Potencier
afb1c04c35 [Mailer] added a way to test the number of queued emails 2019-08-16 21:31:41 +02:00
Pierre du Plessis
2706a9763f
Don't duplicate addresses in Sendgrid Transport 2019-08-16 20:11:33 +02:00
david-binda
cde223ad2a Remove unnecessary statement
The casting of `$id` to string inside the second foreach loop in `\Symfony\Component\DependencyInjection\Dumper\PhpDumper::addMethodMap` is redundant, as the variable is not used after the casting inside nor outside the loop (while still in the loop, it gets overriden upon next iteration).

Fixes #33206
2019-08-16 17:14:15 +02:00
Nicolas Grekas
940eabb121 Merge branch '4.3' into 4.4
* 4.3:
  [VarDumper] Remove useless variable
  [Console] Fix incomplete output mock.
  [Serializer] Fixed docblocks and parameter names.
2019-08-16 08:37:15 +02:00
Nicolas Grekas
6d6cea2baa Merge branch '3.4' into 4.3
* 3.4:
  [VarDumper] Remove useless variable
  [Serializer] Fixed docblocks and parameter names.
2019-08-16 08:36:19 +02:00
Nicolas Grekas
bb41d53c06 minor #33182 [VarDumper] Add types to private methods (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] Add types to private methods

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

backport from #33153

Commits
-------

065acc816f [VarDumper] Add types to private methods.
2019-08-16 08:22:44 +02:00
Nicolas Grekas
73dcf71378 minor #33186 [Serializer] Fixed docblocks and parameter names (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fixed docblocks and parameter names

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

Backports from #33185.

Commits
-------

50701fed9f [Serializer] Fixed docblocks and parameter names.
2019-08-16 08:19:18 +02:00
Smaine Milianni
df47058c55 [VarDumper] Remove useless variable 2019-08-16 07:42:55 +02:00
Alexander M. Turek
df89373e62 Fix some docblocks. 2019-08-16 02:50:45 +02:00
Alexander M. Turek
6ecbcf6f22 [Console] Fix incomplete output mock. 2019-08-16 01:33:50 +02:00
Roland Franssen
345305904b [Intl] Validate region preferred alpha code mapping 2019-08-15 15:06:57 +02:00
Alexander M. Turek
50701fed9f [Serializer] Fixed docblocks and parameter names. 2019-08-15 13:43:21 +02:00
Nicolas Grekas
26cc652a79 bug #33184 [DI] fix dumping lazy proxies (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix dumping lazy proxies

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

Commits
-------

2ec1dd9628 [DI] fix dumping lazy proxies
2019-08-15 12:47:29 +02:00
Nicolas Grekas
2ec1dd9628 [DI] fix dumping lazy proxies 2019-08-15 11:38:48 +02:00
Alexander M. Turek
065acc816f [VarDumper] Add types to private methods. 2019-08-15 11:17:12 +02:00
Nicolas Grekas
3fa8ad0859 Merge branch '4.3' into 4.4
* 4.3:
  [ProxyManager] fix closure binding
  [VarDumper] fix annotations
  [Console] fixed a PHP notice when there is no function
2019-08-15 10:52:52 +02:00
Nicolas Grekas
8aff3ad611 Merge branch '3.4' into 4.3
* 3.4:
  [ProxyManager] fix closure binding
  [VarDumper] fix annotations
  [Console] fixed a PHP notice when there is no function
2019-08-15 10:50:12 +02:00
Nicolas Grekas
08147ddb9b bug #33172 [Console] fixed a PHP notice when there is no function in the stack trace of an Exception (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] fixed a PHP notice when there is no function in the stack trace of an Exception

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

Under certain circumstances, the `function` is not present in the stack trace. That's the case for instance when an error occurs on a line like this one `return require "somefile";`.

Commits
-------

ddb47358ae [Console] fixed a PHP notice when there is no function
2019-08-15 10:36:31 +02:00
Nicolas Grekas
82f4766498 [VarDumper] fix annotations 2019-08-15 10:03:47 +02:00
Christian Flothmann
21554aa8a5 trigger a deprecation not a notice 2019-08-15 09:51:39 +02:00
Fabien Potencier
ddb47358ae [Console] fixed a PHP notice when there is no function 2019-08-14 18:49:41 +02:00
Fabien Potencier
876cec7c45 [Mailer] fixed missing property assignment 2019-08-14 17:19:53 +02:00
Nicolas Grekas
320e49576e feature #30323 [ErrorHandler] trigger deprecation in DebugClassLoader when child class misses a return type (fancyweb, nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] trigger deprecation in DebugClassLoader when child class misses a return type

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

I wanted to push something to show the advancement and get feedback.

I pushed two versions : one with dedicated functions for code clarity (DebugClassLoader.php) and one withtout (DebugClassLoader___.php). It would be nice if some people with Blackfire could compare the performances.

So let's be clear, we are never gonna be able to cover all cases! We can however cover the vast majority.

Current non covered cases and problems :
- We assume that if there is more than 2 returned types, we cannot do anything. Even if it could technically be possible.
- We assume that any returned type that doesn't fit our "returnable" types list is a class. We don't check at all if this class actualy exists.
- We don't handle spaces in types. The types stop at the first space.
- That means we don't handle (yet) the callable type with spaces (cf https://github.com/symfony/symfony/issues/29969)
- Vendor code extending other vendor core triggers the deprecations 😕

Commits
-------

aa338c8b42 Import return annotations from vendors
10fc13e4a7 [ErrorHandler] Handle return types in DebugClassLoader
2019-08-14 15:35:48 +02:00
Nicolas Grekas
aa338c8b42 Import return annotations from vendors 2019-08-14 15:27:41 +02:00
Nicolas Grekas
c8e15e182a Merge branch '4.3' into 4.4
* 4.3:
  cs fix
2019-08-14 15:26:12 +02:00
Thomas Calvet
10fc13e4a7 [ErrorHandler] Handle return types in DebugClassLoader 2019-08-14 15:12:11 +02:00
Yonel Ceruto
0faa855b5e Added ErrorHandler::call() method utility to turns any PHP warnings into \ErrorException 2019-08-14 09:05:47 -04:00
Nicolas Grekas
bec6ebc352 cs fix 2019-08-14 14:40:06 +02:00
Nicolas Grekas
507223dc73 Merge branch '4.3' into 4.4
* 4.3:
  Remove superfluous phpdoc tags
2019-08-14 14:37:46 +02:00
Nicolas Grekas
b3467e641c Merge branch '3.4' into 4.3
* 3.4:
  Remove superfluous phpdoc tags
2019-08-14 14:26:46 +02:00
Philippe Segatori
608e23c09a Remove superfluous phpdoc tags 2019-08-14 13:59:53 +02:00
Roland Franssen
29aee2ddf2 [Intl] Full alpha3 language support 2019-08-14 13:08:30 +02:00
Nicolas Grekas
0bdf10a886 Merge branch '4.3' into 4.4
* 4.3:
  cs fix
  Partially Revert "Remove trailing space in all markdown files"
  [Intl] Explicit check
  Fix getMaxFilesize() returning zero
  [DI] fix docblocks in Container*
  Fixed markdown file
  [TwigBridge] Replaced plain doc block copies with inheritdoc.
  [DomCrawler] Fixed CHANGELOG markup
  [Intl] Cleanup unused language aliases entry
2019-08-14 13:04:46 +02:00
Nicolas Grekas
cda8a67df8 Merge branch '3.4' into 4.3
* 3.4:
  cs fix
  Partially Revert "Remove trailing space in all markdown files"
  [Intl] Explicit check
  Fix getMaxFilesize() returning zero
  [DI] fix docblocks in Container*
  Fixed markdown file
  [TwigBridge] Replaced plain doc block copies with inheritdoc.
  [Intl] Cleanup unused language aliases entry
2019-08-14 13:02:36 +02:00
Nicolas Grekas
990a149edc minor #33158 [Intl] Explicit check (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Explicit check

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

This avoids a little conflict with #33140

data is not impacted (today), but i like to make our data selection as explicit as possible and avoid ever pulling in `deprecated` or e.g. `legacy` languages.

Commits
-------

fbd4ce4c5c [Intl] Explicit check
2019-08-14 12:59:22 +02:00
Nicolas Grekas
644edb0e93 cs fix 2019-08-14 11:39:58 +02:00
Nicolas Grekas
663ba5b479 minor #33149 [DI] fix docblocks in Container* (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix docblocks in Container*

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

Backport from master.
Internally, services can be of any kind, but only `object|null` is allowed for public services.

Commits
-------

8e4d08fe95 [DI] fix docblocks in Container*
2019-08-14 10:46:52 +02:00
Fabien Potencier
b382e622cf bug #33157 Fix getMaxFilesize() returning zero (ausi)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix getMaxFilesize() returning zero

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

With #32790 a BC break got introduced. Previously an empty `upload_max_filesize` returned `PHP_INT_MAX` but after the changes from #32790 it returns `0`.

Setting `upload_max_filesize` or `post_max_size` to `0` or `''` disables the limit so for both cases `PHP_INT_MAX` should be returned.

Commits
-------

f4c2ea5b73 Fix getMaxFilesize() returning zero
2019-08-14 09:48:19 +02:00
Roland Franssen
fbd4ce4c5c [Intl] Explicit check 2019-08-14 08:36:48 +02:00
Martin Auswöger
f4c2ea5b73 Fix getMaxFilesize() returning zero 2019-08-14 08:35:19 +02:00
Nicolas Grekas
8e4d08fe95 [DI] fix docblocks in Container* 2019-08-13 22:10:42 +02:00
Fabien Potencier
7ae7a66f05 minor #33142 Fixed markdown file (lyrixx)
This PR was squashed before being merged into the 3.4 branch (closes #33142).

Discussion
----------

Fixed markdown file

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

Commits
-------

136972506e Fixed markdown file
2019-08-13 19:39:17 +02:00
Grégoire Pineau
136972506e Fixed markdown file 2019-08-13 19:39:09 +02:00
Fabien Potencier
b06231fd24 minor #33141 [DomCrawler] Fixed CHANGELOG markup (lyrixx)
This PR was merged into the 4.3 branch.

Discussion
----------

[DomCrawler] Fixed CHANGELOG markup

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

Commits
-------

3c56b12538 [DomCrawler] Fixed CHANGELOG markup
2019-08-13 19:38:16 +02:00
Michael Lutz
b3928d5ac3 [HttpFoundation] Fix deprecation message in ::isMethodSafe() 2019-08-13 12:17:15 -04:00
Tobias Schultze
e5ecda6de1 [Messenger] make delay exchange and queues durable like the normal ones by default 2019-08-13 17:14:16 +02:00
Grégoire Pineau
3c56b12538 [DomCrawler] Fixed CHANGELOG markup 2019-08-13 17:04:37 +02:00
Roland Franssen
1689f77ef0 [Intl] Cleanup unused language aliases entry 2019-08-13 16:04:50 +02:00
Nicolas Grekas
50c5911229 feature #33137 [DI] deprecate support for non-object services (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] deprecate support for non-object services

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

Follows #32432 /cc @derrabus
Prepares for adding the `?object` return-type on master.

Commits
-------

7c01c4c80c [DI] deprecate support for non-object services
2019-08-13 15:30:43 +02:00
Nicolas Grekas
32e0a25200 feature #32845 [HttpKernel][FrameworkBundle] Add alternative convention for bundle directories (yceruto)
This PR was squashed before being merged into the 4.4 branch (closes #32845).

Discussion
----------

[HttpKernel][FrameworkBundle] Add alternative convention for bundle directories

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

We already know that bundles must be compatible with many Symfony's versions, so it is very likely that current bundles won't be able to use this feature soon, unless they create symbolic links to support both structures.

The point is that this is already happening, so in the future when our bundles stop to support <=4.3 then you'll be sure to change the current directory structure.

We have recently added the `getPublicDir()` method in https://github.com/symfony/symfony/pull/31975, here I'm removing it in favor of hardcoding a new convention.

I've added some functional tests in which I've changed everything to this structure:
```
-- ModernBundle
   |-- config/
   |-- public/
   |-- src/
       |-- ModernBundle.php
   |-- templates/
   |-- translations/
```
WDYT?

Commits
-------

6996e1cbe2 [HttpKernel][FrameworkBundle] Add alternative convention for bundle directories
2019-08-13 15:29:11 +02:00
Yonel Ceruto
6996e1cbe2 [HttpKernel][FrameworkBundle] Add alternative convention for bundle directories 2019-08-13 15:29:02 +02:00
Nicolas Grekas
7c01c4c80c [DI] deprecate support for non-object services 2019-08-13 15:22:18 +02:00
Nicolas Grekas
d6773bc547 feature #32548 [Translation] XliffLintCommand: allow .xliff file extension (codegain)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translation] XliffLintCommand: allow .xliff file extension

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

I ran into a problem with XLIFF files having an *.xliff extension and a "target-language" attribute.
The command always outputted: There is a mismatch between the language included in the file name and the value used used in the "target-language" attribute of the file.

The "target-language" attribute was set to "en" and the filename was also "menu.en.xliff".
After reading the source code, I realized that this regex does not respect other valied file extensions such as "xliff" for these files and therefore throws this (rather confusing) error.

Commits
-------

dba6a21eac [Translation] XliffLintCommand: allow .xliff file extension
2019-08-13 09:17:21 +02:00