Commit Graph

50340 Commits

Author SHA1 Message Date
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
890f8f0c78 bug #37891 [Mailer] Mailjet - properly format Cc and Bcc for API (tcheymol)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Mailjet - properly format Cc and Bcc for API

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

Fix Cc and Bcc not being set properly
I will submit another PR with unit test before the end of next week

Commits
-------

e038605dca [Mailer] Mailjet - properly format Cc and Bcc for API
2020-08-20 15:32:51 +02:00
Thibaut Cheymol
e038605dca [Mailer] Mailjet - properly format Cc and Bcc for API 2020-08-20 09:40:34 +02:00
Maxime Steinhausser
fc2133087d
Fixed PropertyInfo entry in UPGRADE-5.2 file 2020-08-19 19:29:39 +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
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
Fabien Potencier
7e24fc193a minor #37886 [Security] Fix tests (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Fix 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       | 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

Fixes https://travis-ci.org/github/symfony/symfony/jobs/719243848#L6234-L6242 (relates to #36925)

Commits
-------

e04386c187 [Security] Fix tests
2020-08-19 14:31:48 +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
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
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
Fabien Potencier
4bdb2227f6 minor #37877 fix: clarify parameter name to comply with deprecations from #34074 (Dennis Langen)
This PR was submitted for the master branch but it was squashed and merged into the 5.1 branch instead.

Discussion
----------

fix: clarify parameter name to comply with deprecations from #34074

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

[FrameworkBundle] Clarify parameter name from `$attributes` to `$attribute` in `AbstractController:denyUnlessGranted`

Commits
-------

91249ed0bf fix: clarify parameter name to comply with deprecations from #34074
2020-08-18 13:35:02 +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
5d8879823b minor #37869 Fix the parameter names in the SecurityFactoryInterface::create() method (leofeyer)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix the parameter names in the SecurityFactoryInterface::create() method

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

With regard to PHP 8, Psalm has added a named arguments check:
https://psalm.dev/articles/getting-ready-for-named-arguments

This check currently fails, because the `SecurityFactoryInterface` uses different parameter names than the `AbstractFactory`. You can see for yourselves at https://psalm.dev/r/81413a1c96.

Commits
-------

a73f5c1587 Fix the parameter names in the SecurityFactoryInterface::create() method
2020-08-18 12:08:43 +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
74874d5a5d minor #37871 [Validator] mark the AssertingContextualValidator class as internal (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] mark the AssertingContextualValidator class as internal

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

Commits
-------

7ff0287cd6 mark the AssertingContextualValidator class as internal
2020-08-18 11:14:27 +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
Fabien Potencier
7f7b447b0b bug #37860 [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one

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

The strategy is to sort the passed classes from the "bottom" one in the hierarchy to the "top" one so that the first `is_a` in `getMappedObjectType()` is right.

Commits
-------

c16a192473 [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
2020-08-18 09:29:41 +02:00