Commit Graph

1199 Commits

Author SHA1 Message Date
Fabien Potencier
9db435ed0c feature #27819 [Serializer] deprecated normalizers and encoders who dont implement the base interfaces (rodnaph)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] deprecated normalizers and encoders who dont implement the base interfaces

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

Currently the `Serializer` can be constructed with any object regardless of whether or not it implements `NormalizerInterface` or `DenormalizerInterface`. This object will then be ignored when getting a normalizer/denormalizer, so in effect silently ignored for serializer operations.

This change throws an exception on construct if a given normalizer object does not implement one of these interfaces - are there use cases where this would not be true?

Commits
-------

cbc2be8ba8 [Serializer] deprecated normalizers and encoders who dont implement the base interfaces
2018-09-25 11:53:27 +02:00
Roland Franssen
c762735075 Favor LogicException for missing classes & functions 2018-09-24 09:37:12 +02:00
Nicolas Grekas
1fc66ff080 Merge branch '4.1'
* 4.1:
  Fix CS
  Allow reuse of Session between requests
  [MonologBridge] Re-add option option to ignore empty context and extra data
  [Lock] remove useless code
  [PhpUnitBridge] fix disabling DeprecationErrorHandler using phpunit.xml file
  Provide debug_backtrace with proper args
  [DI] fix infinite loop involving self-references in decorated services
  forward false label option to nested types
  [DI] fix dumping lazy services
  forward the invalid_message option in date types
2018-09-21 14:51:02 +02:00
Nicolas Grekas
76cf0ca661 Merge branch '3.4' into 4.1
* 3.4:
  Fix CS
  Allow reuse of Session between requests
  [MonologBridge] Re-add option option to ignore empty context and extra data
  [Lock] remove useless code
  [PhpUnitBridge] fix disabling DeprecationErrorHandler using phpunit.xml file
  Provide debug_backtrace with proper args
  [DI] fix infinite loop involving self-references in decorated services
  forward false label option to nested types
  forward the invalid_message option in date types
2018-09-21 14:49:42 +02:00
Nicolas Grekas
0218507b06 Merge branch '2.8' into 3.4
* 2.8:
  Fix CS
  Allow reuse of Session between requests
  Provide debug_backtrace with proper args
  forward false label option to nested types
  forward the invalid_message option in date types
2018-09-21 14:47:54 +02:00
Nicolas Grekas
76c2de0317 Fix CS 2018-09-21 14:46:38 +02:00
Rhodri Pugh
cbc2be8ba8 [Serializer] deprecated normalizers and encoders who dont implement the base interfaces 2018-09-21 14:14:25 +02:00
kevin.nadin
f75fffa997 Trigger deprecation notices when inherited class calls parent method but misses adding new arguments 2018-09-09 20:06:02 +02:00
Nicolas Grekas
004c315b0c Merge branch '4.1'
* 4.1:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:42:43 +02:00
Nicolas Grekas
6fec32c0d0 Merge branch '3.4' into 4.1
* 3.4:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:24:10 +02:00
Nicolas Grekas
8bc014c211 Merge branch '2.8' into 3.4
* 2.8:
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:15:14 +02:00
Nicolas Grekas
721dc8661f Consistently throw exceptions on a single line 2018-09-08 14:44:02 +02:00
Fabien Potencier
7c394e3daa minor #28307 Mark ExceptionInterfaces throwable #2 (ostrolucky)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Mark ExceptionInterfaces throwable #2

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

This has been reverted in beta of 4.1 because of lack of support in prophecy, which has been fixed since then (incl. release). Can be merged again.

References:
https://github.com/symfony/symfony/pull/26702
https://github.com/symfony/symfony/pull/27420
https://github.com/symfony/symfony/issues/27419
https://github.com/phpspec/prophecy/pull/412

ping @dunglas @ciaranmcnulty @dkarlovi @Wirone @teohhanhui @stof @nicolas-grekas @ondrejmirtes

Commits
-------

17c3675226 Mark ExceptionInterfaces throwable
2018-09-04 18:55:13 +02:00
Kévin Dunglas
57fe0178c4 [Serializer] Allow to access extra infos in name converters 2018-09-04 15:36:54 +02:00
Samuel ROZE
6b8e6ce73a Merge branch '4.1'
* 4.1:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
  bumped Symfony version to 3.4.16
  updated VERSION for 3.4.15
  updated CHANGELOG for 3.4.15
2018-09-02 18:48:09 +01:00
Samuel ROZE
e2107d24e2 Merge branch '3.4' into 4.1
* 3.4:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
  bumped Symfony version to 3.4.16
  updated VERSION for 3.4.15
  updated CHANGELOG for 3.4.15
2018-09-02 18:33:37 +01:00
Nicolas Grekas
aa13bfdde0 Merge branch '2.8' into 3.4
* 2.8:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
2018-09-02 19:11:59 +02:00
Gabriel Ostrolucký
17c3675226 Mark ExceptionInterfaces throwable 2018-08-29 17:58:00 +02:00
Dany Maillard
1afb043dc5 Fix code examples in PHPDoc 2018-08-29 15:11:53 +02:00
Dany Maillard
8f8230ac3a Add support for ignoring comments while XML encoding 2018-08-28 00:11:30 +02:00
Fabien Potencier
53ffa6674a feature #28277 [Serializer] AbstractObjectNormalizer improve performance (martiis)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] AbstractObjectNormalizer improve performance

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

Check ticket for description

Commits
-------

4224145a69 [Serializer] AbstractObjectNormalizer improve perf when checking types
2018-08-27 17:56:01 +02:00
Dany Maillard
49f3bfc823 Update changelog 2018-08-27 17:10:45 +02:00
Martynas Sudintas
4224145a69 [Serializer] AbstractObjectNormalizer improve perf when checking types 2018-08-26 19:46:07 +03:00
Dany Maillard
2223fcc5b9 Allow to ignore PI while encoding 2018-08-24 19:15:24 +02:00
Dany Maillard
d94a37f395 Allow to encode xml comments 2018-08-19 12:41:43 +02:00
Nicolas Grekas
d0eef33763 Fix tests for legacy phpunit versions 2018-07-26 13:58:24 +02:00
Nicolas Grekas
f569f58b66 Merge branch '2.8' into 3.4
* 2.8:
  Enable native_constant_invocation CS fixer
2018-07-26 13:19:56 +02:00
Nicolas Grekas
f834c9262b Merge branch '4.1'
* 4.1:
  Alpha-ordering for "use" statements
2018-07-26 11:13:01 +02:00
Nicolas Grekas
a23a4a4398 Merge branch '4.0' into 4.1
* 4.0:
  Alpha-ordering for "use" statements
2018-07-26 11:10:45 +02:00
Nicolas Grekas
6b7e951fdc Merge branch '3.4' into 4.0
* 3.4:
  Alpha-ordering for "use" statements
2018-07-26 11:08:35 +02:00
Nicolas Grekas
7b80bc2c78 Merge branch '2.8' into 3.4
* 2.8:
  Alpha-ordering for "use" statements
2018-07-26 11:06:28 +02:00
Nicolas Grekas
528eef336b Alpha-ordering for "use" statements 2018-07-26 11:03:18 +02:00
Nicolas Grekas
e81285249b Merge branch '4.1'
* 4.1:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:59:12 +02:00
Nicolas Grekas
933b774844 Merge branch '4.0' into 4.1
* 4.0:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:55:25 +02:00
Nicolas Grekas
b9433001cb Merge branch '3.4' into 4.0
* 3.4:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:51:09 +02:00
Nicolas Grekas
f5939a8336 Merge branch '2.8' into 3.4
* 2.8:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:45:46 +02:00
Christophe Coevoet
04654cfeb3 Enable the fixer enforcing fully-qualified calls for compiler-optimized functions 2018-07-24 12:05:38 +02:00
Fabien Potencier
ce2ac0f2f0 Merge branch '4.1'
* 4.1:
  fixed UUID error message id in translation files
  Add missing typehint on chain sender
  Add several missing translations of the UUID validation message.
  Serbo-Croatian has Serbian plural rule
  [Validator] Add missing UUID validator message translation (hu)
  [Validator] Add missing UUID validator message translation (en)
  add missing translation for uuid validator
  Fix false-positive deprecation notices for TranslationLoader and WriteCheckSessionHandler
  Fix PHPDoc return type
  [MonologBridge] Improve FirePHPHandler
  Fix SVGs not scaling in IE9, IE10, and IE11
  Supports nested "abstract" object while serializing and de-serializing
2018-07-23 10:20:32 +02:00
Fabien Potencier
18ba2a81a7 Merge branch '4.1'
* 4.1:
  fixed typo
  [FrameworkBundle] fixed brackets position in method calls
  Add placeholder support in bootstrap 4 file fields
  [Form] Improve rendering of `file` field in bootstrap 4
  [Form] Fix PHPDoc for FormConfigBuilder $dataClass argument
  [Security] Update user phpdoc on tokens
  [WebProfilerBundle] Fixed icon alignment issue using Bootstrap 4.1.2
  suppress side effects in 'get' or 'has' methods of NamespacedAttributeBag
  [HttpFoundation] reset callback on StreamedResponse when setNotModified() is called
  [HttpFoundation] Fixed phpdoc for get method of HeaderBag
  fix typo in ContainerBuilder docblock
  [Form/Profiler] Massively reducing memory footprint of form profiling pages by removing redundant 'form' variable from view variables.
  [Console] correctly return parameter's default value on "--"
  [DependencyInjection] add missing test for #27710
  [EventDispatcher] Clear orphaned events on TraceableEventDispatcher::reset
  Fix serialization of abstract items with groups across multiple entities
2018-07-16 16:05:48 +02:00
Samuel ROZE
ec4b04b2d5 Supports nested "abstract" object while serializing and de-serializing 2018-07-12 09:11:46 +01:00
Christian Flothmann
a3845c7d6e improve deprecation messages 2018-07-08 21:14:58 +02:00
Christian Flothmann
39cb2a99ba improve deprecation messages 2018-07-06 16:26:38 +02:00
Kévin Dunglas
99f829ec2b
[Serializer] Allow to access to the format and context in circular ref handler 2018-07-03 22:17:49 +02:00
Nicolas Grekas
a32393ba37 Merge branch '4.1'
* 4.1:
  Add color support for Hyper terminal .
  [HttpFoundation] Fix tests: new message for status 425
  [Doctrine Bridge] Fixed usage of wrong variable when tagged subscriber is invalid
  [Workflow] Update phpdoc to fit a used className
  [PropertyInfo] added handling of nullable types in PhpDoc
  [HttpKernel] Make AbstractTestSessionListener compatible with CookieClearingLogoutHandler
  [Cache] provider does not respect option maxIdLength with versioning enabled
  [Form] Fix fixtures for forward compat
  [Lock] Fix SemaphoreStoreTest on OS X
  Ensure the class discriminator mechanism works with serialization groups as well
  fix handling of empty DI extension configs
2018-07-03 20:14:13 +02:00
Samuel ROZE
c648b938b2 Fix serialization of abstract items with groups across multiple entities 2018-07-03 17:02:15 +02:00
Nicolas Grekas
80aa8dfcfd feature #27503 [Serializer] Allow to pass a single value for the groups opt (dunglas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Allow to pass a single value for the groups opt

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- 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 |  n/a
| License       | MIT
| Doc PR        | todo

Shortcut syntax similar to #20509 but for the context: allows to pass a string instead of an array of string in the serialization context when only one group if used.

Before:

```php
$serializer->serialize($foo, 'json', ['groups' => ['myGroup']];

/** @ApiResource(normalizationContext={"groups"={"myGroup"}}) */
```

After:

```php
$serializer->serialize($foo, 'json', ['groups' => 'myGroup'];

/** @ApiResource(normalizationContext={"groups"="myGroup") */
```

Commits
-------

5b392030f9 [Serializer] Allow to pass a single value for the groups opt
2018-07-01 08:57:58 +02:00
Kévin Dunglas
5b392030f9
[Serializer] Allow to pass a single value for the groups opt 2018-06-30 12:35:05 +02:00
Maxime Steinhausser
bce59c8427 [Serializer] Deprecate CsvEncoder as_collection false default value 2018-06-30 10:39:07 +02:00
Samuel ROZE
c91b7afe35 Ensure the class discriminator mechanism works with serialization groups as well 2018-06-29 12:52:46 +01:00
Nicolas Grekas
0c57f00ccd Merge branch '4.1'
* 4.1:
  Bump ext-mongodb to 1.5 on Travis
  Redesign the Debug error page in prod
  [DI] fix dumping deprecated service in yaml
  [Serializer] CsvEncoder::AS_COLLECTION_KEY constant
  bumped Symfony version to 4.1.2
  updated VERSION for 4.1.1
  updated CHANGELOG for 4.1.1
  bumped Symfony version to 4.0.13
  updated VERSION for 4.0.12
  updated CHANGELOG for 4.0.12
  bumped Symfony version to 3.4.13
  updated VERSION for 3.4.12
  updated CHANGELOG for 3.4.12
  bumped Symfony version to 2.8.43
  updated VERSION for 2.8.42
  update CONTRIBUTORS for 2.8.42
  updated CHANGELOG for 2.8.42
2018-06-27 23:06:44 +02:00