Commit Graph

49332 Commits

Author SHA1 Message Date
Nicolas Grekas c127120b9e minor #41556 Add return types to JsonSerializable implementations (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

Add return types to JsonSerializable implementations

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

PHP 8.1 will trigger a deprecation warning if we implement `JsonSerializable` without a return type. I've added return types to the two mock implementations that were affected.

Commits
-------

9246b53f7c Add return types to JsonSerializable implementations
2021-06-06 10:43:31 +02:00
Nicolas Grekas 40992f001b cs fix 2021-06-06 10:41:27 +02:00
Nicolas Grekas fec859a3e0 minor #41557 [DependencyInjection] Don't pass null to trim() (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Don't pass null to trim()

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

Commits
-------

e14dd67e85 [DependencyInjection] Don't pass null to trim()
2021-06-06 10:40:23 +02:00
Alexander M. Turek e14dd67e85
[DependencyInjection] Don't pass null to trim() 2021-06-06 00:55:44 +02:00
Alexander M. Turek 9246b53f7c
Add return types to JsonSerializable implementations 2021-06-05 22:22:57 +02:00
Alexander M. Turek 48e76fafc6 Fix Serializable deprecations triggered by token mocks 2021-06-05 18:29:25 +02:00
HypeMC 0bce1f6de1 Add missing security translations 2021-06-05 14:19:20 +02:00
Nicolas Grekas 6eead347b0 bug #41549 [Security] Fix opcache preload with alias classes (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix opcache preload with alias classes

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

Commits
-------

b10b6951a6 Fix opcache preload with alias classes
2021-06-05 10:56:13 +02:00
Jérémy Derussé b10b6951a6
Fix opcache preload with alias classes 2021-06-05 00:24:11 +02:00
Nicolas Grekas 3524cf28ac bug #41491 [Serializer] Do not allow to denormalize string with spaces only to valid a DateTime object (sidz)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Serializer] Do not allow to denormalize string with spaces only to valid a DateTime object

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

This PR fixes an issue when `$data` variable contains only spaces. In this case DateTimeNormalizer creates a DateTime object.

Commits
-------

21c0829a25 [Serializer] Do not allow to denormalize string with spaces only to valid a DateTime object
2021-06-04 13:50:59 +02:00
Oleg Zhulnev 21c0829a25 [Serializer] Do not allow to denormalize string with spaces only to valid a DateTime object 2021-06-04 13:50:56 +02:00
Nicolas Grekas d7524e6842 bug #41386 [Console] Escape synopsis output (jschaedl)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Console] Escape synopsis output

| 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 #41315 <!-- 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 -->

Commits
-------

960cb520df [Console] Escape synopsis output
2021-06-03 13:51:23 +02:00
Jan Schädlich 960cb520df [Console] Escape synopsis output 2021-06-03 13:51:17 +02:00
Nicolas Grekas f143c8fd1a minor #41453 [Form] Document null support in NumberToLocalizedStringTransformer (mbabker)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] Document null support in NumberToLocalizedStringTransformer

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

`Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer` explicitly checks for and returns nulls but these aren't documented in the class' doc blocks, which causes static analysis tools to report a false positive when checking for these null values elsewhere.  This adds the missing null types to the doc blocks.

Commits
-------

1fda3d0284 Document null support in NumberToLocalizedStringTransformer
2021-06-03 13:48:34 +02:00
Alexander M. Turek b439213767 bug #41495 [HttpFoundation] Add ReturnTypeWillChange to SessionHandlers (nikic)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Add ReturnTypeWillChange to SessionHandlers

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | maybe?
| 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.
 - Changelog entry should follow https://symfony.com/doc/current/contributing/code/conventions.html#writing-a-changelog-entry
-->

This adds `#[ReturnTypeWillChange]` annotations for `SessionHandler` methods to satisfy the [Tentative Return Types RFC](https://wiki.php.net/rfc/internal_method_return_types). This doesn't cover all classes (e.g. `MockPdo` is also affected), just the ones relating to `SessionHandler` etc.

It's worth noting that the `gc()` method is spec'd as `int|false` on our side, so I've updated type hints accordingly. The method used to return bool prior to PHP 7.1.

Commits
-------

8954b4f922 [HttpFoundation] Add ReturnTypeWillChange to SessionHandlers
2021-06-01 21:14:33 +02:00
Nikita Popov 8954b4f922 [HttpFoundation] Add ReturnTypeWillChange to SessionHandlers 2021-06-01 21:14:25 +02:00
Fabien Potencier ca61cd64b1 Bump Symfony version to 4.4.26 2021-06-01 11:02:47 +02:00
Fabien Potencier c71e9ba222
Merge pull request #41477 from fabpot/release-4.4.25
released v4.4.25
2021-06-01 09:12:23 +02:00
Fabien Potencier da21ba31cf Update VERSION for 4.4.25 2021-06-01 09:12:08 +02:00
Fabien Potencier e54bddeaea Update CONTRIBUTORS for 4.4.25 2021-06-01 09:12:02 +02:00
Fabien Potencier 2213e6ad85 Update CHANGELOG for 4.4.25 2021-06-01 09:11:35 +02:00
Michael Babker 1fda3d0284
Document null support in NumberToLocalizedStringTransformer 2021-05-30 11:06:17 -05:00
Nicolas Grekas 9b89b2ec04 bug #41000 [Form] Use !isset for checks cause this doesn't falsely include 0 (Kai Dederichs)
This PR was submitted for the 5.2 branch but it was squashed and merged into the 4.4 branch instead.

Discussion
----------

[Form] Use !isset for checks cause this doesn't falsely include 0

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

By using isset 0 won't falsely included anymore

Commits
-------

cd541c5a63 [Form] Use !isset for checks cause this doesn't falsely include 0
2021-05-27 14:54:21 +02:00
Kai Dederichs cd541c5a63 [Form] Use !isset for checks cause this doesn't falsely include 0 2021-05-27 14:54:13 +02:00
Nicolas Grekas 11a88370e3 minor #41403 [Mailer] Fix typo in README (W0rma)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Mailer] Fix typo in README

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

Commits
-------

14f2a2974c [Mailer] Fix typo in README
2021-05-27 14:49:44 +02:00
Dieter 14f2a2974c [Mailer] Fix typo in README 2021-05-27 14:49:37 +02:00
Nicolas Grekas 747e2ac886 sync ./phpunit in all branches 2021-05-27 14:44:44 +02:00
Nicolas Grekas ba5899362b minor #41418 [VarDumper] fix tests (nicolas-grekas)
This PR was submitted for the 6.0 branch but it was merged into the 4.4 branch instead.

Discussion
----------

[VarDumper] fix tests

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

Fixing VarDumper on appveyor hopefully.

Commits
-------

bdf3222c60 [VarDumper] fix tests
2021-05-27 11:48:39 +02:00
Nicolas Grekas bdf3222c60 [VarDumper] fix tests 2021-05-27 11:48:32 +02:00
Nicolas Grekas 519d348b4a bug #41407 [DependencyInjection] keep container.service_subscriber tag on the decorated definition (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] keep container.service_subscriber tag on the decorated definition

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

Commits
-------

b917fafc8d keep container.service_subscriber tag on the decorated definition
2021-05-26 19:54:16 +02:00
Nicolas Grekas 42e4736e09 [PhpUnitBridge] fix PHP version check 2021-05-26 19:49:37 +02:00
Nicolas Grekas ce7d3c41ae Fix CS in README files 2021-05-26 19:39:37 +02:00
Nicolas Grekas 54bee29572 bug #40866 [Filesystem] fix readlink() for Windows (a1812)
This PR was merged into the 4.4 branch.

Discussion
----------

[Filesystem] fix readlink() for Windows

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

**How to reproduce**

Windows 10.0.19042.928, PHP 8.0.3, PHPUnit 9.5.4
run as Administrator
C:\php\php.exe ./phpunit --bootstrap ./vendor/autoload.php --configuration ./phpunit.xml.dist ./src/Symfony/Component/Filesystem/Tests

There were 2 failures:

1) Symfony\Component\Filesystem\Tests\FilesystemTest::testRemoveCleansInvalidLinks
Failed asserting that 'C:\Users\albat\AppData\Local\Temp\1618836823.005.2057903605\directory\dir\' is false.

D:\Z__PHP_PROJECT\symfony\src\Symfony\Component\Filesystem\Tests\FilesystemTest.php:379

2) Symfony\Component\Filesystem\Tests\FilesystemTest::testReadAbsoluteLink
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'C:\Users\albat\AppData\Local\Temp\1618836823.1681.131301953\dir\link'
+'C:\Users\albat\AppData\Local\Temp\1618836823.1681.131301953\file'

Commits
-------

f1b95d3c93 [Filesystem] fix readlink for Windows
2021-05-26 19:30:55 +02:00
Nicolas Grekas 12030e5622 minor #41412 [HttpKernel] Fixes file_get_content in HttpCache's Store for PHP7.4+ (0x346e3730)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Fixes file_get_content in HttpCache's Store for PHP7.4+

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

While trying to get 6.0 branch tests green, I encountered an error on multiple HttpKernel tests.
After investigating, it comes from the file_get_contents in the load method of the Store class from HttpCache. For obscure reasons, some calls are in errors and the content can't be read for "permission denied".
This is happening only on PHP 7.4.0+ (and that explains why the tests are green on the branch 5.4 as it runs php 7.2), adding the `@` error suppressor fixes this.

Commits
-------

c3ac11cc64 [HttpKernel] Fixes tests for PHP7.4+
2021-05-26 19:22:19 +02:00
Oskar Stark 26d682fd96 minor #41415 Fix markdown in README files (OskarStark)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix markdown in README files

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

I would up merge it and fix the upper branches while upmerging or via separate PR's, whatever is prefered

Commits
-------

ad0890c604 Fix markdown
2021-05-26 13:45:23 +02:00
Oskar Stark ad0890c604 Fix markdown 2021-05-26 13:20:16 +02:00
Antonin "0x346e3730" CLAUZIER c3ac11cc64
[HttpKernel] Fixes tests for PHP7.4+ 2021-05-26 12:28:46 +02:00
Christian Flothmann b917fafc8d keep container.service_subscriber tag on the decorated definition 2021-05-25 15:33:15 +02:00
Nicolas Grekas 7ccda8eedb bug #41394 [Form] fix support for years outside of the 32b range on x86 arch (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] fix support for years outside of the 32b range on x86 arch

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

Commits
-------

2353f19cc2 [Form] fix support for years outside of the 32b range on x86 arch
2021-05-24 12:31:21 +02:00
Nicolas Grekas 2353f19cc2 [Form] fix support for years outside of the 32b range on x86 arch 2021-05-24 12:24:40 +02:00
Alexander M. Turek 53d9b105a0 bug #39847 [Messenger] Fix merging PrototypedArrayNode associative values (svityashchuk)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Messenger] Fix merging PrototypedArrayNode associative values

Now keys will not be considered as irrelevant.

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

The problem was because in ConfigTree `options` are defined as `arrayNode` and has a `prototype('variable')`. So for combining config together `PrototypedArrayNode::mergeValues()` was called. And there was a trouble - for that `PrototypedArrayNode` `$rightSide` values were added without keys:

`\Symfony\Component\Config\Definition\PrototypedArrayNode::mergeValues`
```php
foreach ($rightSide as $k => $v) {
    // prototype, and key is irrelevant, append the element
    if (null === $this->keyAttribute) {
        $leftSide[] = $v;
        continue;
    }
```

Commits
-------

11128c9c0b [Messenger] Fix merging PrototypedArrayNode associative values
2021-05-22 21:45:48 +02:00
Oleksii Svitiashchuk 11128c9c0b [Messenger] Fix merging PrototypedArrayNode associative values 2021-05-22 21:45:39 +02:00
Nicolas Grekas a76cdecd01 bug #41346 [WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed (weaverryan)
This PR was merged into the 4.4 branch.

Discussion
----------

[WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed

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

This bug was introduced in #41168.

Best viewed with: https://github.com/symfony/symfony/pull/41346/files?w=1 - we could also remove the new indentation in `exception.js`.

In that PR, we innocently don't reload `Sfjs` if it doesn't exist. However, on an error page, that template ALSO adds an `Sfjs`, and that `Sfjs` is *smaller* - containing only a subset of the `Sfjs` functions. This is tricky, but this PR fixes it.

Here are the various situations:

1) I hit an exception page. The `Sfjs` from `exception.js` is loaded first. This adds the smaller `Sfjs`. Then the `base_js.html.twig` version is hit. Because `Sfjs` is missing the `loadToolbar()` method, that code DOES run again to reinitialize it.

2) I am on a normal page, then travel to an exception page with Turbo. In this case, the original `Sfjs` from `base_js.html.twig` was processed. Then, on the exception page, the `Sfjs` from `exception.js` is ignored, as is the 2nd execution of `base_js.html.twig`.

Overall, the JS could use some work for supporting things like Turbo (e.g. `DOMContentLoaded` doesn't work with Turbo, so the exception page JS is broken). But I wanted to focus on fixing the bug in this PR.

As a reminder, #41168 (avoiding overriding `Sfjs`) was done to help with the AJAX toolbar and Turbo - it's explained in point (1) on #41168.

Cheers!

Commits
-------

5fa42f11f3 Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed
2021-05-21 08:36:22 +02:00
Ryan Weaver 5fa42f11f3 Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed 2021-05-21 08:36:12 +02:00
Alexander M. Turek 68224c2b42 minor #41345 [FrameworkBundle] Return early (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] Return early

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/pull/41295#discussion_r636346945
| License       | MIT
| Doc PR        | N/A

Commits
-------

b6c8aa5b68 [FrameworkBundle] Return early
2021-05-20 22:46:30 +02:00
Alexander M. Turek b6c8aa5b68 [FrameworkBundle] Return early 2021-05-20 20:46:32 +02:00
Alexander M. Turek c995f1c814 minor #41333 doctrine/doctrine-bundle should not be a dep (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

doctrine/doctrine-bundle should not be a dep

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

Commits
-------

e006eaf26a doctrine/doctrine-bundle should not be a dep
2021-05-20 15:34:38 +02:00
Nicolas Grekas e006eaf26a doctrine/doctrine-bundle should not be a dep 2021-05-20 15:25:36 +02:00
Nicolas Grekas b6496ed6dc minor #41328 Improve .travis.yml (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Improve .travis.yml

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

Follow up of #41293

- For the highest branch (6.0 right now), when deps=high, the version before it is checked out (5.4) and tested with the locally patched components (6.0)
- For `*.4` branches, aka when the current branch version has not the same major version number as the next one, in addition to testing with the next major as deps (6.0 deps on patched-5.4), we also checkout the previous major and test it with the locally patched components (aka patched-5.4 deps on 4.4).

Commits
-------

2620da26dc Improve .travis.yml
2021-05-20 14:32:29 +02:00
Nicolas Grekas 2620da26dc Improve .travis.yml 2021-05-20 14:19:15 +02:00