This PR was merged into the 3.4 branch.
Discussion
----------
[ExpressionLanguage] fix passing arguments to call_user_func_array() on PHP 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
a55ce7c8bb fix passing arguments to call_user_func_array() on PHP 8
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
This PR was merged into the 3.4 branch.
Discussion
----------
[Filesystem] fix test on PHP 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
c08178978a [Filesystem] fix test on PHP 8
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
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
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
This PR was merged into the 5.1 branch.
Discussion
----------
[Mailer] Support reply-to in SesApiAsyncAwsTransport
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
Enable sending `SendEmailRequest`s with reply-to addresses with `SesApiAsyncAwsTransport`.
Commits
-------
163e961b44 [Mailer] Support reply-to in SesApiAsyncAwsTransport
This PR was submitted for the 5.1 branch but it was squashed and merged into the 4.4 branch instead.
Discussion
----------
[Mailer] Fixed mandrill api header structure
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| License | MIT
When using the Mandrill API transport, it is not possible to set a reply-to address.
**How to reproduce**
Create a new email and add a reply-to address:
```php
$email = (new Email())
->from('from@example.com')
->to('to@example.com')
->replyTo('replyto@example.com')
->subject('subject')
->text('text');
$mailer->send($email);
```
The expected result is a payload which contains the following headers:
```
"headers": {
"reply-to": "replyto@example.com"
}
```
But instead, the `getPayload()` method produces these headers:
```
"headers": [
"reply-to: replyto@example.com"
]
```
**Additional context**
See https://mandrillapp.com/api/docs/messages.html.
Commits
-------
aeb4c5e6c7 [Mailer] Fixed mandrill api header structure
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
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] Fixed base_uri while call auth/time API
This patch fixed the base_uri missing while we call the auth/time OVH
API.
* Without this patch, the API call failed because the URL is wrong :
eu.api.ovh.com/auth/time
* With this patch, the API call successed, URL is :
https://eu.api.ovh.com/1.0/auth/time
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fixed base_uri while call auth/time API
| License | MIT
Commits
-------
2f91485c40 [Notifier] Fixed base_uri while call auth/time API
This PR was submitted for the master branch but it was merged into the 4.4 branch instead.
Discussion
----------
[Mailer] Reorder headers used to determine Sender
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
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 therefor not be used as the first candidate header to determine the sender.
Commits
-------
7e60a8f8c9 [Mailer] Reorder headers used to determine Sender
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
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.
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
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
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
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