v0.0.101.2
This release fixes a number of under-the-hood bugs, but has no user-visible API changes.
- Fixes a bug where strings passed from Rust by reference to Java may cause double-frees. This is visible occasionally as
Event
s which contain strings passed to Javahandle_event
methods may cause crashes. - Tweak library paths in Android AARs to match the NDK documentation. This may fix shared library load failures on arm64 devices, though its a bit of a shot in the dark.
- Avoid introducing reference loops for non-trait objects passed to Rust when the object is cloned before being passed. Historically, the bindings generation attempted to aggressively avoid clones in order to avoid significant performance penalties. While we should move our way back there, clones ended up being added over time to fix specific edge cases. As long as the clones are present, there is no reason to add the explicit references via the
ptrs_to
list, which may cause effective memory leaks.