Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Messenger] Bugfix on the DateTime format #32639

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

vincenttouzet
Copy link
Contributor

@vincenttouzet vincenttouzet commented Jul 20, 2019

Q A
Branch? 4.3
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets #32427
License MIT

This fixes the #32427

EDIT:

Wrong starting branch. NEW PR : #32640

fabpot and others added 30 commits July 3, 2019 14:15
… (lyrixx)

This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Drop support for ApacheRequest

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

`ApacheUrlMatcher` has been [deprecated in 2.7](symfony#12728) and removed in 3.0
I think we forgot to remove this class too.

This class in never used in symfony, and there are no more reference in
the documentation.

Commits
-------

f82e28c [HttpFoundation] Deprecated ApacheRequest
…configuration (javiereguiluz)

This PR was submitted for the 3.4 branch but it was merged into the 4.4 branch instead (closes symfony#32322).

Discussion
----------

[FrameworkBundle] Simplified some code in the DI configuration

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

Commits
-------

e6d76ba [FrameworkBundle] Simplified some code in the DI configuration
…GRADE (jschaedl)

This PR was squashed before being merged into the 4.4 branch (closes symfony#32269).

Discussion
----------

[PropertyAccess] Adds entries to CHANGELOG and UPGRADE

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- 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 | symfony#32179   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

In PR symfony#32241 I missed to add entries to the CHANGELOG and UPGRADE file.

Commits
-------

c4afbf3 [PropertyAccess] Adds entries to CHANGELOG and UPGRADE
This PR was squashed before being merged into the 4.4 branch (closes symfony#32317).

Discussion
----------

[Mime] Updated some PHPDoc contents

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

While documenting symfony#30981 I found some PHPDoc info not clear enough. This "improves" it, but if you don't like it, it's OK to close this. Thanks.

Commits
-------

9432f1f [Mime] Updated some PHPDoc contents
…code (javiereguiluz)

This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Document the new exceptions thrown by the code

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

While deciding if we should document symfony#31547 I saw that the new exceptions weren't documented in the code. I don't know if this is the place where this should be added.

Commits
-------

0d27af9 [Ldap] Document the new exceptions thrown by the code
…h a null (smoench)

This PR was merged into the 4.4 branch.

Discussion
----------

[Filesystem] deprecate calling isAbsolutePath with a null

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- 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        | N/A

This PR is a result of symfony#32247 and deprecates calling `Filesystem::isAbsolutePath()` with a `null` value.

Commits
-------

9319018 [Filesystem] depreacte calling isAbsolutePath with a null
…ipients from config (Devristo)

This PR was squashed before being merged into the 4.4 branch (closes symfony#32081).

Discussion
----------

[WIP][Mailer] Overwrite envelope sender and recipients from config

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | symfony#31592 symfony#31733   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

# Description

This MR adds the following configuration, example:

```yaml
# config/packages/mailer.yaml
framework:
  mailer:
    envelope:
      sender: '[email protected]'
      recipients: ['[email protected]']
```
In turn the `\Symfony\Component\Mailer\EventListener\EnvelopeListener` will be configured to alter the sender and recipient addresses before the message has been sent.

Note: it will only alter the envelope, thus rerouting the message to the correct mailbox. However the message itself will still have the original 'from' and 'to' headers.

# Todos

- [x] Alter configuration and dependency injection
- [x] Create test case
- [ ] Update XML config schema?
- [ ] Doc PR

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

8e0c800 [WIP][Mailer] Overwrite envelope sender and recipients from config
…torInterface (thomasbisignani)

This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] [Guard] Added type-hints to AuthenticatorInterface

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | symfony#32179
| License       | MIT
| Doc PR        |

This PR adds the type-hints to the AuthenticatorInterface

Commits
-------

51b3c2e [Security] [Guard] Added type-hints to AuthenticatorInterface
…ot defining the controller as a service but using construct parameters (Simperfit)

This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel][DX] Improve the error message when not defining the controller as a service but using construct parameters

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | not needed <!-- 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

I'm working with newcomers to the symfony framework ATM and one of them has got stuck in this errors trying to understand why the constructor argument declared as a a service would not work and didn't check if the controller was declared as a service itself.

I feel like this could be improve to be really specific since "such" is not that specific ;).

Commits
-------

c670d51 [HttpKernel][DX] Improve the error message when not defining the controller as a service but using contruct parameters
…ion to reject empty strings (ogizanagi)

This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Add a Length::$allowEmptyString option to reject empty strings

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- 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 (change the warning on top of https://symfony.com/doc/current/reference/constraints/Length.html)

which defaults to `true` in 4.4 but will trigger a deprecation if not set explicitly
in order to make the default `false` in 5.0.

While it could be solved now thanks to symfony#29641 by using both `@Length(min=1)` & `@NotBlank(allowNull=true)` constraints,
as expressed in symfony#27876 (comment) and following comments, the `@Length(min=1)` behavior doesn't match our expectations when reading it: it feels logical to invalidate empty strings, but it actually doesn't.
Hence the proposal of making the behavior of rejecting empty strings the default in 5.0.

In my opinion, the flag could even be removed later.

Commits
-------

e113e7f [Validator] Add a Length::$allowEmptyString option to reject empty strings
…lation codes (xabbuh)

This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] deprecate non-string constraint violation codes

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | symfony#32066 (comment)
| License       | MIT
| Doc PR        |

Commits
-------

e217729 deprecate non-string constraint violation codes
…n (nicolas-grekas)

This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Add support for NTLM authentication

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Someone mentioned NTLM auth on Twitter, so here we are, this adds support for it.
Requires curl.

Commits
-------

548f4fd [HttpClient] Add support for NTLM authentication
… (bastnic)

This PR was merged into the 4.4 branch.

Discussion
----------

[PropertyInfo] add static cache to ContextFactory

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no (performance...)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | symfony#32073, api-platform/api-platform#1159
| License       | MIT
| Doc PR        | no

The issue is very very well described here symfony#32073, and was also discussed a few weeks ago with @dunglas here api-platform/api-platform#1159.

`ContextFactory::createFromReflector` is heavy, and it's called redundanlty
by `Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor` for each property
and methods. Avoid that by parsing it only once and then use static cache

This is a quite big performance problem.

![Deepin Capture-écran_zone de sélection _20190626142041](https://user-images.githubusercontent.com/84887/60179692-8471c480-981e-11e9-9e3c-3f9c0b83b01b.png)

Commits
-------

063e880 [PropertyInfo] add static cache to ContextFactory
The third path deals with generator (or other king of iterator that are
not an IteratorAggregate). It means, very few cases in practice

The previous code saved one object on the first call of `self::dispatch()`
by replacing it at runtime. More over, this object (anon. class) is very
light in memory.

The performance optimization (even if fun) is not useful here. Let's
make the code readable to everyone.
…lyrixx)

This PR was merged into the 4.4 branch.

Discussion
----------

[Messager] Simplified MessageBus::__construct()

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

The third path deals with generator (or other king of iterator that are

not an IteratorAggregate). It means, very few cases in practice

The previous code saved one object on the first call of `self::dispatch()`
by replacing it at runtime. More over, this object (anon. class) is very
light in memory.

The performance optimization (even if fun) is not useful here. Let's
make the code readable to everyone.

Commits
-------

6b5671f [Messager] Simplified MessageBus::__construct()
…est/response format autodetection (yceruto)

This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation][HttpKernel] Improving the request/response format autodetection

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Mainly for API-based apps, currently the response header `Content-Type` (if no provided) is guessed based on the request format (`_format` attribute), falling back to `html` by default.

Especially for the new error renderer system, where any kind of error can occur and it becomes an http response, this PR improves this guesser mechanism by taking into account also the `Content-type` of the request.

Example:
```bash
$ curl -X POST -H 'Content-Type: application/json' -i 'https://127.0.0.1:8000/login'
```
**before:**
```bash
HTTP/2 500
cache-control: no-cache, private
content-type: text/html; charset=UTF-8 # <- inaccurate
...

{"title":"Internal Server Error","status":500,"detail":"Invalid credentials!"}
```
Most of the 3rd-party bundles that I know (`api-platform/core`, `FOSRestBundle`) need a dedicated listener to achieve it right.

**after:**
```bash
HTTP/2 500
cache-control: no-cache, private
content-type: application/json
...

{"title":"Internal Server Error","status":500,"detail":"Invalid credentials!"}
```
Of course, this applies to all kind of responses, as long as the `Content-Type` is not explicitly provided. So, as a last chance, the `Accept` heading of the request is also taken into account to detect the preferred format:
```bash
$ curl -H 'Accept: application/json' -i 'https://127.0.0.1:8000/userinfo'
HTTP/2 404
cache-control: no-cache, private
content-type: application/json
...

{"title":"Not Found","status":404,"detail":"No route found for \"GET \/userinfo\""}
```
They could be other places in the code where this new method could also be useful, please advise :)

WDYT?

Commits
-------

1952928 Improving the request/response format autodetection
* 4.3:
  Fixes windows error
  [Messenger] Added more test for MessageBus
  fixed typo
  [Filesystem] added missing deprecations to UPGRADE-4.3.md
  Fix authentication for redis transport
  only decorate when an event dispatcher was passed
  [FrmaeworkBundle] More simplifications in the DI configuration
  Fixing validation for messenger transports retry_strategy service key
  Removed unused field.
  Remove @internal annotations for the serilize methods
  [Lock] Stores must implement `putOffExpiration`
  Annotated correct return type for getInEdges()/getOutEdges().
  deprecate the framework.templating option
…ssertions with Panther and API Platform's test client (dunglas)

This PR was submitted for the 4.3 branch but it was merged into the 4.4 branch instead (closes symfony#32207).

Discussion
----------

[FrameworkBundle] Allow to use the BrowserKit assertions with Panther and API Platform's test client

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

I'm adding a testing client for API Platform that implements the interfaces of HttpClient: api-platform/core#2608
Most PHPUnit assertions provided by Symfony are useful and can be reused, but the ones using the crawler are not relevant and pollute auto-complete suggestions (because a web API usually returns JSON, not HTML).

This PR splits the existing trait to allow reusing the HTTP related assertions only.

Commits
-------

cd0341e [FrameworkBundle] Allow to use the BrowserKit assertions with Panther and API Platform's test client
Simperfit and others added 21 commits July 18, 2019 15:46
…ge review (Simperfit)

This PR was squashed before being merged into the 4.4 branch (closes symfony#32492).

Discussion
----------

[Lock] feature: lock split interface fix post-merge review

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yesish <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | none <!-- 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

see symfony#32198 (review)

Commits
-------

8173c47 [Lock] feature: lock split interface fix post-merge review
* 4.3:
  Mute deprecations triggered from phpunit
* 4.4:
  [Lock] feature: lock split interface fix post-merge review
  Mute deprecations triggered from phpunit
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] drop the component

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Of course, the component will still exist, but 4.4 will be the last version.

Commits
-------

b52149f [Security] drop the component
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Debug] drop the component

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Of course, the component will still exist, but 4.4 will be the last version.
Use ErrorHandler now instead.

We will also have to drop the master branch on the subtree split.

Commits
-------

bd05642 [Debug] drop the component
…Variables() (ogizanagi)

This PR was merged into the 4.4 branch.

Discussion
----------

[Process] Deprecate Process::inheritEnvironmentVariables()

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- 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        | N/A

IIUC, this method was kept as a BC layer from 3.4 to 4.0 to switch to the "inherit env vars" behavior, inciting developers to opt-in in 3.4. Since 4.0, env vars are always inherited, and this method doesn't allow to opt-out. So, time to remove it?

---

refs:

- symfony#21470
- symfony#22836

Commits
-------

af9bad3 [Process] Deprecate Process::inheritEnvironmentVariables()
… removing passes (alexpott)

This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Move non removing compiler passes to after removing passes

| Q             | A
| ------------- | ---
| Branch?       | Not sure - feels like something that should only change in a major version but /shrug
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | Is where each pass runs in PassConfig considered an API - not sure.
| Deprecations? | no
| Tests pass?   | yes - no tests added because this is a sort of config change
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

At the moment PassConfig adds CheckExceptionOnInvalidReferenceBehaviorPass and ResolveHotPathPass as TYPE_REMOVE. But they don't remove services. This means that if you add a removing pass you need to run before all the other removing passes. You can use priority to do this but I think adding these passes here is logically a bit odd when TYPE_AFTER_REMOVING exists and could be leveraged.

I made this change against the master branch because maybe this is something you'd only want to change in a major version - not sure.

Commits
-------

88196ef [DI] Move non removing compiler passes to after removing passes
* 4.3:
  Properly handle optional tag attributes for !tagged_iterator
  [Mime] rename Headers::getAll() to all()
  [Mailer] Fix phpdoc for variadic methods
  [HttpClient] fix debug output added to stderr at shutdown
* 4.4:
  Properly handle optional tag attributes for !tagged_iterator
  [Mime] rename Headers::getAll() to all()
  [Mailer] Fix phpdoc for variadic methods
  [DI] Move non removing compiler passes to after removing passes
  [Process] Deprecate Process::inheritEnvironmentVariables()
  [HttpClient] fix debug output added to stderr at shutdown
* 4.4:
  [Mailer] fix merge
* 4.3:
  fix tests
  [Validator] Added support for validation of giga values
  Fix Debug component tests
  [Messenger] fixed UnrecoverableExceptionInterface handling in Worker (fixes symfony#32325)
  [Messenger] pass transport name to factory
* 4.4:
  fix tests
  [Validator] Added support for validation of giga values
  Fix Debug component tests
  [Messenger] fixed UnrecoverableExceptionInterface handling in Worker (fixes symfony#32325)
  [Messenger] pass transport name to factory
…iables() method (xabbuh)

This PR was merged into the 5.0-dev branch.

Discussion
----------

[Process] remove deprecated inheritEnvironmentVariables() method

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

fa4bade remove deprecated inheritEnvironmentVariables() method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.