Commit Graph

29086 Commits

Author SHA1 Message Date
Christian Flothmann
4ee48c44e5 minor #40180 Fix: Article (localheinz)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix: Article

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

This pull request

* [x] fixes usages of the indefinite article `a` where `an` should be used instead

Commits
-------

34b320ba97 Fix: Article
2021-02-15 12:26:08 +01:00
Christian Flothmann
e62ef2adb7 bug #40187 [Console] Fix PHP 8.1 null error for preg_match flag (kylekatarnls)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Fix PHP 8.1 null error for preg_match flag

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

Since PHP 8.1, `null` is no longer accepted as `$flags` in `preg_match`, default integer `0` value should be used instead.

Commits
-------

52f02e529a [Console] Fix PHP 8.1 null error for preg_match flag
2021-02-15 12:24:13 +01:00
Christian Flothmann
0574c1586a bug #39659 [Form] keep valid submitted choices when additional choices are submitted (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] keep valid submitted choices when additional choices are submitted

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

Commits
-------

85989c3678 keep valid submitted choices when additional choices are submitted
2021-02-15 12:22:00 +01:00
Kyle
419e2206f4
Fix PHP 8.1 null values
Both `stripos` and `preg_match` will no longer accept `null` on PHP >= 8.1
2021-02-14 19:51:53 +01:00
Kyle
52f02e529a
[Console] Fix PHP 8.1 null error for preg_match flag
Since PHP 8.1, null is no longer accepted as $flags, default integer `0` value should be used instead.
2021-02-14 19:19:55 +01:00
Andreas Möller
34b320ba97
Fix: Article 2021-02-14 13:29:41 +01:00
Ruud Kamphuis
944ba23b58 Definition::removeMethodCall should remove all matching calls
It would only remove the first match, leaving the other method call(s) there to exist. This leads to unexpected situations.
2021-02-14 12:22:33 +01:00
Fabien Potencier
4a32fd0446 bug #40160 [PropertyInfo] fix extracting mixed type-hinted property types (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[PropertyInfo] fix extracting mixed type-hinted property types

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

Commits
-------

be6432ee4c fix extracting mixed type-hinted property types
2021-02-14 11:36:42 +01:00
Christian Flothmann
4a2c996b95 mark the LazyIterator class as internal 2021-02-12 11:48:09 +01:00
Christian Flothmann
be6432ee4c fix extracting mixed type-hinted property types 2021-02-12 11:37:03 +01:00
Christian Flothmann
cfce9cbd59 add missing return type declaration 2021-02-12 11:28:39 +01:00
Fabien Potencier
dc20a31179 bug #40040 [Finder] Use a lazyIterator to close files descriptors when no longer used (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Finder] Use a lazyIterator to close files descriptors when no longer used

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

The `RecursiveDirectoryIterator` class open the file on `__construct`.
Because we Inject an instance of `RecursiveDirectoryIterator` inside the \AppendIterator` class, php opens a lot of file even before iterating on it.

This PR adds a new `LazyIterator` class that instantiate the decorated class only when something starts iterating on it.
When the iteration is over, it unset the variable to close let the decorated class clean things (ie. close the files)

Commits
-------

7117e1a798 Use a lazyintertor to close files descriptors when no longer used
2021-02-12 08:28:15 +01:00
Alexander M. Turek
5b536131f7 Modernize func_get_args() calls to variadic parameters 2021-02-11 20:34:41 +01:00
Nicolas Grekas
de2f22086e Skip checking return types on PHP <= 7.2 2021-02-11 09:19:35 +01:00
Nicolas Grekas
db66fb5838 [HttpKernel] fix transient test 2021-02-10 18:16:49 +01:00
Nicolas Grekas
36e5051171 Fix "provide" declarations 2021-02-06 09:54:26 +01:00
Simon Berger
57d9a818bb Provide implemented packages of replaced dependencies 2021-02-06 09:48:04 +01:00
Jérémy Derussé
7117e1a798
Use a lazyintertor to close files descriptors when no longer used 2021-02-05 21:09:52 +01:00
Nicolas Grekas
71ca1f3c71 bug #40104 [HttpKernel] [Kernel] Silence failed deprecations logs writes (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] [Kernel] Silence failed deprecations logs writes

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

When `->buildContainer()` throws because the cache directory cannot be created, we still try to write the deprecations logs inside the cache directory. In this case, the final exception is `Warning: file_put_contents(/app/var/cache/dev/App_KernelDevDebugContainerDeprecations.log): failed to open stream: No such file or directory` instead of `Unable to create the "cache" directory (/app/var/cache/dev).`.

Alternative:
```php
try {
    // ...
} catch (\RuntimeException $e)
} finally {
    if (isset($e)) {
        throw $e;
    }

    // ...
}
```

Commits
-------

b7100b6909 [HttpKernel] [Kernel] Silence deprecations logs writes
2021-02-05 17:03:19 +01:00
Nicolas Grekas
0bae2356b1 minor #40106 Allow psr/cache v3 but on symfony/cache (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Allow psr/cache v3 but on symfony/cache

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

Consumers of PSR-6 are compatible with v1|2|3.

Implementations aren't until they add explicit return types, which is not possible without a BC break.

Commits
-------

bf23c44a07 Allow psr/cache v3 but on symfony/cache
2021-02-05 16:56:08 +01:00
Nicolas Grekas
bf23c44a07 Allow psr/cache v3 but on symfony/cache 2021-02-05 16:46:45 +01:00
Nicolas Grekas
d6219f674f bug #40098 [DependencyInjection] fix tracking of changes to vendor/ dirs (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] fix tracking of changes to vendor/ dirs

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

Commits
-------

6867475447 [DI] fix tracking of changes to vendor/ dirs
2021-02-05 16:41:21 +01:00
Nicolas Grekas
6867475447 [DI] fix tracking of changes to vendor/ dirs 2021-02-05 16:35:32 +01:00
Thomas Calvet
b7100b6909 [HttpKernel] [Kernel] Silence deprecations logs writes 2021-02-05 14:33:05 +01:00
ddegentesh
eb14a1e1f0 [Mailer][Mime] Update inline part names with newly generated ContentId 2021-02-05 09:16:51 +01:00
Fabien Potencier
2eddb5165c bug #40043 [HttpFoundation] Setting REQUEST_TIME_FLOAT when constructing a Request object (ctasada)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Setting `REQUEST_TIME_FLOAT` when constructing a Request object

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

When creating a new Request object `REQUEST_TIME_FLOAT` was not set by default.

Replaces broken 39952 PR :(

Commits
-------

c52c1e0b9b [HttpFoundation] Setting `REQUEST_TIME_FLOAT` when constructing a Request object
2021-02-05 09:03:43 +01:00
Fabien Potencier
1542bbbbae bug #40050 [FrameworkBundle][Translator] Fixed updating catalogue metadata from Intl domain (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle][Translator] Fixed updating catalogue metadata from Intl domain

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

Commits
-------

33e6af5850 Fixed updating catalogue metadata from intl domain
2021-02-05 09:01:14 +01:00
Nicolas Grekas
00d3a0ffcb Allow psr/cache v2 2021-02-04 18:34:20 +01:00
Nicolas Grekas
a7abf0f481 bug #40066 [ErrorHandler] fix parsing return types in DebugClassLoader (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] fix parsing return types in DebugClassLoader

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

In 5.3, we might want to make `SYMFONY_PATCH_TYPE_DECLARATIONS=deprecations=1` the default, so that ppl know when they're missing some return types when they inherit some classes from vendors. This would fix https://github.com/orgs/symfony/projects/1#card-30856423

On 4.4, we have to disable this mode of reporting until these PRs are merged:
- https://github.com/twigphp/Twig/pull/3481
- https://github.com/doctrine/collections/pull/269
- https://github.com/predis/predis/pull/678

Commits
-------

58e32b3c2a [ErrorHandler] fix parsing return types in DebugClassLoader
2021-02-04 12:00:47 +01:00
Nicolas Grekas
6ce4d38d29 bug #40065 [ErrorHandler] fix handling messages with null bytes from anonymous classes (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] fix handling messages with null bytes from anonymous classes

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

PHP truncates error messages at null bytes before calling userland error handlers (known behavior in PHP, marked as "won't fix".)

This doesn't play well with anonymous classes.

This PR works around the issue by getting the message from the stack trace.

Commits
-------

ac94746dc7 [ErrorHandler] fix handling messages with null bytes from anonymous classes
2021-02-04 11:59:55 +01:00
Nyholm
90e82546d2
minor #40035 Streamline dataproviders (OskarStark)
This PR was merged into the 4.4 branch.

Discussion
----------

Streamline dataproviders

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

No need to create extra PR's on other branches, no more occurrences 👍

Commits
-------

025079b051 Streamline dataproviders
2021-02-02 21:50:21 +01:00
Oskar Stark
025079b051
Streamline dataproviders 2021-02-02 21:48:46 +01:00
Nicolas Grekas
58e32b3c2a [ErrorHandler] fix parsing return types in DebugClassLoader 2021-02-02 17:49:07 +01:00
Nicolas Grekas
ac94746dc7 [ErrorHandler] fix handling messages with null bytes from anonymous classes 2021-02-02 17:39:26 +01:00
Christophe Coevoet
9197199731 minor #40045 [Yaml] Delete unused comparison operation (LoginovIlya)
This PR was merged into the 4.4 branch.

Discussion
----------

[Yaml] Delete unused comparison operation

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

Commits
-------

3ef7bfd972 [yaml] Delelte unused comparison operation
2021-02-02 10:51:46 +01:00
Piotr Kugla
b2d7454042 [Mime] Fix case-sensitive handling in Headers::isUniqueHeader() 2021-02-01 19:58:28 +01:00
Yonel Ceruto
33e6af5850 Fixed updating catalogue metadata from intl domain 2021-01-31 21:39:35 -05:00
LoginovIlya
3ef7bfd972 [yaml] Delelte unused comparison operation 2021-01-31 18:20:26 +03:00
Carlos Tasada
c52c1e0b9b [HttpFoundation] Setting REQUEST_TIME_FLOAT when constructing a Request object 2021-01-31 14:27:34 +01:00
Jérémy Derussé
945c7c590c
minor #39920 [Console] Fix console logger according to PSR-3 (alex-dev)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Fix console logger according to PSR-3

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #39050, #29138
| License       | MIT

`Symfony\Component\HttpKernel\EventListener\ErrorListener` logs non-HTTP exceptions at `LogLevel::CRITICAL`.
`Symfony\Component\Messenger\Worker` logs unrecoverable exceptions at `LogLevel::CRITICAL`.
`Symfony\Component\Console\EventListener\ErrorListener` logs exceptions at `LogLevel::ERROR`.

As per PSR-3, unexpected and unrecoverable exceptions should be logged at `LogLevel::CRITICAL`.

Commits
-------

69fcd075eb Fix console logger according to PSR-3
2021-01-28 23:01:20 +01:00
Robin Chalas
be788ee119 minor #39997 Use createMock() instead of a getter (OskarStark)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Use createMock() instead of a getter

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

Before I go on, are you interested in such change @nicolas-grekas ?

Commits
-------

9629dafa66 Use createMock() instead of a getter
2021-01-28 20:07:58 +01:00
Oskar Stark
9629dafa66 Use createMock() instead of a getter 2021-01-28 20:07:50 +01:00
Nicolas Grekas
e2428326e3 bug #40023 [Finder]  use proper keys to not override appended files (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Finder]  use proper keys to not override appended files

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

Commits
-------

036c8d71fd use proper keys to not override appended files
2021-01-28 17:58:58 +01:00
Nicolas Grekas
27fab22fa6 bug #40019 [ErrorHandler] Fix strpos error when trying to call a method without a name (Deuchnord)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] Fix strpos error when trying to call a method without a name

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | None (direct fix)
| License       | MIT
| Doc PR        | None
<!--
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.
-->

When running the following code:

```php
class Foo
{
    // Some code here
}

$str = ''; // this should not happen, but for some reason, it did.
$foo->{$str}();
```

a fatal error occurs because the method name to execute is empty, but Symfony's error enhancer fails to parse it:

![Error screenshot](https://user-images.githubusercontent.com/7600265/106108704-ec019b80-6148-11eb-82bc-f7801e30fea4.png)

In this PR, I propose a fix with a more clear error to inform the developer about what happened.

Commits
-------

66be87bffc [ErrorHandler] Fix strpos error when trying to call a method without a name
2021-01-28 17:54:55 +01:00
Jérôme Deuchnord
66be87bffc [ErrorHandler] Fix strpos error when trying to call a method without a name 2021-01-28 17:54:48 +01:00
Christian Flothmann
036c8d71fd use proper keys to not override appended files 2021-01-28 15:45:15 +01:00
Julien Falque
f0409b403f
[Serializer] Prevent access to private properties without getters 2021-01-27 17:59:11 +01:00
Fabien Potencier
aeb15a1322 Bump Symfony version to 4.4.20 2021-01-27 14:59:11 +01:00
Fabien Potencier
7fb2dbf465 Update VERSION for 4.4.19 2021-01-27 14:50:53 +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