Commit Graph

34608 Commits

Author SHA1 Message Date
Javier Eguiluz
0d27af93ea [Ldap] Document the new exceptions thrown by the code 2019-07-02 09:12:04 +02:00
Fabien Potencier
191cb52902 removed @experimental annotations 2019-06-29 18:43:50 +02:00
Sebastiaan Stok
6e70d12d3b
[Mime] Added SMimeSigner and Encryptor 2019-06-29 10:53:13 +02:00
Fabien Potencier
ca566a5110 Merge branch '4.3' into 4.4
* 4.3:
  [Workflow] Deprecated DefinitionBuilder::setInitialPlace()
2019-06-29 09:02:53 +02:00
Fabien Potencier
8dd5464c2e feature #32180 [Lock] add an InvalidTTLException to be more accurate (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] add an InvalidTTLException to be more accurate

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- 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        | 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 branch 4.4.
 - Legacy code removals go to the master branch.
-->

This adds a new exception to be more precise when using wrong ttl.

Commits
-------

37509192d8 [Lock] add an InvalidTTLException to be more accurate
2019-06-29 08:25:21 +02:00
Fabien Potencier
3644b70d42 feature #32241 [PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method (jschaedl)
This PR was squashed before being merged into the 4.4 branch (closes #32241).

Discussion
----------

[PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method

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

This PR is related to https://github.com/symfony/symfony/pull/32234#discussion_r298415012

Commits
-------

9aac42698a [PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method
2019-06-28 17:46:18 +02:00
Jan Schädlich
9aac42698a [PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method 2019-06-28 17:46:08 +02:00
Amrouche Hamza
37509192d8
[Lock] add an InvalidTTLException to be more accurate 2019-06-28 17:30:17 +02:00
Grégoire Pineau
4d002e8397 [Workflow] Deprecated DefinitionBuilder::setInitialPlace()
Added missing part of #30468
2019-06-28 17:00:47 +02:00
Thomas Calvet
a751629eb1 [Debug] Fix CHANGELOG after ErrorCatcher renaming 2019-06-28 16:44:50 +02:00
Nicolas Grekas
b40f6b5e72 fix merge 2019-06-28 15:25:44 +02:00
Nicolas Grekas
ab1bc87e43 Merge branch '4.3' into 4.4
* 4.3:
  [HttpFoundation] Throw exception when the \"session\" extension is not loaded
  remove invalid test case
  remove invalid test cases
  [Serializer] Fixed PHP of DenormalizableInterface::denormalize
  [Cache] work aroung PHP memory leak
  [Finder] docblock fixes
  pass error code as a string
  Catch JsonException and rethrow in JsonEncode
2019-06-28 15:17:39 +02:00
Nicolas Grekas
a218efebee Merge branch '4.2' into 4.3
* 4.2:
  [HttpFoundation] Throw exception when the \"session\" extension is not loaded
  remove invalid test cases
  [Serializer] Fixed PHP of DenormalizableInterface::denormalize
  [Cache] work aroung PHP memory leak
  [Finder] docblock fixes
  pass error code as a string
  Catch JsonException and rethrow in JsonEncode
2019-06-28 15:16:30 +02:00
Nicolas Grekas
e62e2ddb38 minor #32250 [Validator] remove invalid test case (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Validator] remove invalid test case

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

Spotted while working on #32179 for the Validator component. Using property paths for comparison when validating arrays simply does not work.

Commits
-------

9000c1eab4 remove invalid test case
2019-06-28 14:57:32 +02:00
Nicolas Grekas
b8c4809a49 Merge branch '3.4' into 4.2
* 3.4:
  [HttpFoundation] Throw exception when the \"session\" extension is not loaded
  remove invalid test cases
  [Serializer] Fixed PHP of DenormalizableInterface::denormalize
  [Finder] docblock fixes
  pass error code as a string
  Catch JsonException and rethrow in JsonEncode
2019-06-28 14:55:49 +02:00
Nicolas Grekas
3f165064eb bug #32236 [Cache] work aroung PHP memory leak (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[Cache] work aroung PHP memory leak

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

Works around  https://bugs.php.net/76982, as identified by @goetas in the linked issue.

Commits
-------

5d55b91fae [Cache] work aroung PHP memory leak
2019-06-28 14:49:32 +02:00
Nicolas Grekas
b6e8b17dc4 minor #32215 [HttpFoundation] Throw exception when the "session" extension is not loaded (vudaltsov)
This PR was squashed before being merged into the 3.4 branch (closes #32215).

Discussion
----------

[HttpFoundation] Throw exception when the "session" extension is not loaded

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

Should I target `3.4` or `master` instead? This change does not alter behavior, but makes the failure more clear.

Commits
-------

b0c663071b [HttpFoundation] Throw exception when the \"session\" extension is not loaded
2019-06-28 14:47:57 +02:00
Valentin Udaltsov
b0c663071b [HttpFoundation] Throw exception when the \"session\" extension is not loaded 2019-06-28 14:47:50 +02:00
Nicolas Grekas
9bc8b39709 minor #32249 [Validator] remove invalid test cases (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] remove invalid test cases

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

Spotted while working on #32179 for the Validator component. Using property paths for comparison when validating arrays simply does not work.

Commits
-------

d1261e78a4 remove invalid test cases
2019-06-28 14:46:12 +02:00
Nicolas Grekas
3f53044b42 minor #32244 [Validator] pass error code as a string (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] pass error code as a string

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

Commits
-------

901fe0d7c5 pass error code as a string
2019-06-28 14:40:38 +02:00
Nicolas Grekas
278bfbaea0 minor #32230 [Serializer] Fixed PHP of DenormalizableInterface::denormalize (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fixed PHP of DenormalizableInterface::denormalize

It can return an array of objects

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

Commits
-------

379bbee370 [Serializer] Fixed PHP of DenormalizableInterface::denormalize
2019-06-28 14:36:51 +02:00
Nicolas Grekas
a670098879 minor #32245 [Finder] docblock fixes (smoench)
This PR was merged into the 3.4 branch.

Discussion
----------

[Finder] docblock fixes

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

This PR provides some docblock fixes found in #32243

Commits
-------

02ee4d0b05 [Finder] docblock fixes
2019-06-28 14:36:03 +02:00
Christian Flothmann
61d180e7de Merge branch '4.3' into 4.4
* 4.3:
  fix Debug component dependencies
  [travis] not all components have a master branch
  [HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client
2019-06-28 14:32:50 +02:00
Christian Flothmann
a1de01c6ff Merge branch '4.2' into 4.3
* 4.2:
  fix Debug component dependencies
  [travis] not all components have a master branch
2019-06-28 14:12:54 +02:00
Christian Flothmann
5edac837a0 Merge branch '3.4' into 4.2
* 3.4:
  fix Debug component dependencies
  [travis] not all components have a master branch
2019-06-28 14:00:38 +02:00
Nicolas Grekas
2bab37d64f bug #32206 Catch JsonException and rethrow in JsonEncode (phil-davis)
This PR was merged into the 3.4 branch.

Discussion
----------

Catch JsonException and rethrow in JsonEncode

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | adjustment to implementation of previous PRs for issue #31447
| License       | MIT
| Doc PR        | not applicable

PR #31860 provided handling of PHP  7.3 `JSON_THROW_ON_ERROR` behavior in the various `JsonEncode` and related classes/methods.

PR #31869 adjusted that. In particular, it adjusted ` src/Symfony/Component/Serializer/Encoder/JsonDecode.php` so that it catches any `JsonException` and re-throws it as `NotEncodableValueException`. That preserves the previous behavior of `JsonDecode:decode` - it always throws `NotEncodableValueException` when something goes wrong.

IMO `JsonEncode:encode` needs the same logic. At the moment, if a caller specifies `JSON_THROW_ON_ERROR` then the method can throw `JsonException`, but actually the "standard" for `JsonEncode:encode` is that it throws `NotEncodableValueException`

Adjust `JsonEncode:encode` to catch `JsonException` and rethrow it as `NotEncodableValueException`

Commits
-------

9c76790ee8 Catch JsonException and rethrow in JsonEncode
2019-06-28 13:57:22 +02:00
Nicolas Grekas
9c668d9282 minor #32213 [HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client (teohhanhui)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

As the deprecated `Symfony\Component\HttpKernel\Client` does not extend `Symfony\Component\HttpKernel\HttpKernelBrowser`, it has not retained the correct PHPDoc from before.

The order of inheritance was changed in https://github.com/symfony/symfony/pull/31881, but the PHPDoc was never restored.

Commits
-------

332135186a [HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client
2019-06-28 13:56:05 +02:00
Christian Flothmann
9000c1eab4 remove invalid test case 2019-06-28 12:20:30 +02:00
Christian Flothmann
d1261e78a4 remove invalid test cases 2019-06-28 12:15:37 +02:00
Grégoire Pineau
379bbee370 [Serializer] Fixed PHP of DenormalizableInterface::denormalize
It can return an array of objects
2019-06-28 11:46:25 +02:00
Christian Flothmann
87fe077a89 fix Debug component dependencies 2019-06-28 11:18:39 +02:00
Alexander M. Turek
2a88752cd6 [Routing] Deprecate RouteCollection::addPrefix(null). 2019-06-28 10:23:33 +02:00
Nicolas Grekas
5d55b91fae [Cache] work aroung PHP memory leak 2019-06-28 10:22:31 +02:00
smoench
02ee4d0b05
[Finder] docblock fixes 2019-06-28 10:02:59 +02:00
Christian Flothmann
901fe0d7c5 pass error code as a string 2019-06-28 09:33:32 +02:00
Tobias Schultze
a609f57c03 [ErrorCatcher] some cleanup and better doc 2019-06-27 22:36:35 +02:00
Fabien Potencier
f511bc5ff6 deprecated FlattenException::create() 2019-06-27 19:51:41 +02:00
Fabien Potencier
7dd9dbf28d [ErrorHandler] made IDEs and static analysis tools happy 2019-06-27 19:50:32 +02:00
Fabien Potencier
b6eac3f861 renamed the ErrorHandler component to ErrorCatcher 2019-06-27 19:38:50 +02:00
Fabien Potencier
4d8c473fd3 Merge branch '4.3' into 4.4
* 4.3:
  [Mailer] fixed tests on Windows
  [PhpUnitBridge] fix tests
  [Mailer] fixed error message when connecting to a stream raises an error before connect()
  [Mailer] fixed timeout type hint
  improve error messages in the event dispatcher
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 4.3.3
  updated VERSION for 4.3.2
  updated CHANGELOG for 4.3.2
  bumped Symfony version to 4.2.11
  updated VERSION for 4.2.10
  updated CHANGELOG for 4.2.10
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
  Fixed type annotation.
2019-06-27 18:48:03 +02:00
Fabien Potencier
90f61e9efa [Mailer] fixed tests on Windows 2019-06-27 18:29:52 +02:00
Nicolas Grekas
9b69dc651a [PhpUnitBridge] fix tests 2019-06-27 18:09:32 +02:00
Fabien Potencier
7dd391ed97 made BuferringLogger classes internal and final 2019-06-27 15:21:55 +02:00
Fabien Potencier
13a5e2dd1f feature #31065 Add ErrorHandler component (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

Add ErrorHandler component

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | no
| Fixed tickets | #25905, #26448
| License       | MIT
| Doc PR        | TODO

Mainly for API-based apps that don't require TwigBundle to get the correct exception response according to the request format (aka `_format` attribute).

![exception_response](https://user-images.githubusercontent.com/2028198/55509651-713dc700-562a-11e9-8b98-bef3b0229397.gif)

✔️ [RFC7807](https://tools.ietf.org/html/rfc7807) compliant for JSON and XML formats.

---

This introduce a new `ErrorRenderer` service that render a `FlattenException` into a given format:
```php
use Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRenderer;
use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer;
use Symfony\Component\ErrorHandler\ErrorRenderer\JsonErrorRenderer;

$renderers = [
    new HtmlErrorRenderer(),
    new JsonErrorRenderer(),
    // ...
];
$errorRenderer = new ErrorRenderer($renderers);

return new Response(
    $errorRenderer->render($exception, $request->getRequestFormat()),
    $exception->getStatusCode(),
    $exception->getHeaders()
);
```

The built-in error renderers are:

| Format | Class |
| --- | --- |
| html | HtmlErrorRenderer |
| json | JsonErrorRenderer |
| xml, atom | XmlErrorRenderer |
| txt | TxtErrorRenderer |

And you can add your own error renderer by implementing the `ErrorRendererInterface` and tagging it with `error_handler.renderer` in your service definition.

Creating your own error renderer for a built-in format will end up replacing the related built-in error renderer.

Demo: https://github.com/yceruto/error-handler-app ([add custom error renderer](06fc647841))

Commits
-------

7057244890 Added ErrorHandler component
2019-06-27 14:40:37 +02:00
Teoh Han Hui
332135186a
[HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client 2019-06-27 12:01:44 +02:00
Fabien Potencier
eb15bffa78 [Mailer] fixed error message when connecting to a stream raises an error before connect() 2019-06-27 11:33:25 +02:00
Fabien Potencier
0e7ed9e45c [Mailer] fixed timeout type hint 2019-06-27 10:51:02 +02:00
Fabien Potencier
e55978ada8 bug #32199 [EventDispatcher] improve error messages in the event dispatcher (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] improve error messages in the event dispatcher

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

Commits
-------

0b381dbe1d improve error messages in the event dispatcher
2019-06-27 09:31:09 +02:00
Christian Flothmann
0b381dbe1d improve error messages in the event dispatcher 2019-06-27 08:42:14 +02:00
Phil Davis
9c76790ee8 Catch JsonException and rethrow in JsonEncode 2019-06-27 10:07:28 +05:45