de24d9ed74b7e6637cc875e48034b04780d60cbb
[yaffs-website] / vendor / symfony / serializer / CHANGELOG.md
1 CHANGELOG
2 =========
3
4 3.1.0
5 -----
6
7  * added support for serializing objects that implement `JsonSerializable`
8  * added the `DenormalizerAwareTrait` and `NormalizerAwareTrait` traits to
9    support normalizer/denormalizer awareness
10  * added the `DenormalizerAwareInterface` and `NormalizerAwareInterface`
11    interfaces to support normalizer/denormalizer awareness
12  * added a PSR-6 compatible adapter for caching metadata
13  * added a `MaxDepth` option to limit the depth of the object graph when
14    serializing objects
15  * added support for serializing `SplFileInfo` objects
16  * added support for serializing objects that implement `DateTimeInterface`
17  * added `AbstractObjectNormalizer` as a base class for normalizers that deal
18    with objects
19  * added support to relation deserialization
20
21 2.7.0
22 -----
23
24  * added support for serialization and deserialization groups including
25    annotations, XML and YAML mapping.
26  * added `AbstractNormalizer` to factorise code and ease normalizers development
27  * added circular references handling for `PropertyNormalizer`
28  * added support for a context key called `object_to_populate` in `AbstractNormalizer`
29    to reuse existing objects in the deserialization process
30  * added `NameConverterInterface` and `CamelCaseToSnakeCaseNameConverter`
31  * [DEPRECATION] `GetSetMethodNormalizer::setCamelizedAttributes()` and
32    `PropertyNormalizer::setCamelizedAttributes()` are replaced by
33    `CamelCaseToSnakeCaseNameConverter`
34  * [DEPRECATION] the `Exception` interface has been renamed to `ExceptionInterface`
35  * added `ObjectNormalizer` leveraging the `PropertyAccess` component to normalize
36    objects containing both properties and getters / setters / issers / hassers methods.
37
38 2.6.0
39 -----
40
41  * added a new serializer: `PropertyNormalizer`. Like `GetSetMethodNormalizer`,
42    this normalizer will map an object's properties to an array.
43  * added circular references handling for `GetSetMethodNormalizer`
44
45 2.5.0
46 -----
47
48  * added support for `is.*` getters in `GetSetMethodNormalizer`
49
50 2.4.0
51 -----
52
53  * added `$context` support for XMLEncoder.
54  * [DEPRECATION] JsonEncode and JsonDecode where modified to throw
55    an exception if error found. No need for get*Error() functions
56
57 2.3.0
58 -----
59
60  * added `GetSetMethodNormalizer::setCamelizedAttributes` to allow calling
61    camel cased methods for underscored properties
62
63 2.2.0
64 -----
65
66  * [BC BREAK] All Serializer, Normalizer and Encoder interfaces have been
67    modified to include an optional `$context` array parameter.
68  * The XML Root name can now be configured with the `xml_root_name`
69    parameter in the context option to the `XmlEncoder`.
70  * Options to `json_encode` and `json_decode` can be passed through
71    the context options of `JsonEncode` and `JsonDecode` encoder/decoders.
72
73 2.1.0
74 -----
75
76  * added DecoderInterface::supportsDecoding(),
77    EncoderInterface::supportsEncoding()
78  * removed NormalizableInterface::denormalize(),
79    NormalizerInterface::denormalize(),
80    NormalizerInterface::supportsDenormalization()
81  * removed normalize() denormalize() encode() decode() supportsSerialization()
82    supportsDeserialization() supportsEncoding() supportsDecoding()
83    getEncoder() from SerializerInterface
84  * Serializer now implements NormalizerInterface, DenormalizerInterface,
85    EncoderInterface, DecoderInterface in addition to SerializerInterface
86  * added DenormalizableInterface and DenormalizerInterface
87  * [BC BREAK] changed `GetSetMethodNormalizer`'s key names from all lowercased
88    to camelCased (e.g. `mypropertyvalue` to `myPropertyValue`)
89  * [BC BREAK] convert the `item` XML tag to an array
90
91     ``` xml
92     <?xml version="1.0"?>
93     <response>
94         <item><title><![CDATA[title1]]></title></item><item><title><![CDATA[title2]]></title></item>
95     </response>
96     ```
97
98     Before:
99
100         Array()
101
102     After:
103
104         Array(
105             [item] => Array(
106                 [0] => Array(
107                     [title] => title1
108                 )
109                 [1] => Array(
110                     [title] => title2
111                 )
112             )
113         )