Godot Engine 4.4.1 has been released to address the remaining and newly reported regressions impacting users who have upgraded to version 4.4. This release addresses security vulnerabilities in the mbedTLS third-party library. It is highly advisable to update for any game utilizing networking functionality.
A total of 58 contributors provided approximately 125 fixes for this release, with several significant changes emphasized in bold. Significant updates encompass the correction of RemoteTransform3D to consistently utilize global rotation when use_global_coordinates is enabled, resolution of animation-related console errors and crashes in the cleanup code for PhysicalBoneSimulator3D, adjustments to audio settings for interactive music streams as meta streams, and the rectification of AudioEffectPitchShift problems when pitch_scale is configured to 1.
Exports have been successfully implemented for iOS, Android, GDExtension, GDScript, GUI, Import, Physics, Particles, JavaClassWrapper, Windows, and various other platforms. The recent updates effectively tackle a range of issues, including the resolution of particle jitter, improvements in physics interpolation, and additional enhancements.
The enhancements to plugins include improvements in JavaClassWrapper, which now offers better handling of typed array arguments and facilitates the conversion of returned arrays to Godot types. The porting process has been refined to accommodate various operating systems, and rendering issues have been resolved across multiple platforms.
Theora has been successfully updated to the latest version of Swappy, and the third-party Theora has been corrected for YUV422/444 to RGB conversion. Overall, Godot 4.4.1 represents a substantial enhancement in the Godot Engine, allowing users to continue to reap the advantages of the game.
Here is the full announcement:
Maintenance release: Godot 4.4.1
We released Godot 4.4 in early March and we are delighted to see the reception, with so many users upgrading to it on day one and sharing their favorite new changes on social media! If you haven’t seen the 4.4 release page, it’s well worth a read!
Since then, we’ve started the development phase for Godot 4.5 at full speed (with a first dev snapshot released last week!), but we also put our main focus on fixing remaining and newly reported regressions that affect users who upgraded to 4.4. A few of these issues can be showstoppers for affected users, so we decided to release a 4.4.1 maintenance release as soon as possible.
See below for a list of the most relevant changes. This release includes fixes to security vulnerabilities in the mbedTLS third-party library, so we strongly recommend updating for any game using networking functionality.
Maintenance releases are expected to be safe for an upgrade, but we recommend to always make backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.
Please, consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.
Changes
58 contributors submitted around 125 fixes for this release. See our interactive changelog for the complete list of changes since the 4.4 release.
Below are some of the most notable changes (with critical fixes highlighted in bold):
- 3D: Fix
RemoteTransform3D
to always use global rotation ifuse_global_coordinates
is true ( GH-97498).- Animation: Fix console errors and crash in cleanup code for PhysicalBoneSimulator3D ( GH-103921).
- Animation: Fix missing
process_state
error in blend spaces ( GH-104018).- Animation: Fix rest translation space in
LookAtModifier3D
( GH-104217).- Audio: Set interactive music streams as meta streams ( GH-104054).
- Audio: Fix AudioEffectPitchShift issues when
pitch_scale
is set to 1 ( GH-104090).- Buildsystem: Android: Fix build with
disable_3d
( GH-103523).- C#: Use
ObjectID
when convertingVariant
toGodotObject
( GH-98034).- C#: Skip re-saving
.csproj
when TFM is unchanged ( GH-103714).- Core: Use single RNG instance for
FileAccessEncrypted
IV generation ( GH-103415).- Core: Fix
Invalid Task ID
errors inResourceLoader
( GH-104060).- Editor: Fix copying a Node with a signal potentially resulting in an editor crash ( GH-96372).
- Editor: Make
EditorProperty
and its childEditorProperty
behave like sibling nodes when handling mouse events ( GH-103316).- Editor: Fix TextEdit scrolls wrong on text selection ( GH-103410).
- Editor: Update script modified times when saved in EditorNode ( GH-103695).
- Editor: Fix ownership when pasting non root with child nodes in new scene ( GH-103769).
- Editor: Create .uid files for detected new files ( GH-104248).
- Editor: Fix editor crash when inspecting 2 objects handled by the same plugin ( GH-104296).
- Editor: Change root node transform warning to only show up for position ( GH-104331).
- Export: iOS: Restore one-click deploy device enumeration using Xcode ( GH-103590).
- Export: Android: Convert
compress_native_libraries
to a basic export option ( GH-104301).- GDExtension: Correctly register editor-only
OpenXR*
classes’api_type
( GH-103869).- GDScript: Fix head class range to include
class_name
( GH-104114).- GDScript: Add clearing of
static_gdscript_cache
toGDScriptCache
( GH-104281).- GUI: Fix Tree keyboard navigation in RTL direction ( GH-102865).
- GUI: Fix
changed
signal emission inCurve::set_point_offset
( GH-96296).- GUI: Fix spinbox decimal issues when
update_on_text_changed
= true ( GH-100684).- GUI: Fix error when embedded popup is closed while resizing ( GH-102504).
- GUI: VideoStreamPlayer: Stop video on exit tree ( GH-103396).
- GUI: Use
Viewport
’s default texture filter/repeat in GUI tooltips ( GH-103636).- GUI: Label: Fix min. size calculation counting extra spacing twice ( GH-103728).
- Import: Fix headless import always emits errors ( GH-103403).
- Import: BasisUniversal: Ensure ASTC’s HDR variant is supported when transcoding ( GH-103766).
- Import: ResourceLoader: Do not wait for the main thread during initial reimport ( GH-104013).
- Import: Force multiple of 4 sizes for Betsy compressor ( GH-104275).
- Import: Fix crash when reimporting nested gltf scenes ( GH-104384).
- Input: Fix Android mouse capture issues ( GH-103413).
- Input: macOS/iOS: Ensure only one axis change event is produced during single
process_joypads()
call ( GH-104314).- Navigation: Make NavigationLink3D properly update on visibility change ( GH-103588).
- Particles: Fix particle jitter when scene tree is paused ( GH-95912).
- Particles: Fix GPU particles not emitting at some configured rates when scale curve is zero ( GH-103121).
- Physics: Fix interpolation in XR ( GH-103233).
- Physics: Fix broken negative scaling when using Jolt Physics ( GH-103440).
- Physics: Fix
ConcavePolygonShape3D
always enablingbackface_collision
when using Jolt Physics ( GH-104310).- Physics: Fix
shape
always being zero withget_rest_info
when using Jolt Physics ( GH-104599).- Plugin: JavaClassWrapper: Improve handling of typed array arguments ( GH-102817).
- Plugin: JavaClassWrapper: Fix converting returned arrays to Godot types ( GH-103375).
- Plugin: JavaClassWrapper: Fix conversion to/from
org.godotengine.godot.Dictionary
that regressed ( GH-103733, GH-104156).- Porting: Linux: X11: Fix check for
is_maximized
to require both horizontal and vertical ( GH-103526).- Porting: Linux: Offload RenderingDevice creation test to subprocess ( GH-103560).
- Porting: macOS: Swap Nintendo face buttons ( GH-103661).
- Porting: macOS: Update mouse-entered state when subwindow closes ( GH-104328).
- Porting: Windows: Fix
get_modified_time
on locked files ( GH-103622).- Porting: Windows: Use more efficient sleep approach when low-processor mode is enabled ( GH-103773).
- Rendering: Add ASTC HDR format variants ( GH-102777).
- Rendering: Fix voxelizer normals ( GH-102893).
- Rendering: Fix 2D quad primitive missing lighting data in GLES3 renderer ( GH-102908).
- Rendering: Fix uninitialized value in Tonemap ( GH-103092).
- Rendering: Use separate WorkThreadPool for shader compiler ( GH-103506).
- Rendering: Fix incorrect parameters passed to VMA ( GH-103730).
- Rendering: MetalFX: Change fallback behavior ( GH-103792).
- Rendering: Fix GLES3
gaussian_blur
mipmap setup ( GH-103878).- Rendering: CPUParticles2D: Fix physics interpolation after entering tree with
emitting = false
( GH-103966).- Rendering: Vulkan: Disable layers in editor deemed buggy by RenderDoc ( GH-104154).
- Rendering: Fix Metal handling of cube textures; assert equal dimensions ( GH-104341).
- Rendering: Disable broken Vulkan layers before running RenderingDevice tests ( GH-104572).
- Shaders: Fix 2D instance params crashing using outside of
main()
( GH-103348).- Shaders: 2D: Fix light shader accessing
TEXTURE_PIXEL_SIZE
( GH-103617).- Thirdparty: Theora: Fix YUV422/444 to RGB conversion ( GH-102859).
- Thirdparty: Update to latest version of Swappy ( GH-103409).
- Thirdparty: mbedTLS: Update to version 3.6.3 (security fix) ( GH-104562).
- XR: Correct occlusion culling viewport location calculation when projection uses asymmetric FOV ( GH-104249).