Commit Graph

39215 Commits

Author SHA1 Message Date
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
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
Simon Berger
aa79381fe4 Changed private static array-properties to const 2021-01-25 00:44:26 +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
Nicolas Grekas
31817b48e2 [HttpKernel] Configure the ErrorHandler even when it is overriden 2021-01-22 18:13:09 +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
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
Jérémy Derussé
91c360ec75
Remove wrong test 2021-01-21 16:51:17 +01:00
Jérémy Derussé
cde0ffdc83
Allow relative path to composer cache 2021-01-20 21:19:14 +01:00
HypeMC
a70b71b50e Fix typo in property name 2021-01-20 03:37:58 +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
Ben Hakim
c488ff0089
fix spelling 2021-01-19 14:17:53 +02:00
Pierre du Plessis
c888797313 Add check for constant in Curl client 2021-01-19 12:01:54 +02:00
BafS
3058cd0ec6
Revert #38614, add assert to avoid regression 2021-01-18 20:11:38 +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
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
Robin Chalas
531c81a06e [DI] Skip deprecated definitions in CheckTypeDeclarationsPass 2021-01-15 18:01:26 +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
victor
472eab11e9 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity 2021-01-15 09:23:31 +01:00
Jérémy Derussé
23d692107c
Fix circular loop with EntityManager 2021-01-14 19:54:59 +01:00
Nicolas Grekas
1d7c3f6d6e µCS fix 2021-01-14 16:32:58 +01:00
Nicolas Grekas
617c835b84 CS fix 2021-01-14 16:08:15 +01:00
Nicolas Grekas
9a04b00e69 minor #39823 [travis] use PHP 8.0 to patch return types and run deps=low (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

 [travis] use PHP 8.0 to patch return types and run deps=low

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

(I need to verify that DebugClassLoader works as expected before merging)

Commits
-------

7f5ea78fb8 [travis] use PHP 8.0 to patch return types and run deps=low
2021-01-14 16:02:41 +01:00
Nicolas Grekas
0e25f405a9 bug #39821 [DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions

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

Defining an alias that points to a deprecated definition should trigger a deprecation notice, but when the alias itself is deprecated, it should not trigger.

Commits
-------

38f98a1165 Don't trigger deprecation for deprecated aliases pointing to deprecated definitions
2021-01-14 16:01:47 +01:00
Nicolas Grekas
8d4dcd262a minor #39792 [Config] Add \Symfony\Component\Config\Loader::load() return type (zerkms)
This PR was merged into the 4.4 branch.

Discussion
----------

[Config] Add \Symfony\Component\Config\Loader::load() return type

| 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 https://github.com/symfony/symfony/issues/39761 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| 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.
-->

`Symfony\Component\Config\Loader::load()` is missing return type, added it for consistency and static analysis purposes.

Commits
-------

fec66e61c8 [Config] Add \Symfony\Component\Config\Loader::load() return type
2021-01-14 16:00:21 +01:00
Nicolas Grekas
9c6381c405 bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] use atomic writes in MockFileSessionStorage

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

Instead of #39808

Commits
-------

5290e978bd [HttpFoundation] use atomic writes in MockFileSessionStorage
2021-01-14 15:43:10 +01:00
Nicolas Grekas
7f5ea78fb8 [travis] use PHP 8.0 to patch return types and run deps=low 2021-01-14 15:31:07 +01:00
Peter Kokot
b236aae766 Update sl_SI translations 2021-01-13 20:28:53 +01:00
Robin Chalas
38f98a1165 Don't trigger deprecation for deprecated aliases pointing to deprecated definitions 2021-01-13 18:24:13 +01:00
Nicolas Grekas
5290e978bd [HttpFoundation] use atomic writes in MockFileSessionStorage 2021-01-13 15:38:32 +01:00
Fabien Potencier
d23b74ebce bug #39735 [Serializer] Rename normalize param (VincentLanglet)
This PR was merged into the 4.4 branch.

Discussion
----------

[Serializer] Rename normalize param

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

The ProblemNormalizer is the only one Normalizer which
- Use a different param name `$exception` instead of the one in the interface `$object`.
- Doesn't type check the param.

The first point lead to an unfixable error with Psalm when extending the ProblemNormalizer
- If the variable is named `$object` it does not match with the parent
- If the variable is named `$exception` it does not match with the interface

Commits
-------

7e6eee2789 Rename normalize param
2021-01-13 08:03:18 +01:00
Nicolas Grekas
d4c70a53ca [DI] fix param annotation 2021-01-12 20:08:29 +01:00
Nicolas Grekas
e6cfa099a8 bug #39797 Dont allow unserializing classes with a destructor (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

Dont allow unserializing classes with a destructor

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

Prevent destructors with side-effects from being unserialized

Commits
-------

facc095944 Dont allow unserializing classes with a destructor
2021-01-12 15:21:03 +01:00
Jérémy Derussé
facc095944
Dont allow unserializing classes with a destructor 2021-01-12 13:42:25 +01:00
Nicolas Grekas
6eff2630a1 bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Fix missing BCC recipients in SES bridge

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

When using the `ses` (alias of `ses+https`) scheme, the bridge send the RawEmail to AWS.
But RawEmails does not contains the BCC recipients.

This PR adds the envelope's recipients to the list of Destinations in Amazon SES payload.

Commits
-------

1cfc763018 Fix missing BCC recipients in SES bridge
2021-01-12 12:30:25 +01:00
Nicolas Grekas
0211b9afe8 bug #39764 [Config]  fix handling float-like key attribute values (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Config]  fix handling float-like key attribute values

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

Commits
-------

a2ad4fa8b3 fix handling float-like key attribute values
2021-01-12 12:28:52 +01:00
Nicolas Grekas
aaebeda758 minor #39779 Contracts: Remove ellipsis (alexislefebvre)
This PR was merged into the 4.4 branch.

Discussion
----------

Contracts: Remove ellipsis

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

I don't understand what the ellipsis is implying. I think it's better to remove it, it makes the contract clearer.

Commits
-------

aa7f83576c Contracts: Remove ellipsis
2021-01-12 12:27:16 +01:00
Nicolas Grekas
7aad82480d bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Yaml] a colon followed by spaces exclusively separates mapping keys and values

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

Commits
-------

f72c6a5ad4 a colon followed by spaces exclusively separates mapping keys and values
2021-01-12 12:26:39 +01:00
Nicolas Grekas
2852a42468 bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] fix possible collision when writing tmp file in filesystem adapter

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

Commits
-------

340d15e400 [Cache] fix possible collision when writing tmp file in filesystem adapter
2021-01-12 11:20:15 +01:00
Nicolas Grekas
b85611fbd6 bug #39794 Dont allow unserializing classes with a destructor - 4.4 (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

Dont allow unserializing classes with a destructor - 4.4

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

Prevent destructors with side-effects from being unserialized

Commits
-------

955395c999 Dont allow unserializing classes with a destructor - 4.4
2021-01-12 10:49:10 +01:00
Jérémy Derussé
955395c999
Dont allow unserializing classes with a destructor - 4.4 2021-01-12 10:42:12 +01:00