Commit Graph

41170 Commits

Author SHA1 Message Date
Fabien Potencier
24af7dfb08 Fix CHANGELOG 2020-08-22 08:38:27 +02:00
Fabien Potencier
c281867227 feature #37734 [HttpFoundation] add support for X_FORWARDED_PREFIX header (jeff1985)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[HttpFoundation] add support for X_FORWARDED_PREFIX header

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

Add support for `X-Forwarded-Prefix` header added by the popular Traefik HTTP LoadBalancer and Reverse Proxy. This ensures that the links rendered by symfony application deployed behind LB are valid even if the application is deployed via prefix URL.

Example routing setup:
route `/admin/(.*)` => symfony backend `/$1`
in this case links rendered by symfony backend must start with `/admin/`

To accept traefik prefix in your symfony app, you must modify index.php to allow accepting this header:

    Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_TRAEFIK ^ Request::HEADER_X_FORWARDED_HOST );`

Commits
-------

109e0a9f1a [HttpFoundation] add support for X_FORWARDED_PREFIX header
2020-08-22 08:37:35 +02:00
Evgeny Anisiforov
109e0a9f1a [HttpFoundation] add support for X_FORWARDED_PREFIX header 2020-08-22 08:37:28 +02:00
Fabien Potencier
f1d1514793 feature #37897 [Mailer] Support Amazon SES ConfigurationSetName (cvmiert)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Support Amazon SES ConfigurationSetName

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

In Amazon SES a Configuration Set can be used to monitor email sending
events (delivery, bounces, complaints etc.). In order to use this
feature the ConfigurationSetName needs to be sent along with the email.

Setting the `X-SES-CONFIGURATION-SET` header should accomplish this for
all SES Transports now.

Ref: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets-in-email.html

Commits
-------

a36fec3204 [Mailer] Support Amazon SES ConfigurationSetName
2020-08-22 08:28:39 +02:00
Fabien Potencier
86310deed2 minor #37911 [Cache] fix expected exception message on PHP 8 (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix expected exception message on PHP 8

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

Commits
-------

2c9af570a2 fix expected exception messages on PHP 8
2020-08-22 08:24:01 +02:00
Fabien Potencier
374a0b2eb5 Merge branch '5.1'
* 5.1:
  fix passing arguments to call_user_func_array() on PHP 8
  allow Doctrine DBAL 3
  [Filesystem] fix test on PHP 8
2020-08-21 19:20:41 +02:00
Fabien Potencier
0611b6331c Merge branch '4.4' into 5.1
* 4.4:
  fix passing arguments to call_user_func_array() on PHP 8
  allow Doctrine DBAL 3
  [Filesystem] fix test on PHP 8
2020-08-21 19:19:47 +02:00
Fabien Potencier
4da3ece1b5 Merge branch '3.4' into 4.4
* 3.4:
  fix passing arguments to call_user_func_array() on PHP 8
  [Filesystem] fix test on PHP 8
2020-08-21 19:19:37 +02:00
Christian Flothmann
2c9af570a2 fix expected exception messages on PHP 8 2020-08-21 16:26:21 +02:00
Christian Flothmann
a55ce7c8bb fix passing arguments to call_user_func_array() on PHP 8 2020-08-21 16:15:51 +02:00
Clara van Miert
a36fec3204
[Mailer] Support Amazon SES ConfigurationSetName
In Amazon SES a Configuration Set can be used to monitor email sending
events (delivery, bounces, complaints etc.). In order to use this
feature the ConfigurationSetName needs to be sent along with the email.

Setting the `X-SES-CONFIGURATION-SET` header should accomplish this for
all SES Transports now.

Ref: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets-in-email.html
2020-08-21 15:49:13 +02:00
Christian Flothmann
967331e63a allow Doctrine DBAL 3 2020-08-21 14:55:23 +02:00
Christian Flothmann
c08178978a [Filesystem] fix test on PHP 8 2020-08-21 14:53:49 +02:00
Christian Flothmann
1f77f32d78 Merge branch '5.1'
* 5.1:
  fix merge
  stop using the deprecated schema synchronizer API
2020-08-21 14:11:42 +02:00
Christian Flothmann
60ce71e593 fix merge 2020-08-21 14:10:32 +02:00
Christian Flothmann
ffd707cf9d Merge branch '4.4' into 5.1
* 4.4:
  stop using the deprecated schema synchronizer API
2020-08-21 13:51:31 +02:00
Fabien Potencier
28ede1f468 bug #37906 [FrameworkBundle] properly choose the best mailer message logger listener (xabbuh)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] properly choose the best mailer message logger listener

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

Properly merge the changes from #37729 and #37728.

Commits
-------

6cffc79de6 properly choose the best mailer message logger listener
2020-08-21 12:17:53 +02:00
Fabien Potencier
8f64d70c10 bug #37907 [Messenger] stop using the deprecated schema synchronizer API (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] stop using the deprecated schema synchronizer API

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

see the failing tests and doctrine/dbal#4213

Commits
-------

40129d6239 stop using the deprecated schema synchronizer API
2020-08-21 12:14:49 +02:00
Christian Flothmann
40129d6239 stop using the deprecated schema synchronizer API 2020-08-21 11:51:29 +02:00
Fabien Potencier
2ac2aaab23 Merge branch '5.1'
* 5.1:
  Fix CS
  [Mailer] Fixed mandrill api header structure
  [Mailer] Support reply-to in SesApiAsyncAwsTransport
  [HttpClient][ResponseTrait] Fix typo
  Fix CS
  [Notifier] Fixed base_uri while call auth/time API
  [Mailer] Reorder headers used to determine Sender
  [Validator] Add Lithuanian translation for ISIN constraint
2020-08-21 11:48:30 +02:00
Fabien Potencier
eec66a26de Merge branch '4.4' into 5.1
* 4.4:
  [Mailer] Fixed mandrill api header structure
  [HttpClient][ResponseTrait] Fix typo
  [Mailer] Reorder headers used to determine Sender
  [Validator] Add Lithuanian translation for ISIN constraint
2020-08-21 11:48:22 +02:00
Fabien Potencier
9ab652d60c Merge branch '3.4' into 4.4
* 3.4:
  [Validator] Add Lithuanian translation for ISIN constraint
2020-08-21 11:47:32 +02:00
Christian Flothmann
6cffc79de6 properly choose the best mailer message logger listener 2020-08-21 11:20:36 +02:00
Fabien Potencier
a80dbc5309 feature #37889 Toolbar toggler accessibility (Chi-teck)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Toolbar toggler accessibility

| Q             | A
| ------------- | ---
| Branch       | master
| Bug fix      | yes
| New feature  | no
| Deprecations |no
| Tickets       | Fix #37739
| License       | MIT

Commits
-------

4333dd0ac9 Toolbar toggler accessibility
2020-08-21 08:53:22 +02:00
Chi-teck
4333dd0ac9 Toolbar toggler accessibility 2020-08-21 08:53:16 +02:00
Fabien Potencier
c3ce47e669 Fixed CS 2020-08-21 08:52:49 +02:00
Fabien Potencier
e98fdc7073 feature #36515 [HttpKernel] Add $kernel->getBuildDir() to separate it from the cache directory (mnapoli)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[HttpKernel] Add `$kernel->getBuildDir()` to separate it from the cache directory

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no
| Tickets       | Fix #23354
| 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 master.
-->

In order to support deploying on read-only filesystems (e.g. AWS Lambda in my case), I have started implementing #23354.

This introduces `$kernel->getBuildDir()`:

- `$kernel->getBuildDir()`: for cache that can be warmed and deployed as read-only (compiled container, annotations, etc.)
- `$kernel->getCacheDir()`: for cache that can be written at runtime (e.g. cache pools, session, profiler, etc.)

I have probably missed some places or some behavior of Symfony that I don't know. Don't consider this PR perfect, but rather I want to help move things forward :)

TODO:

- [ ] Changelog
- [ ] Upgrade guide
- [ ] Documentation

Commits
-------

ec945f10d8 [HttpKernel] Add `$kernel->getBuildDir()` to separate it from the cache directory
2020-08-21 08:43:41 +02:00
Matthieu Napoli
ec945f10d8 [HttpKernel] Add $kernel->getBuildDir() to separate it from the cache directory 2020-08-21 08:43:34 +02:00
Fabien Potencier
91dc9c7083 Fix CS 2020-08-21 08:40:21 +02:00
wulff
aeb4c5e6c7 [Mailer] Fixed mandrill api header structure 2020-08-21 08:31:47 +02:00
Clara van Miert
163e961b44
[Mailer] Support reply-to in SesApiAsyncAwsTransport
Enable sending `SendEmailRequest`s with reply-to addresses with
`SesApiAsyncAwsTransport`.
2020-08-20 19:12:17 +02:00
Thomas Calvet
cbd8ca0625 [HttpClient][ResponseTrait] Fix typo 2020-08-20 14:25:15 +02:00
Thibaut Cheymol
e038605dca [Mailer] Mailjet - properly format Cc and Bcc for API 2020-08-20 09:40:34 +02:00
Fabien Potencier
5a9180370e Fix CS 2020-08-20 07:29:43 +02:00
Simon Leblanc
2f91485c40 [Notifier] Fixed base_uri while call auth/time API 2020-08-20 07:28:49 +02:00
Fabien Potencier
d6980e5f38 feature #32133 [PropertyAccess] Allow to disable magic __get & __set (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[PropertyAccess] Allow to disable magic __get & __set

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes   <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | TODO

Working with some legacy code having annoying `__get` & `__set` methods, this would have been useful the same way `__call` can be enabled/disabled.

Commits
-------

11b7bf316e [PropertyAccess] Allow to disable magic __get & __set
2020-08-19 19:12:12 +02:00
Clara van Miert
7e60a8f8c9
[Mailer] Reorder headers used to determine Sender
Use the `Return-Path` header as the last candidate to determine the
Envelope's sender address.

The `Return-Path` is usually configured _in addition_ to the `Sender`
and/or `From` header: it allows for email bounces and complaints to be
sent to a dedicated email address. It should therefore not be used as
the first candidate header to determine the sender.
2020-08-19 19:05:08 +02:00
Maxime Steinhausser
6288449f61 [Validator] Remove duplicated require 2020-08-19 15:55:42 +02:00
Maxime Steinhausser
11b7bf316e [PropertyAccess] Allow to disable magic __get & __set 2020-08-19 15:25:50 +02:00
Maxime Steinhausser
e04386c187 [Security] Fix tests 2020-08-19 14:13:04 +02:00
Fabien Potencier
e1917509e4 Merge branch '5.1'
* 5.1:
  [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping
  [PropertyInfo] Fix ReflectionExtractor + minor tweaks
2020-08-19 13:09:46 +02:00
Fabien Potencier
679cc4dff1 bug #37857 [PropertyInfo] Fix ReflectionExtractor + minor tweaks (ogizanagi)
This PR was merged into the 5.1 branch.

Discussion
----------

[PropertyInfo] Fix ReflectionExtractor + minor tweaks

| Q             | A
| ------------- | ---
| Branch?       | 5.1 <!-- 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       | Fix 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

Spotted while rebasing #32133

Commits
-------

7ccb5a1cf2 [PropertyInfo] Fix ReflectionExtractor + minor tweaks
2020-08-19 13:09:12 +02:00
Fabien Potencier
c426abed85 bug #37868 [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping (kralos)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping

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

Allow duplicate querystring keys when stripping `collection`. `readPreferenceTags` is currently allowed to be specified twice so re-assembling the querystring with `http_build_query` will also strip duplicated `readPreferenceTags`. Use `preg_match` instead.

Commits
-------

c1ea9ae476 [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping
2020-08-19 12:50:41 +02:00
Joe Bennett
c1ea9ae476 [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping 2020-08-19 12:50:35 +02:00
Tomas
d652041647 [Validator] Add Lithuanian translation for ISIN constraint 2020-08-19 07:26:06 +03:00
Fabien Potencier
27d84dbe57 feature #36016 [Translation] Add a pseudo localization translator (fancyweb)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Translation] Add a pseudo localization translator

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

This PR introduces a new translator to be able to test apps with pseudo localization (check the related issue).

The `PseudoLocalizationTranslator` decorates another translator and then alter the translated string. There are 5 options:

- accents:
     - type: boolean
     - default: true
     - description: replace ASCII characters of the translated string with accented versions or similar characters
     - example: if true, `foo` => `ƒöö`

- expansion_factor:
     - type: float
     - default: 1
     - validation: it must be greater than or equal to 1
     - description: expand the translated string by the given factor with spaces and tildes
     example: if 2, `foo` => `~foo ~`

- brackets:
     - type: boolean
     - default: true
     - description: wrap the translated string with brackets
     - example: if true, `foo` => `[foo]`

- parse_html:
     - type: boolean
     - default: false
     - description: parse the translated string as HTML - looking for HTML tags has a performance impact but allows to preserve them from alterations - it also allows to compute the visible translated string length which is useful to correctly expand ot when it contains HTML
     - warning: unclosed tags are unsupported, they will be fixed (closed) by the parser - eg, `foo <div>bar` => `foo <div>bar</div>`

- localizable_html_attributes:
     - type: string[]
     - default: []
     - description: the list of HTML attributes whose values can be altered - it is only useful when the "parse_html" option is set to true
     - example: if ["title"], and with the "accents" option set to true, `<a href="#" title="Go to your profile">Profile</a>` => `<a href="#" title="Ĝö ţö ýöûŕ þŕöƒîļé">Þŕöƒîļé</a>` - if "title" was not in the "localizable_html_attributes" list, the title attribute data would be left unchanged.

Here is a screenshot on a Symfony demo page:
<img width="1374" alt="Screenshot 2020-03-26 at 14 31 20" src="https://user-images.githubusercontent.com/3658119/77652489-9380d100-6f6e-11ea-9bca-142faeee750b.png">

TODO:
- [x] Update FWB XSD

Commits
-------

4d6a41a415 [Translation] Add a pseudo localization translator
2020-08-18 16:11:58 +02:00
Fabien Potencier
6539a0fc2f feature #37755 Fix #37740: Cast all Request parameter values to string (rgeraads)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Fix #37740: Cast all Request parameter values to string

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

This fix ensures that all parameter values in Browserkit\Request are received as strings on the receiving end.

Commits
-------

d4e2cec1fb Fix #37740: Cast all Request parameter values to string
2020-08-18 16:07:52 +02:00
Randy Geraads
d4e2cec1fb Fix #37740: Cast all Request parameter values to string 2020-08-18 16:07:45 +02:00
Christian Flothmann
e36e73b9cf stop using the deprecated at() PHPUnit matcher 2020-08-18 13:55:56 +02:00
Fabien Potencier
da9672dccd minor #37878 🐛 [Mailer] Fix mailjet scheme bug (tcheymol)
This PR was merged into the 5.2-dev branch.

Discussion
----------

🐛 [Mailer] Fix mailjet scheme bug

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

Fix a typo introduced in mailjet-mailer accepted schemes that causes the scheme mailjet+api to not be recognized

Commits
-------

6f357a67cc 🐛 [Mailer] Fix mailjet scheme bug
2020-08-18 13:43:15 +02:00
Fabien Potencier
fbcdbf99a4 Merge branch '5.1'
* 5.1:
  fix: clarify parameter name to comply with deprecations from #34074
  [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
  mark the AssertingContextualValidator class as internal
  Fix the parameter names in the SecurityFactoryInterface::create() method
  [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
  make return type correct
2020-08-18 13:41:45 +02:00
Fabien Potencier
44caccbac8 Merge branch '4.4' into 5.1
* 4.4:
  [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
  mark the AssertingContextualValidator class as internal
  Fix the parameter names in the SecurityFactoryInterface::create() method
  [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
  make return type correct
2020-08-18 13:41:36 +02:00
Fabien Potencier
88bf7211a9 Merge branch '3.4' into 4.4
* 3.4:
  mark the AssertingContextualValidator class as internal
  make return type correct
2020-08-18 13:39:55 +02:00
Thibaut Cheymol
6f357a67cc 🐛 [Mailer] Fix mailjet scheme bug 2020-08-18 13:38:58 +02:00
Dennis Langen
91249ed0bf fix: clarify parameter name to comply with deprecations from #34074 2020-08-18 13:34:54 +02:00
Fabien Potencier
fcc75d9563 minor #37760 make return type correct (vladyslavstartsev)
This PR was merged into the 3.4 branch.

Discussion
----------

make return type correct

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

Since the real return type is `\ArrayIterator` AND array of `FormView` I've decided to change it. Also the other reason is that phpstan iks kind of failing because of this and I need to `assert` things in children of this class.

Commits
-------

32b5b9e1d7 make return type correct
2020-08-18 13:29:18 +02:00
Fabien Potencier
a2d360b869 Fix a test 2020-08-18 13:22:10 +02:00
Fabien Potencier
5cbb019902 bug #37872 [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport (arendjantetteroo)
This PR was merged into the 4.4 branch.

Discussion
----------

[Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport

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

Fixes #37870

The SendgridApiTransport was not using the envelope to get the
recipients, so overriding the recipients with the EnvelopeListener was
not working.

Commits
-------

c4e5131757 [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
2020-08-18 12:13:56 +02:00
Arend-Jan Tetteroo
c4e5131757 [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
Fixes #37870

The SendgridApiTransport was not using the envelope to get the
recipients, so overriding the recipients with the EnvelopeListener was
not working.
2020-08-18 12:11:56 +02:00
Fabien Potencier
c23166c8d8 Merge branch '5.1'
* 5.1:
  [Validator] fix tests
2020-08-18 12:04:11 +02:00
Fabien Potencier
56bf1bca49 minor #37838 [Validator] fix tests (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[Validator] fix tests

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

Commits
-------

162771f7e3 [Validator] fix tests
2020-08-18 12:01:51 +02:00
Fabien Potencier
c8566e05b9 Fix composer name 2020-08-18 11:46:33 +02:00
Fabien Potencier
bf3b84aca4 Fix typo 2020-08-18 11:40:27 +02:00
Christian Flothmann
162771f7e3 [Validator] fix tests 2020-08-18 11:39:21 +02:00
Fabien Potencier
7974f2adfc feature #36541 [Mailer] Add Mailjet bridge (tcheymol)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

 [Mailer] Add Mailjet bridge

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | no
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/14095
<!--

Adds the Maijlet Bridge for the mailer component. Only SMTP for now

-->

Commits
-------

ee77fee343  [Mailer] Add Mailjet bridge
2020-08-18 11:39:16 +02:00
Thibaut Cheymol
ee77fee343 [Mailer] Add Mailjet bridge 2020-08-18 11:39:09 +02:00
Fabien Potencier
e6cdba6512 feature #36940 [Notifier] add support for smsapi-notifier (szepczynski)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Notifier] add support for smsapi-notifier

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| License       | MIT
| Doc PR        | symfony/symfony-docs#13716

Hi,

I've created integration to notifier to support polish sms operator - smsapi.pl

Here is smsapi-notifier integration: https://github.com/szepczynski/smsapi-notifier. Can you grab this code and make as symfony/smsapi-notifier?

This PR includes changes in notifier and framework-bundle to support smsapi transport as well as other included in notifier component.

Could someone integrate this into notifier component?

Commits
-------

91c25303f7 [Notifier] add support for smsapi-notifier
2020-08-18 11:20:34 +02:00
Marcin Szepczyński
91c25303f7 [Notifier] add support for smsapi-notifier 2020-08-18 11:20:28 +02:00
Fabien Potencier
14c9d05dc8 feature #37830 [Notifier] Add LinkedIn provider (ismail1432)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Add LinkedIn provider

| Q             | A
| ------------- | ---
| Branch?       | master for features 5.2
| Bug fix?      | no
| New feature?  | yes/no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #34563 <!-- 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 -->

### Add the LinkedIn provider for the Notifier

Few months ago I created a bridge to send message to LinkedIn, following [the discussion here](https://github.com/symfony/symfony/issues/34563) I create the PR.

If you're curious [I wrote an article where I use the bridge](https://medium.com/@smaine.milianni/aws-lambda-and-symfony-6d3e9831c3cd)

[Edit] test are green ~missing improvement body construction and integration test with update changes + framework integration~

[Notification sent with this PR](https://www.linkedin.com/posts/smainemilianni_hello-linkedin-from-symfony-bridge-see-pull-activity-6700328970665177088-31tT)
<!--
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
-------

0064cae9a0 add Linkedin transport and option
2020-08-18 11:12:14 +02:00
Christian Flothmann
7ff0287cd6 mark the AssertingContextualValidator class as internal 2020-08-18 11:07:13 +02:00
Smaine Milianni
0064cae9a0 add Linkedin transport and option 2020-08-18 09:43:05 +01:00
Leo Feyer
a73f5c1587 Fix the parameter names in the SecurityFactoryInterface::create() method 2020-08-18 10:04:43 +02:00
Fabien Potencier
830cc5b3a3 Merge branch '5.1'
* 5.1:
  Remove obsolete file
  Add missing license
2020-08-18 09:41:46 +02:00
Fabien Potencier
2ae1541ab7 Remove obsolete file 2020-08-18 09:41:32 +02:00
Fabien Potencier
8b78ad3a72 Add missing license 2020-08-18 09:39:30 +02:00
Maxime Steinhausser
7ccb5a1cf2 [PropertyInfo] Fix ReflectionExtractor + minor tweaks 2020-08-18 09:27:13 +02:00
Fabien Potencier
e7dfa34c48 feature #37867 [Messenger] Add message timestamp to amqp connection (Bartłomiej Zając)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Add message timestamp to amqp connection

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

Add default timestamp to amqp transport message.

It is useful when you logging each message, and your consumer is down, you alway get right message time when start consume again.

Commits
-------

281540e005 [Messenger] Add message timestamp to amqp connection
2020-08-18 09:09:18 +02:00
Thomas Calvet
c16a192473 [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one 2020-08-18 09:04:16 +02:00
Mbechezi Nawo
e4a14ac89d Verifying if the password field is null 2020-08-18 08:32:19 +02:00
Bartłomiej Zając
281540e005 [Messenger] Add message timestamp to amqp connection 2020-08-18 08:19:39 +02:00
Fabien Potencier
58ee4f6fa4 Merge branch '5.1'
* 5.1:
  Fix tests namespaces
  replace the deprecated assertDirectoryNotExists() method
2020-08-18 07:52:09 +02:00
Wouter de Jong
c57b879b69 Remove MimeMessageNormalizer if the Mime component is not installed 2020-08-17 22:00:40 +02:00
Wouter de Jong
98802e58d3 Use PUBLIC_ACCESS from AuthenticatedVoter 2020-08-17 21:10:31 +02:00
Fabien Potencier
b61c87c281 minor #37856 [Filesystem] replace the deprecated assertDirectoryNotExists() method (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Filesystem] replace the deprecated assertDirectoryNotExists() method

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

Commits
-------

9fd8a940e0 replace the deprecated assertDirectoryNotExists() method
2020-08-17 16:47:20 +02:00
Maxime Steinhausser
4e68c9091c Fix tests namespaces 2020-08-17 15:51:41 +02:00
Fabien Potencier
c4ff074116 Merge branch '5.1'
* 5.1:
  [Validator] fix tests
  ensure that the validator is a mock object for backwards-compatibility
  [Messenger] Fix BC layer for stamps moved into separate packages
2020-08-17 14:27:13 +02:00
Fabien Potencier
b7d4a1c546 Merge branch '4.4' into 5.1
* 4.4:
  [Validator] fix tests
  ensure that the validator is a mock object for backwards-compatibility
2020-08-17 14:27:03 +02:00
Fabien Potencier
26d8ffb809 Merge branch '3.4' into 4.4
* 3.4:
  [Validator] fix tests
  ensure that the validator is a mock object for backwards-compatibility
2020-08-17 14:26:54 +02:00
Christian Flothmann
9fd8a940e0 replace the deprecated assertDirectoryNotExists() method 2020-08-17 14:24:05 +02:00
Christian Flothmann
f04f507cd5 [Validator] fix tests 2020-08-17 14:06:24 +02:00
Fabien Potencier
fe5021ea04 bug #37826 [Messenger] Fix BC layer for stamps moved into separate packages (ogizanagi)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger] Fix BC layer for stamps moved into separate packages

| Q             | A
| ------------- | ---
| Branch?       | 5.1 <!-- 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       | Fix #37616 <!-- 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
-------

118579ced7 [Messenger] Fix BC layer for stamps moved into separate packages
2020-08-17 14:05:19 +02:00
Fabien Potencier
779303a248 feature #37847 [Serializer][Mime] Fix Mime message serialization (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Serializer][Mime] Fix Mime message serialization

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

Symfony serialization is used by Messenger to serialize Emails. By Email messages are data objects with some logic to prepare emails to be sent. Without configuration, the Symfony Serializer serializes Emails with too many data (and triggers some unneeded validation).

This PR aims to fix the above issue and at the same time makes serialized emails as small as possible and as readable as possible.

Commits
-------

9d869b1ece Fix Mime message serialization
2020-08-17 13:58:42 +02:00
Fabien Potencier
61098e5792 minor #37854 [FrameworkBundle] Fix mailer tests (FrameworkExtension) (l-vo)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] Fix mailer tests (FrameworkExtension)

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

Fix tests that are not synchronized with code anymore (after merge of #37849 in upper branches)

Commits
-------

4280f21bd9 [FrameworkBundle] Fix tests
2020-08-17 13:56:20 +02:00
Christian Flothmann
1c9b6714c7 ensure that the validator is a mock object for backwards-compatibility 2020-08-17 13:46:11 +02:00
Laurent VOULLEMIER
4280f21bd9 [FrameworkBundle] Fix tests
That are not synchronized with code anymore (after merge in upper branches)
2020-08-17 12:16:54 +02:00
Fabien Potencier
5d15ce4e65 Merge branch '5.1'
* 5.1:
  stop using deprecated PHPUnit APIs
2020-08-17 12:01:44 +02:00
Fabien Potencier
38e5a15ff4 Merge branch '4.4' into 5.1
* 4.4:
  stop using deprecated PHPUnit APIs
2020-08-17 12:01:29 +02:00
Fabien Potencier
dbe4e83ae6 minor #37831 stop using deprecated PHPUnit APIs (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

stop using deprecated PHPUnit APIs

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

Commits
-------

3d209c46e4 stop using deprecated PHPUnit APIs
2020-08-17 11:56:45 +02:00
Laurent VOULLEMIER
6658316477 [FrameworkBundle] Fix error in xsd
Probably occured during merge
2020-08-17 11:38:55 +02:00
Christian Flothmann
3d209c46e4 stop using deprecated PHPUnit APIs 2020-08-17 11:35:39 +02:00
Fabien Potencier
5f2be641d4 Fix CS 2020-08-17 10:48:15 +02:00
Fabien Potencier
a5b28c55f8 Merge branch '5.1'
* 5.1:
  Fix CS
  Fix CS
  Fix CS
  [Validator] Add Polish translation for ISIN constraint
2020-08-17 09:50:35 +02:00
Fabien Potencier
a36f34f0fb Fix CS 2020-08-17 09:48:54 +02:00
Fabien Potencier
524941e36e Merge branch '4.4' into 5.1
* 4.4:
  Fix CS
  Fix CS
  [Validator] Add Polish translation for ISIN constraint
2020-08-17 09:42:30 +02:00
Fabien Potencier
85090fcfb8 Fix CS 2020-08-17 09:39:58 +02:00
Fabien Potencier
c9cdac153f Merge branch '3.4' into 4.4
* 3.4:
  Fix CS
  [Validator] Add Polish translation for ISIN constraint
2020-08-17 09:31:35 +02:00
Fabien Potencier
ba042b1acf Fix CS 2020-08-17 09:27:37 +02:00
Thomas Calvet
4d6a41a415 [Translation] Add a pseudo localization translator 2020-08-17 09:14:52 +02:00
Fabien Potencier
129c0943b6 Merge branch '5.1'
* 5.1:
  Fix CS
  [Serializer] Fix configuration of the cache key
  [Messenger] Do not stack retry stamp
  [FrameworkBundle] Add missing mailer transports in xsd
  [Lock] MongoDbStore skim non-standard options from uri
  [ErrorHandler][DebugClassLoader] Add mixed and static return types support
2020-08-17 09:04:20 +02:00
Fabien Potencier
78605e1ad9 Merge branch '4.4' into 5.1
* 4.4:
  Fix CS
  [Serializer] Fix configuration of the cache key
  [Messenger] Do not stack retry stamp
  [FrameworkBundle] Add missing mailer transports in xsd
  [ErrorHandler][DebugClassLoader] Add mixed and static return types support
2020-08-17 09:03:44 +02:00
Fabien Potencier
9d869b1ece Fix Mime message serialization 2020-08-17 08:40:05 +02:00
Fabien Potencier
3cdf5c47db Fix CS 2020-08-17 08:12:26 +02:00
Kévin Dunglas
3b034cb343 [Serializer] Fix configuration of the cache key 2020-08-17 08:10:41 +02:00
Fabien Potencier
df3ab767dd bug #36810 [Messenger] Do not stack retry stamp (jderusse)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Messenger] Do not stack retry stamp

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

With the "RecoverableException" or a very high number of retry, the message is currently stacking a lot of stamp, which increase the size of the message sent to queue and (in my case) reach the "maximum size allowed" after 60 retries + php serializer

This PR removes previous stamps before adding the new Delay+RetryStamps.

Commits
-------

ad6f8532c6 [Messenger] Do not stack retry stamp
2020-08-17 08:02:22 +02:00
Jérémy Derussé
ad6f8532c6 [Messenger] Do not stack retry stamp 2020-08-17 08:02:06 +02:00
Przemysław Bogusz
5fa2975b42 [Validator] Add Polish translation for ISIN constraint 2020-08-17 07:25:28 +02:00
Laurent VOULLEMIER
c21df9b50a [FrameworkBundle] Add missing mailer transports in xsd 2020-08-16 23:25:38 +02:00
Fabien Potencier
5f074cdf4e bug #37218 [Lock] MongoDbStore skim non-standard options from uri (kralos)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Lock] MongoDbStore skim non-standard options from uri

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

Don't allow non-standard connection uri options reach `MongoDB\Client`

Commits
-------

67912faf9f [Lock] MongoDbStore skim non-standard options from uri
2020-08-16 16:54:56 +02:00
Joe Bennett
67912faf9f [Lock] MongoDbStore skim non-standard options from uri 2020-08-16 16:54:50 +02:00
Fabien Potencier
d6b9936f61 bug #37586 [ErrorHandler][DebugClassLoader] Add mixed and static return types support (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler][DebugClassLoader] Add mixed and static return types support

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

Commits
-------

0533f1f63e [ErrorHandler][DebugClassLoader] Add mixed and static return types support
2020-08-16 16:46:36 +02:00
khoptynskyi
aff7628d7d [Console] added TableCellStyle 2020-08-16 15:33:46 +02:00
Fabien Potencier
95eb341ec1 Merge branch '5.1'
* 5.1:
  [Serializer] Fix variadic support when using type hints
  [VarDumper] Backport handler lock when using VAR_DUMPER_FORMAT
  [FrameworkBundle] Remove unused form-resources complex type from XSD file
  Added missing router config
2020-08-16 10:27:52 +02:00
Fabien Potencier
5ef1679707 Merge branch '4.4' into 5.1
* 4.4:
  [Serializer] Fix variadic support when using type hints
  [VarDumper] Backport handler lock when using VAR_DUMPER_FORMAT
2020-08-16 10:27:43 +02:00
Fabien Potencier
803a257b6d Merge branch '3.4' into 4.4
* 3.4:
  [Serializer] Fix variadic support when using type hints
2020-08-16 10:27:11 +02:00
Fabien Potencier
688dbd9dab bug #37845 [Serializer] Fix variadic support when using type hints (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fix variadic support when using type hints

| Q             | A
| ------------- | ---
| Branch?       | 3.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
-------

3fffa96928 [Serializer] Fix variadic support when using type hints
2020-08-16 10:23:32 +02:00
Fabien Potencier
3fffa96928 [Serializer] Fix variadic support when using type hints 2020-08-16 10:12:12 +02:00
Fabien Potencier
8b3df379de feature #37840 [VarDumper] Support PHPUnit --colors option (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[VarDumper] Support PHPUnit --colors option

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

ac0a3fc38a [VarDumper] Support PHPUnit --colors option
2020-08-16 09:44:17 +02:00
Fabien Potencier
6adf64319c Fxi CHANGELOG 2020-08-16 07:46:26 +02:00
Fabien Potencier
08ec4596d2 feature #37138 [Notifier][Slack] Use Slack Web API chat.postMessage instead of WebHooks (xavierbriand)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Notifier][Slack] Use Slack Web API chat.postMessage instead of WebHooks

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

**TL;DR**: Revert changes introduced in 5.1 by #35828: Slack's Web API is much more flexible and easier to operate than Slack WebHooks are.

---

### Context

A valid choice was made to switch from Slack's Web API to Slack's WebHooks for a wrong reason: according to #35828, this was in reaction to the deprecation of Slack's Legacy Tokens.

The author cites:
> Legacy tokens are a deprecated method of generating tokens for testing and development.

[As far as I was able to understand](https://github.com/symfony/symfony/pull/35828#issuecomment-639465018
), from the author perspective, this deprecation was amalgamated with the (perceived) deprecation of the Web API itself.

According to [Slack documentation](https://api.slack.com/legacy/custom-integrations/legacy-tokens) cited by the author:

> If you were using a legacy token to make calls with the Web API, you'll need to generate a new one for your new Slack app.

**So Slack changing its credentials' policy didn't warrant changing how to use Slack's Web API.**

---

### Why Web API > WebHook?

While using Slack WebHooks as the underlying transport method for notification isn't inherently a bad choice, it does–on top of [the reasons cited by the author](#35828)–come with a major limitation: the need to setup (manually or programmatically) a Webhook per channel/recipient.

The Web API, with it's underlying OAuth Access Token, is much more flexible and allows for more diverse use case. Notifications can be sent on behalf of users for instance. Slack can also limit the use of the access tokens to a list of IP addresses and ranges.

**E.g. I want to notify the person who triggers a CD pipeline if the latter fails.** \
Assuming a team of 10 developer, using Slack WebHooks, I would need to setup 10 WebHooks, and manages as many secret in my Symfony app. Furthermore, I would need to create new WebHook each time a new member were to join the team. \
With the Web API, I would only need to manage a single access token for the whole Slack workspace, regardless of who as access to this workspace.

Slack's Web API is much more flexible and easier to operate than Slack WebHooks are.

Commits
-------

bb614c2159 [Notifier][Slack] Use Slack Web API chat.postMessage instead of WebHooks
2020-08-16 07:45:59 +02:00
Xavier Briand
bb614c2159 [Notifier][Slack] Use Slack Web API chat.postMessage instead of WebHooks 2020-08-16 07:45:52 +02:00
Fabien Potencier
1c67261755 bug #37844 [Security] Add missing NullToken vote (wouterj)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Security] Add missing NullToken vote

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

While playing with 5.2-dev, I discovered I forgot to add a granted vote for `PUBLIC_ACCESS`.

I also think it makes more sense now to move the constant from `AccessListener` to `AuthenticatedVoter` (to not have a dependency on Http constants in a Core voter). This is however a BC break, should we do anything more to facility our early-adapters?

Commits
-------

f17746c7c0 [Security] Add missing NullToken vote
2020-08-16 07:27:40 +02:00
Wouter de Jong
f17746c7c0 [Security] Add missing NullToken vote 2020-08-16 07:27:34 +02:00
Laurent VOULLEMIER
943fd631e3 [VarDumper] Fix exception about abstract_arg
When dump_destination is not configured
2020-08-14 23:17:14 +02:00
Maxime Steinhausser
19b341e2b2 [VarDumper] Backport handler lock when using VAR_DUMPER_FORMAT 2020-08-14 17:54:02 +02:00
Maxime Steinhausser
ac0a3fc38a [VarDumper] Support PHPUnit --colors option 2020-08-14 17:33:49 +02:00
Fabien Potencier
49e047bf85 minor #37833 Added missing router config (dragosprotung)
This PR was merged into the 5.1 branch.

Discussion
----------

Added missing router config

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

Commits
-------

a3bfb7d204 Added missing router config
2020-08-14 12:26:40 +02:00
Thomas Calvet
8bec34dd22 [FrameworkBundle] Remove unused form-resources complex type from XSD file 2020-08-14 11:56:16 +02:00
Dragos Protung
a3bfb7d204
Added missing router config 2020-08-14 11:34:02 +02:00
Grégoire Pineau
df57119884 [Console] Rework the signal integration 2020-08-13 17:50:47 +02:00
Christian Scheb
91388e871b Add ability to prioritize firewall listeners 2020-08-13 16:50:09 +02:00
Fabien Potencier
ae677cc9a3 minor #37823 [Messenger] Don't require doctrine/persistence when installing symfony/messenger (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Don't require doctrine/persistence when installing symfony/messenger

| Q             | A
| ------------- | ---
| Branch?       | master
| 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 #36790 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | N/A

As of today, [installing `symfony/messenger` installs `symfony/doctrine-messenger`](3867fb2489/src/Symfony/Component/Messenger/composer.json (L23)) as well. Which means adding `doctrine/persistence` as a hard dep of the latest will install it for any user requiring `symfony/messenger` in 5.2.

I think it should stay a soft-dependency until we remove `symfony/doctrine-messenger` as a `symfony/messenger` dependency as of Symfony 6.0 (as mentioned in #35422).

---

related: #36785

Commits
-------

5c05455521 [Messenger] Don't require doctrine/persistence when installing symfony/messenger
2020-08-13 16:38:32 +02:00
Fabien Potencier
4866278963 Merge branch '5.1'
* 5.1:
  use expectWarning() when possible
2020-08-13 16:36:50 +02:00
Fabien Potencier
c777e02b9d Merge branch '4.4' into 5.1
* 4.4:
  use expectWarning() when possible
2020-08-13 16:36:42 +02:00
Fabien Potencier
0bb2a1a918 Merge branch '3.4' into 4.4
* 3.4:
  use expectWarning() when possible
2020-08-13 16:36:30 +02:00
Fabien Potencier
4703bf8d00 feature #36131 [Mailer] Add a transport that uses php.ini settings for configuration (l-vo)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Add a transport that uses php.ini settings for configuration

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

This PR aims to allow to use the mailer when sendmail is not on the `/usr/sbin` directory or when the `-bs` option is not supported.

Commits
-------

04de561f63 [Mailer] Add NativeTransportFactory
2020-08-13 16:25:21 +02:00
Fabien Potencier
f58b50c336 Merge branch '5.1'
* 5.1:
  Postpone BC layer removal to 6.0.
  add validator translation 99 for Italian language
  stop using the deprecated at() PHPUnit matcher
  Fix typehint phpdoc
2020-08-13 16:19:50 +02:00
Fabien Potencier
cb92a3c8c1 Merge branch '4.4' into 5.1
* 4.4:
  add validator translation 99 for Italian language
  stop using the deprecated at() PHPUnit matcher
  Fix typehint phpdoc
2020-08-13 16:19:42 +02:00
Fabien Potencier
544d276cba Merge branch '3.4' into 4.4
* 3.4:
  add validator translation 99 for Italian language
  stop using the deprecated at() PHPUnit matcher
  Fix typehint phpdoc
2020-08-13 16:18:44 +02:00
Christian Flothmann
26dd39eb06 use expectWarning() when possible 2020-08-13 16:16:26 +02:00
Fabien Potencier
6972bc232d minor #37808 stop using the deprecated at() PHPUnit matcher (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

stop using the deprecated at() PHPUnit matcher

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

Commits
-------

850389731c stop using the deprecated at() PHPUnit matcher
2020-08-13 16:08:51 +02:00
Maxime Steinhausser
118579ced7 [Messenger] Fix BC layer for stamps moved into separate packages 2020-08-13 16:04:02 +02:00
Laurent VOULLEMIER
04de561f63 [Mailer] Add NativeTransportFactory 2020-08-13 15:56:04 +02:00
Fabien Potencier
f99f774d5f feature #36596 Add cache.adapter.redis_tag_aware to use RedisCacheAwareAdapter (l-vo)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Add cache.adapter.redis_tag_aware to use RedisCacheAwareAdapter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | https://github.com/orgs/symfony/projects/1#card-33761315
| License       | MIT
| Doc PR        |

Commits
-------

68d16384d4 Add cache.adapter.redis_tag_aware to use RedisCacheAwareAdapter
2020-08-13 11:01:35 +02:00
Laurent VOULLEMIER
1f66618bb1 Postpone BC layer removal to 6.0.
Since users on 5.0 and 5.1 hasn't have the deprecation, removing the BC layer (and so throwing an exception) in 5.x would be a big BC break.
2020-08-13 10:39:22 +02:00
Laurent VOULLEMIER
68d16384d4 Add cache.adapter.redis_tag_aware to use RedisCacheAwareAdapter 2020-08-13 10:31:22 +02:00
Maxime Steinhausser
5c05455521 [Messenger] Don't require doctrine/persistence when installing symfony/messenger 2020-08-13 10:30:16 +02:00
Fabien Potencier
3867fb2489 minor #37822 [Workflow] Improve and fix (noniagriconomie)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Workflow] Improve and fix

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/pull/37815 review
| License       | MIT
| Doc PR        | #

Hi @lyrixx
thx for such fast PR take over :)

while reviewing i found this typo i think
also i reordered the constants inside the events class to map with the order of fireing event

Commits
-------

9bbce417ff [Workflow] Improve and fix
2020-08-13 10:18:22 +02:00
noniagriconomie
9bbce417ff [Workflow] Improve and fix 2020-08-13 10:09:09 +02:00
Antonio Pauletich
8e6d0df3ec
Add Beanstalkd Messenger bridge 2020-08-13 09:43:16 +02:00
Fabien Potencier
ab3b0c92f2 feature #35967 [VarDumper] Add VAR_DUMPER_FORMAT=server format (ogizanagi)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[VarDumper] Add VAR_DUMPER_FORMAT=server format

| Q             | A
| ------------- | ---
| Branch?       | master<!-- see below -->
| Bug fix?      | no
| New feature?  | yes<!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #35801 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | TODO <!-- required for new features -->

This PR follows discussion in #35801 and adds support for a `server` value for the existing `VAR_DUMPER_FORMAT` env var.

It comes as well with two more things:
- ~~the handler is registered as soon as the `VAR_DUMPER_FORMAT` env var is detected~~ we prevent registering another handler as soon as the `VAR_DUMPER_FORMAT` env var is set, instead of checking if there was a previous handler (which could make this env var useless in some conditions where the handler was already set by another "process")
- the handler registered this way cannot be replaced. This prevents another "process" to takeover dump handling while undesired. E.g: a phpunit functional test booting the kernel to call an endpoint => the handler is replaced. It's (in a sense) a satisfying alternative to #26696

This PR means anyone can use dump with a server in any context, without changing a single line of code in the project by:
- starting the server using `./vendor/bin/var-dump-server --format=html > dumps.html`
- using the env var: `VAR_DUMPER_FORMAT=server [your-cli-command]`

---
Previous related PRs:
- https://github.com/symfony/symfony/pull/26695
- https://github.com/symfony/symfony/pull/26696

Commits
-------

82df6dbcda [VarDumper] Add VAR_DUMPER_FORMAT=server format
2020-08-13 09:36:26 +02:00
Maxime Steinhausser
82df6dbcda [VarDumper] Add VAR_DUMPER_FORMAT=server format 2020-08-13 09:36:20 +02:00
Fabien Potencier
804b8dd8b5 minor #37820 add validator translation 99 for Italian language (garak)
This PR was merged into the 3.4 branch.

Discussion
----------

add validator translation 99 for Italian language

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

This is a followup to PR #37730 for Italian language.

Commits
-------

ad4923f706 add validator translation 99 for Italian language
2020-08-13 09:33:49 +02:00
Massimiliano Arione
ad4923f706
add validator translation 99 for Italian language 2020-08-13 09:29:37 +02:00
Fabien Potencier
7241f658b9 bug #37725 [Form] Fix Guess phpdoc return type (franmomu)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Fix Guess phpdoc return type

| Q             | A
| ------------- | ---
| Branch?       | 3.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       | -
| License       | MIT
| Doc PR        | -

Since `Guess` is abstract, `static` represents better the return type, so calling `TypeGuess::getBestGuess()` would return `TypeGuess` instead of `Guess`.

Commits
-------

27bb1c499d Fix typehint phpdoc
2020-08-13 09:26:14 +02:00
Grégoire Pineau
cfc53ad732 [Workflow] Choose which Workflow events should be dispatched (fix previous commit) 2020-08-13 09:08:45 +02:00
Stewart Malik
d70074753c [Workflow] Choose which Workflow events should be dispatched 2020-08-13 09:00:04 +02:00
Fabien Potencier
da60fbe6cd Merge branch '5.1'
* 5.1:
  [Validator] RangeTest: fix expected deprecation
  Fix bad merge
  [Yaml] Fix for #36624; Allow PHP constant as first key in block
  Use PHPUnit 9.3 on php 8.
  fix mapping errors from unmapped forms
  [Validator] Add target guards for Composite nested constraints
2020-08-13 08:27:49 +02:00
Fabien Potencier
2b0fdc9857 Merge branch '4.4' into 5.1
* 4.4:
  [Validator] RangeTest: fix expected deprecation
  [Yaml] Fix for #36624; Allow PHP constant as first key in block
  Use PHPUnit 9.3 on php 8.
  fix mapping errors from unmapped forms
  [Validator] Add target guards for Composite nested constraints
2020-08-13 08:24:11 +02:00
Fabien Potencier
a379051c82 Merge branch '3.4' into 4.4
* 3.4:
  [Yaml] Fix for #36624; Allow PHP constant as first key in block
  Use PHPUnit 9.3 on php 8.
  fix mapping errors from unmapped forms
  [Validator] Add target guards for Composite nested constraints
2020-08-13 08:22:32 +02:00
Fabien Potencier
a45428c293 feature #20054 [Console] Different approach on merging application definition (ro0NL)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Console] Different approach on merging application definition

| Q | A |
| --- | --- |
| Branch? | "master" |
| Bug fix? | yes |
| New feature? | not really (refactoring) |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #19181, #17804, #19909, partially #20030 |
| License | MIT |
| Doc PR | reference to the documentation PR, if any |

Before/After:

``` diff
$ bin/console list -h
Usage:
  list [options] [--] [<namespace>]

Arguments:
  namespace            The namespace name

Options:
      --raw            To output raw command list
      --format=FORMAT  The output format (txt, xml, json, or md) [default: "txt"]
+  -h, --help            Display this help message
+  -q, --quiet           Do not output any message
+  -V, --version         Display this application version
+      --ansi            Force ANSI output
+      --no-ansi         Disable ANSI output
+  -n, --no-interaction  Do not ask any interactive question
+  -e, --env=ENV         The environment name [default: "dev"]
+      --no-debug        Switches off debug mode
+  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  The list command lists all commands:

    php bin/console list

  You can also display the commands for a specific namespace:

    php bin/console list test

  You can also output the information in other formats by using the --format option:

    php bin/console list --format=xml

  It's also possible to get raw list of commands (useful for embedding command runner):

    php bin/console list --raw
```

This could deprecate `getNativeDefinition` or make it a feature as right now it's internal and unused.

edit: resolved the BC break.

edit2: question is.. should this target 2.7?

Commits
-------

553b173a30 [Console] Different approach on merging application definition
2020-08-13 08:19:16 +02:00
Fabien Potencier
acda2dc31e feature #36648 [Notifier] Add Mobyt bridge (Deamon)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Add Mobyt bridge

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       |  #33687
| License       | MIT
| Doc PR        | symfony/symfony-docs#13606
| recipe PR   | symfony/recipes#768

Add Mobyt notifier bridge.

In this SMS Provider, you can choose a sort of "quality service" to send the message.

I updated `src/Symfony/Component/Notifier/Message/SmsMessage.php` to add the notification in order to be able to use the notification importance when creating options.

Commits
-------

bf594b75d0 Add Mobyt Notifier bridge
2020-08-13 08:02:00 +02:00
Laurent VOULLEMIER
986a0a221e [FrameworkBundle] Allow to leverage autoconfiguration for DataCollectors with template 2020-08-12 20:58:59 +02:00
Deamon
bf594b75d0 Add Mobyt Notifier bridge 2020-08-12 18:10:23 +02:00
Fabien Potencier
31c194f7de feature #37359 [Security] Add event to inspect authenticated token before it becomes effective (scheb)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Security] Add event to inspect authenticated token before it becomes effective

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

Hello there, I'm the author of `scheb/two-factor-bundle`, which extends Symfony's security layer with two-factor authentication. I've been closely following the recent changes by @wouterj to rework the security layer with "authenticators" (great work!). While I managed to make my bundle work with authenticators, I see some limitations in the security layer that I'd like to address to make such extensions easier to implement.

This PR adds a new event, which is disapatched right after the authenticated token has been created by the authenticator, to "announce" it to the application *before* it becomes effective to the security system. The event works similar to `ResponseEvent`, but for security token. It allows listeners to inspect the new token before it becomes effective and - most importantly - apply modifications to it. So components other than the authenticator will be able to influence how the security token looks like, that will be set to the security layer on successful authentication.

Why would you want to do this? Of course I'm looking at this from the 2fa perspective. To make 2fa work, it's necessary to prevent a newly created authenticated token from becoming visible to the security system and therefore exposing its privileges/roles. This is done by replacing the authenticated token with a temporary "TwoFactorToken". Currently I'm doing this through dependency injection, getting all the registered authenticators and decorating them with my own token-exchange logic. This is not very clean and overly complicated, but it works. Adding this event as a hook-in point would allow for a much cleaner integration for any component that wants to have a saying in how the security token should look like.

Commits
-------

20309646b7 [Security] Add event to inspect authenticated token before it becomes effective
2020-08-12 18:06:37 +02:00
Christian Scheb
20309646b7 [Security] Add event to inspect authenticated token before it becomes effective 2020-08-12 18:06:29 +02:00
Christian Flothmann
850389731c stop using the deprecated at() PHPUnit matcher 2020-08-12 16:55:37 +02:00
Fabien Potencier
3cd112328c minor #37813 [Workflow] Simplify code + Updated README.md (lyrixx)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Workflow] Simplify code + Updated README.md

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37539 (cleaning previous PR)
| License       | MIT
| Doc PR        |

Commits
-------

3268bdb90c [Workflow] Simplify code + Updated README.md
2020-08-12 16:53:19 +02:00
Fabien Potencier
684b04bb9c minor #37811 [FrameworkBundle] Fix 7.4 CachePools integration tests (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] Fix 7.4 CachePools integration tests

| Q             | A
| ------------- | ---
| Branch?       | master <!-- 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       | #36691 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | N/A

Attempt to fix https://github.com/symfony/symfony/runs/975252922#step:11:56 on master.

Commits
-------

d3ef8ba3bd [FrameworkBundle] Fix 7.4 CachePools integration tests
2020-08-12 16:49:52 +02:00
Grégoire Pineau
3268bdb90c [Workflow] Simplify code + Updated README.md 2020-08-12 15:41:55 +02:00
Grégoire Pineau
25095d8908 feature #37539 [Workflow] Added Context to Workflow Event (epitre)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Workflow] Added Context to Workflow Event

There's also a default context for the initial marking event.

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

This time, I need context in the events, because, sometimes, the transition is automatic and sometimes, it is manual. I want to be able to make the difference. I figured using the context for that is a good idea. I hope you do too :)

By the way, I believe it also fixes #37421 . I took @pluk77 request to be able to differentiate an initial marking by having a default context in that case

Commits
-------

bfe07dda83 Added Context to Workflow Event There's also a default context for the initial marking event.
2020-08-12 15:17:24 +02:00
Maxime Steinhausser
d3ef8ba3bd [FrameworkBundle] Fix 7.4 CachePools integration tests 2020-08-12 15:07:58 +02:00
Roland Franssen
553b173a30 [Console] Different approach on merging application definition 2020-08-12 14:42:14 +02:00
Maxime Steinhausser
33c8c3a63d [Validator] RangeTest: fix expected deprecation 2020-08-12 11:54:23 +02:00
noniagriconomie
eb067ed58e [Notifier] add doc for free mobile dsn 2020-08-12 11:21:02 +02:00
Fabien Potencier
5afac1df4e Fix bad merge 2020-08-12 11:06:24 +02:00
Fabien Potencier
9b197fe839 Fix bad merge 2020-08-12 11:05:56 +02:00
Fabien Potencier
78f4a9f410 Merge branch '5.1'
* 5.1:
  Fix for issue #37681
  Revert changes to Table->fillCells()
  [Console] Table: support cells with newlines after a cell with colspan >= 2
  Fix redis connect with empty password
  [Validator] Add BC layer for notInRangeMessage when min and max are set
2020-08-12 10:46:31 +02:00
Fabien Potencier
806ef94e98 Merge branch '4.4' into 5.1
* 4.4:
  Fix for issue #37681
  Revert changes to Table->fillCells()
  [Console] Table: support cells with newlines after a cell with colspan >= 2
  Fix redis connect with empty password
  [Validator] Add BC layer for notInRangeMessage when min and max are set
2020-08-12 10:45:47 +02:00
Fabien Potencier
f3753e93d8 bug #36140 [Validator] Add BC layer for notInRangeMessage when min and max are set (l-vo)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Add BC layer for notInRangeMessage when min and max are set

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

According to #36133, the improvement added in  #32435 may lead to a BC break when the developer pass `min` and `max` options and a custom `minMessage` or `maxMessage`. In this case it's expected to receive a `minMessage`/`maxMessage` in the violation but a `notInRangeMessage` is received instead.

So in the following conditions:
- `min` and `max` options are set
- `minMessage` or `maxMessage` is set

A deprecation is triggered. If a limit is violated and matches to the min/max message passed as option (`minMessage` for `min` violated and `maxMessage` for `max` violated), `minMessage/maxMessage` is used in the violation instead of `notInRangeMessage`.

Commits
-------

092d85c947 [Validator] Add BC layer for notInRangeMessage when min and max are set
2020-08-12 10:39:50 +02:00
Fabien Potencier
92eae57fdb bug #35843 [Validator] Add target guards for Composite nested constraints (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Add target guards for Composite nested constraints

| Q             | A
| ------------- | ---
| Branch?       | 3.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       | Fix https://github.com/symfony/symfony/pull/35815#pullrequestreview-362719298 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

a08ddf7636 [Validator] Add target guards for Composite nested constraints
2020-08-12 10:12:34 +02:00
Fabien Potencier
7e85a6a6c6 bug #37803 Fix for issue #37681 (Rav)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Fix for issue #37681

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

Allow BOM character and comments before `<!DOCTYPE html>` declaration in DomCrawler while choosing a parser implementation

Commits
-------

9bc249e0b9 Fix for issue #37681
2020-08-12 08:20:48 +02:00
Rav
9bc249e0b9 Fix for issue #37681 2020-08-12 08:20:35 +02:00
Ben Ramsey
0bf89cdf71
[Console] allow multiline responses to console questions 2020-08-11 16:25:31 -05:00
Jelle Raaijmakers
17263ca14d Revert changes to Table->fillCells()
These changes were introduced in https://github.com/symfony/symfony/pull/37731
but no longer contributed to the actual fix, which was to perform a
->copyRow().
2020-08-11 19:02:45 +02:00
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
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 Bourigault
63cbf0abe8 [Serializer] Add CompiledClassMetadataFactory 2020-08-11 12:10:04 +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
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
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
Jérémy Romey
e138cba8cd [Notifier] Add Infobip bridge 2020-08-10 11:56:29 +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
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
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
Alexander M. Turek
8bd861bbc6 [Console] The message of "class not found" errors has changed in php 8. 2020-08-08 21:42:49 +02:00
Alexander M. Turek
8b801c1269 The PHPUnit\Util\XML class has been removed in PHPUnit 9.3. 2020-08-08 21:12:02 +02:00
Alexander M. Turek
cdd727a93b
[PhpUnitBridge] Fix assertDoesNotMatchRegularExpression() polyfill. 2020-08-08 20:25:28 +02:00
Alexander M. Turek
67102c32e6 [Console] Make sure we pass a numeric array of arguments to call_user_func_array(). 2020-08-08 17:34:42 +02:00
Fabien Potencier
02582008a7 minor #37764 Remove outdated references from base_js.html.twig file (Chi-teck)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

Remove outdated references from base_js.html.twig file

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

It looks like TwigBundle/Resources/views/base_js.html.twig file has been removed.

Commits
-------

65fe98ec66 Remove outdated references from base_js.html.twig file
2020-08-08 16:42:43 +02:00
Chi-teck
65fe98ec66 Remove outdated references from base_js.html.twig file 2020-08-08 16:42:38 +02:00
Alexander M. Turek
46e2a0c517 [String] We cannot have a "provides" function in test cases. 2020-08-08 15:51:54 +02:00
Vladyslav Startsev
32b5b9e1d7 make return type correct 2020-08-08 12:33:44 +03:00
mihail.krasilnikov
3ba8d8f135 [Notifier] added telegram options 2020-08-07 22:08:56 +03:00
Christian Flothmann
235920a388 fix mapping errors from unmapped forms 2020-08-07 15:17:26 +02:00
Fabien Potencier
5e02d86074 Fix CS 2020-08-07 10:44:47 +02:00
Fabien Potencier
7520884bc2 feature #35773 [Notifier] Change notifier recipient handling (jschaedl)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Change notifier recipient handling

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #35558 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | tbd.

According to @wouterj's reasoning in #35558 I did the following to merge the `AdminRecipient` with the `Recipient` class:

- introduced a `EmailRecipientInterface` with `getEmail(): string` methods
- introduced a `RecipientInterface` that is extended by `EmailRecipientInterface` and `SmsRecipientInterface`
- changed `Recipient` class which now holds an email and a phone number property and implements the `EmailRecipientInterface` and the `SmsRecipientInterface`
- changed `NoRecipient` class which now implements the `RecipientInterface`
- removed the `AdminRecipient` and fixed all related type-hints
- introduced an `EmailRecipient` and `SmsRecipient`
- changed the type-hint of the `$recipient` argument in `NotifierInterface::send()`, `Notifier::getChannels()`, `ChannelInterface::notifiy()` and `ChannelInterface::supports()` to `RecipientInterface`
- changed the type hint of the `$recipient` argument in the `as*Message()` of the  `EmailNotificationInterface` and `SmsNotificationInterface` which now uses the introduced interfaces
- changed the type hint of the `$recipient` argument in the static `fromNotification()` factory methods in `EmailMessage` and `SmsMessage` which now uses the introduced interfaces
- changed `EmailChannel` to only support recipients which implement the `EmailRecipientInterface`
- changed `SmsChannel` only supports recipients which implement the `SmsRecipientInterface`

Commits
-------

588607bdd1 [Notifier] Change notifier recipient handling
2020-08-07 10:44:01 +02:00
Jan Schädlich
588607bdd1 [Notifier] Change notifier recipient handling 2020-08-07 10:43:53 +02:00
Jérôme TAMARELLE
c4cda758b5 [Notifier] Add Google Chat bridge 2020-08-07 08:31:44 +02:00
noniagriconomie
0b0a1f6f8e Add days before expiration in "about" command 2020-08-06 11:34:29 +02:00
Jérémy Derussé
080f1149a1
Reduce log verbosity for CombinedStore 2020-08-06 10:03:26 +02:00
Fabien Potencier
d66a0a76e2 feature #36692 [HttpClient] add EventSourceHttpClient to consume Server-Sent Events (soyuka)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] add EventSourceHttpClient to consume Server-Sent Events

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

<details>
 <summary>First implementation</summary>
This patch implements the [w3c Server-Sent Events specification](https://www.w3.org/TR/eventsource/#eventsource) on top of symfony's http client. It provides an `EventSource` class that allows you to interact of server sent events.

Comparing to the Javascript implementation, we won't be able to use the same API. Indeed, in php listeners need to be setup before we connect to the HTTP stream.
I'm not fond of adding a dependency to EventDispatcher from HTTP Client, therefore I'm all ears if you have better solutions.
About event parsing, I wanted to avoid using regular expression and it uses smart data split. Note that I had to concatenate an internal buffer and only handle the data when a newline is found to cover long chunks. This is an alternative to this [react php eventsource](https://github.com/clue/reactphp-eventsource). Note that this implementation is closer to the specification in some cases that are still to be covered by tests (`retry`, `data:value` without space after colon is valid etc.).
</details>

This is an implementation of the [Server-Sent Events specification](https://html.spec.whatwg.org/multipage/server-sent-events.html) based on symfony's HTTP Client. After a few suggestions on the first implementation (see details above), I've implemented a chunk generator with this kind of API:

```php
$client = new EventSourceHttpClient($client, 10);
$source = $client->connect('GET', "http://localhost:8080/events");
while($source) {
    foreach ($client->stream($source, 2) as $r => $chunk) {
        if ($chunk->isTimeout()) {
            dump([
                'timeout' => [
                    'retry' => 1 + count($r->getInfo('previous_info') ?? [])
                ],
            ]);
            continue;
        }
        if ($chunk->isLast()) {
            dump([
                'eof' => [
                    'retries' => count($r->getInfo('previous_info') ?? [])
                ],
            ]);
            $source = null;
            return;
        }

        dump($chunk);
    }
}
```

TODO:
- [x] validate implementation (~~don't use EventDispatcher ?~~, need to be implemented as `stream` instead of `message`)
- [x] default timeout value
- [x] implement retry/reconnection
- [x] tests (do test with super long chunk, retry, bad http content-type response)
- [ ] update changelog
- [ ] document

Commits
-------

12ccca3cd4 [HttpClient] add EventSourceHttpClient to consume Server-Sent Events
2020-08-06 08:59:15 +02:00
soyuka
12ccca3cd4 [HttpClient] add EventSourceHttpClient to consume Server-Sent Events 2020-08-06 08:59:09 +02:00
Fabien Potencier
5e2abc66c2 Fix previous merge 2020-08-06 08:17:52 +02:00
Mohammad Emran Hasan
bd4fd32121 Adds Zulip notifier bridge 2020-08-06 08:16:18 +02:00
Fabien Potencier
b968497770 bug #37748 [Notifier] Fix SentMessage implementation (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Fix SentMessage implementation

| Q             | A
| ------------- | ---
| Branch?       | master
| 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

#36611 broke the Notifier when used with Messenger.

/cc @jeremyFreeAgent

Commits
-------

92c28de41b [Notifier] Fix SentMessage implementation
2020-08-06 07:19:29 +02:00
Fabien Potencier
9db0f20c85 feature #37747 [Notifier] Make Freemobile config more flexible (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Make Freemobile config more flexible

| Q             | A
| ------------- | ---
| Branch?       | master
| 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<!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | n/a

As Freemobile only supports French phone numbers, let's support French numbers without the international code.

Commits
-------

4dfde6ae7c [Notifier] Make Freemobile config more flexible
2020-08-06 07:18:22 +02:00
Fabien Potencier
e43d6b3baf Merge branch '5.1'
* 5.1:
  fail properly when the required service is not defined
  Fix typo
  [Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account
  Update UPGRADE-5.0.md
  Added the missing reset tag to mailer.logger_message_listener
  Fix invalid option sslmode
  Updated README for the Mailer component
  fix error with custom function and web profiler routing tab
2020-08-06 07:13:39 +02:00
Fabien Potencier
ea69524de9 Merge branch '4.4' into 5.1
* 4.4:
  fail properly when the required service is not defined
  Fix typo
  [Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account
  Update UPGRADE-5.0.md
  Added the missing reset tag to mailer.logger_message_listener
  Updated README for the Mailer component
  fix error with custom function and web profiler routing tab
2020-08-06 07:08:30 +02:00
Fabien Potencier
92c28de41b [Notifier] Fix SentMessage implementation 2020-08-06 06:53:52 +02:00
Fabien Potencier
4dfde6ae7c [Notifier] Make Freemobile config more flexible 2020-08-06 06:52:01 +02:00
Gonzalo Vilaseca
81ca1f00a3 [HttpKernel] Provide status code in fragment handler exception 2020-08-04 11:02:58 +02:00
Fabien Potencier
995d784a0d bug #37701 [Serializer] Fix that it will never reach DOMNode (TNAJanssen)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[Serializer] Fix that it will never reach DOMNode

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

When providing the DOMNode object, the is_object check will return true. This way it will never reach the DOMNode check.

So i moved this check to above the is_object check.

Commits
-------

38787ac785 [Serializer] Fix that it will never reach DOMNode
2020-08-04 08:15:33 +02:00
Alexander Janssen
38787ac785 [Serializer] Fix that it will never reach DOMNode 2020-08-04 08:15:26 +02:00
Fabien Potencier
c0a707f0db feature #37718 [Security] class Security implements AuthorizationCheckerInterface (SimonHeimberg)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] class Security implements AuthorizationCheckerInterface

The class has the method of AuthorizationCheckerInterface already.

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

The class Security has the method for interface AuthorizationCheckerInterface already. By implementing the interface, Security can be passed to methods typehinted with AuthorizationCheckerInterface.

Commits
-------

cea6ebda5b [Security] class Security implements AuthorizationCheckerInterface
2020-08-04 08:13:57 +02:00
Fabien Potencier
6d2ee19b60 Fix CS 2020-08-04 08:11:14 +02:00
Fran Moreno
27bb1c499d Fix typehint phpdoc 2020-08-03 20:22:34 +02:00
Robin Chalas
63407d8201 [Console] Allow disabling auto-exit for single command apps 2020-08-03 17:23:43 +02:00
Christian Flothmann
b7d2b6042b [Validator] sync translations 2020-08-03 15:22:15 +02:00
Christian Flothmann
a16ebc177d fail properly when the required service is not defined 2020-08-03 15:05:59 +02:00
Fabien Potencier
2ddacad477 Fix typehint 2020-08-02 10:17:48 +02:00
Fabien Potencier
681c66675e feature #37480 [Messenger] add redeliveredAt in RedeliveryStamp construct (qkdreyer)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Messenger] add redeliveredAt in RedeliveryStamp construct

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

---

this would allows one to correctly unserialize a RedeliveryStamp with a custom serializer not using the php serialize function

Commits
-------

64d26836da [Messenger] add redeliveredAt in RedeliveryStamp construct
2020-08-02 10:17:01 +02:00
Quentin Dreyer
64d26836da [Messenger] add redeliveredAt in RedeliveryStamp construct 2020-08-02 10:16:56 +02:00
Fabien Potencier
4105e935ac minor #37669 [EventDispatcher] Minor: Avoid not needed null check in dispatch() (brainexe)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[EventDispatcher] Minor: Avoid not needed null check in dispatch()

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

Just found a not needed null check in the heavyly called EventDispatcher::dispatch() method - the $eventName get's always a string now - no null anymore, as it gets the class name instead.

Commits
-------

0d36c11f28 [EventDispatcher] Avoid not needed null check in dispatch()
2020-08-02 10:13:42 +02:00
Fabien Potencier
f76ac74b20 feature #37565 [Validator] Add Isin validator constraint (lmasforne)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Validator] Add Isin validator constraint

Co-Authored-By: Yannis Foucher <33806646+YaFou@users.noreply.github.com>

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

Rebase of https://github.com/symfony/symfony/pull/36368

I asked him by mail and he didn't have time to finish the PR and allowed me to do it.

Commits
-------

8e1ffc8b99 Feature #36362 add Isin validator constraint
2020-08-02 10:06:13 +02:00
Fabien Potencier
1889ba8fba feature #37712 [Mailer] Prevent MessageLoggerListener from leaking in env=prod (vudaltsov)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Prevent MessageLoggerListener from leaking in env=prod

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

I was trying to send a batch of emails with `--env=prod` when I noticed that `MessageLoggerListener` was still collecting all the messages and leaking the memory. I tried to do `$this->getApplication()->reset()`, but it didn't work because `MessageLoggerListener` was not tagged (now fixed in #37705).

In this PR I propose to move the declaration of `MessageLoggerListener` to `mailer_debug.php` since the only service depending on it is `mailer.data_collector` from `mailer_debug.php`. If a developer needs to collect sent emails, a custom listener could be implemented on the project side.

- [x] deprecate the service
- [x] add a new one to `mailer_debug.php`
- [ ] add a line to CHANGELOG.md
- [ ] add a line to UPGRADE-5.2.md

Commits
-------

e226775d97 [Mailer] Prevent MessageLoggerListener from leaking in env=prod
2020-08-02 09:59:01 +02:00
vudaltsov
e226775d97 [Mailer] Prevent MessageLoggerListener from leaking in env=prod 2020-08-02 09:58:54 +02:00
Vitaliy Ryaboy
eea41d9655 [Lock] downgrade log.info to log.debug 2020-08-02 09:57:41 +02:00
Laurent Masforné
8e1ffc8b99 Feature #36362 add Isin validator constraint
Feature #36362 typo

Fix PR feedbacks

Fix coding standard

ticket 36362 fix PR feedbacks

Update src/Symfony/Component/Validator/Constraints/IsinValidator.php

Co-Authored-By: Yannis Foucher <33806646+YaFou@users.noreply.github.com>
2020-08-01 14:37:35 +02:00
Simon Heimberg
cea6ebda5b [Security] class Security implements AuthorizationCheckerInterface
The class has the method of AuthorizationCheckerInterface already.
2020-07-31 19:01:17 +02:00
Fabien Potencier
b61fa4480b bug #37671 [Cache] fix saving no-expiry items with ArrayAdapter (philipp-kolesnikov)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix saving no-expiry items with ArrayAdapter

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

0 is a special value that means "infinity".

Commits
-------

bdec105a72 [Cache] Fix #37667
2020-07-31 09:57:22 +02:00
Fabien Potencier
de39dbae8f Fix previous merge 2020-07-31 09:51:09 +02:00
marie
859b692240 [Console] add console.signal event 2020-07-31 09:49:38 +02:00
Fabien Potencier
b8529a03a6 Fix CHANGELOG 2020-07-31 09:45:25 +02:00
Jules Pietri
f4679ef08a [Validator] Added support for cascade validation on typed properties 2020-07-31 09:44:26 +02:00
Fabien Potencier
f1dc422394 feature #37243 [DependencyInjection] Resolve parameters in tag arguments (rpkamp)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[DependencyInjection] Resolve parameters in tag arguments

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #35337
| License       | MIT
| Doc PR        | None, yet, will follow if this is accepted

Arguably this could be a BC break if people are actively relying on parameters not being resolved in tag parameters, although I can't come up with a sensible use case for that scenario.

Commits
-------

3dba1fe7bf [DependencyInjection] Resolve parameters in tag arguments
2020-07-31 09:38:46 +02:00
Remon van de Kamp
3dba1fe7bf [DependencyInjection] Resolve parameters in tag arguments 2020-07-31 09:38:40 +02:00
Fabien Potencier
7aaf99d9f2 feature #37415 [Console] added info method to symfony style (titospeakap, titomiguelcosta)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Console] added info method to symfony style

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

It would be nice to have an info method as part of the SymfonyStyle class. This would prevent having to use the \<INFO\> tag, and it is consistent with other methods like warning and error (similar to the types available in monolog)

Commits
-------

4cf1a1e8e6 fixed docblock
204cd739d3 added info method to symfony style
2020-07-31 09:37:19 +02:00
Fabien Potencier
32941f22d1 feature #36691 [FrameworkBundle] Deprecate some public services to private (fancyweb)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] Deprecate some public services to private

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

Now that we can deprecate public services to private, here is a first pass on the FWB. I think all those services don't need to be public, ie we never need to access them directly in Symfony's code (except in some tests that I had to modify accordingly). I think most of theses services needed to be public before we hooked the AbstractController with a service subscriber. There are definitely more of them that can be deprecated (ie: created workflows and state machines are public but don't need to be ?) but let's start with the easy ones.

Commits
-------

87868baacb [FrameworkBundle] Deprecate some public services to private
2020-07-31 09:12:35 +02:00
Fabien Potencier
5256323bbb feature #36929 Added a FrenchInflector for the String component (Alexandre-T)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Added a FrenchInflector for the String component

I read in [this blog post](https://symfony.com/blog/new-in-symfony-5-1-deprecated-the-inflector-component) this sentence

> Symfony Inflector component converts words between their singular and plural forms (**for now, only in English**)

So I created a FrenchInflector class implementing the InflectorInterface from the String component. This inflector uses regular expressions and it is tested in the FrenchInflectorTest with a lot of the french exceptions.

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

Changelog has been updated, but I'm not sure I did it in the good paragraph.

I don't know if I should update the symfony/symfony-docs, but I have created an example and I could create a PR with it, if you want.

```php
<?php

use Symfony\Component\String\Inflector\FrenchInflector;

$inflector = new FrenchInflector();

$result = $inflector->singularize('dents');     // ['dent']
$result = $inflector->singularize('souris');    // ['souris']
$result = $inflector->singularize('messieurs'); // ['monsieur']

$result = $inflector->pluralize('cinquante'); // ['cinquante']
$result = $inflector->pluralize('pou');       // ['poux']
$result = $inflector->pluralize('cheval');    // ['chevaux']
```

**fabbot.io** is detecting a typo, but this is not. The patch done by fabpot suggests to replace the french 'embarras' word by 'embarrass'. I shall not remove or replace it, because "embarras" is an invariant word.

Commits
-------

d903d9a757 Added a FrenchInflector for the String component French inflector implements InflectorInterface, it uses regexp and it is tested in the FrenchInflectorTest
2020-07-31 09:11:18 +02:00
Fabien Potencier
909158bdb7 bug #37102 [WebProfilerBundle] Fix error with custom function and web profiler routing tab (JakeFr)
This PR was merged into the 4.4 branch.

Discussion
----------

[WebProfilerBundle] Fix error with custom function and web profiler routing tab

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

Here is a simple solution for #36985 as it only concerns WebProfilerBundle.

Due to the limitation in the routing tab as explained in the footnote, the route in my repo did not match in profiler (no query string in the new context) but there is no more syntax error.

Commits
-------

b35c81becb fix error with custom function and web profiler routing tab
2020-07-31 09:05:14 +02:00
Fabien Potencier
281a7522dc minor #37538 Add the name of the env to RuntimeException (Simon Frost)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Add the name of the env to RuntimeException

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

if you have the name of the env in the exception message it is much easier to find the error

from -> https://github.com/symfony/dependency-injection/pull/20

Commits
-------

00ab757cbb Add the name of the env to RuntimeException
2020-07-31 08:57:38 +02:00
Simon Frost
00ab757cbb Add the name of the env to RuntimeException 2020-07-31 08:57:33 +02:00
Fabien Potencier
4c40ff8392 Fix typo 2020-07-31 08:55:54 +02:00
Fabien Potencier
203ed71ec1 minor #37542 [Mailer] Updated README for the Mailer component (wouterj)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Updated README for the Mailer component

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

I think it's worth adding a second example showcasing the twig integration for 2 reasons:

* If you're used to use this component in the framework, I think it's likely you want Twig integration in standalone apps.
* The integration actually lives in `symfony/twig-bridge`, it won't be very easy to catch while reading the component code - unless you're very comfortable with the Symfony architecture.

Commits
-------

696560c690 Updated README for the Mailer component
2020-07-31 08:54:29 +02:00
Fabien Potencier
bea431935f bug #37560 [Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account (Jeroeny)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account

| Q             | A
| ------------- | ---
| Branch?       |  4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/issues/37424
| License       | MIT

The new regex is made per positive `.gitignore` line. Which is a match group followed by a negative lookbehind with all the negations that were on lines after that line. This also fixes some other bugs that didn't match the `.gitignore` spec and two incorrect tests. I think it's likely that there are more edge cases this PR may not cover, but I haven't found them yet.

See the issue for more info.

Commits
-------

609dcf6b08 [Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account
2020-07-31 08:51:39 +02:00
Jeroeny
609dcf6b08 [Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account 2020-07-31 08:51:32 +02:00
Fabien Potencier
374d70568c feature #37620 [Security] Use NullToken while checking authorization (wouterj)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Use NullToken while checking authorization

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

This allows voters to grant access to unauthenticated users. E.g. some objects can be viewed by anyone, in this case the voter has to be able to grant access to unauthenticated users.

This *does break* the interface PHPdoc of `TokenInterface`: `getUser()` returns `null` instead of `string|UserInterface`. This is only true when using the new system, so not a real BC break. I think the only thing we can do to "guide" users is to add some custom handling for type errors related to `null` and `UserInterface` methods ("Did you forgot to check for `null` in the Voter?"). Is this something I should add to this PR?

Commits
-------

e37091541c Use NullToken while checking authorization
2020-07-31 08:44:47 +02:00
Fabien Potencier
bd591057e4 feature #37711 [Router] allow to use \A and \z as regex start and end (zlodes)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Router] allow to use \A and \z as regex start and end

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | yes
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | —
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Some people are using `\A` and `\z` as alternative for `^` and `$` for route requirements.

E.g.: UUID pattern in ramsey/uuid (many routes broke after updating the lib):
569e93ac4e (diff-23c8536f7d61e7d839fd1c93ce0dd354L30-R31)

References:
https://www.rexegg.com/regex-anchors.html#A
https://www.rexegg.com/regex-anchors.html#z

P.S.: It is my first PR into Symfony. Maybe I should fix something, just let me know.

Commits
-------

f752eeeaa6 [Router] allow to use \A and \z as regex start and end
2020-07-31 08:30:16 +02:00
Zlatoslav Desyatnikov
f752eeeaa6 [Router] allow to use \A and \z as regex start and end 2020-07-31 08:30:09 +02:00
Fabien Potencier
bfc0351da6 bug #37654 [Messenger] Fix invalid option sslmode in AmazonSqs bridge (jderusse)
This PR was merged into the 5.1 branch.

Discussion
----------

[Messenger] Fix invalid option sslmode in AmazonSqs bridge

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

The sslmode option allows people to use AmazonSqs with non-offical endpoint like the [asyncaws/testing-sqs](https://hub.docker.com/r/asyncaws/testing-sqs) docker image

By fixing precedence of DNS options in https://github.com/symfony/symfony/pull/37269 I introduced a bug that trigger an exception `Unknown option found: [sslmode]`. I apologize for this

This PR adds `sslmode` in list of allowed options

Commits
-------

afbd51b368 Fix invalid option sslmode
2020-07-31 08:25:05 +02:00
Fabien Potencier
13a5e47b97 feature #37703 Update StopwatchPeriod.php (ThomasLandauer)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Update StopwatchPeriod.php

Adding `__toString()`, analogous to [`StopwatchEvent`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Stopwatch/StopwatchEvent.php#L242)

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

Commits
-------

d3c2911f46 Update StopwatchPeriod.php
2020-07-31 08:22:10 +02:00
Thomas Landauer
d3c2911f46 Update StopwatchPeriod.php 2020-07-31 08:22:04 +02:00
Fabien Potencier
79bc5b7001 bug #37687 Fix getTranslationNodeVisitor() return type (dbrekelmans)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Fix getTranslationNodeVisitor() return type

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

When constructing the `TranslationExtension` with any `NodeVisitorInterface` other than `TranslationNodeVisitor`, you will get a type error when calling `getTranslationNodeVisitor()`. This PR fixes that by extracting a new `TranslationNodeVisitorInterface`.

Commits
-------

c1344257f1 Fix getTranslationNodeVisitor() return type
2020-07-31 08:20:27 +02:00
dbrekelmans
c1344257f1 Fix getTranslationNodeVisitor() return type 2020-07-31 07:47:48 +02:00
Fabien Potencier
e411c96718 feature #37696 [Routing] Allow inline definition of requirements and defaults for host (julienfalque)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Routing] Allow inline definition of requirements and defaults for host

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

This PR extends the support of inline routing requirements and defaults to the host part, which can also contain parameters.

Commits
-------

1501476d52 [Routing] Allow inline definition of requirements and defaults for host
2020-07-30 10:44:46 +02:00
vudaltsov
4e089b411c Added the missing reset tag to mailer.logger_message_listener 2020-07-29 20:46:22 +03:00
Julien Falque
1501476d52
[Routing] Allow inline definition of requirements and defaults for host 2020-07-29 18:19:41 +02:00
Laurent VOULLEMIER
cef16f591f [VarDumper] Improve previous fix on light array coloration 2020-07-29 17:09:23 +02:00
Nicolas Grekas
e983035e1a Merge branch '5.1'
* 5.1:
  reduce column length for MySQL 5.6 compatibility
  Minor improvement
  Removed redundant strtolower in ConsumeMessagesCommand
  getContainer cannot return null anymore
  HttpClient profiler error
  Fix RedisStore constructor signature
  Bump Symfony version to 5.1.4
  Update VERSION for 5.1.3
  Update CHANGELOG for 5.1.3
  Bump Symfony version to 4.4.12
  Update VERSION for 4.4.11
  Update CHANGELOG for 4.4.11
  Bump Symfony version to 3.4.44
  updated VERSION for 3.4.43
  update CONTRIBUTORS for 3.4.43
  updated CHANGELOG for 3.4.43
  Fix author for class CachePoolClearerCacheWarmer
2020-07-29 16:54:40 +02:00
Nicolas Grekas
f03a4b37b3 minor #37517 Fix author for class CachePoolClearerCacheWarmer (guilliamxavier)
This PR was merged into the 5.1 branch.

Discussion
----------

Fix author for class CachePoolClearerCacheWarmer

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/pull/35109#discussion_r363985644
| License       | MIT
| Doc PR        | symfony/symfony-docs#...

Commits
-------

b3d0812976 Fix author for class CachePoolClearerCacheWarmer
2020-07-29 16:52:17 +02:00
Nicolas Grekas
ffa50acd3a Merge branch '4.4' into 5.1
* 4.4:
  reduce column length for MySQL 5.6 compatibility
  Minor improvement
  Removed redundant strtolower in ConsumeMessagesCommand
  Fix RedisStore constructor signature
  Bump Symfony version to 4.4.12
  Update VERSION for 4.4.11
  Update CHANGELOG for 4.4.11
  Bump Symfony version to 3.4.44
  updated VERSION for 3.4.43
  update CONTRIBUTORS for 3.4.43
  updated CHANGELOG for 3.4.43
2020-07-29 16:51:18 +02:00
Nicolas Grekas
b6ea86e7a2 bug #37697 [Messenger] reduce column length for MySQL 5.6 compatibility (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] reduce column length for MySQL 5.6 compatibility

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

Commits
-------

bc5f35c609 reduce column length for MySQL 5.6 compatibility
2020-07-29 16:49:14 +02:00
Nicolas Grekas
fbcef6e1e2 [Contracts] remove version in composer.json 2020-07-29 16:46:19 +02:00
Christian Flothmann
bc5f35c609 reduce column length for MySQL 5.6 compatibility 2020-07-29 10:26:17 +02:00
Fabien Potencier
2ee10004c9 bug #37690 HttpClient profiler error (noniagriconomie)
This PR was merged into the 5.1 branch.

Discussion
----------

HttpClient profiler error

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

When no error occurs making http request, the span was red, it is wierd

Commits
-------

5199f1f9f3 HttpClient profiler error
2020-07-29 07:58:54 +02:00
Valentin Udaltsov
e288834cda
Removed redundant strtolower in ConsumeMessagesCommand 2020-07-29 04:50:45 +03:00
Vincent Langlet
257549e9c8 getContainer cannot return null anymore 2020-07-29 00:26:06 +02:00
noniagriconomie
5199f1f9f3 HttpClient profiler error 2020-07-28 22:37:51 +02:00
Anatoly Pashin
6831271feb
Fix RedisStore constructor signature
This is a fix for a regression from #37590
2020-07-27 11:39:16 +10:00
Philipp Kolesnikov
bdec105a72 [Cache] Fix #37667 2020-07-26 15:13:16 +10:00
Matthias Dötsch
0d36c11f28 [EventDispatcher] Avoid not needed null check in dispatch() 2020-07-25 23:01:31 +02:00
Jérémy Derussé
afbd51b368
Fix invalid option sslmode 2020-07-24 13:53:49 +02:00
Fabien Potencier
fd6181c8b5 Bump Symfony version to 5.1.4 2020-07-24 06:28:10 +02:00
Fabien Potencier
b1ce16147c Update VERSION for 5.1.3 2020-07-24 06:22:56 +02:00
Fabien Potencier
f3cfae8ea7 Bump Symfony version to 4.4.12 2020-07-24 06:14:13 +02:00
Fabien Potencier
3cfbf521a4 Update VERSION for 4.4.11 2020-07-24 06:10:09 +02:00
Fabien Potencier
81fadc9cc1 Bump Symfony version to 3.4.44 2020-07-24 06:07:51 +02:00
Fabien Potencier
5012c9237f updated VERSION for 3.4.43 2020-07-24 05:48:59 +02:00
Nicolas Grekas
0ab5eeddf9 Merge branch '5.1'
* 5.1:
  Allows RedisClusterProxy instance in Lock RedisStore
2020-07-23 19:22:39 +02:00
Nicolas Grekas
ef1566e999 Merge branch '5.0' into 5.1
* 5.0:
  Allows RedisClusterProxy instance in Lock RedisStore
2020-07-23 19:22:30 +02:00
Nicolas Grekas
9f67dd8a7c Merge branch '4.4' into 5.0
* 4.4:
  Allows RedisClusterProxy instance in Lock RedisStore
2020-07-23 19:20:42 +02:00
Nicolas Grekas
0eae7a6578 bug #37590 Allows RedisClusterProxy instance in Lock RedisStore (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

Allows RedisClusterProxy instance in Lock RedisStore

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

This PR allow clients instance of RedisClusterProxy created by the StoreFactory in #28691 /cc @nicolas-grekas

Commits
-------

8ef63cd6bc Allows RedisClusterProxy instance in Lock RedisStore
2020-07-23 19:20:20 +02:00
Nicolas Grekas
36933f2962 minor #37638 [HttpClient] Fix bad testRetryTransportError in AsyncDecoratorTraitTest (brentybh)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] Fix bad testRetryTransportError in AsyncDecoratorTraitTest

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

Issues in the test:
1. `TransportExceptionInterface` is not `use`d (imported)
2. The catch block will not be executed (even the above 1 is fixed) because
the exception (of `chunked-broken`) will be thrown only when `getContent()` is called
The header is OK, status is 200, and we only asserted `getStatusCode()`
So this test made no sense.

Commits
-------

585536a688 [HttpClient] Fix bad testRetryTransportError in AsyncDecoratorTraitTest
2020-07-23 19:01:53 +02:00
Bohan Yang
585536a688 [HttpClient] Fix bad testRetryTransportError in AsyncDecoratorTraitTest 2020-07-23 19:01:21 +02:00
Nicolas Grekas
91487707db Merge branch '5.1'
* 5.1:
  Allow doctrine/persistence 2
  Fix Redis tests
  [DoctrineBridge] Bump doctrine/data-fixtures.
2020-07-23 18:56:54 +02:00
Nicolas Grekas
20cf5df00b Merge branch '5.0' into 5.1
* 5.0:
  Allow doctrine/persistence 2
  Fix Redis tests
  [DoctrineBridge] Bump doctrine/data-fixtures.
2020-07-23 18:55:47 +02:00
Nicolas Grekas
081ad138f7 Merge branch '4.4' into 5.0
* 4.4:
  Allow doctrine/persistence 2
  Fix Redis tests
  [DoctrineBridge] Bump doctrine/data-fixtures.
2020-07-23 18:54:02 +02:00
Alexander M. Turek
cd22fe6c92 Allow doctrine/persistence 2 2020-07-23 18:49:41 +02:00
Nicolas Grekas
4a8f11c1dd Merge branch '3.4' into 4.4
* 3.4:
  Fix Redis tests
  [DoctrineBridge] Bump doctrine/data-fixtures.
2020-07-23 18:48:29 +02:00
Nicolas Grekas
700f68f96c minor #37640 [DoctrineBridge] Bump doctrine/data-fixtures (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[DoctrineBridge] Bump doctrine/data-fixtures

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

Discovered while working on #37639: DoctrineBridge is locked to an old an unmaintained branch of `doctrine/data-fixtures`. This is going to be a problem as soon as we want to support `doctrine/persistence` 2.

Commits
-------

4b611015d5 [DoctrineBridge] Bump doctrine/data-fixtures.
2020-07-23 18:46:43 +02:00
Jérémy Derussé
f524c85161
Fix Redis tests 2020-07-23 14:42:41 +02:00
Alexander M. Turek
4b611015d5 [DoctrineBridge] Bump doctrine/data-fixtures. 2020-07-23 14:17:19 +02:00
Jérémy Derussé
8ef63cd6bc
Allows RedisClusterProxy instance in Lock RedisStore 2020-07-23 13:31:42 +02:00
Nicolas Grekas
e213cc76eb Merge branch '5.1'
* 5.1:
  [Messenger] fix computing the id of same-name middleware
2020-07-23 12:40:28 +02:00
Nicolas Grekas
ea258254d0 Merge branch '5.0' into 5.1
* 5.0:
  [Messenger] fix computing the id of same-name middleware
2020-07-23 12:40:24 +02:00
Nicolas Grekas
da30c7a4e8 Merge branch '4.4' into 5.0
* 4.4:
  [Messenger] fix computing the id of same-name middleware
2020-07-23 12:40:15 +02:00
Nicolas Grekas
b7c6d20181 [Messenger] fix computing the id of same-name middleware 2020-07-23 12:40:00 +02:00
Nicolas Grekas
ec38464335 Merge branch '5.1'
* 5.1:
  Connect to RedisCluster with password auth
  Fix PHPUnit 8.5 deprecations.
  Fix EmailHeaderSame to make use of decoded value
  Allow same middleware to be used multiple times with different arguments
2020-07-23 12:04:35 +02:00
Nicolas Grekas
62dbb9a39a Merge branch '5.0' into 5.1
* 5.0:
  Connect to RedisCluster with password auth
  Fix PHPUnit 8.5 deprecations.
  Fix EmailHeaderSame to make use of decoded value
  Allow same middleware to be used multiple times with different arguments
2020-07-23 12:04:31 +02:00
Nicolas Grekas
7373802d04 Merge branch '4.4' into 5.0
* 4.4:
  Connect to RedisCluster with password auth
  Fix PHPUnit 8.5 deprecations.
  Fix EmailHeaderSame to make use of decoded value
  Allow same middleware to be used multiple times with different arguments
2020-07-23 12:04:24 +02:00