- Core: Forward-declare non-flat uniffi enums #46
- Core: Fix invalid allocation_size code generation when dealing with empty records #45
- Core: Fix constructor argument ordering for
RustStream
- Core: Fix topological sorting not taking into account structurally recursive types #43
- Core: Added header guard for internal FFI structs in scaffolding header
- Core: Added ability to customize enum variant naming styles
- Core: BREAKING Changed default enum variant naming style to
kEnumVariant
- Core: POTENTIALLY BREAKING changed
timestamp
type fromtime_point<system_clock>
, totime_point<system_clock, nanoseconds>
- Scaffolding: Add support for custom types
- Scaffolding: Allow multiple scaffolding implementations to exist in a compiled library/executable
- Scaffolding: Add support for errors
- Scaffolding: Add internal ref counts for object types
- Scaffolding: Add support for associated enums
- Core: Change the underlying type of
RustStream
andRustStreamBuffer
tochar
fromuint8_t
- Scaffolding: Decorate public functions with
__declspec(dllexport)
under Windows and__attribute__((visibility("default")))
on other platforms - Core: Make complex function arguments be passed by
const&
for non-callback functions - Core: Write enums based on variant instead of casting to uint during conversion
- Add experimental C++ scaffolding generation option
- Dereference optional objects in the generated bindings
- IMPORTANT: Fix callback code generation
- Implement checksum verifition for the generated bindings.
- Fix incorrect macro invocation in object bindings.
- Move bindgen config under the
bindings.cpp
section in the config. - Add virtual destructors to callback and error abstract classes.
- Implement destructors for objects.
- Wrap objects in
std::shared_ptr
instead ofstd::unique_ptr
. - Expose access to complex enum variants in the generated bindings.
- Add docstrings to the generated bindings.
- Remove assignment operators and copy constructors for objects to prevent misuse.
- Add generated trait methods (Display, Debug, Eq, Hash) from Rust in ojbects.
- Add support for custom types.
- Initial release.