Commit Graph

30845 Commits

Author SHA1 Message Date
Nicolas Grekas
ec51b2cc26 Merge branch '4.1'
* 4.1:
  [DoctrineBridge] support __toString as documented for UniqueEntityValidator
  [travis] enable Redis cluster
  [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses
  fix data mapper return type in docblock
  fix type error handling when writing values
2018-08-24 12:22:37 +02:00
Nicolas Grekas
51525e63f8 Merge branch '3.4' into 4.1
* 3.4:
  [DoctrineBridge] support __toString as documented for UniqueEntityValidator
  [travis] enable Redis cluster
  [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses
  fix data mapper return type in docblock
  fix type error handling when writing values
2018-08-24 12:22:26 +02:00
Nicolas Grekas
8b66cfca5a Merge branch '2.8' into 3.4
* 2.8:
  fix data mapper return type in docblock
  fix type error handling when writing values
2018-08-24 12:16:13 +02:00
Nicolas Grekas
b959d8594c feature #28218 Improve support for anonymous classes (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Improve support for anonymous classes

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

Before:
![image](https://user-images.githubusercontent.com/243674/44276933-5c522600-a249-11e8-8bcc-6d55c9fa5a5e.png)

After:
![image](https://user-images.githubusercontent.com/243674/44276912-4cd2dd00-a249-11e8-943f-b6b0d0eb8908.png)

Same in other places, e.g. Console failures.

Commits
-------

e41ced2bfd Improve support for anonymous classes
2018-08-24 12:03:22 +02:00
Nicolas Grekas
771463123a cs fix 2018-08-24 12:01:11 +02:00
Nicolas Grekas
f03a54ed51 feature #28221 [DomCrawler] Add a way to filter direct children (Einenlum)
This PR was squashed before being merged into the 4.2-dev branch (closes #28221).

Discussion
----------

[DomCrawler] Add a way to filter direct children

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

The Dom-Crawler component only has a `filter()` method (to filter the node and all its children) and a `children()` method to return direct children.
**There is currently no way to easily filter (thanks to a selector) the direct children of a node, like jQuery allows so (with a selector passed to the `.children([selector])` method).**

**This PR adds a way to optionally filter direct children thanks to a CSS selector**. Here is an example of the usage:

```php
$html = <<<'HTML'
<html>
    <body>
        <div id="foo">
            <p class="lorem" id="p1"></p>
            <p class="lorem" id="p2"></p>
            <div id="nested">
                <p class="lorem" id="p3"></p>
            </div>
        </div>
    </body>
</html>
HTML;

$crawler = new Crawler($html);
$foo = $crawler->filter('#foo');

$foo->children() // will select `#p1`, `#p2` and `#nested`
$foo->children('p') // will select `#p1` and `p2`
$foo->children('.lorem') // will select `#p1` and `p2`
```
This PR adds only an optional parameter and adds no BC break.

Commits
-------

f634afdb6f [DomCrawler] Add a way to filter direct children
2018-08-24 12:00:10 +02:00
Einenlum
f634afdb6f [DomCrawler] Add a way to filter direct children 2018-08-24 11:59:58 +02:00
Nicolas Grekas
e18bf6eee0 bug #28220 [PropertyAccess] fix type error handling when writing values (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[PropertyAccess] fix type error handling when writing values

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

Commits
-------

45754515a5 fix type error handling when writing values
2018-08-24 11:57:25 +02:00
Nicolas Grekas
d8e2af32d8 feature #28234 [DI] Allow autowiring by type + parameter name (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] Allow autowiring by type + parameter name

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

In #27165, we introduced the possibility to bind by type+name:
```yaml
bind:
    Psr\Log\LoggerInterface $myLogger: @monolog.logger.my_logger
```

But we forgot about aliases. For consistency, they could and should allow doing the same. More importantly, this will open up interesting use cases where bundles could provide default values for typed+named arguments (using the new `ContainerBuilder::registerAliasForArgument()` method). E.g:
```yaml
services:
    Psr\Cache\CacheItemPoolInterface $appCacheForecast: @app.cache.forecast
```
Works also for controller actions and service subscribers (using the real service id as the key).

Commits
-------

c0b8f53bcb [DI] Allow autowiring by type + parameter name
2018-08-24 11:56:33 +02:00
Nicolas Grekas
8860b6691c bug #28249 [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses

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

As described in https://github.com/php-memcached-dev/php-memcached/issues/24 and because we enable the binary protocol by default.

Commits
-------

8b59d177db [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses
2018-08-24 11:47:29 +02:00
Nicolas Grekas
d446b6aefb bug #28252 [DoctrineBridge] support __toString as documented for UniqueEntityValidator (dmaicher)
This PR was squashed before being merged into the 3.4 branch (closes #28252).

Discussion
----------

[DoctrineBridge] support __toString as documented for UniqueEntityValidator

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

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

It brings back handling `__toString` as documented for invalid values.

Commits
-------

2ac883a99b [DoctrineBridge] support __toString as documented for UniqueEntityValidator
2018-08-24 11:45:48 +02:00
David Maicher
2ac883a99b [DoctrineBridge] support __toString as documented for UniqueEntityValidator 2018-08-24 11:45:42 +02:00
Nicolas Grekas
f245df404f [travis] enable Redis cluster 2018-08-24 11:22:31 +02:00
Nicolas Grekas
8b59d177db [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses 2018-08-23 17:04:29 +02:00
Nicolas Grekas
c0b8f53bcb [DI] Allow autowiring by type + parameter name 2018-08-23 11:47:19 +02:00
Nicolas Grekas
e41ced2bfd Improve support for anonymous classes 2018-08-21 14:03:16 +02:00
Nicolas Grekas
6a4de22787 bug #28228 [Validator] Fix precision issue regarding floats and DivisibleBy constraint (apfelbox)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Validator] Fix precision issue regarding floats and DivisibleBy constraint

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

Alternative to #28212

Commits
-------

ae04b48332 [Validator] Fix precision issue regarding floats and DivisibleBy constraint
2018-08-21 13:54:23 +02:00
Jannik Zschiesche
ae04b48332 [Validator] Fix precision issue regarding floats and DivisibleBy constraint 2018-08-20 16:30:22 +02:00
Fabien Potencier
0332f861c6 minor #28230 [Form] fix data mapper return type in docblock (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] fix data mapper return type in docblock

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

Commits
-------

5bdc755d73 fix data mapper return type in docblock
2018-08-20 13:41:49 +02:00
Christian Flothmann
5bdc755d73 fix data mapper return type in docblock 2018-08-19 18:51:04 +02:00
Nicolas Grekas
2df7320c1c bug #28188 [Cache] make PhpMarshaller handle hard references (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] make PhpMarshaller handle hard references

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

This PR makes the interface and behavior of `PhpMarshaller` cleaner and bullet-proof.
While a bug fix at this stage, I'd like to propose splitting it to a new `VarExporter` component all goes well.

Commits
-------

bc5d208584 [Cache] make PhpMarshaller handle hard references
2018-08-19 18:15:21 +02:00
Fabien Potencier
2d7aedba6e feature #28156 [Serializer] Fix the XML comments encoding (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Fix the XML comments encoding

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

When we decode a XML comment, we get `['#comment' => ' foo ']`. But when we encode this same content, the result is not the expected one.

```php
$encoder->encode(['#comment' => ' foo '], 'xml');
```
```
Expected:
<response>
    <!-- foo -->
</response>

Actual:
<response>
  <item key="#comment"> foo </item>
</response>
```

Commits
-------

d94a37f395 Allow to encode xml comments
2018-08-19 13:10:28 +02:00
Dany Maillard
d94a37f395 Allow to encode xml comments 2018-08-19 12:41:43 +02:00
Nicolas Grekas
3063c62bba Merge branch '4.1'
* 4.1:
  [travis] fix composer.lock invalidation for deps=low
  [Security\Http] Restore laziness of listener iterator
  Make the `message_bus` alias public
2018-08-19 10:17:45 +02:00
Nicolas Grekas
cd14b22f18 Merge branch '3.4' into 4.1
* 3.4:
  [travis] fix composer.lock invalidation for deps=low
  [Security\Http] Restore laziness of listener iterator
2018-08-19 10:16:41 +02:00
Fabien Potencier
33ce02e048 minor #28127 [WebProfilerBundle] Remove useless macro arguments (gregurco)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Remove useless macro arguments

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

I was digging into the Stopwatch Component and the part of displaying timeline in WebProfilerBundle and found some useless arguments in macro. The code was changed but arguments were abandoned.

Where the problem appeared: bfcc5e7392 (diff-3651d31bd302da5c7c1ef927e8641c78L294)

Commits
-------

70498dbeae [WebProfilerBundle] remove useless macro arguments
2018-08-19 08:38:07 +02:00
Fabien Potencier
a09809b752 bug #28216 [FrameworkBundle] message_bus alias public (sroze)
This PR was merged into the 4.1 branch.

Discussion
----------

[FrameworkBundle] `message_bus` alias public

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

Because it is used in the `ControllerTrait` with `get('message_bus')`... same than for `security.csrf.token_manager` and cie, it should be public.

Commits
-------

51b6e9eb96 Make the `message_bus` alias public
2018-08-19 08:21:14 +02:00
Nicolas Grekas
2ebc75b9a1 [Security\Http] Restore laziness of listener iterator 2018-08-18 22:38:48 +02:00
Nicolas Grekas
1c248e572e Merge branch '4.1'
* 4.1:
  fix merge
  [travis][appveyor] use symfony/flex to accelerate builds
  Add missing stderr redirection
  clean up unused code
  Remove the HTML5 validation from the profiler URL search form
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
  Add help texts for checkboxes in horizontal bootstrap 4 forms
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:57:16 +02:00
Nicolas Grekas
2dedacbc04 Merge branch '3.4' into 4.1
* 3.4:
  [travis][appveyor] use symfony/flex to accelerate builds
  Add missing stderr redirection
  clean up unused code
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:52:46 +02:00
Nicolas Grekas
d351daab04 Merge branch '2.8' into 3.4
* 2.8:
  [travis][appveyor] use symfony/flex to accelerate builds
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:47:20 +02:00
Christian Flothmann
45754515a5 fix type error handling when writing values 2018-08-17 19:56:06 +02:00
Kevin Grenier
91d72a67c8 Removed dead code in Kernel 2018-08-17 19:17:32 +02:00
Samuel ROZE
51b6e9eb96 Make the message_bus alias public 2018-08-17 14:07:19 +02:00
Nicolas Grekas
f0168e3ed6 [Validator] update CHANGELOG 2018-08-15 17:46:19 +02:00
Nicolas Grekas
9f4615a7ae feature #28069 [Validator] New DivisibleBy constraint for testing divisibility (colinodell)
This PR was squashed before being merged into the 4.2-dev branch (closes #28069).

Discussion
----------

[Validator] New `DivisibleBy` constraint for testing divisibility

This introduces a new ~`MultipleOf`~ `DivisibleBy` constraint which checks whether one number is a multiple of (aka "divisible by") some other number.  Useful for enforcing specific increments on a number.

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

See https://github.com/symfony/symfony-docs/pull/10121 for examples of this constraint in action.

Commits
-------

efcfb8b22d [Validator] New `DivisibleBy` constraint for testing divisibility
2018-08-15 17:44:16 +02:00
Colin O'Dell
efcfb8b22d [Validator] New DivisibleBy constraint for testing divisibility 2018-08-15 17:44:08 +02:00
Nicolas Grekas
1757c9c71e minor #28192 [PhpUnitBridge] Add missing stderr redirection (greg0ire)
This PR was merged into the 3.4 branch.

Discussion
----------

[PhpUnitBridge] Add missing stderr redirection

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

This seems to have been overlooked in
6c0e6af47a, and results in the test suite
being polluted on machines where phpdbg is not installed.
I updated the code to mimic other occurences of exec in this file.

Commits
-------

d67b86b9e7 Add missing stderr redirection
2018-08-14 18:01:19 +02:00
Nicolas Grekas
68a9a07c98 bug #28113 [Form] Add help texts for checkboxes in horizontal bootstrap 4 forms (apfelbox)
This PR was merged into the 4.1 branch.

Discussion
----------

[Form] Add help texts for checkboxes in horizontal bootstrap 4 forms

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | —
| License       | MIT
| Doc PR        | —

Bootstrap 4 horizontal forms override the `{% block checkbox_form %}` but didn't include the help text. Regular (vertical) Bootstrap 4 are not affected, as they use the default `form_row`, which includes the `form_help()` call.

### Before
![before](https://user-images.githubusercontent.com/1032411/43576420-9a1051ee-9649-11e8-8c1e-89502e5a79bd.png)

### After
![after](https://user-images.githubusercontent.com/1032411/43576423-9dfe5620-9649-11e8-8bce-74ec82d83729.png)

Commits
-------

1483c87aab Add help texts for checkboxes in horizontal bootstrap 4 forms
2018-08-14 17:48:59 +02:00
Nicolas Grekas
0934464993 feature #28176 [DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration (GaryPEGEOT)
This PR was squashed before being merged into the 4.2-dev branch (closes #28176).

Discussion
----------

[DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration

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

Add the method call `setLogger` for every service implementing `Psr\Log\LoggerAwareInterface`

Commits
-------

afda3c8844 [DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration
2018-08-14 17:12:50 +02:00
Gary PEGEOT
afda3c8844 [DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration 2018-08-14 17:12:26 +02:00
Nicolas Grekas
37c39fb9cd minor #28187 [Yaml] clean up unused code (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] clean up unused code

| 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 removed lines were added in #17159 to be able to detect comment lines without running into parse errors. Part of that was reverted in #25241 when the logic was overhauled leading to now useless initialisation of variables that are never evaluated.

Commits
-------

a7672bd187 clean up unused code
2018-08-14 17:05:37 +02:00
Nicolas Grekas
bc5d208584 [Cache] make PhpMarshaller handle hard references 2018-08-14 16:20:41 +02:00
Grégoire Paris
d67b86b9e7
Add missing stderr redirection
This seems to have been overlooked in
6c0e6af47a, and results in the test suite
being polluted on machines where phpdbg is not installed.
I updated the code to mimic other occurences of exec in this file.
2018-08-11 23:22:43 +02:00
Robin Chalas
ea0b508c8e bug #28100 [Security] Call AccessListener after LogoutListener (chalasr)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Call AccessListener after LogoutListener

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

Commits
-------

44dbea6 [Security] Call AccessListener after LogoutListener
2018-08-11 13:15:56 +02:00
Christian Flothmann
a7672bd187 clean up unused code 2018-08-10 09:34:36 +02:00
Nicolas Grekas
e279e2a50d Merge branch '2.8' into 3.4
* 2.8:
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
2018-08-10 09:29:05 +02:00
Nicolas Grekas
f96753b9ab feature #27957 [Routing] Add fallback to cultureless locale for internationalized routes (fancyweb)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Routing] Add fallback to cultureless locale for internationalized routes

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

Please check the related issue for the context.

TODO :
- [x] Update CHANGELOG
- [x] Update documentation

Commits
-------

fd2e3c36fb [Routing] Add fallback to cultureless locale for internationalized routes
2018-08-10 09:25:39 +02:00
Nicolas Grekas
83a9ca6ed6 feature #28027 [Config] Rename FileLoaderLoadException to LoaderLoadException (ProgMiner)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Config] Rename FileLoaderLoadException to LoaderLoadException

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

Renamed `FileLoaderLoadException` to `LoaderLoadException`.

Commits
-------

24471a2780 [Config] Rename FileLoaderLoadException to LoaderLoadException
2018-08-10 09:17:45 +02:00
Thomas Calvet
fd2e3c36fb [Routing] Add fallback to cultureless locale for internationalized routes 2018-08-10 09:14:01 +02:00