Skip to content

Releases: utopia-rise/godot-kotlin-jvm

0.13.1-4.4.1

23 Apr 17:38
a222268
Compare
Choose a tag to compare

New patch release for Godot Kotlin

Fix:

  • Editor won't complain about missing bootstrap anymore.
  • Android exports don't create duplicated resources anymore.
  • BitFields/Enums from the Godot API is now visible to Java.

Changes:

  • The Gradle build button has been improved and now stream the text of the currently running task instead of only displaying everything at once at the end.
  • You can generate the embedded JVM from the editor using the same improved Gradle button.

Don't forget to change your build.gradle configuration with the following line.

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.13.1-4.4.1"
}

What's Changed

Full Changelog: 0.13.0-4.4.1...0.13.1-4.4.1

0.13.0-4.4.1

21 Apr 16:12
d93c76f
Compare
Choose a tag to compare

New minor update for Godot Kotlin

Changes:

  • The bootstrap.jar is gone, the editor can now run by itself !
  • Many API methods taking a StringName as parameter can now accept a regular String instead. It's automatically transformed into a StringName and cached for efficiency.
  • Most Godot Enum values are now shorter, removing redundant words from the encapsulating Enum.
    Error.ERR_PARAMETER_RANGE_ERROR -> Error.PARAMETER_RANGE
  • The DocString documentation formatting has been improved.
  • Mutation helpers for PackedArrays have been added to the API.
  • Added a Gradle task to generate the embedded JVM

Fixes:

  • JVM modules like java.sql can now be used by your Godot projects.
  • The IDE plugin templates use the correct version.
  • Non-ascii characters are properly displayed when printing to Godot.
  • Reloading the project no longer crashes if you have several registered scripts in the same file.
  • Android exports should work again.

Don't forget to change your build.gradle configuration with the following line.

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.13.0-4.4.1"
}

What's Changed

Full Changelog: 0.12.3-4.4.1...0.13.0-4.4.1

0.12.3-4.4.1

29 Mar 12:51
63bbf97
Compare
Choose a tag to compare

Update to Godot 4.4.1 for Godot Kotlin

Features:

  • You can now pass several JVM arguments to your project. See command-line section in the documentation.
  • Godot Object now has core methods like _set, _get, getPropertyList, _toString, etc...

Fixes :

  • Native core type should no longer leak.
  • Fix crash when using new PackedVectorArray batch conversion
  • Exports are no longer missing internal package

Don't forget to change your build.gradle configuration with the following line.

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.12.3-4.4.1"
}

What's Changed

Full Changelog: 0.12.2-4.4...0.12.3-4.4.1

0.12.2-4.4

25 Mar 20:55
40599eb
Compare
Choose a tag to compare

Small fix release for Godot Kotlin/JVM:

Fixes :

  • Scripts should be properly reloaded by the editor when modified by an external program, you won't risk overwriting your code with an old copy of it anymore.
  • Fix crash when trying to extend a JVM script from the editor.

Improvements:

  • More efficient memory management of pointer based coretypes (Array, Dictionary, NodePath, etc...).
  • An efficient batch conversion to a JVM Array has been added for PackedVectorArrays.

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.2-4.4 instead of 0.12.1-4.4:

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.12.2-4.4"
}

What's Changed

Full Changelog: 0.12.1-4.4...0.12.2-4.4

0.12.1-4.4

16 Mar 18:57
441681c
Compare
Choose a tag to compare

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 either godot.core godot.api.
  • Names of signal parameters should now be set in the @RegisterSignal annotation. kt @RegisterSignal val mySignal by signal1<Boolean>("reverse") becomes kt @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

Full Changelog: 0.11.0-4.3...0.12.1-4.4

0.11.0-4.3

07 Oct 13:54
Compare
Choose a tag to compare

New 0.11.0-4.3 release for Godot Kotlin.

  • The export template archive .tpz should now properly work in the editor. Note that the internal name of the editor and templates has been changed to 4.3.stable.jvm.0.11.0 to avoid name conflict with the official 4.3.stable release.
  • The coroutine Signal.await() method now works properly on Nodes.
  • The API exposed to the Java language has been improved. Singletons are now truly static and Callables are easier to create (example in documentation).
  • Fix an error that could cause bugs when using PackedVector4Array with registered methods or properties.

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.11.0-4.3 instead of 0.11.0-4.3.0:

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.11.0-4.3"
}

The files prefixed with godot-kotlin-jvm_editor_ are the editors.
release editors are the editors you use normally. debug editors provide debug symbols and are intended to provide better stacktraces in case of crashes of the editor. Please use those when submitting bugreports.

godot-kotlin-jvm_export_templates_0.11.0-4.3.tpz is the archive for all export templates . See exporting documentation on how to use it.

What's Changed

Full Changelog: 0.10.0-4.3.0...0.11.0-4.3

0.10.0-4.3.0

01 Oct 11:00
b28c493
Compare
Choose a tag to compare

New release 0.10.0-4.3.0 for Godot Kotlin.

Warning: Some breaking changes have been made to the API since the last release, so your current projects will most likely not compile without adapting the code. Also be aware that a lot changed behind the hood since the previous release. We fixed many bugs, but probably introduced new ones along the way. We encourage you to post issues if it happens.

Highlights:

  • Massive changes to the C++ implementation of the module resulting in better maintainability, better logging/notification, recovery from invalid states and many crashes replaced by errors/warnings.
  • Improved configuration file and command-line, including custom arguments for the JVM.
  • Added efficient conversions between Godot PackedArrays and Kotlin primitive Arrays.
  • Nodes with an invalid script (not built) now display a warning.
  • Improved API for Callable, including the possibility to directly use Kotlin lambdas, not only registered functions.
  • Support for Kotlin coroutines has been added, you can now wait for a signal, resource loading or the next frame.
  • It's no longer allowed to register lateinit or nullable properties, except for Object/Resource/Node types.
  • The editor plugin is back, allowing you to setup the Gradle project and build it from the editor.
  • Memory model revamped and now running on the main thread for more stability and smoother handling of GC spikes.
  • Memory usage has been significantly reduced.
  • Fix .kt and .java scripts attached to Nodes not being correctly saved in editor.
  • When a Java or Kotlin script has been edited without rebuilding, the editor is going to display warnings on Nodes using those scripts.
  • Bug resetting property values in inspector has been fixed.
  • General improvements to the core and generated API.
  • iOS export now use our own custom JVM build
  • Support for multidex APK on Android.
  • Exports now working on Android 14+.
  • Building for Android now requires SDK 35+.

Don't forget to change your build.gradle configuration with the following line:

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.10.0-4.3.0"
}

The files prefixed with godot-kotlin-jvm_editor_ are the editors.
release editors are the editors you use normally. debug editors provide debug symbols and are intended to provide better stacktraces in case of crashes of the editor. Please use those when submitting bugreports.

godot-kotlin-jvm_export_templates_0.10.0-4.3.0.tpz is the archive for all export templates . See exporting documentation on how to use it.

What's Changed

Full Changelog: 0.9.1-4.2.2...0.10.0-4.3.0

0.9.1-4.2.2

07 May 13:50
Compare
Choose a tag to compare

New fix release 0.9.1-4.2.2 for Godot Kotlin.

  • Fix an error that prevented properties values to be set in the node inspector.
  • We now use our own custom project to build the dependencies for iOS export. It makes the maintenance easier for us and more futurproof. Because of that, only one version of GraalVM is supported. Currently it's set to 23.1.3. You can download it here
plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.9.1-4.2.2"
}

The files prefixed with godot-kotlin-jvm_editor_ are the editors.

godot-kotlin-jvm_export_templates_0.9.1-4.2.2.tpz is the archive for all export templates . See exporting documentation on how to use it.

What's Changed

Full Changelog: 0.9.0-4.2.2...0.9.1-4.2.2

0.9.0-4.2.2

24 Apr 16:05
Compare
Choose a tag to compare

New minor 0.9.0-4.2.2 release for Godot Kotlin.

  • Support for Kotlin and Java source files has been added. You can now use .gdj, .kt and .java files as scripts you can attach to nodes and objects. Check the documentation to understand the differences between using registration files and source files. Java and Kotlin source code is not kept when exporting your game, so you won't risk leaking it.
  • Attaching and creating scripts through the UI dialog is now working properly.
  • VariantArray should now be exported with the correct generic type in Godot.
  • Build errors related to scripts are more detailed.
  • Add some missing methods in core godot types.
  • Using reflection in your project has been fixed.
  • An alert dialog will appear, when possible, if Godot crashes for a reason related to the module.
  • A new minimal project template has been created to show new users what a basic setup for a Godot Kotlin project looks like: https://github.com/utopia-rise/godot-kotlin-project-template

Don't forget to change your build.gradle configuration with the following line:

plugins {
    id("com.utopia-rise.godot-kotlin-jvm") version "0.9.0-4.2.2"
}

Warning: With the changes made to scripts in this version, it's possible you encounter issues when opening an existing JVM project. If that's the case, close the project, delete your .godot/ directory and let Godot reimport everything.

The files prefixed with godot-kotlin-jvm_editor_ are the editors.

godot-kotlin-jvm_export_templates_0.9.0-4.2.2.tpz is the archive for all export templates . See exporting documentation on how to use it.

What's Changed

Full Changelog: 0.8.2-4.2.1...0.9.0-4.2.2

0.8.2-4.2.1

10 Mar 15:05
4938de5
Compare
Choose a tag to compare

The files prefixed with godot-kotlin-jvm_editor_ are the editors.

godot-kotlin-jvm_export_templates_0.8.2-4.2.1.tpz is the archive for all export templates . See exporting documentation on how to use it.

Changelog:

  • 4938de5 chore: update to godot 4.2.1 and bump module version to 0.8.2 (#583)
  • 369b71fc Improving Documentation: Fixing Name Convetions and Formatting (#576)
  • ebe5a793 Fix android export templates and fix export template target version (#581)