Commit Graph

21340 Commits

Author SHA1 Message Date
Nicolas Grekas
9461750bd0 [Cache] Drop counting hit/miss in ProxyAdapter 2016-05-25 09:47:04 +02:00
Kévin Dunglas
29b4115d1a [Serializer] AbstractObjectNormalizer: be sure that isAllowedAttribute is called 2016-05-24 12:12:38 +02:00
Kévin Dunglas
58ac241c1d [Serializer] ObjectNormalizer: add missing parameters 2016-05-24 12:10:22 +02:00
Fabien Potencier
330c09b390 Merge branch '3.0' into 3.1
* 3.0:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  [Serializer] Add test for ignored attributes during denormalization
  chomp newlines only at the end of YAML documents
  Fixed server status command when port has been omitted
  Update UPGRADE FROM 2.x to 3.0
  fix removed commands wording in upgrade file
  Catch \Throwable
  Catch \Throwable
  [DependencyInjection] Avoid generating call_user_func in more cases
  [Validator] Support for DateTimeImmutable
  [FrameworkBundle] update upgrade instructions
  Use levenshtein level for better Bundle matching
  [WebProfilerBundle] Fix CORS ajax security issues
  remove methods that were needed for PHP 5.3
  [DX][DI] Make Autowiring exceptions more future friendly
2016-05-24 12:06:56 +02:00
Fabien Potencier
90dcd92691 Merge branch '2.8' into 3.0
* 2.8:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  [Serializer] Add test for ignored attributes during denormalization
  chomp newlines only at the end of YAML documents
  Fixed server status command when port has been omitted
  Update UPGRADE FROM 2.x to 3.0
  fix removed commands wording in upgrade file
  Catch \Throwable
  Catch \Throwable
  Use levenshtein level for better Bundle matching
  [WebProfilerBundle] Fix CORS ajax security issues
  [DX][DI] Make Autowiring exceptions more future friendly
2016-05-24 12:03:10 +02:00
Fabien Potencier
5cb0ad3f81 Merge branch '2.7' into 2.8
* 2.7:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  [Serializer] Add test for ignored attributes during denormalization
  chomp newlines only at the end of YAML documents
  Fixed server status command when port has been omitted
  Update UPGRADE FROM 2.x to 3.0
  Catch \Throwable
  Use levenshtein level for better Bundle matching
  [WebProfilerBundle] Fix CORS ajax security issues
2016-05-24 12:00:02 +02:00
Fabien Potencier
eac5868d20 Merge branch '2.3' into 2.7
* 2.3:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  chomp newlines only at the end of YAML documents
2016-05-24 11:57:18 +02:00
Christian Flothmann
9bdaba4801 [Yaml] fix exception contexts 2016-05-23 12:02:40 +02:00
Martin Morávek (moravek.martin)
55d9a7a732 Added people - person inflection 2016-05-23 11:06:27 +02:00
Fabien Potencier
7830fa7dbd bug #18840 [Yaml] properly handle unindented collections (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] properly handle unindented collections

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

Commits
-------

717e1a9 [Yaml] properly handle unindented collections
2016-05-23 11:02:43 +02:00
Fabien Potencier
eff863b434 bug #18765 Catch \Throwable (fprochazka)
This PR was merged into the 2.8 branch.

Discussion
----------

Catch \Throwable

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

The first commit is based on symfony/symfony#15949
Depends on symfony/symfony#18813, symfony/symfony#18812

----

I'm new to symfony, so I'm not sure where are all the places where it makes sense to actually catch the throwable and where not. I added most places that seemed logical and when I wasn't sure, I added it anyway. I'm hoping you guys (and girls?) can point out the places where the catch should not be added, I'll fix it and then I can create several PR's for the older branches. A lot of this IMHO should go also to 3.0.

Commits
-------

de671f4 Catch \Throwable
2016-05-23 11:00:59 +02:00
Fabien Potencier
f55680b3ab bug #18813 Catch \Throwable (fprochazka)
This PR was merged into the 2.7 branch.

Discussion
----------

Catch \Throwable

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

Related symfony/symfony#18765, symfony/symfony#15949
Depends on symfony/symfony#18812

Commits
-------

103526b Catch \Throwable
2016-05-23 10:58:41 +02:00
Martin Morávek (moravek.martin)
02070f9fd3 People - person singularization 2016-05-23 10:52:53 +02:00
Christian Flothmann
717e1a9e47 [Yaml] properly handle unindented collections 2016-05-22 18:07:51 +02:00
Kévin Dunglas
c2f7fedfd6 [Serializer] Add test for ignored attributes during denormalization 2016-05-22 13:47:44 +02:00
Christian Flothmann
a4b1fa6694 chomp newlines only at the end of YAML documents 2016-05-21 09:04:04 +02:00
Peter Rehm
94e4706609 Fixed server status command when port has been omitted 2016-05-20 17:00:42 +02:00
Nicolas Grekas
c73f34d2bc [Config] Allow schemed path in FileResource 2016-05-20 13:48:17 +02:00
Filip Procházka
de671f4cb2 Catch \Throwable 2016-05-19 16:01:30 +02:00
Filip Procházka
103526b40f Catch \Throwable 2016-05-19 15:58:47 +02:00
Rouven Weßling
2718a6c764 [DependencyInjection] Avoid generating call_user_func in more cases 2016-05-19 10:07:44 +02:00
Nicolas Grekas
5c3962e1b0 bug #18759 [Validator] Support for DateTimeImmutable (krzysiekpiasecki)
This PR was squashed before being merged into the 3.0 branch (closes #18759).

Discussion
----------

[Validator] Support for DateTimeImmutable

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

When validating with DateTime constraint UnexpectedTypeException is thrown for DateTimeImmutable instances.

Why PR?
- DateTimeImmutable behaves like a DateTime. Both implements the same interface DateTimeInterface.
- DateTimeInterface cannot be implemented by the client.

Commits
-------

f49659f [Validator] Support for DateTimeImmutable
2016-05-19 09:37:29 +02:00
Krzysiek Piasecki
f49659f137 [Validator] Support for DateTimeImmutable 2016-05-19 09:37:05 +02:00
Fabien Potencier
2731787e8b bug #18799 Use levenshtein level for better Bundle matching (j0k3r)
This PR was merged into the 2.7 branch.

Discussion
----------

Use levenshtein level for better Bundle matching

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

_I've targetted 2.7 branch since this was introduced in the 2.6 version but the 2.6 isn't maintain anymore._

**TL;DR:** I found unused code in bad bundle exception when Symfony try to find the best bundle to fix the typo. Should we remove that code (and got a potential lower matching bundle name) or keep it and make it work?

-----

I've noticed that a part of the code wasn't used when determining which bundle typo was written on _bad bundle exception_, from https://github.com/symfony/symfony/pull/11210.

```php
$alternative = null;
$shortest = null;
foreach ($bundleNames as $bundleName) {
    // if there's a partial match, return it immediately
    if (false !== strpos($bundleName, $nonExistentBundleName)) {
        return $bundleName;
    }

    $lev = levenshtein($nonExistentBundleName, $bundleName);
    if ($lev <= strlen($nonExistentBundleName) / 3 && ($alternative === null || $lev < $shortest)) {
        $alternative = $bundleName;
    }
}
```

In this snippet, the `$shortest` wasn't update in the `foreach`. Reading the code, I guess it was supposed to add an even better accuracy when multiple bundle matche the typo'd bundle name.

Which mean when an alternative is found, we have to assign the level `$lev` from that match to `$shortest`.

```php
if ($lev <= strlen($nonExistentBundleName) / 3 && ($alternative === null || $lev < $shortest)) {
    $alternative = $bundleName;
    $shortest = $lev;
}
```

Let say you have these bundles: `FoooooBundle` and `FooBundle` and you request the bundle `FoodBundle`.

- Without `$shortest` updated, you'll got a suggestion with `FoooooBundle` (first matching bundle found)
- With `$shortest` upadted, you'll got a suggestion with `FooBundle` (because it has a better level than `FoooooBundle`)

This isn't a _bug fix_ since this is only supposed to help developper but not the final user.

**Question is**: should we keep that level comparison or just remove it?

Commits
-------

ac7f74e Use levenshtein level for better Bundle matching
2016-05-17 20:42:59 +02:00
Nicolas Grekas
0c8358b3fe [Cache] Rename nonce to version 2016-05-17 19:16:01 +02:00
Jeremy Benoist
ac7f74ecca Use levenshtein level for better Bundle matching 2016-05-17 15:13:00 +02:00
Romain Neutron
f8dd87d7cc [WebProfilerBundle] Fix CORS ajax security issues 2016-05-16 18:19:08 +02:00
Christian Flothmann
7d9e74e340 remove methods that were needed for PHP 5.3 2016-05-14 13:18:56 +02:00
Mathieu Lemoine
834f550263 [DX][DI] Make Autowiring exceptions more future friendly 2016-05-13 15:42:47 -04:00
Fabien Potencier
7a4019bbcf bumped Symfony version to 3.1.0 2016-05-13 14:21:08 -05:00
Fabien Potencier
14d4d5837a updated VERSION for 3.1.0-BETA1 2016-05-13 13:33:36 -05:00
Fabien Potencier
918eb27afb feature #18725 [Ldap] Added the possibility to configure all available Ldap options for connection (csarrazi)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Ldap] Added the possibility to configure all available Ldap options for connection

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

This PR lets a user configure [all documented Ldap options](http://php.net/manual/fr/function.ldap-get-option.php), as well as a few undocumented ones (back-ported from the [OpenLdap C library](http://linux.die.net/man/3/ldap_set_option), as well as the [Ldap client specification](https://www.ietf.org/proceedings/50/I-D/ldapext-ldap-c-api-05.txt)).

Commits
-------

a8bae31 Added the possibility to configure all Ldap options for connection
2016-05-13 13:08:51 -05:00
Fabien Potencier
a1b2d8cf8e Merge branch '3.0'
* 3.0:
  Fix computation of PR diffs for component matrix lines
  [console][table] adjust width of colspanned cell.
  [BUG] Delete class 'control-group' in bootstrap 3
  [2.8] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  added missing constant in Response
  Update HTTP statuses list
  [Console][#18619] Prevent fatal error when calling Command#getHelper() without helperSet
  added StaticVerionStrategyTest
  Add SplFileInfo array doc on Finder iterator methods so that IDE will know what it returns
  [2.3] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  Updated the link to the list of currency codes
  Fixed DateTimeInterface comparaison
  [console][table] adjust width of colspanned cell.
2016-05-13 13:06:41 -05:00
Fabien Potencier
797e83fd2e Merge branch '2.8' into 3.0
* 2.8:
  Fix computation of PR diffs for component matrix lines
  [console][table] adjust width of colspanned cell.
  [BUG] Delete class 'control-group' in bootstrap 3
  [2.8] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  added missing constant in Response
  Update HTTP statuses list
  [Console][#18619] Prevent fatal error when calling Command#getHelper() without helperSet
  added StaticVerionStrategyTest
  Add SplFileInfo array doc on Finder iterator methods so that IDE will know what it returns
  [2.3] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  Updated the link to the list of currency codes
  [console][table] adjust width of colspanned cell.
2016-05-13 13:03:36 -05:00
Fabien Potencier
bcdf568a19 Merge branch '2.7' into 2.8
* 2.7:
  Fix computation of PR diffs for component matrix lines
  [BUG] Delete class 'control-group' in bootstrap 3
  [2.8] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
2016-05-13 13:03:14 -05:00
Fabien Potencier
219b050d30 bug #18766 Make failed autowiring error messages more explicit (lemoinem)
This PR was merged into the 3.1-dev branch.

Discussion
----------

Make failed autowiring error messages more explicit

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no (better DX integration)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #18658
| License       | MIT
| Doc PR        | N/A

@nicolas-grekas This is a port from #18691 (which was for **2.8**).
It looks like the original PR has been already mostly implemented in **master** by @weaverryan (in #17877).

IMO, this PR is still improving two use cases:

  * In case a class cannot be autowired because no service can be found AND a service cannot be registered automatically, the error message now mentions both conditions (instead of simply saying no service has been found)
  * In case a class with no service attached to it can be automatically instantiated but cannot be autowired because of further problems, an exception mentioning this is now thrown instead of the lower level exception, making the situation easier to debug. (The lower level exception is still available through `getPrevious()`)

Hence, I still think this PR provides useful additional DX features and is worth to be merged.

Commits
-------

6894e03 Make failed autowiring error messages more explicit
2016-05-13 12:58:08 -05:00
Fabien Potencier
208e6b0f9e bug #18774 [console][table] adjust width of colspanned cell. (aitboudad)
This PR was merged into the 2.8 branch.

Discussion
----------

[console][table] adjust width of colspanned cell.

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

Commits
-------

081ad73 [console][table] adjust width of colspanned cell.
2016-05-13 12:56:25 -05:00
Fabien Potencier
b5b141cf9a feature #18715 [FrameworkBundle] Default to Apcu+Filesystem cache chain (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Default to Apcu+Filesystem cache chain

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

In #16838, @dunglas benched that the filesystem cache is not the fastest one (not a surprise).
Yet, it is the default for now. I propose to replace this default by a dynamically created one that uses APCu when available (of course, we cannot do the check at container-build time), chained with the filesystem.

The benefit is double: APCu is automatically used when available without any configuration, and cache warming up is seeded by the filesystem cache so that the apcu cache can benefit from it.

Commits
-------

b9b57f9 [FrameworkBundle] Default to Apcu+Filesystem cache chain
2016-05-13 12:53:26 -05:00
Nicolas Grekas
b9b57f93cb [FrameworkBundle] Default to Apcu+Filesystem cache chain 2016-05-13 12:36:10 -05:00
Charles Sarrazin
a8bae3175f Added the possibility to configure all Ldap options for connection 2016-05-13 18:20:58 +02:00
Abdellatif Ait boudad
081ad731b6 [console][table] adjust width of colspanned cell. 2016-05-13 16:56:27 +01:00
Fabien Potencier
0469c4a380 feature #18184 [DomCrawler] Expose getter for uri (hason)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[DomCrawler] Expose getter for uri

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

Same as #18143

Commits
-------

baebdb4 [DomCrawler] Exposed getter for uri
2016-05-13 10:49:09 -05:00
Philippe Degeeter
99f61d6df3 [BUG] Delete class 'control-group' in bootstrap 3 2016-05-13 10:45:43 -05:00
Issei.M
ae38660fde [2.8] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper 2016-05-13 10:41:04 -05:00
Fabien Potencier
1253b1d344 Merge branch '2.7' into 2.8
* 2.7:
  added missing constant in Response
  Update HTTP statuses list
  [Console][#18619] Prevent fatal error when calling Command#getHelper() without helperSet
  added StaticVerionStrategyTest
  Add SplFileInfo array doc on Finder iterator methods so that IDE will know what it returns
  [2.3] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  Updated the link to the list of currency codes
  [console][table] adjust width of colspanned cell.
2016-05-13 10:38:45 -05:00
Fabien Potencier
4a065b44dd added missing constant in Response 2016-05-13 10:31:27 -05:00
Fabien Potencier
58f8f5174f Merge branch '2.3' into 2.7
* 2.3:
  Update HTTP statuses list
  [Console][#18619] Prevent fatal error when calling Command#getHelper() without helperSet
  Add SplFileInfo array doc on Finder iterator methods so that IDE will know what it returns
  [2.3] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  Updated the link to the list of currency codes
2016-05-13 10:28:37 -05:00
dasmfm
fa99fbd7cf Update HTTP statuses list 2016-05-13 10:22:39 -05:00
Robin Chalas
31285c22fa [Console][#18619] Prevent fatal error when calling Command#getHelper() without helperSet
Use Command::setHelperSet rather than Command#setHelperSet in exception msg

Simplify exception message

Add DidYouForget to exception msg
2016-05-13 10:18:46 -05:00
Fabien Potencier
f0b592bf8d feature #18654 [Bridge/Doctrine] Use better exception in the register mapping pass (dantleech)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Bridge/Doctrine] Use better exception in the register mapping pass

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

Current when this mapping pass cannot find (any of) the configured managers the user receives the following exception:

```
[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
You have requested a non-existent parameter "Could not determine the Doctrine manager. Either Doctrine is not configured or a bundle is misconfigured.".
```

Which is misleading and strange.

This PR changes the exception to an `InvalidArgumentException` and provides the following message:

```
[InvalidArgumentException]
Could not find the object manager name parameter. Tried: "cmf_routing.dynamic.persistence.orm.manager_name", "doctrine.default_entity_manager"
```

Commits
-------

0eeedee Use better exception in the register mapping pass
2016-05-13 10:14:47 -05:00