Commit Graph

48240 Commits

Author SHA1 Message Date
Nicolas Grekas 4dd6e2f0b2 Merge branch '5.0'
* 5.0:
  [DI] Fix CheckTypeDeclarationPass
  [Security/Http] don't require the session to be started when tracking its id
  [DI] fix preloading script generation
2020-03-18 09:01:26 +01:00
Nicolas Grekas ea0eb11bcf Merge branch '4.4' into 5.0
* 4.4:
  [DI] Fix CheckTypeDeclarationPass
  [Security/Http] don't require the session to be started when tracking its id
  [DI] fix preloading script generation
2020-03-18 09:00:37 +01:00
Fabien Potencier e457b24ea7 bug #36103 [DI] fix preloading script generation (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix preloading script generation

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

(fabbot failure is a false positive)

On master, we should work on being able to preload more classes (esp. all cache-warmup artifacts).

But for 4.4, this is good enough. Submitted as a bug fix because 1. the current code that deals with preloading kinda-works, but only on "dev" mode... and 2. fixing it provides a nice boost!

Small bench on a hello world:
- before: 380 req/s
- after: 580 req/s

That's +50%!

Pro-tip: adding a few `class_exists()` as done in this PR for the classes that are always used in the implementations (e.g. `new Foo()` in the constructor) will help the preload-script generator to work optimally. Without them, it will discover the symbols to preload only if they're found on methods.

Some of those `class_exists()` are mandatory, in relation to anonymous classes and https://bugs.php.net/79349

Commits
-------

a10fc4da5d [DI] fix preloading script generation
2020-03-18 08:51:32 +01:00
Fabien Potencier dd4d393a3c feature #36117 [PropertyAccess][DX] Added an `UninitializedPropertyException` (HeahDude)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[PropertyAccess][DX] Added an `UninitializedPropertyException`

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

Feature version of #36073 for master. Again, better be reviewed without whitespace changes, thanks!

Commits
-------

2b2fd12b0d [PropertyAccess] Added an `UninitializedPropertyException`
2020-03-18 08:43:41 +01:00
Fabien Potencier e383b41f53 minor #36120 [FrameworkBundle][PropertyAccess] Use injection for info extractors (HeahDude)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[FrameworkBundle][PropertyAccess] Use injection for info extractors

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

Follows #30704.

Commits
-------

693d4c0a2d [FrameworkBundle][PropertyAccess] Use injection for info extractors
2020-03-18 08:42:17 +01:00
Fabien Potencier 6902a56e75 bug #36119 [PropertyAccess] Added missing new args in `PropertyAccessorBuilder` (HeahDude)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[PropertyAccess] Added missing new args in `PropertyAccessorBuilder`

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

Following #30704.

Commits
-------

e1be8cd61b [PropertyAccess] Added missing new args in PropertyAccessorBuilder
2020-03-18 08:31:56 +01:00
Fabien Potencier abefccfbe9 bug #36118 [Security/Http] don't require the session to be started when tracking its id (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security/Http] don't require the session to be started when tracking its id

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

`$session->getId()` returns the empty string when the session is not yet started.
When this happens, the session tracking logic wrongly detects that a new session was created and thus disables HTTP caching.

This fixes the issue by looking at the value of the session cookie instead.
(the case for `true` is when using `MockArraySessionStorage` as done in tests)

Commits
-------

c39188a7cc [Security/Http] don't require the session to be started when tracking its id
2020-03-18 08:28:07 +01:00
Fabien Potencier 7baec325fc bug #36108 [DI] Fix CheckTypeDeclarationPass (guillbdx)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[DI] Fix CheckTypeDeclarationPass

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

Bug 1: The lint container threw an error if a class buit with a factory was declared as callable while this factory method returne a callabe (#35863)

Bug 2: Sodium Exception was not caught in the CheckTypeDeclarationsPass. We have extended the exception caught to \Exception, instead of EnvNotFoundException and RuntimeException only.

Commits
-------

cbf4dfd10f [DI] Fix CheckTypeDeclarationPass
2020-03-18 08:18:50 +01:00
Guillaume Pédelagrabe cbf4dfd10f [DI] Fix CheckTypeDeclarationPass 2020-03-18 08:18:44 +01:00
Fabien Potencier 56a7969f37 Merge branch '5.0'
* 5.0:
  [VarDumper] fix side-effect by not using mt_rand()
2020-03-18 08:17:09 +01:00
Fabien Potencier 079d85da45 Merge branch '4.4' into 5.0
* 4.4:
  [VarDumper] fix side-effect by not using mt_rand()
2020-03-18 08:16:55 +01:00
Fabien Potencier 104387ab92 Merge branch '3.4' into 4.4
* 3.4:
  [VarDumper] fix side-effect by not using mt_rand()
2020-03-18 08:15:43 +01:00
Fabien Potencier 5f364af6a0 bug #36121 [VarDumper] fix side-effect by not using mt_rand() (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] fix side-effect by not using mt_rand()

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

Reported by @bobthecow on Twitter: using `mt_rand()` breaks inspecting seeded calls to `mt_rand()`.

Should be replaced by a call to `md5(random_bytes(6))` on 4.4.

Commits
-------

8c85f91b9c [VarDumper] fix side-effect by not using mt_rand()
2020-03-18 08:13:59 +01:00
Jules Pietri 693d4c0a2d
[FrameworkBundle][PropertyAccess] Use injection for info extractors 2020-03-17 23:36:24 +01:00
Nicolas Grekas 8c85f91b9c [VarDumper] fix side-effect by not using mt_rand() 2020-03-17 23:27:36 +01:00
Jules Pietri e1be8cd61b
[PropertyAccess] Added missing new args in PropertyAccessorBuilder 2020-03-17 22:56:56 +01:00
Nicolas Grekas c39188a7cc [Security/Http] don't require the session to be started when tracking its id 2020-03-17 22:55:56 +01:00
Jules Pietri 2b2fd12b0d
[PropertyAccess] Added an `UninitializedPropertyException` 2020-03-17 22:10:22 +01:00
Nicolas Grekas 3f23a45207 Merge branch '5.0'
* 5.0:
  fix merge
  Fix more quotes in exception messages
  Fix more quotes in exception messages
  Fix more quotes in exception messages
  [3.4] Minor fixes
  [PropertyAccess] Improved errors when reading uninitialized properties
2020-03-17 21:06:25 +01:00
Nicolas Grekas a10fc4da5d [DI] fix preloading script generation 2020-03-17 20:51:46 +01:00
Jan Schädlich a0a6243a21 Fix deprecation messages 2020-03-17 20:48:51 +01:00
Christian Flothmann c0ee02bf19 feature #36088 [Form] Added "collection_entry" block prefix to CollectionType entries (HeahDude)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[Form] Added "collection_entry" block prefix to CollectionType entries

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

Allows to use global `collection_entry_row`, `collection_entry_label`, `collection_entry_widget` and `collection_entry_errors` themes after dynamic `_form_name_collection_name_entry_* ` ones.

Commits
-------

2ff1f886d7 [Form] Added "collection_entry" block prefix to CollectionType entries
2020-03-17 16:32:28 +01:00
Nicolas Grekas 000ffb29e1 Merge branch '4.4' into 5.0
* 4.4:
  fix merge
2020-03-17 10:54:50 +01:00
Nicolas Grekas 3ae3244b8c fix merge 2020-03-17 10:54:35 +01:00
Jules Pietri 2ff1f886d7
[Form] Added "collection_entry" block prefix to CollectionType entries 2020-03-17 10:07:29 +01:00
Nicolas Grekas c650fe6dfc minor #35945 Leverage PHP8's get_debug_type() (nicolas-grekas)
This PR was merged into the 5.1-dev branch.

Discussion
----------

Leverage PHP8's get_debug_type()

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

See https://github.com/symfony/polyfill/pull/226 for background.

We might have to port part of the patch to 4.4 when we'll work on having it support PHP 8, but that's not needed for now.

Commits
-------

daf1c6605e Leverage PHP8's get_debug_type()
2020-03-16 18:33:00 +01:00
Fabien Potencier 955752b74c Fix more quotes in exception messages 2020-03-16 17:47:01 +01:00
Nicolas Grekas daf1c6605e Leverage PHP8's get_debug_type() 2020-03-16 17:46:21 +01:00
Fabien Potencier e7e5f334e7 Merge branch '4.4' into 5.0
* 4.4:
  Fix more quotes in exception messages
  Fix more quotes in exception messages
  [3.4] Minor fixes
  [PropertyAccess] Improved errors when reading uninitialized properties
2020-03-16 17:38:48 +01:00
Fabien Potencier 46e441ff8d minor #36101 Fix more quotes in exception messages (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix more quotes in exception messages

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

Commits
-------

c79fe029e7 Fix more quotes in exception messages
2020-03-16 17:28:20 +01:00
Fabien Potencier 34583b7562 feature #35936 [String] Add AbstractString::containsAny() (nicolas-grekas)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[String] Add AbstractString::containsAny()

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

We decided to not have a `contains()` method because we didn't know how to handle the case where several needles are passed. But https://wiki.php.net/rfc/str_contains made me reconsider this idea and I think `containsAny()` works great. WDYT?

Commits
-------

de79ae7f35 [String] Add AbstractString::containsAny()
2020-03-16 17:24:27 +01:00
Fabien Potencier c79fe029e7 Fix more quotes in exception messages 2020-03-16 17:13:17 +01:00
Fabien Potencier cbe50a79a8 Merge branch '3.4' into 4.4
* 3.4:
  Fix more quotes in exception messages
  [3.4] Minor fixes
  [PropertyAccess] Improved errors when reading uninitialized properties
2020-03-16 17:04:53 +01:00
Fabien Potencier 313d865456 Merge branch '5.0'
* 5.0:
  [Notifier] Add tests for AbstractChannel and ChannelPolicy
2020-03-16 17:00:50 +01:00
Fabien Potencier 2baa8128ad minor #36099 Fix more quotes in exception messages (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix more quotes in exception messages

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

Commits
-------

4ab6156c5a Fix more quotes in exception messages
2020-03-16 16:59:59 +01:00
Fabien Potencier 4ab6156c5a Fix more quotes in exception messages 2020-03-16 16:51:59 +01:00
Fabien Potencier 2c4c19ce8b bug #36073 [PropertyAccess][DX] Improved errors when reading uninitialized properties (HeahDude)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyAccess][DX] Improved errors when reading uninitialized properties

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | kinda
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36051
| License       | MIT
| Doc PR        | ~

An attempt to fix #36051 by providing better error messages when trying to read uninitialized properties either via calling a return-type-hinted method from PHP 7.0 or by accessing public-typed properties from PHP 7.4.

It would be nice to have a proper exception class in master.

Commits
-------

a71023ba65 [PropertyAccess] Improved errors when reading uninitialized properties
2020-03-16 16:16:37 +01:00
Fabien Potencier f4d564c0a1 minor #36096 Fix quotes in exception messages (fabpot)
This PR was merged into the 5.1-dev branch.

Discussion
----------

Fix quotes in exception messages

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

Commits
-------

6c37f66f3f Fix quotes in exception messages
2020-03-16 15:38:57 +01:00
Fabien Potencier 6c37f66f3f Fix quotes in exception messages 2020-03-16 15:27:25 +01:00
Fabien Potencier 16ed2b9f7d minor #35847 [Notifier] Add unit tests (jschaedl)
This PR was merged into the 5.0 branch.

Discussion
----------

[Notifier] Add unit tests

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

- [x] `AbstractChannel`
- [x] `ChannelPolicy`
- [x] `RecipientTest` (done in PR #35773)
- [x] `EmailRecipientTest` (done in PR #35773)
- [x] `SmsRecipientTest` (done in PR #35773)
- [x] `Transports` (see PR #35834)

Commits
-------

022c1707e2 [Notifier] Add tests for AbstractChannel and ChannelPolicy
2020-03-16 14:29:03 +01:00
Fabien Potencier 1866a2a88c Merge branch '5.0'
* 5.0:
  Fix quotes in exception messages
  Fix quotes in exception messages
  Fix quotes in exception messages
  Fix quotes in exception messages
  Fix quotes in exception messages
2020-03-16 14:12:54 +01:00
Fabien Potencier 4efa287574 minor #36095 Quotes in exceptions messages (fabpot)
This PR was squashed before being merged into the 5.0 branch.

Discussion
----------

Quotes in exceptions messages

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

Commits
-------

bc60b9c5e4 Fix quotes in exception messages
42df4f434b Fix quotes in exception messages
2020-03-16 14:11:08 +01:00
Fabien Potencier bc60b9c5e4 Fix quotes in exception messages 2020-03-16 14:02:39 +01:00
Fabien Potencier 42df4f434b Fix quotes in exception messages 2020-03-16 13:36:05 +01:00
Fabien Potencier e903750b9c Merge branch '4.4' into 5.0
* 4.4:
  Fix quotes in exception messages
  Fix quotes in exception messages
  Fix quotes in exception messages
2020-03-16 13:10:54 +01:00
Fabien Potencier 4a7fcda332 minor #36091 Fix quotes in exception messages (fabpot)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Fix quotes in exception messages

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

Commits
-------

aab0e40cd2 Fix quotes in exception messages
1ae2da01ff Fix quotes in exception messages
2020-03-16 13:04:38 +01:00
Fabien Potencier aab0e40cd2 Fix quotes in exception messages 2020-03-16 12:24:17 +01:00
Fabien Potencier 4b15b1009e minor #36092 [3.4] Minor fixes (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[3.4] Minor fixes

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

Commits
-------

019350022c [3.4] Minor fixes
2020-03-16 12:06:03 +01:00
Thomas Calvet 019350022c [3.4] Minor fixes 2020-03-16 11:48:37 +01:00
Fabien Potencier 1ae2da01ff Fix quotes in exception messages 2020-03-16 10:45:04 +01:00