Release Notes: 0.9.0 - 2020-09-20

Introduction

The 0.9.0 release consists of a massive redesign of the godot-rust API in order to solve long-standing soundness problems in the old API, that cannot be easily fixed without changing the internals significantly and breaking compatibility. The result is an interface that abstracts Godot behavior much closer, improving users' abilities to build abstractions that push unsafe actions towards the interface, and guarantee safety in internal code.

Beside soundness, there has also been quality-of-life improvements. For example, the trait system is now used to drastically reduce conversion boilerplate when using generated API methods. Procedural macros are also constantly improved, becoming more flexible over time, and able to report errors more accurately.

Due to the redesign, 0.9.0 contains numerous breaking changes from previous versions. To help users update their code, we have created a migration guide from godot-rust 0.8.x in the user guide.

This release is made from tag 0.9.0, commit a370645.

Known issues

There are a few known issues in this version, which we're looking to fix as soon as possible.

Changelog

Added

Changed

Removed

Fixed