- Support for running without JIT enabled
- Support for iOS builds
export
function, an alias forproperty
that always marks the property as exported
- Quote
CODE_SIGN_IDENTITY
argument passed tocodesign
invocations
- BREAKING CHANGE: properties are not exported by default. Either pass
a usage with
PropertyUsage.EDITOR
the bit set or callexport
instead ofproperty
- Support for
codesign
ing OSX builds directly from make invocation. The optional parameters areCODE_SIGN_IDENTITY
andOTHER_CODE_SIGN_FLAGS
. LUA_BIN
option for specifying a Lua command other thanlua
when buildingnative-luajit
make target, used by CIunzip-to-build
make target, for unzipping artifacts from CI to build folder
strip
invocation on OSX builds- Update build GitHub Actions workflow with newer build pipeline
- Added
build/.gdignore
to distribution, to stop Godot from trying to importbuild/jit/*.lua
files - Added default values for
MACOSX_DEPLOYMENT_TARGET
, making it an optional parameter for OSX builds
EditorExportPlugin
for minifying Lua scripts withLuaSrcDiet
on release exports. Minification may be turned off with thelua_pluginscript/export/minify_on_release_export
project setting.
- Release builds' init Lua script are minified with
LuaSrcDiet
and libraries are nowstrip
ed, resulting in smaller dynamic libraries - HGDN functions are now compiled with static visibility and unused GDNative extensions are excluded, also resulting in smaller dynamic libraries
- Makefile targets for cross-compiling for Windows were renamed from
cross-windows*
tomingw-windows*
PoolByteArray.extend
when called with a string argument
Array.join
method, similar toPoolStringArray.join
- Project Settings for setting up
package.path
andpackage.cpath
- Bundle LuaJIT's
jit/*.lua
modules in build folder
- Error handler now uses
tostring
to stringify the incoming parameter, avoiding type errors. It also checks for the result ofstring.match
, so it does not errors if the message is not in the format expected. - Loading of C modules now uses absolute library paths, so that files found in
patterns like
res://*
are correctly loaded. - Always try loading active library, so that dynamic loader knows about
lua*
symbols when loading C modules. Pool*Array
s'__gc
metamethod
GD._VERSION
Object.null
- Call
Object.set
onObject.__newindex
- Stack trace to error message when loading script fails
- Initialize known properties when instantiating script
- Unit test infrastructure
- Android ARMv7/ARM64/x86/x86_64 builds
- [plugin] REPL history, with up/down keys choosing previous/next line
- Properties with
nil
as default value not accesible from Lua - Call
Array.duplicate
using API 1.1 instead of 1.0 Array.duplicate
andArray.slice
return value GC- Call
Dictionary.duplicate
using API 1.2 instead of 1.0 VariantType
used for float properties- Calling
NodePath()
returns an empty NodePath, rather than one with the path"nil"
- Lua PluginScript language
- Embedded LuaJIT
- Metatypes for all Godot basic types
yield
function similar to GDScript's- Script validation and template source code
- Editor plugin with a simple REPL
- Package searcher for Lua and C modules that work with paths relative to
the
res://
folder and/or exported games' executable path - API documentation