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`
18 * added `SerializerPass`
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
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
35 * added support to relation deserialization
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
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`
66 * added support for `is.*` getters in `GetSetMethodNormalizer`
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
78 * added `GetSetMethodNormalizer::setCamelizedAttributes` to allow calling
79 camel cased methods for underscored properties
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.
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
110 <?xml version="1.0"?>
112 <item><title><![CDATA[title1]]></title></item><item><title><![CDATA[title2]]></title></item>