Skip to content

0.11.0

Compare
Choose a tag to compare
@StringEpsilon StringEpsilon released this 23 Dec 17:53
· 67 commits to main since this release

0.11.0

Deserialization:

  • Added string Serialize(object? input, PhpSerializiationOptions? options = null) to PhpSerialization so the target type can be specified at run time.
  • PhpSerialization (entry point of the library) is now null reference aware, aiding library consumers in caching NullReferenceException.
  • PhpSerialization throws ArgumentOutOfRangeException instead of the more generalised ArgumentException
  • Bugfix: "INF" and "-INF" would not be handled correctly when using explicit typing (Deserialize<T>) for some target types.
  • Bugfix: Properly set classname when deserializing with explicit types that implement IPhpObject.
  • Bugfix: With the AllowExcessKeys, the deserialization of the given struct or object would abort when an excess key was encountered, leaving the properties after the excess key unassigned. See issue #27.
  • Performance tweaks:
    • Minor improvements on memory use during deserialization.
    • Improved performance for deserializing Double and Integer values with explicit types.

General:

  • Bugfix: PhpSerialization.ClearTypeCache() was not exposed.
  • Bugfix: PhpSerialization.ClearPropertyInfoCache() was not exposed.

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.