2.0.0
Upgrading notes available at https://github.com/schmittjoh/serializer/blob/master/UPGRADING.md
More info about it on https://www.goetas.com/blog/whats-new-in-jmsserializer-v20/
Full changelog:
Breaking changes:
- 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)
- Move serialization info to the serialization context class #1006 (goetas)
Implemented enhancements:
- Upgrade to Doctrine CS 5.0 #1002 (Majkl578)
- Add travis build for docs #997 (kunicmarko20)
- 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)
- 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
- 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
- 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:
- Added missing comma in 'Overriding Groups' example #1001 (skuhnow)
- Fixed typo in documentation (stdclass.rst) #998 (moritzwachter)
- Improve handlers doc #996 (kunicmarko20)
- Fixed typo typo in UPGRADING.md #973 (sweoggy)
- Nullable exclusion strategy #965 (goetas)
- Revert #113 #949 (goetas)
- This deprecates the set/has data functions in the json serialization #945 (goetas)
- Use jms/metadata 2.0 #940 (goetas)
- Short arrays, static asserts #927 (Majkl578)
- Move data handling from graph navigator to visitor #920 (goetas)
- Fix risky tests #918 (goetas)
- Enable strict mode, fix type juggling and drop some runtime coercion broken by design #916 (Majkl578)
- Upgrade PHPUnit #915 (Majkl578)
- Upcoming 2.0 #743 (goetas)
- Update configuration link to use reStructuredText link format #986 (kinow)
- Fix syntax for PHP code block #985 (kinow)
- Use reStructuredText link format #984 (kinow)