Defold releases

Complete release notes for the current and previous versions of the engine.

Newest version: 1.2.149

Release 1.2.97

Feb 13, 2017 Live Update and Native Extensions

Engine

DEF-1129 - Added: Android Immersive mode option

DEF-2382 - Added: App/package resource bundling

DEF-2069 - Added: Added engine version to dev apps

DEF-2376 - Fixed: Support for nested hash()

DEF-2374 - Fixed: Auto completion for label module in editor

DEF-2128 - Fixed: Music interrupted on computed gain 0

DEF-2383 - Fixed: Collection time step was not affecting spine and model components

DEF-2459 - Fixed: Editor 1 failed to load texc library on Windows

DEF-2408 - Fixed: Documentation bug on window.set_listener()

DEF-2464 - Fixed: Models not correctly destroying bone GOs

Live Update

This release contains the first public version of the LiveUpdate feature. LiveUpdate allows you to ship a smaller bundle and load content dynamically. If you are unfamiliar with the feature there is a great post on the forums by Jakob that describes the feature very well: https://forum.defold.com/t/live-updates/4943

New API functions for LiveUpdate. The new API allows you to check if a collection proxy has all the resources it needs to load properly, and to store any missing resources that are needed in case they are missing. More complete documentation of the API will be available on the web page. In short:

collectionproxy.missing_resources takes an url to a collectionproxy and returns a table with hashes of all (if any) resources this collection is missing.

resource.store_resource takes a reference to the project manifest, the data to store, the hash of the data to store, and a completion callback. The user is free to acquire the resource data in any way they like (http, ftp, AWS and so on) before storing it.

resource.get_current_manifest gets a reference to the manifest currently in use. This reference should be passed on to resource.store_resource.

In the editor there are some new settings available.

There is a new checkbox on collectionproxy objects, 'Exclude'. Check this and the collectionproxy resource, and all of its child resources, will not be included in the bundled archive but must instead be loaded using LiveUpdate!

Menu option Project->LiveUpdate settings.. allows you to choose where to publish LiveUpdate resources.

When bundling your game there is a checkbox 'Publish LiveUpdate content'. This will output all LiveUpdate resources to the target location selected in the settings.

Known issues It wouldn't really be a new feature without some known issues.

Collectionproxies that are children to excluded collectionproxies will themselves be implicitly excluded even though they are not tagged as such in the editor.

Addressing a collectionproxy with collectionproxy.missing_resources can only be done from a script that is in the same collection as the target collectionproxy. A workaround is to use messaging instead.

Native Extensions

This first release of the Native Extensions feature is a way for the users to get a very first taste of how to extend the engine.

Note Note that this release is a very first step, so not all features are there yet. Also note that while polishing the product, we might need to make (possibly breaking) changes of this feature, in order to further enhance the product. With that said, we'd like to invite you to try it out, and to help us test it!

What does it do? This feature will allow the user to add new functionality that the engine doesn't already have. For example, adding new Lua modules, or interacting with native functionality in the OS, such as Gyro, GPS, Ads, Window etc. using C++, Objective-C, Java and JavaScript.

What doesn't it do? The way to interact with the engine is limited by our SDK, which currently is very small. Over time this SDK will grow, allowing the user to interact further with the engine.

More detailed info will be found in the Native Extension thread on our forum. Also, more detailed documentation is on its way, along with more examples. Stay tuned!