Drupal investigation

CHANGELOG.md 3.2KB

CHANGELOG

2.7.0

  • added support for serialization and deserialization groups including annotations, XML and YAML mapping.
  • added AbstractNormalizer to factorise code and ease normalizers development
  • added circular references handling for PropertyNormalizer
  • added support for a context key called object_to_populate in AbstractNormalizer to reuse existing objects in the deserialization process
  • added NameConverterInterface and CamelCaseToSnakeCaseNameConverter
  • [DEPRECATION] GetSetMethodNormalizer::setCamelizedAttributes() and PropertyNormalizer::setCamelizedAttributes() are replaced by CamelCaseToSnakeCaseNameConverter
  • [DEPRECATION] the Exception interface has been renamed to ExceptionInterface
  • added ObjectNormalizer leveraging the PropertyAccess component to normalize objects containing both properties and getters / setters / issers / hassers methods.

2.6.0

  • added a new serializer: PropertyNormalizer. Like GetSetMethodNormalizer, this normalizer will map an object's properties to an array.
  • added circular references handling for GetSetMethodNormalizer

2.5.0

  • added support for is.* getters in GetSetMethodNormalizer

2.4.0

  • added $context support for XMLEncoder.
  • [DEPRECATION] JsonEncode and JsonDecode where modified to throw an exception if error found. No need for get*Error() functions

2.3.0

  • added GetSetMethodNormalizer::setCamelizedAttributes to allow calling camel cased methods for underscored properties

2.2.0

  • [BC BREAK] All Serializer, Normalizer and Encoder interfaces have been modified to include an optional $context array parameter.
  • The XML Root name can now be configured with the xml_root_name parameter in the context option to the XmlEncoder.
  • Options to json_encode and json_decode can be passed through the context options of JsonEncode and JsonDecode encoder/decoders.

2.1.0

  • added DecoderInterface::supportsDecoding(), EncoderInterface::supportsEncoding()
  • removed NormalizableInterface::denormalize(), NormalizerInterface::denormalize(), NormalizerInterface::supportsDenormalization()
  • removed normalize() denormalize() encode() decode() supportsSerialization() supportsDeserialization() supportsEncoding() supportsDecoding() getEncoder() from SerializerInterface
  • Serializer now implements NormalizerInterface, DenormalizerInterface, EncoderInterface, DecoderInterface in addition to SerializerInterface
  • added DenormalizableInterface and DenormalizerInterface
  • [BC BREAK] changed GetSetMethodNormalizer's key names from all lowercased to camelCased (e.g. mypropertyvalue to myPropertyValue)
  • [BC BREAK] convert the item XML tag to an array

    <?xml version="1.0"?>
    <response>
        <item><title><![CDATA[title1]]></title></item><item><title><![CDATA[title2]]></title></item>
    </response>
    

    Before:

    Array()
    

    After:

    Array(
        [item] => Array(
            [0] => Array(
                [title] => title1
            )
            [1] => Array(
                [title] => title2
            )
        )
    )