Tips for solving non-trivial breaking changes when upgrading from previous versions.
- Removed
inventory!
macro- You now just write a regular function returning an
Inventory
- See the reference project for details
- You now just write a regular function returning an
- Deprecated Python CFFI backend, replace with Python CTypes backend.
- Might require changing some invocations. Please see
reference_project.py
.
- Might require changing some invocations. Please see
- Renamed attributes of
#[ffi_service_method]
once more, no behavior changed:wrap
is nowon_panic
direct
isreturn_default
raw
isundefined_behavior
- Changed behavior of
#[ffi_service_method]
#[ffi_service_method(direct)]
is now#[ffi_service_method(wrap = "direct")]
- C# backend switched constructors to static methods
- Wherever you used
new Service(x)
now useService.NewWith(x)
(or similar).
- Wherever you used
- C# backend split into
DotNet
andUnity
. If methods are missing:- Add
.add_overload_writer(DotNet::new())
toGenerator
. - Consider adding
.add_overload_writer(Unity::new())
when targeting Unity
- Add
- Replaced most
pattern!
macros with#[pattern]
attributes, see individual pattern documentation for details. - Added type hints support, upgraded minimum supported Python version to 3.7 [no workaround]