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
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
19 * added support to relation deserialization
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.
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`
48 * added support for `is.*` getters in `GetSetMethodNormalizer`
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
60 * added `GetSetMethodNormalizer::setCamelizedAttributes` to allow calling
61 camel cased methods for underscored properties
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.
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
94 <item><title><![CDATA[title1]]></title></item><item><title><![CDATA[title2]]></title></item>