Commit Graph

43234 Commits

Author SHA1 Message Date
Nicolas Grekas
07abdf27d8 Merge branch '5.1' into 5.2
* 5.1:
  Fix merge
2021-01-27 11:36:42 +01:00
Nicolas Grekas
bdae9cbf14 Fix merge 2021-01-27 11:36:24 +01:00
Nicolas Grekas
02d2834ec0 Merge branch '5.1' into 5.2
* 5.1:
  add missing use statement
2021-01-27 11:30:59 +01:00
Christian Flothmann
cfab105930 add missing use statement 2021-01-27 11:28:18 +01:00
Nicolas Grekas
e7966c099b Merge branch '5.2' into 5.x
* 5.2:
  Use createMock() and use import instead of FQCN
2021-01-27 11:19:48 +01:00
Nicolas Grekas
854de3cc2e Merge branch '5.1' into 5.2
* 5.1:
  Use createMock() and use import instead of FQCN
2021-01-27 11:15:41 +01:00
Nicolas Grekas
28f1ab67ca Merge branch '4.4' into 5.1
* 4.4:
  Use createMock() and use import instead of FQCN
2021-01-27 11:01:46 +01:00
Nicolas Grekas
22b1eb40a3 minor #39941 Use createMock() and use import instead of FQCN (OskarStark)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Use createMock() and use import instead of FQCN

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

Commits
-------

e7e61ee551 Use createMock() and use import instead of FQCN
2021-01-27 10:09:34 +01:00
Oskar Stark
e7e61ee551 Use createMock() and use import instead of FQCN 2021-01-27 10:09:26 +01:00
Nicolas Grekas
b8ab4ec721 Merge branch '5.2' into 5.x
* 5.2:
  Fix transient tests
  Fix class resolution in Doctrine EventListenerPass
  [SecurityBundle] Fix referencing aliases from RegisterEntryPointPass
  [Serializer] Fix tests  marked as incomplete
  propagate the object being validated to sub-constraints
  [Translator] fix handling plural for floating numbers
  fix redis messenger options with dsn
  Update ConsoleEvents.php
  allow Doctrine persistence 2 too
  [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64
  add doctrine/persistence as a dev requirement
  Exclude non-initialized properties accessed with getters
2021-01-27 10:05:46 +01:00
Nicolas Grekas
98b58b4c4c Merge branch '5.1' into 5.2
* 5.1:
  Fix transient tests
  Fix class resolution in Doctrine EventListenerPass
  [Serializer] Fix tests  marked as incomplete
  propagate the object being validated to sub-constraints
  [Translator] fix handling plural for floating numbers
  fix redis messenger options with dsn
  Update ConsoleEvents.php
  allow Doctrine persistence 2 too
  [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64
  add doctrine/persistence as a dev requirement
  Exclude non-initialized properties accessed with getters
2021-01-27 10:04:53 +01:00
Nicolas Grekas
abf8010eae Merge branch '4.4' into 5.1
* 4.4:
  Fix transient tests
  Fix class resolution in Doctrine EventListenerPass
  [Serializer] Fix tests  marked as incomplete
  [Translator] fix handling plural for floating numbers
  fix redis messenger options with dsn
  Update ConsoleEvents.php
  allow Doctrine persistence 2 too
  [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64
  add doctrine/persistence as a dev requirement
  Exclude non-initialized properties accessed with getters
2021-01-27 10:04:36 +01:00
Nicolas Grekas
c925f4cff8 minor #39987 [HttpKernel] Fix transient tests (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Fix transient tests

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

Because request contains a `REQUEST_TIME` attribute, it make tests failing https://ci.appveyor.com/project/fabpot/symfony/builds/37455398

Commits
-------

9562d6ba5a Fix transient tests
2021-01-27 09:41:19 +01:00
Nicolas Grekas
190f089fee minor #39990 [DoctrineBridge] Fix class resolution in Doctrine EventListenerPass (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DoctrineBridge] Fix class resolution in Doctrine EventListenerPass

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

Commits
-------

08b2da79e8 Fix class resolution in Doctrine EventListenerPass
2021-01-27 09:30:24 +01:00
Jérémy Derussé
9562d6ba5a
Fix transient tests 2021-01-27 01:05:29 +01:00
Jérémy Derussé
08b2da79e8
Fix class resolution in Doctrine EventListenerPass 2021-01-27 01:01:34 +01:00
Nicolas Grekas
484a95d8d1 bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (BoShurik)
This PR was merged into the 4.4 branch.

Discussion
----------

[Serializer] Exclude non-initialized properties accessed with getters

| 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       | no <!-- 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 -->

Allow to serialize
```php
final class Php74DummyPrivate
{
    private string $uninitializedProperty;

    private string $initializedProperty = 'defaultValue';

    public function getUninitializedProperty(): string
    {
        return $this->uninitializedProperty;
    }

    public function getInitializedProperty(): string
    {
        return $this->initializedProperty;
    }
}
```

Similar to #34791

Commits
-------

da9100320e Exclude non-initialized properties accessed with getters
2021-01-26 21:44:18 +01:00
Nicolas Grekas
8e90a80199 feature #39910 [FrameworkBundle] Command cache:pool:clear warns and fails when one of the pools fails to clear (jderusse)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[FrameworkBundle] Command cache:pool:clear warns and fails when one of the pools fails to clear

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

Throw an exception when clear cache fails

Commits
-------

fc6424a0a2 Throw exception when clear failed
2021-01-26 21:41:20 +01:00
Nicolas Grekas
ffdc46c86b minor #39975 [Serializer] Fix tests wrongly marked as incomplete (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Serializer] Fix tests wrongly marked as incomplete

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

https://github.com/symfony/symfony/pull/30907 has been merged meanwhile.

Commits
-------

e632302004 [Serializer] Fix tests  marked as incomplete
2021-01-26 21:39:55 +01:00
Robin Chalas
8dcc3d61c5 [SecurityBundle] Fix referencing aliases from RegisterEntryPointPass 2021-01-26 16:45:37 +01:00
Jérémy Derussé
fc6424a0a2
Throw exception when clear failed 2021-01-26 16:32:48 +01:00
Robin Chalas
e632302004 [Serializer] Fix tests marked as incomplete 2021-01-26 11:29:51 +01:00
Nicolas Grekas
97779ec318 bug #39872 [Validator] propagate the object being validated to nested constraints (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[Validator] propagate the object being validated to nested constraints

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

Commits
-------

8c1bac90aa propagate the object being validated to sub-constraints
2021-01-26 10:36:50 +01:00
Jon Green
916a8cfe7e [String] Make AsciiSlugger fallback to parent locale's symbolsMap 2021-01-26 10:33:05 +01:00
Christian Flothmann
8c1bac90aa propagate the object being validated to sub-constraints 2021-01-26 10:29:29 +01:00
Nicolas Grekas
4b8983aef5 bug #39887 [Translator] fix handling plural for floating numbers (kylekatarnls)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Translator] fix handling plural for floating numbers

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

Commits
-------

533cd7ef6c [Translator] fix handling plural for floating numbers
2021-01-26 10:08:00 +01:00
kylekatarnls
533cd7ef6c [Translator] fix handling plural for floating numbers 2021-01-26 10:07:54 +01:00
Bastien Picharles
a0e7bf4c0d fix redis messenger options with dsn 2021-01-26 09:57:06 +01:00
Steve Hyde
38fd86f34e Update ConsoleEvents.php
input and output can be handed to the command, handed off to the command, or can be handled by the command, but handled to the command doesn't work
2021-01-26 09:54:39 +01:00
Christian Flothmann
11a9e10beb allow Doctrine persistence 2 too 2021-01-26 08:56:21 +01:00
Fabien Potencier
43eb050c0d bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64

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

Replaces #33920

When using the Doctrine transport, sending emails with binary attachments currently requires a custom Messenger serializer because the "body" column is created for UTF-8 only.

In #33920, it is proposed to change the TEXT type to a BLOB. It leaves at least one problem unhandled: the conversion of existing messenger tables.

This PR takes a more conservative approach, by encoding messages to base 64, only if they are non-UTF8.

Compatibility with the existing format is preserved.

The drawback of this approach is that the size of eg email attachments is going to increase by 33% because of the extra encoding. I think this drawback is acceptable for 4.4, and that this PR is the most pragmatic way to make attachments just work.

Commits
-------

6fc9e51722 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64
2021-01-25 22:43:21 +01:00
pdragun
43a9a54aab [Cache] Change PDO cache table collate from utf8_bin to utf8mb4_bin 2021-01-25 20:20:05 +01:00
Nicolas Grekas
6fc9e51722 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 2021-01-25 18:37:49 +01:00
Christian Flothmann
6ea9e4d7ca add doctrine/persistence as a dev requirement 2021-01-25 17:45:18 +01:00
Oskar Stark
ffc2c1e1da feature #38922 [Notifier] Add notifier for Clickatell (Kevin Auivinet, Kevin Auvinet, ke20)
This PR was squashed before being merged into the 5.3-dev branch.

Discussion
----------

[Notifier] Add notifier for Clickatell

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

Add notifier bridge for Clickatell

Commits
-------

c508732e95 [Notifier] Add notifier for Clickatell
2021-01-25 17:32:49 +01:00
Kevin Auivinet
c508732e95 [Notifier] Add notifier for Clickatell 2021-01-25 17:32:42 +01:00
Oskar Stark
752d030592 Merge branch '5.2' into 5.x
* 5.2:
  Fix typo in test
2021-01-25 17:23:44 +01:00
Oskar Stark
fe57893025 Merge branch '5.1' into 5.2
* 5.1:
  Fix typo in test
2021-01-25 17:23:41 +01:00
Oskar Stark
79c9a1a6b2 Fix typo in test 2021-01-25 17:14:18 +01:00
Nicolas Grekas
c9fc299aed Merge branch '5.2' into 5.x
* 5.2:
  Fix merge
2021-01-25 16:15:10 +01:00
Nicolas Grekas
470d3e7866 Fix merge 2021-01-25 16:14:59 +01:00
Nicolas Grekas
2049c47ff3 Merge branch '5.2' into 5.x
* 5.2:
  Changed private static array-properties to const static properties newly introduced in 5.2
  Changed private static array-properties to const static properties newly introduced in 5.1
2021-01-25 16:00:39 +01:00
Simon Berger
a5fd0c48eb Changed private static array-properties to const
static properties newly introduced in 5.2
2021-01-25 15:52:07 +01:00
Nicolas Grekas
e23aae35c1 Merge branch '5.1' into 5.2
* 5.1:
  Changed private static array-properties to const static properties newly introduced in 5.1
2021-01-25 15:44:52 +01:00
Nicolas Grekas
ac61623ef8 minor #39962 Changed private static array-properties to const (5.1) (simonberger)
This PR was merged into the 5.1 branch.

Discussion
----------

Changed private static array-properties to const (5.1)

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

This continues #39959 for 5.1
Just a few newly introduced readonly static array-properties.

/cc @nicolas-grekas

Commits
-------

f891fb2e5e Changed private static array-properties to const static properties newly introduced in 5.1
2021-01-25 15:44:36 +01:00
Simon Berger
f891fb2e5e Changed private static array-properties to const
static properties newly introduced in 5.1
2021-01-25 15:41:58 +01:00
Nicolas Grekas
614bf83eea Merge branch '5.2' into 5.x
* 5.2:
  Fix merge
2021-01-25 15:24:40 +01:00
Nicolas Grekas
00f99bd517 Merge branch '5.1' into 5.2
* 5.1:
  Fix merge
2021-01-25 15:24:26 +01:00
Nicolas Grekas
a2ded28a8d Fix merge 2021-01-25 15:22:12 +01:00
Nicolas Grekas
c377a795f5 Merge branch '5.2' into 5.x
* 5.2:
  Changed private static array-properties to const
2021-01-25 15:09:21 +01:00
Nicolas Grekas
a5ef152ee2 Merge branch '5.1' into 5.2
* 5.1:
  Changed private static array-properties to const
2021-01-25 15:08:25 +01:00
Nicolas Grekas
6f732876c1 Merge branch '4.4' into 5.1
* 4.4:
  Changed private static array-properties to const
2021-01-25 14:59:38 +01:00
Nicolas Grekas
3141873bf0 Merge branch '5.2' into 5.x
* 5.2:
  [Uid] fix checking for valid UUIDs
  [Validator] Fix DebugCommand
  check parent types for label_format and translation_domain
  [HttpKernel] Configure the ErrorHandler even when it is overriden
  Allow relative path to composer cache
  [RateLimiter] Fix infinite values with NoLimiter
2021-01-25 14:54:19 +01:00
Nicolas Grekas
c11a6da08c Merge branch '5.1' into 5.2
* 5.1:
  [Uid] fix checking for valid UUIDs
  [HttpKernel] Configure the ErrorHandler even when it is overriden
  Allow relative path to composer cache
2021-01-25 14:54:05 +01:00
Nicolas Grekas
be896b5004 Merge branch '4.4' into 5.1
* 4.4:
  [HttpKernel] Configure the ErrorHandler even when it is overriden
  Allow relative path to composer cache
2021-01-25 14:53:56 +01:00
Nicolas Grekas
7daef4ff6d [Uid] fix checking for valid UUIDs 2021-01-25 12:59:00 +01:00
BoShurik
da9100320e Exclude non-initialized properties accessed with getters 2021-01-25 13:41:50 +03:00
Oskar Stark
e5e2cd4b9f [Notifier] [Mobyt] Change ctor signature and validate message types 2021-01-25 08:40:52 +01:00
Simon Berger
aa79381fe4 Changed private static array-properties to const 2021-01-25 00:44:26 +01:00
Christian Flothmann
73509d974b minor #39905 [Notifier] Check for MercureBundle in MercureTransportFactory (mtarld)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Notifier] Check for MercureBundle in MercureTransportFactory

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

https://github.com/symfony/symfony/pull/39903 has removed the check for `MercureBundle` from the `FrameworkExtension`.
The following PR is re-adding that check but in the `MercureTransportFactory` class.

Commits
-------

49bbbc1ed5 [Notifier] Check for MercureBundle in Factory
2021-01-24 21:12:49 +01:00
Christian Flothmann
c38473a917 bug #39951 [Form] check parent types for label_format and translation_domain (xabbuh)
This PR was merged into the 5.2 branch.

Discussion
----------

[Form] check parent types for label_format and translation_domain

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

Commits
-------

a5505c4dfa check parent types for label_format and translation_domain
2021-01-24 21:08:29 +01:00
Nicolas Grekas
4c2375fd12 feature #39919 [Security] Randomize CSRF token to harden BREACH attacks (jderusse)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Security] Randomize CSRF token to harden BREACH attacks

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

This PR randomize the CSRF token in each request in order to hardening the [BREACH attack](https://en.wikipedia.org/wiki/Cross-site_request_forgery)

Commits
-------

8b01095933 Randomize CSRF token to harden BREACH attacks
2021-01-23 19:51:17 +01:00
Nicolas Grekas
3fedac0f0a bug #39911 [RateLimiter] Fix infinite values with NoLimiter (YaFou)
This PR was merged into the 5.2 branch.

Discussion
----------

[RateLimiter] Fix infinite values with NoLimiter

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #39899
| 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.
-->

See #39899. I don't find any solution to convert `\INF` constant (which is a float value) to an integer.

Commits
-------

4f9eedfcf7 [RateLimiter] Fix infinite values with NoLimiter
2021-01-23 19:48:57 +01:00
Nicolas Grekas
b4c362cdc3 bug #39936 [Validator] Fix DebugCommand (loic425)
This PR was squashed before being merged into the 5.2 branch.

Discussion
----------

[Validator] Fix DebugCommand

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| 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/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
-------

1eb13767fc [Validator] Fix DebugCommand
2021-01-23 19:47:03 +01:00
Loïc Frémont
1eb13767fc [Validator] Fix DebugCommand 2021-01-23 19:46:54 +01:00
Nicolas Grekas
0c7eb27c5e bug #39909 [PhpUnitBridge] Allow relative path to composer cache (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] Allow relative path to composer cache

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

When users defines a relative path in the `COMPOSER_CACHE_DIR` env variable,
The `simple-phpunit` code, by changing the directory (with `chdir`), give to composer a different context. At the end, composer stores its cache inside the `vendor/bin/.phpunit` folder, and inside the `vendor/bin/.phpunit/phpunit-X.Y.Z` folder.

This PR convert the relative path provided by the user into Absolute path.

Commits
-------

cde0ffdc83 Allow relative path to composer cache
2021-01-23 19:22:35 +01:00
Nicolas Grekas
799bc2a8e0 bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Configure the ErrorHandler even when it is overriden

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

Fixes the part of https://github.com/getsentry/sentry-symfony/issues/421 that is about `DebugHandlersListener`.

Commits
-------

31817b48e2 [HttpKernel] Configure the ErrorHandler even when it is overriden
2021-01-23 19:11:27 +01:00
Mathias Arlaud
49bbbc1ed5 [Notifier] Check for MercureBundle in Factory 2021-01-23 16:58:40 +01:00
Christian Flothmann
a5505c4dfa check parent types for label_format and translation_domain 2021-01-23 14:28:52 +01:00
Christian Flothmann
47121285f1 Merge branch '5.2' into 5.x
* 5.2:
  fix test
  "export-ignore" contracts and phpunit-bridge
  [Console][Command] Fix Closure code binding when it is a static anonymous function
  Use class const in test
  [Security] [HttpFoundation] Use class const in test
  [Notifier] [OvhCloud] “Invalid signature” for message with slashes
  Remove wrong test
  [PropertyInfo] Fix breaking change with has*(arguments...) methods
  [Uid] Unable to extend Uuid/Ulid and use fromString()
  Fix typo in property name
2021-01-23 10:52:46 +01:00
Christian Flothmann
6f8b4cbfe6 Merge branch '5.1' into 5.2
* 5.1:
  "export-ignore" contracts and phpunit-bridge
  [Console][Command] Fix Closure code binding when it is a static anonymous function
  Use class const in test
  [Security] [HttpFoundation] Use class const in test
  [PropertyInfo] Fix breaking change with has*(arguments...) methods
2021-01-23 10:47:32 +01:00
Christian Flothmann
a933c3e0a1 Merge branch '4.4' into 5.1
* 4.4:
  "export-ignore" contracts and phpunit-bridge
  [Console][Command] Fix Closure code binding when it is a static anonymous function
2021-01-23 10:39:08 +01:00
Nicolas Grekas
31817b48e2 [HttpKernel] Configure the ErrorHandler even when it is overriden 2021-01-22 18:13:09 +01:00
Christian Flothmann
de8ddfdfba bug #39896 [PropertyInfo] Fix breaking change with has*(arguments...) methods (YaFou)
This PR was merged into the 5.1 branch.

Discussion
----------

[PropertyInfo] Fix breaking change with has*(arguments...) methods

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #39885
| 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.
-->

Until 5.0:
```php
class Dummy
{
    private $elements;

    public function hasElement($element): bool
    {
        // ...
    }
}

$extractor = new ReflectionExtractor();
$extractor->isReadable('Dummy', 'element'); // false
```

After 5.0:
```php
class Dummy
{
    private $elements;

    public function hasElement($element): bool
    {
        // ...
    }
}

$extractor = new ReflectionExtractor();
$extractor->isReadable('Dummy', 'element'); // true => BREAKING CHANGE
```

Commits
-------

37cc16e3d8 [PropertyInfo] Fix breaking change with has*(arguments...) methods
2021-01-22 18:02:52 +01:00
Christian Flothmann
542dddca9a fix test 2021-01-22 17:15:52 +01:00
Robin Chalas
c6f5e2a3b8 bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] [Command] Fix Closure code binding when it is a static anonymous function

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

I'm building a single command application and I did:
```php
->setCode(static function (InputInterface $input, OutputInterface $output): void {
    // my code
})
```
and it results in a warning `Cannot bind an instance to a static closure` + an exception `You must override the execute() method in the concrete command class.` I guess we should silently fail here if the Closure is not bindable.

Commits
-------

18d426871e [Console][Command] Fix Closure code binding when it is a static anonymous function
2021-01-22 13:37:43 +01:00
Jérémy Derussé
26452260ed
minor #39931 Use class const in test (OskarStark)
This PR was merged into the 5.1 branch.

Discussion
----------

Use class const in test

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

super minor, same as #39930, but for `5.1`

I will finish this PR after #39930 is merged and upmerged

Commits
-------

4a98eeecdc [Security] [HttpFoundation] Use class const in test
2021-01-22 11:24:07 +01:00
Jérémy Derussé
ac362e369c
Merge branch '4.4' into 5.1
* 4.4:
  Use class const in test
2021-01-22 11:23:37 +01:00
Thomas Calvet
18d426871e [Console][Command] Fix Closure code binding when it is a static anonymous function 2021-01-22 09:23:15 +01:00
Oskar Stark
39181f4fdf Use class const in test 2021-01-22 08:46:09 +01:00
Oskar Stark
4a98eeecdc [Security] [HttpFoundation] Use class const in test 2021-01-22 08:08:23 +01:00
Oskar Stark
b5af0083de Merge branch '5.1' into 5.2
* 5.1:
  [Notifier] [OvhCloud] “Invalid signature” for message with slashes
2021-01-21 20:03:15 +01:00
Oskar Stark
1c9d2c8982 bug #39871 [Notifier] [OvhCloud] “Invalid signature” for message with slashes (OneT0uch)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Notifier] [OvhCloud] “Invalid signature” for message with slashes

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

Test to show issue of invalid signature when message contains slash.

Commits
-------

9f01fb84b7 [Notifier] [OvhCloud] “Invalid signature” for message with slashes
2021-01-21 20:02:32 +01:00
Théo DELCEY
9f01fb84b7 [Notifier] [OvhCloud] “Invalid signature” for message with slashes 2021-01-21 20:02:19 +01:00
Jérémy Derussé
8b01095933
Randomize CSRF token to harden BREACH attacks 2021-01-21 17:55:18 +01:00
Jérémy Derussé
c1769d1b48
Merge branch '5.1' into 5.2
* 5.1:
  Remove wrong test
  [Uid] Unable to extend Uuid/Ulid and use fromString()
  Fix typo in property name
2021-01-21 17:54:56 +01:00
Jérémy Derussé
7e2ac5ff33
Merge branch '4.4' into 5.1
* 4.4:
  Remove wrong test
  Fix typo in property name
2021-01-21 17:54:24 +01:00
Christian Flothmann
72a82c3a79 minor #39917 [Uid] split success and failure tests (xabbuh)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Uid] split success and failure tests

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

Commits
-------

ea9624e3be split success and failure tests
2021-01-21 17:02:02 +01:00
Jérémy Derussé
91c360ec75
Remove wrong test 2021-01-21 16:51:17 +01:00
Alexandre Parent
69fcd075eb Fix console logger according to PSR-3 2021-01-21 09:05:34 -05:00
Christian Flothmann
55e421fda3 slightly clarify command descriptions 2021-01-21 12:15:15 +01:00
Christian Flothmann
ea9624e3be split success and failure tests 2021-01-21 11:36:16 +01:00
YaFou
37cc16e3d8
[PropertyInfo] Fix breaking change with has*(arguments...) methods 2021-01-20 22:15:48 +01:00
Jérémy Derussé
cde0ffdc83
Allow relative path to composer cache 2021-01-20 21:19:14 +01:00
YaFou
4f9eedfcf7
[RateLimiter] Fix infinite values with NoLimiter 2021-01-20 21:07:17 +01:00
Nicolas Grekas
0a667273ed bug #39906 [Notifier] Fix HttpClient TransportException handling (mtarld)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Notifier] Fix HttpClient TransportException handling

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

Right now, when exceptions are coming from HttpClient component, we always assume that there is a response and use it to throw a Notifier's `TransportException`.

But with this approach, `TransportExceptionInterface` and `DecodingExceptionInterface` aren't handled properly because they aren't containing a response at all.

This PR fix the exception handling when such exceptions are thrown.

Commits
-------

bb32beb488 [Notifier] Fix HttpClient TransportException handle
2021-01-20 18:40:12 +01:00
Mathias Arlaud
bb32beb488 [Notifier] Fix HttpClient TransportException handle 2021-01-20 18:29:51 +01:00
Nicolas Grekas
c5140c242b feature #39850 [Uid] Add fromBase58(), fromBase32(), fromRfc4122() and fromBinary() methods (fancyweb)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Uid] Add fromBase58(), fromBase32(), fromRfc4122() and fromBinary() methods

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

Commits
-------

c01ec7d462 [Uid] Add fromBase58(), fromBase32(), fromRfc4122() and fromBinary()
2021-01-20 18:24:50 +01:00
Oskar Stark
824777938d [Uid] Unable to extend Uuid/Ulid and use fromString() 2021-01-20 18:19:46 +01:00
Robin Chalas
dc9db1e66f feature #39904 [Console] add option --short to the list command (nicolas-grekas)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[Console] add option `--short` to the `list` command

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

This PR is a follow up of https://github.com/symfony/symfony/pull/39851, triggered by @wouterj's comment at https://github.com/symfony/symfony/pull/39851#pullrequestreview-572147186.

This new option should enable creating fast shell auto-completion, by allowing the `list` command to run fast.

Commits
-------

81d5728f4a [Console] add option `--short` to the `list` command
2021-01-20 17:38:21 +01:00
Thomas Calvet
c01ec7d462 [Uid] Add fromBase58(), fromBase32(), fromRfc4122() and fromBinary() 2021-01-20 15:45:19 +01:00
Nicolas Grekas
81d5728f4a [Console] add option --short to the list command 2021-01-20 14:27:30 +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
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
HypeMC
a70b71b50e Fix typo in property name 2021-01-20 03:37:58 +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
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
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
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
Kévin Dunglas
dcf75fab3e [DependencyInjection] Add a remove() method to the PHP configurator 2021-01-19 12:06:00 +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
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
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
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
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
Wouter de Jong
ab2ca7145f [Security] Replace message data in JSON security error response 2021-01-16 23:34:24 +01:00
Wouter de Jong
5e5795acd1 [Security] Replace message data in JSON security error response 2021-01-16 23:33:07 +01:00
Christian Flothmann
da9de69de0 deprecate the NamespacedAttributeBag class 2021-01-16 11:11:08 +01:00
Mathias Arlaud
19c6544f42 [Notifier] Add mercure bridge 2021-01-16 10:46:54 +01:00
Grégoire Pineau
aa0494c6fc [Security] RoleHierarchy returns unique an unique array of roles 2021-01-15 18:40:08 +01:00
Robin Chalas
531c81a06e [DI] Skip deprecated definitions in CheckTypeDeclarationsPass 2021-01-15 18:01:26 +01:00
Oskar Stark
38f633132e
Fix underline 2021-01-15 12:10:58 +01:00
Oskar Stark
5a71928ef1 [Notifier] [GoogleChat] [BC BREAK] Rename threadKey parameter to thread_key + set parameter via ctor 2021-01-15 11:33:37 +01:00
Gijs van Lammeren
308f8fede0 [Messenger][AmazonSqs] Fix auto-setup for fifo queue 2021-01-15 11:12:31 +01:00
Oskar Stark
28533aa43c Merge branch '5.2' into 5.x
* 5.2:
  [Notifier] [GoogleChat] Fix wrong test
2021-01-15 10:44:43 +01:00
Christian Flothmann
8076c2f8ba bug #39667 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity (victormacko)
This PR was merged into the 4.4 branch.

Discussion
----------

[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity

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

In Symfony 4.4.17 (I think), using ManyToMany in doctrine, along with indexBy="person_id" (in the related entity, which has a property of "id" (which in-turn uses the db column "person_id" worked as expected. When upgrading to Symfony 5.2.1, this stops working.

This change continues on from issue #37982 to fix a further edge case.

Commits
-------

472eab11e9 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
2021-01-15 10:06:59 +01:00