Skip to content
This repository has been archived by the owner on Mar 4, 2023. It is now read-only.

Major Release - refactoring and new features

Compare
Choose a tag to compare
@Skycoder42 Skycoder42 released this 19 Aug 17:20
· 304 commits to master since this release

Changelist:

  • Refactored backend
    • conversion is now done via the QJsonTypeConverter interfaces
    • implementations for all supported types already exist
    • protected methods have been removed. Implement the QJsonTypeConverter interface to serialize custom types
  • Improved saftey/conversion checks for many types
  • Added possibility to de/serialize QSharedPointer and QPointer properties
  • Made QPair<T1, T2> de/serializable
  • Changed object conversion to use static metaobject instead of dynamic
  • Added support for polymorphism
    • Can serialize polymorphic types, if explicitly specified
    • Can deserializes them via an extra json property.
  • Exceptions now have a "property trace", that shows in which property the exception occured
  • Improved generic methods to work with any de/serializable type, not just object/gadget types

For all changes, check the README and documentation at https://skycoder42.github.io/QJsonSerializer/ for more details.

Important:
As this release is a major release, it breaks binary compability! You will have to recompile your applications against this new version of the library. Source compability has been preserved, as long as you did not override any of the QJsonSerializer methods. If you did, you will have to replace them with a custom QJsonTypeConverter