Commit Graph

50245 Commits

Author SHA1 Message Date
Fabien Potencier
c56acfa817 Fix tests 2020-08-11 17:45:15 +02:00
Fabien Potencier
fee38131e1 Fix typo 2020-08-11 17:32:41 +02:00
Fabien Potencier
8449f7040e bug #37728 [FrameworkBundle] do not use deprecated mailer.logger_message_listener service (xabbuh)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] do not use deprecated mailer.logger_message_listener service

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

Commits
-------

0e93216322 do not use deprecated mailer.logger_message_listener service
2020-08-11 17:22:09 +02:00
Christian Flothmann
0e93216322 do not use deprecated mailer.logger_message_listener service 2020-08-11 17:21:52 +02:00
Thomas Calvet
0533f1f63e [ErrorHandler][DebugClassLoader] Add mixed and static return types support 2020-08-11 14:16:16 +02:00
Fabien Potencier
7c522e2163 feature #29117 [Serializer] Add CompiledClassMetadataFactory (fbourigault)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Serializer] Add CompiledClassMetadataFactory

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ?
| License       | MIT
| Doc PR        | todo (issue: https://github.com/symfony/symfony-docs/issues/10706)

This introduce a dumped `ClassMetadataFactoryInterface` implementation to speed up the serializer by leveraging [PHP7 immutable array](https://blog.blackfire.io/php-7-performance-improvements-immutable-arrays.html).

Like for https://github.com/symfony/symfony/pull/28865, if the user have the opcache extension enabled, the compilation time will be skipped. The user will also have a performance boost when not using opcache as we are no longer fetching `ClassMetadata` from the PSR-6 cache.

This allow to speed up the normalization (without opcache) by 9-12% depending on how many objects are involved in the graph:

- [SymfonyObjectNormalizerBenchmark, 100 iterations with complexity of 1](https://blackfire.io/profiles/compare/d937a9cc-eebf-47eb-be90-c8e65cdf12b3/graph)
- [SymfonyObjectNormalizerBenchmark, 3 iterations with complexity of 60](https://blackfire.io/profiles/compare/d490542c-9a79-48a0-b7bc-1ed3ca6a9148/graph)

On the `FrameworkBundle` side, I suggest to add a `CacheWarmer` to dump the metadata array from configured class list. The list could have a _good_ default which will load the classes found in `src/Entity`.

## Dumping the `ClassMetadata`
```php
$classMetadatas = [];

foreach([Category::class, Comment::class, Forum::class, Thread::class, User::class] as $class) {
    $classMetadatas[] = $this->classMetadataFactory->getMetadataFor($class);
}

file_put_contents('dumped.php', $this->classMetadataFactoryCompiler->compile($classMetadatas));
```

## Using the dumped `ClassMetadata`
```php
$classMetadataFactory = new CompiledClassMetadataFactory(
    'dumped.php',
    new CacheClassMetadataFactory(
        new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())),
        new ApcuAdapter('SymfonyMetadata')
    )
);
```
# To do

- [x] Tests.
- [x] Cache warmer.
- [x] Documentation.
- [x] Changelog entry.

Commits
-------

63cbf0abe8 [Serializer] Add CompiledClassMetadataFactory
2020-08-11 12:10:21 +02:00
Fabien Bourigault
63cbf0abe8 [Serializer] Add CompiledClassMetadataFactory 2020-08-11 12:10:04 +02:00
Fabien Potencier
e29d2304bc feature #37676 [Stopwatch] Add name property to the stopwatchEvent (AhmedRaafat14)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Stopwatch] Add name property to the stopwatchEvent

| Q             | A
| ------------- | ---
| Branch?       | master for features
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #37627
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

f2b64ecc6a Add name property to the stopwatchEvent
2020-08-11 11:43:55 +02:00
Fabien Potencier
a77901d6db bug #37744 [Yaml] Fix for #36624; Allow PHP constant as first key in block (jnye)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[Yaml] Fix for #36624; Allow PHP constant as first key in block

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

When using a PHP constant in the first key of a mapping the parser would throw an exception. However if you used a PHP constant in any other key but the first it was allowed. This fix allows PHP constant as the first key.

I've included a test for this parser error along with the fix.

Commits
-------

46f635c492 [Yaml] Fix for #36624; Allow PHP constant as first key in block
2020-08-11 11:42:46 +02:00
Joshua Nye
46f635c492 [Yaml] Fix for #36624; Allow PHP constant as first key in block 2020-08-11 11:42:40 +02:00
Ahmed Raafat
f2b64ecc6a Add name property to the stopwatchEvent 2020-08-11 11:41:23 +02:00
Fabien Potencier
0e9cd90857 bug #37767 [Form] fix mapping errors from unmapped forms (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] fix mapping errors from unmapped forms

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

Commits
-------

235920a388 fix mapping errors from unmapped forms
2020-08-11 11:39:48 +02:00
Fabien Potencier
e7617da03f feature #34704 [Messenger] Add method HandlerFailedException::getNestedExceptionOfClass (tyx)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Add method HandlerFailedException::getNestedExceptionOfClass

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| License       | MIT
| Doc PR        | in progress

I have many times use this kind of code on my own development. It helps when dealing with specific exception through a Messenger usage.

Example in an ExceptionListener, the exception you get could be a `HandlerFailedException` but you want a specific treatment when the original exception is different (like a RedirectResponse, or Http error code different).

edit: I finally also added a getNestedExceptionOfClass that could be useful too

Commits
-------

e0dd84b426 [Messenger] Add method HandlerFailedException::getNestedExceptionOfClass
2020-08-11 09:52:28 +02:00
Fabien Potencier
0f92b9a584 bug #37731 [Console] Table: support cells with newlines after a cell with colspan >= 2 (GMTA)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Console] Table: support cells with newlines after a cell with colspan >= 2

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

When rendering a table with a cell containing newlines after a cell with
colspan set to at least 2, every line in the cell with newlines except the
first one fails to render.

This case is fixed by calling `->fillCells()` on the unmerged rows and
implementing support for rows that start with a non-zero index for the columns.

While fixing this, I discovered another issue with colspan: if a cell following a
colspanned cell contains enough newlines to make the contents extend further
than the colspanned cell's contents, the cells become misaligned. This is now
also fixed.

Commits
-------

ca11772e3f [Console] Table: support cells with newlines after a cell with colspan >= 2
2020-08-11 09:29:54 +02:00
Jelle Raaijmakers
ca11772e3f [Console] Table: support cells with newlines after a cell with colspan >= 2 2020-08-11 09:29:48 +02:00
Fabien Potencier
a06e564607 feature #37793 Revert "[DependencyInjection] Resolve parameters in tag arguments" (rpkamp)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Revert "[DependencyInjection] Resolve parameters in tag arguments"

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | #35337
| License       | MIT
| Doc PR        | N/A

Revert of earlier PR, see discussion https://github.com/symfony/symfony/pull/37243

Commits
-------

9731451b5a Revert "[DependencyInjection] Resolve parameters in tag arguments"
2020-08-10 19:54:09 +02:00
Remon van de Kamp
9731451b5a
Revert "[DependencyInjection] Resolve parameters in tag arguments"
This reverts commit 3dba1fe7bf.
2020-08-10 19:30:39 +02:00
Fabien Potencier
2318170181 Fix typo 2020-08-10 16:14:03 +02:00
Fabien Potencier
b2e99e2a76 bug #37791 Fix redis connect with empty password (alexander-schranz)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Fix redis connect with empty password

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

If you use DSN like this it will fail as auth is called with an empty password:

```env
redis://%env(resolve:REDIS_PASSWORD)%@%env(resolve:REDIS_HOST)%
```

The auth should only be called when a password is set to a specific string.

Else it will fail with:

> ERR Client sent AUTH, but no password is set

Redis Conf "redis-nopass.conf":

```ini
requirepass ""
```

Commits
-------

9946f7fecf Fix redis connect with empty password
2020-08-10 15:30:12 +02:00
Alexander Schranz
9946f7fecf Fix redis connect with empty password 2020-08-10 15:30:06 +02:00
Fabien Potencier
a6c27fdd3d feature #37537 [HttpKernel] Provide status code in fragment handler exception (gonzalovilaseca)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpKernel] Provide status code in fragment handler exception

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

We have a use case where it would be useful to retrieve the status code in an exception listener from the exception thrown by the fragment handler, current solution is to extract it from the exception string which is ugly.
With this change we can get the status code from the exception directly.

Commits
-------

81ca1f00a3 [HttpKernel] Provide status code in fragment handler exception
2020-08-10 13:00:38 +02:00
Fabien Potencier
c5d6c104f7 feature #36480 [Notifier] Add Infobip bridge (jeremyFreeAgent)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Add Infobip bridge

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

- [x] Remove default host

Add Infobip SMS.

see https://www.infobip.com

Commits
-------

e138cba8cd [Notifier] Add Infobip bridge
2020-08-10 11:56:35 +02:00
Jérémy Romey
e138cba8cd [Notifier] Add Infobip bridge 2020-08-10 11:56:29 +02:00
Alexander M. Turek
d642d85cd3 Use PHPUnit 9.3 on php 8. 2020-08-10 10:16:22 +02:00
Fabien Potencier
b912af9261 Merge branch '5.1'
* 5.1:
  Fix typo
  Fix deprecated libxml_disable_entity_loader
  Add Tagalog translations for validator messages 94, 95, 96 and 99
  PHPUnit's assertContains() performs strict comparisons now.
  [ClassLoader][Routing] Fix namespace parsing on php 8.
  Fix deprecated libxml_disable_entity_loader
  Made reference to PHPUnit\Util\XML::loadfile php5-compatible.
  [Validator] Add missing translations for german and vietnamese
  Modernized deprecated PHPUnit assertion calls
  [Console] The message of "class not found" errors has changed in php 8.
  The PHPUnit\Util\XML class has been removed in PHPUnit 9.3.
  [Console] Make sure we pass a numeric array of arguments to call_user_func_array().
  Remove outdated references from base_js.html.twig file
  [String] We cannot have a "provides" function in test cases.
  Typo: somes styles fixed
  [Serializer] Fix that it will never reach DOMNode
  [Validator] sync translations
  [VarDumper] Improve previous fix on light array coloration
  [Cache] Fix #37667
2020-08-10 10:10:48 +02:00
Fabien Potencier
c44c606b11 Merge branch '4.4' into 5.1
* 4.4:
  Fix typo
  Fix deprecated libxml_disable_entity_loader
  Add Tagalog translations for validator messages 94, 95, 96 and 99
  PHPUnit's assertContains() performs strict comparisons now.
  [ClassLoader][Routing] Fix namespace parsing on php 8.
  Fix deprecated libxml_disable_entity_loader
  Made reference to PHPUnit\Util\XML::loadfile php5-compatible.
  [Validator] Add missing translations for german and vietnamese
  Modernized deprecated PHPUnit assertion calls
  [Console] The message of "class not found" errors has changed in php 8.
  The PHPUnit\Util\XML class has been removed in PHPUnit 9.3.
  [Console] Make sure we pass a numeric array of arguments to call_user_func_array().
  [Serializer] Fix that it will never reach DOMNode
  [Validator] sync translations
  [VarDumper] Improve previous fix on light array coloration
  [Cache] Fix #37667
2020-08-10 10:03:57 +02:00
Fabien Potencier
8062943caf bug #37790 Fix deprecated libxml_disable_entity_loader (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix deprecated libxml_disable_entity_loader

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

Commits
-------

18c19356ee Fix deprecated libxml_disable_entity_loader
2020-08-10 09:49:03 +02:00
Fabien Potencier
067a140fc5 Fix typo 2020-08-10 09:47:39 +02:00
Fabien Potencier
18c19356ee Fix deprecated libxml_disable_entity_loader 2020-08-10 09:31:28 +02:00
Fabien Potencier
3a04739a83 Merge branch '3.4' into 4.4
* 3.4:
  Add Tagalog translations for validator messages 94, 95, 96 and 99
  PHPUnit's assertContains() performs strict comparisons now.
  [ClassLoader][Routing] Fix namespace parsing on php 8.
  Fix deprecated libxml_disable_entity_loader
  Made reference to PHPUnit\Util\XML::loadfile php5-compatible.
  [Validator] Add missing translations for german and vietnamese
  Modernized deprecated PHPUnit assertion calls
  [Console] The message of "class not found" errors has changed in php 8.
  The PHPUnit\Util\XML class has been removed in PHPUnit 9.3.
  [Console] Make sure we pass a numeric array of arguments to call_user_func_array().
  [Serializer] Fix that it will never reach DOMNode
  [Validator] sync translations
  [VarDumper] Improve previous fix on light array coloration
  [Cache] Fix #37667
2020-08-10 09:27:51 +02:00
Fabien Potencier
f0778ce3e7 minor #37750 Add Tagalog translations for validator messages 94, 95, 96 and 99 (ocrampete16)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

Add Tagalog translations for validator messages 94, 95, 96 and 99

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| 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
<!--
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 master.
-->

I had a little pocket of free time and decided to add a few translations. I wasn't 100% sure about the most natural way to translate 97 and 98, hence why I left them out for now. I'll add them afterwards when I get more time to think about them.

Commits
-------

9d126e085e Add Tagalog translations for validator messages 94, 95, 96 and 99
2020-08-10 09:15:34 +02:00
Marco Petersen
9d126e085e Add Tagalog translations for validator messages 94, 95, 96 and 99 2020-08-10 09:15:28 +02:00
Fabien Potencier
b45e3ed0e7 bug #37763 Fix deprecated libxml_disable_entity_loader (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix deprecated libxml_disable_entity_loader

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

Fix deprecation `Function libxml_disable_entity_loader() is deprecated` triggered by https://github.com/php/php-src/pull/5867 in PHP8

Commits
-------

1f19da3936 Fix deprecated libxml_disable_entity_loader
2020-08-10 09:13:15 +02:00
Fabien Potencier
4ace47284d minor #37784 PHPUnit's assertContains() performs strict comparisons (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

PHPUnit's assertContains() performs strict comparisons

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

In PHPUnit 9.3, `assertContains()` performs a strict comparison which causes a few test failures in our test suite. This PR should fix them.

Commits
-------

9f4dec59a4 PHPUnit's assertContains() performs strict comparisons now.
2020-08-10 09:11:30 +02:00
Fabien Potencier
1dcb67e7e8 minor #37783 [ClassLoader][Routing] Fix namespace parsing on php 8 (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[ClassLoader][Routing] Fix namespace parsing on php 8

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

The way namespace declarations are parsed has changed in php 8 (see php/php-src#5827). This PR should fix the corresponding issues in the ClassLoader and Routing components.

Note that Doctrine Annotations suffers from the same issue (doctrine/annotations#339). I had to run the Routing tests locally with doctrine/annotations#344 applied.

Commits
-------

3d293b298f [ClassLoader][Routing] Fix namespace parsing on php 8.
2020-08-10 09:10:19 +02:00
Fabien Potencier
cd5769f350 minor #37782 Made reference to PHPUnit\Util\XML::loadfile php5-compatible (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

Made reference to PHPUnit\Util\XML::loadfile php5-compatible

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

Fixup of #37778. My code was apparently not php5-friendly. Sorry for that. 😓

Commits
-------

4bf640543a Made reference to PHPUnit\Util\XML::loadfile php5-compatible.
2020-08-10 09:08:17 +02:00
Alexander M. Turek
9f4dec59a4 PHPUnit's assertContains() performs strict comparisons now. 2020-08-09 14:16:18 +02:00
Alexander M. Turek
3d293b298f [ClassLoader][Routing] Fix namespace parsing on php 8. 2020-08-09 13:28:08 +02:00
Jérémy Derussé
1f19da3936
Fix deprecated libxml_disable_entity_loader 2020-08-09 11:13:53 +02:00
Alexander M. Turek
4bf640543a Made reference to PHPUnit\Util\XML::loadfile php5-compatible. 2020-08-09 11:07:58 +02:00
Fabien Potencier
f4668b5f14 feature #36496 [Notifier] added telegram options (krasilnikovm)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Notifier] added telegram options

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

I have added `TelegramOptions` model for sending a telegram message with options like the example I have used  `SlackOptions`.

Testing notes:
1) Create telegram bot https://core.telegram.org/bots#creating-a-new-bot
2) Open telegram and join to the created chat
3) Send a message to telegram
for testing, I used  the scripts
[scripts.zip](https://github.com/symfony/symfony/files/4499901/scripts.zip)

Commits
-------

3ba8d8f135 [Notifier] added telegram options
2020-08-09 10:44:53 +02:00
Fabien Potencier
33e7130d65 minor #37761 [Validator] Add missing translations for german and vietnamese (jschaedl)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[Validator] Add missing translations for german and vietnamese

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT
<!--
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 master.
-->

Commits
-------

f4bd34a1a8 [Validator] Add missing translations for german and vietnamese
2020-08-09 10:39:00 +02:00
Jan Schädlich
f4bd34a1a8 [Validator] Add missing translations for german and vietnamese 2020-08-09 10:38:59 +02:00
Fabien Potencier
4664adb7c4 feature #37754 [FrameworkBundle] Add days before expiration in "about" command (noniagriconomie)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] Add days before expiration in "about" command

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes (with RFC)
| Deprecations? | no
| Tickets       | Slack discussion + see RFC below
| License       | MIT
| Doc PR        |

Maybe this can be usefull in the `bin/console about` output.
Following a small discussion on Slack
<details>
<summary>See discussion </summary>

<img width="910" alt="sf_slack" src="https://user-images.githubusercontent.com/13205768/89516646-029dea00-d7d9-11ea-8ff5-eed5ae72fc77.png">

</details>

---

Symfony 5.1 output:
<img width="681" alt="sf51" src="https://user-images.githubusercontent.com/13205768/89515902-067d3c80-d7d8-11ea-8676-1f90dd0a3418.png">

---

Symfony 5.foo_bar output:
With:
```php
    // symfony/http-kernel/Kernel.php
    const END_OF_MAINTENANCE = '08/2020'; // this month
    const END_OF_LIFE = '09/2020'; // next month
```
<img width="680" alt="sf51_fake" src="https://user-images.githubusercontent.com/13205768/89516056-375d7180-d7d8-11ea-9345-83db200a693d.png">

---

## RFC

Is there a way in Symfony land packages to have such info or/and in Composer in general? the EOL of a package version.

Like for example the https://github.com/FriendsOfPHP/security-advisories `Security Advisories` feature,
but for `End Of Life Advisories` where packages maintainers can add their packages, and this data can be read by `composer` or an other command

~Or maybe directly inside the `composer.json`, like an `"eol": "true"` // and `false` by default if not defined~ (not possible)

Thanks

Commits
-------

0b0a1f6f8e Add days before expiration in "about" command
2020-08-09 10:21:09 +02:00
Fabien Potencier
83b1d71f7f bug #37774 [Console] Make sure we pass a numeric array of arguments to call_user_func_array() (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Make sure we pass a numeric array of arguments to call_user_func_array()

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

On php 8, the unit tests fail with the following error:

```
ArgumentCountError: array_merge() does not accept unknown named parameters
```

This PR should fix the issue.

Commits
-------

67102c32e6 [Console] Make sure we pass a numeric array of arguments to call_user_func_array().
2020-08-09 10:16:57 +02:00
Fabien Potencier
5c6727211d minor #37773 Modernized deprecated PHPUnit assertion calls (derrabus)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

Modernized deprecated PHPUnit assertion calls

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

Some assertions have been renamed in PHPUnit 9. PhpUnitBridge should already have polyfills in place for those methods, so it should be save to use them.

Commits
-------

ab417f7040 Modernized deprecated PHPUnit assertion calls
2020-08-09 10:13:56 +02:00
Alexander M. Turek
ab417f7040 Modernized deprecated PHPUnit assertion calls 2020-08-09 10:13:48 +02:00
Fabien Potencier
1b0758b069 bug #37777 [PhpUnitBridge] Fix assertDoesNotMatchRegularExpression() polyfill (derrabus)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[PhpUnitBridge] Fix assertDoesNotMatchRegularExpression() polyfill

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

The `assertDoesNotMatchRegularExpression()` polyfill currently does not work because the `$pattern` argument is not passed down correctly.

Commits
-------

cdd727a93b [PhpUnitBridge] Fix assertDoesNotMatchRegularExpression() polyfill.
2020-08-09 10:12:02 +02:00
Fabien Potencier
f8aa85b7e2 minor #37779 [Console] The message of "class not found" errors has changed in php 8 (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] The message of "class not found" errors has changed in php 8

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

The error message that php emits if an unknown class is accessed has changed in php 8. Two tests were failing because of this. But since those tests weren't really about missing classes, I tried to find a more resilient way to implement them.

Commits
-------

8bd861bbc6 [Console] The message of "class not found" errors has changed in php 8.
2020-08-09 10:09:51 +02:00
Fabien Potencier
d628fcb914 minor #37778 The PHPUnit\Util\XML class has been removed in PHPUnit 9.3 (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

The PHPUnit\Util\XML class has been removed in PHPUnit 9.3

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

`PHPUnit\Util\XML`, an internal PHPUnit class, is used in a couple of tests. Those tests fail on PHPUnit 9.3 because that class has been removed. This PR fixes those tests by using the new class if it's available.

If this is too much C&P, we could consider having PhpUnitBridge polyfill this call.

Commits
-------

8b801c1269 The PHPUnit\Util\XML class has been removed in PHPUnit 9.3.
2020-08-09 10:07:49 +02:00