This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component
Samuel ROZE 61ec2814f3 feature #28943 [Messenger] Add StackInterface, allowing to unstack the call stack (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Add `StackInterface`, allowing to unstack the call stack

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

At the moment, debugging an exception coming from a middleware is not as friendly as it could: each middleware is preceded by a noisy frame added by the `$next` callable indirection.

This PR allows removing this frame by using `$next()->handle($envelope, $next);` instead of `$next($envelope);` in a middleware. Note that this is optional so that the later continues to work. But if one wants to opt-in for the former, then the stack trace of exceptions will be freed from `$next`.

All core middleware should do this, so here they are, updated.

Commits
-------

2bc7d11ad3 [Messenger] Add `StackInterface`, allowing to unstack the call stack
2018-10-25 18:53:20 +02:00
..
Asset added different protocols to be allowed as asset base_urls 2018-09-16 22:06:58 +02:00
BrowserKit bug #28592 [BrowserKit] throw exception when request() wasn't called (xabbuh) 2018-09-29 23:52:52 +02:00
Cache [Cache] Fix outdated CHANGELOG line 2018-10-19 10:25:57 +02:00
Config [Config] Fix slow service discovery for large excluded directories 2018-10-23 09:19:36 +02:00
Console Merge branch '4.1' 2018-10-14 13:50:41 -07:00
CssSelector Merge branch '4.1' 2018-10-02 18:38:08 +02:00
Debug Merge branch '4.1' 2018-10-02 18:38:08 +02:00
DependencyInjection minor #28737 [DependencyInjection] Optimize exporting variables (Sander van der Vlugt) 2018-10-23 09:21:59 +02:00
DomCrawler Merge branch '4.1' 2018-10-02 14:43:31 +02:00
Dotenv fixed typo in class name 2018-10-12 05:57:08 -07:00
EventDispatcher Merge branch '2.8' into 3.4 2018-10-11 06:05:17 -07:00
ExpressionLanguage Remove all usages of call_user_func_array() 2018-09-11 09:53:26 +02:00
Filesystem [Filesystem] Fix mirroring a directory with a relative path and a custom iterator 2018-10-10 04:36:40 -07:00
Finder [Finder] fix reverse sorting custom-ordering functions 2018-10-10 06:30:17 -07:00
Form [Form] Deprecate TimezoneType regions option 2018-10-25 10:54:23 +02:00
HttpFoundation Merging arrays in a loop is slow and causes high CPU usage 2018-10-22 18:12:06 +02:00
HttpKernel feature #28934 [WebProfilerBundle] Add channel log filter (ro0NL) 2018-10-24 05:22:28 +02:00
Inflector Merge branch '4.1' 2018-07-26 10:59:12 +02:00
Intl feature #28833 [Intl] Blacklist invalid languages (ro0NL) 2018-10-12 09:01:53 -07:00
Ldap Revamp LDAP options with nested definition 2018-10-12 11:49:15 -04:00
Lock Merge branch '4.1' 2018-10-10 06:54:27 -07:00
Messenger [Messenger] Add StackInterface, allowing to unstack the call stack 2018-10-25 18:34:40 +02:00
OptionsResolver Fixed explicitly ignores a depreciation 2018-10-24 08:06:04 -04:00
Process [Process] pass all output to the wait-until callback 2018-10-24 12:10:48 +02:00
PropertyAccess Merge branch '4.1' 2018-10-02 14:43:31 +02:00
PropertyInfo Favor LogicException for missing classes & functions 2018-09-24 09:37:12 +02:00
Routing minor #28798 [Routing] simplify PhpMatcherDumper by splitting code logic from route data (nicolas-grekas) 2018-10-10 05:51:58 -07:00
Security Merge branch '4.1' 2018-10-10 16:58:57 +02:00
Serializer [Serializer] Refactor and uniformize the config by introducing a default context 2018-10-23 08:24:47 +02:00
Stopwatch Merge branch '4.1' 2018-10-02 14:43:31 +02:00
Templating Fix code examples in PHPDoc 2018-08-29 15:11:53 +02:00
Translation removed usage of sf2 when possible 2018-10-10 12:30:04 -07:00
Validator catch any UnexpectedValueException on validation 2018-10-24 09:52:19 +02:00
VarDumper [VarDumper] Allow to use a light theme out of the box 2018-10-08 12:50:41 +02:00
VarExporter [VarExporter] add Instantiator::instantiate() to create+populate objects without calling their constructor nor any other methods 2018-09-18 17:22:26 +02:00
WebLink Merge branch '4.1' 2018-07-26 11:13:01 +02:00
Workflow Merge branch '4.1' 2018-10-02 14:43:31 +02:00
Yaml Merge branch '4.1' 2018-10-02 18:38:08 +02:00