Commit Graph

45412 Commits

Author SHA1 Message Date
Nicolas Grekas 5c4f2a972a bug #33841 [VarDumper] fix dumping uninitialized SplFileInfo (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] fix dumping uninitialized SplFileInfo

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/bobthecow/psysh/issues/570
| License       | MIT
| Doc PR        | -

Commits
-------

b0f42333a5 [VarDumper] fix dumping uninitialized SplFileInfo
2019-10-04 20:45:27 +02:00
Nicolas Grekas c458e4bda7 minor #33860 Delete 5_Security_issue.md, in favor of GitHub SECURITY.md (ro0NL)
This PR was merged into the 4.3 branch.

Discussion
----------

Delete 5_Security_issue.md, in favor of GitHub SECURITY.md

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

This seems kinda duplicate today:

![image](https://user-images.githubusercontent.com/1047696/66231230-45d58b00-e6e6-11e9-8cde-50e05c0080df.png)

(https://github.com/symfony/symfony/issues/new/choose)

Commits
-------

84d62eb317 Delete 5_Security_issue.md
2019-10-04 20:44:53 +02:00
Nicolas Grekas 3786d4e799 bug #33842 [Cache] fix logger usage in CacheTrait::doGet() (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] fix logger usage in CacheTrait::doGet()

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

Commits
-------

ca6515cc76 [Cache] fix logger usage in CacheTrait::doGet()
2019-10-04 20:44:12 +02:00
Roland Franssen 84d62eb317
Delete 5_Security_issue.md 2019-10-04 20:40:56 +02:00
Yonel Ceruto 80f545b8cf minor #33858 [DI] Whitelist error_renderer.renderer tag in UnusedTagsPass (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Whitelist error_renderer.renderer tag  in UnusedTagsPass

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

Commits
-------

82644dd [DI] Whitelist error_renderer.renderer tag  in UnusedTagsPass
2019-10-04 14:36:50 -04:00
Robin Chalas 82644dd904 [DI] Whitelist error_renderer.renderer tag in UnusedTagsPass 2019-10-04 19:54:05 +02:00
Robin Chalas 811758c82c [DI] Whitelist validator.auto_mapper in UnusedTagsPass 2019-10-04 19:45:43 +02:00
Yonel Ceruto 21bc1914d2 minor #33855 [Form] Update CHANGELOG.md (ro0NL)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] Update CHANGELOG.md

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", if any -->
| 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->
forgotten in #33791

Commits
-------

332128f Update CHANGELOG.md
2019-10-04 13:32:45 -04:00
Roland Franssen 332128f972
Update CHANGELOG.md 2019-10-04 19:10:58 +02:00
Eric Grimois e4fb58d1b8 [HttpClient] Fixed #33832 NO_PROXY option ignored in NativeHttpClient::request() method 2019-10-04 17:43:55 +02:00
Nicolas Grekas 8f92594576 feature #33793 [EventDispatcher] A compiler pass for aliased userland events (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[EventDispatcher] A compiler pass for aliased userland events

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

Since 4.3, the EventDispatcher component allows to register events via the FQCN of the class name instead of a dedicated event name.

Earlier this year I have worked with a team that used the event dispatcher for own custom events. When 4.3 was released, the team decided to use the new mechanism for new events. For the sake of consistency, we also wanted to migrate existing event subscribers to FQCN events.

While FrameworkBundle implements a nice aliasing mechanism for its own events, we couldn't find an obvious way to make use of FQCN event aliases for our own events. The best way we could find is registering a compiler pass that would extend an internal parameter that stores all event aliases. But that made us feel like we're fiddling with an implementation detail of the framework.

This PR aims to provide a standard way for applications and third-party bundles to register their own event aliases.

```php
$container->addCompilerPass(new EventAliasesPass([
    MyCustomEvent::class => 'my_custom_event',
]));
```

Furthermore, it adds tests for class aliasing to the component's test suite. Additionally, the newly introduced pass is dogfooded by the SecurityBundle, so FrameworkBundle doesn't need to know about events fired by the security components.

Commits
-------

34efe40371 [EventDispatcher] A compiler pass for aliased userland events.
2019-10-04 13:06:19 +02:00
Alexander M. Turek 34efe40371 [EventDispatcher] A compiler pass for aliased userland events. 2019-10-04 13:01:02 +02:00
Nicolas Grekas ba63e181fd [Cache] give 100ms before starting the expiration countdown 2019-10-04 12:57:53 +02:00
Fabien Potencier c91e7ca084 minor #33840 Added missing translations (tarlepp)
This PR was merged into the 3.4 branch.

Discussion
----------

Added missing translations

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #30163 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

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

Commits
-------

865b9ffb09 Added missing translations.
2019-10-04 10:17:57 +02:00
Nicolas Grekas ca6515cc76 [Cache] fix logger usage in CacheTrait::doGet() 2019-10-04 10:02:16 +02:00
Nicolas Grekas 63c105d406 [String] renamed core classes to Byte/CodePoint/UnicodeString 2019-10-04 09:55:49 +02:00
Nicolas Grekas d9ca86e7fd minor #33825 [FrameworkBundle] encourage installing intl when String is available (nicolas-grekas)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[FrameworkBundle] encourage installing intl when String is available

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

Commits
-------

215595be5a [FrameworkBundle] encourage installing intl when String is available
2019-10-04 09:50:57 +02:00
Nicolas Grekas 215595be5a [FrameworkBundle] encourage installing intl when String is available 2019-10-04 09:49:39 +02:00
Nicolas Grekas b0f42333a5 [VarDumper] fix dumping uninitialized SplFileInfo 2019-10-04 09:44:32 +02:00
Tarmo Leppänen 865b9ffb09 Added missing translations. 2019-10-04 10:06:17 +03:00
Fabien Potencier 496346c88e bug #33831 [Validator] Fix wrong expression language value (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Fix wrong expression language value

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

766162c4c7/src/Symfony/Component/Validator/Constraints/ExpressionValidator.php (L28)

```php
(new ExpressionValidator($propertyAccessor))->validate($object, $constraint);
```
Based on the previous method signature (4.3 above), that code would result in an exception in 4.4:
```
Call to undefined method Symfony\Component\PropertyAccess\PropertyAccessor::evaluate()
```
Spotted by @fancyweb in https://github.com/symfony/symfony/pull/33829#discussion_r330995572

Fixed here and updated test case to avoid regression.

Commits
-------

4288f1c9f9 Fix wrong expression language value
2019-10-03 22:18:18 +02:00
Fabien Potencier 2c2d2ac3a7 minor #33836 Fixed invalid changelog 4.0.0 for VarDumper (adrozdek)
This PR was merged into the 4.3 branch.

Discussion
----------

Fixed invalid changelog 4.0.0 for VarDumper

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT

I changed CHANGELOG.md to reflect actual changes in the code. The third argument is called $filter, not $context. This mistake was propageted to UPGRADE-4.0.md. I fixed that in https://github.com/symfony/symfony/pull/33821

Commits
-------

169a2b310f Fixed invalid changelog 4.0.0 for VarDumper
2019-10-03 22:16:53 +02:00
Fabien Potencier 2ccecbedac feature #33791 [Form] Added CountryType option for using alpha3 country codes (creiner)
This PR was squashed before being merged into the 4.4 branch (closes #33791).

Discussion
----------

[Form] Added CountryType option for using alpha3 country codes

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

In the linked issue #20313 was a proposal to add an alpha3 option to the country type.
Here it is..
Hopefully I've made no mistake, so when the code is fine, I will create a documentation PR.. :-)

Commits
-------

d07f5a33db [Form] Added CountryType option for using alpha3 country codes
2019-10-03 22:14:23 +02:00
creiner d07f5a33db [Form] Added CountryType option for using alpha3 country codes 2019-10-03 22:14:18 +02:00
Agata 169a2b310f
Fixed invalid changelog 4.0.0 for VarDumper
I changed CHANGELOG.md to reflect actual changes in the code. The third argument is called $filter, not $context. This mistake was propageted to UPGRADE-4.0.md. I fixed that in https://github.com/symfony/symfony/pull/33821
2019-10-03 20:55:51 +02:00
Grégoire Pineau e95fa0113e Merge remote-tracking branch 'origin/4.3' into 4.4
* origin/4.3:
  [Workflow] Fixed BC break on WorkflowInterface
2019-10-03 18:33:25 +02:00
Grégoire Pineau abe2745b15 bug #33835 [Workflow] Fixed BC break on WorkflowInterface (lyrixx)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] Fixed BC break on WorkflowInterface

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

Commits
-------

1eb10b996a [Workflow] Fixed BC break on WorkflowInterface
2019-10-03 18:32:51 +02:00
Grégoire Pineau 1eb10b996a [Workflow] Fixed BC break on WorkflowInterface 2019-10-03 18:20:08 +02:00
Thomas Calvet 72684b001c [Validator] Fix ValidValidator group cascading usage 2019-10-03 17:45:25 +02:00
Fabien Potencier 76e5ea85b4 minor #33809 [HttpKernel] Inherit Throwable in HttpExceptionInterface (nesk)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Inherit Throwable in HttpExceptionInterface

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| **BC BREAKS?**| **YES**
| Tickets       | n/a
| License       | MIT
| Doc PR        | n/a

When using a static analysis tools, it is not possible to do this:

```php
if ($exception instanceof HttpExceptionInterface) {
    $exception->getStatusCode();
    $exception->getHeaders();
    $exception->getMessage(); //  Will fail here
}
```

This is due to `getMessage()` not being a method declared in `HttpExceptionInterface`. Since Symfony now requires PHP 7.1+ to run, it is safe to inherit from the `Throwable` interface (added in PHP 7.0).

### About backward compatibility

Adding new methods to `HttpExceptionInterface` [breaks BC](https://symfony.com/doc/current/contributing/code/bc.html#changing-interfaces), however this interface shouldn't be used on a class other than an exception, so this shouldn't affect much code.

### About tests

I'm not sure this really needs tests, but maybe I'm wrong? Tell me what to test if you think this is required.

Commits
-------

2ac3fbf232 Inherit Throwable in HttpExceptionInterface
2019-10-03 15:58:24 +02:00
Yonel Ceruto 4288f1c9f9 Fix wrong expression language value 2019-10-03 09:23:52 -04:00
Robin Chalas 8622c8c95e bug #33799 [Security]: Don't let falsy usernames slip through impersonation (j4nr6n)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security]: Don't let falsy usernames slip through impersonation

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

When you try to impersonate users with a falsy username, `SwitchUserListener::handle()` would `return;` and impersonation would fail.

I'm using a third party OAuth provider that allows users to change their usernames with no guaranteed protection against re-use. To overcome that issue, I implemented `UserLoaderInterface::loadUserByUsername()` and query by a `providerId`.

After loading development fixtures, One user has `0` as it's `providerId`.

Commits
-------

64aecab0a7 Don't let falsey usernames slip through
2019-10-03 14:19:04 +02:00
Tobias Schultze b2d6c10ba7 minor #33709 Add types to constructors and private/final/internal methods (Batch II) (derrabus)
This PR was squashed before being merged into the 4.4 branch (closes #33709).

Discussion
----------

Add types to constructors and private/final/internal methods (Batch II)

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

Followup to #33519, this time with:
* Form
* HttpClient
* HttpKernel
* intl
* Ldap
* Ldap
* Lock
* Messenger
* Processor
* PropertyInfo
* Routing
* Security
* Serializer
* Stopwatch
* Translation

Commits
-------

9378eb4858 Add types to constructors and private/final/internal methods (Batch II)
2019-10-03 13:24:15 +02:00
Alexander M. Turek 9378eb4858 Add types to constructors and private/final/internal methods (Batch II) 2019-10-03 13:24:03 +02:00
Nicolas Grekas 9adef0795f minor #33821 Fixed invalid VarDumper upgrade-4.0 doc. (adrozdek)
This PR was submitted for the 4.3 branch but it was merged into the 3.4 branch instead (closes #33821).

Discussion
----------

Fixed invalid VarDumper upgrade-4.0 doc.

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT

Updated upgrade-4.0 documentation to reflect actual changes in the code.

Commits
-------

afefc7104e Fixed invalid VarDumper upgrade doc.
2019-10-03 11:42:28 +02:00
Agata afefc7104e Fixed invalid VarDumper upgrade doc. 2019-10-03 11:42:21 +02:00
Johann Pardanaud 2ac3fbf232 Inherit Throwable in HttpExceptionInterface 2019-10-03 10:14:32 +02:00
Nicolas Grekas 35f319caeb minor #33824 [WebProfilerBundle] Fix TemplateManager test (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[WebProfilerBundle] Fix TemplateManager test

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

Commits
-------

d1ed9685e1 [WebProfilerBundle] Fix TemplateManager test
2019-10-03 09:46:52 +02:00
Thomas Calvet d1ed9685e1 [WebProfilerBundle] Fix TemplateManager test 2019-10-03 09:40:48 +02:00
Robin Chalas 732c0344ea bug #33819 Fixing 'TypeError' in LdapUser::getSalt() (linnit)
This PR was merged into the 4.4 branch.

Discussion
----------

 Fixing 'TypeError' in LdapUser::getSalt()

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

The following TypeError is returned as LdapUser::getSalt() returns no value.

Return value of Symfony\Component\Ldap\Security\LdapUser::getSalt() must be of the type string or null, none returned

Commits
-------

28e30b132b  Fixing 'TypeError' in LdapUser::getSalt()
2019-10-02 22:02:04 +02:00
Ryan Linnit 28e30b132b
Fixing 'TypeError' in LdapUser::getSalt()
Return value of Symfony\Component\Ldap\Security\LdapUser::getSalt() must be of the type string or null, none returned
2019-10-02 20:38:58 +01:00
Nicolas Grekas 67fe198a8e feature #33628 [DependencyInjection] added Ability to define a priority method for tagged service (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] added Ability to define a priority method for tagged service

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

Commits
-------

c1917c2999 [DependencyInjection] added Ability to define a priority method for tagged service
2019-10-02 21:24:21 +02:00
Nicolas Grekas ebda9d1ae7 minor #33808 [Console] Throw a TypeError for non-int return value calling Command::execute() (jschaedl)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Console] Throw a TypeError for non-int return value calling Command::execute()

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

### Todo

- [x] needs to be rebased after 4.4 was merged into master (see: https://github.com/symfony/symfony/pull/33805)

Commits
-------

b3a3b0c235 [Console] Throw a TypeError for non-int return values on calling Command::execute()
2019-10-02 19:22:46 +02:00
Jan Schädlich b3a3b0c235 [Console] Throw a TypeError for non-int return values on calling Command::execute() 2019-10-02 19:22:19 +02:00
Nicolas Grekas 95ebca5213 Merge branch '4.4'
* 4.4:
  fix typo
2019-10-02 19:19:42 +02:00
Nicolas Grekas 3b1655165e fix typo 2019-10-02 19:19:36 +02:00
Nicolas Grekas 1e4d873c13 feature #33768 [String] Introduce a locale-aware Slugger in the String component (tgalopin)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[String] Introduce a locale-aware Slugger in the String component

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

This PR introduces a locale-aware Slugger in the new String component, based on transliterators provided by the PHP intl extension (or iconv if not available). It also wires this Slugger in the FrameworkBundle in order to use it easily as a service and to automatically inject the proper locale into it to choose the appropriate transliteration depending on the Request locale.

See https://github.com/unicode-org/cldr/tree/master/common/transforms for CLDR mappings.

Commits
-------

056d8ceed9 [String] Introduce a locale-aware Slugger in the String component with FrameworkBundle wiring
2019-10-02 18:39:31 +02:00
Titouan Galopin 056d8ceed9 [String] Introduce a locale-aware Slugger in the String component with FrameworkBundle wiring 2019-10-02 18:31:43 +02:00
Nicolas Grekas e7f70415a5 bug #33814 [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array (mynameisbogdan)
This PR was submitted for the 4.3 branch but it was merged into the 3.4 branch instead (closes #33814).

Discussion
----------

[HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array

[HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array

| 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 #33769 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

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

If `$_SESSION['_sf2_attributes']` is set to a string, `SessionBagProxy::initialize` will throw an error since it's argument is type-hinted as array. So this change is to check before if the data to be passed is truly an array.

Commits
-------

38782bceff [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array
2019-10-02 18:15:28 +02:00
bogdan 38782bceff [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array 2019-10-02 18:15:21 +02:00