This release is primarily a bug fix release, but we have also had time to add support for builds targeting Android 12 as well as the ability to create both an APK and AAB in a single build step.
NEW: Use Android 12 (API 31) as target API (#5541) Android target API updated to API level 31 (Android 12). Minimum version of Defold for Android build is 1.2.185.
AndroidManifest.xml
has changed. Make sure you copy these changes into your custom manifest if you use one!
NEW: Add ability to bundle Android in both formats apk
and aab
at the same time (#6506)
Added new ability to create both AAB
and APK
bundle at the same time. It makes it simpler to prepare bundle for release (AAB
) and final tests (APK
) without running bundle process twice. To create both an APK and an AAB specify both bundle formats in a comma separated list:
java -jar bob-jar --bundle-format=apk,aab
FIX: Fixed issue with mesh vertex buffers not updating properly (#6505) Under certain circumstances meshes did not update correctly even though the buffers changed. This fix ensures that a mesh is updated when the buffer content changes.
FIX: Moved in-place encrypt and decrypt to dmsdk (#6520) The Defold SDK has two new functions for performing in-place encrypt and decrypt of a buffer using a key and encryption algorithm:
Result Encrypt(Algorithm algo, uint8_t* data, uint32_t datalen, const uint8_t* key, uint32_t keylen)
Result Decrypt(Algorithm algo, uint8_t* data, uint32_t datalen, const uint8_t* key, uint32_t keylen)
FIX: Fix possible ANR when OS closes app (#6513)
This fix takes care of the last know source of a category of ANRs related to unloading native code (android.app.NativeActivity.unloadNativeCode
).
FIX: Component types are deleted before the collections (#6521) Due to a recent refactor of component code and context ownership there’s a risk of a crash during shutdown when using a GUI component.
FIX: Make sure to copy asset folders as well when creating the Android bundle (#6487)
Some Android dependencies ship additional folders in the assets
directory. In the case of Helpshift (com.helpshift:helpshift-sdkx:10.1.0
) there is an assets/helpshift/
folder containing additional files. The build pipeline incorrectly assumed that everything in assets
was files. This fix checks each entry in assets
and in the case of a folder it copies the folder and everything in it to the bundle.
FIX: Support require calls from the global Lua table (#6438)
Lua stores all global functions and variables in the global table identified as _G
. This table contains all of the global Lua language functions as well as Defold API functions and any user defined global values. The require()
function is among the global Lua functions and can be used to require Lua modules:
-- these are calling the same function
local foo = _G.require("foo")
local foo = require("foo")
When building a Defold game the build tools scan for calls to require()
and will include any required Lua module in the build. The build tools did not detect _G.require()
calls which results in run-time errors when Lua modules were not included in the build. This change adds detection of _G.require()
calls to the build tools.
FIX: Fix timer triggered in init (#6536)[https://github.com/defold/defold/issues/6536] The timer did not trigger at the correct time if set from the init() lifecycle function of a script. This was caused by recent changes in the engine when improved handling of variable refresh rates and decoupling of physics was introduced.
FIX: Getting flipbook animation for a box node may return an empty hash (#6551)[https://github.com/defold/defold/issues/6551]
Fix issue when gui.get_flipbook()
returns empty string for a box node created in the editor.