Commit Graph

53106 Commits

Author SHA1 Message Date
Mathias Arlaud
bb32beb488 [Notifier] Fix HttpClient TransportException handle 2021-01-20 18:29:51 +01:00
Robin Chalas
6b9fa0be67 minor #39903 [FrameworkBundle] do not fail when MercureBundle is not installed (xabbuh)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[FrameworkBundle] do not fail when MercureBundle is not installed

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

Commits
-------

8cdbdcb1c9 do not fail when MercureBundle is not installed
2021-01-20 14:04:20 +01:00
Nicolas Grekas
4cb45fe834 feature #39851 [Console] enable describing commands in ways that make the list command lazy (nicolas-grekas)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Console] enable describing commands in ways that make the `list` command lazy

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #33804
| License       | MIT
| Doc PR        | -

This PR improves the way one can describe a command so that the `list` command can be made lazy:
- when provided using the `$defaultName` property or the `console.command` tag, the name of a command is now exploded using the `|` character. The first name in the list defines the name of the command, the other ones its aliases. When the first name is the empty string, the second name is used instead, and the command is declared as hidden.
- a new `$defaultDescription` static property and a new `description` tag attribute allow for defining the commands' description while registering them.

Together, this is enough to make the `list` command lazy, because this command only accesses each command's name, aliases, hidden-status, and description.

On the implementation side, this PR adds a `LazyCommand` class that proxies regular commands to make them lazy for the target purpose.

This PR will enable support for attributes for configuring a command name+description+etc.
e.g. using the concepts in #39804:
`#[CommandAutoTag(name: 'foo:bar', desc: 'boo', hidden: true)]#`

The attribute could very well split the `hidden` and `aliases` settings apart - while the underlying code and pre-PHP8 apps would use the compact form, because dealing with many static properties + methods would be a maintenance pain imho.

Commits
-------

8a1a1b8171 [Console] enable describing commands in ways that make the `list` command lazy
2021-01-20 13:56:01 +01:00
Christian Flothmann
8cdbdcb1c9 do not fail when MercureBundle is not installed 2021-01-20 13:37:13 +01:00
Oskar Stark
4818b282f7 feature #39838 [Notifier] Add Gitter Bridge (christingruber)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Notifier] Add Gitter Bridge

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

Adds a notifier bridge for https://gitter.im the API documentation https://developer.gitter.im/docs/rest-api.

Commits
-------

d033677dfd Add symfony/gitter-notifier bridge
2021-01-20 12:53:29 +01:00
Nicolas Grekas
8a1a1b8171 [Console] enable describing commands in ways that make the list command lazy 2021-01-20 12:45:16 +01:00
Christin Gruber
d033677dfd Add symfony/gitter-notifier bridge 2021-01-20 11:40:49 +01:00
Oskar Stark
c6100bc386 feature #39342 [Notifier] Add mercure bridge (mtarld)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Notifier] Add mercure bridge

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

Add a Notifier bridge for Mercure.
In this PR, Mercure is considered as a chatter (I'm still wondering if it's the most appropriate type).

The first approach for the DSN is `mercure://jwtToken@host:port/hubPath?topic=/foo/1&secure=false` with:
- `topic` optional (defaults to `null`)
- `secure` optional (defaults to `true`)

I'm not sure about the current way to deal with http/https. Maybe we can just replace the `mercure` scheme by `http|https`?

The notification representation is following [Activity Streams](https://www.w3.org/TR/activitystreams-core/#jsonld)

#SymfonyHackday

Commits
-------

19c6544f42 [Notifier] Add mercure bridge
2021-01-20 07:45:33 +01:00
Alexander M. Turek
d91278a68f Merge branch '5.2' into 5.x
* 5.2:
  [HttpFoundation] Drop int return type from parseFilesize()
  Added $translator->addLoader()
  bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
  [Uid] Clarify the format returned by getTime()
  fix spelling
  Add check for constant in Curl client
  Revert #38614, add assert to avoid regression
  Fix container injection with TypedReference
  Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
  Update PHP CS Fixer config to v2.18
2021-01-19 22:04:23 +01:00
Alexander M. Turek
31dcefe779 Merge branch '5.1' into 5.2
* 5.1:
  [HttpFoundation] Drop int return type from parseFilesize()
  Added $translator->addLoader()
  bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
  [Uid] Clarify the format returned by getTime()
  fix spelling
  Add check for constant in Curl client
  Revert #38614, add assert to avoid regression
  Fix container injection with TypedReference
  Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
  Update PHP CS Fixer config to v2.18
2021-01-19 22:00:40 +01:00
Alexander M. Turek
c639531fe4 Merge branch '4.4' into 5.1
* 4.4:
  [HttpFoundation] Drop int return type from parseFilesize()
  Added $translator->addLoader()
  bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
  fix spelling
  Add check for constant in Curl client
  Revert #38614, add assert to avoid regression
  Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
  Update PHP CS Fixer config to v2.18
2021-01-19 21:48:35 +01:00
Alexander M. Turek
35c19c876b bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (qurben)
This PR was merged into the 4.4 branch.

Discussion
----------

[DoctrineBridge] Add username to UserNameNotFoundException

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| 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 #39878  <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

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

Adds username to UserNameNotFoundException when thrown from EntityUserProvider.

In other places there are no tests for this and I am not sure if the current setup even allows asserting if exceptions contain fields, besides the default ones.

Commits
-------

ee5b51af78 bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
2021-01-19 21:45:16 +01:00
Alexander M. Turek
6c01479a93 minor #39895 [Translator] Added $translator->addLoader() to README example (Ser5)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translator] Added $translator->addLoader() to README example

For the example to work it needs the line with $translator->addLoader().
Fixed it for request at https://github.com/symfony/symfony/issues/39854#issuecomment-762283989

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

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

Commits
-------

ba29d2a2f0 Added $translator->addLoader()
2021-01-19 21:42:38 +01:00
Nicolas Grekas
3257d4c2ed bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (LukeTowers)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Drop int return type from parseFilesize()

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix [octobercms/october#5410](https://github.com/octobercms/october/issues/5410)
| License       | MIT
| Doc PR        |

Related: #34516, #34508, 93685026b0, https://github.com/octobercms/october/issues/5410

Commits
-------

a1b31f840c [HttpFoundation] Drop int return type from parseFilesize()
2021-01-19 18:19:33 +01:00
Luke Towers
a1b31f840c [HttpFoundation] Drop int return type from parseFilesize() 2021-01-19 18:19:22 +01:00
Ser5
ba29d2a2f0
Added $translator->addLoader()
For the example to work it needs the line with $translator->addLoader().
Fixed it for request at https://github.com/symfony/symfony/issues/39854#issuecomment-762283989
2021-01-19 21:09:23 +05:00
Jérémy Derussé
2c8368f592
minor #39892 [Uid] Clarify the format returned by getTime() (fancyweb)
This PR was merged into the 5.1 branch.

Discussion
----------

[Uid] Clarify the format returned by getTime()

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

I think adding a comment to explain the returned format is useful here, especially for uuid since their "normal" epoch is not the unix epoch.

Commits
-------

c14c7376bd [Uid] Clarify the format returned by getTime()
2021-01-19 15:45:30 +01:00
Gerben Oolbekkink
ee5b51af78 bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException 2021-01-19 15:42:58 +01:00
Christian Flothmann
b8e76de57d feature #39863 [Form][Uid] Add UlidType and UuidType form types (Gemorroj)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Form][Uid] Add UlidType and UuidType form types

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | #36102
| License       | MIT
| Doc PR        |

Commits
-------

c84746bc1f add UlidType and UuidType form types
2021-01-19 14:51:27 +01:00
Alexander M. Turek
732bd84a8d minor #39868 Update PHP CS Fixer config to v2.18 (keradus)
This PR was merged into the 4.4 branch.

Discussion
----------

Update PHP CS Fixer config to v2.18

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

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

Commits
-------

734361bb0e Update PHP CS Fixer config to v2.18
2021-01-19 13:34:00 +01:00
Alexander M. Turek
960a108b4a minor #39891 [Validator] fix spelling (ben29)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] fix spelling

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #38744
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

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

Commits
-------

c488ff0089 fix spelling
2021-01-19 13:28:57 +01:00
Thomas Calvet
c14c7376bd [Uid] Clarify the format returned by getTime() 2021-01-19 13:23:40 +01:00
Ben Hakim
c488ff0089
fix spelling 2021-01-19 14:17:53 +02:00
Nicolas Grekas
49889c961a feature #39806 [DependencyInjection] Add a remove() method to the PHP configurator (dunglas)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[DependencyInjection] Add a remove() method to the PHP configurator

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

This especially useful in the `configureContainer()` method of the kernel. It allows to not use a compiler pass to remove some services (for instance, in test mode).

Commits
-------

dcf75fab3e [DependencyInjection] Add a remove() method to the PHP configurator
2021-01-19 12:08:15 +01:00
Kévin Dunglas
dcf75fab3e [DependencyInjection] Add a remove() method to the PHP configurator 2021-01-19 12:06:00 +01:00
Nicolas Grekas
98bfdf751d bug #39889 [HttpClient] Add check for constant in Curl client (pierredup)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Add check for constant in Curl client

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

After updating Curl on a server, I started receiving the following warning:

```
Warning: Use of undefined constant CURLHEADER_SEPARATE - assumed 'CURLHEADER_SEPARATE'
```

This is a bit of a strange issue, so I'm not 100% sure if this fix is correct (or even if it needs fixing here or in PHP).

The `CURLOPT_HEADEROPT` and `CURLHEADER_SEPARATE` have been added in [Curl 7.37.0](https://curl.se/libcurl/c/CURLHEADER_SEPARATE.html). The update on the server installed Curl `7.29.0`.
So technically these constants should not exist, but in fact the `CURLOPT_HEADEROPT` constant is defined but not the `CURLHEADER_SEPARATE` constant.

This seems a bit weird since both constants have been introduced in the same version.

**PHP Version**: 7.4.14
**Curl Version**: 7.29.0
**CentOs Version**: CentOS Linux release 7.9.2009
**symfony/http-client Version**: 5.0.3

```bash
Psy Shell v0.10.6 (PHP 7.4.14 — cli) by Justin Hileman
>>> defined('CURLOPT_HEADEROPT')
=> true
>>> defined('CURLHEADER_SEPARATE')
=> false
>>> curl_version()
=> [
     "version_number" => 466176,
     "age" => 3,
     "features" => 558781,
     "ssl_version_number" => 0,
     "version" => "7.29.0",
     "host" => "x86_64-redhat-linux-gnu",
     "ssl_version" => "NSS/3.53.1",
     "libz_version" => "1.2.7",
     "protocols" => [
       "dict",
       "file",
       "ftp",
       "ftps",
       "gopher",
       "http",
       "https",
       "imap",
       "imaps",
       "ldap",
       "ldaps",
       "pop3",
       "pop3s",
       "rtsp",
       "scp",
       "sftp",
       "smtp",
       "smtps",
       "telnet",
       "tftp",
     ],
     "ares" => "",
     "ares_num" => 0,
     "libidn" => "1.28",
     "iconv_ver_num" => 0,
     "libssh_version" => "libssh2/1.8.0",
   ]
>>>
```

```bash
$ yum info libcurl

Installed Packages
Name        : curl
Arch        : x86_64
Version     : 7.29.0
Release     : 59.el7_9.1
Size        : 528 k
Repo        : installed
From repo   : updates
```

Curl PHP info:

```
cURL support => enabled
cURL Information => 7.29.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => Yes
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => No
SSL => Yes
SSPI => No
TLS-SRP => No
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => x86_64-redhat-linux-gnu
SSL Version => NSS/3.53.1
ZLib Version => 1.2.7
libSSH Version => libssh2/1.8.0
```

Commits
-------

c888797313 Add check for constant in Curl client
2021-01-19 11:12:50 +01:00
Pierre du Plessis
c888797313 Add check for constant in Curl client 2021-01-19 12:01:54 +02:00
Gemorroj
c84746bc1f add UlidType and UuidType form types 2021-01-19 12:00:21 +03:00
Fabien Potencier
6dd5078c62 bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (BafS)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Revert #38614 and add assert to avoid regressions

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

#38614 introduced a BC, this PR revert the PR, update tests and add an assert to avoid regressions.

Commits
-------

3058cd0ec6 Revert #38614, add assert to avoid regression
2021-01-18 21:10:51 +01:00
BafS
3058cd0ec6
Revert #38614, add assert to avoid regression 2021-01-18 20:11:38 +01:00
Nicolas Grekas
b4ec36fad4 bug #39873 [DependencyInjection] Fix container injection with TypedReference (jderusse)
This PR was merged into the 5.1 branch.

Discussion
----------

[DependencyInjection] Fix container injection with TypedReference

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

When using `TypedReference`, the closure signature is `function (...): Type {` which does not matche the regular expresion that replace `$this` by `$container` + `use ($container)`

note: there is no issue in 4.4. At that time, dumped container use `$this->services` and looks like:
```
$instance->closures = [0 => function (): ?\stdClass {\n
    return ($this->services['foo'] ?? null);\n
}];
```

Commits
-------

f8c14acd51 Fix container injection with TypedReference
2021-01-18 19:01:07 +01:00
Fabien Potencier
294195157c bug #39865 [Asset] Fix JsonManifest when there is no dependency on HttpClient (maxhelias)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Asset] Fix JsonManifest when there is no dependency on HttpClient

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

Recently on my project, I don't have any more dependency on HttpClient and the tests on the 5.x I have this error :

<img width="678" alt="Capture d’écran 2021-01-17 à 14 26 16" src="https://user-images.githubusercontent.com/12966574/104844393-45a7d180-58d0-11eb-870b-ad4b7b78d092.png">

~~I think this should also be the case for the RemoteJsonManifestVersionStrategy but I don't have a use case to try it.~~

It's related to https://github.com/symfony/symfony/pull/39484

Commits
-------

e0e691a074 [Asset] Fix JsonManifest when there is no dependency on HttpClient
2021-01-18 15:48:21 +01:00
Jérémy Derussé
f8c14acd51
Fix container injection with TypedReference 2021-01-18 14:53:48 +01:00
Maxime Hélias
e0e691a074 [Asset] Fix JsonManifest when there is no dependency on HttpClient 2021-01-18 14:48:39 +01:00
Fabien Potencier
6af444607c bug #39858 Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value (alexander-schranz)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? |
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

This should fix that when `SYMFONY_PHPUNIT_VERSION` is set again on empty:

```
SYMFONY_PHPUNIT_VERSION= vendor/bin/simple-phpunit
```

it does not error with:

```bash
Creating a "phpunit/phpunit" project at "./phpunit--1"

  [UnexpectedValueException]
  Could not parse version constraint .*: Invalid version string ".*"
```

Commits
-------

72ce010c0b Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
2021-01-18 13:32:08 +01:00
Alexander Schranz
72ce010c0b Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value 2021-01-18 13:32:02 +01:00
Dariusz Rumiński
734361bb0e
Update PHP CS Fixer config to v2.18 2021-01-18 03:36:26 +01:00
Robin Chalas
d093475ce5 Merge branch '5.2' into 5.x
* 5.2:
  fix merge
2021-01-17 12:18:08 +01:00
Robin Chalas
b82378d61f Merge branch '5.1' into 5.2
* 5.1:
  fix merge
2021-01-17 12:17:44 +01:00
Robin Chalas
6928ddec29 fix merge 2021-01-17 12:17:26 +01:00
Robin Chalas
23d257460d Merge branch '5.2' into 5.x
* 5.2:
  [Security] Replace message data in JSON security error response
  [Security] Replace message data in JSON security error response
  [DI] Skip deprecated definitions in CheckTypeDeclarationsPass
  [Messenger][AmazonSqs] Fix auto-setup for fifo queue
  [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
2021-01-17 11:59:47 +01:00
Robin Chalas
c702c47f54 Merge branch '5.1' into 5.2
* 5.1:
  [Security] Replace message data in JSON security error response
  [DI] Skip deprecated definitions in CheckTypeDeclarationsPass
  [Messenger][AmazonSqs] Fix auto-setup for fifo queue
  [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
2021-01-17 11:58:44 +01:00
Robin Chalas
f2c5f25a98 Merge branch '4.4' into 5.1
* 4.4:
  [Security] Replace message data in JSON security error response
  [DI] Skip deprecated definitions in CheckTypeDeclarationsPass
  [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
2021-01-17 11:37:09 +01:00
Fabien Potencier
fa87194fe7 feature #39843 [FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code (dunglas)
This PR was squashed before being merged into the 5.3-dev branch.

Discussion
----------

[FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code

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

A 422 HTTP status code should be returned after the submission of an invalid form. Some libraries including [Turbo](https://github.com/hotwired/turbo/pull/39) rely on this behavior and will not display the updated form (containing errors) unless this status code is present.

Rails also [recently switched to this behavior ](https://github.com/rails/rails/pull/41026) by default for the same reason.

I propose to introduce a new helper method rendering the form and setting the appropriate status code. It makes the code cleaner:

```php
// src/Controller/TaskController.php

// ...
use Symfony\Component\HttpFoundation\Request;

class TaskController extends AbstractController
{
    public function new(Request $request): Response
    {
        $task = new Task();
        $form = $this->createForm(TaskType::class, $task);

        $form->handleRequest($request);
        if ($form->isSubmitted() && $form->isValid()) {
            $task = $form->getData();
            // ...

            return $this->redirectToRoute('task_success');
        }

        return $this->renderForm('task/new.html.twig', $form);
    }
}
```

Commits
-------

4c77e50e6a [FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code
2021-01-17 08:35:40 +01:00
Kévin Dunglas
4c77e50e6a [FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code 2021-01-17 08:35:35 +01:00
Fabien Potencier
93e853dd09 feature #39852 [Security] RoleHierarchy returns an unique array of roles (lyrixx)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Security] RoleHierarchy returns an unique array of roles

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | yes: performance
| Deprecations? |
| Tickets       |
| License       | MIT
| Doc PR        |

Speedup: https://github.com/symfony/symfony/blob/5.x/src/Symfony/Component/Security/Core/Authorization/Voter/RoleVoter.php#L48
BTW, why isn't an `in_array()` there?

Commits
-------

aa0494c6fc [Security] RoleHierarchy returns unique an unique array of roles
2021-01-17 08:29:02 +01:00
Fabien Potencier
771a2a4277 feature #39855 [HttpFoundation] deprecate the NamespacedAttributeBag class (xabbuh)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[HttpFoundation] deprecate the NamespacedAttributeBag class

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | no
| Deprecations? | yes
| Tickets       | Fix #32616
| License       | MIT
| Doc PR        |

Commits
-------

da9de69de0 deprecate the NamespacedAttributeBag class
2021-01-17 08:26:56 +01:00
Robin Chalas
5ba237a8ec bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass

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

When a definition uses a deprecated class , `CheckTypeDeclarationsPass` (with `$autoload = true`) will autoload the class, which triggers a deprecation notice. That breaks the CI in #39802 because the compiler pass is registered inside the SecurityBundle test suite.
I propose to stop checking deprecated definitions. Makes sense?

Commits
-------

531c81a06e [DI] Skip deprecated definitions in CheckTypeDeclarationsPass
2021-01-17 00:11:08 +01:00
Robin Chalas
833a9e0a47 bug #39862 [Security] Replace message data in JSON security error response (wouterj)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Replace message data in JSON security error response

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix part of #39663
| License       | MIT
| Doc PR        | n/a

The 4.4 part of #39859

Commits
-------

ab2ca7145f [Security] Replace message data in JSON security error response
2021-01-17 00:09:57 +01:00
Robin Chalas
5ba4925c91 bug #39859 [Security] Replace message data in JSON security error response (wouterj)
This PR was merged into the 5.2 branch.

Discussion
----------

[Security] Replace message data in JSON security error response

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

Commits
-------

5e5795acd1 [Security] Replace message data in JSON security error response
2021-01-17 00:06:41 +01:00