Skip to content

0.10.0

Compare
Choose a tag to compare
@StringEpsilon StringEpsilon released this 17 Dec 12:24
· 92 commits to main since this release

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.

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 and ExpandoObject.
  • 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.