SwiftGogot 0.46
This version of SwiftGodot includes the following changes:
Features
- Support for Godot 4.3 APIs, apologies for the delay.
Performance
-
Allocation-less marshaling for built-in and class types methods.
The runtime no longer needs to allocate temporary variables to call
into Godot, we now pass data directly from the stack (Elijah
Semyonov) -
More progress to perform Vector3 operations in Swift-land, without
having to call into Godot to do the (Elijah Semyonov) -
Arguments are now borrowed, without being copied (Elijah Semyonov)
Quality of Life Improvements
-
Warn users if they declare types that conflict with Godot types (Rob
Mayoff) -
Large class of memory leaks with variants have been fixed in a
multi-week effort by Elijah Semyonov that tracked every single
dangling reference to their root cause. This is truly a gift of the
gods for all SwiftGodot users.#545, #541, #542, #548, #550, #552, #551
And also a great test suite to ensure we do not regress.
-
New marshalling infrastructure that works on Windows, and removes
the previous optimization that was failing to compile on Windows.
Fundamentals
-
Fix deprecated code usage (Luke Puchner-Hardman, Elijah Semyonov)
-
Fix a scenario where we did not lookup the most-derived type (Justin
Anderson) -
Fix crashes on some indexer operation (Elijah Semyonov)
Maintenance
-
Avoid name clashes with swift language keywords (Jakob
Winkler) -
Remove hard-coded values on my development system so everyone can
enjoy it (Elijah Semyonov)