Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After almost 1.5 years of efforts for a compatibility bridge and ongoing maintenance, godot-rust v0.2 will cease to support any Godot version before 4.1.
Despite Godot 4.0 not adhering to compatibility (it's not even possible to reliably use a 4.0.1 extension under a 4.0.2 binary), we have supported individual versions for the entire time. GDExtension was only production-ready from Godot 4.1 onwards, taking backwards compatibility seriously -- so it's still possible today to use extensions written under 4.1.
Removing support comes with a MASSIVE simplification of our codebase, probably the biggest ever. I can delete entire files which only existed as a compatibility layer. Several weird special cases regarding parameter passing over FFI now no longer need to be considered. CI will become faster, as we get rid of 4.0 compat checks. Unsafe
GString::chars_unchecked()
method can be replaced with a safe variant, at no loss of performance. Thegdextension-api
dependency can be made smaller, as it doesn't need to ship 4.0 artifacts.Crate releases
0.1.x
still maintain compatibility with Godot 4.0.