Commit Graph

50207 Commits

Author SHA1 Message Date
Nicolas Grekas
e213cc76eb Merge branch '5.1'
* 5.1:
  [Messenger] fix computing the id of same-name middleware
2020-07-23 12:40:28 +02:00
Nicolas Grekas
ea258254d0 Merge branch '5.0' into 5.1
* 5.0:
  [Messenger] fix computing the id of same-name middleware
2020-07-23 12:40:24 +02:00
Nicolas Grekas
da30c7a4e8 Merge branch '4.4' into 5.0
* 4.4:
  [Messenger] fix computing the id of same-name middleware
2020-07-23 12:40:15 +02:00
Nicolas Grekas
b7c6d20181 [Messenger] fix computing the id of same-name middleware 2020-07-23 12:40:00 +02:00
Nicolas Grekas
ec38464335 Merge branch '5.1'
* 5.1:
  Connect to RedisCluster with password auth
  Fix PHPUnit 8.5 deprecations.
  Fix EmailHeaderSame to make use of decoded value
  Allow same middleware to be used multiple times with different arguments
2020-07-23 12:04:35 +02:00
Nicolas Grekas
62dbb9a39a Merge branch '5.0' into 5.1
* 5.0:
  Connect to RedisCluster with password auth
  Fix PHPUnit 8.5 deprecations.
  Fix EmailHeaderSame to make use of decoded value
  Allow same middleware to be used multiple times with different arguments
2020-07-23 12:04:31 +02:00
Nicolas Grekas
7373802d04 Merge branch '4.4' into 5.0
* 4.4:
  Connect to RedisCluster with password auth
  Fix PHPUnit 8.5 deprecations.
  Fix EmailHeaderSame to make use of decoded value
  Allow same middleware to be used multiple times with different arguments
2020-07-23 12:04:24 +02:00
Nicolas Grekas
df1a1ff069 bug #37583 [Mime] Fix EmailHeaderSame to make use of decoded value (evertharmeling)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] Fix EmailHeaderSame to make use of decoded value

Fixes #35062

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

Commits
-------

8a3f50746d Fix EmailHeaderSame to make use of decoded value
2020-07-23 11:59:39 +02:00
Nicolas Grekas
0d867bcc0d bug #37569 [Messenger] Allow same middleware to be used multiple times with different arguments (HypeMC)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Allow same middleware to be used multiple times with different arguments

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

Middleware service names now take into account arguments as well to allow the same middleware to be used multiple times with different arguments:
```yaml
framework:
    messenger:
        buses:
            messenger.bus.default:
                middleware:
                    - doctrine_ping_connection: ['main']
                    - doctrine_ping_connection: ['logs']
```

Commits
-------

d10e43d085 Allow same middleware to be used multiple times with different arguments
2020-07-23 11:57:42 +02:00
Nicolas Grekas
ebc7f4b97e bug #37624 [Cache] Connect to RedisCluster with password auth (mforbak)
This PR was submitted for the master branch but it was merged into the 4.4 branch instead.

Discussion
----------

[Cache] Connect to RedisCluster with password auth

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

Currently it is not possible to connect to RedisCluster with password. AUTH param is described in documentation (last example) https://symfony.com/doc/current/components/cache/adapters/redis_adapter.html#configure-the-connection but totally ignored in the code and connection fails

```
RedisAdapter::createConnection(
    'redis:?host[localhost]&host[localhost:6379]&host[/var/run/redis.sock:]&auth=my-password&redis_cluster=1'
);
```

See RedisCluster usage here https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#declaring-a-cluster-with-an-array-of-seeds

Commits
-------

e873ddd72c Connect to RedisCluster with password auth
2020-07-23 11:54:49 +02:00
Michal Forbak
e873ddd72c Connect to RedisCluster with password auth
Currently it is not possible to connect to RedisCluster with password. AUTH param is described in documentation (last example) https://symfony.com/doc/current/components/cache/adapters/redis_adapter.html#configure-the-connection but totally ignored in the code and connection fails

```
RedisAdapter::createConnection(
    'redis:?host[localhost]&host[localhost:6379]&host[/var/run/redis.sock:]&auth=my-password&redis_cluster=1'
);
```

See RedisCluster usage here https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#declaring-a-cluster-with-an-array-of-seeds
2020-07-23 11:54:41 +02:00
Nicolas Grekas
c971a27f9e Merge branch '3.4' into 4.4
* 3.4:
  Fix PHPUnit 8.5 deprecations.
2020-07-23 11:48:09 +02:00
Nicolas Grekas
8c9f181822 minor #37566 [3.4] Fix PHPUnit 8.5 deprecations (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[3.4] Fix PHPUnit 8.5 deprecations

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

PHPUnit 8.5 introduced several deprecations. Addressing them will allow us to upgrade to PHPUnit 9.

Commits
-------

ec525e6e04 Fix PHPUnit 8.5 deprecations.
2020-07-23 11:44:31 +02:00
Alexander M. Turek
ec525e6e04 Fix PHPUnit 8.5 deprecations. 2020-07-23 11:37:51 +02:00
Nicolas Grekas
4b1db18b76 Merge branch '5.1'
* 5.1:
  [PhpUnitBridge] Fix tests on Windows
2020-07-23 11:29:40 +02:00
Nicolas Grekas
bc1a16d130 minor #37636 [PhpUnitBridge] Fix tests on Windows (nicolas-grekas)
This PR was merged into the 5.1 branch.

Discussion
----------

[PhpUnitBridge] Fix tests on Windows

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

Commits
-------

266fe76208 [PhpUnitBridge] Fix tests on Windows
2020-07-23 11:29:22 +02:00
Nicolas Grekas
266fe76208 [PhpUnitBridge] Fix tests on Windows 2020-07-23 11:26:24 +02:00
Nicolas Grekas
fa38f370f5 fix merge 2020-07-23 11:19:35 +02:00
Nicolas Grekas
b72e9c28da Merge branch '5.1'
* 5.1:
  fix merge
  Require PHPUnit 9.3 on PHP 8
  [Cache] fix catching auth errors
  Fix CS
  [FrameworkBundle] set default session.handler alias if handler_id is not provided
  Fix CS
  Readability update
  Removed @internal from Composite
  Fix checks for phpunit releases on Composer 2 (resolves #37601)
  [Messenger] fix ignore account & endpoint options amazon sqs connection
  [Serializer] Support multiple levels of discriminator mapping
  Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
  [SCA] Minor fixes on tests
  [WebProfilerBundle] modified url generation to use absolute urls
  [Mailer] Fix reply-to functionality in the SendgridApiTransport
  [Mime] Fix compat with HTTP requests
  ticket_36879 - Fix mandrill raw http request setting from email/name
2020-07-23 10:36:44 +02:00
Nicolas Grekas
1b7714a05c Merge branch '5.0' into 5.1
* 5.0:
  fix merge
  Require PHPUnit 9.3 on PHP 8
  [Cache] fix catching auth errors
  Fix CS
  [FrameworkBundle] set default session.handler alias if handler_id is not provided
  Fix CS
  Readability update
  Fix checks for phpunit releases on Composer 2 (resolves #37601)
  [Serializer] Support multiple levels of discriminator mapping
  Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
  [SCA] Minor fixes on tests
  [WebProfilerBundle] modified url generation to use absolute urls
  [Mailer] Fix reply-to functionality in the SendgridApiTransport
  [Mime] Fix compat with HTTP requests
  ticket_36879 - Fix mandrill raw http request setting from email/name
2020-07-23 10:36:24 +02:00
Nicolas Grekas
5d79383028 Merge branch '4.4' into 5.0
* 4.4:
  fix merge
  Require PHPUnit 9.3 on PHP 8
  [Cache] fix catching auth errors
  Fix CS
  [FrameworkBundle] set default session.handler alias if handler_id is not provided
  Fix CS
  Readability update
  Fix checks for phpunit releases on Composer 2 (resolves #37601)
  [Serializer] Support multiple levels of discriminator mapping
  Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
  [SCA] Minor fixes on tests
  [WebProfilerBundle] modified url generation to use absolute urls
  [Mailer] Fix reply-to functionality in the SendgridApiTransport
  [Mime] Fix compat with HTTP requests
  ticket_36879 - Fix mandrill raw http request setting from email/name
2020-07-23 10:36:09 +02:00
Nicolas Grekas
8103b307c8 fix merge 2020-07-23 10:35:20 +02:00
Nicolas Grekas
50505cb9d2 Merge branch '3.4' into 4.4
* 3.4:
  [Cache] fix catching auth errors
  Fix CS
  [FrameworkBundle] set default session.handler alias if handler_id is not provided
  Fix CS
  Readability update
  Fix checks for phpunit releases on Composer 2 (resolves #37601)
  [SCA] Minor fixes on tests
2020-07-23 10:31:43 +02:00
Nicolas Grekas
65fc07a90e bug #37635 [Cache] fix catching auth errors (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix catching auth errors

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

Should make tests green.
https://github.com/symfony/symfony/pull/37635/files?w=1

Commits
-------

ee6b5145bf [Cache] fix catching auth errors
2020-07-23 10:24:30 +02:00
Nicolas Grekas
a0f7c887ff minor #37595 Require PHPUnit 9.3 on PHP 8 (GrahamCampbell)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Require PHPUnit 9.3 on PHP 8

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

The first version of PHPUnit to support PHP 8.0 is PHPUnit 9.3.

---

Depends on https://github.com/symfony/symfony/pull/37607. Related to https://github.com/composer/composer/pull/9054.

Commits
-------

54b13c04c9 Require PHPUnit 9.3 on PHP 8
2020-07-23 10:22:05 +02:00
Graham Campbell
54b13c04c9 Require PHPUnit 9.3 on PHP 8 2020-07-23 10:21:55 +02:00
Nicolas Grekas
ee6b5145bf [Cache] fix catching auth errors 2020-07-23 10:10:45 +02:00
Fabien Potencier
2dbbe50d0c bug #37628 [Serializer] Support multiple levels of discriminator mapping (jeroennoten)
This PR was merged into the 4.4 branch.

Discussion
----------

[Serializer] Support multiple levels of discriminator mapping

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

When using multiple levels of discriminator mapping for denormalizing to a multiple level class hierarchy, only the top level discriminator mapping is considered, resulting in an error: **Cannot instantiate abstract class ...**

Example:
```php
/**
 * @DiscriminatorMap(typeProperty="type", mapping={"group"=GroupNode::class, "item"=ItemNode::class})
 */
abstract class Node {
    // ...
}

class GroupNode extends Node {
    // ...
}

/**
 * @DiscriminatorMap(typeProperty="item_type", mapping={"foo"=FooItemNode::class, "bar"=BarItemNode::class})
 */
abstract class ItemNode extends Node {
    // ...
}

class FooItemNode {
    // ...
}

class BarItemNode {
    // ...
}

$objectNormalizer = new ObjectNormalizer(new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())));
$node = $objectNormalizer->denormalize(['type' => 'item', 'item_type' => 'foo']);
```

This results in an error: **Cannot instantiate abstract class ItemNode**. Expected is that `$node` is of type `FooItemNode` after denormalization.

The solution is to recursively call `AbstractObjectNormalizer::instantiateObject()` when a mapping is found, instead of always calling `parent::instantiateObject()`.

Commits
-------

324ad95fee [Serializer] Support multiple levels of discriminator mapping
2020-07-23 08:55:00 +02:00
Fabien Potencier
6b92038e1c bug #37629 [Messenger] fix ignored account & endpoint options amazon sqs connection (surikman)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger] fix ignored account & endpoint options amazon sqs connection

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

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch master.
-->

Commits
-------

fc90a3b7c6 [Messenger] fix ignore account & endpoint options amazon sqs connection
2020-07-23 08:50:17 +02:00
Fabien Potencier
e5543dc72d Fix CS 2020-07-23 08:46:18 +02:00
Fabien Potencier
09c97bd6dd bug #37572 [FrameworkBundle] set default session.handler alias if handler_id is not provided (Youssef BENHSSAIEN)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] set default session.handler alias if handler_id is not provided

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

Without a configured [`handler_id`](https://symfony.com/doc/current/session.html#configuration), the `session.handler` alias is not created, and somes services depend on this alias specialy.

Related to the reported issue above (affected version 4.4.9), the `ServiceHandlerInterface` is an alias of `session.handler`, when execute :
- `bin/console debug:container session.handler` : The alias is not defined, so the `ContainerDebugCommand` look for a service containing the `session.handler` as part of his name (ContainerDebugCommand::findServiceIdsContaining() is called and returns by default `session.handler.native_file`)
-  `bin/console debug:container SessionHandlerInterface` : The service is defined as an alias of `session.handler`, when calling `ContainerBuilder::getDefinition('session.handler')` the exception occured as the alias is not defined.

# Implemented solution
Create a default `session.handler` when the param `handler_id` is not provided (I choosed `session.handler.native_file` rather than `NullSessionHandler`).

# Affected versions
From [`3.4`](https://github.com/symfony/framework-bundle/blob/3.4/DependencyInjection/FrameworkExtension.php#L879) to [`5.1`](https://github.com/symfony/framework-bundle/blob/5.1/DependencyInjection/FrameworkExtension.php#L955)

Commits
-------

46c8c3791b [FrameworkBundle] set default session.handler alias if handler_id is not provided
2020-07-23 08:40:06 +02:00
Youssef BENHSSAIEN
46c8c3791b [FrameworkBundle] set default session.handler alias if handler_id is not provided 2020-07-23 08:39:55 +02:00
Fabien Potencier
87a5135306 Fix CS 2020-07-23 08:37:54 +02:00
Fabien Potencier
564550bbf8 minor #37587 [WebProfileBundle] Readability update (shreypuranik)
This PR was submitted for the master branch but it was merged into the 3.4 branch instead.

Discussion
----------

[WebProfileBundle] Readability update

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

Updating ContentSecurityPolicyHandler by moving array out of foreach loop for ease of readability.

Commits
-------

6a7685f315 Readability update
2020-07-23 08:36:58 +02:00
shreypuranik
6a7685f315 Readability update 2020-07-23 08:36:50 +02:00
Fabien Potencier
ab29e071ae bug #37558 Removed @internal from Composite (vudaltsov)
This PR was submitted for the master branch but it was merged into the 5.1 branch instead.

Discussion
----------

Removed @internal from Composite

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

I think that Composite should not be @internal. Even with the new @Compound constraint Composite is still useful for complex custom validators.

For example, I have @ExcelColumn(string $column, array $constraints) that checks that all cells in a column of an uploaded Excel file are valid. This cannot be expressed with @Compound.

Commits
-------

8958ce12a1 Removed @internal from Composite
2020-07-23 08:35:33 +02:00
vudaltsov
8958ce12a1 Removed @internal from Composite 2020-07-23 08:35:25 +02:00
Fabien Potencier
0eafc01686 bug #37607 Fix checks for phpunit releases on Composer 2 (colinodell)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix checks for phpunit releases on Composer 2

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

`simple-phpunit` has a core assumption that any version of PHPUnit without a stable release will only have one dev version returned by Composer.  Per https://github.com/symfony/symfony/issues/37601, it's possible for Composer 2 to list **more than one dev version**.  This breaks that assumption and therefore prevents the installation of 9.3.* ([which is needed for testing on PHP 8](https://github.com/sebastianbergmann/phpunit/pull/4374#issuecomment-657029594)).

The fix implemented here is to remove any versions containing `dev-` or `-dev` from the list of possible versions to see if any stable versions remain.

Commits
-------

2bb3f08fba Fix checks for phpunit releases on Composer 2 (resolves #37601)
2020-07-23 08:28:10 +02:00
Tobias Schultze
e77ff454c8 minor #37592 [SCA] Minor fixes on tests (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[SCA] Minor fixes on tests

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

I mainly fixed misordered arguments in `assertEquals()`.

Commits
-------

b352ff08ad [SCA] Minor fixes on tests
2020-07-23 04:16:45 +02:00
Colin O'Dell
2bb3f08fba
Fix checks for phpunit releases on Composer 2 (resolves #37601) 2020-07-22 18:00:00 -04:00
Evert Harmeling
8a3f50746d
Fix EmailHeaderSame to make use of decoded value
Fixes #35062
2020-07-22 14:10:07 +02:00
Juraj Surman
fc90a3b7c6 [Messenger] fix ignore account & endpoint options amazon sqs connection 2020-07-21 17:23:14 +02:00
Jeroen Noten
324ad95fee [Serializer] Support multiple levels of discriminator mapping 2020-07-21 17:17:25 +02:00
Wouter de Jong
e37091541c Use NullToken while checking authorization
This allows to e.g. have some objects that can be viewed by anyone (even unauthenticated users).
2020-07-20 21:46:53 +02:00
Fabien Potencier
8a7c776b92 Merge branch '5.1'
* 5.1:
  [Mailer] Fix failover transport
2020-07-20 18:31:06 +02:00
Fabien Potencier
08ff65fcb5 bug #37611 [Mailer] Fix failover transport (fabpot)
This PR was merged into the 5.1 branch.

Discussion
----------

[Mailer] Fix failover transport

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

This fixes a regression in 5.1.

Commits
-------

8b673f5a81 [Mailer] Fix failover transport
2020-07-20 18:30:11 +02:00
Fabien Potencier
8b673f5a81 [Mailer] Fix failover transport 2020-07-20 16:15:11 +02:00
Fabien Potencier
3619661d65 bug #37594 Use hexadecimal numerals instead of hexadecimals in strings to repres… (arekzb)
This PR was submitted for the master branch but it was merged into the 4.4 branch instead.

Discussion
----------

Use hexadecimal numerals instead of hexadecimals in strings to repres…

Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37577 , #36327
| License       | MIT

Class constants are now hexadecimal numerals instead of hexadecimals in strings.

Commits
-------

e9f7769111 Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
2020-07-20 09:00:45 +02:00
Arek Bochinski
e9f7769111 Use hexadecimal numerals instead of hexadecimals in strings to represent error codes. 2020-07-20 09:00:36 +02:00
Thomas Calvet
b352ff08ad [SCA] Minor fixes on tests 2020-07-16 11:41:49 +02:00