Commit Graph

14445 Commits

Author SHA1 Message Date
Anton A. Sumin
43297b45de Fixed pathinfo calculation for requests starting with a question mark. 2017-03-22 13:27:21 -07:00
Fabien Potencier
d562cacf44 bug #21846 [HttpFoundation] Fix Request::getHost() when having several hosts in X_FORWARDED_HOST (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Fix Request::getHost() when having several hosts in X_FORWARDED_HOST

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

The first "host" in the list provided by `X_FORWARDED_HOST` should be the one, not the last.
Already the case for "port" and "scheme".

Commits
-------

9a2b2de64f [HttpFoundation] Fix Request::getHost() when having several hosts in X_FORWARDED_HOST
2017-03-22 13:01:02 -07:00
Claudio Zizza
4bd2c22871 [Validator] Add object handling of invalid constraints in Composite 2017-03-22 12:05:13 -07:00
Fabien Potencier
f9b64a206b minor #22099 HttpCache: New test for revalidating responses with an expired TTL (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #22099).

Discussion
----------

HttpCache: New test for revalidating responses with an expired TTL

| 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        |

See #22035, in particular [this and the following comments](https://github.com/symfony/symfony/pull/22035#issuecomment-287572234).

Commits
-------

067ab52ba0 HttpCache: New test for revalidating responses with an expired TTL
2017-03-21 15:46:55 -07:00
Matthias Pigulla
067ab52ba0 HttpCache: New test for revalidating responses with an expired TTL 2017-03-21 15:46:50 -07:00
Fabien Potencier
bca4778ef1 bug #22044 [Serializer] [XML] Ignore Process Instruction (jordscream)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] [XML] Ignore Process Instruction

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

This Pull request ignores Process instruction data in XML for decoding the data.

Commits
-------

0c741f5704 [Serializer] [XML] Ignore Process Instruction
2017-03-21 15:20:34 -07:00
Jordan Samouh
0c741f5704 [Serializer] [XML] Ignore Process Instruction 2017-03-21 23:11:30 +01:00
Fabien Potencier
65260bc346 minor #22066 fix some risky tests (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

fix some risky tests

| 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        |

PHPUnit 6 marks tests as risky when they have no assertions (and are not marked as skipped or incomplete). This PR will update our test suite accordingly.

Component that still need to be covered:

- [ ] Config
- [ ] Form
- [ ] HttpFoundation
- [ ] Security
- [ ] Workflow

Commits
-------

abf1787dcc fix some risky tests
2017-03-21 14:36:30 -07:00
Fabien Potencier
8ba279bc22 minor #22015 [Security] Added option to return true in the method isRememberMeRequested (WhiteEagle88)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Added option to return true in the method isRememberMeRequested

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

Replaces #21989

Commits
-------

522ec3ef0c [Security] Added option to return true in the method isRememberMeRequested
2017-03-21 07:31:45 -07:00
Martin Auswöger
f50915066f [HttpKernel] Fixed bug with purging of HTTPS URLs 2017-03-20 17:24:37 -07:00
Christian Flothmann
abf1787dcc fix some risky tests 2017-03-20 16:03:41 +01:00
Fabien Potencier
2ba564d984 minor #22012 [DI] [YamlFileLoader] change error message of a non existing file (jordscream)
This PR was squashed before being merged into the 2.7 branch (closes #22012).

Discussion
----------

[DI] [YamlFileLoader] change error message of a non existing file

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

This PR replaces the error message when non existing Yaml file is loaded. It gives more sense for the user.

Commits
-------

1c2ea97585 [DI] [YamlFileLoader] change error message of a non existing file
2017-03-20 07:02:55 -07:00
Jordan Samouh
1c2ea97585 [DI] [YamlFileLoader] change error message of a non existing file 2017-03-20 07:02:54 -07:00
Nicolas Grekas
3185dc9c8f [Yaml] CS 2017-03-20 10:41:03 +01:00
Christian Flothmann
923bbdbf9f [Security] simplify the SwitchUserListenerTest 2017-03-17 23:55:35 +01:00
Fabien Potencier
ab1d9383b9 bug #21523 #20411 fix Yaml parsing for very long quoted strings (RichardBradley)
This PR was squashed before being merged into the 2.7 branch (closes #21523).

Discussion
----------

#20411 fix Yaml parsing for very long quoted strings

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

This is a second fix for the issue discussed in #20411. My first PR (#21279) didn't fix the bug in all cases, sorry.

If a YAML string has too many spaces in the value, it can trigger a `PREG_BACKTRACK_LIMIT_ERROR` error in the Yaml parser.

There should be no behavioural change other than the bug fix

I have included a test which fails before this fix and passes after this fix.

I have also added checks that detect other PCRE internal errors and throw a more descriptive exception. Before this patch, the YAML engine would often give incorrect results, rather than throwing, on a PCRE `PREG_BACKTRACK_LIMIT_ERROR` error.

Commits
-------

c9a1c09182 #20411 fix Yaml parsing for very long quoted strings
2017-03-17 09:20:26 -07:00
Richard Bradley
c9a1c09182 #20411 fix Yaml parsing for very long quoted strings 2017-03-17 09:20:23 -07:00
Dmytro Boiko
522ec3ef0c [Security] Added option to return true in the method isRememberMeRequested 2017-03-16 00:06:02 +02:00
Fabien Potencier
dd8e50baa1 minor #21994 Use PHP functions as array_map callbacks when possible (javiereguiluz)
This PR was merged into the 2.7 branch.

Discussion
----------

Use PHP functions as array_map callbacks when possible

| 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        | -

We already do that in 99% of the cases ... but there were 3 occurrences where we didn't do it.

Commits
-------

405bd4cc81 Use PHP functions as array_map callbacks when possible
2017-03-14 12:43:03 -07:00
Fabien Potencier
26198cf60a bug #21981 [Console] Use proper line endings in BufferedOutput (julienfalque)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Use proper line endings in BufferedOutput

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

`BufferOutput` should be consistent with `StreamOutput` when writing newlines.

I faced an issue using this class in tests where the expected output was platform dependent (using `PHP_EOL` too).

Commits
-------

33946e69c0 Use proper line endings
2017-03-14 11:38:54 -07:00
Javier Eguiluz
405bd4cc81 Use PHP functions as array_map callbacks when possible 2017-03-14 12:32:10 +01:00
Christian Flothmann
86e8afaea0 [Validator] revert wrong Phpdoc change 2017-03-14 09:04:19 +01:00
Julien Falque
33946e69c0
Use proper line endings 2017-03-13 08:27:40 +01:00
Nicolas Grekas
6831b984e1 [VarDumper] ExceptionCaster robustness fix 2017-03-12 17:00:52 +01:00
Fred Cox
ed211e9c74 [Form] Choice type int values (BC Fix) 2017-03-10 11:10:39 -08:00
Guilhem Niot
5107b94baf
[Yaml] Fix the tests 2017-03-06 21:37:41 +01:00
Christian Flothmann
3a7cd08fe7 respect the umask argument in dumpFile() 2017-03-06 19:56:39 +01:00
ChS
040a9abdbf dumpFile(), preserve existing file permissions 2017-03-06 10:29:45 -08:00
Fabien Potencier
3effed88e0 bug #21865 [Security] context listener: hardening user provider handling (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] context listener: hardening user provider handling

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

After the wrong fix in #21791 this is the second attempt to solve #4498. If more than one user provider support the user for the current context, all of them will be applied instead of returning prematurely when the first user provider does not find the logged in user.

Commits
-------

0fb09293fd context listener: hardening user provider handling
2017-03-06 08:15:02 -08:00
Fabien Potencier
ec134c7014 bug #21883 [HttpKernel] fix Kernel name when stored in a directory starting with a number (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] fix Kernel name when stored in a directory starting with a number

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

replaces #20750

Commits
-------

f244eb8414 [HttpKernel] fixed Kernel name when stored in a directory starting with a number
2017-03-06 07:51:41 -08:00
Pierre du Plessis
4013e7b998 Add validate method to mockec validator in form TypeTestCase 2017-03-06 09:20:15 +02:00
Fabien Potencier
7311ef36e9 bumped Symfony version to 2.7.26 2017-03-05 18:34:03 -08:00
Fabien Potencier
cb24ce3b52 updated VERSION for 2.7.25 2017-03-05 17:33:35 -08:00
Fabien Potencier
f244eb8414 [HttpKernel] fixed Kernel name when stored in a directory starting with a number 2017-03-05 14:37:48 -08:00
Fabien Potencier
4816f65c04 minor #21882 [Form] Fixed typo in a test after #21877 (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed typo in a test after #21877

| 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        | ~

Reviewing the diff on GitHub, I realized I've missed some typos in a new test of #21877. Sorry!

Commits
-------

b21a0978de [Form] Fixed typo in a test after #21877
2017-03-05 11:48:05 -08:00
Fabien Potencier
511e0c372a minor #21868 [Form] backport DependencyInjectionExtension tests (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] backport DependencyInjectionExtension tests

| 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        |

Commits
-------

97361f1815 [Form] backport DependencyInjectionExtension tests
2017-03-05 11:42:52 -08:00
Christian Flothmann
97361f1815 [Form] backport DependencyInjectionExtension tests 2017-03-05 20:15:18 +01:00
HeahDude
b21a0978de [Form] Fixed typo in a test after #21877 2017-03-05 20:10:06 +01:00
Fabien Potencier
ea8025b863 minor #21877 [Form] Hardened form type tests (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Hardened form type tests

| 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        | ~

This one the PRs to come targeting 2.7 needed to harden the code base before doing some changes in master.

It takes care of the form types tests part (even if some other tests will be added later, it will also be easier after it), and unlocks merging https://github.com/symfony/symfony/pull/21481.
It also back ports tests added in https://github.com/symfony/symfony/pull/18357 for the TextType.

Since it's very hard to merge branches when modifying tests because of BC, and making every test type extend the base type test would involve many function calls to get the tested type, the function `getTestedType` is no longer abstract and return a constant to override instead, it's much better for performance, I didn't change the call in the base type test to keep BC but I suggest to deprecate it in master. Even if those are tests I really think it is worth keeping BC here.

The constants also ease testing in the ecosystem of form related libraries that need to be compatible with Symfony 2.7 and 3. I think using "test" as both prefix and suffix on namespaces, classes and names of the constants should discourage using them in real application code. Since this is just about our test suite, I don't think this should be considered a feature, so tis change should be good for 2.7.

Two other PRs will follow to solve conflicts in 2.8 and 3.2.

I missed last month patches, I hope I won't this time :).

Commits
-------

8cfc3e92ed [Form] Hardened form type tests
2017-03-05 09:34:46 -08:00
Fabien Potencier
69bb7582ad bug #21671 [Serializer] Xml encoder throws exception for valid data (gr1ev0us)
This PR was squashed before being merged into the 2.7 branch (closes #21671).

Discussion
----------

[Serializer] Xml encoder throws exception for valid data

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

#21617  Xml encoder throws exception for valid data

- add tests for bool and object encoding
- fix encoding for object in array and field

Commits
-------

5c2d4c671e [Serializer] Xml encoder throws exception for valid data
2017-03-05 09:23:36 -08:00
gr1ev0us
5c2d4c671e [Serializer] Xml encoder throws exception for valid data 2017-03-05 09:23:23 -08:00
HeahDude
8cfc3e92ed [Form] Hardened form type tests 2017-03-05 17:53:01 +01:00
Fabien Potencier
fd94048285 fixed CS 2017-03-04 06:54:02 -08:00
Christian Flothmann
0fb09293fd context listener: hardening user provider handling 2017-03-04 13:36:23 +01:00
Nicolas Grekas
d75ca7fa44 minor #21864 [Security] fix Composer constraint (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] fix Composer constraint

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

The `MAX_USERNAME_LENGTH` constant introduced by #18733 that is used in the `UsernamePasswordFormAuthenticationListener` was first part of Symfony 2.7.13 and 2.8.6.

Commits
-------

69a572d [Security] fix Composer constraint
2017-03-04 13:01:21 +01:00
Christian Flothmann
69a572dc5d [Security] fix Composer constraint 2017-03-04 12:40:30 +01:00
Nicolas Grekas
af40fd789c minor #21862 [Security] fix test class location (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] fix test class location

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

Keeping the test file in the old location means that it is not available in the `symfony/security-http` subtree split.

Commits
-------

1ed0092 fix test class location
2017-03-04 11:57:10 +01:00
Daniel Wehner
1d43007f3c Provide less state in getRequestFormat 2017-03-04 11:53:31 +01:00
Christian Flothmann
1ed0092a62 fix test class location 2017-03-04 11:20:42 +01:00
Vladimir Reznichenko
e1773ee2b8 Static code analysis with Php Inspections (EA Extended): dead code dropped, couple bugs fixed 2017-03-03 17:35:37 +01:00
Nicolas Grekas
9a2b2de64f [HttpFoundation] Fix Request::getHost() when having several hosts in X_FORWARDED_HOST 2017-03-03 11:02:41 +01:00
Fabien Potencier
cb12e323a5 minor #21814 fixed CS (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

fixed CS

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

Commits
-------

ad0bb6ac53 fixed CS
2017-03-02 13:32:57 -08:00
Fabien Potencier
c579b96cef bug #21832 [Routing] Ignore hidden directories when loading routes from annotations (jakzal)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Ignore hidden directories when loading routes from annotations

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

The problem surfaced after implementing #18869. Therefore it doesn't exist on 2.7, but I'd still merge it there to avoid conflicts when merging between branches. Without this fix, the oldest branch the added test will fail is 3.2.

Commits
-------

ce9df0237c [Routing] Ignore hidden directories when loading routes from annotations
2017-03-02 07:54:09 -08:00
foaly-nr1
e50804cef4 [Form] Improve rounding precision 2017-03-02 07:52:21 -08:00
Jakub Zalas
ce9df0237c
[Routing] Ignore hidden directories when loading routes from annotations 2017-03-02 14:51:26 +00:00
Fabien Potencier
ad0bb6ac53 fixed CS 2017-03-01 11:43:24 -08:00
Fabien Potencier
a786b5aaaf revert typo fix 2017-03-01 06:59:13 -08:00
Fabien Potencier
817524889c bug #21267 [Form] Fix ChoiceType to ensure submitted data is not nested unnecessarily (issei-m)
This PR was squashed before being merged into the 2.7 branch (closes #21267).

Discussion
----------

[Form] Fix ChoiceType to ensure submitted data is not nested unnecessarily

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

Fixed ChoiceType to protect against some problem caused by treating of array.

Let's say we have the choice-form like:

```php
$form = $factory->create(ChoiceType, null, [
    'choices' => [
        'A',
        'B',
        'C',
    ],
    'expanded' => true,
    'multiple' => true,
]);
```

Then, submit data like this:

```php
$form->submit([
    [], // unnecessality nested
]);
```

(Yes, I agree in most cases these situation doesn't happen, but can be)

Then, we get `array_flip(): Can only flip STRING and INTEGER values!` error at [here](6babdb3296/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php (L114)).
Even if form is not `multiple`, annoying `Array to string conversion` error occurs in [here](6babdb3296/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php (L144)) (via [ChoicesToValuesTransformer](5129c4cf7e/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php (L74))).
(As far as I know, non-multiple and non-expanded form has no problem, thanks to [ChoiceToValueTransformer](6babdb3296/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php (L43)))

To resolve these problems, I just added a simple-validation listener to choice type.

Commits
-------

64d7a82d28 [Form] Fix ChoiceType to ensure submitted data is not nested unnecessarily
2017-03-01 06:57:41 -08:00
Issei.M
64d7a82d28 [Form] Fix ChoiceType to ensure submitted data is not nested unnecessarily 2017-03-01 06:57:38 -08:00
Fabien Potencier
0a15eea264 minor #21650 [Yaml] add tests for specific mapping keys (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] add tests for specific mapping keys

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | see https://github.com/symfony/symfony/pull/21643#discussion_r101703130
| License       | MIT
| Doc PR        |

Commits
-------

b8e0d705f6 [Yaml] add tests for specific mapping keys
2017-03-01 06:39:50 -08:00
Fabien Potencier
ffc1cd507b bug #21731 Fix emacs link (rubenrua)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix emacs link

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

When an Emacs buffer is modified, by default Emacs automatically creates a
temporary symlink in the same directory as the file being edited (e.g. Controller.php):

```
.#Controller.php -> user@host.12345:1296583136
```

where '12345' is [the Emacs' PID][1].

In this case Symfony breaks with a RuntimeException:

```
SplFileInfo::getMTime(): stat failed for ...Bundle/Controller/.#APIController.php
```

in
vendor/symfony/symfony/src/Symfony/Component/Config/Resource/DirectoryResource.php
at line 89

```
$newestMTime = max($file->getMTime(), $newestMTime);
```

[1]: https://www.gnu.org/software/emacs/manual/html_node/emacs/Interlocking.html

Commits
-------

c6f7ca6fa1 Fix RuntimeException when an Emacs buffer is modified
2017-03-01 06:05:48 -08:00
Julien Falque
8530e05574
Test inline styles with non-decorated formatter 2017-02-28 19:03:12 +01:00
Romain Neutron
e473aa8bc1
[2.7] Fix issues reported by static analyse 2017-02-28 14:08:19 +01:00
Nicolas Grekas
0f353ad6c9 minor #21754 [Serializer] Reduce nesting in YamlFileLoader (gadelat)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Reduce nesting in YamlFileLoader

| 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        | -

We don't need to check if $this->classes is empty, because isset takes care of it in next call anyway

Diffs on GH are hard to read for this type of change, here is old and new code:

```php
public function loadClassMetadata(ClassMetadataInterface $classMetadata)
{
    if (null === $this->classes) {
        $this->classes = $this->getClassesFromYaml();
    }

    if (!$this->classes) {
        return false;
    }

    if (isset($this->classes[$classMetadata->getName()])) {
        $yaml = $this->classes[$classMetadata->getName()];

        if (isset($yaml['attributes']) && is_array($yaml['attributes'])) {
           ...
        }

        return true;
    }

    return false;
}
```

```php
public function loadClassMetadata(ClassMetadataInterface $classMetadata)
{
    if (null === $this->classes) {
        $this->classes = $this->getClassesFromYaml();
    }

    if (!isset($this->classes[$classMetadata->getName()])) {
        return false;
    }

    $yaml = $this->classes[$classMetadata->getName()];

    if (isset($yaml['attributes']) && is_array($yaml['attributes'])) {
        ...
    }

    return true;
}
```

Commits
-------

45f0b16 [Serializer] Reduce nesting in YamlFileLoader
2017-02-28 13:57:37 +01:00
rubenrua
c6f7ca6fa1 Fix RuntimeException when an Emacs buffer is modified
When an Emacs buffer is modified, by default Emacs automatically creates a
temporary symlink in the same directory as the file being edited (e.g. Controller.php):

```
.#Controller.php -> user@host.12345:1296583136
```

where '12345' is Emacs' PID.

In this case Symfony breaks with a RuntimeException:

```
SplFileInfo::getMTime(): stat failed for ...Bundle/Controller/.#APIController.php
```

in
vendor/symfony/symfony/src/Symfony/Component/Config/Resource/DirectoryResource.php
at line 89

```
$newestMTime = max($file->getMTime(), $newestMTime);
```
2017-02-28 12:10:07 +01:00
Hugo Hamon
b7b7c5433a [DependencyInjection] inline conditional statements. 2017-02-28 10:12:48 +01:00
Fabien Potencier
70be4ba3ca minor #21790 [Intl] Update ICU data to 58.2 (jakzal)
This PR was squashed before being merged into the 2.7 branch (closes #21790).

Discussion
----------

[Intl] Update ICU data to 58.2

| 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        | -

ICU 58.2 was released: http://site.icu-project.org/download/58

Commits
-------

d135e5cd2f [Intl] Make tests pass after the ICU data update
65faa1043d [Intl] Update ICU data to 58.2
2017-02-27 13:58:46 -08:00
Gabriel Ostrolucký
45f0b16b78 [Serializer] Reduce nesting in YamlFileLoader 2017-02-27 22:43:30 +01:00
Jakub Zalas
d135e5cd2f
[Intl] Make tests pass after the ICU data update 2017-02-27 19:39:35 +00:00
Jakub Zalas
65faa1043d
[Intl] Update ICU data to 58.2 2017-02-27 19:39:27 +00:00
Hugo Hamon
158b689e76 [DependencyInjection] removed dead code. 2017-02-27 16:11:02 +01:00
Gabriel Ostrolucký
d9674401de [Yaml] Stop replacing NULLs when merging 2017-02-25 19:32:58 +01:00
Dany Maillard
e305369f98 [ExpressionLanguage] Registering functions after calling evaluate(), compile() or parse() is not supported 2017-02-22 14:24:23 -08:00
Nicolas Grekas
96ecd3c798 Use PHPUnit 6.0 on PHP 7.* test lines 2017-02-21 14:43:45 +01:00
Peter Rehm
de8106fea6 Further refactorings to PHPUnit namespaces 2017-02-21 09:32:25 +01:00
Nicolas Grekas
3e83e02f2c Add missing conflict rules for phpunit 2017-02-20 13:48:07 +01:00
Gabriel Ostrolucký
32fcd91397 [Serializer] Removed duplicate operation in camelcase denormalization 2017-02-19 15:30:59 -08:00
Fabien Potencier
eb0ffaaee7 bug #21115 [Validator] do not guess getter method names (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] do not guess getter method names

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

Commits
-------

bd3a90a0c3 [Validator] do not guess getter method names
2017-02-19 14:49:47 -08:00
Fabien Potencier
245eaa8fa2 fixed Composer constraints 2017-02-18 10:28:08 -08:00
David Buchmann
15da53ca9f purge both http and https from http cache store 2017-02-18 09:59:47 -08:00
Peter Rehm
ddd2dff9b2 Update to PHPUnit namespaces 2017-02-18 08:02:39 -08:00
Christian Flothmann
b8e0d705f6 [Yaml] add tests for specific mapping keys 2017-02-17 14:54:22 +01:00
Fabien Potencier
68d6415955 Revert "bug #21436 [DependencyInjection] check for circular refs caused by method calls (xabbuh)"
This reverts commit 3441b1586f, reversing
changes made to d1f4cb27fd.
2017-02-16 14:39:07 -08:00
Fabien Potencier
a5c099c829 minor #21537 Static code analysis with Php Inspections (EA Extended) (kalessil)
This PR was squashed before being merged into the 2.7 branch (closes #21537).

Discussion
----------

Static code analysis with Php Inspections (EA Extended)

| 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        | --

- Unnecessary proxy methods and methods duplicating  parents ones removed;
- Type casings instead of PHP4 functions;
- Usage of copy instead of file combining file get/put contents;
- One time use variables cleaned up;
- Superfluous functions calls in loop termination conditions fixed;

Commits
-------

3feeca74d0 Static code analysis with Php Inspections (EA Extended)
2017-02-16 14:27:03 -08:00
Vladimir Reznichenko
3feeca74d0 Static code analysis with Php Inspections (EA Extended) 2017-02-16 14:26:15 -08:00
Fabien Potencier
38490dac21 bug #21634 [VarDumper] Added missing persistent stream cast (lyrixx)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Added missing persistent stream cast

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

Commits
-------

cab9f7eb8f [VarDumper] Added missing persistent stream cast
2017-02-16 11:29:17 -08:00
Grégoire Pineau
cab9f7eb8f [VarDumper] Added missing persistent stream cast 2017-02-16 18:03:48 +01:00
Fabien Potencier
3441b1586f bug #21436 [DependencyInjection] check for circular refs caused by method calls (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] check for circular refs caused by method calls

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

Before we check for circular references, dependencies coming from method calls are not part of the dependency graph. That why the pass is not able to detect circular references like the one described in #19362 during compilation of the container.

If we add another check after all the optimisation passes have been processed, we should be able to detect these circular references too.

Commits
-------

fe4f7eccf7 check for circular refs caused by method calls
2017-02-16 05:23:11 -08:00
Fabien Potencier
d1f4cb27fd bug #21400 [Serializer] fix upper camel case conversion (see #21399) (markusu49)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] fix upper camel case conversion (see #21399)

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

Improve upper camel case support of CamelCaseToSnakeCaseConverter (`ThisIsATest` now converts to `this_is_a_test` instead of `_this_is_a_test`).

Commits
-------

81e771ca1a [Serializer] fix upper camel case conversion (see #21399)
2017-02-16 05:20:16 -08:00
Fabien Potencier
be854e16d5 bug #21599 [Console][Table] fixed render when using multiple rowspans. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console][Table] fixed render when using multiple rowspans.

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

Commits
-------

17e459e688 [Console][Table] fixed render when using multiple rowspans.
2017-02-16 04:36:16 -08:00
Bilge
412db4ca51 Permit empty suffix on Windows 2017-02-16 04:33:37 -08:00
Abdellatif Ait boudad
17e459e688 [Console][Table] fixed render when using multiple rowspans. 2017-02-14 19:10:22 +00:00
Fabien Potencier
be691d5e70 minor #21028 [Console] Updated phpdoc on return types (mlpo)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Updated phpdoc on return types

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

The return type of “ask” is not necessarily a string (notice that “doAsk” may return mixed type).
Same for “validateAttempts” (validator may return something else than a string).

Commits
-------

442a304292 [Console] Updated phpdoc on return types
2017-02-14 19:34:00 +01:00
Fabien Potencier
ff75e32e45 bug #21057 [DI] Auto register extension configuration classes as a resource (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] Auto register extension configuration classes as a resource

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

Auto-register an extension configuration class as a resource from a compiler pass; not implicitly by the base extension class.

Causing some extensions to register its configuration, whereas others dont (e.g. framework bundle).

Fixes consistent cache invalidation whenever a configuration definition changes.

Commits
-------

142416b7d4 [DI] Auto register extension configuration classes as a resource
2017-02-14 19:31:46 +01:00
Fabien Potencier
5c07ffada7 bug #21592 [Validator] property constraints can be added in child classes (angelk, xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] property constraints can be added in child classes

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

This reverts the changes done in #21053 (and applies the test written by @angelk in #21538). I think trying to "fix" #15950 with the changes from #21053 was a mistake. Child classes should be able to refine validation constraints (I basically agree with @ro0NL's reasoning in https://github.com/symfony/symfony/issues/21567#issuecomment-278729990.

Commits
-------

9513a8aa52 property constraints can be added in child classes
a266ff799c added test for staticClassLoader in LazyLoadingMetadatafactory
2017-02-13 19:48:02 +01:00
Christian Flothmann
9513a8aa52 property constraints can be added in child classes 2017-02-13 18:37:45 +01:00
po_taka
a266ff799c added test for staticClassLoader in LazyLoadingMetadatafactory 2017-02-13 18:37:45 +01:00
Fabien Potencier
2c302cee19 bug #21458 [Config] Early return for DirectoryResource (robfrawley)
This PR was squashed before being merged into the 2.7 branch (closes #21458).

Discussion
----------

[Config] Early return for DirectoryResource

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | sure?
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets |
| Related PRs | #21440
| License       | MIT
| Doc PR        | n/a

Alternate PR  that implements an early return for `DirectoryResource` to increase the speed on large file sets. We can never return early with `true` without checking all assets within the resource, as the aforementioned referenced PR did; hence this PR takes the counter approach and returns `false` early where appropriate.

_Conversation about possible bug at https://github.com/symfony/symfony/pull/21458#discussion_r98366339._

Commits
-------

d5746ecfd2 fix directory resource considers same timestamp not fresh
96107e21f1 return false early from directory resource
2017-02-12 20:12:54 +01:00
klemens
6ccc479d72 spelling fixes 2017-02-11 12:34:45 +01:00
Fabien Potencier
d3673a83ae bumped Symfony version to 2.7.25 2017-02-06 13:22:53 +01:00
Fabien Potencier
6fce88bde3 updated VERSION for 2.7.24 2017-02-06 13:06:02 +01:00
Fabien Potencier
ad8f18963e fixed test name 2017-02-04 08:36:32 -08:00
Fabien Potencier
1d1f1666e7 bug #21063 [Form] Fixed DateType format option for single text widget (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed DateType format option for single text widget

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

It's currently not possible to use a custom format with `DateType` when not using one of the three values day, month or year (i.e in my case "MM/yyyy").

The formatter handles it, it looks like this option check is wrong, this PR fixes it.

Commits
-------

9e0d531d36 [Form] Fixed DateType format option
2017-02-04 08:34:51 -08:00
Fabien Potencier
f0d13f4708 bug #21430 Casting TableCell value to string. (jaydiablo)
This PR was squashed before being merged into the 2.7 branch (closes #21430).

Discussion
----------

Casting TableCell value to string.

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

PHP throws a catchable fatal error when the value from this method is
used in strstr in the Table class. This fixes the error by casting to a string before returning the value.

Commits
-------

1e5707fed3 Casting TableCell value to string.
2017-02-03 13:25:39 -08:00
Jay Klehr
1e5707fed3 Casting TableCell value to string. 2017-02-03 13:25:34 -08:00
GuillaumeVerdon
3779f3fbb9 [Process] Non ASCII characters disappearing during the escapeshellarg 2017-02-02 14:55:53 +01:00
Pascal Hofmann
b46276e9b2 Add HEADER_FORWARDED to setTrustedHeaderName docs 2017-02-02 14:27:35 +01:00
Pavel Batanov
8e6cfa0cef Fix phpDoc typo 2017-02-02 08:03:53 +03:00
Nicolas Grekas
ee4b3e2712 [Console] Fix too strict test 2017-01-31 16:58:35 +01:00
Rob Frawley 2nd
d5746ecfd2
fix directory resource considers same timestamp not fresh 2017-01-30 13:31:59 -05:00
Josip Kruslin
5cd7931c24 [validator] Updated croatian translation 2017-01-30 08:21:29 -08:00
Christian Flothmann
f19788dd2e ignore invalid cookies expires date format 2017-01-30 15:00:07 +01:00
Rob Frawley 2nd
96107e21f1
return false early from directory resource 2017-01-29 19:05:04 -05:00
Christian Flothmann
fe4f7eccf7 check for circular refs caused by method calls 2017-01-28 09:01:30 +01:00
Maxime Steinhausser
50373f3530 [Console] Fix TableCell issues with decoration 2017-01-27 20:08:51 +01:00
Christian Flothmann
428814b25d clarify exception when no args are configured 2017-01-26 11:48:39 +01:00
Fabien Potencier
a6d2420f00 bug #21360 [PropertyAccess] Handle interfaces in the invalid argument exception (fancyweb)
This PR was squashed before being merged into the 2.7 branch (closes #21360).

Discussion
----------

[PropertyAccess] Handle interfaces in the invalid argument exception

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

Before :
`Expected argument of type "dule\MenuBundle\Entity\AbstractMenu::setMenuElements() must implement interface Doctrine\Common\Collections\Collection", "array" given`

After :
`Expected argument of type "Doctrine\Common\Collections\Collection", "array" given`

Commits
-------

be52b39031 [PropertyAccess] Handle interfaces in the invalid argument exception
2017-01-25 07:13:56 -08:00
Thomas Calvet
be52b39031 [PropertyAccess] Handle interfaces in the invalid argument exception 2017-01-25 07:13:54 -08:00
Nicolas Grekas
2555f3151d [Debug] Workaround "null" $context 2017-01-25 13:11:45 +01:00
markusu49
81e771ca1a [Serializer] fix upper camel case conversion (see #21399) 2017-01-25 09:09:50 +01:00
Fabien Potencier
dd4e78c96d minor #21379 [Routing] Fix BC break in AnnotationClassLoader defaults attributes handling (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Fix BC break in AnnotationClassLoader defaults attributes handling

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | 77289b9023 (commitcomment-20572462)
| License       | MIT
| Doc PR        | n/a

This fixes a BC break introduced in #21333. Instead of removing the automatic request attributes creation, we keep it but only for attributes that are mandatory (i.e. present in the route path).

Thanks to @iltar for the idea.

Commits
-------

1d298f0417 [Routing] Fix BC break in AnnotationClassLoader defaults attributes handling
2017-01-24 08:26:17 -08:00
Fabien Potencier
388be9dc3a minor #21320 Fix ICU dependant tests (jakzal)
This PR was squashed before being merged into the 2.7 branch (closes #21320).

Discussion
----------

Fix ICU dependant tests

| 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        | -

#20551 changed the condition checking if the ICU version matches the stubbed data. The change intended to enable tests on more ICU versions, but it actually has limited them. I'm still not convinced it should've been done but let's at least fix the condition. Ideal solution would be to have the latest ICU data available on travis (still not there https://github.com/travis-ci/travis-ci/issues/3616).

I also needed to fix several tests.

Currently skipped tests in components depending on ICU data:

|            | 4.8.1.1 | 54.1 | 55.1 | 57.1 |
|---|---|--|--|--|
| Intl       | 488     | 488  | 7    | 6    |
| Locale     | 0       | 0    | 0    | 0    |
| Translation| 0       | 0    | 0    | 0    |
| Validator  | 69      | 69   | 69   | 0    |
| Form       | 75      | 75   | 75   | 1    |

Commits
-------

d3b5d8efdf Fix tests with ICU 57.1
677d820874 Fix the condition checking the minimum ICU version
2017-01-24 07:57:42 -08:00
Nicolas Grekas
83cad14612 [Debug] Remove $context arg from handleError(), preparing for PHP 7.2 2017-01-24 16:28:42 +01:00
Robin Chalas
1d298f0417
[Routing] Fix BC break in AnnotationClassLoader defaults attributes handling 2017-01-23 21:38:04 +01:00
Christian Flothmann
f920e61d35 update German translation 2017-01-22 08:38:04 +01:00
Fabien Potencier
41c72ab909 minor #21335 [Validator] Improved error message for missing upload_tmp_dir (Breuls)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Improved error message for missing upload_tmp_dir

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

I ran into a problem in which the value for upload_tmp_dir was set in php.ini, but PHP was unable to write to the specified location. PHP returns an UPLOAD_ERR_NO_TMP_DIR in $_FILES when it can't find or use the tmp dir, and my application displayed the error for $uploadNoTmpDirErrorMessage, from which I drew the conclusion that the ini setting was missing or emtpy.

This conclusion was based on the wording in the error message, which explicitly states that 'no temporary folder was configured', which is not actually correct. According to the [PHP documentation](http://php.net/manual/en/features.file-upload.errors.php):

> UPLOAD_ERR_NO_TMP_DIR
> Value: 6; Missing a temporary folder. Introduced in PHP 5.0.3.

'Missing' might be interpreted as 'the value for the ini setting is missing', but also as 'the configured folder is missing'.

I thought it might save someone some time if the error message from the Symfony Validator makes this explicit, which is what this PR aims to do.

I also updated the Dutch and Polish translations, because those, in addition to English, are the languages spoken in my team.

Commits
-------

afbf22746a [Validator] Improved error message for missing upload_tmp_dir
2017-01-21 10:14:52 -08:00
Fabien Potencier
b6507c8c1c fixed CS 2017-01-21 08:52:33 -08:00
Fabien Potencier
d103b61420 fixed typo 2017-01-21 08:37:56 -08:00
Fabien Potencier
735d0a6ce7 Revert "fixed typo"
This reverts commit 6830d9f4c9.
2017-01-21 08:37:26 -08:00
Fabien Potencier
6830d9f4c9 fixed typo 2017-01-21 08:33:48 -08:00
Peter Breuls
afbf22746a [Validator] Improved error message for missing upload_tmp_dir 2017-01-21 09:48:33 +01:00
Fabien Potencier
5176f978bf fixed CS 2017-01-20 08:54:19 -08:00
Robin Chalas
d3fa8a1859 Avoid setting request attributes from signature arguments in AnnotationClassLoader 2017-01-19 17:02:55 +01:00
Fabien Potencier
5ba84cab08 minor #21346 [DependencyInjection] Add some missing typehints in YamlFileLoader (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] Add some missing typehints in YamlFileLoader

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

Commits
-------

34330e5136 [DependencyInjection] Add some missing typehints in YamlFileLoader
2017-01-19 07:37:36 -08:00
Kévin Dunglas
34330e5136
[DependencyInjection] Add some missing typehints in YamlFileLoader 2017-01-19 14:51:14 +01:00
Kévin Dunglas
c82aa84c26
[DependencyInjection] minor: Fix a DocBlock 2017-01-19 14:34:44 +01:00
Arjan Keeman
9edb457e44 [HttpKernel] Give higher priority to adding request formats 2017-01-18 11:53:09 -08:00
Jakub Zalas
d3b5d8efdf
Fix tests with ICU 57.1 2017-01-17 14:48:15 +00:00
Jakub Zalas
677d820874
Fix the condition checking the minimum ICU version 2017-01-17 13:59:23 +00:00
Richard Bradley
51bca66dfb #20411 fix Yaml parsing for very long quoted strings 2017-01-13 16:26:16 +00:00
Dariusz Ruminski
9e36436703 DX: remove invalid inheritdoc 2017-01-12 23:09:43 +01:00
Fabien Potencier
6babdb3296 bumped Symfony version to 2.7.24 2017-01-12 12:24:37 -08:00
Fabien Potencier
69a553a2a3 updated VERSION for 2.7.23 2017-01-12 12:02:12 -08:00
Nicolas Grekas
52eeddc24e Fix getMock usage 2017-01-12 20:23:39 +01:00
Fabien Potencier
5cf600dfbd bug #21218 [Form] DateTimeToLocalizedStringTransformer does not use timezone when using date only (magnetik)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] DateTimeToLocalizedStringTransformer does not use timezone when using date only

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

The `DateTimeToLocalizedStringTransformer` when used with a pattern that have only date (in `DateType` for instance) does not convert the result in the desired output

Reproduction steps:
- Use `DateType` in a form
- Set the `model_timezone` to `Pacific/Tahiti`, having default timezone to `Europe/Berlin`.
- Enter the date `2017-01-10`
- Submit the form
- Notice that the received data is `2017-01-10 00:00 Europe/Berlin`, whereas it should be `2017-01-10 11:00 Europe/Berlin`

Commits
-------

031d8c2c8b [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date
2017-01-12 10:42:17 -08:00
Baptiste Lafontaine
031d8c2c8b [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date 2017-01-12 15:37:51 +01:00
Nicolas Grekas
4769ca2164 bug #20793 [Validator] Fix caching of constraints derived from non-serializable parents (uwej711)
This PR was squashed before being merged into the 2.7 branch (closes #20793).

Discussion
----------

[Validator] Fix caching of constraints derived from non-serializable parents

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

This change allows to still cache constraints even when an uncachable constraint (i.e. Callback)
is added to a parent class at runtime.

This is achived by caching only the constraints that are loaded for the class in question only
and merging parent and interface constraints after reading from cache.

Commits
-------

9dd6b0c [Validator] Fix caching of constraints derived from non-serializable parents
2017-01-12 13:52:00 +01:00
Uwe Jäger
9dd6b0cf64 [Validator] Fix caching of constraints derived from non-serializable parents 2017-01-12 13:51:22 +01:00
Fabien Potencier
f83ad56b1b bug #21183 [Validator] respect groups when merging constraints (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] respect groups when merging constraints

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

Commits
-------

9a60057f42 respect groups when merging constraints
2017-01-10 07:40:08 -08:00
Nicolas Grekas
c5847696ea [DI] Add missing legacy group on testLegacy 2017-01-10 15:26:05 +01:00
Nicolas Grekas
d18c2cadfc minor #21226 Fix Container and PhpDumper test inaccuracies (nikita2206)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix Container and PhpDumper test inaccuracies

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

Stumbled upon and fixed some minor inaccuracies in tests for DI container, they might have lead to undetected changes of `Container`'s behavior

Commits
-------

24b93cc Fix Container and PhpDumper test inaccuracies
2017-01-10 14:43:59 +01:00
Nicolas Grekas
e355739b83 minor #21225 [DI] Dont share service when no id provided (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] Dont share service when no id provided

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

Commits
-------

814f633 [DI] Dont share service when no id provided
2017-01-10 14:43:16 +01:00
Nicolas Grekas
814f63390d [DI] Dont share service when no id provided 2017-01-10 14:32:11 +01:00
Nikita Nefedov
24b93cc75c Fix Container and PhpDumper test inaccuracies 2017-01-10 14:19:58 +03:00
Christian Flothmann
9a60057f42 respect groups when merging constraints 2017-01-10 10:32:28 +01:00
Maxime Steinhausser
101a165d0d [DI] Fix missing new line after private alias 2017-01-09 19:49:53 +01:00
Grégoire Pineau
3c887da4f3 [ClassLoader] Throw an exception if the cache is not writeable 2017-01-09 15:44:50 +01:00
Fabien Potencier
23294e59ca bug #21155 [Validator] Check cascasdedGroups for being countable (scaytrase)
This PR was squashed before being merged into the 2.7 branch (closes #21155).

Discussion
----------

[Validator] Check cascasdedGroups for being countable

Prevents notice for PHP 7.2

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

Just repeated for this place https://github.com/symfony/symfony/pull/20859
Waiting travis to fill in the `Tests pass` field

`cascasdedGroups` can be null at this point (according to failures and phpdoc)

Commits
-------

8fa45a130b [Validator] Check cascasdedGroups for being countable
2017-01-08 08:16:04 -08:00
Pavel Batanov
8fa45a130b [Validator] Check cascasdedGroups for being countable 2017-01-08 08:16:02 -08:00
Robin Chalas
dbc4148535
[Filesystem] Check that the directory is writable after created it in dumpFile() 2017-01-08 13:55:49 +01:00
Christian Flothmann
bd3a90a0c3 [Validator] do not guess getter method names 2017-01-07 09:40:27 +01:00
Fabien Potencier
182dd8f7e6 minor #20972 [HttpFoundation] Improved set cookie header tests (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #20972).

Discussion
----------

[HttpFoundation] Improved set cookie header tests

| Q             | A
| ------------- | ---
| Branch?       | 2.7 (already in master)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

Separated from #20569

Commits
-------

05bce71d7a [HttpFoundation] Improved set cookie header tests
2017-01-06 09:20:46 -08:00
Roland Franssen
05bce71d7a [HttpFoundation] Improved set cookie header tests 2017-01-06 09:20:45 -08:00
Nicolas Grekas
1038221d51 minor #21124 [Console] increased code coverage of Output classes (ShinDarth)
This PR was squashed before being merged into the 2.7 branch (closes #21124).

Discussion
----------

[Console] increased code coverage of Output classes

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

This PR increases the coverage of Output classes of the Console component from 80.81% to 94.95%

Commits
-------

ab4ba23 [Console] increased code coverage of Output classes
2017-01-06 14:13:12 +01:00
ShinDarth
ab4ba23931 [Console] increased code coverage of Output classes 2017-01-06 14:13:10 +01:00
Fabien Potencier
da88e6b1d7 bug #21113 [FrameworkBundle][HttpKernel] Fix resources loading for bundles with custom structure (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle][HttpKernel] Fix resources loading for bundles with custom structure

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

This fixes twig/translator/validator/serializer resource loading for bundles overriding `Bundle::getPath()`, adding a kernel parameter containing the bundle metadata (i.e. `path`, `namespace` and `parent`).

Fixes #18563 and unlocks https://github.com/symfony/symfony/pull/19586

Commits
-------

fef3146b3b Fix serializer/translations/validator resources loading for bundles overriding getPath()
2017-01-04 11:50:28 -08:00
Robin Chalas
fef3146b3b
Fix serializer/translations/validator resources loading for bundles overriding getPath() 2017-01-04 20:27:15 +01:00
Nicolas Grekas
aae4f6d9e7 Minor fixes found while ugrading the CI 2017-01-03 16:43:07 +01:00
Fabien Potencier
942e0c1706 bug #21084 [Yaml] handle empty lines inside unindented collection (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] handle empty lines inside unindented collection

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

Commits
-------

bbfe6f73b5 handle empty lines inside unindented collection
2017-01-03 05:44:39 -08:00
Fabien Potencier
5fdf0e9a60 bug #20925 [HttpFoundation] Validate/cast cookie expire time (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Validate/cast cookie expire time

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

Commits
-------

8215dbdb31 [HttpFoundation] Validate/cast cookie expire time
2017-01-02 19:24:33 -08:00
Fabien Potencier
9879c8193f updated LICENSE year 2017-01-02 12:30:00 -08:00
WouterJ
505e84d9f3 Fixed @return self with $this 2017-01-02 16:57:42 +01:00
Christian Flothmann
97b7fabf51 do not depend on a fixed date in layout tests
By default, the `DateType` as well as the `DateTimeType` set the choices
being available for the year to a range starting five years in the past.
After some time, this will make tests fail when the year of the fixed
date being used as the initial data is before the first year being part
of the choices.
2017-01-01 13:43:56 +01:00
HeahDude
9e0d531d36 [Form] Fixed DateType format option 2016-12-31 16:53:20 +01:00
Grégoire Pineau
c24269005b [Console] Escape default value when dumping help 2016-12-30 11:17:25 +01:00
Fabien Potencier
7e8e9e3a6e bug #21076 [Console] OS X Can't call cli_set_process_title php without superuser (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] OS X Can't call cli_set_process_title php without superuser

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

The console component test suite is failing on OS X (10.12.2) as the `cli_set_process_title` function seems not to be allowed to be called without superuser. It seems to be an OS X limitation.
At least, the test suite should pass and a warning should be shown when using the component with this feature on OS X.

---

refs:

- http://stackoverflow.com/questions/27803120/cannot-set-process-title-in-a-php-command-line-script-using-cli-set-process-titl
- https://github.com/liip/php-osx/issues/139
- https://github.com/zfcampus/zf-console/pull/22

Commits
-------

9928c0d [Console] OS X Can't call cli_set_process_title php without superuser
2016-12-30 09:19:58 +01:00
Maxime Steinhausser
9928c0d44e [Console] OS X Can't call cli_set_process_title php without superuser 2016-12-30 09:09:55 +01:00
Marcin Szepczynski
7a603df71d Polish translation improvement in Validator component 2016-12-29 22:17:52 +01:00
Roland Franssen
142416b7d4 [DI] Auto register extension configuration classes as a resource 2016-12-29 09:41:04 +00:00
Christian Flothmann
bbfe6f73b5 handle empty lines inside unindented collection 2016-12-28 19:56:06 +01:00
Nicolas Grekas
f1f5bff78f bug #20900 [Console] Descriptors should use Helper::strlen (ogizanagi)
This PR was squashed before being merged into the 2.7 branch (closes #20900).

Discussion
----------

[Console] Descriptors should use Helper::strlen

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

Commits
-------

8e9a5f8 [Console] Descriptors should use Helper::strlen
2016-12-28 09:27:59 +01:00
Maxime STEINHAUSSER
8e9a5f8009 [Console] Descriptors should use Helper::strlen 2016-12-28 09:27:57 +01:00
Nicolas Grekas
d85febc5f8 minor #21047 [Config] Improve PHPdoc / IDE autocomplete (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Improve PHPdoc / IDE autocomplete

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes-ish
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

The missing pieces for fixing the autocomplete in IDE's (tested in `PhpStorm 2016.3.2`).

Each method seems to be found now for the framework bundle configuration 😱

Actually uses #20923 where needed, but i think we should go with it consistently.

Relates to https://github.com/symfony/symfony/pull/20290#issuecomment-257303145

Commits
-------

3f3c6e0 [Config] Improve PHPdoc / IDE autocomplete
2016-12-28 09:11:03 +01:00
Roland Franssen
8215dbdb31 [HttpFoundation] Validate/cast cookie expire time 2016-12-27 23:08:58 +00:00
Roland Franssen
3f3c6e0e53 [Config] Improve PHPdoc / IDE autocomplete 2016-12-27 15:12:49 +00:00
Grégoire Pineau
18dfef1e2b [Debug] Wrap call to ->log in a try catch block
If something goes wrong in the logger, the application ends up
with a blank page. Let's display the original exception.
2016-12-27 15:50:31 +01:00
Nicolas Grekas
ee69018bf4 bug #21010 [Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes (SpacePossum)
This PR was squashed before being merged into the 2.7 branch (closes #21010).

Discussion
----------

[Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes

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

When trying to call a method on an anonymous class (with or without methods) the `UndefinedMethodFatalErrorHandler` tries to iterate `null`.

For ref.: https://3v4l.org/l26u1

Commits
-------

ed713ae [Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes
2016-12-27 14:43:30 +01:00
SpacePossum
ed713aef2b [Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes 2016-12-27 14:43:27 +01:00
Fabien Potencier
eeb9192cf3 minor #21054 Fix @return statements to use $this or static when relevant (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix @return statements to use $this or static when relevant

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

see #20290

Commits
-------

3c0693d fixed @return when returning this or static
2016-12-27 11:38:09 +01:00
Fabien Potencier
3c0693de23 fixed @return when returning this or static 2016-12-27 08:23:47 +01:00
Fabien Potencier
2e0b61eaff bug #20859 Avoid warning in PHP 7.2 because of non-countable data (wouterj)
This PR was merged into the 2.7 branch.

Discussion
----------

Avoid warning in PHP 7.2 because of non-countable data

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

Recently, the "[Counting of non-countable objects][1]" RFC was merged in PHP 7.2-dev. This means `count()` now causes a warning when passing anything that's not countable (e.g. `null` or `''`).

As PHP does not lazily execute conditions, `FormUtil::isEmtpy($data) || 0 === count($data)` will cause *both* conditions to be executed. This means `count($data)` errors when `$data` is empty.

Splitting it up in 2 statements avoids the warning being triggered in PHP 7.2.

See https://travis-ci.org/symfony-cmf/content-bundle/jobs/181815895 for a failing test caused by this bug.

 [1]: https://wiki.php.net/rfc/counting_non_countables

Commits
-------

94253e8 Only count on arrays or countables to avoid warnings in PHP 7.2
2016-12-26 12:09:56 +01:00
Christian Flothmann
8b281fe401 override property constraints in child class 2016-12-25 18:58:48 +01:00
Fabien Potencier
a4ac1a785e minor #20817 [Console] improved code coverage of Command class (ShinDarth)
This PR was squashed before being merged into the 2.7 branch (closes #20817).

Discussion
----------

[Console] improved code coverage of Command class

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

This PR increases the code coverage of the Command class from ``86.82%`` to ``96.90%``.

Commits
-------

d393113 [Console] improved code coverage of Command class
2016-12-23 21:36:17 +01:00
ShinDarth
d39311385f [Console] improved code coverage of Command class 2016-12-23 21:36:12 +01:00
mlpo
442a304292 [Console] Updated phpdoc on return types 2016-12-23 02:05:25 +01:00
Fabien Potencier
0bb7eafba0 bug #20970 [Console] Fix question formatting using SymfonyStyle::ask() (chalasr, ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix question formatting using SymfonyStyle::ask()

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

Given
```php
$io = new SymfonyStyle($input, $output);
$io->ask('Do you want to use Foo\\Bar <comment>or</comment> Foo\\Baz\\?', 'Foo\\Bar');
```

Before output
![before](http://image.prntscr.com/image/af3806f866654deda2dec79b50d1ffa2.png)

After output
![after](http://image.prntscr.com/image/59c031d9e02949cebeae7a4734c7043f.png)

Commits
-------

e189183 [Console] SymfonyStyle: Escape trailing backslashes in user texts
9d46712 [Console] Fix question formatting using SymfonyStyle::ask()
2016-12-22 13:18:06 +01:00
Tarjei Huse
1255786811 Improve language
I suspect the file has been updated from the Danish translation and thus some of the sentences sound weird in Norwegian. Here's a suggested update.
2016-12-22 11:26:53 +01:00
Fabien Potencier
2f24e690f6 bug #20975 [Form] fix group sequence based validation (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fix group sequence based validation

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

Commits
-------

fb91f74 [Form] fix group sequence based validation
2016-12-19 17:50:42 +01:00
Fabien Potencier
71d059cad1 fixed obsolete getMock() usage 2016-12-19 16:22:46 +01:00
Maxime Steinhausser
e189183689 [Console] SymfonyStyle: Escape trailing backslashes in user texts 2016-12-19 11:07:02 +01:00
Roland Franssen
257a856f9f [WebProfilerBundle] Display multiple HTTP headers in WDT 2016-12-18 15:34:37 +00:00
Christian Flothmann
fb91f74b34 [Form] fix group sequence based validation 2016-12-17 23:43:59 +01:00
Robin Chalas
9d46712103
[Console] Fix question formatting using SymfonyStyle::ask() 2016-12-17 14:04:43 +01:00
Christian Flothmann
d65679b302 [Validator] phpize default option values
This makes the behavior for default constraints inline with the behavior
when the option is given explicitly.
2016-12-16 16:54:54 +01:00
Maxime Steinhausser
e66d3da91a [DependencyInjection] Fix on-invalid attribute type in xsd 2016-12-15 15:48:03 +01:00
Nicolas Grekas
28ec36140d [VarDumper] Fix dumping by-ref variadics 2016-12-15 08:56:57 +01:00
Indra Gunawan
ca4c35164f [Validator] add Indonesian translation 2016-12-14 09:12:43 +01:00
Fabien Potencier
482e9edc50 bug #20734 [Security] AbstractVoter->supportsAttribute gives false positive if attribute is zero (0) (martynas-foodpanda)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] AbstractVoter->supportsAttribute gives false positive if attribute is zero (0)

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

Issue is easy to reproduce with test giving negative data set.
0 should not pass as supported attribute for any set of attributes but it does as in_array in the method does not use flag 'strict' set to true.

As this is abstract voter and is used by users with their code flag 'strict' should be set to true.
Since is there in 2.7 and 2.8 (LTS) IMHO it should be fixed.

Commits
-------

8306530 [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-14 09:11:55 +01:00
Fabien Potencier
92423e77ac fixed CS 2016-12-14 09:03:29 +01:00
Michael Lee
b587a7294f [config] Fix issue when key removed and left value only
When a key attribute is mapped and the key is removed from the value array, if
only 'value' element is left in the array, it should replace its wrapper
array.

Assume the original value array is as follows (key attribute is 'id').

```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => 'value1'),
        array('id' => 'option2', 'value' => 'value2')
    )
)
```

After normalized, the above shall be converted to the following array.

```php
array(
    'things' => array(
        'option1' => 'value1',
        'option2' => 'value2'
    )
)
```

It's also possible to mix 'value-only' and 'none-value-only' elements in
the array:

```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => 'value1'),
        array('id' => 'option2', 'value' => 'value2', 'foo' => 'foo2')
    )
)
```

The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => 'value1',
        'option2' => array('value' => 'value2','foo' => 'foo2')
    )
)
```

The 'value' element can also be array:

```php
array(
    'things' => array(
        array(
            'id' => 'option1',
            'value' => array('foo'=>'foo1', 'bar' => 'bar1')
        )
    )
)
```
The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => array('foo' => 'foo1', 'bar' => 'bar1')
    )
)
```

When using VariableNode for value element, it's also possible to mix
different types of value elements:
```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => array('foo'=>'foo1', 'bar' => 'bar1')),
        array('id' => 'option2', 'value' => 'value2')
    )
)
```

The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => array('foo'=>'foo1', 'bar' => 'bar1'),
        'option2' => 'value2'
    )
)
```

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15270
| License       | MIT
| Doc PR        | n/a
2016-12-14 09:02:51 +01:00
Fabien Potencier
7f85f6dc1e minor #20813 [Console] Review Application docblocks (ogizanagi)
This PR was squashed before being merged into the 2.7 branch (closes #20813).

Discussion
----------

[Console] Review Application docblocks

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

~I know there must be a lot of other places in the core where there is some repeated or useless informations in docblocks, but everytime I dig into the `Application` class, I see this, and I don't want to repeat things for consistency when adding new methods 😅  (for instance in #20808, the `setCatchThrowables / areThrowablesCaught ` methods do not need a docblock description IMHO).~

~This PR adapts docblocks where:~

- ~A docblock description is not required, as everything can be expressed in the `@return / @param` argument (the case mentioned above)~
- ~Information is redundant between description and tags, and the context does not have to be reminded again:~

```diff

    /**
     * Adds an array of command objects.
     *
     * If a Command is not enabled it will not be added.
     *
-     * @param Command[] $commands An array of commands
+     * @param Command[] $commands
     */
    public function addCommands(array $commands)
    {
        foreach ($commands as $command) {
            $this->add($command);
        }
    }
```

Commits
-------

d8c18cc [Console] Review Application docblocks
2016-12-13 16:27:53 +01:00
Maxime STEINHAUSSER
d8c18cc3cd [Console] Review Application docblocks 2016-12-13 16:27:52 +01:00
Fabien Potencier
f22a505629 bumped Symfony version to 2.7.23 2016-12-13 13:12:22 +01:00
Fabien Potencier
bdb6bf985f updated VERSION for 2.7.22 2016-12-13 11:53:27 +01:00
Fabien Potencier
708b9a2214 minor #20729 [Finder] Refine phpdoc about argument for NumberComparator (vlakoff)
This PR was merged into the 2.7 branch.

Discussion
----------

[Finder] Refine phpdoc about argument for NumberComparator

| 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        | -

The most important being the addition of "string" to `Finder::depth()`.

Commits
-------

9b9d339 [Finder] Refine phpdoc about argument for NumberComparator
2016-12-13 09:47:45 +01:00
WouterJ
94253e8a23 Only count on arrays or countables to avoid warnings in PHP 7.2 2016-12-10 19:18:03 +01:00
Fabien Potencier
3113f3f93f minor #20852 Skip test when iconv extension is missing (julienfalque)
This PR was merged into the 2.7 branch.

Discussion
----------

Skip test when iconv extension is missing

| 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        | -

Commits
-------

ae7377d Skip test when iconv extension is missing
2016-12-10 15:23:12 +01:00
Julien Falque
ae7377d128
Skip test when iconv extension is missing 2016-12-09 19:19:27 +01:00
Christian Flothmann
292ae7c3eb [Config] fix dev dependencies 2016-12-09 09:40:53 +01:00
Fabien Potencier
be72520fc3 minor #20827 [Config] Do not skip YamlReferenceDumperTest entirely (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Do not skip YamlReferenceDumperTest entirely

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

The test is now completed in 3.2, but for older branch, any changes in the `YamlReferenceDumper` is not tested on travis and requires to test it manually or comment the `markTestIncomplete` line.

`assertEquals` should still be used on 3.2.

Commits
-------

1ed9335 [Config] Do not skip YamlReferenceDumperTest entirely
2016-12-09 08:38:58 +01:00
Fabien Potencier
42929dde2b minor #20826 [Config] Fix YamlReferenceDumper extra space (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Fix YamlReferenceDumper extra space

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes (minor rendering issue)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

Simply fixes a minor rendering issue when using the `YamlReferenceDumper`.

<details>
<summary>For reference, see the difference with this fix on the framework configuration</summary>

```diff
diff --git a/framework_before.yml b/framework_after.yml
index f28ffd0..0486709 100644
--- a/framework1.txt
+++ b/framework2.txt
@@ -3,7 +3,7 @@ framework:
     secret:               ~

     # Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. Note: When using the HttpCache, you need to call the method in your front controller instead
-    http_method_override:  true
+    http_method_override: true
     trusted_proxies:      []
     ide:                  null
     test:                 ~
@@ -37,7 +37,7 @@ framework:
         enabled:              false
         collect:              true
         only_exceptions:      false
-        only_master_requests:  false
+        only_master_requests: false
         dsn:                  'file:%kernel.cache_dir%/profiler'
         matcher:
             enabled:              false
@@ -97,7 +97,7 @@ framework:
         save_path:            '%kernel.cache_dir%/sessions'

         # seconds to wait between 2 session metadata updates, it will also prevent the session handler to write if the session has not changed
-        metadata_update_threshold:  '0'
+        metadata_update_threshold: '0'

     # request configuration
     request:
@@ -110,7 +110,7 @@ framework:
     # templating configuration
     templating:
         enabled:              false
-        hinclude_default_template:  null
+        hinclude_default_template: null
         cache:                ~
         form:
             resources:
@@ -180,7 +180,7 @@ framework:
     # Property access configuration
     property_access:
         magic_call:           false
-        throw_exception_on_invalid_index:  false
+        throw_exception_on_invalid_index: false

     # Property info configuration
     property_info:
@@ -198,9 +198,9 @@ framework:
         # System related cache pools configuration
         system:               cache.adapter.system
         directory:            '%kernel.cache_dir%/pools'
-        default_doctrine_provider:  ~
-        default_psr6_provider:  ~
-        default_redis_provider:  'redis://localhost'
+        default_doctrine_provider: ~
+        default_psr6_provider: ~
+        default_redis_provider: 'redis://localhost'
         pools:

             # Prototype
```
</details>

---

(tests failures are unrelated)

Commits
-------

685a9b9 [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:35:05 +01:00
Nicolas Grekas
0aa80f25d7 bug #20828 [Validator] Fix init of YamlFileLoader::$classes for empty files (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Fix init of YamlFileLoader::$classes for empty files

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

Commits
-------

073a1da [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 16:57:04 +01:00
Nicolas Grekas
28a0be8a4f bug #20539 Cast result to int before adding to it (alcaeus)
This PR was merged into the 2.7 branch.

Discussion
----------

Cast result to int before adding to it

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

This fixes the occasional warning about non-numeric values when using PHP 7.1.

Commits
-------

70c42f2 Cast result to int before adding to it
2016-12-08 15:35:57 +01:00
Nicolas Grekas
073a1dae13 [Validator] Fix init of YamlFileLoader::$classes for empty files 2016-12-08 13:07:24 +01:00
Maxime STEINHAUSSER
1ed9335e88 [Config] Do not skip YamlReferenceDumperTest entirely 2016-12-08 11:59:24 +01:00
Maxime STEINHAUSSER
685a9b9d9a [Config] Fix YamlReferenceDumper extra space 2016-12-08 11:42:33 +01:00
Fabien Potencier
7a07c1b464 minor #20800 [Security] fix the docblock in regard to the role argument (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] fix the docblock in regard to the role argument

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

Makes the docblocks consistent with the `UserInterface` since #17525.

Commits
-------

4e563ae fix the docblock in regard to the role argument
2016-12-07 09:06:36 +01:00
Christian Flothmann
4e563aee02 fix the docblock in regard to the role argument 2016-12-06 21:51:50 +01:00
ShinDarth
488ebbfe5d [VarDumper] fix tests when xdebug is enabled 2016-12-06 17:03:37 +01:00
Nicolas Grekas
bfe149fdc6 [Cache] Fix dumping SplDoublyLinkedList iter mode 2016-12-05 18:21:04 +01:00
Fabien Potencier
f9bceb832f bug #20736 [Console] fixed PHP7 Errors when not using Dispatcher (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #20736).

Discussion
----------

[Console] fixed PHP7 Errors when not using Dispatcher

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #17257, #20110, #20111
| License       | MIT
| Doc PR        | n/a

Original fix, #19813, works only when there is event dispatcher available.
This PR fix the issue also for scenario without event dispatcher.

Closes #20110 issue and #20111 PR connected to it.
Closing #17257 , as everywhere the error is converted to exception and it should be handled

Commits
-------

899fa79 [Console] fixed PHP7 Errors when not using Dispatcher
2016-12-05 14:00:59 +01:00
Dariusz Ruminski
899fa7936b [Console] fixed PHP7 Errors when not using Dispatcher 2016-12-05 14:00:57 +01:00
Iltar van der Berg
d1a7164626 Regression test for missing controller arguments 2016-12-05 08:37:23 +01:00
Martynas Narbutas
8306530e60 [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0) 2016-12-03 15:43:25 +01:00
Christian Flothmann
aea0478451 fix a test checking for a value 2016-12-03 14:58:39 +01:00
Fabien Potencier
7ef0951daf bug #20418 [Form][DX] FileType "multiple" fixes (yceruto)
This PR was squashed before being merged into the 2.7 branch (closes #20418).

Discussion
----------

[Form][DX] FileType "multiple" fixes

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

# (1st) Derive "data_class" option from passed "multiple" option

Information
-------------

Following this tutorial ["How to Upload Files"][1] but storing many `brochures` instead of one, i.e.:

```php
// src/AppBundle/Entity/Product.php

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     */
    private $brochures;

    //...
}
```

```php
//src/AppBundle/Form/ProductType.php

$builder->add('brochures', FileType::class, array(
    'label' => 'Brochures (PDF files)',
    'multiple' => true,
));
```

The Problem
--------------

I found a pain point here when the form is loaded again after save some brochures (Exception):

> The form's view data is expected to be an instance of class Symfony\Component\HttpFoundation\File\File, but is a(n) array. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) array to an instance of Symfony\Component\HttpFoundation\File\File.

The message is very clear, but counter-intuitive in this case, because the form field (`FileType`) was configured with `multiple = true`, so IMHO it shouldn't expect a `File` instance but an array of them at all events.

The PR's effect
---------------

**Before:**

```php
$form = $this->createFormBuilder($product)
    ->add('brochures', FileType::class, [
        'multiple' => true,
	'data_class' => null, // <---- mandatory
    ])
    ->getForm();
```

**After:**

```php
$form = $this->createFormBuilder($product)
    ->add('brochures', FileType::class, [
        'multiple' => true,
    ])
    ->getForm();
```

# (2nd) Return empty `array()` at submit no file

Information
-------------

Based on the same information before, but adding some constraints:

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\Count(min="1") // or @Assert\NotBlank()
     * @Assert\All({
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

This should require at least one file to be stored.

The Problem
--------------

But, when no file is uploaded at submit the form, it's valid completely. The submitted data for this field was `array(null)` so the constraints pass without any problem:

* `@Assert\Count(min="1")` pass! because contains at least one element (No matter what)
* `@Assert\NotBlank()` it could pass! because no `false` and no `empty()`
* `@Assert\File()` pass! because the element is `null`

Apart from that really we expecting an empty array instead.

The PR's effect
----------------

**Before:**

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\All({
     *     @Assert\NotBlank,
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

**After:**

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\Count(min="1") // or @Assert\NotBlank
     * @Assert\All({
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

  [1]: http://symfony.com/doc/current/controller/upload_file.html

Commits
-------

36b7ba6 [Form][DX] FileType "multiple" fixes
2016-12-03 12:33:29 +01:00
Yonel Ceruto
36b7ba64f4 [Form][DX] FileType "multiple" fixes 2016-12-03 12:33:12 +01:00
Fabien Potencier
fe15381a45 minor #20425 [Form] fixed "empty_value" option deprecation (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fixed "empty_value" option deprecation

| Q             | A
| ------------- | ---
| Branch?       | 2.x only
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/15945#r86547326
| License       | MIT
| Doc PR        | ~

I didn't make any profiling but a resolver instance is passed to `configureOptions()` creating locale variables including those exceptions for each field using one of the patched form types, so I guess the memory usage can grow really fast.

Commits
-------

7e84907 [Form] fixed "empty_value" option deprecation
2016-12-03 11:52:40 +01:00
Fabien Potencier
5f62f01943 fixed CS 2016-12-03 11:50:08 +01:00
Fabien Potencier
4a7fbdde5a bug #19902 [DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service. (antanas-arvasevicius)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service.

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

more info:
https://github.com/symfony/symfony/issues/19901

Commits
-------

595a978 [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments.
2016-12-03 11:48:01 +01:00
vlakoff
9b9d33959c [Finder] Refine phpdoc about argument for NumberComparator 2016-12-03 06:31:03 +01:00
Maxime Steinhausser
18fc6b54da [Console] Fix wrong handling of multiline arg/opt descriptions 2016-11-30 19:39:48 +01:00
Nicolas Grekas
c360a222ef bug #20671 [Config] ConfigCache::isFresh() should return false when unserialize() fails (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] ConfigCache::isFresh() should return false when unserialize() fails

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

Removes some `Warning: Class __PHP_Incomplete_Class has no unserializer` failures when clearing the cache.

Commits
-------

609245e [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
2016-11-29 11:51:46 +01:00
Nicolas Grekas
609245e953 [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class 2016-11-29 11:39:48 +01:00
Nicolas Grekas
6d1f1b5d4a [ClassLoader] Use only forward slashes in generated class map 2016-11-29 09:16:08 +01:00
Fabien Potencier
ec937cbcd9 bug #20664 [Validator] ensure the proper context for nested validations (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] ensure the proper context for nested validations

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

Commits
-------

56c8ff8 ensure the proper context for nested validations
2016-11-29 09:13:44 +01:00
Antanas Arvasevicius
595a9781e2 [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments. 2016-11-28 16:07:09 +02:00
Christian Flothmann
56c8ff8b21 ensure the proper context for nested validations 2016-11-28 10:01:58 +01:00
Robin Chalas
2699009770
[HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable 2016-11-25 23:28:18 +01:00
Jules Pietri
7e8490715c [Form] fixed "empty_value" option deprecation 2016-11-25 20:10:28 +01:00
Andreas Braun
70c42f2676
Cast result to int before adding to it
This fixes the occasional warning about non-numeric values when using PHP 7.1
2016-11-25 15:42:00 +01:00
Nicolas Grekas
8c2a77bbca bug #20474 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name (fancyweb)
This PR was squashed before being merged into the 2.7 branch (closes #20474).

Discussion
----------

[Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name

| 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        | https://github.com/symfony/symfony-docs/pull/7139

This is a follow up PR to https://github.com/symfony/symfony/pull/20327.

I also decided to improve the current `is_numeric()` check that is done by a truer one. The current limitation is that a PCRE subpattern name must not start with a digit which is different.

Commits
-------

73fbd08 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
2016-11-25 13:07:11 +01:00
Thomas Calvet
73fbd085f1 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name 2016-11-25 13:06:46 +01:00
Alexandru Bucur
25a629419a Update documentation link to the component
Update documentation link to the component since it has standalone examples
2016-11-25 11:12:25 +01:00
Nicolas Grekas
bbddeec6d9 minor #20630 [HttpFoundation] Add links to RFC-7231 (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Add links to RFC-7231

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

ping @xabbuh

Commits
-------

c17a85b [HttpFoundation] Add links to RFC-7231
2016-11-25 11:09:18 +01:00
Nicolas Grekas
7b33c0906b minor #20626 Tag missing internals (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

Tag missing internals

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

Commits
-------

97e94b4 Tag missing internals
2016-11-25 11:02:25 +01:00
Nicolas Grekas
c17a85beff [HttpFoundation] Add links to RFC-7231 2016-11-25 10:58:59 +01:00
Nicolas Grekas
e62a390ff5 bug #20566 [DI] Initialize properties before method calls (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #20566).

Discussion
----------

[DI] Initialize properties before method calls

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes-ish
| New feature?  | no
| BC breaks?    | not sure
| Deprecations? | no
| Tests pass?   | not yet (only dumps seem to fail)
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Given

```yml
services:
    handler:
        class: AppBundle\Handler
        properties:
            debug: '%kernel.debug%'
        calls:
            - [handle]
```

I totally expected `Handler::$debug` to be set before `Handler::handle` is called. It was not..  and it's really annoying :)

Commits
-------

0af433b [DI] Initialize properties before method calls
2016-11-25 10:44:34 +01:00
Roland Franssen
0af433b01f [DI] Initialize properties before method calls 2016-11-25 10:44:31 +01:00
Maxime Steinhausser
97e94b4019 Tag missing internals 2016-11-25 08:43:06 +01:00
Nicolas Grekas
3eb8a342f5 bug #20609 [DI] Fixed custom services definition BC break introduced in ec7e70fb… (kiler129)
This PR was squashed before being merged into the 2.7 branch (closes #20609).

Discussion
----------

[DI] Fixed custom services definition BC break introduced in ec7e70fb…

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no, fixes previous BC
| Deprecations? | no
| Tests pass?   | yes (verified on Win only)
| Fixed tickets | #20608
| License       | MIT
| Doc PR        | -

Commits
-------

7a5e11e [DI] Fixed custom services definition BC break introduced in ec7e70fb…
2016-11-24 11:37:50 +01:00
kiler129
7a5e11eb12 [DI] Fixed custom services definition BC break introduced in ec7e70fb… 2016-11-24 11:34:23 +01:00
Fabien Potencier
af9c279e23 bug #20598 [DI] Aliases should preserve the aliased invalid behavior (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] Aliases should preserve the aliased invalid behavior

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

Commits
-------

7752308 [DI] Aliases should preserve the aliased invalid behavior
2016-11-23 17:13:15 -08:00
Fabien Potencier
34b9fd681e bug #20602 [HttpKernel] Revert BC breaking change of Request::isMethodSafe() (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Revert BC breaking change of Request::isMethodSafe()

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes (reverting a previous BC break)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20562
| License       | MIT
| Doc PR        | -

As spotted in #20562, we should not have broken a minor version. Instead, we should have deprecated the bad behavior. This is done in #20603.

Commits
-------

0c3b7d7 [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
2016-11-23 16:42:12 -08:00
Maxime Steinhausser
412fbe613f [DI] minor FileLoaders tests update 2016-11-23 22:37:45 +01:00
Nicolas Grekas
0c3b7d7b8d [HttpKernel] Revert BC breaking change of Request::isMethodSafe() 2016-11-23 14:53:57 +01:00
Nicolas Grekas
7752308c96 [DI] Aliases should preserve the aliased invalid behavior 2016-11-22 19:19:49 +01:00
Imangazaliev
6c3150df63 [DOMCrawler] Bug fixed 2016-11-21 16:09:36 -08:00
Fabien Potencier
7047e4d31f bug #20576 [Process] Do feat test before enabling TTY mode (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Do feat test before enabling TTY mode

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

Commits
-------

69bfbbf [Process] Do feat test before enabling TTY mode
2016-11-21 15:59:43 -08:00
Nicolas Grekas
69bfbbf8c2 [Process] Do feat test before enabling TTY mode 2016-11-21 10:47:03 +01:00
Fabien Potencier
2af58be68f bumped Symfony version to 2.7.22 2016-11-20 18:19:38 -08:00
Fabien Potencier
dec83adc4b updated VERSION for 2.7.21 2016-11-20 17:12:54 -08:00
Nicolas Grekas
e968d0ff5d minor #20551 [ci] Testing with UTC hides bugs (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[ci] Testing with UTC hides bugs

| 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        | -

As shown by #20550, we're having bugs because we don't in proper TZ conditions.
Let's do Europe on Travis, and America on Windows.

Commits
-------

e0f9bda [ci] Testing with UTC hides bugs
2016-11-18 15:46:21 -05:00
Nicolas Grekas
e0f9bda49a [ci] Testing with UTC hides bugs 2016-11-18 15:26:45 -05:00
Fabien Potencier
015fe87266 bug #20543 [DI] Fix error when trying to resolve a DefinitionDecorator (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] Fix error when trying to resolve a DefinitionDecorator

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

Instead of the currently obscure `ReflectionException: Class does not exist` message, let's throw a useful error message.

Commits
-------

8e0da2f [DI] Fix error when trying to resolve a DefinitionDecorator
2016-11-17 11:18:58 -05:00
Nicolas Grekas
8e0da2f39e [DI] Fix error when trying to resolve a DefinitionDecorator 2016-11-17 06:21:23 -05:00
Indra Gunawan
af9016fa27 [Validator] improve and added more Indonesian translation. 2016-11-16 16:46:48 +07:00
Fabien Potencier
a1afa21a8c minor #20506 DX: replace @link with @see annotation (keradus)
This PR was merged into the 2.7 branch.

Discussion
----------

DX: replace @link with @see annotation

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

Just to standardise.

```console
λ grep -r "* @see " src | wc -l
    360

λ grep -r "* @link " src | wc -l
     12
```

Commits
-------

f7326c1 DX: replace @link with @see annotation
2016-11-15 18:00:43 -05:00
Nicolas Grekas
0221ffcb8f bug #20519 [Debug] Remove GLOBALS from exception context to avoid endless recursion (Seldaek)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Remove GLOBALS from exception context to avoid endless recursion

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

This fixes a endless recursion as seen in https://github.com/felixfbecker/php-language-server/pull/137 - it only happens if you trigger an error in the global context so it's kinda hard to write a test for, but hopefully the fix can be accepted.

Commits
-------

1bb95ac [Debug] Remove GLOBALS from exception context to avoid endless recursion
2016-11-15 07:52:31 -05:00
Jordi Boggiano
1bb95acb84 [Debug] Remove GLOBALS from exception context to avoid endless recursion 2016-11-15 13:37:17 +01:00
Giorgio Premi
a60cd15850 [ClassLoader] Fix ClassCollectionLoader inlining with __halt_compiler 2016-11-15 04:22:02 -05:00
Dariusz Ruminski
f7326c15d8 DX: replace @link with @see annotation 2016-11-13 18:41:36 +01:00
Fabien Potencier
6648615081 minor #20500 Tag the FormFieldRegistry as being internal (stof)
This PR was merged into the 2.7 branch.

Discussion
----------

Tag the FormFieldRegistry as being internal

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

The phpdoc already describes it as being internal (since it was introduced). This adds the proper tag to mark it as internal in our standard way.

Commits
-------

0801f97 Tag the FormFieldRegistry as being internal
2016-11-12 07:52:13 -08:00
Christophe Coevoet
0801f9723b Tag the FormFieldRegistry as being internal 2016-11-12 16:48:22 +01:00
Fabien Potencier
edf5d715e3 bug #20307 [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds (LuisDeimos)
This PR was squashed before being merged into the 2.7 branch (closes #20307).

Discussion
----------

[Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds

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

Fix: When using a form with an Time type with option 'widget' => 'single_text', and 0 is selected in the seconds, we obtain an TransformationFailedException "Unable to reverse value for property path "[time]": Data missing". Check ticket #20304

Commits
-------

bcb03e0 [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
2016-11-12 07:33:13 -08:00
Luis Ramírez +Deimos+
bcb03e0a39 [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds 2016-11-12 07:33:12 -08:00
Tobias Nyholm
f3fede2e83 [Validator] Added missing swedish translation 2016-11-10 13:05:13 -08:00
Fabien Potencier
3594877f75 bug #20466 [Translation] fixed nested fallback catalogue using multiple locales. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation] fixed nested fallback catalogue  using multiple locales.

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

Commits
-------

bac217d [Translation] fixed nested fallback catalogue  using multiple locales.
2016-11-09 14:55:02 -08:00
Fabien Potencier
6953f4f779 minor #20444 [YAML] PHPDoc fixes for inline parser/dumper (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[YAML] PHPDoc fixes for inline parser/dumper

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Commits
-------

dd47295 fixed phpdoc
2016-11-09 14:52:56 -08:00
Abdellatif Ait boudad
31deea1d3d [TranslationDebug] workaround for getFallbackLocales. 2016-11-09 20:23:10 +00:00
Abdellatif Ait boudad
bac217dd83 [Translation] fixed nested fallback catalogue using multiple locales. 2016-11-09 19:27:17 +00:00
Roland Franssen
dd47295c15 fixed phpdoc 2016-11-09 17:27:48 +00:00
Karim Miladi
5a1bf6aa6e [Command] Fixed method comments as phpDoc syntax 2016-11-09 08:10:25 -08:00
Christian Flothmann
adbc529b7b prefer getSourceContext() over getSource() 2016-11-07 19:42:43 +01:00
Fabien Potencier
fd1ee25ebd minor #20275 [HttpFoundation] Avoid implicit null to array conversion in request matcher (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #20275).

Discussion
----------

[HttpFoundation] Avoid implicit null to array conversion in request matcher

| Q | A |
| --- | --- |
| Branch? | 2.7 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any |
| License | MIT |
| Doc PR | reference to the documentation PR, if any |

`null` is allowed _and_ passed as default value from the constructor. Lets be explicit.

Commits
-------

a2c0a78 [HttpFoundation] Avoid implicit null to array conversion in request matcher
2016-11-07 07:11:09 -08:00
Roland Franssen
a2c0a785c2 [HttpFoundation] Avoid implicit null to array conversion in request matcher 2016-11-07 07:11:08 -08:00
Fabien Potencier
b06c00edcd bug #20422 [Translation][fallback] add missing resources in parent catalogues. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation][fallback] add missing resources in parent catalogues.

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

Commits
-------

27c91e5 [Translation][fallback] add missing resources in parent catalogues.
2016-11-06 08:10:50 -08:00
Fabien Potencier
94d9bfbc1d bug #20378 [Form] Fixed show float values as choice value in ChoiceType (yceruto)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed show float values as choice value in ChoiceType

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

There is a closed [issue][1] related to this before Symfony 2.7 (when choice value still was the key from the `array`). This issue already happened in 2.7+ but now inside Symfony core.

Information
-----------

[This method][3] checks whether the given choices can be cast to strings without generating duplicates (3ab8189080 in #16705):

```php
private function castableToString(array $choices, array &$cache = array())
{
    foreach ($choices as $choice) {
        if (is_array($choice)) {
            if (!$this->castableToString($choice, $cache)) {
                return false;
            }

            continue;
        } elseif (!is_scalar($choice)) {
            return false;
        } elseif (isset($cache[$choice])) {  // <---- red breakpoint
            return false;
        }

        $cache[$choice] = true; // <---- red breakpoint
    }

    return true;
}
```

So it should to keep [scalar values (integer, float, string or boolean)][2] as choice values always (unless have duplicates values).

The Problem
-----------

But in this situation it doesn't happen:

```php
$form = $this->createFormBuilder()
    ->add('foo', ChoiceType::class, [
        'choices' => [
            'Min' => 0.5,
            'Mid' => 1.0,
            'Max' => 1.5,
        ]
    ])
    ->getForm();
```

**Output:**

```html
<select id="form_foo" name="form[foo]">
  <option value="0">Min</option>
  <option value="1">Mid</option>
  <option value="2">Max</option>
</select>
```

[**Why?**][5]

If the key of the array is a float number, it's interpreted as integer automatically:

```php
// ...

$cache[$choice] = true;

// when $choice = 0.5: $cache = [0 => true]
// when $choice = 1.0: $cache = [0 => true, 1 => true]
```

Then, when `$choice = 1.5` [this sentence][4] `isset($cache[1.5])` returns `true` because really checks `isset($cache[1])` and this key already exists, so `castableToString()` returns `false` (detected as duplicate) and the choices values are generated incrementing integers as values.

The PR's Effect
-------------

**Before:**

```html
<select id="form_foo" name="form[foo]">
  <option value="0">Min</option>
  <option value="1">Mid</option>
  <option value="2">Max</option>
</select>
```

**After:**

```html
<select id="form_foo" name="form[foo]">
  <option value="0.5">Min</option>
  <option value="1">Mid</option>
  <option value="1.5">Max</option>
</select>
```

  [1]: https://github.com/symfony/symfony/issues/13817
  [2]: http://php.net/manual/en/function.is-scalar.php
  [3]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L228
  [4]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L239
  [5]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L243

Commits
-------

3564228 [Form] Fix show float values as choices values in ChoiceType
2016-11-06 08:03:54 -08:00
Abdellatif Ait boudad
27c91e514e [Translation][fallback] add missing resources in parent catalogues. 2016-11-06 08:07:39 +00:00
Yonel Ceruto
35642288fa [Form] Fix show float values as choices values in ChoiceType 2016-11-05 14:02:34 -04:00
Fabien Potencier
f37ac131e1 bug #20375 [HttpFoundation][Session] Fix memcache session handler (klandaika)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation][Session] Fix memcache session handler

| Q             | A
| ------------- | ---
| Branch?       | 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 3.0, 3.1, master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commit 0216e05605 removed the opening of connection to memcached server on call to `open()`, because it's assumed that connection is already opened. However, `close()` still closes the connection. As a result no more read/write calls can be made if session got closed, as the connection does not get reestablished.

Basically MemcacheSessionHandler should follow same logic as Memcache**d**SessionHandler, which is exactly what this MR acomplishes.

Commits
-------

0423d894 [HttpFoundation][Session] memcached connection should not be closed
2016-11-04 08:14:52 -07:00
Robin Chalas
e64de1eac6 [Console] Fix infinite loop on missing input
[Console] Use console exception for missing input

Backport Console RuntimeException in 2.7
2016-11-03 09:51:57 +01:00
Nicolas Grekas
4eb003b653 CS fixes 2016-11-03 08:49:30 +01:00
Nicolas Grekas
0aca495522 minor #20364 CS: apply rules (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #20364).

Discussion
----------

CS: apply rules

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

Commits
-------

22d4e15 CS: apply rules
2016-11-03 08:44:55 +01:00
Dariusz Ruminski
22d4e15634 CS: apply rules 2016-11-03 08:44:53 +01:00
Nicolas Grekas
7520f7b937 [Yaml] Clean some messages + add test case 2016-11-02 15:01:29 +01:00
VJ
0423d894f4 [HttpFoundation][Session] memcached connection should not be closed 2016-11-02 08:42:51 -04:00
Maxime STEINHAUSSER
46dd3b9acb [Form] Fix UrlType transforms valid protocols 2016-10-30 08:33:18 -07:00
Nicolas Grekas
f2f232d599 Enhance GAE compat by removing some realpath() 2016-10-27 11:13:40 +02:00
Fabien Potencier
ed11f22360 bumped Symfony version to 2.7.21 2016-10-26 19:12:15 -07:00
Fabien Potencier
8beacd2dd8 updated VERSION for 2.7.20 2016-10-26 18:37:19 -07:00
Tristan Darricau
a79991f44a
Fix edge case with StreamedResponse where headers are sent twice 2016-10-24 16:36:35 +02:00
Christian Flothmann
c333eb70b6 merge tags instead of completely replacing them 2016-10-23 08:52:28 +02:00
Fabien Potencier
0c551b5236 minor #20273 [FrameworkBundle][HttpKernel] move test to the HttpKernel component (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle][HttpKernel] move test to the HttpKernel component

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/19443#discussion_r83414612
| License       | MIT
| Doc PR        |

The moved test case does not test the `AddConsoleCommandPass` class, but ensures certain behavior in the `registerCommands()` method of the `Bundle` class from the HttpKernel component.

Commits
-------

c9ca322 move test to the HttpKernel component
2016-10-22 07:38:20 -07:00
Lars Strojny
f09e6218f8 Trim constant values in XmlFileLoader 2016-10-22 07:36:57 -07:00
Christian Flothmann
c9ca322825 move test to the HttpKernel component 2016-10-22 11:18:43 +02:00
Jáchym Toušek
8a420c554c [Validator] Fix annotation 2016-10-19 15:22:52 -07:00
Nicolas Grekas
8dee4be6b7 bug #20235 [DomCrawler] Allow pipe (|) character in link tags when using Xpath expressions (klausi, nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DomCrawler] Allow pipe (|) character in link tags when using Xpath expressions

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

@klausi could you please validate this patch? Is it an improvement over yours? (sorry I don't have the proper use case to test.)

Commits
-------

17757d8 [DomCrawler] Optimize DomCrawler::relativize()
5b26e33 [DomCrawler] Allow pipe (|) character in link tags when using Xpath expressions
2016-10-18 17:34:22 +02:00
Nicolas Grekas
17757d8114 [DomCrawler] Optimize DomCrawler::relativize() 2016-10-18 15:42:15 +02:00
Nicolas Grekas
3c216176e8 [HttpKernel] Fix source links with latests Twig versions 2016-10-18 11:20:54 +02:00
Klaus Purer
5b26e33261 [DomCrawler] Allow pipe (|) character in link tags when using Xpath expressions 2016-10-18 10:27:59 +02:00
Fabien Potencier
ef48f5924a bug #20224 [Twig] removed deprecations added in Twig 1.27 (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

[Twig] removed deprecations added in Twig 1.27

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | see twigphp/Twig#2182
| License       | MIT
| Doc PR        | n/a

Commits
-------

f0849d8 [TwigBridge] removed deprecations added in Twig 1.27
2016-10-17 21:24:28 -07:00
Fabien Potencier
f0849d8331 [TwigBridge] removed deprecations added in Twig 1.27 2016-10-17 18:02:36 -07:00
Dariusz Ruminski
b0df3a7eb9 PHP CS Fixer: use php_unit_dedicate_assert 2016-10-16 22:09:53 +02:00
Muhammed Akbulut
cd3206c5cb fixed Filesystem:makePathRelative and added 2 more testcases 2016-10-14 07:26:34 -07:00
Fabien Potencier
8d218e7f50 bug #20218 [HttpFoundation] no 304 response if method is not cacheable (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] no 304 response if method is not cacheable

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

Since #19321 OPTIONS and TRACE are considered safe methods. But both methods should not lead to "304 Not modified" responses.

Commits
-------

3d6b450 no 304 response if method is not cacheable
2016-10-14 07:10:20 -07:00
Fabien Potencier
7e2f24fc6f bug #20207 [DependencyInjection] move tags from decorated to decorating service (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] move tags from decorated to decorating service

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

Commits
-------

7def83c move tags from decorated to decorating service
2016-10-14 07:09:04 -07:00
Christian Flothmann
3d6b4502c8 no 304 response if method is not cacheable 2016-10-14 13:10:27 +02:00
Fabien Potencier
f76e77f924 fixed typo 2016-10-13 18:29:00 -07:00
David Maicher
c43de7f21a [HttpCache] fix: do not cache OPTIONS request 2016-10-13 22:14:35 +02:00
Fabien Potencier
df138fb636 fixed CS 2016-10-13 07:02:27 -07:00
Wesley Lancel
c1ae7b6ad7 Prevent infinite loop in PropertyMetadata 2016-10-13 07:00:50 -07:00
Christian Flothmann
7def83c0b1 move tags from decorated to decorating service 2016-10-11 23:07:33 +02:00
Nicolas Grekas
dcf601f3fa Minor fixes & cleanups 2016-10-06 10:40:01 +02:00
Fabien Potencier
a5a91a7fa1 bug #19725 [Security] $attributes can be anything, but RoleVoter assumes strings (Jonatan Männchen)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] $attributes can be anything, but RoleVoter assumes strings

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #18042
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Commits
-------

ad3ac95 bug #18042 [Security] $attributes can be anything, but RoleVoter assumes strings
2016-10-05 18:42:44 -07:00
Roland Franssen
1159f8bba6 [HttpFoundation] JSONP callback validation 2016-10-05 12:15:52 -07:00
Javier Eguiluz
29226ef116 [Console] Improved the explanation of the hasOption() method 2016-10-05 10:26:56 -07:00
Fabien Potencier
f4fe36a4e1 bug #19961 [Console] Escape question text and default value in SymfonyStyle::ask() (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Escape question text and default value in SymfonyStyle::ask()

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

Commits
-------

eed3cc5 [Console] Escape default value and question in SymfonyStyle::ask()
2016-10-04 20:05:49 -07:00
Fabien Potencier
4c854e7329 bug #20141 [Console] Fix validation of empty values using SymfonyQuestionHelper::ask() (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix validation of empty values using SymfonyQuestionHelper::ask()

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

When using `QuestionHelper::ask()` it's allowed to return an empty value as answer, e.g:

```php
$helper = new QuestionHelper();
$question = new Question('foo', false);
$question->setValidator(function ($v) { return $v; });
$answer = $helper->ask($input, $output, $question);
```

Just typing `enter` for answering this question works, the value of `$answer` would be `false`.
But doing the same with `SymfonyQuestionHelper::ask()`:

```php
$helper = new SymfonyQuestionHelper();
$question = new Question('foo', false);
$question->setValidator(function ($v) { return $v; });
$answer = $helper->ask($input, $output, $question);
```

>  [ERROR] A value is required.

Same for `''` or `null`.
Here I kept the same check but used as default validator, if a validator is set and allows an empty value to be returned then it's ok.

Also I am not sure about if this default validator should be kept, imho we should be consistent with the default question helper, using the `SymfonyQuestionHelper` should only impact the output.

Diff best viewed [like this](https://github.com/symfony/symfony/pull/20141/files?w=1)
ping @kbond

Commits
-------

a8b910b [Console] Fix validation of null values using SymfonyStyle::ask()
2016-10-04 19:49:41 -07:00
Nicolas Grekas
dda18df6de [VarDumper] Fix ReflectionNamedType->getName() detection 2016-10-04 14:01:35 +02:00
Robin Chalas
a8b910bec2
[Console] Fix validation of null values using SymfonyStyle::ask() 2016-10-04 00:20:32 +02:00
Fabien Potencier
3086fd38e5 bumped Symfony version to 2.7.20 2016-10-03 11:42:03 -07:00
Fabien Potencier
70afffbbff updated VERSION for 2.7.19 2016-10-03 11:15:49 -07:00
Fabien Potencier
9ed8d576e1 bug #20102 [Validator] Url validator not validating hosts ending in a number (gwkunze)
This PR was squashed before being merged into the 2.7 branch (closes #20102).

Discussion
----------

[Validator] Url validator not validating hosts ending in a number

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no (Should validate slightly more urls)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | None that I could find
| License       | MIT
| Doc PR        |

We ran into an issue where the URL validator wasn't validating URL that we got from a legitimate (intranet) URL. Afaict from skimming RFCs the URL `http://myhost123/` is valid, however the current regular expression doesn't accept the last part of a hostname (in this case the entire hostname is the last part as there are no periods in the host).

I've fixed this by adding the numbers unicode character property to the regular expression, I'm not sure but symbol characters (`\pS`) might need to be added to the group as well.

Commits
-------

934c434 [Validator] Url validator not validating hosts ending in a number
2016-10-03 09:05:36 -07:00
Gijs Kunze
934c434d33 [Validator] Url validator not validating hosts ending in a number 2016-10-03 09:05:35 -07:00
Fabien Potencier
80577f96bf bug #20122 [Validator] Reset constraint options (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Reset constraint options

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20106
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

I think it's good to reset the internal pointer of the options array if we depend on `key($options)`. I've added tests to clarify we intentionally check for the first key.

The current behavior actually differs for hhvm/php7 - https://3v4l.org/e6r6E

Commits
-------

4c6ddd4 reset constraint options
2016-10-02 08:50:33 -07:00
Roland Franssen
4c6ddd4737 reset constraint options 2016-10-01 21:36:38 +00:00
Fabien Potencier
e20cd8ae9f fixed CS 2016-09-30 12:35:09 -07:00
Fabien Potencier
c1c42a52bc bug #20078 Fix #19943 Make sure to process each interface metadata only once (lemoinem)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix #19943 Make sure to process each interface metadata only once

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

Here is the fix for #19943, If you have `InterfaceA <- InterfaceB <- Class` with a constraint on a method defined on `InterfaceA`, the constraint and its eventual violations are currently validated and reported twice.

Copy from https://github.com/symfony/symfony/issues/19943#issuecomment-250238529:
As far as I can see, the problem seems to arise in [`LazyLoadingMetadataFactory`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php#L117-L123):

[`ReflectionClass::getInterfaces()`](http://php.net/manual/en/reflectionclass.getinterfaces.php) returns both interfaces implemented directly and through inheritance (either through another interface or through a parent class). In the end, the following process occurs:

1. `PriceInterface` is parsed and its `NotBlank` constraint on `value` is loaded
2. `VariablePriceInterface` is parsed and inherits `PriceInterface`'s constraints (which is OK).
3. `ProductPrice` is parsed and inherits both `PriceInterface` and `VariablePriceInterface`'s  constraints, which leads to a duplicated `NotBlank` constraint, one from each Interface.

The Best Way ™️ would be to be able to extract the list of interfaces implemented by a class directly only. However, the process seems a bit intricate... I will start working on it and prepare a PR to that effect. However, if any of you has a better idea, I'm all hears...

TODO:
- [x] Regression tests to make sure the bug doesn't reappear

Commits
-------

2f9b65a Fix #19943 Make sure to process each interface metadata only once
2016-09-30 12:33:15 -07:00
Fabien Potencier
35091b1837 Revert "bug #20080 [Form] compound forms without children should be considered rendered implicitly (backbone87)"
This reverts commit eae5a9ba0b, reversing
changes made to fd763ad5a3.
2016-09-29 16:48:55 -07:00
Fabien Potencier
eae5a9ba0b bug #20080 [Form] compound forms without children should be considered rendered implicitly (backbone87)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] compound forms without children should be considered rendered implicitly

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

Commits
-------

8234f2a #17580 compound forms without children should be considered rendered implicitly
2016-09-29 09:02:32 -07:00
Nicolas Grekas
466dbe62b4 [2.7][VarDumper] Fix PHP 7.1 compat 2016-09-29 13:21:39 +01:00
Christian Flothmann
30c9b1ec28 silent file operation to avoid open basedir issues
Using file operations on a symlink that points to a file outside the
directories being allowed by the open_basedir setting leads to PHP
warnings being raised.
2016-09-28 19:20:21 -07:00
Mathieu Lemoine
2f9b65aa5a Fix #19943 Make sure to process each interface metadata only once 2016-09-28 18:39:11 -04:00
Oliver Hoff
8234f2add4 #17580 compound forms without children should be considered rendered
implicitly
2016-09-28 21:40:37 +02:00
Fabien Potencier
da6c664e98 minor #20064 [Console] Format JSON fixtures (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Format JSON fixtures

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Should make merging upstream easier due better diffs.

```php
foreach (glob('src/Symfony/Component/Console/Tests/Fixtures/*.json') as $file) {
    file_put_contents($file, str_replace(PHP_EOL, "\n", json_encode(json_decode(trim(file_get_contents($file))), JSON_PRETTY_PRINT))."\n");
}
```

Should be re-applied on 2.8, 3.1 and master.

Commits
-------

2ca7823 format json fixtures
2016-09-27 17:09:53 -07:00
Fabien Potencier
40c2cbd12b bug #19951 [Finder] Trim trailing directory slash in ExcludeDirectoryFilterIterator (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Finder] Trim trailing directory slash in ExcludeDirectoryFilterIterator

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19599
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

In this context `path` equals `path/`

Commits
-------

e0e5f0c apply rtrim
2016-09-27 17:07:53 -07:00
Roland Franssen
2ca78233a1 format json fixtures 2016-09-27 17:33:51 +00:00
Roland Franssen
b074a7156a Fixed expectedException annotations 2016-09-23 11:13:36 -07:00
Fabien Potencier
fc0fe87c6d minor #20027 Security and validators messages translation to Latvian (Rikijs)
This PR was merged into the 2.7 branch.

Discussion
----------

Security and validators messages translation to Latvian

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

Commits
-------

ff72f21 Security and validators messages translation to Latvian
2016-09-22 09:52:50 -07:00
Rikijs Murgs
ff72f21427 Security and validators messages translation to Latvian 2016-09-22 19:04:04 +03:00
Sergio Santoro
40af42cb60 [Form] FormView->isRendered() remove dead code and simplify the flow 2016-09-21 22:14:19 +02:00
Fabien Potencier
bb51ed0d20 Revert "minor #20011 Use UUID for error codes for Form validator. (Koc)"
This reverts commit 2cd45a5043, reversing
changes made to d8423071de.
2016-09-21 12:03:56 -07:00
Konstantin.Myakshin
6dbb186f23 Use UUID for error codes for Form validator. 2016-09-21 10:52:48 -07:00
Fabien Potencier
d8423071de bug #20010 [DX] Fixed regression when exception message swallowed when logging it. (Koc)
This PR was merged into the 2.7 branch.

Discussion
----------

[DX] Fixed regression when exception message swallowed when logging it.

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | maybe, wait for Travis
| Fixed tickets | fixed regression introduced in #13418
| License       | MIT
| Doc PR        | -

The problem is: after merging referenced PR we cann't understand what error occured and why authentication request failed (see attached screenshot). Previously it displays exception message, but now it only displays class of the exception.

![9003644109](https://cloud.githubusercontent.com/assets/191082/18717550/f0df61c4-8028-11e6-8dbb-684e4928e913.jpg)

Commits
-------

042cb6b Fixed regression when exception message swallowed when logging it.
2016-09-21 10:05:38 -07:00
Konstantin.Myakshin
042cb6b2b2 Fixed regression when exception message swallowed when logging it. 2016-09-21 18:21:51 +03:00
Vincent Composieux
dfa7f5020e
[Security] Fixed roles serialization on token from user object 2016-09-21 16:33:32 +02:00
Jakub Zalas
b482fb784e [HttpFoundation] Enable memcached tests with the latest memcached extension 2016-09-21 12:21:12 +01:00
Jonatan Männchen
ad3ac95d2d
bug #18042 [Security] $attributes can be anything, but RoleVoter assumes strings 2016-09-21 07:35:02 +00:00
Nicolas Grekas
0d9dacc6db [VarDumper] Fix extra whitespace 2016-09-20 15:04:49 +02:00
Robin Chalas
eed3cc5b52
[Console] Escape default value and question in SymfonyStyle::ask() 2016-09-18 17:48:17 +02:00
Robin Chalas
8952155f92
[Console] Fix empty optionnal options with = separator in argv 2016-09-17 14:42:06 +02:00
Roland Franssen
e0e5f0c379 apply rtrim 2016-09-16 16:53:37 +00:00
Fabien Potencier
b28cd81575 added a comment about a workaround 2016-09-14 14:04:40 -07:00
Götz Gottwald
695e341258 [Finder] no PHP warning on empty directory iteration 2016-09-14 14:03:47 -07:00
Fabien Potencier
c1cc6ca40e bug #19923 [bugfix] [Console] Set Input::$interactive to false when command is executed with --quiet as verbosity level (phansys)
This PR was merged into the 2.7 branch.

Discussion
----------

[bugfix] [Console] Set `Input::$interactive` to `false` when command is executed with `--quiet` as verbosity level

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

Closes #19899.

Commits
-------

4214311 [bugfix] [Console] Set `Input::$interactive` to `false` when command is executed with `--quiet` as verbosity level
2016-09-14 13:28:32 -07:00
Fabien Potencier
ce73768d0f bug #19811 Fixed the nullable support for php 7.1 and below (2.7, 2.8, 3.0) (iltar)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixed the nullable support for php 7.1 and below (2.7, 2.8, 3.0)

| Q             | A
| ------------- | ---
| Branch?       | 2.7, 2.8, 3.0
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/19784#issuecomment-243852825
| License       | MIT
| Doc PR        | ~

Fixes the nullable support for 2.7, 2.8 and 3.0, can probably be partially merged into 3.1 but not 100% sure.

/ping @fabpot

Commits
-------

9c48756 Fixed the nullable support for php 7.1 and below
2016-09-14 12:08:00 -07:00
Fabien Bourigault
82415a1667 [Form] Fix typo in doc comment 2016-09-14 09:33:27 +02:00
Fabien Potencier
26e2846c8a bug #19904 [Form] Fixed collapsed ChoiceType options attributes (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed collapsed ChoiceType options attributes

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

Commits
-------

7806e2a Fixed collapsed ChoiceType options attributes
2016-09-13 17:22:22 -07:00
Tristan Darricau
e8708195e2 [Config] Handle open_basedir restrictions in FileLocator
Silence `file_exists()` call to avoid open_basedir restrictions warning. (can happen when using relative imports)
2016-09-13 17:08:34 -07:00
Nicolas Grekas
f32198954d bug #19928 [Validator] Update IpValidatorTest data set with a valid reserved IP (jakzal)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Update IpValidatorTest data set with a valid reserved IP

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

The validator uses PHP filter which was recently fixed (see https://bugs.php.net/bug.php?id=72972).

Commits
-------

86a151c [Validator] Update IpValidatorTest data set with a valid reserved IP
2016-09-13 13:51:44 +02:00
Jakub Zalas
86a151c9f5 [Validator] Update IpValidatorTest data set with a valid reserved IP
The validator uses PHP filter which was recently fixed (see https://bugs.php.net/bug.php?id=72972).
2016-09-13 12:11:56 +01:00
Javier Spagnoletti
4214311a1c [bugfix] [Console] Set Input::$interactive to false when command is executed with --quiet as verbosity level 2016-09-13 00:14:14 -03:00
HeahDude
7806e2a05d Fixed collapsed ChoiceType options attributes 2016-09-11 01:56:49 +02:00
Fabien Potencier
ddf8b27e14 bug #19813 [Console] fixed PHP7 Errors are now handled and converted to Exceptions (fonsecas72)
This PR was squashed before being merged into the 2.7 branch (closes #19813).

Discussion
----------

[Console] fixed PHP7 Errors are now handled and converted to Exceptions

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

Commits
-------

d3c613b [Console] fixed PHP7 Errors are now handled and converted to Exceptions
2016-09-08 08:08:48 -07:00
Hugo Fonseca
d3c613be36 [Console] fixed PHP7 Errors are now handled and converted to Exceptions 2016-09-08 08:08:45 -07:00
Matteo Beccati
bf6691ca46 Fix #19721
Issue was introduced in #19541
2016-09-07 13:06:20 +02:00
Fabien Potencier
be2a6d1291 bumped Symfony version to 2.7.19 2016-09-06 19:01:26 -07:00
Fabien Potencier
59985613b2 updated VERSION for 2.7.18 2016-09-06 17:54:19 -07:00
Fabien Potencier
a630f14659 minor #19868 [Security] Optimize RoleHierarchy's buildRoleMap method (Enleur)
This PR was squashed before being merged into the 2.7 branch (closes #19868).

Discussion
----------

[Security] Optimize RoleHierarchy's buildRoleMap method

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

I have an issue with a large role hierarchy(~150 roles). Optimized it a little bit

![image](https://cloud.githubusercontent.com/assets/858989/18271257/df6c4ba0-7439-11e6-8406-e13bdcefe9ca.png)

Commits
-------

c3b68b0 [Security] Optimize RoleHierarchy's buildRoleMap method
2016-09-06 17:21:47 -07:00
Enleur
c3b68b0d28 [Security] Optimize RoleHierarchy's buildRoleMap method 2016-09-06 17:21:44 -07:00
Fabien Potencier
993b405492 bug #19859 [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1) (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1)

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| Tests pass?   | yes
| Fixed tickets | #19845
| License       | MIT

See diff as https://github.com/symfony/symfony/pull/19859/files?w=1

Commits
-------

647b3d2 [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1)
2016-09-06 16:09:07 -07:00
Fabien Potencier
3b5c353861 bug #19595 [form] lazy trans post_max_size_message. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[form] lazy trans `post_max_size_message`.

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

Commits
-------

c03164e [form] lazy trans `post_max_size_message`.
2016-09-06 09:12:45 -07:00
Javier Eguiluz
e4193c746c Minor cleanups and improvements 2016-09-06 09:06:41 -07:00
Abdellatif Ait boudad
c03164e4f9 [form] lazy trans post_max_size_message. 2016-09-06 16:01:53 +01:00
Nicolas Grekas
42244f2a2e [DI] Fix setting synthetic services on ContainerBuilder 2016-09-06 16:19:03 +02:00
Nicolas Grekas
0f6bc0b00a bug #19848 Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)" (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| Tests pass?   | yes
| Fixed tickets | #19689 #19840 #19825 #19857
| License       | MIT
| Doc PR        | -

This reverts commit c89f80a9cd, reversing
changes made to 386e5e78b4.

See discussion in #19847

I'll try adding test cases soon that ensure that:

- [x] *when not leaving scope* synthetic services always throw and ignore the `ContainerInterface::NULL_ON_INVALID_REFERENCE` flag (on 3.x also)
- [x] *when leaving scope* synthetic services always return null and ignore the `ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE`  (until 2.8 since scopes are gone in 3.x)

Commits
-------

8cb28bf [DI] Add anti-regression test
ac742df Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"
2016-09-06 12:51:08 +02:00
Iltar van der Berg
9c48756a19 Fixed the nullable support for php 7.1 and below 2016-09-06 11:34:14 +02:00
Nicolas Grekas
13d0510126 minor #19809 Update misleading comment about RFC4627 (teohhanhui)
This PR was merged into the 2.7 branch.

Discussion
----------

Update misleading comment about RFC4627

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

RFC 4627 does not dictate escaping of HTML special characters

Commits
-------

72b6c9e Update misleading comment about RFC4627
2016-09-06 11:29:51 +02:00
Nicolas Grekas
8a9b2870b7 minor #19862 Update GroupSequence.php (vudaltsov)
This PR was submitted for the 3.0 branch but it was merged into the 2.7 branch instead (closes #19862).

Discussion
----------

Update GroupSequence.php

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

Corrected the docblock example

Commits
-------

c8f3741 Update GroupSequence.php
2016-09-06 09:59:02 +02:00
Valentin Udaltsov
c8f3741eba Update GroupSequence.php
Corrected the docblock example
2016-09-06 09:57:53 +02:00
Nicolas Grekas
39905fd807 minor #19830 Code enhancement and cleanup (yceruto)
This PR was squashed before being merged into the 2.7 branch (closes #19830).

Discussion
----------

Code enhancement and cleanup

| 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        | -

Commits
-------

325da3c Code enhancement and cleanup
2016-09-06 09:26:09 +02:00
Yonel Ceruto
325da3c0d8 Code enhancement and cleanup 2016-09-06 09:26:07 +02:00
Nicolas Grekas
647b3d2f54 [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1) 2016-09-05 21:55:26 +02:00
Nicolas Grekas
8cb28bf751 [DI] Add anti-regression test 2016-09-05 09:18:55 +02:00
Nicolas Grekas
ac742dfc48 Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"
This reverts commit c89f80a9cd, reversing
changes made to 386e5e78b4.
2016-09-04 19:06:49 +02:00
James Halsall
68698f2bd4 [BrowserKit] Fix cookie expiration on 32 bit systems
On 32-bit systems the cookie expiration value was not being calculated
correctly as it was being fetched as an integer. When the timestamp exceeded
the PHP_INT_MAX size it would return an invalid value, breaking the cookie
construction.

The BrowserKit cookie has now been updated to get the timestamp as a string
which works around this platform limitation.
2016-09-02 13:36:08 -07:00
Fabien Potencier
2511f2a191 bumped Symfony version to 2.7.18 2016-09-01 20:54:47 -07:00
Fabien Potencier
68124f52fa updated VERSION for 2.7.17 2016-09-01 20:05:16 -07:00
Teoh Han Hui
72b6c9e0b9 Update misleading comment about RFC4627
RFC 4627 does not dictate escaping of HTML special characters
2016-09-01 12:16:03 +08:00
Fabien Potencier
09e4e49b2a minor #19802 [Yaml] Remove legacy code (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] Remove legacy code

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

It looks like these lines were forgotten during the transition to 2.0 as references are already [managed in `Inline`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Yaml/Inline.php#L542-L559).

Commits
-------

a88dff3 [Yaml] Remove legacy code
2016-08-31 11:04:35 -07:00
Ener-Getick
a88dff3981
[Yaml] Remove legacy code 2016-08-31 15:10:08 +02:00
Nicolas Grekas
ac9ac8364e bug #19794 [VarDumper] Various minor fixes & cleanups (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Various minor fixes & cleanups

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| Tests pass?   | yes
| License       | MIT

Minor fixes & cleanups found while working on a few VarDumper enhancements.
I'm going to merge this one quickly to unlock the other PRs I'm preparing for master.

Commits
-------

a989491 [VarDumper] Various minor fixes & cleanups
2016-08-31 09:58:22 +02:00
Nicolas Grekas
a989491ade [VarDumper] Various minor fixes & cleanups 2016-08-31 09:12:09 +02:00
Fabien Potencier
bcb1d8fd0c Revert "bug #18935 [Form] Consider a violation even if the form is not submitted (egeloen)"
This reverts commit f28eb9a617, reversing
changes made to bbb75faa15.
2016-08-29 09:54:06 -07:00
Fabien Potencier
e4b48bbc88 minor #19761 [HttpKernel] Add missing SsiFragmentRendererTest (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Add missing SsiFragmentRendererTest

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

One notable difference between ESI/SSI fragments renderers is that [passing options to the strategy doesn't impact the rendered ssi include tag](d666c64eb0 (diff-98eb5db767a1d6600cff43b74800ae46R37)).

Commits
-------

6c89199 [HttpKernel] Add missing SsiFragmentRendererTest
2016-08-27 09:32:53 -07:00
Robin Chalas
6c8919935e
[HttpKernel] Add missing SsiFragmentRendererTest 2016-08-27 16:02:11 +02:00
Waqas Ahmed
43f26727d0 Fixes the calendar in constructor to handle null 2016-08-26 20:13:58 +04:00
Sandro Hopf
54a7eff868 [Validator][GroupSequence] fixed GroupSequence validation ignores PropertyMetadata of parent classes 2016-08-25 18:04:22 -07:00
Fabien Potencier
6de4359e4b minor #19736 [FrameworkBundle][Security] Remove useless mocks (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle][Security] Remove useless mocks

| 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        |

Removes mocks causing issues in https://github.com/symfony/symfony/pull/19734.

Commits
-------

fcd3345 [FrameworkBundle][Security] Remove useless mocks
2016-08-25 10:52:51 -07:00
Ener-Getick
fcd3345e34
[FrameworkBundle][Security] Remove useless mocks 2016-08-25 14:52:03 +02:00
Tom Van Looy
c811eb7e8e remove duplicate instruction 2016-08-23 21:36:25 +02:00
Fabien Potencier
a45be6d82a minor #19499 [SecurityBundle] BasicAuthenticationListener: simpler getting value from Request (MacDada)
This PR was merged into the 2.7 branch.

Discussion
----------

[SecurityBundle] BasicAuthenticationListener: simpler getting value from Request

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

Unless I'm mistaken, the default `null` should be OK. If it's not, I will create a new PR with a test proving that `false` or other "special" value must be used.

Commits
-------

d67f090 SecurityBundle:BasicAuthenticationListener: removed a default argument on getting a header value
2016-08-23 09:54:14 -07:00
Fabien Potencier
0544117434 bug #19580 [Validator] fixed duplicate constraints with parent class interfaces (dmaicher)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] fixed duplicate constraints with parent class interfaces

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

This fixes https://github.com/symfony/symfony/issues/19516

Commits
-------

fb36c5a [Validator] fixed duplicate constraints with parent class interfaces
2016-08-23 09:51:32 -07:00
Nicolas Grekas
5e5e1db912 minor #19710 [ClassLoader] Fix tests (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[ClassLoader] Fix tests

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Tests pass?   | yes
| License       | MIT

As discussed right now on php-internals, this string is ignored and the docs only tells about null.

Commits
-------

0f95708 [ClassLoader] Fix tests
2016-08-23 15:28:32 +02:00
Nicolas Grekas
0f95708a1d [ClassLoader] Fix tests 2016-08-23 11:26:23 +02:00
Nicolas Grekas
2449a9712c bug #19647 [Debug] Swap dumper services at bootstrap (lyrixx)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Swap dumper services at bootstrap

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

---

This commit fix a bug when using debug function too soon.
For example, if you call dump function during kernel::boot() the
dump output will be sent to stderr, even in a web context.

With this patch, the data collector is used by default, so the
dump output is send to the WDT. In a CLI context, if dump is used
too soon, the datacollector will buffer it, and release it at the
end of the script. So in this case everything will be visible by the
end used.

Commits
-------

d80589c [Debug] Swap dumper services at bootstrap
2016-08-23 09:13:30 +02:00
Nicolas Grekas
3596cb26ad bug #19685 [DI][2.7] Include dynamic services in alternatives (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI][2.7] Include dynamic services in alternatives

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Commits
-------

428b5cc include dynamic services in list of alternatives
2016-08-23 09:00:45 +02:00
Nicolas Grekas
589b1d4c38 bug #19702 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes (aka "small-bc-breaks") (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes (aka "small-bc-breaks")

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| Tests pass?   | yes
| License       | MIT

On PHP 7.2:
- `is_object()` is going to return `true` for `__PHP_Incomplete_Class` instances
- `gettype($closed_resource);` returns "resource (closed)"

ping @nikic FYI
see https://travis-ci.org/symfony/symfony/jobs/154114269 for fixed tests (except the one on ClassLoader which is a BC break on 7.1 that should be fixed there IMHO).

Commits
-------

feb2cd0 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes
2016-08-23 08:53:13 +02:00
Nicolas Grekas
feb2cd0c71 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes 2016-08-22 19:42:59 +02:00
Taras Girnyk
7c0a62c6a7 [DependencyInjection] PhpDumper::isFrozen inconsistency 2016-08-22 09:38:12 -07:00
Roland Franssen
3306c70a34 [DI] Cleanup array_key_exists 2016-08-22 08:32:51 -07:00
Roland Franssen
428b5cc6a8 include dynamic services in list of alternatives 2016-08-20 13:46:51 +00:00
Fabien Potencier
7b383a9788 bug #19666 Verify explicitly that the request IP is a valid IPv4 address (nesk)
This PR was squashed before being merged into the 2.7 branch (closes #19666).

Discussion
----------

Verify explicitly that the request IP is a valid IPv4 address

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

Take the following base code (the array is based on [CloudFlare IP Ranges](https://www.cloudflare.com/ips/)):

```php
use Symfony\Component\HttpFoundation\IpUtils;

$ips = [
   "103.21.244.0/22",
   "103.22.200.0/22",
   "103.31.4.0/22",
   "104.16.0.0/12",
   "108.162.192.0/18",
   "131.0.72.0/22",
   "141.101.64.0/18",
   "162.158.0.0/15",
   "172.64.0.0/13",
   "173.245.48.0/20",
   "188.114.96.0/20",
   "190.93.240.0/20",
   "197.234.240.0/22",
   "198.41.128.0/17",
   "199.27.128.0/21",
   "2400:cb00::/32",
   "2405:8100::/32",
   "2405:b500::/32",
   "2606:4700::/32",
   "2803:f800::/32",
   "2c0f:f248::/32",
   "2a06:98c0::/29",
];
```

Before this PR, the following code would have returned `true` instead of the expected `false` value:

```php
IpUtils::checkIp('blablabla', $ips);
```

This due to the `ip2long` function returning `false` for an invalid IP address, thus returning `"00000000000000000000000000000000"` with the following code:

```php
sprintf('%032b', ip2long('blablabla'));
```

To fix this I simply check if the `$requestIp` variable contains a valid IP address.

Commits
-------

17e418c Verify explicitly that the request IP is a valid IPv4 address
2016-08-19 08:01:17 -07:00
Johann Pardanaud
17e418caf0 Verify explicitly that the request IP is a valid IPv4 address 2016-08-19 08:01:16 -07:00
Nicolas Grekas
8f18c3bd13 minor #19674 [HttpKernel] Fix too strict test (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Fix too strict test

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Tests pass?   | yes
| License       | MIT

This test is too strict and prevents adding properties to Data objects for no reason.

Commits
-------

2e7301d [HttpKernel] Fix too strict test
2016-08-19 15:45:43 +02:00
Nicolas Grekas
2e7301dabf [HttpKernel] Fix too strict test 2016-08-19 15:31:18 +02:00
Michele Locati
255c59f670 Disable CLI color for Windows 10 greater than 10.0.10586 2016-08-19 08:41:18 +02:00
Nicolas Grekas
39cd984d7b bug #19663 Exception details break the layout (Dionysis Arvanitis)
This PR was merged into the 2.7 branch.

Discussion
----------

Exception details break the layout

Exception details break the layout

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| License       | MIT

By adding `word-wrap: break-word;` the exception details will wrap inside the block.

Commits
-------

00b4ecb Exception details break the layout
2016-08-18 22:08:23 +02:00
Dionysis Arvanitis
00b4ecb97a Exception details break the layout 2016-08-18 21:55:40 +03:00
Nicolas Grekas
1972a8f906 [HttpKernel] Remove wrong docblock 2016-08-18 14:31:26 +02:00
Fabien Potencier
c5ca5f3ed7 bug #19651 [HttpKernel] Fix HttpCache validation HTTP method (tgalopin)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Fix HttpCache validation HTTP method

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

Commits
-------

1a8a8af [HttpKernel] Fix HttpCache validation HTTP method
2016-08-17 11:31:09 -07:00
Titouan Galopin
1a8a8afdc6 [HttpKernel] Fix HttpCache validation HTTP method 2016-08-17 20:25:22 +02:00
Grégoire Pineau
d80589c2d4 [Debug] Swap dumper services at bootstrap
This commit fix a bug when using debug function too soon.
For example, if you call dump function during kernel::boot() the
dump output will be sent to stderr, even in a web context.

With this patch, the data collector is used by default, so the
dump output is send to the WDT. In a CLI context, if dump is used
too soon, the datacollector will buffer it, and release it at the
end of the script. So in this case everything will be visible by the
end used.
2016-08-17 13:57:44 +02:00
Fabien Potencier
adb7033fc2 bug #19623 [VarDumper] Fix dumping continuations (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Fix dumping continuations

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

Dumping twice on the same destination shouldn't dump headers again.

Commits
-------

da96719 [VarDumper] Fix dumping continuations
2016-08-16 07:52:15 -07:00
Christian Schmidt
f45da32488 [Routing] Add missing options in docblock 2016-08-16 12:55:04 +02:00
Nicolas Grekas
da96719b94 [VarDumper] Fix dumping continuations 2016-08-16 10:33:51 +02:00
Fabien Potencier
2345ec1210 bug #19549 [HttpFoundation] fixed Request::getContent() reusage bug (1ma)
This PR was squashed before being merged into the 2.7 branch (closes #19549).

Discussion
----------

[HttpFoundation] fixed Request::getContent() reusage bug

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

After calling ```Request::getContent(true)```, subsequent calls to the
same instance method (withouth the ```$asResource``` flag) always returned
```false``` instead of the request body as a plain string.

A unit test already existed to guard against this behaviour (the 'Resource then fetch' case) but it
yielded a false positive because it was comparing ```''``` to ```false``` using
PHPUnit's ```assertEquals``` method instead of ```assertSame```.

For completeness sake I also added the missing usage permutations in
the data provider, which already worked OK.

Commits
-------

c42ac66 [HttpFoundation] fixed Request::getContent() reusage bug
2016-08-15 16:08:50 -07:00
Marcel Hernandez
c42ac660cb [HttpFoundation] fixed Request::getContent() reusage bug 2016-08-15 16:08:46 -07:00
Fabien Potencier
1a059e54cf bug #19373 [Form] Skip CSRF validation on form when POST max size is exceeded (jameshalsall)
This PR was squashed before being merged into the 2.7 branch (closes #19373).

Discussion
----------

[Form] Skip CSRF validation on form when POST max size is exceeded

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

In #19140 the CSRF validation listener was not aware that the POST max size had exceeded, and was adding a form error message that wasn't relevant to the actual error.

This introduces the `ServerParams` utility class into the `CsrfValidationListener` and checks that the POST max size has not been exceeded. If it has then it won't bother trying to validate the CSRF token.

My main concern with this change is that it opens up an attack vector around tokens, but I've encapsulated the request size validation in a single method in `ServerParams` now so that the request handlers are using the same logic.

Commits
-------

289531f [Form] Skip CSRF validation on form when POST max size is exceeded
2016-08-15 15:45:28 -07:00
James Halsall
289531f0d0 [Form] Skip CSRF validation on form when POST max size is exceeded 2016-08-15 15:45:25 -07:00
Fabien Potencier
b405df0925 bug #19541 Fix #19531 [Form] DateType fails parsing when midnight is not a valid time (mbeccati)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix #19531 [Form] DateType fails parsing when midnight is not a valid time

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

Commits
-------

c951bb6 Fix #19531 [Form] DateType fails parsing when midnight is not a valid time
2016-08-13 11:47:46 -07:00
Leo Feyer
4e8bfc65af Enhance the phpDoc return types so IDEs can handle the configuration tree. 2016-08-13 11:45:47 -07:00
Roland Franssen
359204f056 fixes 2016-08-13 11:43:48 -07:00
Nicolas Grekas
a7a2d16511 [Process] Strengthen Windows pipe files opening (again...) 2016-08-11 08:52:50 +02:00
David Maicher
fb36c5a575 [Validator] fixed duplicate constraints with parent class interfaces
This fixes https://github.com/symfony/symfony/issues/19516
2016-08-10 21:49:44 +02:00
dana
4e4c674c09 Console: Fix indentation of Help: section of txt usage help 2016-08-09 06:38:20 -07:00
Fabien Potencier
454b16db88 minor #19468 [Intl] Update ICU data to 57.1 (jakzal)
This PR was squashed before being merged into the 2.7 branch (closes #19468).

Discussion
----------

[Intl] Update ICU data to 57.1

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

I think the only thing that makes sense with ICU is to always be on the latest available version.

Commits
-------

a48c00b [Intl] Update ICU data to 57.1
2016-08-09 06:34:05 -07:00
Jakub Zalas
a48c00ba9c [Intl] Update ICU data to 57.1 2016-08-09 06:33:47 -07:00
Nicolas Grekas
cb6c925798 minor #19476 [Config] Improved test (zomberg)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Improved test

| 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        | ~

Commits
-------

456d53a [Config] Improved test
2016-08-09 13:59:32 +02:00
Nicolas Grekas
ba539190c5 bug #19564 Added class existence check if is_subclass_of() fails in compiler passes (SCIF)
This PR was merged into the 2.7 branch.

Discussion
----------

Added class existence check if is_subclass_of() fails in compiler passes

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | no

Backport of #19342 to 2.7 branch

Commits
-------

77adea7 Added class existence check if is_subclass_of() fails in compiler passes
2016-08-09 11:00:18 +02:00
Fabien Potencier
00e2a42d8a minor #19554 [Routing] Reorder assert parameters (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Reorder assert parameters

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

The expected value must be the first parameter.

Commits
-------

7f88796 [Routing] Reorder assert parameters
2016-08-06 08:24:04 -07:00
Fabien Potencier
3936c4b22d minor #19534 Add czech translation for Url and Length validator (pulzarraider)
This PR was merged into the 2.7 branch.

Discussion
----------

Add czech translation for Url and Length validator

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

Commits
-------

bfd1644 Add czech translation for Url and Length validator
2016-08-06 08:23:12 -07:00
Fabien Potencier
ec53d79648 minor #19533 Add slovak translation for Url and Length validator (pulzarraider)
This PR was merged into the 2.7 branch.

Discussion
----------

Add slovak translation for Url and Length validator

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

Commits
-------

b29cab3 Add slovak translation for Url and Length validator
2016-08-06 08:21:36 -07:00
Fabien Potencier
4335829d58 minor #19550 Added missing czech validators translation of not expected charset (maryo)
This PR was merged into the 2.7 branch.

Discussion
----------

Added missing czech validators translation of not expected charset

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

Profiler was complaining about using a not translated message so I translated it.
Not sure if bug or feature. The bug label is probably not apropriate, sorry. But I guess it should be merged to all versions.

Commits
-------

7eacae8 Added missing czech validators translation of not expected charset
2016-08-06 08:19:33 -07:00
Guilhem N
7f8879686c [Routing] Reorder assert parameters 2016-08-06 17:00:05 +02:00
maryo
7eacae8817 Added missing czech validators translation of not expected charset 2016-08-05 19:33:08 +02:00
Matteo Beccati
c951bb6e97 Fix #19531 [Form] DateType fails parsing when midnight is not a valid time 2016-08-05 12:25:39 +02:00
Ben Johnson
4348f4be99 Workaround another buggy PHP warning
Added error-suppression to the `is_executable($path)` call, too, per the bug noted just above.

The cited issue manifests as such without it:

```
ErrorException in ExecutableFinder.php line 63:
is_executable(): open_basedir restriction in effect. File(/usr/share/php) is not within the allowed path(s): (/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/usr/local/zend/var/zray/extensions:/usr/local/zend/share:/usr/local/zend/var/plugins)
```
2016-08-04 13:11:16 -04:00
Andrej Hudec
bfd1644343 Add czech translation for Url and Length validator 2016-08-04 17:08:51 +02:00
Andrej Hudec
b29cab3547 Add slovak translation for Url and Length validator 2016-08-04 17:02:35 +02:00
Nicolas Grekas
1976b8bc5d minor #19512 [HttpKernel] Fix variable conflicting name (tgalopin)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Fix variable conflicting name

| 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        | -

Simply fix a conflicting name (`$bundle` is used for the foreach on line 466 and 476). It works for the moment only because there is nothing after the second foreach inside the first.

Commits
-------

9ac9f55 [HttpKernel] Fix variable conflicting name
2016-08-03 08:46:02 +02:00
Nicolas Grekas
5f59927307 bug #19510 [Process] Fix double-fread() when reading unix pipes (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Fix double-fread() when reading unix pipes

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

While looking at the blackfire profile of a `composer install`, I was able to reduce the number of calls to `fread` from 90k to 60k using this patch (and from 60k to <1k with https://github.com/composer/composer/pull/5569 but that's another story).

In fact, we should continue reading only if there might be something next, which won"t be the case if the buffer has not been filled.

Commits
-------

ac17617 [Process] Fix double-fread() when reading unix pipes
2016-08-03 08:45:31 +02:00
Titouan Galopin
9ac9f555a6 [HttpKernel] Fix variable conflicting name 2016-08-02 17:33:57 +02:00
Nicolas Grekas
ac17617ac0 [Process] Fix double-fread() when reading unix pipes 2016-08-02 16:08:20 +02:00
Nicolas Grekas
2bb2b9b35f [Process] Fix AbstractPipes::write() for a situation seen on HHVM (at least) 2016-08-02 12:55:32 +02:00
Dawid Nowak
d67f090003 SecurityBundle:BasicAuthenticationListener: removed a default argument on getting a header value
it's unnecessary.
2016-08-01 17:57:55 +02:00
Nicolas Grekas
45dac4b44e minor #19497 [Validator] Fix dockblock typehint in XmlFileLoader (tgalopin)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Fix dockblock typehint in XmlFileLoader

| 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        | -

Commits
-------

92b3ef4 [Validator] Fix dockblock typehint in XmlFileLoader
2016-08-01 14:08:03 +02:00
Titouan Galopin
92b3ef4cb2 [Validator] Fix dockblock typehint in XmlFileLoader 2016-08-01 12:57:31 +02:00
Fabien Potencier
2bdf12e42b bumped Symfony version to 2.7.17 2016-07-30 04:46:44 -04:00
Fabien Potencier
1c32449ae6 updated VERSION for 2.7.16 2016-07-30 04:15:38 -04:00
Vyacheslav Pavlov
774c984863 Minor fixes 2016-07-30 03:17:26 -04:00
Vyacheslav Pavlov
456d53acc9 [Config] Improved test 2016-07-29 15:20:41 +03:00
Fabien Potencier
bdfc2aa652 minor #19446 [Console] Overcomplete argument exception message tweak. (SpacePossum)
This PR was squashed before being merged into the 2.7 branch (closes #19446).

Discussion
----------

[Console] Overcomplete argument exception message tweak.

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

Updates the exception message when to many arguments are passed.
From;
```php
'Too many arguments.'
```
To:
```php
'No argument expected, got "foo".'
// or
'Too many arguments, expected arguments "foo".'
// or
'Too many arguments, expected arguments "foo, bar".'
// ... turtles all the way down
```

Commits
-------

7af59cd [Console] Overcomplete argument exception message tweak.
2016-07-28 13:56:28 -04:00
SpacePossum
7af59cdf86 [Console] Overcomplete argument exception message tweak. 2016-07-28 13:56:22 -04:00
Fabien Potencier
382ad65372 bug #19470 undefined offset fix (#19406) (ReenExe)
This PR was squashed before being merged into the 2.7 branch (closes #19470).

Discussion
----------

undefined offset fix (#19406)

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

Commits
-------

9813888 undefined offset fix (#19406)
2016-07-28 12:53:57 -04:00
ReenExe
9813888a4f undefined offset fix (#19406) 2016-07-28 12:53:55 -04:00
Christophe Coevoet
42ea173247 minor #19459 [EventDispatcher] Removed unused variable (zomberg)
This PR was merged into the 2.7 branch.

Discussion
----------

[EventDispatcher] Removed unused variable

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

Commits
-------

891e2ea [EventDispatcher] Removed unused variable
2016-07-28 13:09:20 +02:00
Vyacheslav Pavlov
891e2ea17b [EventDispatcher] Removed unused variable 2016-07-28 10:50:15 +03:00
Nicolas Grekas
a8a9923260 bug #19300 [HttpKernel] Use flock() for HttpCache's lock files (mpdude)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Use flock() for HttpCache's lock files

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | #16777, #15813 and #16312 are also related
| License       | MIT
| Doc PR        |

When a PHP process crashes or terminates (maybe the OOM killer kicks in or other bad things ™️ happen) while the `HttpCache` holds a `.lck` file, that lock file may not get `unlink()`ed.

The result is that other requests trying to access this cache entry will see a few seconds delay while waiting for the lock; they will eventually continue but send 503 status codes along with the response. The sudden buildup of PHP processes caused by the additional delay may cause further problems (sudden load increase).

As `LockHandler` is using `flock()`-based locking, locks should be released by the OS when the PHP process terminates.

I wrote this as bugfix against 2.7 because every once in a while I encounter situations (not always reproducible) where `.lock` files are left over and keep the cache locked.

Commits
-------

2668edd [HttpKernel] Use flock() for HttpCache's lock files
2016-07-28 09:16:08 +02:00
Nicolas Grekas
f9ba34f871 bug #19428 [Process] Fix write access check for pipes on Windows (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Fix write access check for pipes on Windows

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

Commits
-------

66e694e [Process] Fix write access check for pipes on Windows
2016-07-28 08:53:02 +02:00
Alexander Zhuravlev
77adea7110 Added class existence check if is_subclass_of() fails in compiler passes 2016-07-27 22:26:20 +12:00
Nicolas Grekas
66e694ed57 [Process] Fix write access check for pipes on Windows 2016-07-26 10:11:15 +02:00
Matthias Pigulla
2668edd05b [HttpKernel] Use flock() for HttpCache's lock files 2016-07-26 09:56:53 +02:00
Nicolas Grekas
eeaa0c7fd1 minor #19389 [Console] Application update PHPDoc of add and register methods (SpacePossum)
This PR was squashed before being merged into the 2.7 branch (closes #19389).

Discussion
----------

[Console] Application update PHPDoc of add and register methods

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

The [PHPDoc](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Console/Application.php#L354) states the method will always return a command, but it doesn't. Since [Application::register](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Console/Application.php#L328) returns the result of `add` directly is also doesn't always return the command (as its PHPDoc states).

Commits
-------

6f0474f [Console] Application update PHPDoc of add and register methods
2016-07-26 06:44:12 +02:00
SpacePossum
6f0474f9a6 [Console] Application update PHPDoc of add and register methods 2016-07-26 06:44:10 +02:00
Nicolas Grekas
4af4878e3d minor #19399 [Config] Extra tests for Config component (zomberg)
This PR was squashed before being merged into the 2.7 branch (closes #19399).

Discussion
----------

[Config] Extra tests for Config component

| 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        | ~

Commits
-------

d0f4434 [Config] Extra tests for Config component
2016-07-26 06:42:31 +02:00
Vyacheslav Pavlov
d0f4434c4e [Config] Extra tests for Config component 2016-07-26 06:42:29 +02:00
Vyacheslav Pavlov
c41aa03c48 Fixed bugs in names of classes and methods. 2016-07-26 06:40:54 +02:00
Nicolas Grekas
c4069a4016 minor #19392 [BrowserKit] Added test for followRedirect method (POST method) (zomberg)
This PR was squashed before being merged into the 2.7 branch (closes #19392).

Discussion
----------

[BrowserKit] Added test for followRedirect method (POST method)

| 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        | ~

Test covers 'else' branches in these conditions:
```php
if (in_array($this->internalResponse->getStatus(), array(302, 303))) {
    $method = 'get';
    $files = array();
    $content = null;
} else {
    $method = $request->getMethod();
    $files = $request->getFiles();
    $content = $request->getContent();
}

if ('get' === strtolower($method)) {
    // Don't forward parameters for GET request as it should reach the redirection URI
    $parameters = array();
} else {
    $parameters = $request->getParameters();
}
```

Commits
-------

2ace5d8 [BrowserKit] Added test for followRedirect method (POST method)
2016-07-25 18:30:57 +02:00
Vyacheslav Pavlov
2ace5d812c [BrowserKit] Added test for followRedirect method (POST method) 2016-07-25 18:30:50 +02:00
Nicolas Grekas
f6a77a1a3e bug #19397 [2.7] [HttpFoundation] HttpCache refresh stale responses containing an ETag (maennchen)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] [HttpFoundation] HttpCache refresh stale responses containing an ETag

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

This PR is the replacement of #19391, which points at the wrong branch.

Commits
-------

96df6b9 [HttpFoundation] HttpCache refresh stale responses containing an ETag
2016-07-25 18:30:07 +02:00
Jakub Zalas
7b117d3320 [BrowserKit] Uppercase the "GET" method in redirects 2016-07-25 14:54:45 +01:00
Jonatan Männchen
96df6b984c [HttpFoundation] HttpCache refresh stale responses containing an ETag 2016-07-20 22:30:20 +00:00
Nicolas Grekas
07467ed3a3 Fix PHP 7.1 related failures 2016-07-19 10:44:18 +02:00
Nicolas Grekas
d422939f6c [VarDumper] Fix for 7.1 2016-07-18 14:55:17 +02:00
Nicolas Grekas
56549e7a70 [VarDumper] Fix dumping jsons casted as arrays 2016-07-16 15:16:34 +02:00
Fabien Potencier
d303b9dffe minor #19343 PassConfig::getMergePass is not an array (aschempp)
This PR was squashed before being merged into the 2.7 branch (closes #19343).

Discussion
----------

PassConfig::getMergePass is not an array

| 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        | -

Just a minor glitch my IDE noticed :-)

Commits
-------

edbefac PassConfig::getMergePass is not an array
2016-07-14 11:24:46 +02:00
Andreas Schempp
edbefacdd1 PassConfig::getMergePass is not an array 2016-07-14 11:24:45 +02:00
Fabien Potencier
482e185daf Revert "bug #19114 [HttpKernel] Dont close the reponse stream in debug (nicolas-grekas)"
This reverts commit a0cdcb0ffb, reversing
changes made to 9c8a3e9563.
2016-07-13 12:53:11 +02:00
Christophe Coevoet
e04136524c Fix the retrieval of the last username when using forwarding 2016-07-11 11:55:50 +02:00
Kévin Dunglas
a3fd991c4b [Yaml] Fix PHPDoc of the Yaml class 2016-07-11 09:20:55 +02:00
Fabien Potencier
500c2cd694 bug #19321 [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #19321).

Discussion
----------

[HttpFoundation] Add OPTIONS and TRACE to the list of safe methods

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

According to [RFC 7231](https://tools.ietf.org/html/rfc7231#section-8.1.3) `OPTIONS` and `TRACE` are safe methods.

Commits
-------

1404607 [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
2016-07-10 11:40:50 +02:00
Kévin Dunglas
1404607072 [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods 2016-07-10 11:40:48 +02:00
Fabien Potencier
8b6d74e1e7 bug #19317 [BrowserKit] Update Client::getAbsoluteUri() for query string only URIs (georaldc)
This PR was merged into the 2.7 branch.

Discussion
----------

[BrowserKit] Update Client::getAbsoluteUri() for query string only URIs

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

This PR allows BrowserKit to treat a value containing only query string parameters the same way anchor/hash values are treated when passed as a URI argument to the getAbsoluteUri() method. Helps when encountering sites that force a redirect with a location header value containing only a query string.

Commits
-------

965408f Update getAbsoluteUri() for query string uris
2016-07-10 11:39:24 +02:00
Nicolas Grekas
7c39ac1350 bug #19298 [ClassLoader] Fix declared classes being computed when not needed (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[ClassLoader] Fix declared classes being computed when not needed

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

Commits
-------

d513eae [ClassLoader] Fix declared classes being computed when not needed
2016-07-10 09:26:25 +02:00
georaldc
965408fd2d Update getAbsoluteUri() for query string uris
Apply same rules to query string only URIs as what's being used for URIs containing only hash/anchor values
2016-07-08 11:46:34 -07:00
Fabien Potencier
b7ed32a36b bug #19316 [Validator] Added additional MasterCard range to the CardSchemeValidator (Dennis Væversted)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Added additional MasterCard range to the CardSchemeValidator

From October 2016 MasterCard will introduce a new card range, 222100 through 272099.
See: https://www.mctestcards.com/ (click the help in top right)
This implements the additional regex for validation to succeed, and some additional unit tests for this new range.

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

Commits
-------

4d68f56 [Validator] Added additional MasterCard range to the CardSchemeValidator
2016-07-08 12:15:13 +02:00
Fabien Potencier
b795cfadcb bug #19290 [HttpKernel] fixed internal subrequests having an if-modified-since-header (MalteWunsch)
This PR was squashed before being merged into the 2.7 branch (closes #19290).

Discussion
----------

[HttpKernel] fixed internal subrequests having an if-modified-since-header

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

As the InlineFragmentRenderer has no access to a cached copy of a subrequest's target and hence couldn't handle a response with a HTTP status code of 304 (not modified), it makes no sense to send an if-not-modified-since header.

Commits
-------

e90038c [HttpKernel] fixed internal subrequests having an if-modified-since-header
2016-07-08 12:11:06 +02:00
Malte Wunsch
e90038c52e [HttpKernel] fixed internal subrequests having an if-modified-since-header 2016-07-08 12:11:03 +02:00
Dennis Væversted
4d68f56242 [Validator] Added additional MasterCard range to the CardSchemeValidator
From October 2016 MasterCard will introduce a new card range,
222100 through 272099.
See: https://www.mctestcards.com/ (click the help in top right)
Implements unit tests and validation for this new card range.
2016-07-08 11:49:25 +02:00
Tobias Nyholm
6344ccd7b1 Make the exception message more clear. 2016-07-08 08:55:07 +02:00
Fabien Potencier
41d6758ee5 bug #19306 [Form] fixed bug - name in ButtonBuilder (cheprasov)
This PR was squashed before being merged into the 2.7 branch (closes #19306).

Discussion
----------

[Form] fixed bug - name in ButtonBuilder

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

**Bug:**

For any scalar of name, expression `empty($name) && 0 != $name` is never true,
and as result - empty string ('') is allowed.

**Examples:**

```php
$name = ''; var_dump(empty($name) && 0 != $name); // false
$name = '0'; var_dump(empty($name) && 0 != $name); // false
$name = null; var_dump(empty($name) && 0 != $name); // false
$name = false; var_dump(empty($name) && 0 != $name); // false
$name = 0; var_dump(empty($name) && 0 != $name); // false
```

Commits
-------

f507023 [Form] fixed bug - name in ButtonBuilder
2016-07-08 08:48:29 +02:00
Alexander Cheprasov
f507023e50 [Form] fixed bug - name in ButtonBuilder 2016-07-08 08:48:27 +02:00
Nicolas Grekas
d513eae29e [ClassLoader] Fix declared classes being computed when not needed 2016-07-06 10:59:52 +02:00
Fabien Potencier
0259bedec1 bug #19267 [Validator] UuidValidator must accept a Uuid constraint. (hhamon)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] UuidValidator must accept a Uuid constraint.

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

Commits
-------

ff8bb4b [Validator] UuidValidator must accept a Uuid constraint.
2016-07-04 14:22:45 +02:00
Fabien Potencier
5d6f6aa7c7 removed @since 2016-07-04 07:27:33 +02:00
Fabien Potencier
4b9b6fb2d5 minor #19269 [Validator] [Security] Remove unrelevant comments in Security and Validator components (hhamon)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] [Security] Remove unrelevant comments in Security and Validator components

| 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        | ~

Commits
-------

2cec4a6 Remove and change unrelevant comments in Validator and Security components.
2016-07-02 18:12:19 +02:00
Hugo Hamon
2cec4a61ef Remove and change unrelevant comments in Validator and Security components. 2016-07-01 22:22:57 +02:00
Hugo Hamon
ff8bb4b5f2 [Validator] UuidValidator must accept a Uuid constraint. 2016-07-01 21:12:56 +02:00
Hugo Hamon
3cc2f10541 [Validator] make UuidValidator class formatting consistent. 2016-07-01 20:48:13 +02:00
Fabien Potencier
81b0cc7c72 fixed CS 2016-07-01 09:20:22 +02:00
Ben Oman
ebbc7068f9 Fix for #19183 to add support for new PHP MongoDB extension in sessions. 2016-07-01 08:50:26 +02:00
Fabien Potencier
6cdb090dd0 bumped Symfony version to 2.7.16 2016-06-30 17:39:56 +02:00
Fabien Potencier
ec1ff36e58 updated VERSION for 2.7.15 2016-06-30 17:14:22 +02:00
Fabien Potencier
94773ad4ad minor #19243 Fixed typos in the expectedException annotations (GrahamCampbell)
This PR was squashed before being merged into the 2.7 branch (closes #19243).

Discussion
----------

Fixed typos in the expectedException annotations

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

PHPUnit ignores any imports when resolving these. You must always reference the FQCN.

Commits
-------

b36de36 Fixed typos in the expectedException annotations
2016-06-30 13:18:56 +02:00
Graham Campbell
b36de36697 Fixed typos in the expectedException annotations 2016-06-30 13:18:54 +02:00
Magnus Nordlander
db841018dc [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For 2016-06-30 08:49:13 +02:00
Nicolas Grekas
1f00b55373 [HttpKernel] Move conflicting origin IPs handling to catch block 2016-06-30 08:49:13 +02:00
Nicolas Grekas
9d3ae85301 [HttpKernel] Inline ValidateRequestListener logic into HttpKernel 2016-06-29 12:24:37 +02:00
Jules Pietri
f809f3e340 fixed HttpKernel dependencies after #18688 2016-06-29 10:18:30 +02:00
Fabien Potencier
2d3723007d bug #18688 [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For (magnusnordlander)
This PR was squashed before being merged into the 2.7 branch (closes #18688).

Discussion
----------

[HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For

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

Emit a warning when a request has both a trusted Forwarded header and a trusted X-Forwarded-For header, as this is most likely a misconfiguration which causes security issues.

Commits
-------

ee8842f [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For
2016-06-29 09:01:56 +02:00
Magnus Nordlander
ee8842fedb [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For 2016-06-29 09:01:55 +02:00
Fabien Potencier
96f32b6512 bug #19173 [Console] Decouple SymfonyStyle from TableCell (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #19173).

Discussion
----------

[Console] Decouple SymfonyStyle from TableCell

| 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        | ~

Alternative approach, ie BC, for #19136 (i prefer that one though, as it also _fixes_ #19123 )

Commits
-------

51f59d6 [Console] Decouple SymfonyStyle from TableCell
2016-06-29 07:44:56 +02:00
Roland Franssen
51f59d6f62 [Console] Decouple SymfonyStyle from TableCell 2016-06-29 07:44:54 +02:00
Fabien Potencier
b111d37594 minor #19198 removed dots at the end of @param and @return (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

removed dots at the end of @param and @return

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

For phpdocs, we only add dots for sentences like description, but not for @param and @return for instance. This PR fixes this issue.

This should probably be added to PHP-CS-Fixer as well (/cc @phansys @keradus).

Commits
-------

554303e removed dots at the end of @param and @return
2016-06-29 07:22:22 +02:00
Fabien Potencier
554303e339 removed dots at the end of @param and @return 2016-06-28 08:24:06 +02:00
Fabien Potencier
7dbd849d0f bug #17822 [WIP] [2.7] [Form] fix empty_data option in expanded ChoiceType (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[WIP] [2.7] [Form] fix `empty_data` option in expanded `ChoiceType`

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

It might happen because in `Form::submit()` the handling of `empty_data` [line 597](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Form.php#L597) comes after each child of a compound field has been submitted [line 549](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Form.php#L549).

So when `ChoiceType` is `expanded`, `compound` option is defaulted to `true` and it passes its empty submitted data to its children before handling its own `empty_data` option.

This PR uses the listener already added in `ChoiceType` only when `expanded` is true to handle `empty_data` at `PRE_SUBMIT` [line 539](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Form.php#L539).

- [ ] Fix FQCN in tests for 2.8
- [ ] Remove `choices_as_values` in tests for 3.0

Commits
-------

d479adf [Form] fix `empty_data` option in expanded `ChoiceType`
2016-06-28 08:17:04 +02:00
Javier Spagnoletti
d250b1d0f0 [CS] Respect PSR2 4.2
| Q             | A
| ------------- | ---
| Branch        | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

http://www.php-fig.org/psr/psr-2/#4-2-properties
2016-06-25 13:30:09 -03:00
Jules Pietri
d479adf073 [Form] fix empty_data option in expanded ChoiceType 2016-06-25 16:15:36 +02:00
Fabien Potencier
35f32ebe12 [Console] removed unneeded private methods 2016-06-24 07:18:49 +02:00
Fabien Potencier
448a390970 bug #19134 Distinguish between first and subsequent progress bar displays (rquadling)
This PR was merged into the 2.7 branch.

Discussion
----------

Distinguish between first and subsequent progress bar displays

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19133
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Fixes https://github.com/symfony/symfony/issues/19133

When a progress bar is first displayed, if it is multi-line, previously output lines are erased, depending upon the number of lines in the progress bar.

This patch fixes that be distinguishing between the first display (no erasing of previous output) and subsequent displays of the progress bar.

Commits
-------

3871e1a Differentiate between the first time a progress bar is displayed and subsequent times
2016-06-23 15:30:31 +02:00
Christian Flothmann
81a6d8ed88 explicitly forbid e-mail validator 2.0 or higher 2016-06-22 23:25:31 +02:00
Fabien Potencier
e8901b1669 bug #19061 [FORM] fix post_max_size_message translation (alt. 2) (David Badura)
This PR was merged into the 2.7 branch.

Discussion
----------

[FORM] fix post_max_size_message translation (alt. 2)

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

Commits
-------

9d8a5e5 fix post_max_size_message translation
2016-06-22 13:59:59 +02:00
Sebastiaan Stok
a8f6f85748 Fixed SymfonyQuestionHelper multi-choice with defaults 2016-06-22 13:33:19 +02:00
Richard Quadling
3871e1a950 Differentiate between the first time a progress bar is displayed and subsequent times 2016-06-22 09:44:25 +01:00
Fabien Potencier
eaca0bb0fa bug #19138 [DomCrawler] No more exception on field name with strange format (guiled, fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

[DomCrawler] No more exception on field name with strange format

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

Commits
-------

e204913 finished previous commit
953a383 No more exception for malformed input name
2016-06-22 08:42:02 +02:00
Fabien Potencier
e204913a67 finished previous commit 2016-06-22 08:40:44 +02:00
guiled
953a3835a2 No more exception for malformed input name 2016-06-22 08:06:22 +02:00
David Badura
9d8a5e5a04 fix post_max_size_message translation 2016-06-21 22:32:24 +02:00
Fabien Potencier
f28eb9a617 bug #18935 [Form] Consider a violation even if the form is not submitted (egeloen)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Consider a violation even if the form is not submitted

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes (only for the behavior)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #11493
| License       | MIT
| Doc PR        |

Hey!

I'm currently implementing an API using the form component in order to validate the payload sent (in conjonction with the FOSRestBundle). Unfortunatelly, we dig into an issue about the PATCH request which don't map some of our validation rules to the form. Basically, the violations are lost in the middle of the process.

### Use case

We have an entity with the following fields "type", "image" & "video". The field "type"can be either "default", "image" or "video" and then accordingly we use the appropriate field (none for the "default" type, video for the "video" type and image for the "image" type. Then, in our form, we change the validation groups according to our entity type in order to make the "image" field mandatory if the type is "image" and the same for the video field if the type is "video".

### Current behavior

The current behavior (since 2.5) seems to not propages a violation to a form if this form is not submitted but in our use case, changing the field "type" via a PATCH request triggers some new validation which should be reported to end user (inform that a field (video or image) is missing in the PATCH request).

### Expected behavior

The current behavior was introduced in #10567 but IMO, this update is a bug as suggested by @webmozart in https://github.com/symfony/symfony/issues/11493#issuecomment-59549054 Instead, the form component should still map validation errors to the form even if the field was not submitted. If the initial data is not valid, then your initial data was buggy from the beginning but the form should not accept it and instead of silently ignoring the errors, end users should be informed and fix it.

WDYT?

Commits
-------

c483a0f [Form] Consider a violation even if the form is not submitted
2016-06-21 22:19:14 +02:00
Fabien Potencier
bbb75faa15 bug #19127 [Form] Add exception to FormRenderer about non-unique block names (enumag)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Add exception to FormRenderer about non-unique block names

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

Commits
-------

c6db6f3 [Form] Add exception to FormRenderer about non-unique block names
2016-06-21 22:02:08 +02:00
Romain Neutron
ec19a527be bug #19118 [Process] Fix pipes cleaning on Windows (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Fix pipes cleaning on Windows

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

Commits
-------

d54cd02 [Process] Fix pipes cleaning on Windows
2016-06-21 15:46:37 +02:00
Nicolas Grekas
d54cd02d06 [Process] Fix pipes cleaning on Windows 2016-06-21 14:37:54 +02:00
Iltar van der Berg
b05014c2e9 Avoid phpunit 5.4 warnings on getMock 2016-06-21 09:59:55 +02:00
Jáchym Toušek
c6db6f3d50 [Form] Add exception to FormRenderer about non-unique block names 2016-06-21 09:39:01 +02:00
Fabien Potencier
7cc3ca59d0 fixed CS 2016-06-20 18:47:20 +02:00
Fabien Potencier
a0cdcb0ffb bug #19114 [HttpKernel] Dont close the reponse stream in debug (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Dont close the reponse stream in debug

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

Because it's `terminate`'s job to clean the state, not the `Response`'s,
and because the current behavior prevents getting any output on trailing errors on FPM especially.

Commits
-------

2fbc200 [HttpKernel] Dont close the output stream in debug
2016-06-20 13:19:36 +02:00
Nicolas Grekas
2fbc2008e5 [HttpKernel] Dont close the output stream in debug 2016-06-20 10:21:56 +02:00
Fabien Potencier
9df08fac89 bug #19101 [Session] fix PDO transaction aborted under PostgreSQL (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

[Session] fix PDO transaction aborted under PostgreSQL

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

Fixes the transactional concurrency error handling for PostgreSQL which does not allow to execute further queries in a transaction with an error.
Because of the loop, look at the diff with whitespace ignored to see the difference: https://github.com/symfony/symfony/pull/19101/files?w=1

Commits
-------

f8eefa0 [Session] fix PDO transaction aborted under PostgreSQL
2016-06-19 14:22:58 +02:00
Fabien Potencier
6a8a113fb9 bug #18501 [HttpFoundation] changed MERGE queries (hjkl)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] changed MERGE queries

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

Changed the MERGE queries for Oracle and SQL Server to use question mark parameter markers so they work with emulation disabled or enabled - fixes #17284

Commits
-------

ebf3a2f Fixed oci and sqlsrv merge queries when emulation is disabled - fixes #17284
2016-06-19 12:25:18 +02:00
Fabien Potencier
41fd5a1f7d minor #19094 [Console] Use InputInterface inherited doc as possible (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Use InputInterface inherited doc as possible

| 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        | ~

In classes implementing `InputInterface`, the methods doc blocks are duplicated from the interface.
Sometimes descriptions are different from the interface's ones and, sometimes, the class doc is clearer. So I tried to keep always the most adapted one.

Commits
-------

b604be7 [Console] Use InputInterface inherited doc as possible
2016-06-19 12:24:22 +02:00
Tobias Schultze
7eab67fbb5 minor #19085 FormBuilderInterface: fix getForm() return type. (taueres)
This PR was merged into the 2.7 branch.

Discussion
----------

FormBuilderInterface: fix getForm() return type.

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

FormBuilderInterface->getForm() should depend on abstractions and
not implementations as a return type.

Commits
-------

3fa081c FormBuilderInterface: fix getForm() return type.
2016-06-18 22:20:36 +02:00
hjkl
ebf3a2ffc8 Fixed oci and sqlsrv merge queries when emulation is disabled - fixes #17284 2016-06-18 20:15:19 +01:00
Tobias Schultze
f8eefa0748 [Session] fix PDO transaction aborted under PostgreSQL 2016-06-18 19:15:36 +02:00
Robin Chalas
b604be7084
[Console] Use InputInterface inherited doc as possible 2016-06-18 12:04:12 +02:00
Nicolas Grekas
86552ea2dc minor #19036 add docblock type elements to support newly added IteratorAggregate::getIterator PhpStorm support (Haehnchen)
This PR was merged into the 2.7 branch.

Discussion
----------

add docblock type elements to support newly added IteratorAggregate::getIterator PhpStorm support

| Q             | A
| ------------- | ---
| Branch       | 2.7
| Bug fix      | no
| New feature  | no
| BC breaks    | no
| Deprecations | no
| Tests pass   | yes
| License       | MIT

In additional to #16965 PhpStorm supports `IteratorAggregate::getIterator` now. see https://blog.jetbrains.com/phpstorm/2016/06/phpstorm-2016-2-eap-162-844/

example
```
$collection  = new \Symfony\Component\Routing\RouteCollection();
foreach ($collection as $route) {
    $route->getHost();
}
```

Commits
-------

ede3556 add docblock type elements to support newly added IteratorAggregate::getIterator PhpStorm support
2016-06-17 15:03:05 +02:00
Daniel Espendiller
ede35568bf add docblock type elements to support newly added IteratorAggregate::getIterator PhpStorm support 2016-06-17 14:42:34 +02:00
Sergio Santoro
3fa081cc71 FormBuilderInterface: fix getForm() return type.
FormBuilderInterface->getForm() should depend on abstractions and
not implementations as a return type.
2016-06-17 13:29:11 +02:00
Thomas Landauer
9e7b3479dc Fixed typo in PHPDoc 2016-06-16 20:42:35 +02:00
Nicolas Grekas
ff1f5f80d2 [HttpFoundation] Fix UPSERT for PgSql >= 9.5 2016-06-15 12:17:39 +02:00
Jules Pietri
b91008fb57 [Form] fixed DateTime transformers 2016-06-15 09:21:32 +02:00
Fabien Potencier
d7e466ac23 bug #18732 [PropertyAccess][DX] Enhance exception that say that some methods are missing if they don't (nykopol)
This PR was squashed before being merged into the 2.7 branch (closes #18732).

Discussion
----------

[PropertyAccess][DX] Enhance exception that say that some methods are missing if they don't

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

When you try do define a manyToMany association but you don't give an array or \Traversable, the raised exception say that some methods are missing while they don't. This PR check if the adder and setter methods exists and if so, give a exception that pointing on the real problem.

Commits
-------

c46519b [PropertyAccess][DX] Enhance exception that say that some methods are missing if they don't
2016-06-15 09:08:06 +02:00
Johan DESMYTER
c46519b40b [PropertyAccess][DX] Enhance exception that say that some methods are missing if they don't 2016-06-15 09:08:04 +02:00
Fabien Potencier
347cd8712e bug #19048 [HttpFoundation] Use UPSERT for sessions stored in PgSql >= 9.5 (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Use UPSERT for sessions stored in PgSql >= 9.5

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

Commits
-------

9569c74 [HttpFoundation] Use UPSERT for sessions stored in PgSql >= 9.5
2016-06-14 11:41:37 +02:00
Nicolas Grekas
9569c7453c [HttpFoundation] Use UPSERT for sessions stored in PgSql >= 9.5 2016-06-14 11:40:21 +02:00
Ahmed Tailouloute
37fac3e44f [Console] fixed PHPDoc 2016-06-14 10:22:25 +02:00
Fabien Potencier
ad1ffc5e95 minor #19035 [Console] added explanation of messages usage in a progress bar (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] added explanation of messages usage in a progress bar

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

The intent of progress bar messages is currently wrongly documented. This PR updates the phpdoc to hopefully better describe the usage of such messages.

So, basically, messages are a way to add dynamic information in the progress bar; information that cannot be computed by the progress bar (like for all other placeholders).

Commits
-------

d92f3ea [Console] added explanation of messages usage in a progress bar
2016-06-13 08:28:47 +02:00
Fabien Potencier
3f192dccdc bug #18915 [DependencyInjection] force enabling the external XML entity loaders (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] force enabling the external XML entity loaders

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

Commits
-------

12b5509 force enabling the external XML entity loaders
2016-06-13 08:25:24 +02:00
Fabien Potencier
11f303994c bug #19020 [Form] Fixed collapsed choice attributes (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed collapsed choice attributes

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

Commits
-------

445dcc8 [Form] Fixed collapsed choice attributes
2016-06-13 07:29:09 +02:00
Jules Pietri
445dcc8ae2 [Form] Fixed collapsed choice attributes 2016-06-13 01:34:04 +02:00
Fabien Potencier
d92f3ea29e [Console] added explanation of messages usage in a progress bar 2016-06-12 09:56:51 +02:00
Christian Flothmann
12b5509d8b force enabling the external XML entity loaders 2016-06-11 12:13:28 +02:00
Christian Flothmann
da7fc36a43 [Yaml] properly count skipped comment lines 2016-06-11 11:53:36 +02:00
Konstantin Myakshin
2c99a0a7df Added progressive jpeg to mime types guesser 2016-06-08 15:06:30 +02:00
Fabien Potencier
1d148bd39e minor #18896 [Console] [SymfonyStyle] Replace long word wrapping test to directly test output (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] [SymfonyStyle] Replace long word wrapping test to directly test output

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/18879#discussion_r64783524
| License       | MIT
| Doc PR        | -

This [line](https://github.com/symfony/symfony/pull/18879/files#diff-d3625f2548a3b329058ca5a0f5aa57feR60) should not have been changed in order to the test to pass. I assume the test was flawed at first, so I suggest to simply test the output as we did for other ones.

Ping @chalasr

Commits
-------

b78fff4 [Console] [SymfonyStyle] Replace long word wrapping test to directly test output
2016-06-08 13:41:03 +02:00
Paráda József
d83e3463ba [Yaml] Fix wrong line number when comments are inserted in the middle of a block. 2016-06-08 13:30:01 +02:00
Peter Rehm
5661d52ace Fixed singular of committee 2016-06-08 13:22:53 +02:00
Fabien Potencier
b849a8637a bumped Symfony version to 2.7.15 2016-06-06 17:55:40 +02:00
Fabien Potencier
c5a7f9fe26 updated VERSION for 2.7.14 2016-06-06 17:23:26 +02:00
Jakub Zalas
5579d86454 [BrowserKit] Bump dom-crawler minimum version requirement
The BrowserKit Client will not work with DomCrawler 2.0 if the CssSelector component is not installed.
2016-06-06 16:48:46 +02:00
Alexander Obuhovich
73b812e3a8 Make one call to "OutputInterface::write" method per table row 2016-06-06 16:41:06 +02:00
Nicolas Grekas
2e938491d6 minor #18979 [HttpKernel] Fix context dependent test (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Fix context dependent test

| 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        | -

Class `Foo` exists when the ClassLoader component is tested alongside with HttpKernel

Commits
-------

065dee8 [HttpKernel] Fix context dependent test
2016-06-06 14:26:28 +02:00
Nicolas Grekas
065dee8525 [HttpKernel] Fix context dependent test 2016-06-06 14:20:11 +02:00
Nicolas Grekas
9fc48b8bb2 [Debug] Fix context dependent test 2016-06-06 13:49:15 +02:00
Nicolas Grekas
bf3a2c0abd @throws annotations should go after @return 2016-06-06 13:03:51 +02:00
Nicolas Grekas
cb850fef26 Fix merge 2016-06-06 11:00:08 +02:00
Fabien Potencier
011d2dcd26 Merge branch '2.3' into 2.7
* 2.3:
  updated VERSION for 2.3.42
  update CONTRIBUTORS for 2.3.42
  updated CHANGELOG for 2.3.42
  Revert "bug #18908 [DependencyInjection] force enabling the external XML entity loaders (xabbuh)"
  Partial revert of previous PR
  [DependencyInjection] Skip deep reference check for 'service_container'
  Catch \Throwable
  [Serializer] Add missing @throws annotations
  Fix for #18843
  force enabling the external XML entity loaders
  Removed UTC specification with timestamp
2016-06-06 10:55:42 +02:00
Nicolas Grekas
a004fc7526 minor #18932 Improve memory efficiency (Dword123)
This PR was merged into the 2.7 branch.

Discussion
----------

Improve memory efficiency

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

This avoids concatenating `$message` and `PHP_EOL` (if necessary) as a new value, greatly improving memory efficiency for large `$message`s.

Commits
-------

c1df9f2 Improve memory efficiency
2016-06-03 13:01:18 +02:00
Nicolas Grekas
c4149a40fb minor #18947 Run an uptodate version of HHVM on Travis (stof)
This PR was merged into the 2.7 branch.

Discussion
----------

Run an uptodate version of HHVM on Travis

| 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        | n/a

Using the Trusty infrastructure allows running an uptodate version of HHVM rather than running the latest version supporting Precise, which is very old.
It relies on an undocumented feature of the Travis config file, namely the fact that ``matrix.include`` actually allows to overwrite everything from the config file (it is merged with the main config), even though the Travis linter complains about it. I think it is fine to use this and to replace it with an official approach once there is one.

Refs #18922

Commits
-------

e6956c9 Skip some tests on HHVM due to a PHPunit bug
e041da0 Use the Trusty Travis infrastructure for HHVM builds
2016-06-03 10:03:59 +02:00
Nicolas Grekas
574f4e4147 [appveyor] Ignore STATUS_HEAP_CORRUPTION errors on Windows 2016-06-03 09:48:37 +02:00
Christophe Coevoet
e6956c9bfc Skip some tests on HHVM due to a PHPunit bug 2016-06-02 11:40:24 +02:00
GeLo
c483a0f928 [Form] Consider a violation even if the form is not submitted 2016-06-01 18:00:24 +02:00
Dword123
c1df9f210e Improve memory efficiency
This avoids concatenating `$message` and `PHP_EOL` (if necessary) as a new value, greatly improving memory efficiency for large `$message`s.
2016-06-01 13:20:21 +02:00
Fabien Potencier
7143b2974c updated VERSION for 2.3.42 2016-05-30 10:41:10 +02:00
Nicolas Grekas
91635a8054 Revert "bug #18908 [DependencyInjection] force enabling the external XML entity loaders (xabbuh)"
This reverts commit 44f6f89308, reversing
changes made to 57d6053822.
2016-05-30 10:31:06 +02:00
Nicolas Grekas
44f6f89308 bug #18908 [DependencyInjection] force enabling the external XML entity loaders (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] force enabling the external XML entity loaders

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

Commits
-------

142b1a4 force enabling the external XML entity loaders
2016-05-30 10:25:13 +02:00
Nicolas Grekas
57d6053822 bug #18893 [DependencyInjection] Skip deep reference check for 'service_container' (RobertMe)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Skip deep reference check for 'service_container'

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

The "hasReference" check when dumping the container fails in the case where a service has a method call which includes a reference to a private/inlined service when either that service, or a dependency of it, references the service_container. This because service_container isn't defined while it still tries to check the references of it. So the service_container must be skipped in this case, this shouldn't break anything as the service_container doesn't reference any services, and thus can't reference the service which it is checking for.

Commits
-------

6f36733 [DependencyInjection] Skip deep reference check for 'service_container'
2016-05-30 10:21:17 +02:00
Robert Meijers
6f3673364e [DependencyInjection] Skip deep reference check for 'service_container'
Deep checks on whether a service references another service need to
exclude the 'service_container' service as it doesn't exist. Without this
dumping the container will fail if a service definition references an
inlined service which has a direct or indirect dependency to the
service_container.
2016-05-30 10:16:14 +02:00
Nicolas Grekas
a60c3551b0 bug #18812 Catch \Throwable (fprochazka)
This PR was squashed before being merged into the 2.3 branch (closes #18812).

Discussion
----------

Catch \Throwable

| Q             | A
| ------------- | ---
| Branch?       | 2.3, 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

Commits
-------

893cf00 Catch \Throwable
2016-05-30 10:14:44 +02:00
Filip Procházka
893cf00a52 Catch \Throwable 2016-05-30 10:14:41 +02:00
Nicolas Grekas
0cf017e568 bug #18821 [2.3][Form] Removed UTC specification with timestamp (francisbesset)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Form] Removed UTC specification with timestamp

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

The function `date_parse()` indicates a warning if a timezone is used with the timestamp: `Double timezone specification`. I removed the UTC specification and this time it's more faster!

Commits
-------

0d14aac Removed UTC specification with timestamp
2016-05-30 10:13:41 +02:00
Nicolas Grekas
c58513457c minor #18854 [Serializer] Add missing @throws annotations (theofidry)
This PR was squashed before being merged into the 2.3 branch (closes #18854).

Discussion
----------

[Serializer] Add missing @throws annotations

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

Commits
-------

b73400d [Serializer] Add missing @throws annotations
2016-05-30 10:12:16 +02:00
Théo FIDRY
b73400d707 [Serializer] Add missing @throws annotations 2016-05-30 10:12:14 +02:00
Nicolas Grekas
d645bd5073 bug #18861 Fix for #18843 (inso)
This PR was squashed before being merged into the 2.3 branch (closes #18861).

Discussion
----------

Fix for #18843

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

Commits
-------

7d78196 Fix for #18843
2016-05-30 10:10:22 +02:00
Anton Bakai
7d78196d0c Fix for #18843 2016-05-30 10:10:17 +02:00
Fabien Potencier
00763f6e41 Merge branch '2.3' into 2.7
* 2.3:
  [Routing] Finish annotation loader taking a class constant as a beginning of a class name
  [Routing] Fix the annotation loader taking a class constant as a beginning of a class name
2016-05-30 08:56:59 +02:00
Maxime Steinhausser
b78fff417b [Console] [SymfonyStyle] Replace long word wrapping test to directly test output 2016-05-29 22:16:56 +02:00
Fabien Potencier
ab621ee574 bug #18907 [Routing] Fix the annotation loader taking a class constant as a beginning of a class name (jakzal, nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[Routing] Fix the annotation loader taking a class constant as a beginning of a class name

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

Code copy/pasted from ClassMapGenerator.php

Commits
-------

8d4f35d [Routing] Finish annotation loader taking a class constant as a beginning of a class name
43c7f9b [Routing] Fix the annotation loader taking a class constant as a beginning of a class name
2016-05-29 18:07:21 +02:00
Christian Flothmann
142b1a4b46 force enabling the external XML entity loaders 2016-05-29 13:17:50 +02:00
Nicolas Grekas
8d4f35d12c [Routing] Finish annotation loader taking a class constant as a beginning of a class name 2016-05-29 12:13:06 +02:00
Nicolas Grekas
a350459d70 Merge branch '2.3' into 2.7
* 2.3:
  [PropertyAccess] Fix for PHP 7.0.7

Conflicts:
	src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorCollectionTest.php
	src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
2016-05-29 11:49:32 +02:00
Nicolas Grekas
a125af74f8 [PropertyAccess] Fix for PHP 7.0.7 2016-05-29 11:41:46 +02:00
Fabien Potencier
a842b97087 fixed PHP 5.3 compat in tests 2016-05-26 10:21:12 +02:00
Fabien Potencier
557bc51c5b Merge branch '2.3' into 2.7
* 2.3:
  fixed PHP 5.3 compat in tests
2016-05-26 10:07:14 +02:00
Fabien Potencier
c59a3da606 fixed PHP 5.3 compat in tests 2016-05-26 10:04:58 +02:00
Fabien Potencier
13394f81f7 Merge branch '2.3' into 2.7
* 2.3:
  [Console][DX] Fixed ambiguous error message when using a duplicate option shortcut
2016-05-26 09:56:29 +02:00
Robin Chalas
963fe1d635 [Console] SymfonyStyle: Align multi-line/very-long-line blocks
Remove SymfonyStyle::comment() changes (out of scope)

CS Fixes

Add tests
2016-05-26 09:53:24 +02:00
Peter Rehm
7cb76558ce [Console][DX] Fixed ambiguous error message when using a duplicate option shortcut 2016-05-26 09:43:25 +02:00
Francis Besset
0d14aac880 Removed UTC specification with timestamp 2016-05-24 22:23:23 +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
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
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
Filip Procházka
103526b40f Catch \Throwable 2016-05-19 15:58:47 +02: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