Commit Graph

31732 Commits

Author SHA1 Message Date
Nicolas Eeckeloo
6ab9274638 Improve error message when defining messenger handler class that does not exists 2018-11-15 12:00:02 +01:00
Nicolas Grekas
100f2056b7 bug #29209 [VarExporter] fix handling of __sleep() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarExporter] fix handling of __sleep()

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

Commits
-------

46e2ecd5c8 [VarExporter] fix handling of __sleep()
2018-11-14 11:33:31 +01:00
Nicolas Grekas
46e2ecd5c8 [VarExporter] fix handling of __sleep() 2018-11-14 11:32:16 +01:00
Nicolas Grekas
bc03c1bebb bug #29196 [Messenger] Fix collecting messages (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Fix collecting messages

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

In 4.2 there's always one dispatched message because we provide the template with a generator. Calling `{{ gen|length }}` always returns `1`

Before

![image](https://user-images.githubusercontent.com/1047696/48368788-f0028980-e6b4-11e8-91b0-54f755b9fb93.png)

After

![image](https://user-images.githubusercontent.com/1047696/48368817-0ad4fe00-e6b5-11e8-8215-54bfdb307c47.png)

Commits
-------

bfc7d94169 [Messenger] Fix collecting messages
2018-11-14 11:19:37 +01:00
Nicolas Grekas
8cc726791d minor #29193 [WebProfilerBundle] Remove unused data attr (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Remove unused data attr

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

Actually spotted in #29192 when searching in master :)

The attribute is not used.

Commits
-------

7c593753ef [WebProfilerBundle] Remove unused data attr
2018-11-14 11:18:25 +01:00
Nicolas Grekas
8b36baf41e bug #29205 [Dotenv] skip loading "local" env twice (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] skip loading "local" env twice

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

e.g. on homestead, APP_ENV defaults to "local" :)

Commits
-------

978fcfbc03 [Dotenv] skip loading "local" env twice
2018-11-14 11:17:49 +01:00
Nicolas Grekas
adb96f631c bug #29204 [FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options (chalasr)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options

This reverts commit 9f60ff8a4d.
This reverts commit 31b5615b51.

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

Working on recipes with @weaverryan, we figured out that this deprecation is just making our life more difficult. Let's revert it.

Same as #29126, reverts #28745 and #28653

Commits
-------

443f8ad374 [FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options
2018-11-14 11:01:24 +01:00
Nicolas Grekas
8ce6f5e922 minor #29210 [Messenger] Fix typos (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Fix typos

| Q             | A
| ------------- | ---
| Branch?       | 4.2 <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Just small typos extracted from #29166 in case it doesn't make it to 4.2.

Commits
-------

7e763f96c1 [Messenger] Fix typos
2018-11-13 22:37:16 +01:00
Maxime Steinhausser
7e763f96c1 [Messenger] Fix typos 2018-11-13 22:34:14 +01:00
Nicolas Grekas
978fcfbc03 [Dotenv] skip loading "local" env twice 2018-11-13 20:27:38 +01:00
Robin Chalas
443f8ad374 [FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options
This reverts commit 9f60ff8a4d.
This reverts commit 31b5615b51.
2018-11-13 20:11:56 +01:00
Nicolas Grekas
da77fc2141 bug #29199 [FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes

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

In the recipe for fwb 4.2, we already assume that if dotenv is installed, it will be at v4.2 or higher.
Let's enforce this.

Commits
-------

0e80cc175f [FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes
2018-11-13 19:50:56 +01:00
Nicolas Grekas
0e242ab17a bug #29197 Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv()

This reverts commit 9253199de1, reversing
changes made to 664a032940.

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

Replaced by https://github.com/symfony/recipes/pull/491, see description there.

Commits
-------

f3c5fda379 Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() (chalasr)"
2018-11-13 19:50:21 +01:00
Nicolas Grekas
3778585210 bug #29183 [HttpKernel] Fix collecting uploaded files (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #29183).

Discussion
----------

[HttpKernel] Fix collecting uploaded files

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #29178
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

a439681bd4 [HttpKernel] Fix collecting uploaded files
2018-11-13 17:04:24 +01:00
Roland Franssen
a439681bd4 [HttpKernel] Fix collecting uploaded files 2018-11-13 17:04:17 +01:00
Nicolas Grekas
0e80cc175f [FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes 2018-11-13 07:51:55 +01:00
Nicolas Grekas
f3c5fda379 Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() (chalasr)"
This reverts commit 9253199de1, reversing
changes made to 664a032940.
2018-11-12 22:28:21 +01:00
Roland Franssen
bfc7d94169 [Messenger] Fix collecting messages 2018-11-12 20:08:31 +01:00
Roland Franssen
7c593753ef [WebProfilerBundle] Remove unused data attr 2018-11-12 19:12:31 +01:00
Nicolas Grekas
6eb5f93918 bug #29184 [WebProfilerBundle] Fix theme settings (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #29184).

Discussion
----------

[WebProfilerBundle] Fix theme settings

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #28932 #28935
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

8fbe85c50f [WebProfilerBundle] Fix theme settings
2018-11-12 17:46:27 +01:00
Roland Franssen
8fbe85c50f [WebProfilerBundle] Fix theme settings 2018-11-12 17:46:21 +01:00
Fabien Potencier
fb249f0b69 feature #29159 [Messenger] collect all stamps added on Envelope as collections (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] collect all stamps added on Envelope as collections

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

Late small BC break for Messenger:
 * `Envelope::all()` takes a new optional `$stampFqcn` argument and returns the stamps for the specified FQCN, or all stamps by their class name
 * `Envelope::get()` has been renamed `Envelope::last()`

This fixes the current behavior where we replace any previous stamp with the same type, which is unexpected to me as it silently loses data and more importantly blocks interesting use cases we're going to need in the near future.
Basically, that's the same as HTTP headers being allowed to exist several times: most of them make no sense as collections, but some are really useful as collections.

Commits
-------

2e9885922a [Messenger] collect all stamps added on Envelope as collections
2018-11-12 13:35:06 +01:00
Nicolas Grekas
e9470431d2 bug #29171 [Dotenv] load .env.dist when it exists and .env is not found (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] load .env.dist when it exists and .env is not found

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

As illustrated in #29170, it can be useful to opt out from the `.env` convention and fall back to defining env vars in `.env.dist` instead. This PR allows that by loading `.env.dist` when it exists and `.env` is not found.

Needs https://github.com/symfony/flex/pull/434 to work seamlessly when using Flex.

Commits
-------

841185bb9f [Dotenv] load .env.dist when it exists and .env is not found
2018-11-12 10:14:20 +01:00
Nicolas Grekas
2e9885922a [Messenger] collect all stamps added on Envelope as collections 2018-11-12 08:39:23 +01:00
Nicolas Grekas
fd74951405 Merge branch '4.1'
* 4.1:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables
  Add required key attribute
2018-11-11 20:52:12 +01:00
Nicolas Grekas
913781baac Merge branch '3.4' into 4.1
* 3.4:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables
  Add required key attribute
2018-11-11 20:51:29 +01:00
Nicolas Grekas
e32b518818 Merge branch '2.8' into 3.4
* 2.8:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  Add required key attribute
2018-11-11 20:48:54 +01:00
Nicolas Grekas
c88755899e minor #29175 Bump phpunit XSD version to 5.2 (greg0ire)
This PR was merged into the 2.8 branch.

Discussion
----------

Bump phpunit XSD version to 5.2

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

Some attributes being used in the phpunit configuration files, namely
`failOnRisky` and `failOnWarning` were introduced in phpunit 5.2.0. The
Composer configuration shows that tests should run with old versions of
phpunit, but phpunit only validates the configuration against the XSD
since phpunit 7.2.0
These changes can be tested as follows:

```
wget http://schema.phpunit.de/5.2/phpunit.xsd
xargs xmllint --schema phpunit.xsd  1>/dev/null
find src -name phpunit.xml.dist| xargs xmllint --schema phpunit.xsd  1>/dev/null
```

See 7e06a82806
See 46e3745a03/composer.json (L98)

Commits
-------

4dce4b7c30 Bump phpunit XSD version to 5.2
2018-11-11 20:39:52 +01:00
Jules Pietri
b0dab6257b [Form] Hardened test suite for empty data 2018-11-11 19:20:21 +01:00
Grégoire Paris
4dce4b7c30
Bump phpunit XSD version to 5.2
Some attributes being used in the phpunit configuration files, namely
failOnRisky and failOnWarning were introduced in phpunit 5.2.0. The
Composer configuration shows that tests should run with old versions of
phpunit, but phpunit only validates the configuration against the XSD
since phpunit 7.2.0.
These changes can be tested as follows:

wget http://schema.phpunit.de/5.2/phpunit.xsd
xargs xmllint --schema phpunit.xsd  1>/dev/null
find src -name phpunit.xml.dist| xargs xmllint --schema phpunit.xsd  1>/dev/null

See 7e06a82806
See 46e3745a03/composer.json (L98)
2018-11-11 12:18:13 +01:00
Maxime Steinhausser
61e459234b [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables 2018-11-11 12:01:26 +01:00
Florent Mata
4677bb4e4e [SecurityBundle] unhide debug security voter services 2018-11-11 11:44:36 +01:00
Nicolas Grekas
841185bb9f [Dotenv] load .env.dist when it exists and .env is not found 2018-11-11 10:03:40 +01:00
Nicolas Grekas
a4204cd685 Merge branch '4.1'
* 4.1:
  [DI] align IniFileLoader to PHP bugfix #76965
  Remove unused dependency
2018-11-10 16:16:42 +01:00
Nicolas Grekas
4b67acaa71 Merge branch '3.4' into 4.1
* 3.4:
  [DI] align IniFileLoader to PHP bugfix #76965
2018-11-10 16:16:08 +01:00
Nicolas Grekas
0ab87f44e6 [DI] align IniFileLoader to PHP bugfix #76965 2018-11-10 16:03:16 +01:00
Nicolas Grekas
1b82e563fe minor #29065 [OptionsResolver] Micro optimizations and simplifications (yceruto)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[OptionsResolver] Micro optimizations and simplifications

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/29055
| License       | MIT
| Doc PR        | -

As we know, this component has a big impact on the workflow of the `Form` component. I'm a newcomer in Blackfire, so there could be other optimizations that I can't able to see, but here we go.

For now, we've less code to maintain ![commit-changes](https://user-images.githubusercontent.com/2028198/47917083-c3619d00-de7e-11e8-826a-0c3009948d93.png) and a micro-optimizacion of performance. It'd be great if someone could try these changes in a real project to see their real value.

![orbf](https://user-images.githubusercontent.com/2028198/47915644-e2116500-de79-11e8-8648-a5e619fcd3eb.png)
![metrics](https://user-images.githubusercontent.com/2028198/47917598-61a23280-de80-11e8-9153-3ea60317f1a5.png)

https://blackfire.io/profiles/compare/a04a13d3-7f60-4434-a2b8-0762efb8fbd6/graph
https://github.com/yceruto/orbf The sample takes into account only the core extensions.

Cheers!

Commits
-------

24c2213b3d Optimizations and simplifications OMG Blackfire!
2018-11-10 11:18:01 +01:00
Vladimir Reznichenko
dc1b24a8eb SCA: use 'yield from' where it does make sense 2018-11-10 11:03:47 +01:00
Robin Chalas
bbd5682c2b [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() 2018-11-10 04:07:36 +01:00
Nicolas Grekas
664a032940 bug #29129 [Dotenv] add loadEnv(), a smoother alternative to loadForEnv() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] add loadEnv(), a smoother alternative to loadForEnv()

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

This PR replaces the `loadForEnv()` method introduced in #28533 by a new `loadEnv()` method.
- It accepts only one mandatory argument: `$path`, which is the path to the `.env` file.
- The 2nd argument is optional and defines the name of the environment variable that defines the Symfony env. This plays better with the current practice of defining the env in `.env` (`loadForEnv()` requires knowing the env before being called, leading to a chicken-n-egg situation that `loadEnv()` avoids.)
- the possibility to load several files at once is removed. We don't have a use case for it and those who do can call `loadEnv()` in a loop anyway.

In addition to $path (.env), the following files are loaded, the latter taking precedence in this order:
.env < env.local < .env.$env < .env.$env.local

Note that `loadForEnv()` used to give higher precedence to .env.local vs .env.$env.
The new behavior is aligned with [the order used by create-react-app](https://github.com/facebook/create-react-app/blob/master/docusaurus/docs/adding-custom-environment-variables.md#what-other-env-files-can-be-used). It also allows overriding the env in .env.local, which should be convenient for DX.

Last but not least, the "test" env has this special behaviors:
- `.env.local` file is skipped for the "test" env (same as before and as in create-react-app)
- ~vars defined in .env files **override** real env vars (similar to what Rails' dotenv does: you don't want your tests to randomly fail because of some real env vars)~.

Commits
-------

0cf9acb70f [Dotenv] add loadEnv(), a smoother alternative to loadForEnv()
2018-11-09 09:14:35 +01:00
Gonzalo Vilaseca
aea5ca2788 Remove unused dependency 2018-11-08 23:19:15 +01:00
Nicolas Grekas
99856a9b08 Merge branch '4.1'
* 4.1:
  fix merge
2018-11-08 23:17:22 +01:00
Nicolas Grekas
67f3a35870 fix merge 2018-11-08 23:17:11 +01:00
Nicolas Grekas
626a61093e bug #29113 [Routing] fix dumping conditions that use the request (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Routing] fix dumping conditions that use the request

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

Commits
-------

09d5be8dac [Routing] fix dumping conditions that use the request
2018-11-08 23:02:36 +01:00
Nicolas Grekas
0aa4273b39 Merge branch '4.1'
* 4.1:
  Change button_widget class to btn-primary
  [Serializer] Allow null values when denormalizing with constructor missing data
  [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
  [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
  [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 23:01:02 +01:00
Nicolas Grekas
f45252a155 Merge branch '3.4' into 4.1
* 3.4:
  Change button_widget class to btn-primary
  [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
  [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
  [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 22:56:36 +01:00
neFAST
59003bf27a Change button_widget class to btn-primary 2018-11-08 22:50:22 +01:00
Nicolas Grekas
d74a4eb2fa bug #29131 [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS

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

Since using it is not thread safe, let's not rely on it (already done in other places.)

Commits
-------

21a909a189 [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
2018-11-08 22:48:38 +01:00
Nicolas Grekas
a141ab0105 Merge branch '2.8' into 3.4
* 2.8:
  [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
  [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 22:47:40 +01:00
Nicolas Grekas
46e3745a03 bug #29057 [HttpFoundation] replace any preexisting Content-Type headers (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] replace any preexisting Content-Type headers

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

Commits
-------

de2ce58a4f [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 22:38:31 +01:00