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