0.10.0
Breaking:
- Trying to set the classname on PhpDateTime will throw an exception now instead of doing nothing.
- Behavior of the option
EmptyStringToDefault
changed:- And empty string will now result in
default(string)
(which is null) instead of an empty string. - For some target types, the return value might have changed due to better checks for the proper default value.
- And empty string will now result in
Beware: The option EmptyStringToDefault is enabled by default.
Regular changes:
Deserialization:
- Added support for
Nullable<>
- Added
PhpSerializerNET.ClearTypeCache()
- Added
TypeCache
deserialization option- Allows to disable the classname type cache. (enabled by default)
- Allows to enable a property information cache. (disabled by default)
- Added
PhpSerializerNET.ClearPropertyInfoCache()
- When converting to an enum member that is not known a better exception is thrown instead of a nullref (because the fieldinfo cannot be found)
- Added support for arrays
Serialization:
- Added support for serializing
PhpDynamicObject
andExpandoObject
. - Always serialize implementations of
IPhpObject
using object notation.
This is technically a breaking change, but it was always intended to work that way.
Thanks
Thank you very much @sommmen for helping out with this version and for patching up the EmptyStringToDefault and option adding Nullable support.
Plan for 1.0
Plan is to release this version as 1.0 before the new year with no added features or breaking changes. Just bugfixes, should they be needed. Will also need to finish the documentation.