Software 43075 Published by

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 if use_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 converting Variant to GodotObject ( 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 in ResourceLoader ( GH-104060).
  • Editor: Fix copying a Node with a signal potentially resulting in an editor crash ( GH-96372).
  • Editor: Make EditorProperty and its child EditorProperty 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 to GDScriptCache ( GH-104281).
  • GUI: Fix Tree keyboard navigation in RTL direction ( GH-102865).
  • GUI: Fix changed signal emission in Curve::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 enabling backface_collision when using Jolt Physics ( GH-104310).
  • Physics: Fix shape always being zero with get_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).

Maintenance release: Godot 4.4.1 – Godot Engine