v0.11.0
- Marshalling: allow JSON-like fields (#241). The library has undergone significant changes to improve its marshalling functionality, code readability, and maintainability. A new
JsonValuetype alias has been introduced to represent the maximum bounds of values that can be saved for an installation, and support forAnyandobjectas type annotations on data classes has been removed. The library now issues aDeprecationWarningwhen saving rawlistanddictfields, and raises a specific error during loading, instructing users to uselist[T]ordict[T]instead. Various methods, including_marshal_generic_list,_marshal_raw_list,_marshal_generic_dict, and_marshal_raw_dict, have been updated to handle the serialization of lists and dictionaries, while the_unmarshalmethod now handles the deserialization of unions, lists, and dictionaries. Additionally, the library has been updated to provide more informative error messages, and several tests have been added to cover various scenarios, including generic dict and list JSON values, bool in union, and raw list and dict deprecation. TheInstallationclass,MockInstallationclass, andPathsclass have also been updated with new methods, type hints, and custom initialization to improve code flexibility and maintainability.
Contributors: @asnare