0.12.1-4.4
New 0.12.1-4.4 release for Godot Kotlin
Breaking Changes:
- Internal packages of the Godot library have been changed. Note that many occurrences of
godot
have became eithergodot.core
godot.api
. - Names of signal parameters should now be set in the @RegisterSignal annotation.
kt @RegisterSignal val mySignal by signal1<Boolean>("reverse")
becomeskt @RegisterSignal("reverse") val mySignal by signal1<Boolean>()
. - The jar reloading logic has been moved to the C++ code for more stability.. Note that a new ./jvm/ directory containing the jars will be created in your project. You should now place your embedded JVM there as well.
Changes:
- Upgraded to Kotlin 2.1 and Gradle 8.13. Be aware that we had the change the internals of the IDE plugin to handle the new K2 compiler, new bugs might appear. Please report them if this is happening.
- Added new coroutines dispatcher that can run on Godot's main thread or its thread pool.
- JVM Scripts and Jars now have an internal UID based on their paths. For now, the expected behavior when moving/renaming them outside the Godot editor is expected to be the same as in Godot 4.3. Later, we plan to base the UID on the registered script name to make it more stable.
- Added Support Typed Dictionary
- A popup will now appear if the build of Godot you are using does not match your JVM project.
- Added missing TransformXD operators.
- Added missing sort() method in Dictionary
Fixes:
- The Intellij plugin should now work on the latest versions.
- Fixed export of Node inside Array and Dictionary
- Fixed unexpected behavior that might occur when a script had a companion object or static field.
- Fixed property registration when the annotation is in a parent class.
- Fixed registration errors when using script from a different module or library
Don't forget to change your build.gradle configuration with the following line. Be careful, we are now using the same version as Godot so it became 0.12.1-4.4
instead of 0.11.0-4.3.0
:
plugins {
id("com.utopia-rise.godot-kotlin-jvm") version "0.12.1-4.4"
}
What's Changed
- Declare project status as beta by @chippmann in #717
- Fix macos build by @CedNaru in #719
- Faster API Generation by @CedNaru in #721
- Update kotlin to
2.0.21
and update gradle to8.10.2
by @chippmann in #722 - feat(coroutines): implement main thread and thread pool dispatchers by @piiertho in #725
- Add new common module by @CedNaru in #726
- CPP reloading by @CedNaru in #621
- Add JetBrains GameDev Days 2024 video on the docs' index by @gabryon99 in #720
- Scan after generating project by @CedNaru in #723
- Add Internal module by @CedNaru in #729
- Update api-differences.md by @ShalokShalom in #748
- Fix CI by @CedNaru in #749
- Clarify JAVA_HOME for MacOS users by @CedNaru in #751
- Split core into core, api and extension modules by @CedNaru in #746
- chore: Move signals parameter names to annotation by @piiertho in #750
- feat(coroutine): Add LambdaCallable::onCancel to cancel coroutine when callable is cancelled by @piiertho in #732
- Fix hint annotation check for hints higher up in class hierarchy by @chippmann in #737
- Fix setting retention from library settings by @chippmann in #738
- Update dependencies and IDE plugin by @chippmann in #758
- Simplify Bootstrap by @CedNaru in #768
- Add documentation on known issue with microsofts jdk on windows by @chippmann in #769
- Update to Godot 4.4 by @CedNaru in #759
- Fix ide plugin deployment and remove obsolete ide plugin specific matrix by @chippmann in #770
- Make ide plugin k2 compatible by @chippmann in #777
- Update 0.12.1-4.4 by @CedNaru in #772
- Try to fix CI by @CedNaru in #780
Full Changelog: 0.11.0-4.3...0.12.1-4.4