# Defold 1.2.178 has been released

**URL:** <https://forum.defold.com/t/defold-1-2-178-has-been-released/67237>\
**Category:** Release notes\
**Created:** [January 11, 2021, 2:30pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237 "2021-01-11T14:30:13Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [January 11, 2021, 2:30pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/1 "2021-01-11T14:30:13Z")

</div>

This sprint we’ve focused a lot on stability, fixing multiple issues.

We’ve finally updated HTML5 to use `Emscripten 2.0.11`. This fixes the size issue of the `js-web` builds. It is also a bit smaller the the previous versions (see below).

Another notable addition is the [go.get\_parent([id])](https://defold.com/ref/alpha/go/#go.get_parent:%5Bid%5D) which allows you to get the parent of a game object. This makes it more consistent with the `gui` functionality.

We’ve also updated the editor `.css` which makes it a lot easier to create a themed look.  
Read more [here](https://forum.defold.com/t/experiments-with-editor-styling-using-javafx-css/67021)

#### Inspection API (C++)

We’ve updated our internal inspection api to include component types and their internal nodes.  
You can see an example of this if you visit your game’s web server at `http://localhost:8002/scene_graph`. It returns a `.json` file representing the currently loaded scene graph.

We have also added these functions to the `dmSDK`. See [dmGameObject::TraverseGetRoot()](https://defold.com/ref/alpha/dmGameObject/#TraverseGetRoot:regist-node) for documentation, and [extension-poco](https://github.com/defold/extension-poco/blob/master/poco/src/dump.cpp#L283) for an example

#### Defold SDK (dmSDK)

In order to support the new functionality of the [extension-poco](https://github.com/defold/extension-poco), we also needed to add a few more headers to `dmSDK`.

- [dmsdk/dlib/hid.h](https://defold.com/ref/stable/dmHid/) - Read/write input to/from the gamepads/joysticks, mouse, keyboard and touch devices
- [dmsdk/engine/extension.h](https://defold.com/ref/alpha/dmEngine/) - Get contexts from the `dmExtension::AppParams` struct.
- [dmsdk/gameobject/gameobject.h](https://defold.com/ref/alpha/dmGameObject/) - Inspection api. Get position/rotation/scale from game objects.
- [dmsdk/dlib/math.h](https://defold.com/ref/alpha/dmMath/) - Common math helper functions
- [dmsdk/dlib/vmath.h](https://defold.com/ref/alpha/dmVMath/) - Vector math type definitions (e.g. dmMath::Vector3) (docs are currently missing)

### Removed support for Emscripten 1.38.12

We moved away from `Emscripten 1.38.12` with Defold version 1.2.170. That version is now 6 months old, which is the time we’ve set to support older SDK’s. And to make room in our Docker container running the server, we have now finally removed it.

Instead we encourage you to update to the new Emscripten 2.0.11 version, which is also even smaller than before (percentage is reduction in size):

- js-web: -~9%
- wasm-web: -~12%

The numbers are a comparison between Defold 1.2.170 and 1.2.178.

Note that this only affects you if you use native extensions.

# Engine

- [`Issue-4897`](https://github.com/defold/defold/issues/4897) - **Updated** : Html5: Update to Emscripten 2.0.11
- [`Issue-5040`](https://github.com/defold/defold/issues/5040) - **Fixed** : Custom resources can now be without suffix
- [`Issue-5220`](https://github.com/defold/defold/issues/5220) - **Added** : Added go.get\_parent([id])
- [`Issue-5289`](https://github.com/defold/defold/issues/5289) - **Fixed** : Sound thread crash
- [`Issue-5305`](https://github.com/defold/defold/issues/5305) - **Fixed** : Bob: Crash fix: Treat the spine skins as an array if there is more than one skin
- [`Issue-5336`](https://github.com/defold/defold/pull/5336) - **Fixed** : macOS: Update app icon for macOS Big Sur
- [`Issue-5358`](https://github.com/defold/defold/issues/5358) - **Fixed** : Android: Fixed problem of recreating surface on certain Android devices
- [`Issue-5366`](https://github.com/defold/defold/issues/5366) - **Fixed** : Bob: Use a dummy ETag when generating the filename if one isn’t provided by the server
- [`Issue-5368`](https://github.com/defold/defold/issues/5368) - **Fixed** : Crash fix for easing curves (release before calling animation complete)
- [`Issue-5375`](https://github.com/defold/defold/issues/5375) - **Fixed** : Updated docs for angular\_velocity to match implementation
- [`Issue-5389`](https://github.com/defold/defold/issues/5389) - **Fixed** : Fixed crash in liveupdate zip archive (Android/Windows)
- [`Issue-5407`](https://github.com/defold/defold/issues/5407) - **Fixed** : Add space between arguments generated from .script\_apis
- [`Issue-5409`](https://github.com/defold/defold/issues/5409) - **Fixed** : iOS: Skip lipo step if there’s only one architecture
- [`Issue-5418`](https://github.com/defold/defold/issues/5418) - **Fixed** : iOS: Expose CFBundleVersion for iOS and macOS
- [`Issue-5420`](https://github.com/defold/defold/issues/5420) - **Fixed** : Fix for gui.get\_node(), to ignore previously deleted nodes
- [`Issue-5040`](https://github.com/defold/defold/issues/5040) - **Added** : NE: Added profile inspection api
- [`Issue-5364`](https://github.com/defold/defold/issues/5364) - **Added** : NE: Added engine.h, hid.h, gameobject.h, math.h, vmath.h and to dmSdk
- [`Issue-5425`](https://github.com/defold/defold/issues/5425) - **Fixed** : NE: Updated to Xcode 12.1 package containing swift libraries

# Editor

- [`Issue-5321`](https://github.com/defold/defold/issues/5321) - **Fixed** : Make editor only check for update once per hour
- [`Issue-5325`](https://github.com/defold/defold/issues/5325) - **Fixed** : Added a preference field for setting a custom keymap path
- [`Issue-5397`](https://github.com/defold/defold/issues/5397) - **Fixed** : Simplify editor styling by unifying color definitions and fonts
- [`Issue-4941`](https://github.com/defold/defold/issues/4941) - **Added** : Added options to move gui nodes via context menu
- [`Issue-5417`](https://github.com/defold/defold/issues/5417) - **Fixed** : Fixed editor signing procedure for windows

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [January 11, 2021, 2:30pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/2 "2021-01-11T14:30:24Z")

</div>



---

<div class="post-metadata">

**Author:** ![SkaterDad](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/skaterdad/32/41137_2.png) [@SkaterDad](https://forum.defold.com/u/SkaterDad)\
**Post date:** [January 11, 2021, 2:56pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/3 "2021-01-11T14:56:37Z")

</div>

> [@Mathias\_Westerdahl](#):
>
> [`Issue-5289`](https://github.com/defold/defold/issues/5289) - **Fixed** : Sound thread crash

Looking forward to trying the new version. I see random native crashes in production, mostly from audio related code. Will be sure to report back if those crashes go away.

---

<div class="post-metadata">

**Author:** ![totebo](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/totebo/32/36087_2.png) [@totebo](https://forum.defold.com/u/totebo)\
**Post date:** [January 11, 2021, 3:09pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/4 "2021-01-11T15:09:43Z")

</div>

> [@SkaterDad](#):
>
> I see random native crashes in production, mostly from audio related code.

Android only?

---

<div class="post-metadata">

**Author:** ![SpencerWF](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/spencerwf/32/21158_2.png) [@SpencerWF](https://forum.defold.com/u/SpencerWF)\
**Post date:** [January 11, 2021, 3:22pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/5 "2021-01-11T15:22:52Z")

</div>

Edit: I realised that you were referring to the size of those parts of the editor, not output.

To be clear:

> Instead we encourage you to update to the new Emscripten 2.0.11 version, which is also even smaller than before:
> 
> ```
> js-web: ~9%
> wasm-web: ~12%
> 
> ```
> 
> The numbers are a comparison between Defold 1.2.170 and 1.2.178.

The 9% and 12% means the build size is reduced **by** 9% and 12%, not **to** 9% and 12%?

Additionally, what is the recommended way to update Defold on Linux?

Cheers,  
Spen

---

<div class="post-metadata">

**Author:** ![SkaterDad](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/skaterdad/32/41137_2.png) [@SkaterDad](https://forum.defold.com/u/SkaterDad)\
**Post date:** [January 11, 2021, 3:25pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/6 "2021-01-11T15:25:17Z")

</div>

> [@totebo](#):
>
> Android only?

Yes

---

<div class="post-metadata">

**Author:** ![totebo](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/totebo/32/36087_2.png) [@totebo](https://forum.defold.com/u/totebo)\
**Post date:** [January 11, 2021, 3:26pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/7 "2021-01-11T15:26:15Z")

</div>

I have the same issue, let’s hope it’s fixed!

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [January 11, 2021, 3:36pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/8 "2021-01-11T15:36:44Z")

</div>

> The 9% and 12% means the build size is reduced **by** 9% and 12%

Yes, it’s the _reduction_ of the sizes, not absolute values.

Although the numbers for 1.2.178 aren’t up yet, we continuously update them here: [GitHub - defold/build-size: Graph showing the Defold engine and editor sizes for all supported platforms · GitHub](https://github.com/britzl/dmengine_size)

> what is the recommended way to update Defold on Linux?

We recommend using the “Update” button located either in the bottom right corner of the editor or on the “open project” selection popup when starting the editor.

---

<div class="post-metadata">

**Author:** ![SpencerWF](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/spencerwf/32/21158_2.png) [@SpencerWF](https://forum.defold.com/u/SpencerWF)\
**Post date:** [January 11, 2021, 3:50pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/9 "2021-01-11T15:50:25Z")

</div>

Updated, thank you Mathias.

---

<div class="post-metadata">

**Author:** ![dmitriy](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dmitriy/32/18452_2.png) [@dmitriy](https://forum.defold.com/u/dmitriy)\
**Post date:** [January 11, 2021, 6:57pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/10 "2021-01-11T18:57:00Z")

</div>

Can we get gameobject instance (for use in GetPosition(dmGameObject::HInstance instance) function) in this release?

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [January 11, 2021, 8:55pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/11 "2021-01-11T20:55:27Z")

</div>

Yes: [https://defold.com/ref/stable/dmGameObject/](https://defold.com/ref/stable/dmGameObject/)

---

<div class="post-metadata">

**Author:** ![dmitriy](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dmitriy/32/18452_2.png) [@dmitriy](https://forum.defold.com/u/dmitriy)\
**Post date:** [January 11, 2021, 9:29pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/12 "2021-01-11T21:29:39Z")

</div>

I don’t see anything here that can help get dmGameObject :: HInstance for particular gameobject.

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [January 11, 2021, 10:32pm UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/13 "2021-01-11T22:32:50Z")

</div>

> [@dmitriy](#):
>
> I don’t see anything here that can help get dmGameObject :: HInstance for particular gameobject.

Ah, it may not have been added yet. @JCash?

---

<div class="post-metadata">

**Author:** ![uncle.kairat](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/uncle.kairat/32/14754_2.png) [@uncle.kairat](https://forum.defold.com/u/uncle.kairat)\
**Post date:** [January 12, 2021, 7:36am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/14 "2021-01-12T07:36:00Z")

</div>

Hey, cool! Any chance to take a look on that bug? This issue is what bothers me most of the time and is very critical to dev productivity:  
[https://github.com/defold/defold/issues/4892](https://github.com/defold/defold/issues/4892)  
Please, help if possible. I’m eager to provide any telemetry/logs/info/steps/OS settings.

P.S. Ubuntu mates, please help me to confirm that this nasty bug still persists in Defold Editor.

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [January 12, 2021, 7:50am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/15 "2021-01-12T07:50:50Z")

</div>

@dmitriy Is your use case from within a script function?

I think we can add [dmGameObject::GetInstanceFromLua(L)](https://github.com/defold/defold/blob/dev/engine/gameobject/src/gameobject/gameobject.h#L831-L837) with relatively little effort.

I had originally planned to expose it together with some other similar functions (that are much more hairy from a stable API point of view, so that’s why I had postponed it).

---

<div class="post-metadata">

**Author:** ![dmitriy](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dmitriy/32/18452_2.png) [@dmitriy](https://forum.defold.com/u/dmitriy)\
**Post date:** [January 12, 2021, 9:59am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/16 "2021-01-12T09:59:23Z")

</div>

I want to do something like this in extension:

```lua
static int get_position_xy(lua_State *L) {
   dmGameObject::HInstance inst = function_to_get_instance_from_url(L, 1);
   Vectormath::Aos::Point3 const p = GetPosition(inst);
   lua_pushnumber(L, p.getX());
   lua_pushnumber(L, p.getY());
   return 2;
}

```

And in lua:

```lua
local x, y = get_position_xy(url)

```

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [January 12, 2021, 10:07am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/17 "2021-01-12T10:07:46Z")

</div>

Ok. Yes, that’s part of the more complicated functions I need to think more about before releasing into the dmSDK. I.e. they need a cleanup to make sure they’re stable. My current ETA is early Q2.

---

<div class="post-metadata">

**Author:** ![SkaterDad](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/skaterdad/32/41137_2.png) [@SkaterDad](https://forum.defold.com/u/SkaterDad)\
**Post date:** [January 16, 2021, 5:58am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/18 "2021-01-16T05:58:26Z")

</div>

> [@totebo](#):
>
> I have the same issue, let’s hope it’s fixed!

I’ve had the 1.2.178 version of my game released for a few days now, and I’m not seeing any sound-related crashes so far.

How are your results?

---

<div class="post-metadata">

**Author:** ![totebo](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/totebo/32/36087_2.png) [@totebo](https://forum.defold.com/u/totebo)\
**Post date:** [January 16, 2021, 10:20am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/19 "2021-01-16T10:20:08Z")

</div>

Great news! We haven’t yet updated the game that had the issues. I’ll report back when/if we do!

---

<div class="post-metadata">

**Author:** ![Karim\_Ahmed](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/karim_ahmed/32/22865_2.png) [@Karim\_Ahmed](https://forum.defold.com/u/Karim_Ahmed)\
**Post date:** [January 23, 2021, 12:07am UTC](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237/20 "2021-01-23T00:07:51Z")

</div>

> [@&quot;dmitriy](#):
>
> HInstance

Thank you very much @Mathias_Westerdahl.

IMHO it will be very useful if there is a way to pass a bulk of HInstances in a buffer from Lua to the extension method. So, the user can keep object lists/pools in Lua side and send their handles in bulk to the native extension. The extension can do its intensive calculations and using APIs like GetPosition/SetPosition to update all of these objects in the C side. That will save the crossing of the boundaries between Lua \<\> C for each of these objects. It will be just one call from Lua to C with a buffer(s) with all of the Hinstance handles and additional buffers with additional game specific data like (Color, is\_alive, health, etc…).

I don’t know if there is a need be able to convert from a buffer of handles passed back from C extension to be looked up and converted to Lua objects table.

[Next page](https://forum.defold.com/t/defold-1-2-178-has-been-released/67237.md?page=2)
