Commit Graph

45338 Commits

Author SHA1 Message Date
Fabien Potencier bef727c673 updated VERSION for 4.4.0-RC1 2019-11-17 15:24:08 +01:00
Fabien Potencier 2558047dd7 updated CHANGELOG for 4.4.0-RC1 2019-11-17 15:23:51 +01:00
Nicolas Grekas cab859c4ae Merge branch '4.3' into 4.4
* 4.3:
  Add conflict rule for Monolog 2.
2019-11-17 15:08:02 +01:00
Nicolas Grekas 5188215fe9 Merge branch '3.4' into 4.3
* 3.4:
  Add conflict rule for Monolog 2.
2019-11-17 15:07:50 +01:00
Nicolas Grekas 829ced841c minor #32469 Add conflict rule for Monolog 2 (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

Add conflict rule for Monolog 2

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27857, symfony/monolog-bundle#300
| License       | MIT
| Doc PR        | N/A

Depending on the monorepo has been best practice in Symfony 3 and is discouraged but still possible in Symfony 4. If the Symfony Standard Edition was used to bootstrap the application, Monolog is installed as dependency of the MonologBundle. Thus, if we released a MonologBundle that indicates compatibility with Monolog 2, those application would be bumped to Version 2 although MonologBridge 3.4 is not ready for it. The goal is to prevent this from happening.

This PR adds a conflict rule for Monolog 2 to the 3.4 branch. Assuming this gets merged before the next Symfony releases (3.4.30, 4.2.11, 4.3.3), my plan would be to bump MonologBundle's dependencies like this:

```diff
"require": {
-     "monolog/monolog": "~1.22",
-     "symfony/monolog-bridge": "~3.4|~4.0"
+     "monolog/monolog": "~1.22|~2.0",
+     "symfony/monolog-bridge": "^3.4.30|~4.2.11|^4.3.3|^5.0"
}
```

If I'm not mistaken, this should remove any possible combination of Symfony 3/4 and Monolog 2.

Projects depending on individual packages instead of the monorepo should be safe already because MonologBridge 3.x/4.x locks Monolog at version 1.

Commits
-------

d53b91a45a Add conflict rule for Monolog 2.
2019-11-17 15:07:04 +01:00
Alexander M. Turek d53b91a45a Add conflict rule for Monolog 2. 2019-11-17 14:23:03 +01:00
Nicolas Grekas 0c12b9e31b Merge branch '4.3' into 4.4
* 4.3:
  [Cache] Disable igbinary on PHP >= 7.4
2019-11-17 12:01:12 +01:00
Nicolas Grekas 479efc54f3 bug #34419 [Cache] Disable igbinary on PHP >= 7.4 (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] Disable igbinary on PHP >= 7.4

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

Until https://github.com/igbinary/igbinary/issues/244 is fixed.

Commits
-------

a2c924d772 [Cache] Disable igbinary on PHP >= 7.4
2019-11-17 12:01:01 +01:00
Nicolas Grekas a2c924d772 [Cache] Disable igbinary on PHP >= 7.4 2019-11-17 11:56:39 +01:00
Nicolas Grekas 88cf8a7d48 Merge branch '4.3' into 4.4
* 4.3:
  [FrameworkBundle] Remove project dir from Translator cache vary scanned directories
  [HttpFoundation] Allow redirecting to URLs that contain a semicolon
  catch exceptions when using PDO directly
  [SecurityBundle] fix failing test
2019-11-17 11:10:42 +01:00
Nicolas Grekas d20f544e14 Merge branch '3.4' into 4.3
* 3.4:
  [HttpFoundation] Allow redirecting to URLs that contain a semicolon
2019-11-17 11:10:32 +01:00
Fabien Potencier 085c6c069e bug #34347 [Messenger] Perform no deep merging of bus middleware (vudaltsov)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Perform no deep merging of bus middleware

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

This change helps in case one needs to configure a bus differently for a custom environment while keeping existing handlers attached by name.

Commits
-------

c264583f28 [Messenger] Perform no deep merging of bus middleware
2019-11-17 11:09:18 +01:00
Valentin Udaltsov c264583f28 [Messenger] Perform no deep merging of bus middleware 2019-11-17 11:02:20 +01:00
Fabien Potencier 9e7c254460 bug #34366 [HttpFoundation] Allow redirecting to URLs that contain a semicolon (JayBizzle)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Allow redirecting to URLs that contain a semicolon

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

URLs that contain a semicolon cannot be redirected to at least in MS Edge and IE10.

Take the following example...

```
# https://ad.doubleclick.net/ddm/clk/450721234;254801234;l

// After redirect...
# https://ad.doubleclick.net/ddm/clk/450721234
```

Wrapping the URL in single quotes fixes the issue ([related reading](https://www.w3.org/TR/WCAG20-TECHS/H76.html))

Commits
-------

bd0637ebe4 [HttpFoundation] Allow redirecting to URLs that contain a semicolon
2019-11-17 11:00:56 +01:00
Fabien Potencier 2b05b71999 feature #34405 [HttpFoundation] Added possibility to configure expiration time in redis session handler (mantulo)
This PR was squashed before being merged into the 4.4 branch (closes #34405).

Discussion
----------

[HttpFoundation] Added possibility to configure expiration time in redis session handler

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

Add possibility to manually configure expiration time in redis session handler.

Commits
-------

4a9d947b1a [HttpFoundation] Added possibility to configure expiration time in redis session handler
2019-11-17 11:00:25 +01:00
Vladimir 4a9d947b1a [HttpFoundation] Added possibility to configure expiration time in redis session handler 2019-11-17 11:00:20 +01:00
Fabien Potencier 3b237ceb4b bug #34397 [FrameworkBundle] Remove project dir from Translator cache vary scanned directories (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle] Remove project dir from Translator cache vary scanned directories

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

Weird cases such as having different paths for directories found through reflection (cf 8522a88185/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php (L1105)) or using different values on warmup and run for another parameter than `kernel.project_dir` are still unconvered. Unfortunately there is nothing we can do, do we care? If yes, then we might just wanna enable https://github.com/symfony/symfony/pull/34129 when the `debug` option is on.

Commits
-------

e75e01dda4 [FrameworkBundle] Remove project dir from Translator cache vary scanned directories
2019-11-17 10:57:41 +01:00
Fabien Potencier c1cab2bbc7 bug #34384 [DoctrineBridge] Improve queries parameters display in Profiler (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DoctrineBridge] Improve queries parameters display in Profiler

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

##  Stringable object:
_The query is runnable._
### Before
<img width="773" alt="Screenshot 2019-11-14 at 21 05 53" src="https://user-images.githubusercontent.com/3658119/68892948-669cf180-0724-11ea-889b-8ce781956fc7.png">

### After
<img width="780" alt="Screenshot 2019-11-14 at 20 56 38" src="https://user-images.githubusercontent.com/3658119/68892978-787e9480-0724-11ea-843b-70a595633192.png">

## Non stringable object:
_Exception, the query is not runnable._
### Before
<img width="783" alt="Screenshot 2019-11-14 at 21 05 31" src="https://user-images.githubusercontent.com/3658119/68892993-80d6cf80-0724-11ea-9961-e32b65f81508.png">

### After
<img width="622" alt="Screenshot 2019-11-14 at 20 57 17" src="https://user-images.githubusercontent.com/3658119/68893007-87fddd80-0724-11ea-98cb-2ef695135673.png">

## Error with an object:
_`ConversionException` or a `\TypeError` when you specify the type when you set the parameter but you provide an invalid value and this value is an object (eg `->setParameter('foo', new \stdClass(), 'date')`), the query is not runnable._
### Before
<img width="775" alt="Screenshot 2019-11-14 at 21 04 45" src="https://user-images.githubusercontent.com/3658119/68893078-a9f76000-0724-11ea-9e9a-bb806ffa0a73.png">

### After
<img width="821" alt="Screenshot 2019-11-14 at 20 59 23" src="https://user-images.githubusercontent.com/3658119/68893098-b24f9b00-0724-11ea-8e9d-7179725b8bc1.png">

## Error with anything else:
_`ConversionException` or a `\TypeError` when you specify the type when you set the parameter but you provide an invalid value and this value is not an object (eg `->setParameter('foo', 'bar', 'date')`), the query is not runnable._
### Before
<img width="809" alt="Screenshot 2019-11-14 at 21 05 10" src="https://user-images.githubusercontent.com/3658119/68893031-93e99f80-0724-11ea-9c23-f8d05f2dbfbb.png">

### After
<img width="832" alt="Screenshot 2019-11-14 at 20 57 54" src="https://user-images.githubusercontent.com/3658119/68893055-9d730780-0724-11ea-8ce1-a7b8946aaf94.png">

The new `runnable` key will be used in `DoctrineBundle` profiler template to hide the `View runnable query` link when the query is not runnable.

Commits
-------

fe15f51d4d [DoctrineBridge] Improve queries parameters display in Profiler
2019-11-17 10:53:37 +01:00
Thomas Calvet e75e01dda4 [FrameworkBundle] Remove project dir from Translator cache vary scanned directories 2019-11-17 10:27:11 +01:00
Mark Beech bd0637ebe4 [HttpFoundation] Allow redirecting to URLs that contain a semicolon 2019-11-17 10:18:38 +01:00
Nicolas Grekas 611f8195c8 minor #34415 Drop useless executable bit (DavidPrevot)
This PR was merged into the 4.4 branch.

Discussion
----------

Drop useless executable bit

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

Commits
-------

1883af4d4b Drop useless executable bit
2019-11-16 20:03:56 +01:00
David Prévot 1883af4d4b Drop useless executable bit 2019-11-16 08:59:35 -10:00
Thomas Calvet fe15f51d4d [DoctrineBridge] Improve queries parameters display in Profiler 2019-11-16 19:56:08 +01:00
Nicolas Grekas 1fbe6157ba bug #34408 [Cache] catch exceptions when using PDO directly (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] catch exceptions when using PDO directly

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

Commits
-------

5c1f5594f5 catch exceptions when using PDO directly
2019-11-16 18:08:55 +01:00
Christian Flothmann 5c1f5594f5 catch exceptions when using PDO directly 2019-11-16 17:52:07 +01:00
Nicolas Grekas 39910e75e7 Merge branch '3.4' into 4.3
* 3.4:
  [SecurityBundle] fix failing test
2019-11-16 16:51:32 +01:00
Nicolas Grekas eaca085aa4 [SecurityBundle] fix failing test 2019-11-16 16:50:51 +01:00
Nicolas Grekas 4ac626a482 Merge branch '4.3' into 4.4
* 4.3:
  [HttpFoundation] fix docblock
  Fix MySQL column type definition.
  Link the right file depending on the new version
  [Config] fix id-generation for GlobResource
  [Finder] Allow ssh2 stream wrapper for sftp
  [DI] Use reproducible entropy to generate env placeholders
  [WebProfilerBundle] Require symfony/twig-bundle
  bumped Symfony version to 4.3.9
  updated VERSION for 4.3.8
  updated CHANGELOG for 4.3.8
  bumped Symfony version to 3.4.36
  updated VERSION for 3.4.35
  updated CHANGELOG for 3.4.35
2019-11-16 16:22:42 +01:00
Nicolas Grekas 769aced459 Merge branch '3.4' into 4.3
* 3.4:
  Fix MySQL column type definition.
2019-11-16 16:18:16 +01:00
Nicolas Grekas 4d9b6f1bbd [HttpFoundation] fix docblock 2019-11-16 16:17:02 +01:00
Nicolas Grekas 1f73247092 bug #34411 [HttpKernel] Flatten "exception" controller argument if not typed (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Flatten "exception" controller argument if not typed

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

Fixes a BC break and makes it easier for libs to support both debug & error-handler e.g. https://github.com/api-platform/core/pull/3246#discussion_r346912822

Commits
-------

585216a8e8 [HttpKernel] Flatten "exception" controller argument if not typed
2019-11-16 15:53:20 +01:00
Robin Chalas 585216a8e8 [HttpKernel] Flatten "exception" controller argument if not typed 2019-11-16 13:16:23 +01:00
Nicolas Grekas 83a1061687 bug #34410 [HttpFoundation] Fix MySQL column type definition. (jbroutier)
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead.

Discussion
----------

[HttpFoundation] Fix MySQL column type definition.

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  |no
| Deprecations? | no
| Tickets       | Fix #34409
| License       | MIT
| Doc PR        | symfony/symfony-docs#12641

Fix wrong MySQL column type definition causing Numeric value out of range exception.

Commits
-------

51c5f69274 Fix MySQL column type definition.
2019-11-16 12:41:37 +01:00
Jérémie Broutier 51c5f69274 Fix MySQL column type definition.
Fix wrong MySQL column type definition causing Numeric value out of range exception.

Ref #34409
2019-11-16 12:41:30 +01:00
Nicolas Grekas 476042d0fb Merge branch '3.4' into 4.3
* 3.4:
  Link the right file depending on the new version
  [Finder] Allow ssh2 stream wrapper for sftp
  [WebProfilerBundle] Require symfony/twig-bundle
  bumped Symfony version to 3.4.36
  updated VERSION for 3.4.35
  updated CHANGELOG for 3.4.35
2019-11-16 10:07:40 +01:00
Nicolas Grekas d43a20a45b minor #34401 Link the right file depending on the new version (noniagriconomie)
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead.

Discussion
----------

Link the right file depending on the new version

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix url doc upgrading to 4.x
| License       | MIT

Link the right file depending on the new version

Commits
-------

7e38d83ad0 Link the right file depending on the new version
2019-11-16 09:59:41 +01:00
Antoine Makdessi 7e38d83ad0 Link the right file depending on the new version 2019-11-16 09:59:33 +01:00
Nicolas Grekas 278dcfb380 bug #34403 [Cache] Redis Tag Aware warn on wrong eviction policy (andrerom)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Cache] Redis Tag Aware warn on wrong eviction policy

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

Adds validation to make sure Redis has been setup with the supported eviction policy to avoid surprises when cache suddenly is inconsistent.

This PR replaces #34178, and instead of checking in constructor and throwing it only checks on save, warns about this and refuses to save cache as suggested on the other PR.

TODO:
- [x] ~Adapt test setups for this to set correct eviction policy~ _It already uses default noeviction_

Commits
-------

e77f6de1e8 [Cache] Redis Tag Aware warn on wrong eviction policy
2019-11-16 09:53:59 +01:00
André R e77f6de1e8 [Cache] Redis Tag Aware warn on wrong eviction policy 2019-11-16 09:53:52 +01:00
Nicolas Grekas fda36e84b3 bug #34400 [HttpKernel] collect bundle classes, not paths (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] collect bundle classes, not paths

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

Commits
-------

7824d75ac3 [HttpKernel] collect bundle classes, not paths
2019-11-16 09:51:49 +01:00
Nicolas Grekas a90de43a8e bug #34398 [Config] fix id-generation for GlobResource (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Config] fix id-generation for GlobResource

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

I never encountered any issues related to this but still, it's a fix.

Commits
-------

6adbfa2ae7 [Config] fix id-generation for GlobResource
2019-11-16 09:51:12 +01:00
Nicolas Grekas 114a4b86ac bug #34404 [HttpClient] fix HttpClientDataCollector (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix HttpClientDataCollector

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

Commits
-------

f51adc53f8 [HttpClient] fix HttpClientDataCollector
2019-11-16 09:50:26 +01:00
Nicolas Grekas f51adc53f8 [HttpClient] fix HttpClientDataCollector 2019-11-16 09:45:13 +01:00
Fabien Potencier 1382149a16 bug #34396 [Finder] Allow ssh2 stream wrapper for sftp (damienalexandre)
This PR was merged into the 3.4 branch.

Discussion
----------

[Finder] Allow ssh2 stream wrapper for sftp

Same fix as #28604 but for the ssh2.sftp wrapper.

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| 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 #28604 maybe
| License       | MIT
| Doc PR        |

Without this patch, we can't use the finder with ssh2.sftp connections.

```php
$connection = \ssh2_connect('host', 22);
\ssh2_auth_password($connection, 'user', 'pass');

$sftp = \ssh2_sftp($connection);
$path = "ssh2.sftp://".intval($sftp)."/";

$finder = new Finder();

foreach ($finder->in($path)->files() as $directory) {
    dump(file_get_contents($directory));
}
```

Without the patch:

>   RecursiveDirectoryIterator::__construct(ssh2.sftp://838): failed to open dir: operation failed

Commits
-------

e6c9d77b63 [Finder] Allow ssh2 stream wrapper for sftp
2019-11-15 21:28:25 +01:00
Fabien Potencier 1374abd6e8 minor #34399 [HttpKernel] dont check cache freshness more than once per process (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] dont check cache freshness more than once per process

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

While running some functional tests in a loop, I noticed that half the time is spent computing cache freshness. This makes no sense - this mechanism is supposed to run once per process.

Here is the Blackfire comparison:
https://blackfire.io/profiles/compare/a4f2eb44-ae85-440b-ae87-edf43c2b2ef7/graph

![image](https://user-images.githubusercontent.com/243674/68955196-c5667780-07c5-11ea-9a19-f8e765664a8e.png)

Commits
-------

7f9556ce19 [HttpKernel] dont check cache freshness more than once per process
2019-11-15 18:39:48 +01:00
Nicolas Grekas 7824d75ac3 [HttpKernel] collect bundle classes, not paths 2019-11-15 17:50:43 +01:00
Nicolas Grekas 6adbfa2ae7 [Config] fix id-generation for GlobResource 2019-11-15 16:28:20 +01:00
Nicolas Grekas 7f9556ce19 [HttpKernel] dont check cache freshness more than once per process 2019-11-15 16:26:40 +01:00
Damien Alexandre e6c9d77b63
[Finder] Allow ssh2 stream wrapper for sftp
Same fix as #28604 but for the ss2.sftp wrapper.
2019-11-15 15:28:29 +01:00
Fabien Potencier 8522a88185 bug #34383 [DI] Use reproducible entropy to generate env placeholders (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] Use reproducible entropy to generate env placeholders

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

Bound arguments typically reference env vars, which are turned into random placeholders right now.
When this randomness is used in a hash to generate the internal name of a service locator, the hash is totally random.

This breaks reproducible builds.

This PR replaces true randomness with reproducible entropy.

Commits
-------

600ae33262 [DI] Use reproducible entropy to generate env placeholders
2019-11-15 13:45:44 +01:00