Defold 1.3.0
Official Spine runtime
In this version, we are fully removing the Spine component from the engine itself and moving to the official spine runtime. If you use Spine animations in your project then extra migration steps are needed.
Migration steps are available here : Spine animation in Defold
Engine
-
Issue-5886- Fixed: New functionsgui.set_screen_position()andgui.screen_to_local()
Details
Two new function added to make it easier to operate nodes in GUI component:
-
gui.set_screen_position(node, screen_position)- set screen position for the node; -
local local_position = gui.screen_to_local(node, screen_position)- convert screen position to a local position of the supplied node.
Also, it fixed a bug when the returned value of gui.get_screen_position() might be affected by pivot value.
Fixes #5886
-
Issue-6112- Fixed: Addgame.projectfield for SSL keys to verify the certificate chain during SSL handshake
Details
To verify server SSL certificate a developer should provide a pem file that contains public keys that should be used for verification.
This file may contain public CA-root certificate keys or a self-signed certificate public keys.
This fix adds a new field networkssl_certificates in game.project where this pem file may be specified. If any file is specified in this field the engine turns on verification by default for all requests.
The list of CA-root certificates is included in builtins/ca-certificates, but we don’t recommend using this file directly. Create a new pem file and copy-paste the needed CA-root certificates depending on the services you make HTTP requests to.
Fixes #6112
-
Issue-6297- Fixed: Include debugger scripts in builtins and include the files in bundled debug builds
Details
This change adds the Lua files required by the debugger to builtins. The files are always included in debug builds (ie variant set to debug). This makes it possible to attach the debugger to a previously bundled and already running build.
Fixes #6297
-
Issue-6347- Fixed: Make sure file path comparisons are done without any initial slash for excluded folders
-
Issue-6354- Fixed: Use Application Support folder for game logs if./log.txtis unavailable
Details
Fixes path to the log.txt file for macOS bundle where the creation of the file in app is impossible.
If project.wrile_log checkbox is ON in game.project, engine writes logs in log.txt file.
The path to the file depends on the platform (see manual).
From now on macOS the file path will be /Users/user_name/Library/Application Support/projectname/log.txt
Fixes #6354
-
Issue-6355- Fixed: Fixed: New fieldenabledfor properties iterator.
Details
Adds new field enabled in properties iterator for Gui nodes and components that support enable/disable messages. This functionality used in extension-poco for tests automation.
-
Issue-6370- Fixed: Removed support for 32-bit iPhoneOS (armv7-darwin)
Details
Defold doesn’t support armv7 platform on iOS anymore.
info.plist in builtins/manifests/ios has changed (UIRequiredDeviceCapabilities) make sure you have these changes in your custom info.plist` if you use one.
If your game is already released with armv7 then you have to change MinimumOSVersion to 11.0 in your info.plist to be able to update it on AppStore.
The platform sent to bob is now “–platform=arm64-darwin”.
The bundle output folder from Editor is now arm64-darwin.
Fixes #6369
-
Issue-6376- Fixed: AddedinstantiateStreamingsupport for HTML5 bundles
Details
Using WebAssembly.instantiateStreaming() is the fastest way to load the engine on HTML5 since you no longer have to first load the full engine into an array buffer and then instantiate it.
The feature is enabled by default but can be disabled by setting EngineLoader.stream_wasm = false;
Closes #6324
-
Issue-6406- Fixed: Add override for onNewIntent (#6404)
Details
Some SDKs (for example AppsFlyer) save data in intent ( in case with Appsflyer it’s deep links data).
To be able to get this data app should be in singleTop mode or manually override onNewIntent and call setIntent.
But changing activity mode to singleTop is a bit risky and maybe a reason for regression when working with native extensions.
-
Issue-6423- Fixed: Release pressed keys when regaining focus in HTML5 builds
Details
If a key is pressed while the game lost focus and that key is released while not in focus the event will not be received for the key release. This will result in the key remaining in the pressed state when the game regains focus. To fix this we set all pressed keys to released before regaining focus.
Fixes #3186
-
Issue-6214- Fixed: Removed Spine nodes from gui -
Issue-6341- Fixed: Added first iteration of ddf unpack script -
Issue-6360- Fixed: Updated to support Linux builds on WSL -
Issue-6361- Fixed: Enable Linux builds to use local compiler -
Issue-6363- Fixed: Added notes for how to use Terminal and chocolatey to setup on Windows -
Issue-6364- Fixed: Bump copyright notice -
Issue-6367- Fixed: Added support for using local install of Visual Studio and Windows SDK -
Issue-6378- Fixed: Added more dmGui::DeleteNode et al to dmsdk for use with extension-spine -
Issue-6379- Fixed: Make sure bash finds the binaries in the repository -
Issue-6383- Fixed: Added dmGui::GetParent, dmGui::GetFirstChildNode and dmGui::GetNextNode to dmsdk -
Issue-6409- Fixed: Detect M1 CPU and run x86 shell -
Issue-6419- Fixed: Always provide the stripped/unstripped versions from the build server for linux budle
Editor
-
Issue-6316- Fixed: Add custom project templates
Details
It adds support for user defined templates in the welcome screen:
- Create a
.defoldfolder in your user home folder. This is the same location as any custom editor css files should be located. - Create a
welcome.ednfile with the following content:
{:new-project
{:categories [
{:label "From Custom Template" :templates [
{
:name "LowRez"
:description "Defold template project for creation of low-res pixel art games."
:image "empty.svg"
:zip-url "https://github.com/britzl/lowrezjam-template/archive/refs/heads/master.zip"
:skip-root? true
},
{
:name "MyProject"
:description "Template with everything set up my way!."
:image "empty.svg"
:zip-url "https://github.com/britzl/lowrezjam-template/archive/refs/heads/master.zip"
:skip-root? true
},
]}
]}
}
Notes:
- You can create as many categories as you want.
- For now the
:imagehas to be one of the images ineditor/resources/welcome/images. - The
:zip-urlhas to be hosted on a server and downloaded using HTTP GET.

