Skip to content

Dec v0.10.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 17:04

Added

  • Initial support for Recorder backwards-compatibility type replacement.
  • Default Godot support for error reporting, though right now it works only if the source is embedded in the project.

Breaking

  • Okay I kinda screwed up the Dec Ref thing. Sorry about that. The system should not have been enabled by default; it turns out this causes a bunch of weird unexpected issues. Dec Refs are now disabled by default, and need to be opted-in per-object in PostLoad(). This is a breaking change, although I suspect if you notice any change in your own project, it's likely to be "oh, that was broken before, and now it isn't".
  • Also the interface to opt-in to Dec Refs has changed; look at Database.DecLookupEnable() and Database.DecLookupRegisterCustom().
  • This is probably not the final form of this feature. I do promise to include this basic functionality in the future, but the actual shape of it might differ considerably.

Improved

  • Added support for RecordAsThis() after a class tag.
  • Special-case behavior to convert byte[] input into a Base64-encoded string in XML.
  • Special-case error when hitting a shared-object error while recording an empty Array.
  • Preemptive warning messages when recording an object that cannot be instantiated.
  • Error messages on fatally malformed XML.
  • Performance for cloning small arrays improved significantly (~20% in a semi-realistic test case).
  • Performance for cloning generic objects improved somewhat (~10% in a semi-realistic test case).
  • Warning message attached to the default Error exception-throw behavior.
  • More documentation regarding error log exception behavior.
  • Error message for unused text content in XML nodes handled by Recorders.

Fixed

  • Thread contention error when running Dec on multiple threads simultaneously.
  • Error when cloning a ConverterString-driven class without a parameterless constructor.
  • Parsing a class tag of UnknownClass[] results in an unhandled exception.
  • Parsing generics with multirank arrays as parameters.
  • Overly verbose output when serializing primitive array types.
  • Thrown exception when parsing a generic with an invalid parameter.