Commit Graph

15518 Commits

Author SHA1 Message Date
Fabien Potencier
35b0ab9527 feature #18533 [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations (tgalopin)
This PR was squashed before being merged into the 3.2-dev branch (closes #18533).

Discussion
----------

[FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations

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

Depends on https://github.com/symfony/symfony/pull/18825 and https://github.com/symfony/symfony/pull/18823

This PR implements the usage of the new OpCacheAdapter in the annotations caching system. The idea to use this adapter as much as possible in Symfony (validator, serializer, ...). These other implementations will be the object of different PRs.

Commits
-------

f950a2b [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations
2016-07-30 03:40:02 -04:00
Titouan Galopin
f950a2bcde [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations 2016-07-30 03:40:00 -04:00
Fabien Potencier
f76d050dd4 feature #17498 [Filesystem] Add a cross-platform readlink method (tgalopin)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Filesystem] Add a cross-platform readlink method

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

`readlink()` and `realpath()` have a completely different behavior under Windows and Unix:

- `realpath()` resolves recursively the children links of a link until a final target is found on Unix and resolves only the next link on Windows ;
- `readlink()` resolves recursively the children links of a link until a final target is found on Windows and resolves only the next link on Unix ;

I propose to solve this by implementing a helper method in the Filesystem component that would behave always the same way under all platforms.

Commits
-------

c36507e [Filesystem] Add a cross-platform readlink/realpath methods for nested links
2016-07-30 03:29:52 -04:00
Fabien Potencier
851a0a11d0 Merge branch '3.1'
* 3.1:
  Minor fixes
  [Cache] Fix abstract AdapterTestCase cache property
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-30 03:26:43 -04:00
Fabien Potencier
273eb480f8 Merge branch '3.0' into 3.1
* 3.0:
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-30 03:24:41 -04:00
Fabien Potencier
ca71e7489f Merge branch '2.8' into 3.0
* 2.8:
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-30 03:22:48 -04:00
Fabien Potencier
ec1808f0cb Merge branch '2.7' into 2.8
* 2.7:
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
2016-07-30 03:20:35 -04:00
Vyacheslav Pavlov
774c984863 Minor fixes 2016-07-30 03:17:26 -04:00
Titouan Galopin
c36507e64f [Filesystem] Add a cross-platform readlink/realpath methods for nested links 2016-07-29 17:37:06 +02:00
Tristan Darricau
6618c18acb
[Security] Expose the required roles in AccessDeniedException 2016-07-29 17:08:58 +02:00
Titouan Galopin
348b335197 [Cache] Fix abstract AdapterTestCase cache property 2016-07-29 13:16:37 +02:00
Roland Franssen
fcddb3a9c9 [Console][FrameworkBundle] Revised console header formatting 2016-07-29 05:54:38 -04: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
6404e8e033 fixed bad auto merge 2016-07-28 12:58:23 -04:00
ReenExe
217274b3c1 Console table cleanup 2016-07-28 12:57:42 -04:00
Fabien Potencier
77b5fc4c4b Merge branch '2.7' into 2.8
* 2.7:
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable
2016-07-28 12:56:28 -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
Nicolas Grekas
cbc1e54dd0 [Cache] Use AdapterTestCase for new adapters 2016-07-28 14:15:19 +02:00
Nicolas Grekas
b6bbe43b4b Merge branch '3.1'
* 3.1:
  [TwigBundle] Removed redundant return statement.
  enable property info
  [Cache] Fix default lifetime being ignored
  [DependencyInjection] Fixed deprecated default message template with XML
  Reference the actual location of the documentation
  [TwigBridge] Removed extra arguments in 2 places.
  [Cache] Fix incorrect timestamps generated by FilesystemAdapter
  [Process] Fix write access check for pipes on Windows
  [HttpKernel] Use flock() for HttpCache's lock files

Conflicts:
	src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php
2016-07-28 13:15:50 +02:00
Nicolas Grekas
75ebbf826c Merge branch '3.0' into 3.1
* 3.0:
  [TwigBundle] Removed redundant return statement.
  [DependencyInjection] Fixed deprecated default message template with XML
  [TwigBridge] Removed extra arguments in 2 places.
  [Process] Fix write access check for pipes on Windows
  [HttpKernel] Use flock() for HttpCache's lock files
2016-07-28 13:13:48 +02:00
Nicolas Grekas
1d5f391c89 Merge branch '2.8' into 3.0
* 2.8:
  [TwigBundle] Removed redundant return statement.
  [DependencyInjection] Fixed deprecated default message template with XML
  [TwigBridge] Removed extra arguments in 2 places.
  [Process] Fix write access check for pipes on Windows
  [HttpKernel] Use flock() for HttpCache's lock files
2016-07-28 13:13:34 +02:00
Nicolas Grekas
3a78921b38 Merge branch '2.7' into 2.8
* 2.7:
  [TwigBundle] Removed redundant return statement.
  [TwigBridge] Removed extra arguments in 2 places.
  [Process] Fix write access check for pipes on Windows
  [HttpKernel] Use flock() for HttpCache's lock files
2016-07-28 13:13:19 +02: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
c7fa99e41f feature #19289 [VarDumper] Dumping exceptions is now more compact (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[VarDumper] Dumping exceptions is now more compact

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

Before:
![before](https://cloud.githubusercontent.com/assets/243674/16578686/2c7285b0-429c-11e6-9139-293e0c899d43.png)

Commits
-------

19e9cbe [VarDumper] Dumping exceptions is now more compact
2016-07-28 09:26:33 +02: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
19e9cbecbe [VarDumper] Dumping exceptions is now more compact 2016-07-28 09:09:25 +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
Nicolas Grekas
aaff0d1da3 bug #19442 [Cache] Fix default lifetime being ignored (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Cache] Fix default lifetime being ignored

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

Courtesy of @ecanovas

Commits
-------

35ba478 [Cache] Fix default lifetime being ignored
2016-07-28 08:49:58 +02:00
Nicolas Grekas
26dfa2f879 bug #19435 [Cache] Fix incorrect timestamps generated by FilesystemAdapter (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Cache] Fix incorrect timestamps generated by FilesystemAdapter

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

Commits
-------

bd2e795 [Cache] Fix incorrect timestamps generated by FilesystemAdapter
2016-07-27 16:06:17 +02:00
Nicolas Grekas
35ba478680 [Cache] Fix default lifetime being ignored 2016-07-27 10:15:52 +02:00
Jérémy Romey
165529bb55 [DependencyInjection] Fixed deprecated default message template with XML 2016-07-26 18:50:32 +02:00
Grégoire Paris
98dc69eb10
Reference the actual location of the documentation 2016-07-26 17:33:44 +02:00
Nicolas Grekas
bd2e79577f [Cache] Fix incorrect timestamps generated by FilesystemAdapter 2016-07-26 15:05:38 +02:00
Jakub Zalas
3148fad236 [DomCrawler] Add support for XPath expression evaluation 2016-07-26 10:26:00 +01:00
Nicolas Grekas
66e694ed57 [Process] Fix write access check for pipes on Windows 2016-07-26 10:11:15 +02:00
Nicolas Grekas
194dcf3b5d Merge branch '3.1'
* 3.1:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/Console/Application.php
2016-07-26 10:08:27 +02:00
Nicolas Grekas
54043a084f Merge branch '3.0' into 3.1
* 3.0:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag
2016-07-26 10:04:17 +02:00
Nicolas Grekas
667ad70127 Merge branch '2.8' into 3.0
* 2.8:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/Finder/Tests/Shell/CommandTest.php
2016-07-26 10:03:56 +02:00
Nicolas Grekas
af47008bc9 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/BrowserKit/Tests/ClientTest.php
	src/Symfony/Component/Security/Acl/Resources/bin/generateSql.php
2016-07-26 10:02:44 +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
Nicolas Grekas
bf823a72e4 bug #19422 [DomCrawler] Inherit the namespace cache in subcrawlers (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

[DomCrawler] Inherit the namespace cache in subcrawlers

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

This inherits any already discovered/registered namespace with subcrawlers, improving performance when using namespaces.

I submitted to 2.8 rather than 2.7, because the namespace mapping feature was actually buggy in 2.x, because of the fact that nodes could belong to different documents in the same Crawler while the namespace map was shared. The fact that the map was not inherited in subcrawler mitigated this issue (by reducing changes to have multiple documents in the same subcrawler). 2.8 deprecated this possibility to have multiple documents, so I'm fine with applying this here.

Note that the subcrawler inherits the namespace cache at the time it is created, but the cache is not shared between instance (so if a subcrawler discovers an additional namespace of the document, it will not be available for the parent crawler of other subcrawlers of the parent). Sharing the cache would be totally possible (as they share the same document anyway) and would make the experience even better (removing the need to ensure that the root crawler discovers namespace before filtering). But it would require moving from an array to an object. I'm not sure we want to do this in a patch release. What do you think @symfony/deciders ?

Commits
-------

e89c758 [DomCrawler] Inherit the namespace cache in subcrawlers
2016-07-25 18:05:24 +02:00
Jakub Zalas
7b117d3320 [BrowserKit] Uppercase the "GET" method in redirects 2016-07-25 14:54:45 +01:00
Christophe Coevoet
e89c758a76 [DomCrawler] Inherit the namespace cache in subcrawlers 2016-07-25 10:49:59 +02:00
Jonatan Männchen
96df6b984c [HttpFoundation] HttpCache refresh stale responses containing an ETag 2016-07-20 22:30:20 +00:00
Nicolas Grekas
695549fdde Merge branch '3.1'
* 3.1:
  Fix merge
  Fix merge

Conflicts:
	src/Symfony/Component/DependencyInjection/composer.json
2016-07-20 08:56:17 +03:00
Nicolas Grekas
eccbe677c8 Fix merge 2016-07-20 08:55:49 +03:00
Nicolas Grekas
6d24c55a26 Merge branch '3.0' into 3.1
* 3.0:
  Fix merge
2016-07-20 08:44:26 +03:00
Nicolas Grekas
a84ea7ab70 Merge branch '2.8' into 3.0
* 2.8:
  Fix merge

Conflicts:
	src/Symfony/Component/DependencyInjection/composer.json
2016-07-20 08:43:46 +03:00
Nicolas Grekas
579801157a Fix merge 2016-07-20 08:41:28 +03:00
Fabien Potencier
a5a03aab9e Merge branch '3.1'
* 3.1:
  fixed bad merge
  Fix PHP 7.1 related failures
  [VarDumper] Fix for 7.1
  fixed CS
  Added class existence check if is_subclass_of() fails in compiler passes
  Fix the DBAL session handler version check for Postgresql
2016-07-19 12:47:02 +02:00
Fabien Potencier
b2f3a8b520 fixed bad merge 2016-07-19 12:46:18 +02:00
Fabien Potencier
ad7db01e1c Merge branch '3.0' into 3.1
* 3.0:
  Fix PHP 7.1 related failures
  [VarDumper] Fix for 7.1
  fixed CS
  Added class existence check if is_subclass_of() fails in compiler passes
  Fix the DBAL session handler version check for Postgresql
2016-07-19 12:45:57 +02:00
Fabien Potencier
89bb250b5c Merge branch '2.8' into 3.0
* 2.8:
  Fix PHP 7.1 related failures
  [VarDumper] Fix for 7.1
  fixed CS
  Added class existence check if is_subclass_of() fails in compiler passes
  Fix the DBAL session handler version check for Postgresql
2016-07-19 12:44:15 +02:00
Fabien Potencier
15ab32bf9b Merge branch '2.7' into 2.8
* 2.7:
  Fix PHP 7.1 related failures
  [VarDumper] Fix for 7.1
2016-07-19 12:40:24 +02:00
Nicolas Grekas
07467ed3a3 Fix PHP 7.1 related failures 2016-07-19 10:44:18 +02:00
Fabien Potencier
583a45d91f feature #19276 [ClassLoader] Add ClassCollectionLoader::inline() to generate inlined-classes files (nicolas-grekas)
This PR was squashed before being merged into the 3.2-dev branch (closes #19276).

Discussion
----------

[ClassLoader] Add ClassCollectionLoader::inline() to generate inlined-classes files

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

Unfortunately, can't be tested because the method relies too much on side effects.
Coupled with https://github.com/sensiolabs/SensioDistributionBundle/pull/272, allows inlining `ClassCollectionLoader` itself into the `bootstrap.php.cache` file.

Commits
-------

88fdcea [ClassLoader] Add ClassCollectionLoader::inline() to generate inlined-classes files
2016-07-18 14:56:02 +02:00
Nicolas Grekas
88fdceadd4 [ClassLoader] Add ClassCollectionLoader::inline() to generate inlined-classes files 2016-07-18 14:55:56 +02:00
Nicolas Grekas
d422939f6c [VarDumper] Fix for 7.1 2016-07-18 14:55:17 +02:00
Fabien Potencier
00ab2d661f bug #19342 Added class existence check if is_subclass_of() fails in compiler passes (SCIF)
This PR was merged into the 2.8 branch.

Discussion
----------

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

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

If you create an event subscriber and make typo in file name it will cause next error:

```
  [InvalidArgumentException]
  Service "event.notification_subscriber" must implement interface "Symfony\Component\EventDispatcher\EventSubscriberInterface".
```

That's because of `is_subclass_of()` fails on class absentee. I made error message more clear.

Commits
-------

72db6e7 Added class existence check if is_subclass_of() fails in compiler passes
2016-07-18 13:36:17 +02:00
Alexander Zhuravlev
72db6e7068 Added class existence check if is_subclass_of() fails in compiler passes 2016-07-18 19:09:40 +12:00
Nicolas Grekas
cbd1915a2e Merge branch '3.1'
* 3.1:
  [VarDumper] Fix dumping jsons casted as arrays
  PassConfig::getMergePass is not an array
  Revert "bug #19114 [HttpKernel] Dont close the reponse stream in debug (nicolas-grekas)"
  [Serializer] Include the format in the cache key
  Fix the retrieval of the last username when using forwarding
  [Yaml] Fix PHPDoc of the Yaml class
  [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
  Update getAbsoluteUri() for query string uris

Conflicts:
	src/Symfony/Component/DependencyInjection/Compiler/PassConfig.php
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2016-07-17 16:08:33 +02:00
Nicolas Grekas
17de127281 Merge branch '3.0' into 3.1
* 3.0:
  [VarDumper] Fix dumping jsons casted as arrays
  PassConfig::getMergePass is not an array
  Revert "bug #19114 [HttpKernel] Dont close the reponse stream in debug (nicolas-grekas)"
  Fix the retrieval of the last username when using forwarding
  [Yaml] Fix PHPDoc of the Yaml class
  [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
  Update getAbsoluteUri() for query string uris

Conflicts:
	src/Symfony/Component/Yaml/Yaml.php
2016-07-17 16:02:08 +02:00
Nicolas Grekas
8a2d5cd1df Merge branch '2.8' into 3.0
* 2.8:
  [VarDumper] Fix dumping jsons casted as arrays
  PassConfig::getMergePass is not an array
  Revert "bug #19114 [HttpKernel] Dont close the reponse stream in debug (nicolas-grekas)"
  Fix the retrieval of the last username when using forwarding
  [Yaml] Fix PHPDoc of the Yaml class
  [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
  Update getAbsoluteUri() for query string uris
2016-07-17 15:54:30 +02:00
Nicolas Grekas
7a57903fd8 Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] Fix dumping jsons casted as arrays
  PassConfig::getMergePass is not an array
  Revert "bug #19114 [HttpKernel] Dont close the reponse stream in debug (nicolas-grekas)"
  Fix the retrieval of the last username when using forwarding
  [Yaml] Fix PHPDoc of the Yaml class
  [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
  Update getAbsoluteUri() for query string uris
2016-07-17 11:06:15 +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
Kévin Dunglas
282eb9c410 [Serializer] Include the format in the cache key 2016-07-13 10:40:09 +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
c221908fc4
feature #19277 [Serializer] Argument objects (theofidry, dunglas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Serializer] Argument objects

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

Assuming with have the two following entities:

```php
namespace AppBundle\Entity;

class Dummy
{
    public function __construct(int $id, string $name, string $email, AnotherDummy $anotherDummy)
    {
        $this->id = $id;
        $this->name = $name;
        $this->email = $email;
        $this->anotherDummy = $anotherDummy;
    }
}

class AnotherDummy
{
    public function __construct(int $id, string $uuid, bool $isEnabled)
    {
        $this->id = $id;
        $this->uuid = $uuid;
        $this->isEnabled = $isEnabled;
    }
}
```

Doing the following will fail:

```php
$serializer->denormalize(
    [
        'id' => $i,
        'name' => 'dummy',
        'email' => 'du@ex.com',
        'another_dummy' => [
            'id' => 1000 + $i,
            'uuid' => 'azerty',
            'is_enabled' => true,
        ],
    ],
    \AppBundle\Entity\Dummy::class
);
```

with a type error, because the 4th argument passed to `Dummy::__construct()` will be an array. The following patch checks if the type of the argument is an object, and if it is tries to denormalize that object as well.

I'm not sure if it's me missing something or this is a use case that has been omitted (willingly or not), but if it's a valuable patch I would be happy to work on finishing it.

Commits
-------

988eba1 fix tests
98bcb91 Merge pull request #1 from dunglas/theofidry-feature/param-object
7b5d55d Prevent BC in instantiateObject
e437e04 fix reflection type
3fe9802 revert CS
5556fa5 fix
d4cdb00 fix CS
93608dc Add deprecation message
f46a176 Apply patch
f361e52 fix tests
4884a2e f1
e64e999 Address comments
e99a90b Add tests
7bd4ac5 Test
2016-07-11 09:50:44 +02:00
Kévin Dunglas
a3fd991c4b [Yaml] Fix PHPDoc of the Yaml class 2016-07-11 09:20:55 +02:00
Christian Flothmann
647e6ba660 [#16809] add missing pad property 2016-07-10 22:13:20 +02:00
Théo FIDRY
988eba11b6
fix tests 2016-07-10 18:16:12 +01:00
Kévin Dunglas
7b5d55d5f0
Prevent BC in instantiateObject 2016-07-10 18:25:31 +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
Fabien Potencier
0fc2b622e8 feature #19322 [HttpFoundation] Add Request::isMethodIdempotent method (dunglas)
This PR was squashed before being merged into the 3.2-dev branch (closes #19322).

Discussion
----------

[HttpFoundation] Add Request::isMethodIdempotent method

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

Addd a new method in the spirit of `isMethodSafe` to know if the current method is idempotent according to RFCs.

Commits
-------

44df6a4 [HttpFoundation] Add Request::isMethodIdempotent method
2016-07-10 11:37:41 +02:00
Kévin Dunglas
44df6a4677 [HttpFoundation] Add Request::isMethodIdempotent method 2016-07-10 11:37:40 +02:00
Nicolas Grekas
36ec08563e Merge branch '3.1'
* 3.1:
  [HttpKernel] fixed internal subrequests having an if-modified-since-header
  [Security] Fix deprecated usage of DigestAuthenticationEntryPoint::getKey() in DigestAuthenticationListener
  [Validator] Added additional MasterCard range to the CardSchemeValidator
  Make the exception message more clear.
  [Form] fixed bug - name in ButtonBuilder
  [DoctrineBridge] added missing error code for constraint.
  [ClassLoader] Fix declared classes being computed when not needed
  [varDumper] Fix missing usage of ExceptionCaster::$traceArgs
2016-07-10 10:06:43 +02:00
Nicolas Grekas
f2599e4db2 Merge branch '3.0' into 3.1
* 3.0:
  [HttpKernel] fixed internal subrequests having an if-modified-since-header
  [Security] Fix deprecated usage of DigestAuthenticationEntryPoint::getKey() in DigestAuthenticationListener
  [Validator] Added additional MasterCard range to the CardSchemeValidator
  Make the exception message more clear.
  [Form] fixed bug - name in ButtonBuilder
  [DoctrineBridge] added missing error code for constraint.
  [ClassLoader] Fix declared classes being computed when not needed
  [varDumper] Fix missing usage of ExceptionCaster::$traceArgs
2016-07-10 10:05:47 +02:00
Nicolas Grekas
06879e982d Merge branch '2.8' into 3.0
* 2.8:
  [HttpKernel] fixed internal subrequests having an if-modified-since-header
  [Security] Fix deprecated usage of DigestAuthenticationEntryPoint::getKey() in DigestAuthenticationListener
  [Validator] Added additional MasterCard range to the CardSchemeValidator
  Make the exception message more clear.
  [Form] fixed bug - name in ButtonBuilder
  [DoctrineBridge] added missing error code for constraint.
  [ClassLoader] Fix declared classes being computed when not needed
  [varDumper] Fix missing usage of ExceptionCaster::$traceArgs

Conflicts:
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/ClassLoader/ClassCollectionLoader.php
2016-07-10 10:04:44 +02:00
Nicolas Grekas
1f2d6fb590 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] fixed internal subrequests having an if-modified-since-header
  [Validator] Added additional MasterCard range to the CardSchemeValidator
  Make the exception message more clear.
  [Form] fixed bug - name in ButtonBuilder
  [ClassLoader] Fix declared classes being computed when not needed
2016-07-10 10:00:51 +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