Skip to content

Add blogpost about 1.9.7 release #144

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 4, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
215 changes: 215 additions & 0 deletions _posts/2025-02-03-Defold-1-9-7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
---
layout: post
title: Defold release 1.9.7
excerpt: Defold 1.9.7 has been released.
author: Alexey Gulev
tags: ["release notes"]
---

# Defold 1.9.7

## Summary
* __NEW__: ([#10081](https://github.com/defold/defold/pull/10081)) Update Android SDK to version 35.0.1 and targetSdkVersion to 35 (by AGulev)
* __NEW__: ([#10033](https://github.com/defold/defold/pull/10033)) Update XCode to 16.2, MacOS SDK to 15.2, iOS SDK to 18.2 (by AGulev)
* __NEW__: ([#9889](https://github.com/defold/defold/pull/9889)) Add gamepad mapping for Core (Plus) Wired Controller (by j-h-a)
* __NEW__: ([#9910](https://github.com/defold/defold/pull/9910)) New options for LiveUpdate: specifying a zip archive filename and placing the archive into the bundle folder. (by AGulev)
* __NEW__: ([#9680](https://github.com/defold/defold/pull/9680)) Support using structs in uniforms (by Jhonnyg)
* __NEW__: ([#9964](https://github.com/defold/defold/pull/9964)) Added response.url to http requests and progress callbacks (by JCash)
* __NEW__: ([#9950](https://github.com/defold/defold/pull/9950)) Append raw texture data after protobuf header (by Jhonnyg)
* __NEW__: ([#9979](https://github.com/defold/defold/pull/9979)) Add `astcenc` for Linux ARM64 (by aglitchman)
* __NEW__: ([#10009](https://github.com/defold/defold/pull/10009)) Cache only big files such as textures and fonts (by AGulev)
* __NEW__: ([#10018](https://github.com/defold/defold/pull/10018)) Ensure that Bob stops building immediately if any of the build steps fail (by AGulev)
* __NEW__: ([#9854](https://github.com/defold/defold/pull/9854)) Added the ability to specify custom templates for the project. (by AGulev)
* __NEW__: ([#10027](https://github.com/defold/defold/pull/10027)) Automatically open the "Select Resource" window when adding a new GUI template node (by AGulev)
* __NEW__: ([#10028](https://github.com/defold/defold/pull/10028)) Removed Git synchronization functionality from the editor (by AGulev)
* __NEW__: ([#10022](https://github.com/defold/defold/pull/10022)) Use new texture compression setup in texture profiles view (by Jhonnyg)
* __FIX__: ([#9899](https://github.com/defold/defold/pull/9899)) Check if there's a dynamic texture with the same id before creating it (by britzl)
* __FIX__: ([#9909](https://github.com/defold/defold/pull/9909)) Cleanup unused functions from the DMSDK vulkan API (by Jhonnyg)
* __FIX__: ([#9951](https://github.com/defold/defold/pull/9951)) Add initial dmsdk for WebGPU (by Jhonnyg)
* __FIX__: ([#9939](https://github.com/defold/defold/pull/9939)) GLFW3 support for linux (by Jhonnyg)
* __FIX__: ([#9965](https://github.com/defold/defold/pull/9965)) Handle cube texture types properly (by smagnuso)
* __FIX__: ([#10047](https://github.com/defold/defold/pull/10047)) Fix issue when Liveupdate excluded report is empty (by AGulev)
* __FIX__: ([#9969](https://github.com/defold/defold/pull/9969)) Added resource.create_sound_data() and writable "sound" property to sound component (by JCash)
* __FIX__: ([#9962](https://github.com/defold/defold/pull/9962)) Initialized liveupdate Lua module first, allowing using http/file providers without a bundle (by JCash)
* __FIX__: ([#9922](https://github.com/defold/defold/pull/9922)) Improved reverse hash implementation performance (by JCash)
* __FIX__: ([#10000](https://github.com/defold/defold/pull/10000)) Remove argument to --tc (by Jhonnyg)
* __FIX__: ([#10008](https://github.com/defold/defold/pull/10008)) Added wasapi support for 2+ channel output devices (by JCash)
* __FIX__: ([#10013](https://github.com/defold/defold/pull/10013)) Fix windows app icon (by Jhonnyg)
* __FIX__: ([#10017](https://github.com/defold/defold/pull/10017)) Fix and add gamepad mappings for "Core (Plus) Wired Controller" and "HORIPAD S" (by j-h-a)
* __FIX__: ([#9963](https://github.com/defold/defold/pull/9963)) Editor: Consolidate connections from host gui scene to template nodes (by matgis)
* __FIX__: ([#9926](https://github.com/defold/defold/pull/9926)) Editor: Correctly unpack unsigned short indices for models (by matgis)
* __FIX__: ([#10057](https://github.com/defold/defold/pull/10057)) Editor: Fix dataflow issue that caused long sprite save times (by vlaaad)
* __FIX__: ([#10069](https://github.com/defold/defold/pull/10069)) Fixed issue when the decoded sound sometimes wasn't mixed into the ouput buffer (by JCash)
* __FIX__: ([#10070](https://github.com/defold/defold/pull/10070)) Support 1 channel audio contexts on windows (by JCash)

## Engine
__NEW__: ([#10081](https://github.com/defold/defold/pull/10081)) __'Update Android SDK to version 35.0.1 and targetSdkVersion to 35'__ by AGulev
Android SDK updated to the latest stable version 35.0.1

__NEW__: ([#10033](https://github.com/defold/defold/pull/10033)) __'Update XCode to 16.2, MacOS SDK to 15.2, iOS SDK to 18.2'__ by AGulev
Related https://github.com/defold/defold/issues/10036
Build toolchain updated with:
- XCode 16.2
- macOS SDK 15.2
- iOS SDK 15.2

⚠️ **LuaJIT updated to the latest version for compatibility.**

__NEW__: ([#9889](https://github.com/defold/defold/pull/9889)) __'Add gamepad mapping for Core (Plus) Wired Controller'__ by j-h-a
Add a mapping for the Core (Plus) Wired Controller to `builtins/input/default.gamepads`

__NEW__: ([#9910](https://github.com/defold/defold/pull/9910)) __'New options for LiveUpdate: specifying a zip archive filename and placing the archive into the bundle folder.'__ by AGulev
Two new options added into Live Update settings:
- filename for a zip archive
- and flag if archive should be moved into a bundle folder after bundling

__NEW__: ([#9680](https://github.com/defold/defold/pull/9680)) __'Support using structs in uniforms'__ by Jhonnyg
Vertex and fragment shaders can now use struct types:

```glsl
struct CustomParameters
{
vec4 params0;
vec4 params1;
};

struct SceneData
{
vec4 lightPositions[4];
CustomParameters parameters; // some generic parameter, e.g camera position, scene bounding box or whatever.
};

uniform SceneUniforms
{
SceneData scene;
};

uniform ParametersUniform
{
CustomParameters customParameters;
};

void main()
{
for (int i=0; i < 4; i++)
color += calculateLight(scene.lightPositions[i], scene.parameters.params0);
if (customParameters.params0.x > 0)
// do something clever
...
}
```

Note that there are currently a few limitations on how to use structs in the engine - to read more head over to the `<insert-manual-entry-here>` section to read more.

__NEW__: ([#9964](https://github.com/defold/defold/pull/9964)) __'Added response.url to http requests and progress callbacks'__ by JCash
This allows the developer to get the url back in the callback, using the `response.url` variable.

__NEW__: ([#9950](https://github.com/defold/defold/pull/9950)) __'Append raw texture data after protobuf header'__ by Jhonnyg
The engine format for textures has been modified so that the data is stored after the protobuf message. This means that no texture unpacking is needed, and no extra buffer is needed to copy the data from the resource file.

__NEW__: ([#9979](https://github.com/defold/defold/pull/9979)) __'Add `astcenc` for Linux ARM64'__ by aglitchman
This PR adds `astcenc` package build for `arm64-linux`. Also modifies the build script, which allows you to successfully build a package for a specific commit from astcenc Git repository.

__NEW__: ([#10009](https://github.com/defold/defold/pull/10009)) __'Cache only big files such as textures and fonts'__ by AGulev
It's faster to build most small resources than to read them, calculate their hash, and copy/paste them back and forth. However, this rule does not apply to large resources, such as textures and fonts, which take longer to build.

__NEW__: ([#10018](https://github.com/defold/defold/pull/10018)) __'Ensure that Bob stops building immediately if any of the build steps fail'__ by AGulev
Ensure that if the engine build fails, Bob stops building resources and displays the error.

__FIX__: ([#9899](https://github.com/defold/defold/pull/9899)) __'Check if there's a dynamic texture with the same id before creating it'__ by britzl
This change fixes a regression with dynamic textures when creating a texture using `gui.new_texture()` with the same id as an already created texture. Previously this function returned `gui.RESULT_TEXTURE_ALREADY_EXISTS`, but when the dynamic gui textures functionality was unified with the resource system earlier this year this was overlooked.

__FIX__: ([#9909](https://github.com/defold/defold/pull/9909)) __'Cleanup unused functions from the DMSDK vulkan API'__ by Jhonnyg
The vulkan dmSDK has been slimmed down to reduce complexity of the library. If you are by any chance actually using any of these functions or structs, let us know so we can potentially re-add them!

__FIX__: ([#9951](https://github.com/defold/defold/pull/9951)) __'Add initial dmsdk for WebGPU'__ by Jhonnyg
Needed for WebGPU support in certain extensions (e.g rive).

__FIX__: ([#9939](https://github.com/defold/defold/pull/9939)) __'GLFW3 support for linux'__ by Jhonnyg
GLFW has been updated to version 3.4 for Linux (x86_64 and arm64).

__FIX__: ([#9965](https://github.com/defold/defold/pull/9965)) __'Handle cube texture types properly'__ by smagnuso
WebGPU can now use multi-imaged textures (cube maps and texture arrays).

__FIX__: ([#10047](https://github.com/defold/defold/pull/10047)) __'Fix issue when Liveupdate excluded report is empty'__ by AGulev


__FIX__: ([#9969](https://github.com/defold/defold/pull/9969)) __'Added resource.create_sound_data() and writable "sound" property to sound component'__ by JCash
This is the final step to creating new sounds at runtime.
It is also used to create streaming sounds, if not all sound data is provided all at once.

Short example:
```lua
local hash = resource.create_sound_data(relative_path, { data = data, filesize = filesize, partial = true })
go.set("#music", "sound", hash) -- override the previous sound resource
sound.play("#music") -- start the playing
```

__FIX__: ([#9962](https://github.com/defold/defold/pull/9962)) __'Initialized liveupdate Lua module first, allowing using http/file providers without a bundle'__ by JCash

This feature is good for e.g. streaming sounds over http. (More on that in the 1.9.8 release!)

Since the `liveupdate` module now is always present, you can instead check if the game was built using excluded files, using the new function `liveupdate.is_built_with_excluded_files()`.

__FIX__: ([#9922](https://github.com/defold/defold/pull/9922)) __'Improved reverse hash implementation performance'__ by JCash


__FIX__: ([#10000](https://github.com/defold/defold/pull/10000)) __'Remove argument to --tc'__ by Jhonnyg
The `--texture-compression` argument in bob no longer requires a secondary flag to indicate wether or not texture compression should be applied according to the projects texture profile settings.

Before:
```
java -jar bob.jar --texture-compression=true # texture compression enabled
java -jar bob.jar --texture-compression=false # texture compression disabled
```

After:
```
java -jar bob.jar --texture-compression # texture compression enabled
java -jar bob.jar # texture compression disabled (argument omitted)
```

NOTE: bob is backwards compatible, meaning --texture-compression=false will work for the time being, but will likely be removed at a later time. A warning will be raised about the argument, but the feature will still work.

__FIX__: ([#10008](https://github.com/defold/defold/pull/10008)) __'Added wasapi support for 2+ channel output devices'__ by JCash


__FIX__: ([#10013](https://github.com/defold/defold/pull/10013)) __'Fix windows app icon'__ by Jhonnyg
Fixed an issue where the application icon on windows wasn't showing due to a regression after updating to GLFW3.

__FIX__: ([#10017](https://github.com/defold/defold/pull/10017)) __'Fix and add gamepad mappings for "Core (Plus) Wired Controller" and "HORIPAD S"'__ by j-h-a
* Fix RSTICK up/down axis index and RPAD_UP button type for Core (Plus) Wired Controller on osx
* add linux mapping for same controller
* add osx and linux mappings for HORIPAD S controller

__FIX__: ([#10069](https://github.com/defold/defold/pull/10069)) __'Fixed issue when the decoded sound sometimes wasn't mixed into the ouput buffer'__ by JCash

__FIX__: ([#10070](https://github.com/defold/defold/pull/10070)) __'Support 1 channel audio contexts on windows'__ by JCash


## Editor
__NEW__: ([#9854](https://github.com/defold/defold/pull/9854)) __'Added the ability to specify custom templates for the project.'__ by AGulev
It is now possible to specify custom templates for each project. To do so, create a new folder named templates in the project’s root directory, and add new files named `default.*` with the desired extensions, such as `/templates/default.gui` or `/templates/default.script`. Additionally, if the `{{NAME}}` token is used in these files, it will be replaced with the filename specified in the file creation window.

__NEW__: ([#10027](https://github.com/defold/defold/pull/10027)) __'Automatically open the "Select Resource" window when adding a new GUI template node'__ by AGulev
Simpler template node creation:
- Automatically open the "Select Resource" window when adding a new GUI template node.
- Use the filename of the GUI resource as the initial node ID.

__NEW__: ([#10028](https://github.com/defold/defold/pull/10028)) __'Removed Git synchronization functionality from the editor'__ by AGulev
Git synchronization functionality has been fully removed from the editor. Please use your preferred Git client instead.

__NEW__: ([#10022](https://github.com/defold/defold/pull/10022)) __'Use new texture compression setup in texture profiles view'__ by Jhonnyg
Texture profiles has been rewritten to support the new texture profile format where a `texture compressor` and a `texture compressor preset` can be selected. This also adds the ability to select ASTC as a compressor from the editor.

__FIX__: ([#9963](https://github.com/defold/defold/pull/9963)) __'Editor: Consolidate connections from host gui scene to template nodes'__ by matgis
* Simplified the editor graph connections between host gui scenes and gui nodes imported from referenced templates. This saves a bit of memory in projects with a large number of gui nodes.
* Nodes imported from template scenes that are assigned to a layer will now correctly use the layer configuration from the host scene when viewed in the editor.
* Renaming a gui resource in a referenced scene will no longer erroneously update references that have been redeclared as a different resource in referencing scenes. I.e, if `host.gui` references `template.gui`, and they each declare a font named "header", renaming it inside `template.gui` will not change `host.gui`, because there "header" refers to its the "header" font inside `host.gui`.
* Improved sorting of choice box entries with numbers when referencing gui resources in the Properties View.

__FIX__: ([#9926](https://github.com/defold/defold/pull/9926)) __'Editor: Correctly unpack unsigned short indices for models'__ by matgis
Correctly unpack unsigned short indices when rendering models.

__FIX__: ([#10057](https://github.com/defold/defold/pull/10057)) __'Editor: Fix dataflow issue that caused long sprite save times'__ by vlaaad
Previously, saving a sprite caused its atlas to be laid out. We don't do that anymore.