-
Latest Version
Godot Engine 4.7 (64-bit) LATEST
-
Review by
-
Operating System
Windows 7 64 / Windows 8 64 / Windows 10 64 / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
Godot_v4.7-stable_win64.exe.zip
Godot Engine 64bit is completely free and open-source under the very permissive MIT license. No strings attached, no royalties, nothing. Your game is yours, down to the last line of engine code.
Features and Highlights
An extremely efficient paradigm for designing games
- Visual editor, full of mature tools.
- Uncluttered UI, with context-sensitive editors.
- Amazing scene system, supporting instancing and inheritance.
- Friendly content creation interfaces for artists, level designers, animators, …
- Visual shader editing for 2D and 3D.
- Persistent live editing (changes are not lost after stopping the game). Live editing on mobile devices!
- Fully dedicated 2D engine, no hacks.
- Work in pixels as your units, but scale to any screen size and ratio.
- Custom 2D physics engine that works in pixel coordinates.
- Flexible kinematic controller for collision without physics.
- Blit 3D models as sprites into 2D.
- Import 3D models from 3DS Max, Maya, Blender, and more with full animation.
- Skeleton deforms and blend shapes.
- Several light types, with shadow mapping.
- Render with HDR, anti-aliasing, and linear color modes.
- Post-process fog, glow, bloom, color adjustment, …
- Support for Physically-Based Rendering planned for the end of 2016.
- Animate 2D or 3D. Visual animation editor with the timeline.
- Frame-based or cut-out animation for sprites and rigs.
- Any property of any object can be animated, even function calls.
- Use custom transition curves and tweens.
- Helpers to animate 2D rigs, with skeletons and IK.
- Efficient optimizer to pack imported 3D animations.
- Animation Tree support for fluid character animation.
- A python-like scripting language, designed to make games with zero hassle.
- Built-in editor with syntax highlighting, real-time parser, and code completion.
- Powerful integrated debugger and profilers. It can debug a game running on mobile devices.
- Integrated class documentation browser.
- Friendly C++ API to optimize parts of the game or extend any part of the engine.
- Mobile platforms: iOS, Android, BlackBerry OS
- Desktop platforms: Windows, macOS, Linux, BSD, Haiku
- Web Platforms: HTML5 (via Emscripten)
- One-click deploy & export to most platforms. Easy to create custom builds too.
- Recommended: Vulkan 1.0 compatible hardware
- Minimal: OpenGL 3.3 / OpenGL ES 3.0 compatible hardware
Alternatives
Unreal Engine - High-fidelity graphics, real-time 3D creation.
Unity - Powerful 3D and 2D gaming development software for Windows.
CryEngine - Advanced graphics and real-time rendering tools.
GameMaker Studio - Simple 2D development with drag-and-drop system.
Cocos Creator - Open-source framework focused on mobile games.
Construct 3 - Beginner-friendly drag-and-drop 2D game engine.
RPG Maker: Tailored for creating role-playing games, this software provides specialized tools and a simple interface for RPG development.
PROS
- Open-Source and Free
- Node-Based Architecture
- Cross-Platform Export
- Lightweight and Fast
- Active Community Support
- Limited 3D Features
- Smaller Asset Marketplace
- GDScript Learning Curve
- Less Industry Adoption
- Lacks Native Support for VR
What's new in this version:
2D:
- Allow changing the color of canvas selection
- Add a scene painter tool
- Fix selection highlight not updating when selecting a hidden canvasitems
- Fix 2D editor redrawing on modifier echo events
- Fix scene paint tool updating info
- Update layer selector when modifying the TileMap in the inspector
- Fix undoing terrain set move duplicates terrain in second set
- TileMap editor: Fix inconsistent Property Names
- Rework TileSet editor proxy objects
- Add moving and ratio-locked scaling to the region editor
- Preview random tiles when painting
- Fix TileSet editor terrain preview icons in paint mode
- Fix Polygon2D being culled against a stale AABB after editing vertices
- Fix drawable texture access before null check
- Fix first tile not being randomized
3D:
- Add "Follow Selection" in the 3D editor by using Center Selection twice
- Add option to toggle always showing collision shapes
- Add option for Path3D to snap to colliders
- Add support for displaying GridMap collider in editor
- Editor: Add some gizmo handles for MeshInstance3D
- Add the ability to cancel pan/zoom/orbit navigation
- Fix 3D editor camera not updating correctly
- Increase float precision in the editor inspector for Quaternions
- Add vector components to 3D ruler tool
- Update toolbar on curve change in Path3D editor
- Add ability to transform parent nodes without affecting global transform of its children
- Add freelook and navigation control to preview camera
- Add trackball-style rotation for 3D transform gizmo
- Rework Camera3D preview
- Editor: Fix CSG gizmo selection inside CSGCombiners
- Add view_plane_rotation_gizmo_scale to EditorSettings & make color darken
- Fix viewport orbit snap defaulting to always snapping when shortcut(s) are set to none
- Register zoom shortcuts to match preset Godot navigation scheme
- Change orbit snap shortcut with navigation scheme
- Fix collision repositioning for child nodes
- Fix icon size for items in show list of selectable nodes menu
- Don't highlight gizmos while in freelook
- Fix Skeleton3D Edit Mode bone buttons have priority over transform gizmo
- Remove unneeded checks for undo-redo history from Skeleton3DEditor
- Make trackball rotation optional as toggle option of Node3DEditorTool
- Add anti-aliasing to transform gizmo rotation arc
- Show viewport messages and rotation line instantly on instant transforms
- Make consecutive presses of Begin Rotate Transformation shortcut enable trackball rotation
- Fix transform gizmo rotation arc line not snapping with snap rotation
- Add View3DController for editor 3D view manipulation
- Fix trackball not highlighting immediately when toggling Use Trackball
- Persist editor viewport splitter ratios on editor restart
- Fix using editor viewport splitters failing sometimes
- Fix gizmo rotation arc and applied transform not being in sync
- Fix viewport text not clearing after commit/cancel of custom editor gizmo handles
- Make changing view_plane_rotation_gizmo_scale not require editor restart
- Immediately update transform gizmo handle highlight when changing tool modes
- Fix rotation line not showing during instant rotate
- Restore canvas_item_add_polyline useage for transform gizmo rotation arc
- Fix silent failure when creating collision shape as sibling of scene root
- Fix undoing GridMap move operations resulting in deleted cells
- Fix some UI issues with the GridMap editor
- Make possible to undo rotation of selected GridMap cells
- Fix a crash in the wild with drag and drop in the Skeleton3D editor
- Fix wrong rotation of cells while being pasted in the GridMap editor
- Add button to clear rotation in the GridMap editor
- Add automatic smoothing for CSG nodes
- Fix GridMap editor pasting when orbiting using the "Alt" key
- Fix problems with undoing selection and pasting in GridMap editor
- Fix duplicate signal error for Path3D when switching tabs
- Fix 3D focus selection for subgizmos
- Add cursor coordinates to the GridMap editor
- Add separate Freelook Invert Y Axis option
- Fix Marker3D editor gizmo being darker than intended for negative axis lines
- Fix broken viewport camera inertia in freelook mode
- Fix DirectionalLight3D property list
- Reset follow mode focus count on selection change
- Add vertex snapping to the 3D editor
- Reset follow mode focus count after committing a transform
- Create a proper editor for MeshLibrary
- Fix mouse wheel zoom scrolling contents in the GridMap editor
- Add 3D vertex snap base setting (Vertex/Origin)
- Fix Modo/Maya navigation conflicts with Path3D editor shortcuts
- Fix 3D viewport selection getting stuck when editing a GridMap
- Make the GridMap editor ignore empty and repeated selections
- Dynamically check for 3D editor snapping state
- Make GridMap editor show mesh previews as a fallback
- Add inspector checkbox groups to Grow and Proximity Fade in BaseMaterial3D
- Add vertex snap to collision shape vertices in 3D editor
- Add vertex snap support for subgizmo points
- Reset follow mode count on subgizmo point switch
- Fix 3D zoom indicator not showing in editor
- Fix panning with 3 button emulation not working
- Add octant querying to GridMap
- Fix 3D viewport drag-translate triggering without mouse button held
- Fix some issues with 3D view manipulation
- Fix 3D grid snap precision to use default_float_step
- Fix _forward_3d_gui_input passing editor camera instead of previewed camera
- Fix GridMap editor's grid not showing unless the scene is reopened
- Fix incorrect grid floor position before input in the GridMap editor
- Add undo/redo support for Pilot Mode camera movement
- Fix CSG performance regression from auto smoothing
- Call finish_transform on 3D subgizmo commit to reset rotation state
- Fix autosmooth behavior change caused by performance fix
- Fix MeshLibrary editor typo
- Fix trackball when use local space is enabled
Animation:
- Add Tween::has_tweeners()
- Fix error after renaming animation in Animation Library Editor
- Remove arbitrary limits on BlendSpace editors' visible region
- Display and allow setting name/index of BlendSpace points
- Collapse groups in animation track editor
- Optimize SkeletonModifier3D Influence interpolation
- Remove legacy animation key insertion offset loop
- Improve the visibility of the selection of Color value keys
- Add ping-pong playback support to SpriteFrames / AnimatedSprite2D / AnimatedSprite3D
- Select RESET animation by default when opening a scene in the editor
- Clear fade-out on request firing in AnimationNodeOneShot
- Add node path validation & tweak warning in SkeletonModifier3D
- Fix icon size in AnimationPlayer tracks
- Fix LookAtModifier3D / AimModifier3D forward vector
- GLTF: fix value track interpolation
- Fix use-after-free in Animation Blend Tree
- Fix use-after-free in AnimationTree (AHashMap realloc)
- Fix double memdelete of dummy_player
- Fix AHashMap realloc cause AnimationPlayer crash, second try
- Account for the current section when processing AnimationTracks
- Fix animation player crash when setting current animation to stop
- Expand timeline length spinner in AnimationTimelineEdit
- Optimize Animation Resource, Library, Mixer, and Player
- Improve auto-translation in the Animation editor
- Add scroll hints to the cross-animation blend dialog
- Check playback_queue existance after emit animation_finished signal
- Change picking dialog title based on track type
- Fix crash when deleting a sibling node of AnimationPlayer
- Add undo/redo to adding/removing StateMachine nodes
- Deselect bezier keyframes when switching animations
- Use IDs instead of hashes for TrackCache keys
- Fix AnimationPlayer not updating animation length when animation resource changes
- Fix "Send Key(s) to RESET" not appearing on first right-click in Animation Editor
- Add SyncMode::CYCLIC to BlendSpace1D and BlendSpace2D
- Optimize AnimationTree, Improve internals & Editor & Node::process_thread_group safety
- Fix visual shift of animation editor keys during selection
- Draw aggregate animation keys on top of folded node groups
- Limit dragging BlendSpace points to bounds
- Allow toggling AnimationTree error panel
- Fix parameter name mismatch in Animation Tree / Animation Blend Tree
- Fix invalid character when adding library anim in BlendSpace
- Improve visual consistency of BlendSpace editors within AnimationTree
- Fix blend point setter can't restore the name in deprecated=no
- Fix incorrect parameter being set in AnimationNodeOneShot
- Fix BlendTree appearing empty
- Fix SkeletonModification2DJiggle look_at under mirrored transforms
- Fix timeline cursor following mouse during marker selection
- Fix time property drag range in FPS mode for AnimationKey and Marker
- Call stop after setting new sprite frames
- Allow to navigate the "Bones" tree of Skeleton3D with the keyboard
- Initialize AnimationNodeBlendTreeEditor::graph_update_queued to false
- Fix AnimationTree AnimationPlayerEditor broken
- Fix SplineIK crash cases
- Fix incorrect animation section when playing a custom timeline with stretched time scale
- Fix compressed Pos3D track interpolation
- Fix misaligned timeline indicator on the Bezier editor
- Fix BoneAttachment3D throws !is_inside_tree()
- Fix non-positive frame numbers misaligned in FPS mode
- Move dirty filter state from AnimationNode to AnimationNodeInstance
- Add lacked argument to bound method for curve in SpringBoneSimulator
- Prevent error message when try to get blend point name at first time
- Fix ERROR: Camera is not inside scene when closing/reloading the editor with a Skeleton3D node selected
- Make error about keyless animation tracks a verbose warning instead
- Fix undo crash when animation editor is not active
- Only erase properties for a specific node
- Fix BlendSpace point insertion shift at a specific index
- Blend space editor: Use correct name in events, and clean all states
- Fix negative time scale regression in BlendSpace1D and BlendSpace2D
- Rename various signal parameters called 'name'
- Make AnimationNodeAnimation's custom timeline processing logic compatible with AnimationMixer
- Fix empty animation menu in blend space editor
- Fix AnimationNode's branching by custom timeline usage
- Check blend weight for AnimationNode error & remove _validate_animation_graph()
- Add null check for root_animation_node in AnimationTree
- Fix stretch mode in custom_timeline on AnimationNodeAnimation
Assetlib:
- Improve asset store and port it to the new API
- Fix TLS handshake fail preventing AssetLib use with builtin_certs=no
- Fix version querying problems in the asset store
- Show "Verified" badge for verified asset authors
- Fix template assets not being exclusive to the project manager
- Improve the look of the asset rating indicator
- Improve the visual of the Asset Store's page selector
- Improve version label visual in the asset dialog
- Fix assets with license type of "Other" not showing up
- Fix some issues and crashes in the asset store
- Fix incorrect release order for items in the asset store
Audio:
- Make AudioEffectFilter's cutoff slider exponential
- Set audiostreamplayer default area_mask to 0 and exit early to reduce performance overhead
- Fix audio bus send OptionButton height
- Fix volume calculation with multiple viewports in 3D
- Bind AudioStreamInteractive TRANSITION_TO_TIME_PREVIOUS_POSITION
- Fix Spectrum Analyzer effect returning jittered values
- Fix AudioStreamPlaybackMicrophone shutdown crash
- AudioStreamWAV: Check for eof_reached when reading LIST INFO tags
- Fix AudioSpectrumAnalyzer's Hann Window
- Fix audio bus effects section margin
- Add audio info to "Copy System Info"
- Revamp audio bus UI
- Fix VU meter scale
- Fix audio import dialog improperly reseting the "Master" bus
- Fix audio bus name update
- Fix wrong beat_count set in stream import when it's greater than previous beat_max
- Pulseaudio: Do not crash when getting latency when disconnected
- Pulseaudio: Do not report the same message twice in a row
Buildsystem:
- Fix missing lib with builtin_glslang=false
- SCons: Enable wasm64 support on web builds
- Core: Restructure sanitizers
- macOS: Set default symbol visibility to hidden
- fix: relax vswhere command conditions for broader compatibility
- CI: Add changed-files GitHub Action
- Core: remove class_db.h include from resource.h
- Remove typed_dictionary.h include where it's unused or can be forward-declared
- Remove message_queue.h include from object.h
- CI: Run instrumented tests on Firebase Test Lab
- Tests: Convert test headers to compilation files
- Don't right-align escaped newlines (e.g. for #define)
- Integrate clang-tidy into CI
- SCons: Isolate compile_db generation
- Deprecate the Android studio dev buildtype
- Annual Android versions bump for 2026
- MacOS: Fix non-deterministic framework linking order on macOS for incremental builds
- Improve editor-only class checking
- Editor: Handle spaces in paths when generating translations
- CI: Update outdated GitHub Actions versions
- Improve errors for invalid build_profile SCons options
- Add .inl files to the MSVC solution
- iOS: Allow building with opengl3=no
- Bump version to 4.7-dev
- Define sighandler_t only if _GNU_SOURCE is not defined
- Do not include input_enums.h and keyboard.h from variant.h and binder_common.h
- Remove a few includes of curve.h, texture.h and resource_loader.h + resource_saver.h
- Remove sky.h include from environment.h, to speed up compile time
- GLES3: Tidy up includes for consistency and remove unnecessary includes
- GLES3: Split EGL includes in platform_egl.h
- Minimize includes from gdvirtual.gen.inc / script_instance.h, to improve compile time
- Fix non-3D builds
- Tidy up includes in scene/main and scene/debugger
- Assign Jolt Physics team as code owner where appropriate
- libjpeg-turbo: Improve config files and fix patches
- CI: Enable Ruff preview options; bump version
- Fix TestColor build failure on Windows
- Style: Convert *.gen.inc to *.gen.h for ninja
- Update CODEOWNERS after teams restructuring
- Style: Migrate root images to misc/logo/
- macOS: Add build name to bundle ID
- CI: Ensure tests are built for all actions
- CODEOWNERS: modules/ improvements
- Tests: Tidy up compiled tests
- Re-activate a few clang-tidy options
- Move variant pools to their own compile unit
- Move char ranges from char_range.inc to char_range.cpp (non-constexpr)
- CODEOWNERS: Add codeowners for drivers/sdl/
- SCons: Bump minimum Python version (3.8 → 3.9)
- CI: Bump ruff hook (0.15.0 → 0.15.8)
- CI: Restore godot-cpp caching
- SCons: Fix compiled tests on scu builds
- CI: Create CODEOWNERS validator hook
- Windows: Add windows.h drop-in wrapper header
- Core: Remove class_db.h include from ref_counted.h
- Remove direct RenderingServer dependency from TextServer
- Style: Add class_db.h includes explicitly
- Move accessibility methods/enums from DisplayServer to the AccessibilityServer dedicated singleton
- Update godot.natvis to fix presenting godot::StringName correctly and remove non-working options of 'StringName'
- CI: Determine if source files were changed before building
- Decouple DisplayServer from as much of the codebase as possible
- Fix compilation error with module_gdscript_enabled=no by adding explicit EditorSyntaxHighlighter include
- Web: Fix assertions wrongly affecting release template, make it configurable
- Fix Apple OsLogLogger build on visionOS
- Explicitly include os.h and engine.h where used
- Move ProcessID typedef out of OS, remove os.h include where we can
- macOS: Fix building with Xcode versions older than 26
- Core: Get rid of all unnecessary class_db.h includers
- Rename callable_method_pointer.h to callable_mp.h and include it explicitly
- Split VariantCaster from binder_common.h
- Explicitly include scene_tree.h where used
- Decouple node.h from scene_tree.h, minimize its other includes
- Fix no GDScript build fails due to no class_db.h
- Fix tile_set.h not including ArrayMesh
- ScrollBar: Fix compilation with precision=double
- Fix doc formatting issue in @GlobalScope.log(), OS.shell_open(), JavaScriptBridge.is_js_buffer(), and Signal
- Debugger: Fix 3D disabled builds
- Remove unused includes in scene with clangd-tidy
- Remove unused includes in servers with clangd-tidy
- Remove unused includes in core with clangd-tidy
- Remove AccessKit dynamic wrappers, add download script and build warning if libs are missing
- Fix build regression for Linux template_release
- Remove unused includes in platform and drivers with clangd-tidy
- Clean up includes in drivers/d3d12
- Remove unused includes in editor with clangd-tidy
- Remove unused includes in modules with clangd-tidy
- CI: Bump JavaScript actions to Node 24
- [macOS/Windows] Remove dynamically linked ANGLE support, add flag to enable/disable ANGLE
- Add UTF-8 encoding to svg file open in platform_builders.py
- macOS: Work around AppKit include defining MAX/MIN macros
- CI: Remove build dependencies from uploaded artifacts
- Misc includes or modernize fixes found via clangd-tidy
- SCons: Update SCU to accelerate new folders
- CI: Add #include validation hook
- [iOS/visionOS] Do not include wrong platform libs when using generate_bundle
- Core: Split method_bind_common.h from method_bind.h
- Allow building Mono module on RISC-V
- CI: Bump macOS runners
- CI: Implement clangd-tidy as GitHub Action
- Core: Trim resource_*.h includers
- Fix mesh_library_editor_plugin.cpp compilation with deprecated=no
- Fix Metal driver build with Xcode 26.4
- iOS: Fix missing thread_safe.h include after refactors
- CI: Skip running instrumented tests on forks
- Fix build with 3D navigation disabled
- CI: Run Android Editor instrumented tests
- Enable clang-tidy's performance-move-const-arg check
- Fix CI errors after recent merge batches
- Remove the double inclusion of os.h in os.cpp
- Modernize create_test.py
- Windows: WinRT build improvements
- ANGLE: Fix build with manually set path
- Enable perfetto by default for Android debug builds
- CI: Update all actions to latest versions, fixing Node 20 deprecation warnings
- Build: Remove redundant SCons environment clones
- WinRT: Update compiler version checks when WinRT is enabled
- Add missing angle check to MSVC branch
- Web: Add missing includes for single threaded build
- Simplify format_buffer utility method
- Require listing solved problems in PR descriptions and add links and instructions
- SCons: Drop VS2017 support, use C17 universally
- CI: Replace pre-commit with prek
- Refresh Android instrumented test devices
- Windows: Force supported SDK with MSVC 2019, add Scons option to set SDK version
- Bump min. Scons version to 4.4.0
- Delete unused .gitignore from TextServer GDExtension implementations
- Windows: Remove await MSVC flags
- Suppress GCC 16's sfinae-incomplete warning
- Windows: Check if used SCons version supports requested MSVC
- CODEOWNERS: Update /drivers/apple*
- CODEOWNERS: modules/ improvements
- Fix IndexError caused by debug_tag_stack.pop() with new error messages
- CI: Only free runner disk space when sanitized
- macOS: Fix build with enabled ANGLE and disabled Vulkan/Metal
- Fix download scripts and build in the MSYS2 environment
- CI: Remove build_deps from Windows artifacts
C#:
- .Net: Implement AddRange(ROS) for Godot.Collections.Array(<T>)
- Fix bugs in C# StringExtensions
- Prevent SourceGenerators from becoming a transitive dependency
- Improve source-generated EmitSignal{...} performance in C#
- Revert "Improve performance of CSharpLanguage::reload_assemblies"
- Revert "[.NET] Remove EFS update on reloading assemblies" but with deferred call
- Add MSBuild property to enable Godot.NET preview
- Add "Build C# project" to command palette
- Deprecate ScriptLanguage::instance_has
- Fix GodotVersionConstants property name
Codestyle:
- Move binary math functions to Math namespace in math_funcs_binary.h
- Use actual class names in resource type hints
- SceneTreeDock: Remove unused parameter
- Forbid alternative operators via clang tidy
- Remove DockConstants
- Fix inconsistent usage of localization_changed signal variable
- Remove some unused Node methods
- Minimize include dependencies of display_server.h
- Don't hard-code dock names in default layout
- Run linter on run_compatibility_test.py
- Fix various typos & UI paper cuts
- Clean up _validate_property() implementations
- Remove redundant _has_main_screen() overrides
- Style: Define clang-format rules for include grouping
- Fix preprocessor directives for X11 and GLES3
- Remove unused MSG_ID_ACTIVE
- Initialize ReflectionAtlas in LightStorage::reflection_atlas_create
- Fix doc comment for Vector.resize_initialized
- Remove obsolete header guard comment
- GUI: replace single case switch with if in texture_button
- Remove SNAME from MethodInfo macro
- Fix pragma includes
- Remove unused loop counter from EditorPropertySizeFlags::setup()
Core:
- Mark property script as internal
- Add Toki Pona (tok) to language/locale list
- Poison CowData pointer during destruction in sanitizer builds
- PCKPacker: Add method to add files from buffer
- Image: Support resizing all uncompressed formats
- Separate Property and Method Info from Object files
- Make memnew(RefCounted) return Ref, to improve ownership safety
- Change new overloads to use a tag instead of a pointer
- Clean up Variant comparison operators
- Move enum registration from ClassDB / ClassInfo to GDType
- Debugger: Rather than looping infinitely on data read errors, drop the connection
- Make sure ScriptLanguage is initialized even after init_languages call
- Add span_index to TextServer.shaped_text_get_glyphs and related methods when accessed from GDScript
- Fix parameter precision for ease/step_decimals function
- Better error message for setting invalid Z index
- Reset vertex_2d flag when starting a new surface in ImmediateMesh
- Change copy constructors of HashMap and AHashMap from implicit to explicit
- Update various Unicode-related files to version 17.0.0
- Change copy constructor of LocalVector from implicit to explicit
- Fix error in debugger while changing scene on button clicked with touchscreen
- Prevent unnecessary memory allocations when reading UID cache
- Fix the NodePath hash function to not yield the same value for similar paths
- Move RuntimeNodeSelect to its own files
- Change List copy constructor from implicit to explicit
- Make JSON.stringify use compact representation for empty Dictionary
- Fix ClassDB class list sorting regression
- ZIPPacker: Add support for Unix permissions and modification time
- Fix set_process_thread_group() and transform notification of threaded-processing Node3Ds
- Fix erroneous use of atomic in the dirty flags of Node3D
- Fix multithreaded load status progress
- Zero out padding in NodePath serialization
- Fix thread safety of physics interpolation
- String: Allow using Java style %[arg$] prefix in sprintf
- Add move semantics to HashSet
- Don't remove internal nodes in Node::replace_by
- Emit ProjectSettings.settings_changed signal on ProjectSettings.clear() call
- Fix Curve point properties usage flags
- Change HashSet copy constructor from implicit to explicit
- Add finite check for normalize() in vector classes
- Include some headers explicitly in some important spots, to estimate include costs better
- Add move semantics to RBMap and RBSet. Make their copy constructors explicit
- Change the PR template to send new contributors to a short checklist
- Tweak ObjectDB instance leak warning message to mention object count
- Add missing integral conversions to Variant
- Remove usability team from codeowners
- Fix accessibility server init fallback
- Handle UID path in packs
- Fix editable children state when duplicating instantiated nodes
- TextServer: Remove GDExtension build support
- RingBuffer: Fix overreading on methods that take an offset as an argument
- Expose Basis.is_orthonormal()
- Fix Viewport path update error when dock is reparented during tree
- Fix are_spans_equal for p_size = 0 when pointers may be invalid
- Fix String::split_ crash on empty string
- Improve OS.is_process_running error messages
- RingBuffer: Fix T read() method reading empty buffer
- De-duplicate name and inherits StringName properties from ClassDB::ClassInfo, in favour of GDType
- Move signal ownership from ClassDB to GDType
- Improve thread-safety of Object signals
- Fix hint string parsing for nested dictionaries
- Wayland: Only report HDR request failed warning if HDR was actually requested
- Integrate GDType signal ownership into Object, exchanging use of ClassDB
- Use TRACY_ON_DEMAND by default for Tracy integration
- Android: Clean up Godot.kt
- Accessibility: Fix update_set_name setting a space character as the node label when name and name_extra_info is empty
- Fix a potential crash in Viewport 3D physics picking
- Only print to stdio before setup and during/after cleanup
- RWLock: use C++17's shared_mutex instead of timed variant
- Make Node.get_path_to() error user-friendly when there is no common parent
- Mark template function in math_funcs_binary constexpr
- Switch NoiseTexture2D/3D from using Threads to WorkerThreadPool
- DDS: Use put_u32 for unsigned writes
- Hook up perfetto script and frame profiling logic
- Improve missing type error in ClassDB
- LinuxBSD crash handler: Move addr2line finding to its own function
- Fix race in RefCounted::unreference()
- Fix export_template_manager.cpp compilation with deprecated=no
- Fix a race in ResourceLoader::load_threaded_request()
- Add error to error messages in FileAccessPack
- Add better error message when trying to decompress ZSTD with decompress_dynamic
- Android: Miscellaneous bug fixes
- Update GDCLASS / GDSOFTCLASS comments
- Fix DisplayServerEnums::MouseMode enum binding being lost with deprecated=no
- Fix Resources loaded using ResourceLoader.load_threaded_get are never unloaded
- Android: Fix the use of --main-pack in template builds
- Android: Fix reported crashes from the Play store
- Skip UTF-8 BOM when loading TRES
- Clarify hash_compare semantics on Variant
- Fix ResourceLoader::load_threaded_get() deadlocks
- Fix ZIPPacker creating empty directory entries
- Fix a deadlock in WorkerThreadPool (Reverted)
- Fix ResourceLoader deadlocks
- Don't flush the message queue before a MainLoop is iterating (Reverted)
- Revert "Fix a deadlock in WorkerThreadPool"
Documentation:
- Update EditorExportPlugin doc to point out pitfalls
- Further clarify the two line intersection methods
- Fix misleading InputEventMouseMotion Velocity documentation
- Improve docs for EditorResourcePicker::_set_create_options
- Clarify intrinsic/local Euler rotation order in 3D documentation
- Clarify Input.get_connected_joypads() order
- Document that auto-exposure won't work on Mobile & Compatibility
- Improve KEY_CODE/MODIFIER_MASK description
- Add missing truthiness documentation
- Document joypad vibration support over USB on macOS
- Document Viewport texture mipmap bias not being supported in Compatibility
- Add notice about device settings for vibrate_handheld method
- Add missing word to SpinBox documentation
- Document hyphens being replaced with spaces in String.capitalize()
- Complete RenderingServer, ArrayMesh and VoxelGIData class documentation
- Clarify Camera3D.set_frustum() size parameter
- Fix UPNP code sample using OK constant incorrectly
- Add an example that uses bind() to Array.find_custom() documentation
- Fix "subresources" misspelling in Resource.DEEP_DUPLICATE_NONE docs
- Improve ProcessMode docs
- Migrate GDScript design guidelines to the contributing docs
- Editor Settings: Prevent crash when viewing filesystem/import/blender/blender_path
- Fix Font's documentation for ascent/get_descent
- Fix documentation for get_velocity_at_local_position
- Update the Dictionary.get documentation regarding the default argument & its side effects
- Improve documentation for AudioEffects
- Add missing info to some AudioStream docs
- Document the purpose of the index parameter in IK and SkeletonModifier3D classes
- Document project settings that only have an effect when using GodotPhysics3D
- Document wireframe debug draw mode behaving differently in Compatibility
- Docs: Add units of time to AudioServer's documentation
- Improve docs for ResourceImporterMP3 and ResourceImporterOggVorbis
- Clarify the behavior of NodeAdd3's sign in the documentation
- Clarify that Linux supports the Use System Accent Color setting
- Fix unprofessional language in TabContainer and TabBar documentation
- Fix links for code style / hooks
- Add a comment to run clang-format and clang-tidy on all files on changes
- Update HTTPRequest example to use static JSON.stringify()
- Document the interaction between automatic mesh LOD and blend shapes
- Update documentation for Curve set_point_offset
- Document limitations of Decal's ORM texture with various reflection techniques
- Docs: Clarify that instance_set_ignore_culling disables layer culling
- Improve doc for bool operators
- EditorFileDialog: Document native file dialogs in sandboxed environments
- Link Logging tutorial in the Logger class reference
- Clarify PROPERTY_HINT_RANGE and PROPERTY_HINT_LINK in class reference
- Add a description to the return values of UndoRedo's undo() and redo()
- Document alternatives to Input.is_key_just_pressed()
- Add a C# example for set_ease
- Fix tutorial links for the GDExtension section for a move of the articles
- Add warning to Object._iter_init docs about using alternative state
- Improve MoveToward docs in C#
- Remove outdated RichTextEffect tutorial in the class reference
- Improve RandomNumberGenerator.rand_weighted() description in the class reference
- Mark all raytracing functionality experimental
- Fix tooltip grammar in theme contrast setting
- Add self-disclosure for AI bots
- Link to tutorial and add platform notes to HDR output docs
- Fix wrong _get() code in class reference
- Fix Godot version for default change in stretch mode project settings description
- Better clarify assert behavior
- Fix item focused signal description
- Add warning for physics interpolation when reparenting nodes
- Clarify when is_queued_for_deletion returns true and added mention to SceneTree.queue_delete
- Fix typo in C# string interpolation in TYPE_STRING doc
- Clarify that Vector distance_to() uses Euclidean distance
- Fix ordering of notes in the description of the seed() function in RandomNumberGenerator
- Add search keywords for some Color methods in the class reference
- Document Color constant differences in C#
- Document ImageFormatLoader LoaderFlags Constants
- Document Object._get() and _get_property_list() thread-safe requirement
- Fix the documentation for some SkeletonModifier3Ds' rest
- Improve doc for bool class
- Clarify that search_bar_min_item_count does not count separators
- Clarify performance impact of AreaLight3D nodes in the documentation
- Use generic description for experimental flag on DrawableTexture2D methods
- Update Tree reference to explain new drop sections
- Link to Multiple Windows demo project in Window class documentation
- Link to 3D lights and shadows tutorial in AreaLight3D class documentation
- Document the expected format for the project settings override file
- Docs: Add platform support notes to window flags
Editor:
- Tweak visibility editor icons to be more compact
- Allow negative line spacing for the script editor in Editor Settings
- Revamp autoload creation
- Rename "Add Node Here to Add 2D Node Here to avoid confusion when right click on 2d scene to add nodes
- Make resource drop tooltip consistent between 2D and 3D
- Add PropertyListHelper to Curves
- Customize the file manager label for each platform
- Fix PopupMenu horizontal margin in editor theme
- Make "OK" button text contextual in GroupsEditor and SceneTreeDock
- Add FilterLineEdit to unify editor filter field navigation
- Make tooltips from all editor modes inform about the selection menu shortcut
- Don't update inspector when invisible
- Add H keyboard shortcut to toggle node visibility in the 2D and 3D editors
- Don't process invisible update spinner
- Add Reload Current Project to the command palette
- Improve appearance of built-in help
- Show custom class name in the remote inspector
- Store editor log button state globally
- Properly update region editor window when undoing changes to region_rect
- Optimize tree size computation and the scene tree dock filter
- Add drag and drop info label
- Improve Move/Duplicate dialog
- Add proper undo to Make Sub-Resources Unique
- Add Auto update check mode
- Add support for copy/paste of section/category properties
- Add type filters to create dialog
- Depict version discrepancies in Project Manager
- Allow echo events for some Scene dock shortcuts
- Use monospaced font for code names (methods, signals, properties) in UI
- Fix select the edited node when dropping
- Use only one edit menu for TextEditors
- Make FileSystemDock use nearest-neighbor filtering for textures
- Reorganize Output dock
- Switch Quick Open dialog quickly via shortcuts
- Show NodePath subnames in editor inspector
- Open missing source file errors on GitHub
- Support navigating to the script in list
- Make right-clicking on unfocused scene tabs possible
- Improve scene tab right-click menu's Save All Scenes' disable condition
- Add Replace to SceneTree context menu
- Fix typo "END_SECTIOn" macro undef to END_SECTION for scene_tree_dock.cpp
- Clean up FindInFiles code
- Replace DockSlot with DockTabContainer
- Add context menu to the Video RAM tab of the Debugger bottom panel
- Change GridMap and Replication to EditorDock
- Allow dragging from shader editor to material
- Expose ScriptEditor::get_unsaved_files
- Expose ScriptEditor::save_all_scripts()
- Add EditorInterface::get_unsaved_scenes()
- Add ScriptEditor::close_file()
- Add note to error message about how to add recognized extensions to editor
- Improve the dependency editor UX
- Allow to remove custom names for layers
- Update dock popup tab color for disabled slots
- Refactor dock slot selector
- Remove unused variable in editor_properties.cpp
- Paste as Sibling right below the node
- Update the notification for Auto-exposure
- Generate translation template from Command Palette
- Resize Output/Debugger icons to be consistent with other docks
- Refactor TextEditor and ScriptTextEditor
- EditorQuickOpenDialog: Rewrite internal paths usage and clean history
- Fix theme properties not showing their default values when undoing changes
- Fix right clicking an item in filesystem ItemList draws focus
- Fix project manager drawing focus on right click
- Reorganize interface/editor setttings
- Fix float value NAN still shown as 0 in the debugger and inspector
- Add scroll hint to the animation library dialog
- Fix extend script button styling in scene tree dock
- Fix dock names in menu tooltips not translated
- Ensure debug features get cleared after use
- Fix folder colors in Favorites list
- a11y: Remove "not accessible at this time" placeholders
- Improve HTML shell in the web editor
- Fix theme properties not being handled correctly by MultiNodeEdit
- Take custom type of parent scripts into account when dropping onready variables
- Fix hidden Import tab height
- Fix scroll hint margins in the asset library
- Check if a resource from a snapshot exists before loading it
- Fix: Sync built-in script memory before signal connection
- Fix editor colors reseting while the color chooser is still open
- Fix blurry icons in the inspector dock's object selector
- Add more toggleable options in Engine Compilation Configuration Editor
- Fix detection of some features in Engine Compilation Configuration Editor
- Fix theme item inspector tooltips for Window subclasses
- Fix EditorObjectSelector PopupMenu width
- Generate and display documentation for the properties generated by PropertyListHelper
- Fix editor tooltips disappearing with joypad button presses
- Fix FileSystem dock visual separation when docked at bottom
- Fix error when NodePath properties have their assigned nodes deleted
- Refactor remove duplicate code
- Fix properties being set before nodes are readded when undoing removals
- Fix create dialog recents
- Fix code completion popup colors not being updated properly
- Scene tree dock: Don't log error if there is no selection upon handling item_icon_double_clicked signal
- Skip zero values in EditorPropertyFlags
- Allow debugger dock to float
- Fix build profile generator creating bogus profiles
- Fix build profile generator always enabling 2D navigation
- Fix NodePath EditorProperty using the wrong scene root
- Add a way to clear the cache for the build profile generator
- Convert the bottom VCS dock to a EditorDock and tie it with the Commit dock
- Fix buttons for opening project in file manager
- Fix buttons in EditorProperty overlapping with values
- Fix Rename option for instance roots
- Theme Editor: Remember split offset between editor sessions
- macOS: Set apple menu node name to non empty value
- Use class name instead of Object ID in remote scene view
- Add editor setting to make move confirm dialog optional
- Add setting for automatically opening scripts
- Fix debugger error log time gets trimmed
- Add a script editor keyboard shortcut to show the documentation tooltip for the word the caret is on
- Fix wrong base type when creating script
- Fix Go To Line crash
- Fix highlighted word style being overwritten by hover/pressed styles in find in files
- Fix editor syntax highlighter regression
- Fix ScriptTextEditor not loading editor settings on initialization
- Fix: Skip setting current dock when tab cannot switch [ Make EditorDocks respect panel lock ]
- Properly handle closing floating docks
- Fix Unique Resources from Inherited Scenes
- Remove unused edit_request_func and include in script_language.cpp
- Fix "Pack Project as Zip" not saving permissions and time
- Debugger: Fix typed dictionary hint string
- Open previously active dock when closing active dock
- Fix missing tooltip for panel with shortcuts without configurated keys
- Allow the bottom panel to be pinned when closed
- Create EditorHelpHighlighter in Project Manager
- Speed up _find_file for case-insensitive file systems
- Convert "Line and column numbers" label to button
- Implement project.godot file associations for the Android editor
- Add background panels to the trees in the export dialog
- Add reload_open_files() to script editor
- Fix wrong Ref checks in ScriptTextEditor
- Fix editor not handling unsaved changes on restart from settings
- Show shortcut path in tooltip
- Rework updating editor viewport HDR
- Make unsaved scene dialog more accurate
- Add shortcut to open instanced scene in editor
- Fix ScriptTextEditor resizing issue
- Add extra bottom dock slots
- Fix "disabled" nodes depending on process mode
- Fix Control minimum size check too aggressive
- Restore interface/editor/code_font_custom_variations functionality
- Fix ShaderEditor's UI overflowing when shrunk
- Match type hint behavior of drag and drop @export to @onready
- Only force CSV text for translation
- Clarify Paste to Paste (as Child) in SceneTree context menu
- Evaluate empty EditorSpinSliders to 0
- Fix closed docks still being present in the dock menu after being disabled
- Fix EditorSettings error due to android_sdk_path when exporting a project
- Add missing background panel to audio stream interactive transition editor tree
- Don't tint the preview camera icon
- Editor Help: Make codeblocks full-width
- Fix mute button after pausing and stopping
- Tweaks to EditorHelp separator colors
- Improve DockContextPopup spacing
- Fix error in TileSetEditor
- Fix game speed UI not resetting when game is restarted (from editor)
- Fix symbol jump history navigation issue
- Fix Verbose mode from being enabled after quitting to the Project Manager
- Fix icons colors for files and directories at light color preset
- Fix empty navigate to script list button in Script Editor
- Remove unused edit_hb variable in TextEditorBase which causes warnings
- Make constants read-only in remote scene view
- Hide property groups from the "Members" section in Debugger
- Make selecting node in remote expand tree
- Add support for --ignore-error-breaks to LocalDebugger
- Fix Errors and tab swapping when changing docks
- Fix Dictionary editor losing selection when changing types in Remote inspector
- Fix display of objects in the Remote Inspector
- Fix able to delete metadata on read-only object
- Add add_submenu_node_item to POT generation
- Overhaul scene loading and edit state management
- Remove show_scene_tree_root_selection from EditorSettings
- Add configuration warning for missing Mesh
- Use open_search shortcut instead of hard-coded events
- Fix replace bar requiring pressing enter twice
- Fix replace button doesn't highlight next occurrence
- Fix Script Editor loses focus on esc in Find/Replace bar
- Editor Help: Start new paragraphs after codeblocks
- Add explicit OptionButton fallback state in ScriptCreateDialog
- Stop drag actions in the TileMapLayer and GridMap editors when focus is lost
- Fix Favorite Properties not working with multi-node selection in Inspector
- Rework export template dialog to allow individual templates
- Add missing code snippet copy notification to EditorHelpBit
- Android editor: Enable orientation change in Script Editor
- Fix TextEditor breakpoint and bookmark shortcuts not working until menu is opened
- Set accessibility name on Tree inline cell editor when editing
- Remove previous animation libraries before adding them to dummy player
- Fix some icon colors for light themes
- Android: Add haptic feedback on long-press right-click in the editor
- Open the Shader Editor when creating a new Shader in the Inspector
- Remove restart requirement for interface/touchscreen/enable_touch_optimizations setting
- Change the resource path before update_files()
- Support folding, groups, and subgroups in Remote Scene Inspector
- Fix error on opening script after documentation
- Profiler: Fix for graph using excessive CPU
- Move the definition of open_search shortcut earlier
- Silently stop all script debuggers if no debugging server is active
- Default value of "Ignore asset root" should be false, when addons is the root folder of the addon
- Expand inspector sections while searching
- Stop autocomplete from eating words by default
- Build profile: Only allow classes derived from Resource and Node to be disabled
- Hide Remote Deploy button when not configured
- Improve inspector clipboard
- Fix adding carets above and then below
- Fix connection dock not hiding underscored native signals
- Default to base folder if saved editor layout folder does not exist
- Allow searching editor shortcuts by path
- Android: Follow up fixes to enabling orientation change in the script editor
- Disable the "Edit"/"Clear"/"Save" menu item when the EditorResourcePicker is force_allow_unique
- Fix keying state not being updated for sub-inspectors
- Fix text alignment in check box inside EditorInspectorSections
- Ask before quitting when templates are downloading
- Remove duplication popup when trying to duplicate res://
- Add a revert button to EditorInspectorSection
- Add progress indicator for background template download
- Properly handle readonly resources in shapes editors
- Hide renderer selector in main editor window and add editor setting
- Fix few incorrect TTR(vformat sentences
- Fix Change version link in web editor shell
- Fix error when opening the right-click menu for the "Favorites" category
- Default multi-node property revert to node revert
- Fix bottom dock always opening a tab on startup
- Fix animation and key buttons of inspector sections being off-center in the RTL layout
- Fix and improve the editor layout dialog
- Add node name to EditorDebuggerInspector
- Fix compilation configuration editor not working
- Make click to copy more visible
- macOS: Fix embedded window scaling issues when hiDPI is disabled
- Use class name instead of Object ID in Debugger
- Remove "ID" from Object ID display
- Fix some regressions with the build profile editor
- Fix scene drag-drop selection override for non-scene-tree drags
- Support Commit Amends
- Rework copy-pasting section/category values
- Fix custom categories not having context menu
- Increase available space for array properties
- Fix newly imported files not having existing UID assigned
- Fix minimum height of Output buttons
- Android: Add missing set_restart_if_changed for haptic_on_long_press
- Fix stack trace label having the wrong height on first appearance
- Remove dead code in editor inspector
- Add folding to the Visual Profiler tree
- Use accent color for main scene in EditorSceneTab and "Favorites" in FileSystemDock
- Fix detection for main scene in FileSystemDock after move
- Handle gdshaderinc files in Find in Files
- Fix adding duplicate entries for already opened files in built-in editor
- Add ContextMenuSlot::CONTEXT_SLOT_INSPECTOR_PROPERTY to EditorContextMenuPlugin
- Improve Remote/Local SceneTreeDock buttons' appearance
- Copy full remote path in runtime
- Fix editor unsaved scenes getting file path updates
- Fix default behavior of @export_dir rejects folders in drag and drop
- Fix floating dock rects from invisible docks
- Expose new create_default_inspector method for EditorInspector
- Temporarily remove flow capabilities of the Game view toolbar
- SpriteFramesEditor: Fix build with deprecated=no
- Fix Theme editor's default preview not having the correct theme
- Set ime_active to false when the IME stops on X11
- Add search bar for the resource and variant popups in the inspector
- Allow moving and resizing the embedded game window on Android
- Revert "Fix EditorSpinSlider drag exceeding min/max boundaries"
- Fix filter tree node order
- Don't print UID errors when cache is not initialized
- Fix GameView crash on init
- Fix missing shortcut for "Open In Editor" in inherited scene root
- Fix MeshLibrary crash
- Fix a pair of regressions in the Game view node selection
- Restore inspector context menu for dictionary elements
- Fix max icon width in remote scene view/debugger
- Fix MeshLibrary editor taking priority over GridMap when it shouldn't
- Re-add support for installing templates from TPZ
- Fix leftover AssetLib icon reference
- Fix embedded window minimum size bug on Android
- Fix the credits not being centered
- Add a button to delete all installed templates
- Add search bar for the Opened Scenes List popup
- Remove StyleBox hack from template manager
- Fix Visual Profiler reference frame line being drawn outside its container
- Remove the separate "Android Source" group in ExportTemplateManager
- Fix wrong disabled states for buttons in the export dialog
- Fix shrunken vertical borders for editor Labels
- Do not use empty string as editor locale
- Dependency editor: fix label, it's the owners, not the dependencies of files to delete
- Assign final path when creating built-in Resources
- Revert Android Editor minSdk bump to 24
- In editor properties, capitalize "androidxr" as "AndroidXR" (with uppercase "XR")
- Fix Tag Container Clipping Project Title and Breaking Project Manager UI
- Fix Paste as Replacement replacing root
- Remove redraw timer for theme previews
- Fix EditorDock accessibility properties
- Fix script editor guideline colors
- Move asset store repo list to the editor settings file and rename it
- Fix inspector tooltips after focus changes
- HDR: Save editor screenshot as EXR when HDR is enabled. (reverted)
- Fix MeshLibrary editor not updating correctly on certain cases
- Avoid repeats in resource gather
- Fix per-project overrides not working for language
- Android: Set the default minSdk for compatibility renderer to 24
- Improve 'Clear Output' button position
- Revert "[HDR] Save editor screenshot as EXR when HDR is enabled."
- Fix editor screenshots with HDR enabled
- Replace VSeparator with HSeparator in Misc tab
- Fix Tag Overrun Behavior
- Add Shift+Enter and Shift+KpEnter as default shortcuts for newline
- Add cleanup of EditorInspector clipboard contents
- Only focus the shader editor when directly opened
- Don't allow empty strings when splitting base_directory_path string
- Fix Resource picker tooltip text
- Improve error messages when trying to save invalid resources in the editor
- Fix wrong error fixed check
- Re-apply entire transform after 'Paste as Replacement', not just position
- Add copy/paste icons to EditorResourcePicker
- Fix dragging unselected items from FileSystem dock file list
- Improve explanation for offline mode in export template manager
- Fix FileSystem dock styles across split modes
- Fix various editor state related regressions
- Fix a couple of issues when deleting presets in the export dialog
- Editor UI: Hide AudioStream filename in the inspector if it's width is negative or zero
- Fix some issues with the editor dock tabs
- Fix 'Reparent to New Node' when selecting from bottom to top
- Ensure project.godot exists before running the project
- Fix credit roll in the project manager
- Remove "*.json" as a example of non-resource in the export dialog
- Use TTRC() instead of TTR() in the project export dialog
- [Project Manager] Fix incorrect size comparison
- Remove colon from Favorites in FileSystem
- Fix collapse state regression in the FileSystem dock
- Make theme previews scale with the editor
- Don't use system color as godot base color when Follow System Theme is active
- Fix theme preview + position after dropping new scene
- Change disabled "Paste" options to hidden
- Fix editor scene tabs not updating properly on theme change
- macOS: Fix mouse warp for embedded game window
- Fix Curve point count expansion preserving points
- Disable version list while downloading template
- Fix my name in the mailmap
- Text fixes in template manager
- Enable touch_dragger in ExportTemplateManager on touchscreen devices
- Fix "Open Documentation" ignoring non-top-level nodes
- Fix "Change Type" ignoring non-top-level nodes and editing foreign nodes
- Fix "Move Up/Down" editing foreign nodes
- Fix remote scene tree expanding selected nodes on reveal
- Fix spelling of "GDExtension" in the Export Template Manager
- Fix scene tab menu not updating tab bar
- Fix CanvasItemEditor::center_at rounding
- Prevent crash when detaching freed debugger
- Wrap project titles
- Android: Update download URL for GABE
- EditorPropertyArray clipping fix
Export:
- Propagate save_zip error to callers
- GitHub Actions: Test project exporting on CI
- Filter out metadata of excluded files on export
- SparsePCK: Add support for index encryption
- Android: Add export options to customize splash screen
- Move runnable out of export preset
- Linux: Handle debug symbols with renamed executable
- iOS: Reintegrate camera module to the main repo
- Load translation files to check locale for ICU data export
- Android Editor: Copy keystore to temp file during export
- Android: Only poll for devices when a runnable export preset is configured
- Allow providing Android APK/AAB as base packs for patch PCKs
- Add end_generate_apple_embedded_project export plugin method for iOS projects
- Android export: Add error message when ETC2/ASTC compression is not enabled
- Web: Fix poll_export changing current export_preset
- Android: Remove deprecated Google Play OBB support
- Always include global script cache file
- iOS: Fix one-click deploy with Xcode 26
- iOS: Do not escape name in pbxproj
- Fix wrong path in EditorExportPlugin._export_begin() when zipping
- Fix get_version() fallback for Android
- Remove experimental warning from Use Gradle Build option on Android
- Fix incorrect feature overrides when exporting for Linux
- Fix export notifier
- Fix export errors with non-resources
- Do not use cache for icon/splash during export
- iOS: Fix resource directory path when using godot_path
GDExtension:
- Bind Object::ConnectFlags as a bitfield, instead of enum
- Remove unused create_script method from ScriptLanguage
- Improve automated checks for GDExtension compatibility
- Register ClassDB singleton already in Core initialization level
- Delegate Script::reload_from_file to ScriptLanguage
- Add has_script_method to Script for scripting access
- Change godot-cpp to godot-headers for the reference GDExtensions files
- Fix script_language_extension.cpp compilation with deprecated=no
- Add integer limit constants to @GlobalScope
- Fix string_to_*_chars documentation
- Remove p_ and add r_ prefixes to argument names
- Fix GDExtension breakage in removed AudioEffectSpectrumAnalyzer::get_tap_back_pos
- Add Variant::get_type_by_name to GDExtension Interface
- Add missing GDVIRTUAL_BIND(_get_supported_extensions) on MovieWriter
- Allow viewing GDExtensions from inside project settings
- Add classdb_construct_object3 and classdb_register_extension_class6 (refcount-aware inits)
- Use real GDType in placeholder
- Finish mapping missing deprecated types for GDExtension
- Change Object::is_class to take StringName instead of String, for better performance
- Use RequiredParam/RequiredResult in several more APIs
- Add RequiredParam -> RequiredResult conversion
- Clean up types for new classdb_register_extension_class6
- Don't memdelete(gdtype) on placeholders
- Use create_instance3 for placeholder classes
- Deprecate GDExtension's object_cast_to and classdb_get_class_tag, in favour of is_class casts
- Phase out RefCounted singletons as UB pitfalls
GDScript:
- Call static methods in native base class
- Group similar analyzer/runtime error tests into single files
- Implement CompletionType::COMPLETION_DECLARATION and lambda tooltips
- LSP: Fix type bind, mark as experimental, deprecate direct LSP access
- LSP: Don't serialize empty documentation
- Fix use of class_name in built-in scripts
- Pattern guard warning fix
- Improve evaluation of constant expressions with arrays/dictionaries
- Add columns to Language Server for external editors
- Add highlight support to Language Server for external editors
- LSP: Remove unread native_member_completions member
- Remove unused Token::cursor_position
- LSP: Remove unused ExtendGDScriptParser::get_member_completions
- LSP: Fix loading scene for every request on script file for workspace completion
- LSP: When supported use snippet insert mode to add closing braces
- Don't return wrong result for already completed solving state
- Only move root scripts in cache
- Remove unused unload_static
- Fix GDScript LSP test link errors when websocket is disabled
- Parser: Fix "trying to resolve type of null node" when missing condition
- Push multiline at the correct time when parsing super
- Stop RemoteDebugger from improperly flushing messages during break
- LSP: Add godot to known language ids
- LSP: Handle clients that do not support CompletionContext
- Fix null values for local const in debugger
- Improve display of non-exported members in Remote Tree Inspector
- Inherit parent method return types for untyped overrides
- Fix compiler generates incorrect bytecode for conversion return
- LSP: Log startup errors
- LSP: Optimize find_usages_in_file
- LSP: Fix singleton registration
- LSP: Document editor settings
- Fix interrupted coroutines not clearing
- Autocompletion: Don't hide certain setters and getters
- Deprecate type_exists() global function
- Track columns by raw string offsets
- Fix and simplify coroutine stack clearing
- Fix "Could not resolve script" error after renaming a preloaded script
- Fix return type checking for inferred function type
- Make the caret at end of word work for lookup
- LSP: Calculate simple string insertions on the server-side
- Fix missing positive_only suggestion
- Fix breakpoints resetting on external editor save
- Remove unused get_script_by_fully_qualified_name
- Change GDScriptFunction::temporary_slots to be a LocalVector
- Add keyword code completion option
- Reduce RefCounted copies in GDScriptFunction::call
- LSP: Remove unused DocumentSymbol::make_completion_item
- Fix crash in GDScript::prepare_compilation error message
- Add CONFUSABLE_TEMPORARY_MODIFICATION warning
- Fix type deduction for functions without return statements
- Fix incorrect line reporting for mixed indentation errors
- Fix script editor errors shown out of order
- Use linked list for instance tracking
- Replace incorrect usage of GD_ERR_BREAK
- Add tests for Dictionary type tests
- Improve PROPERTY_HINT_{ARRAY,DICTIONARY}_TYPE handling
- Check for class existence before getting enum constants
- LSP: Fix crash in find_usages_in_file by correctly resolving annotation names
- Preserve compatibility for untyped return of _get_property_list()
- Register GDScriptFunctionState with ClassDB
- Move stack cleanup after resumed coroutine completion
- Exclude globals internal classes in the analyzer
GUI:
- Add transform offset to Control nodes
- Show shortcut without events in tooltip if it has name
- Make the resource type's default theme item editable in Theme editor
- Fix LineEdit only being editable via keyboard and mouse
- Add highlight to used anchor preset in ControlEditorToolbar popup
- BaseButton: multitouch support
- Add VirtualJoystick
- Add a copy button to the color picker dialog
- Add script editor join_lines keybind
- Add virtual _get_cursor_shape() method in Control
- Fix TextEdit IME error on mouse over
- Add option to scale images in RichTextLabel relative to font size
- Fix Tree focus item LineEdit is offset
- ItemList add center_on_current()
- Improve drag and drop in Tree
- Hide TreeItem edit popup on scroll
- Update the documentation for Tree.create_item(), Tree.set_columns() & Tree.clear() & add error messages
- DisplayServer: Add per window icon support
- Support tiling AtlasTexture in TextureRect
- Align TextParagraph to max. line width when width is set to -1
- Scroll to selected file on sorting change
- Add tilde symbol (~) to the FileDialog
- Implement search bar for PopupMenu
- Change TabContainer's popup button into real Button
- Tree: Add per-cell autowrap_trim_flags to TreeItem
- Add accessibility region role for landmark navigation
- Fix RichTextLabel not updating after change scroll_active field
- Fix camera focus triggered by double-clicking Tree buttons
- Don't filter EditorFileDialog files with global access
- Fix TextEdit not drawing caret on setting editable
- Restore context menu icons in EditorFileDialog
- Update fallback fonts to latest releases
- Reset drag unfold timer when mouse exits Tree
- Add translation context to Controls
- Fix crash on removing Windows PopupMenu submenu
- Fix error after setting native PopupMenu item ID
- Add PopupMenu method set_item_index
- Stop exposing external theme item properties
- Add conic gradient to GradientTexture2D
- Fix cursor selection box color
- Add scroll switch to ScrollContainer
- Fix wrong size on Container nodes due to late cache update
- Fire ItemList.item_clicked signal when deselecting multi items with CTRL
- Fix SpinBox buttons not updating when using set_value_no_signal()
- PopupMenu: Use parent GraphEdit scale for popups inside GraphElement instead of completely disabling it
- Make internal children of built-in nodes use their parent's material
- TextServer: Fix numeric keycap emoji sequence rendering
- Fix current line highlight not extending into gutter
- TextServer: Reuse FT_Face and data for all font sizes
- Give tree's hovered_pos a negative default value
- Fix script list hot color/main scene name color
- Fix TextEdit backwards search skipping matches
- Fix wrong normal icon color in FileDialog
- TextServer: Clamp internal font rendering size to 2048
- Fix WindowWrapper leaking all key inputs to parent
- Fix inaccurate tree relationship lines
- Fix drag-resizing Control with non-zero pivot_offset_ratio
- Fix theming for EditorPropertyArray icons
- Fix the table is too wide when using indentation in RichTextLabel
- Fix soft hyphen not working with small (or zero) line breaking width
- TextServer: Ignore language of embedded object replacement spans when updating line breaks
- TextEdit: Ensure caret is visible after paste
- Improve the table in RichTextLabel
- Fix BottomPanel tab dropping
- Fix RichTextLabel scrollbar when too small to show it
- Expose Control.call_gui_input() (reverted)
- Add Styleboxes for Virtual Joystick
- Fix SplitContainer accessibility errors
- Fix TabContainer accessibility sub-element cleanup
- Fix SplitContainerDragger dragging with enabled screen reader, allow resizing with keyboard shortcuts
- Add custom_maximum_size property to Control
- Fix LCD batching flag for StyleBoxTexture
- Fix TextEdit showing focus on some mouse events
- Improve get_tab_control() in TabContainer
- Fix error spam when resizing a control in a zero size parent with anchors mode enabled
- Remove redundant calculation code in RichTextLabel::_get_line_max_width()
- Fix drawing tree row rect bug
- SplitContainer drag nested intersections
- Print error when trying to change to directory out of scope
- TextEdit: Fix clipping of last character due to right margin rounding
- Add triple-click paragraph selection to RichTextLabel
- RTL: Fix % handling in [img=WxH] tags
- Windows: Show drive names in file dialog
- RTL: Fix character click offsets after the table
- Fix RichTextLabel [ol type=a] not generating the right prefix
- Add fix_alpha_border and premult_alpha to the DPITexture importer
- RTL: Use shared item RIDOwner for all instances
- Viewport: Add option to inherit parents texture filter/repeat, use it for popups
- Update HarfBuzz to 13.1.1 and optionally use new hb-raster API to render glyphs
- Fix TextEdit bugs with large line_spacing
- Fix RichTextLabel drag selection not working after double-click
- Use SplitContainer for Node3D Editor viewports
- Fix TabContainer set current tab not immediately updating visibility
- Do not show accessibility configuration warnings for non-focusable controls, account for name fallback
- Accessibility: Only embed popup tree for non-focusable popups and tooltips
- Accessibility: Add CodeEdit code completion support
- Accessibility: Do not use activation/deactivation callbacks for embedded windows
- Accessibility: Add property/category/section descriptions to the inspector
- Fix broken panning in floating editors
- Fix PopupMenu sizing with search bar
- Fix "Custom" anchor preset being ignored if the parent isn't a Control
- Clarify show_focus_state_on_pointer_event description
- HarfBuzz: Use separate rendering context for each font
- Fix docking popup with editor scale != 1.0
- TextEdit: Ignore IME updates and Alt sequences when control is read-only
- Add _get_tooltip_auto_translate_mode_at() to Control
- Accessibility: Do not focus on ScrollContainer scroll bars
- Revert "Expose Control.call_gui_input"
- Fix overwrite_dialog size on Android
- Handle Tree's root and foreign item drops better
- Implement fuzzy search for PopupMenu search bar
- Fix submenu positioning when PopupMenu is spawned near window border
- Fix icons and code completion colors when following system theme
- Fix PopupMenu internal ScrollContainer inheriting global theme styles
- Fix editor spin slider clamp (reverted)
- TextServer: Fix variable font transform
- Increase max RID count for some owners, decrease RID usage by RichTextLabel
- RTL: Fix remove_paragraph crash
- Make TextEdit's scroll_fit_content_* properties work properly with maximum sizes
- Fix tab bar max width behavior
- Reorganize Control inspector layout
- Prevent branding in Project Manager from being affected by icon saturation
- Fix BaseButton shortcut feedback being affected by time scale
- Fix issue in BoxContainer that clipped children with non-integer minimum sizes
- Defer minimum size updates in maximum size handling
- Fix BaseButton popup unresponsive on touchscreen after first tap
- Improve button order in scene tree context menu
- Fix BaseButton multitouch signals firing for only 1 button
- TextEdit: Remove unused next_item_id variable
- Deprecate TabContainer.all_tabs_in_front due to now being useless
- Fix TabBar and Label being unable to shrink when given a maximum size
- RTL: Remove unused width_with_padding
- Fix leaked custom_ci RIDs in Tree
- Fix custom canvas item covers text
- Disable rounding remainders and subpixel positioning for editor code fonts
- Fix color picker MacOS permission request box always being visible
- Fix positioning of PopupMenu submenus
- Fix PopupMenu gamepad navigation when filtered
- Fix PopupMenu using the wrong separation when searching/filtering
- Fix PopupMenu input handling when scaled/padded
- TextServer: Use FT rasterizer if hinting is enabled
- Always emit post-enter translation notification
- Assign pending tabs when they are added
- Fix various issues with PopupMenu fuzzy search
- Add unit tests for TextureRect
- Fix non-editable LineEdit selection reset on focus loss
- Fix error spam when changing VirtualJoystick's Joystick Size or Tip Size
- Fix color picker permission box being visible on non-MacOS platforms
- Fix various accessibility issues in PopupMenu
- Accessibility: Fix positions of nested popups sent to the screen reader
- Fix Input.parse_input_event Button regression
- Fix incorrect get_drop_section_at_position results in Tree
- Split PopupMenu.search_bar_enabled_on_item_count into two properties
- Fix and improve selection behavior in the Filesystem dock
- Accessibility: Do not set duplicate values for editor inspector elements
- RTL: Update line start items after delete
- Fix incorrect tooltips in PopupMenu when the search bar is enabled
- Always disable all_tabs_in_front in TabContainer
- Fix PopupMenu submenu positioning not accounting for margins
- Fix mouse dragging in Tree node on touchscreen devices
- Slider: Account for accessibility state when grabbing focus
- Tree: Fix editor popup opening outside the window
- TextServerFB: Fix zero-width space detection and rendering
- Add property to auto adjust oversampling with canvas item scale
- Use Vector2 for LabelSettings Stacked Shadows offset
- Fix PopupMenu counting separators for search bar
- Fix EditorPropertyArray using theme cache too early
- Fix RichTextLabel tab_size 0 causing 1px indent on lists and indents
- Fix EditorSpinSlider not showing tooltips
- Properly update shader text syntax highlighting (for disabled regions)
- RTL: Fix last line height with some fallback fonts
- Editor: Fix SceneTreeEditor drop
- RTL: Fix indent / list level not taken into account
- RTL: Do not add zero-width space to last line without content
- Fix BoxContainer size when theme scale is not an integer
- Partly revert updated warning in Label
I18n:
- Add _customize_strings() method to EditorTranslationParserPlugin
- Improve generic quick open title
- Improve auto-translation of tile editors
- Fix wrong tooltip translations in resource picker
- Fix auto-translation of EditorValidationPanel
- i18n: Extract Control accessibility name/description in POT generator
- Disable auto-translation of plugin names
- Fix error names not being localized in editor resource saving error dialog
- Import: Fix empty columns importing as invalid English translation
- Improve some strings in ScenePaint2DEditor
Import:
- GLTF: Read material texture "texCoord" property on import
- 3D scene import: Allow importing files as Mesh or MeshLibrary via ResourceImporterScene
- Bind EditorFileSystem::is_importing()
- Update Blender importer to handle more Vertex Color options
- GLTF: Add export_get_property_list to GLTFDocumentExtension
- GLTF: Zero out padding bytes when encoding buffer views
- Automatically disable hinting for pixel fonts
- Fix extracting materials from .gltf and .blend files throws error
- jpg: Explicitly reject unsupported CMYK and YCCK colorspaces
- Expose import flags in GLTFDocument, mark EditorSceneFormatImporter flags as bitfield
- Fix custom importers do not work with singletons (reverted)
- Revert "Rearrange project loading init"
- Add a function to merge multiple ImporterMeshes together
- Add support for importing R8 and R8G8 DDS textures
- Fix incorrect index usage in path string construction in PostImportPluginSkeletonRestFixer
- Blender attempts should be incremented to avoid endless loop
- GLTF: Duplicate extensions at the start of the import and export process
- Use early continues in ResourceImporterScene post fix importer mesh code
- Fix quick load for resources imported by editor import plugins
- Add missing properties from ImporterMeshInstance3D to MeshInstance3D in glTF import extension
- glTF: Use safe methods to get data from dictionaries with get_additional_data
- Copy scene unique ID when replacing imported instance
- EditorSceneFormatImporterGLTF: Fix build with deprecated=no
- Add missing dictionary type hints in SVG DPITexture import options
- Remove unused FileAccess::create calls in GLTFDocument
- Fix generated collision preview
- Fix gltf import naming_version mixup
- Fail JPEG import on fatal errors only
- Ensure that BPTC LayeredTexture images get compressed with same signedness
- VideoStreamPlaybackTheora: Uninitialize and print error if file has no video stream
Input:
- Fix issues with InputMap::load_from_project_settings() when called in tool script
- Add support for joypad motion sensors
- Add serial number to joy_info
- Wayland: Implement touch support
- Add support for SDL3 joystick input driver for iOS
- Add support for joypad vibration checking
- Add support for the Home LED on NS Controllers
- Add project setting to ignore joypad events if the app is unfocused
- Fix non-Xinput joypads having xinput_index in Input.get_joy_info()
- Fix incorrect reading of joypad UTF8 raw_name in Input.get_joy_info()
- Update editor shortcuts when changing 3D navigation scheme
- Optimize core/input/input.h header #includeing
- Fix Nvidia Shield controller showing up twice on macOS
- macOS: Hide input accessory popups when no text control selected
- Handle invalid input/ settings correctly
- Sync controller mappings DB with SDL community repo
- Don't allow duplicate events in input actions editor
- Remove unused JoypadSDL::singleton
- Add device IDs to keyboard and mouse input events
- Add SDL misc2-misc6 gamepad button constants
- Fix action matching for projects saved before device ID change
- Add enter and escape shortcuts in input map editor
- Android: Fix handling of back navigation when targeting API level 36
- Fix crash caused by input configuration dialog
- Make shortcuts that use letters or alt work in the scene tree
- Fix: support multi-input for BaseButton with Alt + Click
- Windows: Fix inconsistent update logic between IME composition and the candidate window
- Windows: Fix IME candidate window misalignment by setting composition font
- Fix bugs with editing enter key shortcuts
- Release X11 pressed events on true focus loss
- Update SDL joystick device blocklist
- Disable navigation gizmo by default for Desktop platforms
Navigation:
- Improve GridMap collider navmesh baking performance when using bake bounds
- Fix NavigationServer3D.map_get_closest_point_normal returning unnormalized value
Network:
- HTTPRequest: Add Missing Redirect Status Codes
- Web: Optimize WebSocket send by replacing per-byte heap reads with heapSlice
- ENet: Fix DTLS server leaking peers
- Automatically remove incomplete file downloads
- Fix regression when parsing a shortened IPv6 Address
- Fix files deleted after chunked transfer completes
- Fix UDP server peer connections
Particles:
- Extra particle tools for seeking
- Fix particles moving when timescale is 0
- Fix uniforms break particle shaders after conversion from a ParticleProcessMaterial (reverted)
- Add “Inherit Emitter Scale” flag to ParticleProcessMaterial
- Add scale 3D and rotation 3D in particle process
- Store velocity in userdata, use VELOCITY to pass to copy shader
- Revert "Change curve range for particle multipliers"
- Improve options for orienting particles in space
- VisualShader: Fix RESTART and ATTRACTOR_FORCE builtins being available in Start function
- Fix angular velocity
- Fix incorrectly stored emission transform for GPUParticles2D
- Fix subemitted particles not taking parent velocity into account
- Fix leftover particle data when updating particle buffers
Physics:
- Add one-way collision direction for CollisionShape2Ds
- Fix springbones physics interpolation stutter
- Add ability for Area3D to detect/influence SoftBody3D with Jolt Physics
- Jolt Physics: Swapping vertices of triangle if it is scaled inside out
- Jolt Physics: Rework how gravity is applied to dynamic bodies to prevent energy increase on elastic collisions
- Jolt Physics: Make MoveKinematic more accurate when rotating a body by a very small angle
- Fix transform updates sometimes being discarded when using Jolt
- Jolt: Update to 5.5.0
- Jolt SoftBody3D: Make default mass 1 kg and fix stiffness conversion
- Share one JoltTempAllocator instance across all JoltSpace3D
- Tidy some things up in modules/jolt_physics
- Increase maximum value of HeightFieldShape::mBitsPerSample to 16 to allow for better precision
- Bypass physics command queue during physics processing
- Only propagate physics server transforms when different
- Move the Jolt body_test_motion contact filtering to collector
- Jolt: Update RigidBody3D environmental properties more appropriately
- Fix over-removal of area overlaps when using Jolt
- Fix gravity not being initialized properly when using Jolt
- Jolt Physics: Fix contact callbacks for body with motion quality LinearCast vs a soft body
- Fix Godot Physics missing area overlaps after area_set_space
- Fix Jolt integration not converting planes correctly
- JoltPhysics: Change ConeTwistJoint3D to use cone shaped limits
- Jolt: Remove forced area event queuing during body exit
- Jolt: Fix gravity scale not updating when set from code
- Jolt Physics: Fix default area parameter updates not propagating to bodies
Platforms:
- Windows: Support output to HDR monitors
- LinuxBSD: Add support for HDR output (Wayland)
- Add taskbar progress and state support for Windows & macOS
- Apple: Support output to EDR (HDR) displays
- macOS: Allow native dialog to select bundles and browse bundle content
- Add pointer warping on wayland
- Add support for picture-in-picture
- LinuxBSD: Fix UI freeze when opening file manager
- Android: Enable native file picker support on all devices
- Windows: Use executable icon as default for the window
- Windows: Disable MSVC control flow check on IAT hooks
- Add device orientation change signal to DisplayServer
- Android: Allow implementing java interfaces from GDScript
- Fix crash in StorageScope.kt on Android
- [Linux/BSD] Prefer gimli-rs/addr2line or llvm-addr2line over binutils
- Fix 'Show In File Manager' launching apps
- Fix FileAccess.seek_end behavior on Android
- Android: Fix Bad file descriptor in SAF/MediaStore in long term access
- Disable FP contraction (iOS/visionOS)
- Android: Fix JavaClassWrapper test crashes on API 26 and lower
- Wayland Embedder: Fix FD leak with inert objects
- macOS: Set main visibility to default
- CrashHandler: Always print frame PCs and main module load address for retrace
- Fix warnings relating to case mismatch in file path for windows
- Replace // with \\ before sending project path to MSBuild
- Print file path when failing to load dynamic library
- Windows: Disallow file/folder names ending with period and space
- Wayland: Only handle the current output mode
- macOS: Fix confined mouse movement getting out of sync
- Wayland: Re-enable window restore logic
- Wayland: Swap backward and forward mouse buttons
- Windows: Implement OneCore TTS support using C++/WinRT (no deps)
- Windows: Use OneCore/WinRT emoji picker when available
- macOS: Add null check to get_framework_executable
- Fix startup errors/warnings on X11 when the Prefer Wayland editor setting is enabled
- Wayland: Skip resize request when the size is the same
- iOS: Add UIScene lifecycle events
- Revert "Core: Use __fastfail() in MSVC error macros"
- Wayland: Deduplicate cleanup logic
- macOS: Enable wake for events if Magnet is running
- Android: Remove version check for FEATURE_NATIVE_DIALOG_FILE support
- iOS: Propagate VC UI preferences to SwiftUI hosting controller
- Fix clipboard history not updating on subsequent copies in Wayland
- Wayland: Fix race with buffer scaling
- macOS: Add nullptr checks of script_debugger in LayerHost::gui_input
- Linux: Improve crash trace symbols
- Linux: Fix addr2line call
- Android: Fix FileAccess crash when using treeUri in Gradle-built apps
- Only attempt to load ANGLE DLLs from executable folder
- Windows: Set current driver when ANGLE init fails
- Fix macOS Steam time tracking lost when opening a project
- Wayland: Improve mapping robustness and synchronization
- [Apple Embedded] Fix static .a/.xcframework library loading in open_dynamic_library
- Wayland: Fix use-after-free of Ref<ColorManagementProfile>
- Windows: Fix invalid transient window getting stuck in infinite loop
- Windows: Remove polling of SDR white level when HDR output is enabled
- Wayland: Unify clipboard sending code
- Windows: Fix Windows version detection
- Retrieve drive information only when needed
- [Apple, Wayland] HDR Output: Emit window events when HDR state changes
- Change embedded window options to use three stacked dots and add HDR info
- Add HDR output support to Vulkan on macOS
- Wayland: Fix building with libdecor=no
- Fix camera docs and port missing features to camera_apple
- Wayland: Initialize libdecor earlier
- Windows: Add support for AdvancedColorInfo info and change callback
- Warn only once when the input method stops
- Fix ERR_PRINT usage in forked child process lead to possible crashing
- Remove unused and broken big endian support code
- Metal: Reduce warnings and prevent incompatible library code when baking shaders
- Wayland: Handle complex pointer event frames
- WinRT: Wait for DispatcherQueueController shutdown
- [macOS/Linux] Add module information to the crash handler
- Add a bunch of missing window existence checks to HDR methods
- Windows: Fix OneCore TTS language code formatting
- Web: Remove undefined behavior around exit
- Web: Remove flags that prevent proxy_to_pthread from building
- Windows: Dynamically load coremessaging
- Wayland: Improve hovered window handling
- Wayland Embedder: Track keyboard modifier keys
- Fix some X11 BadWindow errors not being ignored
- Fix false positive error in _determine_swap_chain_format
- Wayland: Fix incorrect fallback value for height in _xdg_popup_on_configure
- open_dynamic_library(String(), library, &data) should only be called for apple
- ios: Fix missing UIScene URL lifecycle events for app delegate services
- Android: Fix NPE in JavaClassWrapper proxy when interface method has no arguments
- Android: Fix infinite recursion in proxy equals handler
- iOS: Fix ignored orientation changes in embedded mode
- Remove the godot::String and godot::StringName from godot.natvis
- Don't use CreateCommandList1 on D3D12
Plugin:
- Android: Fix java.util.HashMap handling
- Fix context plugins not called for empty clicks in Scene
- Android: Fix plugin type mismatch regression
- Fix mark_scene_as_unsaved() not working with Reload Saved Screen
- Android: Add support for plugins gradle platform dependencies
- Expose _can_commit_handle_on_click()
- Fix reload_scene_from_path may crash
- Fix 3D editor overlay not redrawing on camera navigation
- Fix EditorPlugin::remove_control_from_docks freeing passed control
- Fix plugin signal registration error on Android (Reverted)
- Fix EditorScenePostImportPlugin::_get_internal_option_visibility() having no effect
- Fix Android plugin issues
- Fix Android plugin signal regression
Rendering:
- Add a nearest-neighbor scaling option to Viewport's Scaling 3D Mode property
- Fix error when CPUParticles3D has scale set to (0, 0, 0)
- Vulkan raytracing plumbing
- Fix CanvasItem lines appearing thicker when antialiasing is enabled
- Implement DrawableTextures
- Select relevant 3D lights per mesh on GLES3 and Mobile renderers
- Fix decal atlas clipped when using texture resolution < 32
- Add Rectangular Area Light Source
- Editor additions for MipMaps and rd_textures
- Fix texture repeat mode for GLES3 renderer
- Clearcoat improvements and fixes
- Fix screen-space AA when scaling using bilinear filtering
- Mark more textures as discardable
- Apply tonemapping in post of Compatibility when using canvas BG
- Remove clamping from LinearToSRGB visual shader node
- Vulkan: Update all components to Vulkan SDK 1.4.335.0
- Reduce unnecessary calls in D3D12 driver
- Upgrade D3D12MA to 3.1.0
- Add bent normal map support for the compatibility renderer
- Metal: Refactor; fix dynamic uniforms; acyclic render graph support
- Fix SDFGI ignoring visual layers of geometry instances
- Make directional lights' tighter shadow caster culling truly tight (implement per-cascade culling)
- Fix sky radiance texunit in compatibility renderer
- AppleEmbedded: renderer_compositor_rd.h override improvements
- Fix viewport debanding not working with spatial scalers
- Fix fallback to OpenGL3 from Vulkan initialization on Android
- Remove Compatibility RenderTarget backbuffer size limit
- Fix shader compilation error when writing to FOG when render_mode fog_disabled
- Renderer: Simplify shader and cluster builder
- Pick the sample closer to the camera when resolving 2x MSAA
- Apply fixed size properly for mono/stereo rendering
- Give every pass its own unique environment uniform buffer
- Use sky's corrected camera projection for combined_reprojection
- Reduce compile time by removing geometry_3d.h include from rendering_server.h
- Handle nearest filtering modes in D3D12 driver when anisotropy is enabled
- Rename glow structs in Compatibility renderer to match code style guidelines
- Remove is_discardable flag on render target
- Ensure that uv border size is passed in to sky rendering functions
- Fix accidental write-combined memory reads in canvas renderer
- Add view count support to Viewport
- Fix transfer worker race condition
- Avoid reading from sky pointer when rendering background without sky
- Fix inconsistent SSR blurriness on rough surfaces
- Update re-spirv with more derivative operations
- Reduce includes to rendering device
- Use transmittance instead of opacity in the early-out branch when calculating volumetric fog
- Restore default sky roughness levels to 8
- Add compatibility fallback to textureLod when reading from RADIANCE
- Fix MaterialStorage::material_set_shader race condition
- RenderingDevice: Free acceleration structure scratch buffer
- OpenXR: Allow using Vulkan subsampled images with foveated rendering
- Metal: Remove glslang memory decorations
- Fix acceleration structure barriers in Vulkan pipelines
- Optimize get_total_memory_used in D3D12 and Vulkan
- Metal: Various fixes
- Metal: Fix linking to older SDK versions
- Apply viewport oversampling to Line2D
- Decouple RenderingServer from as much of the codebase as possible, moving enums to a new RSE namespace
- Clamp uv coordinates of omni light projector
- Check render target before dereferencing reflection probe
- Fix Reinhard and AgX tonemapper in Mobile renderer when using subpass
- Clean up is_frustum projection code
- Fix repeating last valid texture in samplers array
- Refactor blas_create to accept multiple geometries
- Fix exposure not working with canvas background on Compatibility
- Raytracing API adjustments
- Metal: Fix offscreen rendering in context driver
- Fix RenderingDevice::texture_clear() behaving unexpectedly when using the D3D12 driver
- Add fast path to Polygon2D
- Android: Bump the minimum api version and hardware version for Vulkan support
- macOS: Force ANGLE (GL over Metal) when running in VM
- Fix tangent decoding detection when computing vertex skinning
- Remove unnecessary Vulkan swap chain formats
- Fix assymmetrical rendering of reflections in SDFGI
- Fix GLES3 batching skipping rendering all items on specific buffer sizes
- Metal: Fix crash accessing NULL PixelFormats
- Fix LightmapGI probe update speed setting not applying in Compatibility
- Fix LightmapGI probe interpolation at lightmap AABB edges
- Add support for saving HDR screenshots to Image.save_exr functions
- Fix convert_to_srgb uniform being set as the wrong data type
- FTI: Fix property release updates
- Fix behavior of window_is_hdr_output_supported for Wayland and adjust warnings
- Refactor raytracing pipelines
- Fix color correction not working in the tonemap subpass
- Filter and sanitize volumetric fog to stop invalid values flooding the screen with black pixels through temporal reprojection
- Forbid zero size values in RD texture copy method
- Properly set drawable_type property in RenderingServer's DrawableTexture
- Ensure that sky shader automatic mode consistently uses the fallback
- Fix compile errors in sky shader in the compatibility renderer
- Change display/window/hdr/request_hdr_output project setting to be a basic setting
- Remove is_discardable property from several textures
- Random raytracing fixes
- macOS: Fix Metal crash in VM
- Fix max instance computation when creating vertex arrays
- Restore z-clip functionality in the Compatibility renderer
- Remove set_width and set_height from DrawableTexture since they are not functional
- Fix AreaLight3D compatibility vertex shading compilation error
- Fall back to bilinear scaling when setting FSR or MetalFX Temporal on Mobile
- Fix GLES3 scene shader int literal type errors for WebGL
- Fix Parameter "rt" is null when toggling ReflectionProbe visibility
- Fix SPIR-V validation error in Mobile clearcoat code
- Add support for gl_NumWorkGroups in D3D12
- Use the canvas_items/expand stretch mode/aspect by default for new projects
- Fix OOB writes in D3D12 when setting vertex arrays
- Fix and clean up clearcoat reflection probe process
- Fix clearcoat intensity for area lights
- OpenXR: Fix crash when using XR_EXT_frame_synthesis after Godot 4.7-dev5
- Fix SceneTree constructor not using VRS texture
- Fix GPU validation errors due to area light LUT format
- Fix ubo:X numbers for multiview UBOs in Compatibility renderer
- Fix area light texture color conversion
- Fix a couple more ubo:X numbers for XR in Compatibility renderer
- HDR: Implement checking if surface supports HDR output
- Free LTC RIDs
- Fix priority sort table
- Fix subpass MSAA resolves with multiple layers not working on D3D12
- Add Setup Shadows render timestamp for the visual profiler
- Remove compute_list_add_barrier before compute_list_end
- Improve Vulkan error messages to be more user-friendly
- Fix crash when baking shaders for D3D12 from Vulkan
- Warn about --gpu-index CLI argument being unsupported in Compatibility
- Zero uninitialized InstanceData fields
- Fix compute barriers not working on Intel Iris Xe Graphics
- Fix undefined barrier usage in SDFGI preprocess shader
- Fix null uniform set error when enabling SDFGI
- Fix shader crash when using parameter name identical to uniform name
- Fix a few race conditions in RD
- Add project setting to disable new Volumetric fog blending behavior
- Metal: Restrict residency set support to Apple6+ GPUs
- Fix y-sort modulation div by zero
- Fix 3D rendering jittering when TAA is enabled in the Mobile renderer
- Thirdparty: Update re-spirv to ff2b1a506
- Disable ubershaders on problematic Adreno compiler versions
- Thirdparty: Update re-spirv to 29a77fc
- Put area light cluster iterations behind a spec constant
- Fix area light atlas also destroying VoxelGI uniform sets
- OpenGL: Fix vertex shader compilation error with EYE_OFFSET
- Fix a deadlock in CanvasRenderRD
- Fix for voxelGI global illumination center on AreaLight3Ds being calculated incorrectly
- Inline integrate_edge_hill to work around Adreno shader compiler bug
- Add workaround for Vulkan pipeline compilation errors on Adreno 660
Shaders:
- Move visual shaders to a module
- Fix ShaderInclude selected in ShaderCreateDialog due to previous selection even if invalid
- VisualShader: Fix nodes not attaching to new Frame on duplication
- VisualShader: Add specular_amount spatial light input
- VisualShader: Add in_shadow_pass spatial input
- Fix GDShader min/max functions return value type mismatch
- Fixes for completion of shader preprocessor defines
- Add smooth to the changing of properties values in visual shader
- Fix UTF-8 handling in GLES3 shaders
- Allow using a struct name as a variable name in shaders
- Fix unknown identifier source_texture in texture_blit visual shader
- Restrict textureGather shader function in Compatibility mode
- Restrict condition parsing in shader preprocessor
- Fix a few operators in shader preprocessor expression
- Implement inline text shader previews
- Generate SDF texture on texture_sdf_normal usage
- Fix RD header generation for raytracing shaders
- Add math constants to texture-blit
- Allow to define more than one subgroup level in shader material
- Revert "Fix uniforms break particle shaders after conversion from a ParticleProcessMaterial"
- Fix few typos in visual shader editor
- Disable shader previews for loops
- Fix shader loop detection for shader previewer
- Improve inline shader preview layout
- Prevent textureQueryLod function from usage in vertex shader
- Fix 2D instance parameters not being revertible
- Forbid using hint_screen_texture in unsupported shader types
Tests:
- Add unit tests for StyleBoxEmpty and StyleBoxLine
- Android: Fail instrumented tests when test function doesn't complete
- Fix file access tests failing on older Android devices
- Compiled test conversion follow-up
- Always init message queue and rendering server
- Add tests for Container nodes
- Add unit tests for NinePatchRect
- Add unit tests for ReferenceRect
- Add unit tests for TextureButton
- Add unit tests for SpinBox
Thirdparty:
- glad: Update to 2.0.8
- Update AccessKit to 0.21.1
- Update HarfBuzz to 12.3.2
- Accessibility: Handle adapter activation/deactivation
- ufbx: Update to 0.21.2
- libpng: Update to 1.6.54
- thorvg: Update to 1.0.3
- Update AccessKit to 0.21.2
- libpng: Update to 1.6.55
- zlib: Update to 1.3.2
- minizip: Update to 1.3.2
- ufbx: Update to 0.21.3
- meshoptimizer: Update to 1.1
- tinyexr: Update to 1.0.13
- Update HarfBuzz to 14.2.0 and ICU4C to 78.3
- Update FreeType to 2.14.3
- dr_mp3: Update to 0.7.3
- libpng: Update to 1.6.58
- Fix unused variable error with old system HarfBuzz
- HarfBuzz: Fix typo in 13.0.0-14.1.0 branch
- Update D3D12 download script to use current release
XR:
- CameraFeed: Add set_format and get_formats virtual binds
- OpenXR: Add support for XR_KHR_generic_controller
- Expose eye visibility controls for composition layers and set XrSpace based on parent type
- Support composition layers anywhere in the tree
- CameraFeed: Create new texture on datatype change
- Implement support for XR_EXT_user_presence extension
- OpenXR: Inability to find depth format now gives a warning
- Update XRCamera3D docs to clarify what it provides and overrides
- Don't expose the OpenXRUserPresenceExtension singleton
- OpenXR: Don't add frame synthesis as projection views extension unless enabled
- OpenXR: Better action map defaults for hand interaction profile
- OpenXR: Add support for projection layer extensions
- Fix OpenXR with Vulkan on Android
- OpenXR: Fix OpenGL initialization with Monado on X11
- OpenXR: Fix OpenGL ES driver checks
- OpenXR: Use Android-independent OpenGL ES compile time checks
- Fix missing name refresh on bindings when changing the OpenXR action map
- OpenXR: Limit Windows includes to COM interface
- Switch XRServer to use LocalVector for interfaces and do a little clean up
- Expose OpenXRInteractionProfileMetadata singleton
- OpenXR: Add eye-tracked foveation setting, and enable subsampled images by default
- Make OpenXR Spatial Entities easier to extend
- Disable the WebXR module if proxy_to_pthread is enabled
- Fix disable_xr=yes disabling the WebXR module
- Update default OpenXR action map
- Rename 'name' in XRController3D signal parameters
- OpenXR: Fix composition layers with Vulkan subsampled images
- OpenXR: Fix XR_ERROR_VALIDATION_FAILURE on first frame with frame synthesis on Meta Quest
- Fix a crash when spatial entity marker trackers are detected
OperaOpera 132.0 Build 5905.73 (64-bit)
LDPlayerLDPlayer - Android Emulator
PhotoshopAdobe Photoshop CC 2026 27.7 (64-bit)
BlueStacks AIBlueStacks AI
NitradoNitrado - Rent a Gaming Server
CapCutCapCut Desktop 8.7.0
PC RepairPC Repair Tool 2026
Hero WarsHero Wars - Online Action Game
TradingViewTradingView - Trusted by 100 Million Traders
Forza HorizonForza Horizon 6



Comments and User Reviews