Skip to content

Releases: WeaselGames/godot_luaAPI

v2.1-beta11

24 Jan 20:28
edf4afe
Compare
Choose a tag to compare

⚠️ This release of LuaAPI is for godot version 4.2.x

What's Changed

  • BREAKING: LuaAPI.do_file and LuaAPI.do_string both had their return types changed from LuaError to Variant. This is to allow for return values.
  • LuaAPI.do_file and LuaAPI.do_string both now take an optimal second argument. Which would be an Array of arguments to pass to the script.
  • Some minor documentation changes

Example usage:

func _ready():
    var lua: LuaAPI = LuaAPI.new()
    lua.bind_libraries(["base", "table", "string"])

    var ret = lua.do_string("""
    local a, b = ...
    print(a, b)
    return a + b
    """, [4, 6])
    if ret is LuaError:
        print("ERROR %d: %s" % [ret.type, ret.message])
        return
    
    print(ret)

Module MacOS actions started failing randomly so are sadly not included in this release.

v2.1-beta10

04 Jan 05:20
525d1e0
Compare
Choose a tag to compare

⚠️ This release of LuaAPI is for godot version 4.2.x

What's Changed

  • Minor in-engine documentation corrections by @sepTN
  • Module builds updated to 4.2.1

v2.1-beta9

01 Dec 01:46
f658394
Compare
Choose a tag to compare
v2.1-beta9 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.2.x

What's Changed

  • Memory leak described in #155 has been resolved now that GDExtension supports CallableCustoms. (Thanks to the amazing work done by @dsnopek and other contributors in the Godot Engine and godot-cpp.)
  • BREAKING: Lua methods pulled as a Callable no longer take an array of arguments, arguments are passed 1 by 1 now. So instead of myLuaFunc.call([arg1, arg2]) it is myLuaFun.call(arg1, arg2).

A special thanks to @Tekuzo as well, who helped upload the releases due to my internet being too slow currently.

v2.1-beta8

13 Oct 23:33
5a71e71
Compare
Choose a tag to compare
v2.1-beta8 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.1.x

What's Changed

  • Small bug fix for crashes related to when Lua loses reference of a RefCounted before godot.

v2.1-beta7

10 Oct 18:45
Compare
Choose a tag to compare
v2.1-beta7 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.1.x

What's Changed

  • New LuaAPI field LuaAPI.use_callables when true, it will use the LuaCallable type which is a CallableCustom for lua methods like before. When false it will instead use the LuaFunctionRef type which is a RefCounted. It behaves the same but will use a invoke method rather then call. This resolves the issue of C# not supporting CallableCustom types. More details in #172
  • Module releases are now using Godot v4.1.2-stable
  • Memory leak described in #155 has been fixed for all module builds. And a work around now exists for GDExtension using LuaFunctionRefs

v2.1-beta6

02 Oct 04:17
Compare
Choose a tag to compare
v2.1-beta6 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.1.x

What's Changed

  • Added support for UTF8 strings
  • Added support for the FFI library while using the luaJIT builds.

v1.2-beta1

02 Oct 01:56
9a859ac
Compare
Choose a tag to compare
v1.2-beta1 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 3.x

What's Changed

  • Added support for UTF8 strings

v2.1-beta5

14 Sep 16:18
ac5beb3
Compare
Choose a tag to compare
v2.1-beta5 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.1.x

What's Changed

  • New methods to access and modify registry values from @RadiantUwU
  • Some demo bug fixes from @SilicDev

v2.1-beta4

16 Jul 16:10
Compare
Choose a tag to compare
v2.1-beta4 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.1.x

What's Changed

  • Fixed some return types to allow for mono glue generation.
  • The LuaAPI class memory usage, and limit are now uint64's rather then just a signed int32.
  • __index and __newindex now do not force the String type as the index, as this could in theory be any type.

v2.1-beta3

13 Jul 16:21
2c1b23d
Compare
Choose a tag to compare
v2.1-beta3 Pre-release
Pre-release

⚠️ This release of LuaAPI is for godot version 4.1.x

This is the first large feature update for LuaAPI v2.1

What's Changed

  • Added memory_limit property to the LuaAPI class. This allows to set the max allowed memory usage for the Lua state in bytes.
  • Added object_metatable property to the LuaAPI class. This sets the default metatable for Objects which do not define a lua_metatable property.
  • Removed permissive property from the LuaAPI class. This has been replaced with the permissive property on LuaDefaultObjectMetatable which occupies the LuaAPI object_metatable property by default.
  • Added get_memory_usage() method to the LuaAPI class. This returns the current memory usage of the Lua state in bytes.
  • Removed expose_object_constructor() from the LuaAPI class. This is no longer needed, you can push the obj.new method as a global using LuaAPI.push_global() for the same effect but with constructor argument support.
  • New LuaObjectMetatable class. This is a interface class meant to be used to define metatables.
  • New LuaDefaultObjectMetatable class. This is the type that object_metatable defaults to, it provides the same functionality with metatables and metamethods we had before this update. The LuaAPI permissive property has been moved to this class now. It will yield metamethod calls to the object if it defines them like before. Otherwise looks for the lua_fields method which is either a blacklist or a whitelist depending on permissive.

There are a lot of changes with this update so I suspect there may be some regression, if you notice any please open an issue.