Serializer v2.0.0-beta1 Release Notes

Release Date: 2018-09-12 // over 5 years ago
  • ๐Ÿ’ฅ Breaking changes:

    • 0๏ธโƒฃ I want to change the default group used when overriding groups of deeper branches #898
    • NullAwareVisitorInterface::isNull second argument #823
    • Simplify deep group exclusion strategy #946 (goetas)
    • Discriminator property serialization when parent is in discriminator map #879 (supersmile2009)

    Implemented enhancements:

    • ๐Ÿ”„ Change license to MIT #950
    • ๐Ÿ— Do not instantiate visitors in the serialization builder #613
    • Possible to prefix the root element while serializing? #506
    • โž• Add logo #976 (goetas)
    • Implementation deserialization of Inline property #974 (scyzoryck)
    • ๐Ÿ’… Code style #971 (goetas)
    • ๐Ÿ‘‰ Make access strategies aware of the context #962 (goetas)
    • ๐Ÿ“‡ Distinguish between metadata errors and run time errors #948 (goetas)
    • ๐Ÿ‘ Allow inline lists and maps #944 (goetas)
    • ๐Ÿ“‡ Move property ordering strategy out of Metadata #938 (Majkl578)
    • ๐Ÿ“‡ Do not use property metadata to get/set object values #934 (goetas)
    • Type hints and final clases #930 (goetas)
    • โž• Added graph navigator factories #929 (goetas)
    • No global graph navigator #925 (goetas)
    • ๐Ÿ‘ Allow instance of event filtering #924 (goetas)
    • ๐Ÿšš Move accessors to graph navigator #923 (goetas)
    • 0๏ธโƒฃ Make PHPUnit stricter, drop redundant defaults #919 (Majkl578)
    • ๐Ÿ‘ป Base exception should extend Throwable #911 (Majkl578)
    • ๐Ÿ“œ Port TypeParser to Hoa\Compiler #900 (Majkl578)
    • ๐Ÿ‘ [2.0] better handling when something gets excluded #895 (goetas)

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ“‡ XmlDeserializationVisitor references undefined property PropertyMetadata::$reflection #958
    • 0๏ธโƒฃ Invalid sprintf usage in DefaultAccessorStrategy #957
    • Serializer::handleDeserializeResult() changes the result after using Visitor::visitArray() #710
    • setGroups add new ExclusionStrategy instead of overwriting it #486
    • GraphNavigator using \LogicException without serializer namespace #473
    • Serialize doctrine entities load linked entities even if the max depth should stop this behavior #407
    • ๐Ÿ– HandlerCallback inconsistent behaviour #324
    • Max Depth possible issue #272
    • MaxDepth shows empty array property #148
    • Custom Serialization handlers give an invalid result on top level #95
    • Deserialization to ArrayCollection not working as expected #9
    • Avoid duplicate exclusion strategies in the context #922 (goetas)

    Closed issues:

    • โช Revert fix for #43 (JSON representation of empty objects) #942
    • ๐Ÿ“‡ Update jms/metadata #936
    • ๐Ÿ“‡ Property access should not rely on PropertyMetadata but only on AccessorStrategyInterface #932
    • Adopt some coding standard #914
    • Replace in-house EventDispatcher by an existing one #912
    • โœ… Risky tests in master #910
    • ๐Ÿ“‡ Move resolveMetadata from the GraphNavigator #906
    • โœ‚ Remove Context::getDirection() #905
    • ๐Ÿ“ฆ [2.0 proposal] Moving non-essential components to separate packages #902
    • [2.0 proposal] Splitting Navigator/Visitor #901
    • Virtual property is excluded when the name equals to an excluded property #896
    • Consider @var annotation for type inference when deserializing #893
    • Consider hoa/compiler #892
    • setSerialiseNull(true) + exclusion strategies still include data #852
    • Serializing a self-referencing object returns null #845
    • ๐Ÿ‘ Allow generators as return type for SubscribingHandlerInterface::getSubscribingMethods #832
    • โž• Add control to deserialization of null values #821
    • serialize null should be a boolean in the context #740
    • ๐Ÿ‘ Allow data access to Property naming strategy #717
    • Custom handler works with array of objects but fails to serialize one object #700
    • ๐Ÿ—„ Deprecate set*ContextFactory in the Serializer to keep it immutable #691
    • โœ‚ Remove Symfony Validator <2.6 support #687
    • โœ‚ Remove PHP metadata driver #686
    • 0๏ธโƒฃ Prevent doctrine proxy loading for virtual types by default #685
    • Inconsistency between serializing arrays and objects key names #655
    • Can't hint interface using @Type to trigger custom handler #631
    • Event Listeners are "lowercasing" class names for event match #624
    • JSON/YAML encoding changes #617
    • โœ‚ Remove PhpCollection and PhpOption and use arrays instead #616
    • โœ‚ Remove handler callback #615
    • MaxDepth exclusion strategy for OneToMany (ArrayCollection) type triggers too many doctrine queries. #500
    • Permit (optional) inheritance of HandlerCallback functions #499
    • Serialized name based on the format #456
    • obsolete strategies when calling Context::setVersion/setGroups more than once #98

    ๐Ÿ”€ Merged pull requests: