Commit Graph

27686 Commits

Author SHA1 Message Date
Fabien Potencier
be987f4926 Merge branch '4.3' into 4.4
* 4.3:
  Removed declare(strict_types=1) in DispatchAfterCurrentBusStamp
2019-11-11 17:28:16 +01:00
Fabien Potencier
a4c4f00e17 bumped Symfony version to 3.4.35 2019-11-11 17:24:44 +01:00
Fabien Potencier
d7601fa827 updated VERSION for 3.4.34 2019-11-11 17:11:23 +01:00
Nicolas Grekas
01d9c9dc80 [HttpFoundation] fix typo 2019-11-11 14:11:43 +01:00
wimg
27207c3056 [HttpFoundation][Lock] Connection parameter corrected 2019-11-11 14:09:26 +01:00
Nicolas Grekas
6be5cc75a4 [HttpFoundation] fix guessing mime-types of files with leading dash 2019-11-11 13:53:10 +01:00
Nicolas Grekas
d446d7733a [VarExporter] fix exporting some strings 2019-11-11 13:48:54 +01:00
Christian Flothmann
eba2d8efc9 make ExceptionEvent handle all throwables 2019-11-11 12:53:44 +01:00
Christian Flothmann
da437e2de8 Merge branch '4.4'
* 4.4:
  [HttpKernel] make ExceptionEvent able to propagate any throwable
  [Security] Avoid unnecessary usage of Reflection
  Disallow symfony/contracts v2.
  minor add missing loop break
  [Security] Add migrating encoder configuration
  [Security] Fix defining multiple roles per access_control rule
2019-11-11 12:15:58 +01:00
Christian Flothmann
23bc40b764 more strict requirements of experimental components 2019-11-11 11:03:58 +01:00
Fabien Potencier
81a177df61 minor #34074 [5.0][Security] Minor clarification of the new isGranted signature (wouterj)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[5.0][Security] Minor clarification of the new isGranted signature

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

As we now only allow a single attribute for `isGranted()` in Symfony 5, let's adapt the PHPdoc and parameter name as well.

Commits
-------

e41e6b48a9 Clarified single attribute to isGranted() a bit more
2019-11-11 10:48:22 +01:00
Nicolas Grekas
6c9157bbc2 [ErrorHandler] merge and remove the ErrorRenderer component 2019-11-10 18:54:30 +01:00
Fabien Potencier
10a349c37d feature #34309 [HttpKernel] make ExceptionEvent able to propagate any throwable (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] make ExceptionEvent able to propagate any throwable

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

An alternative to #34306.

As a reminder, the goal of this series of PRs is to remove the `FatalThrowableError` wrapper that we introduced to seamlessly handle throwables when they were introduced in PHP 7.

From the changelog of `HttpKernel`:
 * Deprecated methods `ExceptionEvent::get/setException()`, use `get/setThrowable()` instead
 * Deprecated class `ExceptionListener`, use `ErrorListener` instead

And the final target: removed `Symfony\Component\ErrorHandler\Exception\ErrorException` (`FatalThrowableError` is already deprecated.)

Commits
-------

6f67f0e0c0 [HttpKernel] make ExceptionEvent able to propagate any throwable
2019-11-10 14:19:52 +01:00
Valentin Udaltsov
7b9f752b47 Removed declare(strict_types=1) in DispatchAfterCurrentBusStamp 2019-11-10 12:50:21 +03:00
Nicolas Grekas
6f67f0e0c0 [HttpKernel] make ExceptionEvent able to propagate any throwable 2019-11-10 10:37:33 +01:00
Robin Chalas
2377418443 [Security] Avoid unnecessary usage of Reflection 2019-11-09 23:08:03 +01:00
Robin Chalas
040d93d5b5 minor add missing loop break 2019-11-09 13:08:24 +01:00
Fabien Potencier
758e266f48 bug #34304 [Security] Fix defining multiple roles per access_control rule (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix defining multiple roles per access_control rule

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        |  https://github.com/symfony/symfony-docs/pull/12371 needs to be reverted

#33584 deprecated passing multiple attributes to `AccessDecisionManager::decide()`, but this change must not impact `access_control` as you cannot define multiple rules with the same criteria for request matching (the first match wins).

Commits
-------

338b3dfd9f [Security] Fix defining multiple roles per access_control rule
2019-11-09 12:16:35 +01:00
Fabien Potencier
d688a79b5a feature #34139 [Security] Add migrating encoder configuration (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Add migrating encoder configuration

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

Commits
-------

80955be45d [Security] Add migrating encoder configuration
2019-11-09 12:12:07 +01:00
Robin Chalas
80955be45d [Security] Add migrating encoder configuration 2019-11-09 11:20:37 +01:00
Nicolas Grekas
12a8b6937b [Translator] fix compat with translation-contracts v2 2019-11-09 10:30:00 +01:00
Alexander M. Turek
4de3773979 Add parameter type declarations to contracts. 2019-11-09 10:18:34 +01:00
Nicolas Grekas
55559f48b5 [IdentityTranslator] fix compat with translation-contracts v2 2019-11-09 09:49:52 +01:00
Robin Chalas
338b3dfd9f [Security] Fix defining multiple roles per access_control rule 2019-11-09 09:18:51 +01:00
Nicolas Grekas
2a1a266573 Merge branch '4.4'
* 4.4:
  [Messenger] Fixed bad event dispatcher mocks.
  [Workflow] Simplified EventDispatcherMock.
  [Routing] revert the return type for UrlGeneratorInterface::generate to remove null
  [HttpFoundation] Add a way to anonymize IPs
2019-11-09 09:06:17 +01:00
Nicolas Grekas
a20e1ad138 Merge branch '4.3' into 4.4
* 4.3:
  [Workflow] Simplified EventDispatcherMock.
  [Routing] revert the return type for UrlGeneratorInterface::generate to remove null
2019-11-09 09:06:11 +01:00
Fabien Potencier
fd7c676172 minor #34303 [Messenger] Fixed bad event dispatcher mocks (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Fixed bad event dispatcher mocks

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

`EventDispatcherInterface::dispatch()` must return the passed event object. This PR fixes two mocks that violated this contract.

Commits
-------

103930039b [Messenger] Fixed bad event dispatcher mocks.
2019-11-09 07:45:24 +01:00
Fabien Potencier
4463791d0e minor #34299 [Routing] revert the return type for UrlGeneratorInterface::generate to remove null (shieldo)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] revert the return type for UrlGeneratorInterface::generate to remove null

…to remove null

| Q             | A
| ------------- | ---
| Branch?       | 3.4 (only)
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

Bit of a casualty of commit tennis this:

A change to add `null` here as an option for how `UrlGeneratorInterface::generate()` (rather than the concrete `UrlGenerator`) was merged in https://github.com/symfony/symfony/pull/28321, but then [reverted](90494c20cc) for the reason [that this could be seen as a BC break](https://github.com/symfony/symfony/pull/28321#issuecomment-418540080), as the `null` return had not previously been documented (and is still not as part of the interface method docs).

However, in a subsequent change (https://github.com/symfony/symfony/pull/33252) with a wider scope, this doc change was added _back_ in order to reflect the underlying implementation as a result of a PHPStorm plugin complaining. There's no indication though of what a `null` return here though would mean, and for the same reason as the first revert (that this should be seen as a BC break), I'd like to submit this to be reverted for the 3.4 branch. (In 4.4 the `null` has already been removed.)

Having the interface indicating that this method can return `null` necessitates introducing a lot of actually redundant null checks in code that is covered by static analysis tools such as PHPStan.

Commits
-------

9f853f324f [Routing] revert the return type for UrlGeneratorInterface::generate to remove null
2019-11-09 07:39:26 +01:00
Fabien Potencier
f4c925418b feature #32194 [HttpFoundation] Add a way to anonymize IPs (Seldaek)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Add a way to anonymize IPs

| 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        | symfony/symfony-docs#... <!-- required for new features --> TODO

This is helpful for GDPR compliance reasons, and it isn't much code saved but it's also good if you don't have to think about how to do it.

Commits
-------

9e62330bc4 [HttpFoundation] Add a way to anonymize IPs
2019-11-09 07:36:01 +01:00
Wouter J
e41e6b48a9 Clarified single attribute to isGranted() a bit more
Also, allow the array type for a single attribute.
2019-11-09 00:23:23 +01:00
Alexander M. Turek
103930039b [Messenger] Fixed bad event dispatcher mocks. 2019-11-09 00:05:14 +01:00
Nicolas Grekas
9e554cee75 [EventDispatcher] dont allow event-dispatcher-contracts ^2 2019-11-08 23:40:51 +01:00
Alexander M. Turek
5aee181c83 [Workflow] Simplified EventDispatcherMock. 2019-11-08 23:25:20 +01:00
Nicolas Grekas
69cd75069a Merge branch '4.4'
* 4.4:
  [DI] fix loading env while env loaders are loaded
2019-11-08 22:16:29 +01:00
Nicolas Grekas
522bd5d99d [DI] fix loading env while env loaders are loaded 2019-11-08 21:45:30 +01:00
Douglas Greenshields
9f853f324f
[Routing] revert the return type for UrlGeneratorInterface::generate to remove null 2019-11-08 17:25:00 +00:00
Jordi Boggiano
9e62330bc4
[HttpFoundation] Add a way to anonymize IPs 2019-11-08 18:11:01 +01:00
Nicolas Grekas
0cd837bf1a Merge branch '4.4'
* 4.4:
  [DI] fix locators with numeric keys
  Add support for NO_COLOR env var
  [DI][FrameworkBundle] add EnvVarLoaderInterface - remove SecretEnvVarProcessor
  Fix error when we use VO for the marking property
  [DI] Remove LazyString from 4.4, before adding back to the String component
2019-11-08 17:32:03 +01:00
Nicolas Grekas
7c111bdcf3 minor #34290 [DI] Remove LazyString from 4.4, before adding back to the String component (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Remove LazyString from 4.4, before adding back to the String component

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

In #34190 I'm proposing to move LazyString to the Service contracts, but String might be a better fit actually. Let's remove the class from 4.4 where it's not really needed, and add it back on 5.0 in the String component.

Commits
-------

b1a3ee76ac [DI] Remove LazyString from 4.4, before adding back to the String component
2019-11-08 17:26:52 +01:00
Nicolas Grekas
f459fd01a2 Merge branch '4.3' into 4.4
* 4.3:
  [DI] fix locators with numeric keys
  Fix error when we use VO for the marking property
2019-11-08 17:24:33 +01:00
Nicolas Grekas
bc726f7d50 bug #34294 [Workflow] Fix error when we use ValueObject for the marking property (FabienSalles)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] Fix error when we use ValueObject for the marking property

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #28203 #22031
| License       | MIT

Fix Illegal offset type in `MethodMarkingStore` class when we use Value Object for
the marking property.

Now, we can avoid to use only a string an we can have a Subject class with a Value Object like this :
```php
final class State
{
    public const DRAFT = 'draft';
    public const REVIEWED = 'reviewed';
    public const REJECTED = 'rejected';
    public const PUBLISHED = 'published';

     /** @var string */
    private $state;

    public function __construct(string $state)
    {
        // some validation
        $this->state = $state;
    }

    public function __toString()
     {
         return $this->state;
    }

    public static function Draft()
     {
         return new self(self::DRAFT);
     }
    ...
}

final class Subject
{
    private $marking;

    public function __construct(State $marking = null)
    {
        $this->marking = $marking;
    }

    public function getMarking()
    {
        return $this->marking;
    }

    public function setMarking($marking)
    {
        $this->marking = $marking instanceof State ? $marking : new State($marking);
    }

```

Commits
-------

6570d5cbe2 Fix error when we use VO for the marking property
2019-11-08 17:23:33 +01:00
Nicolas Grekas
618aec6abe Merge branch '3.4' into 4.3
* 3.4:
  [DI] fix locators with numeric keys
2019-11-08 17:22:27 +01:00
Nicolas Grekas
dad4344793 [DI] fix locators with numeric keys 2019-11-08 17:18:30 +01:00
Nicolas Grekas
97577aea66 feature #34252 [Console] Add support for NO_COLOR env var (Seldaek)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Add support for NO_COLOR env var

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

Adds support for https://no-color.org/ - ideally this would be considered a bugfix and added to older releases IMO, but submitting as new feature for now.

cc @johnstevenson

Commits
-------

c1b0a8e956 Add support for NO_COLOR env var
2019-11-08 17:06:42 +01:00
Jordi Boggiano
c1b0a8e956
Add support for NO_COLOR env var 2019-11-08 16:59:14 +01:00
Nicolas Grekas
ba2148fff3 [DI][FrameworkBundle] add EnvVarLoaderInterface - remove SecretEnvVarProcessor 2019-11-08 15:47:02 +01:00
FabienSalles
6570d5cbe2 Fix error when we use VO for the marking property
Fix Illegal offset type when we use ValueObject instead of string for
the marking property #28203 #22031
2019-11-08 12:45:38 +01:00
Nicolas Grekas
b1a3ee76ac [DI] Remove LazyString from 4.4, before adding back to the String component 2019-11-08 11:42:01 +01:00
Nicolas Grekas
38f86e6758 [DI] fix merge 2019-11-08 10:32:27 +01:00
Nicolas Grekas
c4226e4128 Merge branch '4.4'
* 4.4:
  [DI] Dont cache classes with missing parents
  [HttpClient] Fix a crash when calling CurlHttpClient::__destruct()
  Unallow symfony/http-kernel ^5.0
  [FrameworkBundle] fix SodiumVault after stof review
  [HttpClient] allow arbitrary JSON values in requests
  [DependencyInjection] Added option `ignore_errors: not_found` while importing config files
  [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
  [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change
2019-11-08 10:16:28 +01:00
Nicolas Grekas
4cc88b1ce1 minor #34265 Remove \Throwable bubbling down support deprecation layer (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

Remove \Throwable bubbling down support deprecation layer

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

Remove deprecation layer of https://github.com/symfony/symfony/pull/33065

Commits
-------

ffcfdb42a7 Remove \Throwable support deprecation layer
2019-11-08 10:01:31 +01:00
Thomas Calvet
ffcfdb42a7 Remove \Throwable support deprecation layer 2019-11-08 10:00:49 +01:00
Nicolas Grekas
585c0df909 feature #31310 [DependencyInjection] Added option ignore_errors: not_found for imported config files (pulzarraider)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Added option `ignore_errors: not_found` for imported config files

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

If someone want to add optional config file. The only available choice was to add `ignore_errors: true` option

e.g.
```
imports:
    - { resource: parameters.yml, ignore_errors: true }
```

But this will hide all errors in imported file. We ran in many situations that broke our Symfony applications because we had a typo in this imported files.

This PR introduce new possible value `not_found` for `ignore_errors` option. It can be used for optional config files like the `ignore_errors: true`, but it will ignore only the file non-existence, not the possible syntax errors inside.

Usage:
```
imports:
    - { resource: parameters.yml, ignore_errors: not_found}
```

Commits
-------

e0ee01c10d [DependencyInjection] Added option `ignore_errors: not_found` while importing config files
2019-11-08 09:53:35 +01:00
Thomas Calvet
e7456547bd [ErrorHandler] Remove Symfony ClassLoader support in an error enhancer 2019-11-08 09:41:40 +01:00
Nicolas Grekas
8aaa8c5fc6 Merge branch '4.3' into 4.4
* 4.3:
  [DI] Dont cache classes with missing parents
  [HttpClient] Fix a crash when calling CurlHttpClient::__destruct()
  [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
  [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change
2019-11-08 09:33:02 +01:00
Nicolas Grekas
a1fc280bf2 Merge branch '3.4' into 4.3
* 3.4:
  [DI] Dont cache classes with missing parents
  [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
2019-11-08 09:31:27 +01:00
Nicolas Grekas
1606430cfd [DI] Dont cache classes with missing parents 2019-11-08 09:28:59 +01:00
Kévin Dunglas
d2c5ffda52 [HttpClient] Fix a crash when calling CurlHttpClient::__destruct() 2019-11-08 09:23:45 +01:00
Thomas Calvet
da454db947 Unallow symfony/http-kernel ^5.0 2019-11-07 18:22:59 +01:00
Peter Schultz
e98731aabf [HttpClient] allow arbitrary JSON values in requests
Allow arbitrary values in the "json" request option. Previously values were
limitated to arrays and objects of type JsonSerializable. This doesn't account
for scalar values and classes with public properties (which don't need to
implement JsonSerializable), all of which are perfectly acceptable arguments to
json_encode.
2019-11-07 13:44:51 +01:00
Nicolas Grekas
3d8cca8a73 minor #34266 [VarDumper] Clean casters @final annotations (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[VarDumper] Clean casters @final annotations

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

Clean https://github.com/symfony/symfony/pull/33882 on master.

Commits
-------

ce35ca2d01 [VarDumper] Clean casters @final annotations
2019-11-07 13:07:34 +01:00
Yonel Ceruto
48937fc27b minor #34269 [ErrorHandler] Clean @final annotation from ErrorHandler (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[ErrorHandler] Clean @final annotation from ErrorHandler

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

Clean leftover `@final` annotation.

Commits
-------

bf7fc2b [ErrorHandler] Clean @final annotation from ErrorHandler
2019-11-07 06:16:48 -05:00
Andrej Hudec
e0ee01c10d [DependencyInjection] Added option ignore_errors: not_found while importing config files 2019-11-07 12:06:31 +01:00
Yonel Ceruto
c90b53e54e minor #34272 [Debug] Remove it from master (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Debug] Remove it from master

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

Looks like it came back from the dead 😅

Commits
-------

54ffd46 [Debug] Remove it from master
2019-11-06 18:40:12 -05:00
Fabien Potencier
4056baf0f4 bug #34129 [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change

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

The cache file name needs to depend on the scanned directories list. Otherwise, when a new directory is added, even if the container is rebuilt and the `FWB Translator` gets the new scanned directories list, the cached catalogue name is still the same and is resolved accordingly.

An alternative would be to make the `Translation Translator` `getCatalogueCachePath()` method and `fallbackLocales` `@internal` and `protected` to just override everything in the `FWB Translator`. The `cacheVary` argument has the benefit to be reusable by all the `Translation` component users.

Note that there is a negative minor performance impact that increases when the list of scanned directories grows.

Commits
-------

6cbee0944c [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change
2019-11-07 00:21:49 +01:00
Thomas Calvet
54ffd4672d [Debug] Remove it from master 2019-11-06 22:56:05 +01:00
Thomas Calvet
bf7fc2b3f3 [ErrorHandler] Clean @final annotation from ErrorHandler 2019-11-06 22:38:32 +01:00
Thomas Calvet
ce35ca2d01 [VarDumper] Clean casters @final annotations 2019-11-06 19:00:00 +01:00
Yonel Ceruto
bf27a83064 minor #34212 [Form] fix exception messages (xabbuh)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Form] fix exception messages

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

Commits
-------

be8cb4e fix exception messages
2019-11-06 12:58:36 -05:00
Nicolas Grekas
9dd60645d9 Merge branch '4.4'
* 4.4:
  Skip validation of services that make the CI fail
2019-11-06 18:06:06 +01:00
Nicolas Grekas
403fdf4a59 Skip validation of services that make the CI fail 2019-11-06 17:48:56 +01:00
Nicolas Grekas
d4ae37457a Merge branch '4.4'
* 4.4:
  [Serializer] Use context to compute MetadataAwareNameConverter cache
  [VarDumper] Mark StubCaster as @final
2019-11-06 17:13:58 +01:00
Nicolas Grekas
a1155ea6e2 Merge branch '4.3' into 4.4
* 4.3:
  [Serializer] Use context to compute MetadataAwareNameConverter cache
2019-11-06 17:13:44 +01:00
Anto
0ac5346bf5
[Serializer] Use context to compute MetadataAwareNameConverter cache 2019-11-06 17:10:14 +01:00
Thomas Calvet
d25b60961f [VarDumper] Mark StubCaster as @final 2019-11-06 17:06:09 +01:00
Nicolas Grekas
4c401ebdd6 [HttpKernel] backport FC compat code 2019-11-06 15:42:08 +01:00
Nicolas Grekas
98b457aa36 Merge branch '4.4'
* 4.4:
  conflict with FrameworkBundle < 4.4
  [DoctrineBridge] Reopen DoctrineDataCollector to extensibility
  [HttpClient] fix support for NTLM auth
2019-11-06 15:14:36 +01:00
Nicolas Grekas
3a4d60f298 minor #34260 [Messenger] conflict with FrameworkBundle < 4.4 (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] conflict with FrameworkBundle < 4.4

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

Commits
-------

cddf3e9083 conflict with FrameworkBundle < 4.4
2019-11-06 15:12:58 +01:00
Christian Flothmann
cddf3e9083 conflict with FrameworkBundle < 4.4 2019-11-06 15:11:47 +01:00
Nicolas Grekas
370c4379a5 [HttpClient] fix support for NTLM auth 2019-11-06 14:41:42 +01:00
Christian Flothmann
9733bef488 bug #34213 [Notifier][Telegram] Fixing Telegram token (chr-hertel)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Notifier][Telegram] Fixing Telegram token

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

Thanks, i really love this integration! i needed to do two minor changes while playing around:

- token needs to contain user and password, see https://core.telegram.org/bots/api#making-requests
- channel should be optional for bot interaction, using `chat_id` as message option instead

Commits
-------

c2c3e70e6b fixing telegram token
2019-11-06 14:40:22 +01:00
Nicolas Grekas
4e703258a1 Merge branch '4.4'
* 4.4:
  [HttpClient] fix after merge from 4.3
  [HttpClient] expose only gzip when doing transparent compression
  [VarDumper] fix tests & displaying generators
  Fix WeekType tests
  add species to inflector and inflector tests
  Add handling for delayed message to redis transport
2019-11-06 13:04:01 +01:00
Nicolas Grekas
62bf1f5002 bug #34255 [HttpClient] fix after merge from 4.3 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix after merge from 4.3

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

Commits
-------

3c6dc96ab4 [HttpClient] fix after merge from 4.3
2019-11-06 13:03:36 +01:00
Nicolas Grekas
3932642619 bug #34250 [VarDumper] fix tests & displaying generators (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] fix tests & displaying generators

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

Replaces #34248

Commits
-------

bcf43a4593 [VarDumper] fix tests & displaying generators
2019-11-06 13:03:12 +01:00
Nicolas Grekas
dac61d0667 Merge branch '4.3' into 4.4
* 4.3:
  [HttpClient] expose only gzip when doing transparent compression
  add species to inflector and inflector tests
2019-11-06 13:02:32 +01:00
Nicolas Grekas
3c6dc96ab4 [HttpClient] fix after merge from 4.3 2019-11-06 12:53:36 +01:00
Nicolas Grekas
6571dddc4c [HttpClient] expose only gzip when doing transparent compression 2019-11-06 11:21:02 +01:00
Nicolas Grekas
bcf43a4593 [VarDumper] fix tests & displaying generators 2019-11-06 10:36:47 +01:00
Thomas Calvet
906b82eb97 Fix WeekType tests 2019-11-05 23:24:16 +01:00
Fabien Potencier
9151698d85 minor #34135 [Validator] Add the missing translations for the Hebrew ("he") locale and fix 2 typos (Tamarpe)
This PR was squashed before being merged into the 3.4 branch (closes #34135).

Discussion
----------

[Validator] Add the missing translations for the Hebrew ("he") locale and fix 2 typos

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

Ref #30166

Commits
-------

022cf67f19 [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
2019-11-05 23:03:38 +01:00
tamar peled
022cf67f19 [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos 2019-11-05 23:03:33 +01:00
jeffreymoelands
cc87e40a8f add species to inflector and inflector tests 2019-11-05 20:58:22 +01:00
Alexander Schranz
cfece10569 Add handling for delayed message to redis transport 2019-11-05 19:40:51 +01:00
Nicolas Grekas
1cc66db290 Merge branch '4.4'
* 4.4:
  [Messenger] use events consistently in worker
  Deprecate things that prevent \Throwable from bubbling down
2019-11-05 18:32:06 +01:00
Tobias Schultze
201f159303 [Messenger] use events consistently in worker 2019-11-05 18:28:25 +01:00
Thomas Calvet
abef506e89 Deprecate things that prevent \Throwable from bubbling down 2019-11-05 18:23:20 +01:00
Nicolas Grekas
5e358e33c9 Merge branch '4.4'
* 4.4: (39 commits)
  [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
  [PhpUnitBridge] Also search for composer.phar in git root folder
  [HttpKernel][DataCollectorInterface] Ease compatibility
  Add tests to ensure defaultLocale is properly passed to the URL generator
  [DependencyInjection] Fix broken references in tests
  [VarDumper] display the method we're in when dumping stack traces
  [HttpClient] Retry safe requests when then fail before the body arrives
  [Console] Rename some methods related to redraw frequency
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  Fix CS
  [Serializer] Fix property name usage for denormalization
  Name test accordingly to the tested class
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  [Security] Fix SwitchUserToken wrongly deauthenticated
  Supporting Bootstrap 4 custom switches
  Add new Form WeekType
  bumped Symfony version to 4.3.7
  ...
2019-11-05 18:15:52 +01:00
Nicolas Grekas
4cd3dc8d7f Merge branch '4.3' into 4.4
* 4.3: (26 commits)
  [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
  [HttpKernel][DataCollectorInterface] Ease compatibility
  Add tests to ensure defaultLocale is properly passed to the URL generator
  [DependencyInjection] Fix broken references in tests
  [HttpClient] Retry safe requests when then fail before the body arrives
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  [Serializer] Fix property name usage for denormalization
  Name test accordingly to the tested class
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  bumped Symfony version to 4.3.7
  updated VERSION for 4.3.6
  updated CHANGELOG for 4.3.6
  bumped Symfony version to 3.4.34
  updated VERSION for 3.4.33
  update CONTRIBUTORS for 3.4.33
  updated CHANGELOG for 3.4.33
  [HttpClient] Fix perf issue when doing thousands of requests with curl
  ...
2019-11-05 17:11:08 +01:00
Nicolas Grekas
620e8942a2 bug #34085 [Console] Detect dimensions using mode CON if vt100 is supported (rtek)
This PR was merged into the 4.3 branch.

Discussion
----------

[Console] Detect dimensions using mode CON if vt100 is supported

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

This fixes color support detection for users of Win10 + git-bash.  If vt100 support is detected, the terminal will not try to use `stty` to test for dimensions. Calling such command implicitly disables vt100 support on STDOUT.

Commits
-------

fdeceff85e [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
2019-11-05 16:00:49 +01:00
rtek
fdeceff85e [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported 2019-11-05 16:00:28 +01:00
Nicolas Grekas
e0c7ab0700 bug #34199 [HttpClient] Retry safe requests using HTTP/1.1 when HTTP/2 fails (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Retry safe requests using HTTP/1.1 when HTTP/2 fails

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

cURL support of HTTP/2 is not as robust as HTTP/1.1. When doing >1k requests, the stream can break for buggy reasons. New versions of cURL are fixed already, but let's make our logic more resilient anyway, and switch to HTTP/1.1 when a *safe* request fails for send/recv reasons.

Commits
-------

9f7cd66004 [HttpClient] Retry safe requests when then fail before the body arrives
2019-11-05 15:50:06 +01:00
Nicolas Grekas
448d0d6728 Merge branch '3.4' into 4.3
* 3.4:
  [DependencyInjection] Fix broken references in tests
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  bumped Symfony version to 3.4.34
  updated VERSION for 3.4.33
  update CONTRIBUTORS for 3.4.33
  updated CHANGELOG for 3.4.33
  [Stopwatch] Fixed a bug in stopwatch event getStartTime
  [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods
  Adding some validations tags on validators.et.xlf
  add missing translation for 94 (it)
2019-11-05 15:48:09 +01:00
Thomas Calvet
761df46993 [HttpKernel][DataCollectorInterface] Ease compatibility 2019-11-05 14:42:27 +01:00
Nicolas Grekas
dc8bb309b5 feature #34184 [VarDumper] display the method we're in when dumping stack traces (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] display the method we're in when dumping stack traces

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

This PR adds the line in blue:
![image](https://user-images.githubusercontent.com/243674/68152006-131bee00-ff43-11e9-8270-1d547732a7e5.png)

Without it, we're missing some context as the method is from a trait. This allows knowing which class is actually importing and using the method.

Commits
-------

23600cc8e1 [VarDumper] display the method we're in when dumping stack traces
2019-11-05 00:35:38 +01:00
Nicolas Grekas
a56ac78269 bug #34192 [Routing] Fix URL generator instantiation (X-Coder264, HypeMC)
This PR was merged into the 4.3 branch.

Discussion
----------

[Routing] Fix URL generator instantiation

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

After merging my fix (PR https://github.com/symfony/symfony/pull/31023) from the 4.2 branch to 4.3 (which was master at the time) one code path which instantiates the url generator was missed. This new code path was added via https://github.com/symfony/symfony/pull/28865 and was missed during the merge because there was no merge conflict there as that code path didn't exist on 4.2.

So the current state on the 4.3 branch is:

- https://github.com/symfony/symfony/blob/v4.3.5/src/Symfony/Component/Routing/Router.php#L356 (default locale is properly passed to the constructor)

- https://github.com/symfony/symfony/blob/v4.3.5/src/Symfony/Component/Routing/Router.php#L372 (default locale is **NOT** properly passed to the constructor)

- https://github.com/symfony/symfony/blob/v4.3.5/src/Symfony/Component/Routing/Router.php#L378 (default locale is properly passed to the constructor)

I noticed this in my app because tests started to fail on the branch where we are upgrading our app from SF 4.2 to 4.3 due to this. This PR fixes the inconsistency (now the default locale is passed on all three places) which fixes the bug.

Commits
-------

9aa66e2f59 Add tests to ensure defaultLocale is properly passed to the URL generator
16c9bafee4 Fix URL generator instantiation
2019-11-04 21:23:21 +01:00
HypeMC
9aa66e2f59 Add tests to ensure defaultLocale is properly passed to the URL generator 2019-11-04 21:23:03 +01:00
Chi-teck
bd1ead251c [DependencyInjection] Fix broken references in tests 2019-11-04 20:58:26 +01:00
Nicolas Grekas
23600cc8e1 [VarDumper] display the method we're in when dumping stack traces 2019-11-04 20:39:01 +01:00
Nicolas Grekas
9f7cd66004 [HttpClient] Retry safe requests when then fail before the body arrives 2019-11-04 16:10:28 +01:00
Fabien Potencier
14080ce5b5 minor #34197 [ErrorRenderer] Show generic message in non-debug mode (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorRenderer] Show generic message in non-debug mode

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

I agree with @Tobion here https://github.com/symfony/symfony/pull/34158#issuecomment-548181099, so let's always show the detail message, but for 5xx errors we'll send a generic message instead.

/cc @dunglas wdyt?

Commits
-------

45f1a5ee06 Show generic message in non-debug mode
2019-11-04 13:48:39 +01:00
Fabien Potencier
e4c661901e feature #33732 [Console] Rename some methods related to redraw frequency (javiereguiluz)
This PR was squashed before being merged into the 4.4 branch (closes #33732).

Discussion
----------

[Console] Rename some methods related to redraw frequency

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

In #26339 we added `preventRedrawFasterThan()` and `forceRedrawSlowerThan()`. While merging the docs for them (https://github.com/symfony/symfony-docs/pull/12364) I thought that the method names are a bit hard to understand.

In this PR I propose a renaming for your consideration. Thanks!

In the following example, we want to update the progress bar every 100 iterations, but not faster than 100ms or slower than 200ms.

**Before**

```php
$progressBar = new ProgressBar($output, 50000);
$progressBar->start();

$progressBar->setRedrawFrequency(100);
$progressBar->preventRedrawFasterThan(0.1);
$progressBar->forceRedrawSlowerThan(0.2);
```

**After**

```php
$progressBar = new ProgressBar($output, 50000);
$progressBar->start();

$progressBar->setRedrawFrequency(100);
$progressBar->maxRefreshInterval(0.1);
$progressBar->minRefreshInterval(0.2);
```

Commits
-------

e6ee7b07f3 [Console] Rename some methods related to redraw frequency
2019-11-04 13:46:19 +01:00
Javier Eguiluz
e6ee7b07f3 [Console] Rename some methods related to redraw frequency 2019-11-04 13:46:13 +01:00
Nicolas Grekas
13dd18c8a6 feature #31587 [Routing][Config] Allow patterns of resources to be excluded from config loading (tristanbes)
This PR was merged into the 4.4 branch.

Discussion
----------

[Routing][Config] Allow patterns of resources to be excluded from config loading

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

The PR will fix the following RFC: #31516

Like resource loading for services, this PR offers a way to exclude patterns of resources like:

```yml
// config/routes/annotations.yaml
controllers:
    resource: ../../src/Controller/*
    type: annotation
    exclude: '../src/Controller/{DebugEmailController}.php'
```

All the annotation routes inside `Controller/` will be loaded in this example except all the one present inside the `Controller/DebugEmailController.php`

Commits
-------

332ff8811c [Routing][Config] Allow patterns of resources to be excluded from config loading
2019-11-04 11:53:20 +01:00
Nicolas Grekas
29fd51f272 feature #32256 [DI] Add compiler pass and command to check that services wiring matches type declarations (alcalyn, GuilhemN, nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Add compiler pass and command to check that services wiring matches type declarations

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

PR replacing https://github.com/symfony/symfony/pull/27825.

It adds a `lint:container` command asserting the type hints used in your code are correct.

Commits
-------

8230a1543e Make it really work on real apps
4b3e9d4c96 Fix comments, improve the feature
a6292b917b [DI] Add compiler pass to check arguments type hint
2019-11-04 11:27:29 +01:00
Fabien Potencier
e057a9c89f bug #34134 [Messenger] fix retry of messages losing the routing key and properties (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] fix retry of messages losing the routing key and properties

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| 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 #32994 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        |

Messages sent for retry in rabbitmq lost the routing key and properties like the priority. Now we read those original properties and sent the retry message with the same properties (unless those properties have already been set manually before).

Commits
-------

75c674debc [Messenger] fix retry of messages losing the routing key and properties
2019-11-04 07:59:16 +01:00
Fabien Potencier
0af10ccd0d minor #34160 Adding some validations tags on validators.et.xlf (glodzienski)
This PR was merged into the 3.4 branch.

Discussion
----------

Adding some validations tags on validators.et.xlf

| Q             | A
| ------------- | ---
| Branch?       | 4.4 for features / 3.4 or 4.3 for bug fixes <!-- see below -->
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/30160
| License       | MIT

I saw an issue in the **Issues Page** and i want to help to improve the repository, even with a simple modification

Commits
-------

16bd71b5b1 Adding some validations tags on validators.et.xlf
2019-11-03 18:41:53 +01:00
Fabien Potencier
78bdf1a307 minor #34153 [Validator] add missing translation for 94 (it) (garak)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] add missing translation for 94 (it)

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

Italian translation for validator is missing last item (id 94)

Commits
-------

1dc7ce1159 add missing translation for 94 (it)
2019-11-03 18:21:08 +01:00
Fabien Potencier
9162892fd4 bug #34181 [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods (TimoBakx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods

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

When running multiple periods in StopwatchEvent (start multiple times and not stop them all), the getDuration() method would return unexpected values.

This was because at every stop, the last entry in the `started` array was removed, while the `getDuration` method was still expecting all the started events to still be there.

Now, when calling `getDuration`, the duration of all the finished periods are added together with the unfinished counts.

Commits
-------

af00d8deab [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods
2019-11-03 18:17:59 +01:00
Fabien Potencier
142bdddece bug #34165 [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements (happyproff)
This PR was squashed before being merged into the 4.3 branch (closes #34165).

Discussion
----------

[PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements

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

When an annotation is declared as `int[]|null`, it is handled like `(int|null)[]|null`. So array values are also nullable.

Now this behavior is fixed that `int[]|null` is either a collection of integers only or null.

How to reproduce:
```php
class Dummy
{
    /** @var int[]|null */
    public $nullableCollectionOfNonNullableElements;
}

/** @var Type[] $types */
$types = (new PhpDocExtractor())->getTypes(Dummy::class, 'nullableCollectionOfNonNullableElements');

$collectionType = $types[0];
assert($collectionType->isCollection() === true); // OK
assert($collectionType->isNullable() === true); // OK
assert($collectionType->getCollectionValueType()->getBuiltinType() === Type::BUILTIN_TYPE_INT); // OK
assert($collectionType->getCollectionValueType()->isNullable() === false); // FAILED
```

Commits
-------

5e394c40f0 [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
2019-11-03 13:19:19 +01:00
Stanislav Gamayunov
5e394c40f0 [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements 2019-11-03 13:19:12 +01:00
Fabien Potencier
767b265681 bug #34179 [Stopwatch] Fixed a bug in StopwatchEvent::getStartTime (TimoBakx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Stopwatch] Fixed a bug in StopwatchEvent::getStartTime

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

When using a `StopwatchEvent` with an `$origin` that's smaller than the first start time, calling `getStartTime()` before ending the event will give `0` instead of the correct number.

The proposed fix in #34088 fixes this.

Commits
-------

b2b7eab949 [Stopwatch] Fixed a bug in stopwatch event getStartTime
2019-11-03 13:11:53 +01:00
Eric Schildkamp
613717d71f [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
* Added a hardcoded day 01 in order to output the proper month November
which is the correct EOL and EOM month.
* \DateTime::createFromFormat('mY') will output December for every month
where day 31 exists.
2019-11-03 13:06:33 +01:00
Fabien Potencier
14da17044b bug #34219 [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user (chalasr)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user

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

Still useful as per https://symfony.com/doc/master/security/impersonating_user.html#knowing-when-impersonation-is-active

Commits
-------

64f4430cda [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user
2019-11-03 13:02:10 +01:00
Fabien Potencier
08a218c79f bug #34218 [Security] Fix SwitchUserToken wrongly deauthenticated (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix SwitchUserToken wrongly deauthenticated

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

Commits
-------

e47b31c43c [Security] Fix SwitchUserToken wrongly deauthenticated
2019-11-03 13:01:14 +01:00
Fabien Potencier
0c784d2879 feature #32061 Add new Form WeekType (dFayet)
This PR was merged into the 4.4 branch.

Discussion
----------

Add new Form WeekType

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- 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 | #32029
| License       | MIT
| Doc PR        | <!--symfony/symfony-docs#...--> coming soon

----
#### Update

After the first try, I've updated the field to have more options, and be more "straight".
The field acts like the `DateTimeType` or `TimeType`,  various fields type (pure text, html5 type, select boxes), data validation, ....

For that I took the choice to update the `DateTimeToStringTransformer` and `DateTimeToArrayTransformer` to make them work with weeks format.

I was not sure if it was better to update them or create new ones, WDYT?

Before addind tests and docs, it would be nice to have your first thoughts/comments 😊

Do you need/want a small test repo?

Commits
-------

c4a2f026e0 Add new Form WeekType
2019-11-03 12:59:10 +01:00
Fabien Potencier
25baf75edb Fix CS 2019-11-03 12:51:47 +01:00
Fabien Potencier
71873fc770 feature #33854 [DI] Add ability to choose behavior of decorations on non existent decorated services (mtarld)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Add ability to choose behavior of decorations on non existent decorated services

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

# Handling decorations on non existent decorated services
Handle decorations on non existent decorated services by either throwing the service not found exception, silently ignoring services (decorator & decorated) all together or leave the decorated service to null (current behavior)

Something almost similar to how missing services as parameters are handles.

## Yaml configuration
```yaml
decorator:
    decorates: decorated
    decoration_on_invalid: ignore
```
Available values: `exception`, `ignore`, `null`. `exception` if nothing is specified.

## Xml configuration
```xml
<service id="decorator" decorates="decorated" decoration-on-invalid="ignore" />
```
Available values: `exception`, `ignore`, `null`. `exception` if nothing is specified.

## Behavior
- `exception`: Throws a `ServiceNotFoundException` telling that the decorator's dependency is missing
- `ignore`: Remove decorator definition. Decorator and decorated will not be available at all.
- `null`: Keep decorator but set decorated to null. Therefore, decorator `__construct` should be written with a nullable decorated dependency (`public function __contruct(?DecoratedInterface $decorated) {}`) and check should be done in other methods

Commits
-------

f167c77eaf Handle non existent decorated services
2019-11-03 12:49:07 +01:00
Fabien Potencier
22976d0f54 bug #34035 [Serializer] Fix property name usage for denormalization (antograssiot)
This PR was squashed before being merged into the 4.3 branch (closes #34035).

Discussion
----------

[Serializer] Fix property name usage for denormalization

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

Using the `@SerializedName()` and passing it an existing property name affects the deserialization even if `@Groups()` are not supposed to be involved.

## How to reproduce

Given the following class
```php

class Foo
{
    /**
     * @Group("list")
     */
    private $bar;

    public function setBar($bar)
    {
        $this->bar = $bar;
    }
    public function getBar()
    {
        return $this->bar;
    }
    /**
     * @Groups({"list:export"})
     * @SerializedName("bar")
     */
    public function getBarForExport()
    {
        return $this->bar.' Rocks';
    }
}
```

This allow us to change the content of the property based on the normalization context.

```php
$obj = new Foo();
$obj->setBar('Api Platform');

$data = $normalizer->normalize($obj, null, ['groups' => ["list"]]);
// $data => ['bar' => 'Api Platform'] as expected

$data = $normalizer->normalize($obj, null, ['groups' => ["list:export"]]);
// $data => ['bar' => 'Api Platform Rocks'] as expected

$obj = $normalizer->denormalize(['bar' => 'Api Platform'], Foo::class, null, ['groups' => ['list']]);
// $obj->getBar()  would return null instead of 'Api Platform' as expected.
```

Commits
-------

8ca4a3f345 [Serializer] Fix property name usage for denormalization
2019-11-03 12:04:07 +01:00
Anto
8ca4a3f345 [Serializer] Fix property name usage for denormalization 2019-11-03 12:04:02 +01:00
Oskar Stark
2ce086ab29
Name test accordingly to the tested class 2019-11-03 10:04:05 +01:00
HypeMC
51b20dd895 Fix MockFileSessionStorageTest::sessionDir being used after it's unset 2019-11-03 03:12:45 +01:00
Robin Chalas
e47b31c43c [Security] Fix SwitchUserToken wrongly deauthenticated 2019-11-02 08:21:17 +01:00
Robin Chalas
64f4430cda [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user 2019-11-02 08:18:50 +01:00
Christopher Hertel
c2c3e70e6b fixing telegram token 2019-11-01 17:59:41 +01:00
dFayet
c4a2f026e0 Add new Form WeekType 2019-11-01 15:48:13 +01:00
Christian Flothmann
be8cb4eef6 fix exception messages 2019-11-01 15:41:54 +01:00
Tobias Schultze
127f5da1fd [Messenger] remove legacy code in SendersLocator 2019-11-01 13:59:10 +01:00
Tobias Schultze
0ea2855cdf Merge branch '4.4' 2019-11-01 13:49:41 +01:00
Fabien Potencier
ce6332ce71 bumped Symfony version to 4.3.7 2019-11-01 11:04:19 +01:00
Fabien Potencier
b959f05d98 updated VERSION for 4.3.6 2019-11-01 11:00:03 +01:00
Fabien Potencier
36c4c66a60 bumped Symfony version to 3.4.34 2019-11-01 10:59:17 +01:00
Fabien Potencier
a3ae48695d updated VERSION for 3.4.33 2019-11-01 10:46:31 +01:00
Tobias Schultze
d7e0f98cd0 [Messenger] extract worker logic to listener and sent messages for retry
and failure directly to transport instead of redispatching on the bus
2019-10-31 15:47:36 +01:00
Tobias Schultze
cf10c02765 minor #34155 Revert SyncTransport simplification and fix properly (weaverryan)
This PR was squashed before being merged into the 4.4 branch (closes #34155).

Discussion
----------

Revert SyncTransport simplification and fix properly

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34115 (and also related to #34066)
| License       | MIT
| Doc PR        | Not needed

In #34069, I made `SyncTransport` simpler by removing that transport class and making the whole things a config trick. I felt GREAT about that solution... until i realized two big problems:

1) It kills using env vars for `sync://` because we read the config values at build time - #34115 - that could probably be fixed by adding a factory, but then there is also the next problem

2) If someone routed a message to `[async, sync]` (weird, but allowed), my #34069 config solution basically maps this internally to `[async]`, which actually causes the message to *not* be handled immediately. Basically, my solution only worked if you route a message ONLY to one sync transport, but fails if you route to multiple transports.

So... this fixes things in a less-cool, but sensible way:

A) The first commit reverts #34069 exactly
B) The second commit solves the issue that we need to know if a message is being handled in a "worker" context or not, so middleware can decide if they should reset things before/after handling things. Previously we were using `ReceivedStamp` to know this. But because `SyncTransport` also "receives" the message and adds this stamp, it's not enough. To fix this, I added a new `ConsumedByWorkerStamp` that clearly means: "This message is being handled by a worker" (and so, you might want to "reset" some things before/after handling).

Thanks!

Commits
-------

01a9fefe77 Adding ConsumedByWorkerStamp as way to mark a message in a "worker context"
38f19a960c Revert "[Messenger] Removing "sync" transport and replacing it with much nicer config trick"
2019-10-31 15:10:54 +01:00
Yonel Ceruto
45f1a5ee06 Show generic message in non-debug mode 2019-10-31 09:58:15 -04:00
Nicolas Grekas
e388b739ed [HttpClient] Fix perf issue when doing thousands of requests with curl 2019-10-31 08:19:20 +01:00
Nicolas Grekas
aea43b27b0 minor #34166 [VarDumper] Do not dump the EventDispatcher (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] Do not dump the EventDispatcher

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

Commits
-------

31c402a003 [VarDumper] Do not dump the EventDispatcher
2019-10-30 22:27:22 +01:00
Antonio Pauletich
16c9bafee4
Fix URL generator instantiation 2019-10-30 20:24:37 +01:00
Nicolas Grekas
38bd52e9be feature #34133 [Cache] add DeflateMarshaller - remove phpredis compression (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] add DeflateMarshaller - remove phpredis compression

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

phpredis compression doesn't play well with lua scripting as used in #33939
Let's remove it and provide a `DeflateMarshaller` instead.

Ppl can use it via decoration:
```yaml
services:
    Symfony\Component\Cache\Marshaller\DeflateMarshaller:
        decorates: cache.default_marshaller
        arguments: ['@Symfony\Component\Cache\Marshaller\DeflateMarshaller.inner']
```

It's not enabled by default because that might break pools that are shared between different apps.

/cc @andrerom FYI

Commits
-------

452c863639 [Cache] add DeflateMarshaller - remove phpredis compression
2019-10-30 17:54:40 +01:00
Nicolas Grekas
8cf0698e85 bug #34163 [DI] fix regexp for anonymous services with no class set (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix regexp for anonymous services with no class set

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

Follows #33782

Commits
-------

a302d2050e [DI] fix regexp for anonymous services with no class set
2019-10-30 17:53:52 +01:00