Commit Graph

21863 Commits

Author SHA1 Message Date
Nicolas Grekas
80aa8dfcfd feature #27503 [Serializer] Allow to pass a single value for the groups opt (dunglas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Allow to pass a single value for the groups opt

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- 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
| License       | MIT
| Doc PR        | todo

Shortcut syntax similar to #20509 but for the context: allows to pass a string instead of an array of string in the serialization context when only one group if used.

Before:

```php
$serializer->serialize($foo, 'json', ['groups' => ['myGroup']];

/** @ApiResource(normalizationContext={"groups"={"myGroup"}}) */
```

After:

```php
$serializer->serialize($foo, 'json', ['groups' => 'myGroup'];

/** @ApiResource(normalizationContext={"groups"="myGroup") */
```

Commits
-------

5b392030f9 [Serializer] Allow to pass a single value for the groups opt
2018-07-01 08:57:58 +02:00
Kévin Dunglas
5b392030f9
[Serializer] Allow to pass a single value for the groups opt 2018-06-30 12:35:05 +02:00
Fabien Potencier
dd6ef5bee5 feature #27715 [Serializer] Deprecate CsvEncoder as_collection false default value (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Deprecate CsvEncoder as_collection false default value

| Q             | A
| ------------- | ---
| Branch?       | master <!-- 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? | yes <!-- 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

As already expressed in https://github.com/symfony/symfony/pull/25369 and related issues, this behavior is quite counter-intuitive. It may be fine for write-API with a single document in the body but I think such CSV APIs are way less common than file-based ones, expecting collections. So I think this behavior should be opt-in explicitly in required cases, always dealing with collections by default.
This is still an arbitrary decision, but trying to make it based on use-cases and user's experience with CSV.

Note: perhaps we could find a better name for this as the semantic of setting `as_collection` to `false` to get the single row directly would not be really obvious.
Also, it could throw an exception when getting multiple rows where only one was expected.

Commits
-------

bce59c8427 [Serializer] Deprecate CsvEncoder as_collection false default value
2018-06-30 11:26:58 +02:00
Maxime Steinhausser
bce59c8427 [Serializer] Deprecate CsvEncoder as_collection false default value 2018-06-30 10:39:07 +02:00
Fabien Potencier
c52b2e9dd1 feature #27768 [VarDumper] display the signature of callables (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarDumper] display the signature of callables

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

E.g.

![capture d ecran de 2018-06-29 12-08-13](https://user-images.githubusercontent.com/243674/42087047-4fdc70d6-7b95-11e8-972c-216651bf7d69.png)

or

![image](https://user-images.githubusercontent.com/243674/42086967-070bc960-7b95-11e8-9470-7e88f8acf12a.png)

Commits
-------

73b4ac78c0 [VarDumper] display the signature of callables
2018-06-30 10:29:06 +02:00
Fabien Potencier
9bb990f835 feature #27766 [VarDumper] show proxified class on hover (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarDumper] show proxified class on hover

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

![capture d ecran de 2018-06-29 08-18-59](https://user-images.githubusercontent.com/243674/42076362-2ab0dd1c-7b75-11e8-9243-5e2f78afe870.png)

Commits
-------

955494c37d [VarDumper] show proxified class on hover
2018-06-30 10:26:35 +02:00
Nicolas Grekas
73b4ac78c0 [VarDumper] display the signature of callables 2018-06-29 18:30:33 +02:00
Nicolas Grekas
0e9ded3188 Merge branch '4.1'
* 4.1:
  [HttpFoundation] update phpdoc of FlashBagInterface::add()
  [ProxyManagerBridge] Fix support of private services (bis)
  bug #27701 [SecurityBundle] Dont throw if "security.http_utils" is not found (nicolas-grekas)
  [Form] relax fixtures for forward compat
  [Validator] Fix the namespace of RegexTest
  [Lock] fix locale dependent test case
2018-06-29 18:29:59 +02:00
Nicolas Grekas
5f0eae682f Merge branch '4.0' into 4.1
* 4.0:
  [HttpFoundation] update phpdoc of FlashBagInterface::add()
  [ProxyManagerBridge] Fix support of private services (bis)
  bug #27701 [SecurityBundle] Dont throw if "security.http_utils" is not found (nicolas-grekas)
  [Form] relax fixtures for forward compat
  [Validator] Fix the namespace of RegexTest
  [Lock] fix locale dependent test case
2018-06-29 18:29:42 +02:00
Nicolas Grekas
44b573fd2d Merge branch '3.4' into 4.0
* 3.4:
  [HttpFoundation] update phpdoc of FlashBagInterface::add()
  [ProxyManagerBridge] Fix support of private services (bis)
  bug #27701 [SecurityBundle] Dont throw if "security.http_utils" is not found (nicolas-grekas)
  [Form] relax fixtures for forward compat
  [Validator] Fix the namespace of RegexTest
  [Lock] fix locale dependent test case
2018-06-29 18:29:32 +02:00
Nicolas Grekas
493ce7a64b Merge branch '2.8' into 3.4
* 2.8:
  [HttpFoundation] update phpdoc of FlashBagInterface::add()
  bug #27701 [SecurityBundle] Dont throw if "security.http_utils" is not found (nicolas-grekas)
  [Validator] Fix the namespace of RegexTest
2018-06-29 18:28:23 +02:00
Nicolas Grekas
7f9a262e74 minor #27755 [Lock] fix locale dependent test case (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Lock] fix locale dependent test case

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

Right now, I get a failure with `Exception: Failed to extract list of opend semaphores. Expect a Semaphore status, got ------ États des sémaphores --------` :)

Commits
-------

e665da0c9a [Lock] fix locale dependent test case
2018-06-29 18:26:23 +02:00
Nicolas Grekas
1da4252262 minor #27765 [HttpFoundation] update phpdoc of FlashBagInterface::add() (sir-kain)
This PR was squashed before being merged into the 2.8 branch (closes #27765).

Discussion
----------

[HttpFoundation] update phpdoc of FlashBagInterface::add()

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

**Reason why I propose to change the docblock like this: **
The `FlashBagInterface::add()` function does not work only with the `string` type in second parameter

Commits
-------

9135e18ded [HttpFoundation] update phpdoc of FlashBagInterface::add()
2018-06-29 18:24:44 +02:00
Sir Kane
9135e18ded [HttpFoundation] update phpdoc of FlashBagInterface::add() 2018-06-29 18:24:38 +02:00
Nicolas Grekas
2258ce4357 [Form] relax fixtures for forward compat 2018-06-29 13:28:58 +02:00
Nicolas Grekas
955494c37d [VarDumper] show proxified class on hover 2018-06-29 08:20:42 +02:00
Kévin Dunglas
fe7fc44085
[Validator] Fix the namespace of RegexTest 2018-06-28 13:49:38 +02:00
Nicolas Grekas
e665da0c9a [Lock] fix locale dependent test case 2018-06-28 11:33:10 +02:00
Nicolas Grekas
d3a43b177a Merge branch '4.1'
* 4.1:
  [HttpFoundation] fix merge
2018-06-28 10:10:58 +02:00
Nicolas Grekas
fd8fd3df47 [HttpFoundation] fix merge 2018-06-28 10:10:40 +02:00
Nicolas Grekas
17977c8d0c bug #27734 [Cache] ArrayAdapter and NullAdapter don't need stampede protection (Pierre Rineau)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] ArrayAdapter and NullAdapter don't need stampede protection

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | probably
| Fixed tickets | #27734 #27731
| License       | MIT

Cf. issues.

Commits
-------

3178aed84e [Cache] ArrayAdapter and NullAdapter don't need stampede protection
2018-06-28 08:42:31 +02:00
Pierre Rineau
3178aed84e [Cache] ArrayAdapter and NullAdapter don't need stampede protection 2018-06-28 08:41:11 +02:00
Nicolas Grekas
adb137d5c1 Merge branch '4.1'
* 4.1:
  [Routing] Disallow object usage inside Route
  [HttpFoundation] missing namespace for RedisProxy
  [Routing] fix too much greediness in host-matching regex
  [HttpFoundation] fix registration of session proxies
  failing test to reproduce session problem
  [HttpFoundation] fix session tracking counter
2018-06-28 08:35:46 +02:00
Nicolas Grekas
223cf06121 Merge branch '4.0' into 4.1
* 4.0:
  [HttpFoundation] fix registration of session proxies
  failing test to reproduce session problem
  [HttpFoundation] fix session tracking counter
2018-06-28 08:35:31 +02:00
Nicolas Grekas
9aecd2b436 Merge branch '3.4' into 4.0
* 3.4:
  [HttpFoundation] fix registration of session proxies
  failing test to reproduce session problem
  [HttpFoundation] fix session tracking counter
2018-06-28 08:35:12 +02:00
Nicolas Grekas
b9a3c870d9 bug #27714 [HttpFoundation] fix session tracking counter (nicolas-grekas, dmaicher)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] fix session tracking counter

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

As just discussed with @nicolas-grekas I found this issue today while upgrading my app to 3.4.12. Somehow its not possible anymore to set caching headers correctly since this commit: 146e01cb44 (diff-5350dc763df30ada9d00563c115f6652)

Commits
-------

89ed756462 failing test to reproduce session problem
26fc4e683f [HttpFoundation] fix session tracking counter
2018-06-28 08:32:50 +02:00
Cyril PASCAL
426fb45cfb [Routing] Disallow object usage inside Route 2018-06-28 08:30:33 +02:00
Nicolas Grekas
3f4644b2f1 bug #27736 [Routing] fix too much greediness in host-matching regex (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[Routing] fix too much greediness in host-matching regex

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

Commits
-------

e16b3023c0 [Routing] fix too much greediness in host-matching regex
2018-06-28 08:27:37 +02:00
Bonfante
8e0acfc2db [HttpFoundation] missing namespace for RedisProxy 2018-06-28 08:23:50 +02:00
Nicolas Grekas
e16b3023c0 [Routing] fix too much greediness in host-matching regex 2018-06-28 07:55:37 +02:00
Nicolas Grekas
5ed40c095b [HttpFoundation] fix registration of session proxies 2018-06-28 07:25:33 +02:00
Nicolas Grekas
0c57f00ccd Merge branch '4.1'
* 4.1:
  Bump ext-mongodb to 1.5 on Travis
  Redesign the Debug error page in prod
  [DI] fix dumping deprecated service in yaml
  [Serializer] CsvEncoder::AS_COLLECTION_KEY constant
  bumped Symfony version to 4.1.2
  updated VERSION for 4.1.1
  updated CHANGELOG for 4.1.1
  bumped Symfony version to 4.0.13
  updated VERSION for 4.0.12
  updated CHANGELOG for 4.0.12
  bumped Symfony version to 3.4.13
  updated VERSION for 3.4.12
  updated CHANGELOG for 3.4.12
  bumped Symfony version to 2.8.43
  updated VERSION for 2.8.42
  update CONTRIBUTORS for 2.8.42
  updated CHANGELOG for 2.8.42
2018-06-27 23:06:44 +02:00
Nicolas Grekas
cd94ef22bf Merge branch '4.0' into 4.1
* 4.0:
  Bump ext-mongodb to 1.5 on Travis
  Redesign the Debug error page in prod
  [DI] fix dumping deprecated service in yaml
  bumped Symfony version to 4.0.13
  updated VERSION for 4.0.12
  updated CHANGELOG for 4.0.12
  bumped Symfony version to 3.4.13
  updated VERSION for 3.4.12
  updated CHANGELOG for 3.4.12
  bumped Symfony version to 2.8.43
  updated VERSION for 2.8.42
  update CONTRIBUTORS for 2.8.42
  updated CHANGELOG for 2.8.42
2018-06-27 23:05:46 +02:00
Nicolas Grekas
cbfb7a7495 Merge branch '3.4' into 4.0
* 3.4:
  Bump ext-mongodb to 1.5 on Travis
  Redesign the Debug error page in prod
  [DI] fix dumping deprecated service in yaml
  bumped Symfony version to 3.4.13
  updated VERSION for 3.4.12
  updated CHANGELOG for 3.4.12
  bumped Symfony version to 2.8.43
  updated VERSION for 2.8.42
  update CONTRIBUTORS for 2.8.42
  updated CHANGELOG for 2.8.42
2018-06-27 23:04:32 +02:00
David Maicher
89ed756462 failing test to reproduce session problem 2018-06-27 13:46:59 +02:00
Nicolas Grekas
26fc4e683f [HttpFoundation] fix session tracking counter 2018-06-27 13:36:49 +02:00
Fabien Potencier
0252a00311 feature #27499 Improved an error message related to controllers (javiereguiluz)
This PR was squashed before being merged into the 4.2-dev branch (closes #27499).

Discussion
----------

Improved an error message related to controllers

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

This proposal is irrelevant for experienced users but it may be useful for newcomers. After having delivered several introductory Symfony training, I can say that when someone adds `return "some string...";` in their controller, the error message is confusing:

![before](https://user-images.githubusercontent.com/73419/40959468-0faf790a-689d-11e8-9ce1-f6e0caf4b113.png)

Maybe we can reword it a bit? (I'm open for suggestions to improve the error message)

![after](https://user-images.githubusercontent.com/73419/40959505-29747070-689d-11e8-834e-92bf18760469.png)

Commits
-------

7510c3a335 Improved an error message related to controllers
2018-06-27 11:26:40 +02:00
Javier Eguiluz
7510c3a335 Improved an error message related to controllers 2018-06-27 11:25:38 +02:00
Fabien Potencier
1a3d445ec5 feature #26300 [PropertyInfo] Implement "Collection" types in PhpDocExtractor (popy-dev)
This PR was squashed before being merged into the 4.2-dev branch (closes #26300).

Discussion
----------

[PropertyInfo] Implement "Collection" types in PhpDocExtractor

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

Here's a proposition of implementation of my feature request #26299 :
I added few tests covering the requested feature, and I had to change a few things in the ```Symfony\Component\PropertyInfo\Util\PhpDocTypeHelper``` class (createType no longer gets a string, but a ```phpDocumentor\Reflection\Type``` instance) to be able to detect properly Collections and their subtypes.

Of course a simpler implementation is possible, without changing the PhpDocTypeHelper internal behaviour, by matching the input string against ```/^([^>]+)</``` and extracting the classname alone.

Commits
-------

12bafe46d0 [PropertyInfo] Implement \"Collection\" types in PhpDocExtractor
2018-06-26 18:34:19 +02:00
Pierre Dudoret
12bafe46d0 [PropertyInfo] Implement \"Collection\" types in PhpDocExtractor 2018-06-26 18:34:11 +02:00
Javier Eguiluz
7b9b1b9022 Redesign the Debug error page in prod 2018-06-26 10:45:54 +02:00
Nicolas Grekas
3d8490e59c Merge branch '2.8' into 3.4
* 2.8:
  [DI] fix dumping deprecated service in yaml
  bumped Symfony version to 2.8.43
  updated VERSION for 2.8.42
  update CONTRIBUTORS for 2.8.42
  updated CHANGELOG for 2.8.42
2018-06-26 10:26:17 +02:00
Nicolas Grekas
411be25aba [DI] fix dumping deprecated service in yaml 2018-06-26 10:00:00 +02:00
Fabien Potencier
2b9c142f07 feature #26946 [WebProfilerBundle] Display uploaded files in the profiler (javiereguiluz)
This PR was squashed before being merged into the 4.2-dev branch (closes #26946).

Discussion
----------

[WebProfilerBundle] Display uploaded files in the profiler

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

![profiler_files](https://user-images.githubusercontent.com/73419/38807087-ac1e9bac-417b-11e8-99e0-317b437c986e.png)

Note: I wanted to use the VarDumper to display the table information (as we do in the rest of tables) but I had lots of problems and I just wanted to create a proof of concept for the feature to see if we like it.

Commits
-------

3f6f75bc12 [WebProfilerBundle] Display uploaded files in the profiler
2018-06-25 19:10:15 +02:00
Javier Eguiluz
3f6f75bc12 [WebProfilerBundle] Display uploaded files in the profiler 2018-06-25 19:10:04 +02:00
Fabien Potencier
21a3439a29 feature #27476 [Config] deprecate tree builders without root nodes (xabbuh)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Config] deprecate tree builders without root nodes

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

While reviewing #27472 I wondered if we really need support config trees without a root node. If we did not support it, users wouldn't create pseudo configuration classes when they were actually not needed.

Commits
-------

c2ce15301c deprecate tree builders without root nodes
2018-06-25 19:06:32 +02:00
Fabien Potencier
d871473ef2 feature #27586 [PropertyAccess] Add Property Path to Exception Message (rodnaph)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[PropertyAccess] Add Property Path to Exception Message

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

When an exception is thrown writing a property it is not currently obvious which path is at fault (eg. `Expected argument of type "%s", "%s" given` - but where?). This patch appends the current property path to the exception so it is clear which path caused the error (eg. `Expected argument of type "%s", "%s" given at property path "foo.bar"`)

Commits
-------

473a025643 add property path to exception message when error writing property
2018-06-25 18:57:23 +02:00
Maxime Steinhausser
660a456d6f [Serializer] CsvEncoder::AS_COLLECTION_KEY constant 2018-06-25 18:22:54 +02:00
Fabien Potencier
e32b9650cb bumped Symfony version to 4.1.2 2018-06-25 15:32:41 +02:00
Fabien Potencier
c02e5001ba updated VERSION for 4.1.1 2018-06-25 15:06:45 +02:00