Commit Graph

33761 Commits

Author SHA1 Message Date
Fabien Potencier
1a8459a8f1 minor #24591 adding AdapterInterface alias for cache.app (weaverryan)
This PR was merged into the 3.4 branch.

Discussion
----------

adding AdapterInterface alias for cache.app

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

I'd like to add this alias for autowiring. If only `CacheItemPoolInterface` is available, then it's a bit weird to use the extra Symfony cache features (e.g. tagging), as I'm calling methods on the `CacheItemPoolInterface` that don't exist. I'd rather type-hint `AdapterInterface` and confidently call those (+ get auto-complete).

Commits
-------

454f65a77d adding AdapterInterface alias for cache.app
2017-10-17 08:47:21 -07:00
Fabien Potencier
84f19c0537 minor #24592 Add extra autowiring aliases (stof)
This PR was merged into the 3.4 branch.

Discussion
----------

Add extra autowiring aliases

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

This adds autowiring for RequestContextAwareInterface for the routing layer and for AuthenticationManagerInterface in the security layer.

Commits
-------

921a8794c6 Add extra autowiring aliases
2017-10-17 08:44:52 -07:00
Christophe Coevoet
921a8794c6 Add extra autowiring aliases
This adds autowiring for RequestContextAwareInterface for the routing layer
and for AuthenticationManagerInterface in the security layer.
2017-10-17 16:03:36 +02:00
Christophe Coevoet
bb8f1534d2 minor #24586 [HttpKernel] Remove obsolete PHPDoc from UriSigner (emodric)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Remove obsolete PHPDoc from UriSigner

| 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

`_hash` query param does not have to be at the end of the URL ever since https://github.com/symfony/symfony/pull/12574 so this PHPDoc is confusing. I've actually lost couple of hours of work rewriting my URLs to place it at the end before I realized that `UriSigner` doesn't really care.

Commits
-------

45ac192200 Remove obsolete PHPDoc from UriSigner
2017-10-17 14:57:01 +02:00
Richard Quadling
e5d57dd050 Username and password in basic auth are allowed to contain '.'
Initially reported by Fede Isas in https://github.com/beberlei/assert/pull/234
2017-10-17 13:03:20 +01:00
Edi Modrić
45ac192200 Remove obsolete PHPDoc from UriSigner 2017-10-17 12:11:27 +02:00
Ryan Weaver
454f65a77d adding AdapterInterface alias for cache.app 2017-10-17 00:33:38 -04:00
Ryan Weaver
41df512349 Adding a new debug:autowiring command 2017-10-16 20:35:11 -04:00
Fabien Potencier
45e677e562 bug #24566 Fixed unsetting from loosely equal keys OrderedHashMap (maryo)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixed unsetting from loosely equal keys OrderedHashMap

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

Commits
-------

ba37cba6c2 Fixed unsetting from loosely equal keys OrderedHashMap
2017-10-16 16:28:28 -07:00
Fabien Potencier
7ac01bc723 minor #24564 add DOMElement as return type in Crawler::getIterator to support foreach support in ide (Haehnchen)
This PR was merged into the 3.3 branch.

Discussion
----------

add DOMElement as return type in Crawler::getIterator to support foreach support in ide

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

In `Crawler::getIterator` return type is missing so ide (PhpStorm) is not able to provide completion inside foreach statements. This PR adds `DOMElement[]` to it

```php
$crawler = new Crawler('foobar');
foreach($crawler->filter('a') as $link) {
   # support completion
   $link->...
}
```

Commits
-------

2350597288 add DOMElement as return type in Crawler::getIterator to support foreach support in ide
2017-10-16 16:26:23 -07:00
Fabien Potencier
ff459928c9 bug #24570 [Debug] Fix same vendor detection in class loader (Jean-Beru)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Fix same vendor detection in class loader

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

Fix about same vendor detection in ClassLoader. Actually, detected namespace for `Doctrine\ORM\Configuration` is `Doctrine\ORM` instead of `Doctrine\`. So deprecations are triggered for classes in same namespace.

Commits
-------

d2ab0d8019 [Debug] Fix same vendor detection in class loader
2017-10-16 16:22:53 -07:00
Fabien Potencier
1f4025a0ae feature #24523 [HttpFoundation] Make sessions secure and lazy (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Make sessions secure and lazy

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | not yet
| Fixed tickets | #6388, #6036, #12375, #12325
| License       | MIT
| Doc PR        | -

The `SessionUpdateTimestampHandlerInterface` (new to PHP 7.0) is mostly undocumented, and just not implemented anywhere. Yet, it's required to implement session fixation preventions and lazy write in userland session handlers (there is https://wiki.php.net/rfc/session-read_only-lazy_write which describes the behavior.)

By implementing it, we would make Symfony session handling much better and stronger. Meanwhile, doing some cookie headers management, this also gives the opportunity to fix the "don't start if session is only read issue".

So, here we are for the general idea. Now needs more (and green) tests, and review of course.

Commits
-------

347939c9b3 [HttpFoundation] Make sessions secure and lazy
2017-10-16 15:59:43 -07:00
Nicolas Grekas
fdb0ea9fdd [DI] Enhance service locator error message 2017-10-17 00:51:02 +02:00
Fabien Potencier
d32ecff202 bug #24573 [3.3] Fixed pathinfo calculation for requests starting with a question mark. (syzygymsu)
This PR was merged into the 3.3 branch.

Discussion
----------

[3.3] Fixed pathinfo calculation for requests starting with a question mark.

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

Fix of bad merge conflict resolving as mentioned in #24487. Port #21968 to 3.3+

Commits
-------

c17a92259a Fixed pathinfo calculation for requests starting with a question mark.  - fix bad conflict resolving issue  - port symfony/symfony#21968 to 3.3+
2017-10-16 15:36:09 -07:00
Nicolas Grekas
347939c9b3 [HttpFoundation] Make sessions secure and lazy 2017-10-17 00:24:46 +02:00
Fabien Potencier
ff4f4ca1a5 bug #24565 [Serializer] YamlEncoder: throw if the Yaml component isn't installed (dunglas)
This PR was squashed before being merged into the 3.3 branch (closes #24565).

Discussion
----------

[Serializer] YamlEncoder: throw if the Yaml component isn't installed

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | no
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | n/a

Similar to #24563 but for the Yaml encoder (not the same branch).

Commits
-------

7d21caf8dd [Serializer] YamlEncoder: throw if the Yaml component isn't installed
2017-10-16 15:20:12 -07:00
Kévin Dunglas
7d21caf8dd [Serializer] YamlEncoder: throw if the Yaml component isn't installed 2017-10-16 15:20:00 -07:00
Fabien Potencier
7dac168800 bug #24563 [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #24563).

Discussion
----------

[Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #24553
| License       | MIT
| Doc PR        | n/a

Commits
-------

b5246a72ca [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
2017-10-16 15:17:03 -07:00
Kévin Dunglas
b5246a72ca [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed 2017-10-16 15:16:57 -07:00
Fabien Potencier
6b9850a4bb bug #24571 [PropertyInfo] Add support for the iterable type (dunglas)
This PR was squashed before being merged into the 2.8 branch (closes #24571).

Discussion
----------

[PropertyInfo] Add support for the iterable type

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | reported on Slack
| License       | MIT
| Doc PR        | n/a

Add support for the `iterable` pseudo-type introduced in PHP 7.1.

Commits
-------

a73249db31 [PropertyInfo] Add support for the iterable type
2017-10-16 14:49:22 -07:00
Kévin Dunglas
a73249db31 [PropertyInfo] Add support for the iterable type 2017-10-16 14:49:07 -07:00
Fabien Potencier
f757cd65e2 minor #24556 [Routing] Ensure uniqueness without repeated check (endroid)
This PR was squashed before being merged into the 3.4 branch (closes #24556).

Discussion
----------

[Routing] Ensure uniqueness without repeated check

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

The RouteCollection ensures uniqueness of resources by using array_unique. The current implementation suffers from the following problems.

1. The array_unique method calls __toString for every element in the array but it is very inefficient in terms of the number of calls made. I.e. if the array has 50 elements it does not do 50 __toString calls. I did some tests with Blackfire in PHP 7.1 and found the following numbers.

25 elements => 240 calls
50 elements => 607 calls
100 elements => 1382 calls
200 elements => 3333 calls

2. The array_unique function is called every time the getResources() method is called, even when the resources did not change in the mean time. Combined with the above this leads to lower performance.

Many applications have a low number of routes so this is not a big issue. But for larger applications or bundles that generate routes (i.e. for CRUD or API / doc generation) this will have a bigger impact.

Commits
-------

16f7281178 [Routing] Ensure uniqueness without repeated check
2017-10-16 13:33:36 -07:00
endroid
16f7281178 [Routing] Ensure uniqueness without repeated check 2017-10-16 13:33:34 -07:00
Fabien Potencier
60adbdd059 bug #24579 pdo session fix (mxp100)
This PR was merged into the 2.7 branch.

Discussion
----------

pdo session fix

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

Fix PDO session timestamp out of range for postgres. (branch from 2.7)
P.S. please delete this pull https://github.com/symfony/symfony/pull/24457

Commits
-------

56b29a754c pdo session fix
2017-10-16 13:29:26 -07:00
Yuriy Potemkin
56b29a754c pdo session fix 2017-10-16 20:34:10 +03:00
Anton A. Sumin
c17a92259a Fixed pathinfo calculation for requests starting with a question mark.
- fix bad conflict resolving issue
 - port symfony/symfony#21968 to 3.3+
2017-10-16 13:20:56 +03:00
maryo
ba37cba6c2 Fixed unsetting from loosely equal keys OrderedHashMap 2017-10-15 22:33:56 +02:00
Daniel Espendiller
2350597288 add DOMElement as return type in Crawler::getIterator to support foreach support in ide 2017-10-15 19:29:08 +02:00
Robin Chalas
4a687759d5 minor #24527 [Console] Sync ConsoleLogger::interpolate with the one in HttpKernel (dunglas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Sync ConsoleLogger::interpolate with the one in HttpKernel

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Adapted from: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Log/Logger.php#L92

Better performance and datetime support (maybe should it be merged in a newer version, but I've targeted 2.7 to prevent future merge conflicts).

Commits
-------

8fcbc55 [Console] Sync ConsoleLogger::interpolate with the one in HttpKernel
2017-10-15 16:02:31 +02:00
Kévin Dunglas
8fcbc5572b
[Console] Sync ConsoleLogger::interpolate with the one in HttpKernel 2017-10-15 14:36:44 +02:00
Nicolas Grekas
4650592242 minor #24557 Fixed mistake in exception expectation (uuf6429)
This PR was merged into the 3.3 branch.

Discussion
----------

Fixed mistake in exception expectation

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

In some cases, (5 to be exact), the `expectException` is misused while attempting to provide compatibility with the older `setExpectedException` by making use of a non-existent parameter.
Firstly, this makes the tests inconsistent (old PHPUnit version test exception message, while newer one doesn't). Secondly, if PHPUnit interface suddenly starts making use of a 2nd parameter in `expectException`, the existing code might break or cause unexpected side-effects.

Original report: 87bb726712 (commitcomment-24848315)

Commits
-------

03be003 Fixed mistake in exception expectation
2017-10-14 22:45:08 +02:00
Christian Sciberras
03be003018 Fixed mistake in exception expectation 2017-10-14 03:33:35 +02:00
hubert.lenoir
d2ab0d8019 [Debug] Fix same vendor detection in class loader 2017-10-13 19:28:12 +02:00
Fabien Potencier
e98033576a minor #24542 [Form] Updated the source text and translation (Nyholm)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Updated the source text and translation

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

I noticed that the source text had changed. See the [English version](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Resources/translations/validators.en.xlf)

Ping @magnusnordlander or @vinkla, Is this translation okey?

Commits
-------

7da052f18f Updated the source text and translation
2017-10-13 10:24:38 -07:00
Nicolas Grekas
e4bfc40d0e Merge branch '3.4'
* 3.4:
  Fix phpunit bridge (ter)
2017-10-13 18:56:12 +02:00
Nicolas Grekas
42390a2b00 Merge branch '3.3' into 3.4
* 3.3:
  Fix phpunit bridge (ter)
2017-10-13 18:56:07 +02:00
Nicolas Grekas
a522f5e855 Fix phpunit bridge (ter) 2017-10-13 18:55:35 +02:00
Nicolas Grekas
4c81ea03a8 Merge branch '3.4'
* 3.4:
  Fix phpunit bridge (bis)
2017-10-13 18:49:56 +02:00
Nicolas Grekas
0454396746 Merge branch '3.3' into 3.4
* 3.3:
  Fix phpunit bridge (bis)
2017-10-13 18:49:51 +02:00
Nicolas Grekas
9de153b330 Fix phpunit bridge (bis) 2017-10-13 18:49:40 +02:00
Nicolas Grekas
e69f9dbc25 Merge branch '3.4'
* 3.4:
  Fix phpunit bridge
  [Form] [TwigBridge] Added option to disable usage of default themes when rendering a form
2017-10-13 18:40:22 +02:00
Nicolas Grekas
ed5f884ec6 Merge branch '3.3' into 3.4
* 3.3:
  Fix phpunit bridge
2017-10-13 18:40:10 +02:00
Nicolas Grekas
7ba7550dfb Fix phpunit bridge 2017-10-13 18:39:56 +02:00
Tobias Nyholm
7da052f18f
Updated the source text and translation 2017-10-13 09:35:47 -07:00
Fabien Potencier
a6aa9ecff6 feature #22610 [Form] [TwigBridge] Added option to disable usage of default themes when rendering a form (emodric)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] [TwigBridge] Added option to disable usage of default themes when rendering a form

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

This adds a possibility to use `only` keyword in `form_theme` tag to disable usage of globally defined form themes, e.g.

`{% form_theme form with ['common.html.twig', 'form/fields.html.twig'] only %}`

Otherwise, in order to completely control the rendering of the forms (for example in custom admin interfaces), one would need to use a form theme which has all the possible twig blocks defined to prevent globally defined themes to interfere with the rendering.

`only` keyword is already used when including a Twig template to transfer only the variables which are explicitly defined in the `include` tag, so it seemed natural to use it here too.

This, of course, means that the user will need to manually `use` all of the templates that are required to render the form, including `form_div_layout.html.twig`

This issue is described in details over at Symfony Demo repo: https://github.com/symfony/symfony-demo/issues/515

TODO:

- [x] submit changes to the documentation

Commits
-------

e0681f9955 [Form] [TwigBridge] Added option to disable usage of default themes when rendering a form
2017-10-13 07:50:46 -07:00
Edi Modrić
e0681f9955 [Form] [TwigBridge] Added option to disable usage of default themes when rendering a form 2017-10-13 16:30:18 +02:00
Nicolas Grekas
96c56687f5 Merge branch '3.4'
* 3.4:
  fix serialized deprecations handling
2017-10-13 16:15:21 +02:00
Nicolas Grekas
3f0a3f58a6 Merge branch '3.3' into 3.4
* 3.3:
  fix serialized deprecations handling
2017-10-13 16:15:09 +02:00
Nicolas Grekas
be9382a772 minor #24551 [PhpUnitBridge] fix serialized deprecations handling (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[PhpUnitBridge] fix serialized deprecations handling

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

Commits
-------

2f5a0bd fix serialized deprecations handling
2017-10-13 16:14:51 +02:00
Christian Flothmann
2f5a0bd72f fix serialized deprecations handling 2017-10-13 16:13:33 +02:00