It’s been a while since our previous maintenance release for Godot 3! While the development focus is on the Godot 4 branches, we’re still making steady progress towards the Godot 3.6 feature release, currently in beta phase. But we also need occasional updates to the current 3.5 branch which is used in production by many.
The main purpose of this release is to provide updated Android export templates which target API level 33 (Android 13), which is a requirement for new apps and updates on Google Play since August 2023. It also includes a number of other platform-specific fixes which may be relevant for published games, notably around gamepad input and audio.
Please give it a try if you can. It should be as safe to use as 3.5.2-stable is, but we still need a significant number of users to try it out and report how it goes to make sure that the few changes in this update are working as intended and not introducing new regressions.
Jump to the Downloads section.
You can also try the Web editor.
Changes
See the curated changelog for a selection of some of the main changes since Godot 3.5.2. We now also have a great interactive changelog you can use to review the changes since the previous beta, with convenient links to the relevant PRs on GitHub.
Here are the main changes since 3.5.2-stable:
- 2D: TileSet: Fix resizing collision shape when vertex is outside the tilesheet (GH-73218).
- 2D: Notify child controls when
BackBufferCopy
’s rect changed (GH-74282). - 2D: Fix AnimatedSprite normal map loading (GH-80406).
- 2D: Fix TouchScreenButton not redrawn when texture changes (GH-81100).
- Audio: Fix AudioEffectRecord circular reference (GH-74986).
- Audio: Add mono audio support to WASAPI (GH-76541).
- Audio: Fix trim when importing WAV (GH-78048).
- Buildsystem: SCons: Make misbehaving MSVC incremental linking opt-in (GH-80482, GH-81144).
- Buildsystem: Web: Workaround Emscripten 3.1.42+ LTO regression (GH-81340).
- Codestyle: Build
JoypadLinux
sandbox detection method only with udev (GH-77458). - Core: Include the follow-viewport-transform into CanvasLayer transform calculations (GH-70310).
- Core: Fix moving position indicator out of bounds in FileAccessMemory (GH-75641).
- Core: Fix size error in
BitMap.opaque_to_polygons
(GH-76544). - Core: Fix infinite loop on EOF in the command line debugger (GH-80400).
- Core: Add recursion level check for
Array
and Dictionary
hashing (GH-80888). - Core: Add recursion level check for
VariantWriter::write()
(GH-81114). - Core: Add check to ensure registered classes are declared (GH-81117).
- Editor: Fix TextEdit
color_region_cache
bug (GH-74777). - Editor: Fix inconsistent file dialog settings usage (GH-76423).
- GDScript: GDScriptParser: Don’t use index operator on linked list (GH-74782).
- GDScript: Suggest
class_name
in autocompletion (GH-76346). - GUI: Fix scrolling behavior with zero/low page value (GH-67910).
- GUI: Fix
GridContainer
max row/column calculations not skipping hidden children (GH-76833). - Import: Bounds fixes in
TextureAtlas
import (GH-77428). - Multiplayer: Net/ENet: Better handle truncated socket messages (GH-79704).
- Navigation: Fix GridMap free navigation RID error spam (GH-74895).
- Porting: Android: Implement file provider capabilities (GH-72496).
- Porting: Android: Fix directory access when the running app has the
All files access
permission (GH-75147). - Porting: Android: Bump the target SDK version to 33 (Android 13) (GH-75205).
- Porting: Android: Fix null in text entry system (GH-75992).
- Porting: iOS: Fix splash screen rotation (GH-76037).
- Porting: Linux: Don’t use udev for joypad hotloading when running in a sandbox (GH-76962).
- Porting: Linux: Use current keyboard layout in
OS_X11::keyboard_get_scancode_from_physical
(GH-78169). - Porting: Linux: Ensure
joy_connection_changed
is emitted on the main thread (GH-80432). - Porting: Web: Fix JavaScript callback memory leak (GH-81090).
- Porting: Windows: Fix StringFileInfo structure (GH-76001).
- Porting: Windows: Added a few device GUIDs to
is_xinput_device
fixing controller problems (GH-78043). - Rendering: Fix shadows when using 2 directional lights (GH-74539).
- Thirdparty: libwebp 1.3.0, mbedtls 2.28.4, tinyexr 1.0.7, CA certificates from June 2023.
- API documentation updates.
This release is built from commit fc32e066a.
Downloads
The downloads for this dev snapshot can be found directly on our repository:
- Standard build (GDScript, GDNative, VisualScript).
- Mono build (C# support + all the above). You need to have dotnet CLI or MSBuild installed to use the Mono build. Relevant parts of Mono 6.12.0.182 are included in this build.
Bug reports
As a tester, we encourage you to open bug reports if you experience issues with this release. Please check the existing issues on GitHub first, using the search function with relevant keywords, to ensure that the bug you experience is not known already.
In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.5.2 or earlier no longer works in 3.5.3 RC 1).
Support
Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, as well as a handful of part or full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their financial support to the project!
If you’d like to support the project financially and help us secure our future hires, you can do so using the Godot Development Fund platform managed by Godot Foundation. There are also several alternative ways to donate which you may find more suitable.