Commit Graph

42145 Commits

Author SHA1 Message Date
Nicolas Grekas
aedd52eab7 minor #31553 [Ldap] add a test on parsing the rdn (Simperfit)
This PR was merged into the 4.3 branch.

Discussion
----------

[Ldap] add a test on parsing the rdn

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |  <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

One more test on the rdn directly.

- [x] When #31552 has been merged this one needs to be rebased.

Commits
-------

0abe32b085 [Ldap] add a test on parsing the rdn
2019-05-21 18:00:28 +02:00
Fabien Potencier
987e1cf525 bug #31482 [Messenger][DoctrineBridge] Throws UnrecoverableMessageHandlingException when passed invalid entity manager name (Koc)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger][DoctrineBridge] Throws UnrecoverableMessageHandlingException when passed invalid entity manager name

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | not sure
| Deprecations? | no
| Tests pass?   | Waiting for Travis
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

1. Throws `UnrecoverableMessageHandlingException` and do not retry messages if middlewares missconfigured
2.  `getManager()` doesn't return null. Actually [it throws](https://github.com/doctrine/persistence/blob/master/lib/Doctrine/Persistence/AbstractManagerRegistry.php#L144-L160) `\InvalidArgumentException` in requested entity manager not exists.

Not sure, should this changes considered as BC-break.

Also I can extract abstract Doctrine middleware but not sure what branch should I use for it? Master or 4.3?

Commits
-------

c4eca27149 Throws UnrecoverableMessageHandlingException when passed invalid entity manager name for Doctrine middlewares
2019-05-21 08:58:01 +02:00
Konstantin Myakshin
c4eca27149 Throws UnrecoverableMessageHandlingException when passed invalid entity manager name for Doctrine middlewares 2019-05-21 09:09:55 +03:00
Fabien Potencier
65458059d8 feature #31471 [Messenger] Add "non sendable" stamps (weaverryan)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Add "non sendable" stamps

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

Fixes a bug where Symfony serialization of the AmqpReceivedStamp sometimes caused problems.

It's still a mystery why the `AmqpReceivedStamp` caused a segfault *sometimes* when going through the Symfony serializer or the `VarDumper`. But, that stamp really didn't need to be sent on redelivery anyways.

I don't love making the removal the responsibility of the serializers, but it didn't work well anywhere else.

Cheers!

Commits
-------

34e7781c5c Adding a new NonSendableStampInterface to avoid sending certain stamps
2019-05-21 06:57:28 +02:00
Fabien Potencier
6fb05dc8dc bug #31545 [Messenger] Fix redis Connection::get() should be non blocking by default (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix redis Connection::get() should be non blocking by default

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

The `\Redis::xreadgroup()` method waits until a message arrives or the specified timeout is reached before returning, which means that `RedisExt\Connection::get()` is blocking.
That's inconsistent with other transports which all returns immediately in case there is no message, for instance the AMQP transport uses `\Amqp::get()` instead of `\Amqp::consume()` for this reason.
It also short-circuits the worker's stop logic: both the `--time-limit` option of the `messenger:consume` command and the `messenger:stop-workers` don't work with the redis transport.
This returns early in case the message count is 0 and no blocking timeout has been configured.

Commits
-------

229502a89a [Messenger] Make redis Connection::get() non blocking by default
2019-05-21 06:50:56 +02:00
Robin Chalas
229502a89a [Messenger] Make redis Connection::get() non blocking by default 2019-05-21 04:46:48 +02:00
Nicolas Grekas
beb603694d Merge branch '4.3'
* 4.3: (23 commits)
  minor: add some test in the ldap component
  [Workflow] Update MethodMarkingStore
  [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
  adding experimental note
  [HttpClient] add missing argument check
  [Messenger] Fix undefined index on read timeout
  [Workflow] use method marking store
  [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
  fixed a phpdoc
  [Debug] Wrap call to require_once in a try/catch
  [EventDispatcher] Removed "callable" type hint from WrappedListener constructor
  prevent deprecation when filesize matches error code
  [PropertyInfo] Add missing documentation link in Readme
  Use the current working dir as default first arg in 'link' binary
  Respect parent class contract in ContainerAwareDoctrineEventManager
  [WebProfilerBundle][Form] The form data collector return serialized object when profiler bundle attends object
  [Validator] Add the missing translations for the Danish ("da") locale
  [PropertyAccess] Add missing property to PropertyAccessor
  [Cache] fix saving unrelated keys in recursive callback calls
  [Serializer] Fix denormalization of object with variadic constructor typed argument
  ...
2019-05-20 18:28:43 +02:00
Amrouche Hamza
0abe32b085
[Ldap] add a test on parsing the rdn 2019-05-20 18:28:42 +02:00
Nicolas Grekas
2ecad3ffa9 Merge branch '4.2' into 4.3
* 4.2:
  minor: add some test in the ldap component
  [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
  [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
  fixed a phpdoc
  [Debug] Wrap call to require_once in a try/catch
  prevent deprecation when filesize matches error code
  [PropertyInfo] Add missing documentation link in Readme
  Use the current working dir as default first arg in 'link' binary
  Respect parent class contract in ContainerAwareDoctrineEventManager
  [Validator] Add the missing translations for the Danish ("da") locale
  [PropertyAccess] Add missing property to PropertyAccessor
  [Cache] fix saving unrelated keys in recursive callback calls
  [Serializer] Fix denormalization of object with variadic constructor typed argument
  Allow set 'None' on samesite cookie flag
  Making cache rebuild correctly with MessageSubscriberInterface return values
  Fix finding parent definition
2019-05-20 18:16:12 +02:00
Nicolas Grekas
48258fc12e Merge branch '3.4' into 4.2
* 3.4:
  minor: add some test in the ldap component
  [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
  [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
  fixed a phpdoc
  [Debug] Wrap call to require_once in a try/catch
  [PropertyInfo] Add missing documentation link in Readme
  Use the current working dir as default first arg in 'link' binary
  Respect parent class contract in ContainerAwareDoctrineEventManager
  [Validator] Add the missing translations for the Danish ("da") locale
  [Serializer] Fix denormalization of object with variadic constructor typed argument
  Allow set 'None' on samesite cookie flag
2019-05-20 18:15:26 +02:00
Nicolas Grekas
9e4d5ff47d minor #31552 [Ldap] add a test to getResources and binding (Simperfit)
This PR was merged into the 3.4 branch.

Discussion
----------

[Ldap] add a test to getResources and binding

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |  <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

We could add more unit tests, but this is a beginning.

Commits
-------

d08f195502 minor: add some test in the ldap component
2019-05-20 18:00:08 +02:00
Amrouche Hamza
d08f195502
minor: add some test in the ldap component 2019-05-20 14:59:43 +02:00
Nicolas Grekas
0c1a3dcdfb minor #31536 [Workflow] Update MethodMarkingStore (noniagriconomie)
This PR was squashed before being merged into the 4.3 branch (closes #31536).

Discussion
----------

[Workflow] Update MethodMarkingStore

| Q             | A
| ------------- | ---
| Branch?       | 4.3 (related to deprecation of single/multiple marking store)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | .
| License       | MIT
| Doc PR        | already documented

Minor fix

Commits
-------

c8636523d3 [Workflow] Update MethodMarkingStore
2019-05-20 13:45:47 +02:00
Antoine Makdessi
c8636523d3 [Workflow] Update MethodMarkingStore 2019-05-20 13:45:40 +02:00
Nicolas Grekas
86bc1be2cf bug #31537 [Workflow] use method marking store (noniagriconomie)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] use method marking store

| Q             | A
| ------------- | ---
| Branch?       | 4.3 (related to deprecation of single/multiple marking store)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | .
| License       | MIT
| Doc PR        | already documented

I think the deprecation of old marking store, the single one in the statemachine, was not patched here
Or did i miss something?

Thank you

Cc @lyrixx

Commits
-------

a2191678b7 [Workflow] use method marking store
2019-05-20 13:44:45 +02:00
Nicolas Grekas
8f62674c09 minor #31550 [Mailer] adding experimental disclaimer in readme (chr-hertel)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] adding experimental disclaimer in readme

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

Mailer Component is marked as experimental in code, but not in readme.
got confused while checking the readme files of the new components

Commits
-------

5175f6fffc adding experimental note
2019-05-20 13:39:16 +02:00
Nicolas Grekas
e24e7dcb8c bug #31551 [ProxyManager] isProxyCandidate() does not take into account interfaces (andrerom)
This PR was merged into the 3.4 branch.

Discussion
----------

[ProxyManager] isProxyCandidate() does not take into account interfaces

| 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        | N/A

When using factories it's common best practice to use interface as class name, especially in cases
where you know implementation can differ. Before this fix ProxyManager did not allow these to be lazy.

As we have have this issue on 2.8 and 3.4. it's very hard to debug, and goes against best practice for factories to not fix it, this is suggested for 2.8.

Commits
-------

e3739b1289 [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
2019-05-20 13:36:16 +02:00
Nicolas Grekas
b5dfbef3d1 bug #31542 [HttpClient] add missing argument check (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] add missing argument check

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

Should save some time, sometimes.

Commits
-------

964acd9110 [HttpClient] add missing argument check
2019-05-20 13:13:23 +02:00
André R
e3739b1289 [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
When using factories it's common best practice to use interface as class name, especially in cases
where you know impl can differ. Before this fix ProxyManager did not allow these to be lazy.

In our case this has lead several to hard to debug issues on classes we need to mark as lazyi
and often a need to add lazy on decorators if there are any or other workarounds.
As we have had this issue, and still have on both 2.8 and 3.4 this is opened against 2.8.
2019-05-20 13:02:42 +02:00
Christopher Hertel
5175f6fffc
adding experimental note 2019-05-20 11:28:54 +02:00
Fabien Potencier
abefb53d7c bug #31544 [Messenger] Fix undefined index on read timeout (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix undefined index on read timeout

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

fd8d6b8187 [Messenger] Fix undefined index on read timeout
2019-05-19 21:00:29 +02:00
Nicolas Grekas
964acd9110 [HttpClient] add missing argument check 2019-05-19 11:37:13 -03:00
Robin Chalas
fd8d6b8187 [Messenger] Fix undefined index on read timeout 2019-05-19 16:33:13 +02:00
Nicolas Grekas
7146b95303 [DI] fix using bindings with locators of service subscribers 2019-05-19 11:11:39 -03:00
Antoine Makdessi
a2191678b7
[Workflow] use method marking store 2019-05-19 00:39:11 +02:00
Fabien Potencier
365a390e6e bug #31335 [Doctrine] Respect parent class contract in ContainerAwareEventManager (Koc)
This PR was merged into the 3.4 branch.

Discussion
----------

[Doctrine] Respect parent class contract in ContainerAwareEventManager

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

According to method signature of [original EventManager](https://github.com/doctrine/event-manager/blob/master/lib/Doctrine/Common/EventManager.php#L50) `getListeners` method should return array of initialized objects but now it returns array of strings of listener service names.

Commits
-------

42d62721fd Respect parent class contract in ContainerAwareDoctrineEventManager
2019-05-18 18:38:29 +02:00
Fabien Potencier
53556290ed bug #31421 [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name (przemyslaw-bogusz)
This PR was squashed before being merged into the 3.4 branch (closes #31421).

Discussion
----------

[Routing][AnnotationClassLoader] fix utf-8 encoding in default route name

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

If controller, or one of its methods, contain a unicode character and you run:
```
./bin/console debug:router
```
you get this:
![Zrzut ekranu 2019-05-8 o 14 00 48](https://user-images.githubusercontent.com/35422131/57374545-71863080-719b-11e9-999e-fe0a5051c089.png)

This PR fixes it into this:
![Zrzut ekranu 2019-05-8 o 14 00 59](https://user-images.githubusercontent.com/35422131/57374616-92e71c80-719b-11e9-9d13-5370213c22f7.png)

Commits
-------

7ab52d3c36 [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
2019-05-18 18:36:56 +02:00
Przemysław Bogusz
7ab52d3c36 [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name 2019-05-18 18:36:47 +02:00
Fabien Potencier
c866efa615 fixed a phpdoc 2019-05-18 18:33:51 +02:00
Fabien Potencier
e606ac1916 bug #31493 [EventDispatcher] Removed "callable" type hint from WrappedListener constructor (wskorodecki)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] Removed "callable" type hint from WrappedListener constructor

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

### The problem

```php
public function __construct(callable $listener, ?string $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null)
```

The *callable* type hint will cause the following exception if you register a listener class with a method, which could not be auto-guessed by the Symfony:

`Argument 1 passed to Symfony\Component\EventDispatcher\Debug\WrappedListener::__construct() must be callable, array given`

The debug toolbar will not be displayed in this case.

This is because PHP is checking the array first before making a decision if this is a valid callable or not. So if the second array element does not represent an existing method in object from the first element - PHP will treat this as a common array, not callable. Use `is_callable` method if you need a proof.

### How to reproduce

1. Register some listener with a method, which could not be auto-guessed by Symfony
2. Do not create the `__invoke` method in the listener
3. Skip the `method` attribute in the listener configuration

Example:

```php
class SomeListener
{
    public function myListenerMethod(SomeEvent $event)
    {
        // ...
    }
}
```

```yaml
App\EventListener\SomeListener:
    tags:
      -
        name: kernel.event_listener

        # Symfony will look for "onSomeEvent" method which does not exists.
        event: 'some.event'
        #method: 'myListenerMethod' # Skip this.
```

### Solution:

Removing the type hint will cause the \Closure::fromCallable() method to throw a proper exception, for example:

`Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Failed to create closure from callable: class 'App\EventListener\SomeListener' does not have a method 'onSomeEvent'`

Commits
-------

20c587fc23 [EventDispatcher] Removed "callable" type hint from WrappedListener constructor
2019-05-18 18:11:27 +02:00
Fabien Potencier
ee0cfa9311 bug #31502 [WebProfilerBundle][Form] The form data collector return serialized data (Simperfit)
This PR was merged into the 4.3 branch.

Discussion
----------

[WebProfilerBundle][Form] The form data collector return serialized data

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #31476 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | not needed <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

This bug occurs because at some point the FormDataCollector was returning serialized data, this has been changed in the upcoming branches but it seems that the bug occurs when using different version of the form component and the WebProfilerBundle.

This bugfix add a conflict param on the WebProfilerBundle to avoid using version of the form component who still serialize the data.

Commits
-------

70fdafd79f [WebProfilerBundle][Form] The form data collector return serialized object when profiler bundle attends object
2019-05-18 18:10:32 +02:00
Fabien Potencier
a46276028c bug #31510 Use the current working dir as default first arg in 'link' binary (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

Use the current working dir as default first arg in 'link' binary

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

I don't know how you work on symfony, but each time I face the same issue

1. I go on lyrixx/symfony (my fork)
1. I execute `pwd` and copy it
1. I go to an application
1. I paste the cwd + add `/link` and hit enter
1. I got an error because I missed the "target"
1. I replay the last command and add ` .`

With this PR, I will save the last 2 items...

Event if it's a "new feature", I targeted 3.4.

Commits
-------

6b76c365ea Use the current working dir as default first arg in 'link' binary
2019-05-18 18:09:21 +02:00
Fabien Potencier
ef7ff67f83 bug #31524 [HttpFoundation] prevent deprecation when filesize matches error code (xabbuh)
This PR was merged into the 4.2 branch.

Discussion
----------

[HttpFoundation] prevent deprecation when filesize matches error code

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

Commits
-------

d836c63b91 prevent deprecation when filesize matches error code
2019-05-18 18:05:55 +02:00
Fabien Potencier
721d721304 bug #31535 [Debug] Wrap call to require_once in a try/catch (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] Wrap call to require_once in a try/catch

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

If the included file contains an error, it hides the real error. This
makes debugging harder.

How to reproduce:

```
composer create-project symfony/skeleton symfony-3.4 3.4
cd symfony-3.4
composer req monolog
```

Add to `monolog.yaml`:
```yaml
        elasticsearch:
            type: "elasticsearch"
            elasticsearch:
                host: 'elasticsearch'
                port: '9200'
            index: 'ep_php_logs_dev'
            level: 'debug'
            tags: 'monolog.logger'
            channels: ['!event']
```

This will fail because the the `\Elastica\Client` class does not exist.
But this error will be hidden by the `ClassNotFoundFatalErrorHandler`
because it will try to load the `Symfony\Component\Kernel\Client` and
this class extends `Symfony\Component\BrowserKit\Client`. The last one
is a soft dependency...

---

Before
```
Fatal error: Uncaught Error: Class 'Symfony\Component\BrowserKit\Client' not found in /tmp/symfony-3.4/vendor/symfony/http-kernel/Client.php:31
```

After:
```
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "Client" from namespace "Elastica".
Did you forget a "use" statement for another namespace? in /tmp/symfony-es/var/cache/dev/ContainerWXN4mS9/srcApp_KernelDevDebugContainer.php:303
```

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

afb6e1ec9e [Debug] Wrap call to require_once in a try/catch
2019-05-18 17:58:07 +02:00
Fabien Potencier
5bf7759f3d bug #31525 [FrameworkBundle] Mention that the described service has been removed in debug:container (chalasr)
This PR was merged into the 4.4-dev branch.

Discussion
----------

[FrameworkBundle] Mention that the described service has been removed in debug:container

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

![Screenshot 2019-05-17 at 16 30 59](https://user-images.githubusercontent.com/7502063/57935100-5618d500-78c1-11e9-8c92-b079cc593dec.png)

Commits
-------

45446e891a [FrameworkBundle] Mention that the described service has been removed in debug:container
2019-05-18 17:55:45 +02:00
Grégoire Pineau
afb6e1ec9e [Debug] Wrap call to require_once in a try/catch
If the included file contains an error, it hides the real error. This
makes debugging harder.

How to reproduce:

```
composer create-project symfony/skeleton symfony-3.4 3.4
cd symfony-3.4
composer req monolog
```

Add to `monolog.yaml`:
```yaml
        elasticsearch:
            type: "elasticsearch"
            elasticsearch:
                host: 'elasticsearch'
                port: '9200'
            index: 'ep_php_logs_dev'
            level: 'debug'
            tags: 'monolog.logger'
            channels: ['!event']
```

This will fail because the the \Elastica\Client class does not exist.
But this error will be hidden by the `ClassNotFoundFatalErrorHandler`
because it will try to load the `Symfony\Component\Kernel\Client` and
this class extends `Symfony\Component\BrowserKit\Client`. The last one
is a soft dependency...

---

Before
```
Fatal error: Uncaught Error: Class 'Symfony\Component\BrowserKit\Client' not found in /tmp/symfony-3.4/vendor/symfony/http-kernel/Client.php:31
```

After:
```
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "Client" from namespace "Elastica".
Did you forget a "use" statement for another namespace? in /tmp/symfony-es/var/cache/dev/ContainerWXN4mS9/srcApp_KernelDevDebugContainer.php:303
```
2019-05-18 15:32:47 +02:00
Robin Chalas
45446e891a [FrameworkBundle] Mention that the described service has been removed in debug:container 2019-05-17 16:46:37 +02:00
Wojciech Skorodecki
20c587fc23 [EventDispatcher] Removed "callable" type hint from WrappedListener constructor 2019-05-17 15:28:19 +02:00
Christian Flothmann
d836c63b91 prevent deprecation when filesize matches error code 2019-05-17 13:55:16 +02:00
Fabien Potencier
87855a59ec minor #31513 [PropertyInfo] Add missing documentation link in Readme (plozmun)
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes #31513).

Discussion
----------

[PropertyInfo] Add missing documentation link in Readme

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

Missing link to Property Info documentation

Commits
-------

62894ed8b9 [PropertyInfo] Add missing documentation link in Readme
2019-05-16 16:10:44 +02:00
Pablo Lozano
62894ed8b9 [PropertyInfo] Add missing documentation link in Readme 2019-05-16 16:10:36 +02:00
Grégoire Pineau
6b76c365ea Use the current working dir as default first arg in 'link' binary 2019-05-16 11:52:39 +02:00
Grégoire Pineau
519ba3cddb Merge remote-tracking branch 'origin/4.3'
* origin/4.3:
  deprecate calling createChildContext without the format parameter
  [EventDispatcher] Fix interface name used in error messages
  [FrameworkBundle] Add cache configuration for PropertyInfo
  Update dependencies in the main component
  Drop useless executable bit
  [Doctrine][PropertyInfo] Detect if the ID is writeable
  Add transport in subscriber's phpdoc
  [Validator] Autovalidation: skip readonly props
  [DI] default to service id - *not* FQCN - when building tagged locators
  [Cache] Log a more readable error message when saving into cache fails
  Update WorkflowEvents.php
  [Messenger] On failure retry, make message appear received from original sender
  [Messenger] remove send_and_handle option which can be achieved with SyncTransport
  Fixing tests - passing pdo is not wrapped for some reason in dbal
  Changing how RoutableMessageBus fallback bus works
  [Serializer] Fix BC break: DEPTH_KEY_PATTERN must be public
  [FrameworkBundle] Fixed issue when a parameter container a '%'
  Fix the interface incompatibility of EventDispatchers
  [TwigBundle] fixed Mailer integration in Twig
  [Form] Add intl/choice_translation_locale option to TimezoneType
2019-05-16 11:31:29 +02:00
Konstantin Myakshin
42d62721fd Respect parent class contract in ContainerAwareDoctrineEventManager 2019-05-15 21:39:23 +03:00
Amrouche Hamza
70fdafd79f
[WebProfilerBundle][Form] The form data collector return serialized object when profiler bundle attends object 2019-05-15 20:22:43 +02:00
Fabien Potencier
c5772ae9bc feature #31030 [Serializer] Deprecate calling createChildContext without the format parameter (dbu)
This PR was submitted for the master branch but it was merged into the 4.3 branch instead (closes #31030).

Discussion
----------

[Serializer] Deprecate calling createChildContext without the format parameter

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

as discussed in #30907 deprecate omitting the format parameter when extending the AbstractNormalizer.

Commits
-------

cb77902805 deprecate calling createChildContext without the format parameter
2019-05-15 11:58:17 +02:00
David Buchmann
cb77902805 deprecate calling createChildContext without the format parameter 2019-05-15 11:58:03 +02:00
Fabien Potencier
b529e0746a minor #31498 [EventDispatcher] Fix interface name used in error messages (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] Fix interface name used in error messages

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Forgotten in #31459

Commits
-------

38cad41a0a [EventDispatcher] Fix interface name used in error messages
2019-05-15 07:31:06 +02:00
Fabien Potencier
01964c8570 minor #31499 [Validator] Add the missing translations for the Danish ("da") locale (gauss)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Add the missing translations for the Danish ("da") locale

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

Addresses the missing translations listed in #30155

Commits
-------

710f8a6367 [Validator] Add the missing translations for the Danish ("da") locale
2019-05-15 07:17:01 +02:00
gauss
710f8a6367 [Validator] Add the missing translations for the Danish ("da") locale 2019-05-14 17:13:30 +03:00