Please pay extra attention to the release notes and the four breaking changes, as one or more of them may affect your projects. The breaking changes (listed in more detail further down) are:
physics.max_collision_object_count
field in game.project
dmJson
namespace and json.h
.BREAKING CHANGE: (#7081) Added physics.max_collision_object_count
field in game.project
Added physics.max_collision_object_count
field in game.project
to set maximum count of collision objects per physics world. This prevents a crash which would happen in earlier versions when using more than 1024 collision objects in a physics world.
IMPORTANT: This is a breaking change. The default value for physics.max_collision_object_count
is 128. Make sure you adjust the value to suit the needs of your project.
BREAKING CHANGE: (#7095) Use lua-cjson for both json.encode/json.decode
The internal library used in Defold for json encoding and decoding is lua-cjson. The decoding performance improvement is about 10x faster than before (when using jsmn). With this change a number of changes have been introduced, one of which is considered a breaking change:
dmJson
namespace and functionality has been removed from our C++ dmSdk
due to its poor performance and lack of features.json.null
in order to support null
values in a Lua table.dmScript::LuaToJson(lua_State* L, char** json, size_t* length)
as a new function in the C++dmSdk
.BREAKING CHANGE: (#6963) Improved GUI clipping with layers
The behaviour regarding how clipping interacts with layers in GUI scenes has been modified. Instead of treating each clipping node as its own isolated node tree, where the layers only affect the child nodes, using layers can now change the ordering of the nodes freely.
BREAKING CHANGE: (#7054) Made dmObjectPool into a class, with new access function GetRawObjects()
In order to make it clearer that the access to the internal objects is volatile, we put them in a class and only allowing access to them using the function dmObjectPool::GetRawObjects()
FIX: (#7091) Fix issue when bundling projects with models
Fixes an issue when bundling projects with model components.
FIX: (#7114) Fix bug on iOS when profiler doesn’t show CPU and Memory usage
Fix a regression bug introduced in 1.3.7 when profiler doesn’t show CPU and Memory usage on iOS.
FIX: (#7064) Remove partially cached HTTP response on timeout
This fixes an issue where a network request is interrupted due to a network error or timeout still left a partial response stored in the HTTP cache. Subsequent requests for the same resource would in such a case return the partial and most likely corrupted response stored in the cache. The cache will now remove any partial response on error.
FIX: (#7097) Crash when using sound resource properties
Fix crash that happening when set a sound resource for a sound component that has playing sounds.
FIX: (#7105) Close application when stop debugging
Fix issue introduced in 1.3.7 (regression) when Debugger stop button doesn’t close the application.
NEW: (#7002) Added option to pass additional headers to the build server
It is now possible to pass additional headers to the build server when building native extensions using command line tools and the editor. The editor has a new Build Server Headers field in the Extensions tab of the Preferences menu. The bob.jar command line tool has a new --build-server-header
option.
In the editor headers are added line by line in a multi-line text text area. In bob.jar headers are added one by one using multiple --build-server-header
options.
Example:
java -jar bob.jar `--build-server-header="x-my-header1: header1_value" --build-server-header="x-my-header2: My name is Bob"
Will set two headers:
x-my-header1: header1_value
x-my-header2: My name is Bob
NEW: (#7036) Option for bundling without resources to use as a build target.
New option for Bob --exclude-archive
and a checkbox in the Bundle popup for bundling without resources. This bundle may be used as a build target.
FIX: (#7049) Fix editor exception during build if a referenced collection overrides a resource script property
Fixed an editor exception during build if a referenced collection overrides a resource script property.
FIX: (#7100) Fix atlas image deduplication
Atlases with duplicate images in different animations will no longer have the images duplicated in the atlas image.
FIX: (#7027) Make editor more resilient when opening files
We used to save all recent files of all projects in a single user preference key. Since preference keys have a size limit, this is clearly a problem. This commit makes the editor use a different preference key per every project root, and also decreases the history limit just to be extra safe.
User-facing changes: Hopefully none 😅 . If no files in the editor could be opened before, they will now.
FIX: (#7062) Fix slow loading of sprite data in the editor
Fixed slow project load times introduced by the addition of slice-9 support for sprites.
FIX: (#7074) Copied collision 3d box doesn’t show properly in the editor
Collision objects are correctly copy-pasted in projects with 3D physics.