mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
401 KiB
401 KiB
Changelog
This file lists all changes made between the current feature branch and the previous feature release. It is equivalent to the listings on our interactive changelog.
Changelogs for earlier feature releases are available in their respective Git branches, and linked at the end of this file.
4.3 - 2024-08-15
Table of contents:
- 2D
- 3D
- Animation
- Assetlib
- Audio
- Buildsystem
- C#
- Codestyle
- Core
- Documentation
- Editor
- Export
- GDExtension
- GDScript
- GUI
- Import
- Input
- Multiplayer
- Navigation
- Network
- Particles
- Physics
- Plugin
- Porting
- Rendering
- Shaders
- Tests
- Thirdparty
- XR
2D
- Add temporary pivot for rotating multiple 2D nodes (GH-58375).
- Reorganize some code to have 2D things grouped together (GH-66744).
- Add option to toggle visibility of Position gizmos in 2D editor, organize existing options (GH-75005).
- Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D (GH-78378).
- Organize 2D audio, camera, and physics in Viewport (GH-79183).
- Extend minimum/maximum zoom level of TextureRegion editor (GH-79436).
- Add tooltips for tile source types (GH-79918).
- Add Texture2D and Texture3D icons (GH-81169).
- Add a button to clear curve points in the Path2D editor (GH-81325).
- Improve UV editor zoom behavior (GH-83731).
- Fix UV editor not using texture transform (GH-84076).
- Fix slow raycast editing (GH-84164).
- Add zoom controls to Sprite2DPlugin converter preview (GH-84353).
- Select newly added nodes on drag and drop in 2D viewport (GH-84356).
- Fix generating terrain icon with certain image formats (GH-84507).
- Move tile transforms handling cache to TileData (GH-84660).
- Add region rect and frames support to Sprite2DPlugin converter (GH-84754).
- Fix typo in TileMap editor tooltip (GH-85452).
- Keep scene tiles even if the TileMap is invisible (GH-85753).
- Move TileMapLayer to its own files (GH-85791).
- Add descriptions for tile properties (GH-85868).
- Fix TileMap occluders (GH-85893).
- Change suffix of SkeletonModification2DTwoBoneIK from m to px (GH-86056).
- Reset TileMap editor
drag_type
when the toolbar mode is not selected (GH-86066). - Fix
UndoRedo history mismatch
when creating a new tile atlas (GH-86387). - Fix potential infinite loop when calculating tile editor zoom level (GH-86568).
- Tweak tile atlas help label positions (GH-86694).
- Allow
ui_cancel
to unselect all nodes in all edit modes in 2D, matching 3D behavior (GH-86805). - Fix
TileMap
quadrant canvas item position not being local (GH-86847). - Fix 2D viewport texture drop issue with global history registration (GH-86933).
- Made tooltip on
TileSet
Paint Button give more information when disabled (GH-86947). - Add
CanvasItem::get_canvas_layer_node()
(GH-87095). - Make TileMapLayers extend Node2D and work as children of TileMap (GH-87115).
- Fix some
TileMap
debug drawing truncating to ints (GH-87160). - Remove unnecessary
_set_global_invalid
added by mistake (GH-87328). - Update the viewport if CanvasItem top level is changed (GH-87343).
- Change TileMapEditor to TileMapLayerEditor (GH-87379).
- Add new Parallax2D node (GH-87391).
- Editor: Fix threading problems with
TileMap
preview (GH-87470). - Prevent threading problems in
TileMap
(GH-87478). - Fix
Camera2D
is enabled when dragging scene files to theCanvasItemEditor
(GH-87743). - Fix
TextureRegionEditor::_pan_callback
deferred called with only one argument (GH-87771). - Fix duplicating/copying
TileMap
(GH-88105). - Fix
TileMap::move_layer
incorrectly moving childTileMapLayer
nodes (GH-88157). - Fix regression where a tile's custom material was ignored (GH-88190).
- Fix
CanvasItem
/Node3D
editor plugin drag drop transform calculation (GH-88279). - Fix TileSet sources duplication (GH-88280).
- Tweak TileMap editor's missing source message to use "bottom panel" term (GH-88290).
- Make TileMapLayers internal (GH-88378).
- Remember frames when selecting
SpriteFrame
frames (GH-88413). - Expose pixel snapping settings add pixel-art notes (GH-88456).
- Fix a memory leak with TileMap runtime updates (GH-88629).
- Show instantiating or inherit message when using drag to instantiate in 2D (GH-88829).
- TileSet: Fix crash when deleting dragged polygon point (GH-88912).
- Remove almost all remaining dependencies of TileMapLayer on TileMap (GH-88966).
- Disable lock and group buttons when selected item is not CanvasItem (GH-88997).
- Fix editor crash when unsupported
Resource
is dropped in scene (GH-89126). - Update lock and group button state when selection changed in CanvasItemEditor (GH-89132).
- Expose TileMapLayer (GH-89179).
- Make CanvasItem's "drawing outside of NOTIFICATION_DRAW" error a macro (GH-89298).
- Fix center view button appears outside the GenericTilePolygonEditor (GH-89434).
- Fix call queue problems when loading TileSet (GH-89493).
- Avoid passing zoom scale for ParallaxLayer mirror (GH-89572).
- Account for scale in scroll logic for
Parallax2D
(GH-89627). - Fix Path2D's add new point's UndoRedo bug (GH-89874).
- TileSet: Expose
TileData.is_valid_terrain_peering_bit
(GH-89911). - Replace Clipper1 library by Clipper2 library (GH-90153).
- Ensure
Camera2D.position_smoothing_speed
is non-negative (GH-90167). - Correctly update TileMapLayer highlighting when disabling it (GH-90204).
- Fix "no cached rect" errors in TileMapLayer editor (GH-90207).
- Fix strange visual bug with camera and external change (GH-90317).
- TileSet: Don't save angular and linear physics velocities if they have their default values (GH-90384).
- Fix selection rect drawing in
TileSet
editor when create/remove tiles with separation (GH-90709). - Fix rendering transform of Y-sorted branch-root (GH-90749).
- Fix TileMap enabling Y-sort on child nodes (GH-90752).
- Reuse single erase pattern in tile editor (GH-90817).
- Editor: Fix crash when editing TileMap (GH-90849).
- Don't store TileMapLayer data if empty (GH-90907).
- Fix typo in Camera2D node's anchor mode (GH-91076).
- Fix Parallax2D physics interpolation (GH-91706).
- Add support for AtlasTexture in
draw_polygon()
(GH-91724). - Fix 2d editor selection persisting after application loses focus (GH-91732).
- Fix TileMap selection pattern being needlessly reorganized (GH-91905).
- Allow selecting TileMapLayers by clicking them (GH-92016).
- Fix tile polygon grid not covering whole tile (GH-92171).
- Remove some TileMap dependencies from TileMapLayer (GH-92194).
- Display custom data name instead of indices in TileData inspector (GH-92322).
- Fix TileSet caching wrong collision layer shapes for shapes comprising several polygons (GH-92373).
- Optimize usage of position icon in 2D editor (GH-92392).
- Fix incorrect cull boundary for scaled and repeated Parallax2D children (GH-92763).
- Implement X-draw-order switch in TileMapLayer (GH-92787).
- Make texture filtering in TileAtlasView consistent (GH-92926).
- Update Camera2D gizmos when screen size changes (GH-92992).
- Fix tile polygon editor grid and missing update (GH-93047).
- Allow canceling actions in Path2D editor (GH-93087).
- Store TileMapLayer selection in scene's history (GH-93475).
- Fix snapping lines don't disappearing after drag anchors (GH-93527).
- Fix TileSet property painter popup showing clear color (GH-93609).
- Prevent selecting when a CanvasItem is selected (GH-93671).
- Fix some TileMapLayer editing problems (GH-93747).
- Fix RMB erasing of tiles (GH-93850).
- Fix crash in tile physics editor (GH-93971).
- Fix crash in the TileMapLayer editor when using editable children (GH-93974).
- Add pixel snap for
Parallax2D
(GH-94014). - Remove unused assignment in Parallax2D (GH-94035).
- Fixes/node configuration warning dialog text (GH-94147).
- Make sure that selected tile source is remembered (GH-94356).
3D
- Fix PathFollow3D update issues (GH-80233).
- Make ShaderMaterial always the last option in inspector resource dropdowns (GH-81996).
- Prompt require editor restart to user when gizmo color changed (GH-82872).
- Reduce minimum capsule/cylinder mesh rings to 0 (GH-82887).
- Expose 3D Delaunay tetrahedralization in
Geometry3D
(GH-83353). - Improve Curve3D debug drawing (GH-83698).
- Optimize Path3DGizmo mesh generation (GH-83741).
- Use screen-aligned quads for origin lines to avoid issues on NVidia (GH-83895).
- Select newly added nodes on drag and drop in 3D viewport (GH-84347).
- Fix material drag and drop (GH-84486).
- Fix
Node3D
children usingtop_level
in different position in-editor versus runtime (GH-84643). - Only allow MeshInstance3D-inherited nodes in MultiMesh Populate Surface dialog (GH-84933).
- Notify CSGPolygon about transform changes in Path3D (GH-85455).
- Prevent
Camera3D.current
from being set totrue
automatically in the editor (GH-85594). - Add static body creation equivalent for all collision shape sibling creations (GH-86627).
- Clarify the FOV setting in the 3D editor camera is vertical FOV (GH-86690).
- Fix AABB Ray intersection - return inside (GH-86755).
- Prevent division by 0 when creating vertices of a PrismMesh (GH-86931).
- Use SceneStringNames in Skeleton3DEditorPlugin (GH-87048).
- Fix position and basis of 3D Scenes instantiated via drag and drop (GH-87126).
- Properly change GridMap floors while selecting (GH-87131).
- Do not commit transforms and handles if no changes were made (GH-87161).
- Rename camera
near
andfar
private members to avoid conflict withWindows.h
defines (GH-87164). - Show warning for GeometryInstance3D transparency in Mobile/Compatibility (GH-87231).
- Make viewport message dependent on framerate not physics step (GH-87631).
- Fix a regression that breaks gizmo transforming when 'View Gizmos' is off (GH-87769).
- Use subgizmos for Path3D position editing and declutter the UI (GH-87901).
- Fix a regression when multiple nodes are selected and drag transform is attempted w/o gizmo (GH-87922).
- Fix new region select with selection when over geometry (GH-87948).
- Show modifier key functionality on all the editor tools (GH-87989).
- Add ability to hide grid per viewport (GH-88584).
- Fix 3D editor project settings update (GH-88645).
- Show instantiating message with position when using to drag to instantiate in 3D (GH-88774).
- Include tangent in SurfaceTool vertex compare operator (GH-88890).
- Don't access Node3D/Node2D/Control global transform in
reparent
unless needed (GH-89003). - Make
Label3D
obey auto translation (GH-89056). - Expose PrimitiveMesh's
request_update
method (GH-89170). - Match #89126 for 3D: check for
Resource
type instead of extension (GH-89177). - Use 3D editor gizmo helper for FogVolume to allow dragging individual faces (GH-89320).
- GLTF export: Remove snapping and fix validation (GH-89352).
- GLTF export: Use sparse accessors for morph targets (GH-89356).
- Disable all 3D nodes, physics, and resources when compiling without 3D (GH-89381).
- Add Gizmo to display 3D custom AABB (GH-89538).
- UX and stability improvements for
Path3D
node (GH-89847). - Fix Path3D picking working incorrectly when viewport is in half resolution (GH-89901).
- Support "clear points" function in Path3D topmenu bar (GH-89933).
- Allow wrapping for begin rotate transformation to bring it in line with Blender (GH-90098).
- Allow drag and dropping ShaderMaterial in 3D viewport (GH-90102).
- Fix gizmo on top material option having no effect (GH-90183).
- Fix 3d axes flickering in the negative direction when extremely zoomed out (GH-90255).
- Fix
Node3D.set_global_rotation()
resetting node scale (GH-90584). - Fix
RayCast3D
's debug draw transform not updating (GH-90800). - Expose
create_from_arrays
in SurfaceTool and cleanup some naming (GH-90834). - Subscribe to correct tracker signals (GH-91031).
- Fix
Path3D
tilt gizmo raycasting against local plane (GH-91109). - Simplify the GPUParticles3D editor gizmo to improve readability (GH-91226).
- Add MultiNodeEdit support to MeshInstance3D editor (GH-91620).
- Disallow selection of ownerless nodes (GH-92188).
- Fix bounding box glitch (GH-92275).
- Fix null
debug_shape
being updated whenCollisionObject3D
's transform changed (GH-92302). - Make CSG shape dirty after changing Snap (GH-93242).
- Improve
SurfaceTool::generate_tangents
UV error message (GH-93326). - Fix invalid inheritance of
OccluderInstance3D
(GH-93354). - Fix Subviewport keeps using removed Camera3D child (GH-93377).
- Fix crash in Node3DEditorViewport selecting on empty scene (GH-93404).
- Improve viewport rotation gizmo drawing (GH-93639).
- Add alternative shortcut for Align Transform to View in the 3D editor (GH-93675).
- Fix "selectable nodes at position clicked" feature in 3D editor (GH-94387).
Animation
- Autocomplete properties in
tween_property
(GH-76591). - Add useful functions to
FilterEdit
inAnimationBlendTreeEditor
(GH-76654). - Simplify right-click track insertion code (GH-80860).
- Fix reset value when adding new Bezier track (GH-82012).
- Add
set_custom_interpolator()
to PropertyTweener (GH-82306). - Refactor function
calculate_length_and_rotation()
from Skeleton2D (GH-83397). - Fix setting bezier track handle mode from inspector (GH-83533).
- Make AnimationPlayerEditor read-only edit rules more permissive (GH-84268).
- Fix errors and warnings when loading Skeleton2D Modifications (GH-84474).
- Make AnimationTree reference AnimationPlayer instead of AnimationMixer (GH-84583).
- Replace memory allocation point of ValueTrack correctly in AnimationMixer (GH-85001).
- Fix imported track flag on sliced animations (GH-85061).
- Improve usability of zooming in the animation editor (GH-85142).
- Fix custom type icon sizes in animation tracks (GH-85367).
- Prevent a crash when calling
AnimationMixer::restore
with an invalid resource (GH-85428). - Add multi-selection for
SpriteFramesEditor
(GH-85494). - Copy track update mode when adding reset key (GH-85540).
- Fix AnimationPlayer seeking for Discrete keys (GH-85569).
- Make unstore AnimationLibrary if AnimationTree is assigned AnimationPlayer (GH-85575).
- Fix Tween loop initial value (GH-85681).
- Remove differences of the code between old AnimationTree and AnimationMixer (GH-85794).
- Fix linear interpolation not working with mixed (int/float) keyframes (GH-86046).
- Fix animated tile random start time not scaled to animation duration (GH-86210).
- Make default
blend_left
consider current blend amount (GH-86221). - Fix discrete key retrieval method after start (GH-86227).
- Fix
blend_node
crash with invalid AnimationNode reference (GH-86321). - Add
cubic_interpolate_in_time_variant()
to Animation (GH-86601). - Add some options to Project Settings to silence warnings in AnimationMixer caching (GH-86608).
- Add a
CallbackModeDiscrete
property toAnimationMixer
to handle the case of blending Continuous and Discrete tracks (GH-86629). - Make default options of int value track refer to RESET animation (GH-86630).
- Fix some animation state corruptions on activate and reset on save (GH-86644).
- Fix invalid 3-to-4 renames of
add_animation
toadd_animation_library
(GH-86647). - Make the retrieval of audio tracks consistent and implement trimming to AnimationTrackEditor shortcut and clean-up (GH-86661).
- Fix TrackCache conflict when tracks have same name but different type (GH-86687).
- Add
AnimationMixer::capture()
andAnimationPlayer::play_with_capture()
as substitute of update mode capture (GH-86715). - Add autocompletion options for AnimatedSprite's other play methods (GH-86733).
- Add icon, tooltip, rename button in AnimationLibraryEditor for clarity (GH-86736).
- Add autocompletion for SpriteFrames' methods (GH-86754).
- Add autocompletion for AnimationLibrary & AnimationMixer's methods (GH-86799).
- Copy InterpolationType / LoopMode for all track & UseBlend option for audio when adding reset keys (GH-86867).
- Add Autocompletion for AnimationNodeStateMachine & AnimationNodeBlendTree (GH-86884).
- Add autocompletion to AnimationNode (GH-86888).
- Skeleton3D: Convert 3.x skeletons (GH-87050).
- Add auto fit timeline and bezier scale on animation editor (GH-87078).
- Rework AnimationNode process for retrieving the semantic time info (GH-87171).
- Implement consistent functionality for select, copy, paste, and duplicate in AnimationPlayer (GH-87250).
- Fix passing int to tween's
from
with float property will be forced to interpolate as int (GH-87459). - Allow
Node.create_tween()
outside SceneTree (GH-87701). - Fix cubic interpolation wrong argument for the time (GH-87772).
- Fix quaternion keyframe optimization for collinear rotation over 180 degrees (GH-87817).
- Fix vertical zoom factor in Animation Bezier Editor (GH-87857).
- Fix unintentional translations in AnimationTree (GH-87887).
- Implement a base class
SkeletonModifier3D
as refactoring for nodes that may modifySkeleton3D
(GH-87888). - Fix converted 3.x
Skeleton3D
missing pose (GH-88009). - Fix wrongly named compat binding (GH-88110).
- Improve AnimationMixer warnings (GH-88247).
- Remove unused signals in AnimationBezierTrackEdit (GH-88302).
- Implement Cut Selected Keys in AnimationPlayer (GH-88350).
- Fix Bezier Editor HandleMode UndoRedo History mismatch (GH-88352).
- Fix Bezier Editor throwing error when adding key with Ctrl+Click (GH-88360).
- Fix various bugs in Animation key right click actions (GH-88445).
- Fix crash with animation audio track offset (GH-88446).
- Fix Animation Bezier Editor key selection bugs (GH-88459).
- Fix some conditions for BezierTrack to distinguish between ValueTrack (GH-88488).
- Make
ANIMATION_CALLBACK_MODE_DISCRETE_DOMINANT
be default for AnimationPlayer (GH-88492). - Fix snapping multiple keys in Animation (GH-88498).
- Fix AnimationMixer breaking animations with redundant check (GH-88557).
- Force non-numeric ValueTrack to use Discrete with Dominant (GH-88661).
- Make
Skeleton3D::add_bone
return the new bone index (GH-88791). - Add new scene import option to import as Skeleton (GH-88819).
- Retargeting option to use a template for silhouette (GH-88824).
- Improvements to
Tween
memory management (GH-88856). - Fix
BoneAttachment3D
responding to only local transform changes (GH-88884). - Fix animation player error dialog focus (GH-88926).
- Fix wrong line of making flag to discrete in AnimationMixer (GH-89329).
- Make AnimationMixer consider Discrete for RESET track (GH-89389).
- Move the line of infinity loop checking in AnimationStateMachine (GH-89575).
- Add option to import skeleton rest as RESET animation (GH-89629).
- Fix AnimationPlayer pin behavior (GH-89732).
- Fix SpriteFrames editor visibility problems (GH-89754).
- Fix AnimationPlaybackTrack seeking behavior overall (GH-89794).
- Expose
SkeletonProfile.set/is_required
(GH-89970). - Fix setting animation save paths on import breaking on Windows (GH-90003).
- Fix loop condition in bone mapping (GH-90019).
- Add tips detection to auto mapping in bone mapper (GH-90050).
- Apply "Remove Immutable Tracks" after post-import (GH-90064).
- Remove unavailable property binding
reset_on_save
from Skeleton3D (GH-90231). - Fix Skeleton3D build error with
deprecated=no
(GH-90308). - Separate value/bezier track caching process in AnimationMixer (GH-90438).
- Static allocation bones copy for SkeletonModifier (GH-90517).
- Remove
bone_pose_updated
signal and replace it with theskeleton_updated
signal (GH-90575). - Add SkeletonIK3D
get
/set_interpolation
compat from #87888 (GH-90780). - Set animation step from importers. Increase default step from 10 to 30FPS (GH-90894).
- Make seeking animation playback track consider internal seeking (GH-90960).
- Modify allocation process of the PhysicalBoneSimulator in Skeleton3D (GH-91122).
- Make adding track process to set interpolation type on creating RESET (GH-91237).
- Make activating on ready in AnimationPlayer respect the property value (GH-91242).
- Add
auto_capture
option to AnimationPlayer (GH-91437). - Add argument options to AnimationPlayer for auto capture (GH-91481).
- Avoid incorrect computing anchor of Control node when reset on save with
saving
flag (GH-91495). - Allow users to override
SkeletonModifier3D._process_modification
(GH-91507). - Editor: Don't open
AnimationLibrary
as a scene (GH-91522). - Make retarget keep global rest of unmapped bones if there are no mapped bones on the child (GH-91560).
- Make silhouette fixer option visibility dependent on availability (GH-91641).
- Invert start offset on AnimationNode custom timeline (GH-91822).
- Fix errors on pressing autoplay in sprite frames editor (GH-91830).
- Fix wrong usage of
parameters_base_path
StringName (GH-91944). - Skeleton rest fixer: Apply orthonormalized scale to anims (GH-92012).
- Fix Deterministic blending with Dominant/Recessive doesn't have initial value even if there is no Discrete track (GH-92126).
- Replace List with LocalVector on Skeleton3D's bone transform update (GH-92164).
- Support Import As Skeleton Bones on glTF and AnimationLibrary import (GH-92196).
- Fix mesh instance not updated when changing blend shape values (GH-92244).
- Add
bake_fps
for FBXDocument, GLTFDocument and both import-export (GH-92284). - Fix animation player controls being enabled when no player is selected (GH-92473).
- Fix error after create a new animation in an empty AnimationPlayer (GH-92495).
- Add blend point check to
AnimationNodeBlendSpace2D::_process()
(GH-92636). - Fix unstable AnimationTrackEditor snapping value (GH-92670).
- Fix BlendSpace2D sync flagging line (GH-92739).
- Fix shader for SkeletonGizmo to follow renderer's reversed-z change (GH-92774).
- Fix seeking Animation immediately after playback for Discrete track (GH-92861).
- Don't allow creating invalid RESET keys (GH-92870).
- Expose
get_skeleton()
fromSkeletonModifier3D
(GH-92896). - Add
get_concatenated_bone_names()
toSkeleton3D
forSkeletonModifier3D
's enum hints (GH-92925). - Fix unbound child bones of the PhysicalBone aren't modified (GH-92931).
- Restore "Confirm Insert Track" editor setting (GH-92985).
- Fix force continuous with un-interpolatable value is not applied correctly (GH-93185).
- AnimationTrackEdit: Cancel key drag when popup is shown (GH-93257).
- Fix displaying selected Bezier animation keys in inspector (GH-93408).
- Reset when disabling override pose in BoneAttachment3D (GH-93482).
- Fix animation Bezier editor crash when using undo after deleting AnimationPlayer (GH-93492).
- Optimize update flag by SkeletonModifier (GH-93502).
- Rework migration of
animate_physical_bones
for compatibility (GH-93504). - Make AnimationTrackCaches invalid when animation is added (GH-93505).
- Fix
AnimatedSprite2D/3D::play
using wrongend_frame
when playing backwards (GH-93548). - Revert the default InterpolationType with angle property to Linear (GH-93696).
- Fix Bezier track init value on caching without RESET animation (GH-93785).
- Fix sprite frame editor crash with null
frames
pointer (GH-93846). - Fix inconsistent behavior of Bezier editor undo operations upon selection of different animation (GH-93860).
- Fix AnimationPlayer
blend_times
sorting (GH-93876). - Clamp bezier handle length to half the length of animation (GH-93930).
- Fix broken sync between animation TrackEditor and PlayerEditor (GH-93980).
- Fix property type of Sprite3D
frame_coords
to Vector2i from Vector2 (GH-93982). - Fix focus shortcut when in the bezier curve editor (GH-94054).
- Re-add
Skeleton3D::animate_physical_bones
property (GH-94291). - Fix the behavior of after selecting animation on AnimationPlayerEditor to reset position to
0
(GH-94302). - Fix StateMachine process when transition to end & optimize StringName (GH-94304).
- Handle internal seek on AnimationPlayer to process discrete correctly (GH-94420).
- Add approximate comparing static methods to Animation and make Animation code use them (GH-94554).
- AnimationMixer: Fix
processed_hashes
type toAnimation::TypeHash
instead ofint
(GH-94722). - Fix BlendShapeTrack insertion not working (GH-94738).
- Determine
break_loop_at_end
1 frame earlier using prediction by delta (GH-94858). - Make NodeTimeInfo be not stored in tscn to prevent AnimationTree version control contamination (GH-94859).
- Snap current position to the edge on animation finished (GH-95023).
- Fix crash on reimport scene with animations (GH-95084).
- Make
Skeleton3D
bone simulator an internal child (GH-95239). - Make
Animation::capture_included
read-only (GH-95377). - Editor: Fix missing bind for animation editor callback (GH-95400).
- Prevent to seek doubly on AnimationPlayerEditor (GH-95405).
- Editor: Fix
AnimationTrackEditor::timeline_changed
signal (GH-95481).
Assetlib
- Improve error reporting in the asset library and in related types (GH-87628).
- Fix broken layout of asset library page (GH-88761).
- Rename Official support level to Featured in the editor asset library (GH-89987).
Audio
- Add interactive music support (GH-64488).
- Overhaul AudioStreamPlayer's documentation (GH-81858).
- Fix importing WAV files with odd chunk sizes (GH-85556).
- Fix permanently selected audio bus effects (GH-85879).
- Fix
OggPacketSequencePlayback::next_ogg_packet()
never returning false (GH-85996). - Implement audio stream playback parameters (GH-86473).
- Optimize
AudioServer::_driver_process()
(GH-86581). - Fix
AudioServer::start_playback_stream
does not iterate through given bus volumes (GH-86584). - Add autocompletion for ClassDB & AudioServer (GH-86777).
- Fix playback position label update in Audio Stream Importer (GH-86824).
- Fix member names of
AudioFrame
to match extension (GH-87006). - Fix Dummy audio driver initialization issue on WASAPI output device initialization failure (GH-87010).
- Add AudioStreamPlayerInternal to unify stream players (GH-87061).
- Fix a possible crash when importing an OGG file with zero-length packets (GH-87246).
- Fix AudioStreamPlayer3D autoplay and internal notifications (GH-87732).
- Fix wrong process method in AudioStreamPlayer (GH-87830).
- Fix data race regarding
prof_time
inAudioDriver
andAudioServer
(GH-88005). - AudioEffectPitchShift: Prevent negative size memset (GCC warning) (GH-88509).
- AudioEffectPitchShift: Actually fix
-Wstringop-overflow warning
(GH-88658). - Fix low volume sound output on iOS when Play and Record category is used (GH-89006).
- WAV importer: Use cubic interpolation on resampler (GH-89071).
- Add AudioEffectHardLimiter as a rework of audio limiter effect (GH-89088).
- Fix audio crackling issues due to incorrect WASAPI buffer size (GH-89283).
- Prevent crash in interactive playback (GH-90481).
- Move MIDI parsing up from ALSA driver to platform independent driver (GH-90485).
- Check for NaN in
set_volume_db
functions (GH-90861). - Add QOA (Quite OK Audio) as a WAV compression mode (GH-91014).
- Don't ignore
audio/driver/output_latency.web
(GH-91141). - Add sample playback support for Web exports (GH-91382).
- Use data length on QOA checks instead of min size (GH-91714).
- Fix error in AudioStreamPlayer2D (GH-91929).
- Use COM smart pointers in WASAPI driver (GH-91975).
- Fix polyphonic audio streams with id > 1 cannot be stopped or changed (MSVC mis-optimization) (GH-93120).
- Fix pausing issues when using Web Audio samples (GH-93362).
- Remove superfluous non-working sample playing check (GH-93428).
- Add vertical separation to audio bus (GH-93507).
- Fix Web samples finished missing signal (GH-94044).
- Fix audio samples not being able to be "finished" (GH-94268).
- Fix new stream types
mix()
not returning 0 when inactive (GH-94514). - Fix typo that prevented samples finishing (GH-94800).
- Web: Gracefully handle non-finite audio volumes (GH-94869).
- Expand columns in the audio interactive transition editor (GH-95134).
- AudioStreamPolyphonic: Implement stopping with sample playback (GH-95321).
Buildsystem
- Add option in SCons to clone env variables (GH-70770).
- SCons: Add
stack_size
anddefault_pthread_stack_size
options to Web target (GH-75166). - SCons: Add
-ffile-prefix-map
GCC/Clang option to make debug file paths relative (GH-78232). - MinGW: Force separate debug symbols if executable size is larger than 1.9 GB (GH-79875).
- Remove lgtm.yml since LGTM is now replaced by Github Code Scanning (GH-81874).
- Identify pull request builds from GitHub Actions with the PR number (GH-83448).
- CI: Enable ANGLE static linking (GH-84175).
- Add
generate_apk=yes
to generate an APK after building (GH-84440). - Use Python venv if detected when building VS project (GH-84593).
- Only build glslang if Vulkan or Direct3D 12 rendering is enabled (GH-84613).
- Add parameter to allow generation of the Godot native shared libraries from gradle (GH-84674).
- New Visual Studio project generation logic that supports any platform that wants to opt in (GH-84885).
- Alias
platform=javascript
SCons option toplatform=web
(GH-84979). - SCons: Add two new
COMSTR
environment variables (GH-85153). - SCons: Update mypy (GH-85192).
- Run
Clean
in Windows SCsub to clean up debug files (GH-85197). - macOS: Check Apple specific version instead of generic clang version (GH-85206).
- SCons: Change
Environment
type hints toSConsEnvironment
(GH-85322). - Fix the Web platform team's codeowners link (GH-85746).
- Refactor and fix
make_virtuals.py
(GH-85770). - Fix invalid Python escape sequences (GH-85818).
- Instruct users to add code/errors as text in issues (GH-86006).
- Set what were default values for Web platform linker flags
-sSTACK_SIZE
and-sDEFAULT_PTHREAD_STACK_SIZE
(GH-86036). - D3D12: Add missing DLL architecture paths for the 32-bit builds (GH-86107).
- Mention
etcpak
changes in thirdparty/README.md (GH-86236). - [iOS/macOS] Add option to automatically build (and sign / archive) bundles (GH-86255).
- Allow detecting when building as an engine module (GH-86269).
- Fix Clang
-Winconsistent-missing-override
warning (GH-86392). - Add a python script to install Direct3D 12 SDK components (GH-86717).
- Fix some build errors with
disable_3d=yes
(GH-86874). - SCons: Fix
CCFLAGS
,LINKFLAGS
, etc. command line overrides (GH-86964). - Add
tests/python_build
to clang-format pre-commit hook ignore list (GH-87000). - Revamp
godot.natvis
to improve VS debugging experience (GH-87053). - SCons: Silence redundant MSVC output (GH-87154).
- makerst: Suggest using
[code skip-lint]
to skip warnings if intended (GH-87218). - Windows: Remove
dxc_path
check (GH-87247). - macOS: Fix MoltenVK SDK detection after file location changes in 1.3.275.0 (GH-87305).
- Update Android dependencies for the project (GH-87346).
- iOS: Update linker flags for Xcode 15.2 (GH-87358).
- Linux: Add support for PCK embedding section with non GNU-ld linkers (GH-87464).
- CI: Update
mymindstorm/setup-emsdk
to v14, should fix cache folder conflicts (GH-87575). - SCons: Fix Windows cross-compilation from Linux after #86717 (GH-87609).
- SCons: Add proper MinGW support to D3D12 deps install script (GH-87619).
- D3D12: Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in (GH-87624).
- Undefine yet another macro from Windows headers (GH-87627).
- Avoid non-constant-expression cannot be narrowed on Windows on mingw (GH-87720).
- Use raw strings for D3D12 install messages (GH-87734).
- Wayland: Disable backend at build-time if wayland-scanner is missing (GH-87765).
- Fix
godot.natvis
after CowData 64-bit promotion (GH-87848). - CI scripts: Fix
printf
for format checks (GH-87864). - Add basic Emacs
.gitignore
entries (GH-87878). - macOS: Check Vulkan SDK version when looking for MoltenVK libs (GH-87960).
- Fix emscripten 3.1.51 breaking change about
*glGetProcAddress()
(GH-87981). - Web: Bump closure compiler spec to
ECMASCRIPT_2021
(GH-88010). - SCons: Fix incremental builds breaking when querying the dependency tree from a SCsub (GH-88025).
- Silence wayland-scanner check in buildsystem (GH-88028).
- SCons: Use r-strings for wayland-scanner builder command (GH-88134).
- Add first interaction action to better inform newcomers (GH-88137).
- Remove 3.x references in the pull request template (GH-88159).
- Visual Studio: Don't override user options. Add additional vs hint information (GH-88244).
- C#: Let platforms signal if they support the mono module or not (GH-88245).
- Visual Studio: Fix user workflows with custom user VS configurations (GH-88253).
- Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport (GH-88270).
- Fix gradle build errors when the build path contains non-ASCII characters (GH-88304).
- Always enable debug symbols when developing with Android Studio (GH-88382).
- Fix running tests in template builds (GH-88452).
- Fix formatting in bug report template (GH-88457).
- Windows: Make D3D12 loading dynamic to support pre-Windows 10 versions (GH-88496).
- Disable the crash handler if
execinfo=no
scons option is set (GH-88520). - OS_LinuxBSD: Add missing RenderServer include for
get_video_adapter_driver_info
(GH-88525). - Add
WASM_BIGINT
linker flag to the web build (GH-88594). - CI: Update actions to latest versions, use default runner .NET version (GH-88671).
- Fix some additional errors with 3D disabled (GH-88704).
- Replace hand-written pre-commit hooks with
pre-commit
Python tool (GH-88866). - Visual Studio: Improve performance of parsing project file (GH-88949).
- Fix compilation errors when
DISABLE_DEPRECATED
is defined (GH-88958). - Pre-commit: Update to clang-format 17.0.6 and black 24.2.0 (GH-88959).
- Fix linking NavigationServer2D/3D with all classes disabled in build profile (GH-88986).
- macOS: Fix some deprecation warnings (GH-88987).
- SCons: Set
silence_msvc
to false by default (GH-89159). - Fix build on MSVC 2017 (GH-89168).
- Fix POT generation missing some strings when built-in ones are enabled (GH-89227).
- Windows: Avoid
scale_with_dpi
constexpr compiler error (GH-89303). - Fix MoltenVK detection (GH-89327).
- Enforce
\n
eol for Python writes (GH-89333). - SCons: Ensure
with
statement where applicable (GH-89361). - SCons: Convert remaining
run_in_subprocess
toenv.Run
(GH-89365). - SCons: Remove
run_in_subprocess
&subprocess_main
dependencies (GH-89393). - Pre-commit: Fix
copyright_headers.py
to run on all relevant files (GH-89421). - SCons: Enable the experimental Ninja backend and minimize timestamp changes to generated code (GH-89452).
- Fix GCC build warning (GH-89453).
- Fix
compiledb
SCons tool availability (GH-89481). - SCons: Disable verbose output for SCU build (GH-89483).
- CI: Enable submodules on the checkout action (GH-89552).
- Fix some build errors with
disable_3d=yes
(GH-89760). - Fix encoding when reading files (GH-89858).
- CI: Work around diff size limit for static checks (GH-89944).
- CI: Improve fetching of changed files (GH-89980).
- SCons: Fix Ninja compilation with MSVC (GH-90208).
- SCons: Refactor
selected_platform
conditional (GH-90214). - Fix first interaction line breaks (GH-90221).
- Remove buggy first interaction (GH-90261).
- SCons: Ensure all generated files can be cleaned (GH-90270).
- Bump GitHub workflows to SCons 4.7 (GH-90304).
- SCons: Fix SCU build regression on Windows (GH-90450).
- Replace
black
formatter withruff
(GH-90457). - Ensure all Visual Studio files are generated with CRLF (GH-90495).
- mbedTLS: Add patch to fix build errors with some MSVC versions (GH-90535).
- SCons: Silence MSVC output bloat without hiding errors (GH-90551).
- Visual Studio: Fix indentation in sln file, VS is VERY PICKY (GH-90579).
- Fix infinite while loop on empty added file (GH-90588).
- SCons: Fix
silence_msvc
regression (GH-90626). - mbedTLS: Fix build without the module on MinGW (GH-90691).
- SCons: Make new
debug_paths_relative
option opt-in (GH-90692). - Only define
ENGINE_UPDATE_CHECK_ENABLED
in editor builds (GH-90781). - SCons: Convert
env_base
toenv
(GH-90814). - SCons: Utilize native Variable alias functionality (GH-90857).
- SCons: Disable
show_progress
with Ninja (GH-90858). - Web: Fix building for web on Windows (GH-90939).
- SCons: Only use alias if SCons v4.3 or later (GH-91072).
- CI: [macOS] Fix CI with new GitHub runners (GH-91074).
- SCons:
scons_version
to environment variable (GH-91080). - CI: [macOS] Build for both
arm64
andx86_64
(GH-91106). - Web: Fix closure compiler typedef annotation (GH-91202).
- Fix GCC 14
-Wtemplate-id-cdtor
warnings (GH-91208). - SCons: Colorize warnings/errors during generation (GH-91220).
- Add a GDB pretty printer to aid in debugging (GH-91280).
- SCons: Fixes for warn/error colorization (GH-91318).
- Fix for Android build on Windows (GH-91339).
- mbedtls: Disable AESCE on Linux ARM32, doesn't compile on our target arch (GH-91356).
- Fix arm64/Windows build (GH-91360).
- Update dependencies in D3D12 SDK installer script (GH-91416).
- CI: Speedup
pre-commit
static check (GH-91417). - Remove "AnalyzeTemporaryDtors" from clang-tidy file (GH-91559).
- Fix missing space in missing sdkmanager error message (GH-91574).
- CI: Overhaul static checks to use
pre-commit
(GH-91597). - SCons: Generate all scripts natively, implement wrapper function (GH-91624).
- miniupnpc: Disable socket timeout on Windows, matching upstream (GH-91636).
- Fix
builtin_embree=no
build linking the wrong version of Embree (GH-91684). - CI: Use Emscripten 3.1.59 for Web platform (GH-91687).
- SCons: Process platform-specific flags earlier (GH-91791).
- SCons: Preserve
Environment
values when updatingVariables
(GH-91792). - Web: Fix debug symbols in web builds (GH-91800).
- Set
execinfo=no
by default when compiling for Linux/*BSD (GH-91817). - SCons: Bump minimum supported GCC version to GCC 9 (GH-91833).
- CI: Re-add
CHANGED_FILES
logic for pre-commit checks (GH-91835). - Don't define
NO_EDITOR_SPLASH
in export templates (GH-91866). - SCons: Fix generation of
disabled_classes.gen.h
after #91624 (GH-91870). - SCons: Fix
silence_msvc
implementation errors (GH-91890). - thorvg: Disable webp loader if corresponding module is disabled (GH-91901).
- CI: Consolidate pysettings via
pyproject.toml
(GH-91954). - SCons: Add options to override AR, AR and RC flags (GH-91972).
- CI: Fix for jsdoc hook in pre-commit (GH-92013).
- SCons: Minor fixes/adjustments for web compilation (GH-92026).
- SCons: Restore compatibility with SCons < 4.0.0 (GH-92041).
- SCons: Bump min version to 3.1.2, test it on CI with one Linux job (GH-92043).
- SCons: Fix potential Windows ANSI exception (GH-92087).
- SCons: Convert platform
get_flags
to dictionary (GH-92124). - Fix detecting when Gradle is invoked from Studio (GH-92176).
- Pre-commit: Allow adding downstream hooks without (less) risk of conflicts (GH-92204).
- Linux: Enable build config
wayland=yes use_sowrap=no
(GH-92324). - SCons: Fix
RES
race condition (GH-92325). - Fix build with
vulkan=no
andd3d12=no
after #91505 (GH-92364). - Fix use of undeclared identifier
__cpuidex
error on MinGW (GH-92488). - Fix multichar warning in
windows_utils.cpp
(GH-92541). - SCons: Fix
mono
dependency (GH-92661). - CI: Make local python hooks multi-platform (GH-92697).
- CI: Migrate codespell logic to
pyproject.toml
(GH-92728). - Windows: Fix 32-bit MinGW LTO build (GH-92753).
- Style: Optimize
.svg
files viasvgo
; add as pre-commit hook (GH-92766). - Ignore Kate's build file (GH-92803).
- Fix building glslang on platforms without
<filesystem>
(GH-92819). - Android: Change the way
doNotStrip
is set (GH-92859). - Replace deprecated
USE_WEBGL2
linker flag (GH-92988). - CI: Hotfix for build error with newer clang++ (GH-92993).
- Web: Fix thread+dlink builds with emscripten 3.1.61+git (GH-93143).
- Enable usage of asan-enabled versions of prebuilt libraries (GH-93152).
- CI: Add manual pre-commit hook for
clang-tidy
(GH-93271). - Fix building with
use_volk=yes
on MacOS (GH-93331). - Fix not using
encoding="utf-8"
when writing to files or reading from them (GH-93342). - [Windows/ARM64] Fix raycast/embree ARM64 build with LLVM/MinGW (GH-93364).
- [LLVM/MinGW] Fix/suppress DX12 related warnings (GH-93369).
- CI: Keep GHA artifacts for 60 days (GH-93421).
- Remove private glslang include (GH-93471).
- Disable
*glGetProcAddress()
on the web (GH-93489). - Fix type-limits warning in
windows_utils
(GH-93491). - Style: Relocate
godot_gdb_pretty_print.py
(GH-93511). - CI: Add editor target to Android builds config (GH-93553).
- Windows: Fix arch detection via
VCTOOLSINSTALLDIR
if not first inPATH
(GH-93589). - SCons: Fix output with
vsproj=yes
(GH-93753). - Web: Remove unnecessary
EMCC_FORCE_STDLIBS
in dlink builds (GH-93853). - SCons: Don't override cl flags on msvc (GH-94078).
- SCons: Default
optimize
toauto
, fixingtarget
/dev_build
inference for Web (GH-94107). - SCons: Pass optimization flags to the linker too, needed by Emscripten (GH-94109).
- SCons: Fix build fetching
git_timestamp
if gitlog.showsignature=true
(GH-94115). - Fix VS project generation with SCons 4.8.0+ (GH-94117).
- Fix a couple GCC 14
-Wmaybe-uninitialized
warnings (GH-94133). - CI: Upload build cache before running tests (GH-94314).
- CI: Bump SCons version (4.7.0→4.8.0) (GH-94444).
- Windows: Fix release export template build for ARM64 Windows (GH-94533).
- Fix
header_guards.py
so it detects the copyright header properly (GH-94652). - Web: Fix closure compiler builds, enable it in CI (GH-94789).
- Automatically enable
doNotStrip
for dev builds (GH-94887). - Enable ASTC encoder build when building with ANGLE (GH-94903).
- SCons: Load optional ninja tool before setting its options (GH-94993).
- macOS: Fix
generate_bundle
build flag for .NET builds (GH-95189). - CI: Update Emscripten to 3.1.64 (GH-95277).
- Make sure not to generate the compile_commands.json when not asked (GH-95338).
C#
- Add analyzer release tracking (GH-80343).
- Allow Editor to reload external changes of scripts (GH-82113).
- Add unit tests for C# source generators (GH-82955).
- [C#] Enable nullability for variant structs (GH-82980).
- [C#] Enable nullability for variant classes (GH-82983).
- [.NET] Fix serialization of delegates capturing variables (GH-83217).
- Bindings generator langword check (GH-83504).
- Disable "Activate now" when creating addons (GH-83578).
- Use
get_instance_binding
instead of set (GH-84947). - Bump the
JetBrains.Rider.PathLocator
PackageReference to 1.0.8 (GH-85460). - Fix C# script loader does not work reliably (GH-85504).
- .NET: Add a warning in the inspector when properties might be out of sync (GH-85869).
- Allow using
[MustBeVariant]
in generic typed attributes (GH-85908). - Implement function to throw on null pointers (GH-85975).
- Correctly free relevant scripts when closing scene tabs (GH-86008).
- Use string literal instead of nameof (GH-86373).
- Upgrade TFM for
net472
and somenetstandard2.0
projects (GH-86454). - Add unit tests for C# diagnostic analyzers (GH-86528).
- Fix typo in GD0103 error link (GH-86592).
- Add code sample language parity check to
make_rst.py
(GH-86971). - Fix return type hint for methods (GH-86972).
- Enforce globalization code quality rules (GH-87133).
- Enable nullable environment for
GodotTools
(GH-87137). - Provide a roslyn analyzers corresponding to the GD0001 and GD0002 (GH-87253).
- [C#] Fix
Encloses
failing on shared upper bound forAABB
andRect2(I)
(GH-87264). - Use SymbolEqualityComparer (GH-87342).
- Clean a number of C# warnings (GH-87518).
- Fix incorrect GC handle for non-instantiable types (GH-87526).
- Fix sorting for generic types when reloading assemblies (GH-87550).
- Fix not assigning
runtime_initialized
when initializing with AOT (GH-87597). - Fix possible deadlock when creating scripts during a background garbage collection (GH-87669).
- Remove unused code (GH-87679).
- Fix issues for StringName reference in
CSharpInstanceBridge.Get
(GH-87682). - Fix incorrect condition for error filtering (GH-87790).
- Throw exception when solution file is missing during exporting (GH-87829).
- Fix duplicate key issue on reload (GH-87838).
- Improve handling of generic C# types (GH-87890).
- Add
Callable
call_deferred()
C# example (GH-87928). - Disable signal callback generation in C# (GH-87952).
- Fix crash when reloading scripts (GH-88048).
- Fix C# "out of sync" notice with external editors (GH-88076).
- Fix processing exclusions during export (GH-88238).
- Fix missing CowData 64-bit promotion for
PackedInt32Array
(GH-88268). - Run source generators tests in CI (GH-88295).
- Various fixes to generic scripts (GH-88371).
- Match Core implementation of
BinToInt
&HexToInt
(GH-88453). - [.NET] Clean diagnostic rules (GH-88469).
- Fix building OpenVisualStudio executable (GH-88475).
- [.NET] Test and fix exports diagnostics (GH-88495).
- Bump
Rider.PathLocator
nuget version, which provides a fix for detecting Rider installations (GH-88544). - [.NET] Better
.editorconfig
setup inmodules/mono/
(GH-88570). - Fix Script Editor saves C# files as embedded scripts (GH-88692).
- Add deprecated message to generated bindings (GH-88730).
- Revise implementation of C#
Aabb.GetSupport
to match the implementation incore
(GH-88919). - Only check for empty deprecation message if deprecated (GH-88921).
- Move dotnet-format script to pre-commit (GH-88933).
- Fix C# epsilon compiler error on double precision build (GH-88994).
- [.NET] Fix interpolated strings in ScriptPropertyDefVal (GH-89007).
- Hint fallback property as node when it is a node (GH-89175).
- Fix warnings in GodotSharp (GH-89317).
- Implement
InvariantCulture
on Variant strings (GH-89547). - Add property
UsingGodotNETSdk
to Godot.NET.Sdk (GH-89652). - Fix errors when creating
Variant
from null array (GH-89756). - [C#] Fix
Transform3D.InterpolateWith
applying rotation before scale (GH-89843). - Fix regression with C# build editor crash due to
EditorHelpHighlighter
(GH-89861). - Make internal properties and property accessors public (but hidden) (GH-90002).
- Add DebugView for Array and Dictionary, based of the DebugView from the .NET Foundation (GH-90060).
- Fix "Create C# solution" dialog (GH-90118).
- [.NET] Disable output embedding on macOS, move it to the advanced options on other platforms (GH-90422).
- Fix ExprMatch for case sensitive matching (GH-90678).
- Change order of operation for C# types reloading (GH-90837).
- Don't return MethodInfo for overloaded methods (GH-90968).
- Enforce using .NET SDK >= 8 (GH-91079).
- Fill copyright field in .csproj files to ensure that nuget packages will have both license and copyright fields filled (GH-91144).
- Fix
StringExtensions.CompareTo
IndexOutOfRangeException (GH-91203). - Ignore late bound methods in MustBeVariantAnalyzer (GH-91368).
- Fix generator crash w/ generic arrays (GH-91375).
- Fix attributes for
sln
/csproj
files (GH-91479). - .NET: Prevent generating mono glue in project folder (GH-91509).
- [C#] Unexpose
GodotSharp
(GH-91557). - CSharpScript should not own method infos of the base class (GH-91564).
- Fix C# Hint NodeType and ResourceType HintString (GH-91645).
- Specify a runtime rollforward for OpenVisualStudio (GH-91670).
- Fix comparison warnings in
StringExtensions.cs
(GH-91763). - [C#] Remove useless
isFirstEntry
and uselesssource.Append("else ")
(GH-91924). - Fix ContextMenu
Copy Error
is off inMSBuild
Panel (GH-91996). - Skip method name when checking CallError (GH-92800).
- Fix freeze after building C# project with a lot of files (GH-92893).
- Escape generated members (GH-93198).
- macOS: Fix codesigning of .NET helper executables when sandboxing is disabled (GH-94518).
- Replace .NET detection code with
ClassDB::class_exists("CSharpScript")
(GH-94680).
Codestyle
- Move 2D and 3D resources to their own folders (GH-50148).
- Add const lvalue ref to container parameters (GH-51156).
- Use
Packed*Array
overVector<T>
in Variant (GH-67220). - Use
Packed*Array
overVector<T>
in TypedArray (GH-67226). - Add shorthand for using singleton string names (GH-81303).
- Add deprecation notice to a duplicate method of class
Window
(GH-83014). - Move 2D-only and 3D-only navigation code to its own subfolder (GH-83133).
- Add const references in
String
class (GH-84375). - Clean unnecessary copy detected by clang-tidy (GH-84508).
- Remove unnecessary assignments (GH-85071).
- Unify parameter names for RendererCanvasCull (GH-85421).
- Remove GridMap navigation_layers leftover (GH-85447).
- Improve message about resources in use at exit (GH-85464).
- Style: Mark clang-format 16 as supported for pre-commit hook (GH-85837).
- Improve DynamicBVH code to make it clearer how the stack/heap works (GH-86059).
- Update deferred calls to use Callables (GH-86301).
- Fix various spelling errors across engine solution (GH-86787).
- Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const (GH-86907).
- Add const lvalue ref to
core/*
container parameters (GH-86966). - Fix
#if *_ENABLED
inconsistencies, should check if defined (GH-87286). - Simplify RefCounted check in
free()
(GH-87331). - Remove unused
prev_rot
variable (GH-87345). - Null check improvements (GH-87370).
- Replace error checks against
size
withis_empty
(GH-87371). - Remove unnecessary
this->
expressions (GH-87688). - Use
_v
shorthand for type traits andif constexpr
where appropriate (GH-87871). - Add PropertyListHelper in all simple cases (GH-88306).
- Fixed binary representation typo in comment (GH-88326).
- Remove
_HashUnion
fromStringName
(GH-88339). - Core: Codestyle improvements to math types (GH-88467).
- Use
ED_IS_SHORTCUT
macro instead ofmatches_event
(GH-88547). - Remove word duplicates in comments and strings, and fix casing and punctuation (GH-88733).
- Remove self includes in some files (GH-88918).
- Use
Vector*
component-wisemin/max/clamp
functions where applicable (GH-89111). - Core: Move
#includes
fromproject_settings.h
intoproject_settings.cpp
(GH-89113). - Enforce template syntax
typename
overclass
(GH-89270). - Refactor how file cache entries are stored (GH-89301).
- Wayland: Stop unreachable warning (GH-89306).
- clang-tidy: Enforce
modernize-use-nullptr
(GH-89422). - Rename some arguments called "position" (GH-89721).
- Remove pointless
_notification()
function inEditorPropertyOTVariation
(GH-89823). - Add
override
mark to ResourceFormat class (GH-89863). - Android: Remove redundant semicolons from Kotlin/gradle files (GH-90147).
- Update lingering
do/while(0)
defines (GH-90218). - Core: Replace
_NO_DISCARD_
macro with[[nodiscard]]
(GH-90582). - Remove some unused SceneTree properties (GH-90598).
- Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders (GH-90729).
- Rename internal
is_ascii_char
tois_ascii_alphabet_char
(GH-90931). - Redefine
GetSimpleTypeT<>
in terms of<type_traits>
(GH-91104). - Misc code cleanup (GH-91183).
- ResourceImporterWAV: Remove unnecessary var declaration (GH-91214).
- Remove unused variable
Viewport::gui.last_mouse_focus
(GH-91400). - Remove unused code to convert text resource format to binary (GH-91488).
- Replace
find
withcontains/has
where applicable (GH-91619). - Fix various typos with codespell (GH-91650).
- Style: Trim trailing whitespace and ensure newline at EOF (GH-91696).
- Web: Update to eslint 9 (GH-91863).
- Use Core/Scene stringnames consistently (GH-91909).
- Cleanup unused/underused singleton StringNames (GH-91948).
- CI: Fix incorrect executable perms (GH-92053).
- Automatically use property count in PropertyListHelper (GH-92283).
- Replace
.bind(...).call_deferred()
with.call_deferred(...)
(GH-92427). - Style: Change esthetic -> aesthetic (GH-93977).
Core
- Add colors to the command-line help (GH-36252).
- Rename
VariantZeroAssigner
toVariantDefaultInitializer
(GH-59186). - Add
merged
method to allow returning Dictionary after merging (GH-65526). - Fix recursive resource local to scene (array/dictionary properties on resources) (GH-71578).
- Add Unicode support to
String.to_*_case()
methods (GH-75846). - Optimize
Color::find_named_color()
(GH-75860). - Add a
get_or_add
method to Dictionary (GH-78095). - Add SceneTree.get_node_count_in_group() (GH-78206).
- Add typed array support for binary serialization (GH-78219).
- Set language encoding flag when using
ZIPPacker
(GH-78732). - Fix crash caused by stale owner (GH-78997).
- TextServer: Fix
get_word_breaks
and its uses (GH-79054). - Add
--no-header
option (GH-79179). - Expose
Vector*
component-wise and scalarmin/max
to scripting (GH-80223). - Expose
Script.get_global_name()
(GH-80487). - Fix
reparent()
losing owner (GH-81506). - Add
is_valid_letter()
toTextServer
(GH-81639). - Add
NodePath::slice
method (GH-81822). - Merge
uid_cache.bin
andglobal_script_class_cache.cfg
after mounting PCKs (GH-82084). - Help compilers optimize
Object::cast_to()
(GH-82903). - Implement
Vector2i/3i/4i
methods:distance_to
anddistance_squared_to
(GH-83163). - Fix Basis
is_orthogonal
andis_rotation
methods, addis_orthonormal
(GH-83229). - Add
const char *
overloads to String class (GH-84379). - Add const references detected by clang-tidy (GH-84445).
- Optimize
String.humanize_size()
(GH-84462). - Make
varray()
variadic (GH-84581). - Prevent encoding/decoding objects that cannot be instantiated (GH-84611).
- Prevent crash on conversion of invalid data in
Image
(GH-84782). - Fix duplicating sub-scene may get two copies of internal node (GH-84824).
- When saving a resource with an exported typed array, check whether the type is an external resource (GH-85024).
- Prevent copying of
SelfList
andSelfList::List
(GH-85180). - Fix crash when hashing empty
CharString
(GH-85389). - UndoRedo: Fix
MERGE_ALL
commit from repeating actions (GH-85390). - Prevent infinite recursion when printing errors (GH-85397).
- Add
PackedVector4Array
Variant type (GH-85474). - Fix property groups overriding real properties (GH-85486).
- Issue template: Change version field to "Tested versions", asking to test earlier versions (GH-85554).
- Fix RegEx
search_all
for zero length matches/lookahead (GH-85783). - Do not reload resources and send notification if locale is not changed (GH-85787).
- Fix
FileAccessPack::get_buffer
updating position past the length of file (GH-85991). - Fix
RegEx.sub
truncating string whenend
is used (GH-86052). - Include
name
field in MethodInfo operator == (GH-86259). - Add
PackedRealArray
as an alias forVector<real_t>
(GH-86324). - Improve error message in text resource format parser (GH-86350).
- Add and expose Basis/Transform2D/3D division by float operator (GH-86364).
- Suggest
--headless
CLI argument in DisplayServer not found error message (GH-86409). - Fix data race in PagedArray (GH-86412).
- Ensure special characters are escaped in TSCN connections and editable hint (GH-86417).
- Add iteration support to
Array
(GH-86518). - Remove traces of the extinct RID preallocate feature (GH-86570).
- Enhance & fix
WorkerThreadPool
(GH-86587). - Initialize pointers in
a_star.cpp
(GH-86590). - Improve GDExtension Tools Integration with Editor Debug Tooling (GH-86721).
- Promote CowData to 64 bits (GH-86730).
- Optimize comparisons for Object's
get_argument_options
(GH-86743). - Add autocompletion for
Engine.get_singleton
& similar (GH-86753). - Pseudolocalization: Prevent out of bounds reads (GH-86827).
- Avoid regressing in progress reporting in resource load (GH-86845).
- Add autocompletion to
get_node_or_null
(GH-86891). - Fix wrong fail condition in compressed texture's
_set_data
(GH-86950). - Fix ZIPPacker storing file permissions unexpectedly (GH-86985).
- Fix² behavior of ResourceFormatLoader
CACHE_MODE_REPLACE
(GH-87008). - Give EXR saving methods a default value of false like the bindings (GH-87062).
- Fix
AABB.encloses
failing on shared upper bound (GH-87118). - Fix deadlock in
RemoteDebugger::debug
(GH-87169). - Fix inaccuracies in the report of leaked objects (GH-87222).
- Fix renaming a node to the name of its siblings breaking NodePath (GH-87252).
- Fix
resource_local_to_scene
in arrays and dictionaries (GH-87268). - Display values in vector/quaternion math function errors (GH-87300).
- Implement maximum undo steps in UndoRedo (GH-87353).
- Add
--log-file
command line argument to write output log to a file (GH-87373). - Fix property of type Node duplication when script is attached to a child node (GH-87387).
- Explicitly initialize all of
FileAccess::create_func[ACCESS_MAX]
(GH-87389). - Add check for negative
buffer_size
insideStreamPeerGZIP::start_(de)compression
(GH-87448). - Remove now unused
year
member fromversion.py
(GH-87543). - Fix
FileAccessMemory
off by one error ineof_reached
(GH-87571). - Manage time singleton in
register_core_types
(GH-87635). - Add methods to get argument count of methods (GH-87680).
- Fix
ResourceLoader.load_threaded_get_status
returning[0]
constantly in exported projects (GH-87711). - Make Callable
bind
method const (GH-87778). - Improve
CowData
andMemory
metadata alignment (GH-87814). - Implement a XOR operator for BitField (GH-87831).
- Update visuals immediately after resizing
Placeholder*
textures (GH-87854). - Fix
rpc
call from name basedCallable
s (GH-87858). - Extract
SafeBinaryMutex
to separate header (GH-87893). - [TextServer / Font] Do not duplicate images to prevent unnecessary embedding (GH-87971).
- Add newer Variant types to
typed_array.h
(GH-87992). - Expose scene unique id functionality in Resource (GH-88111).
- Link hash table primes externally to prevent data duplication in binary (GH-88178).
- Allow Ref
instantiate
to accept constructor args (GH-88183). - Link
xid_start
andxid_continue
externally to prevent data duplication in binary (GH-88203). - Fix inherited scenes produce errors in editor when
editable_children
is true (GH-88426). - Fix owner when importing meshes (GH-88497).
- Upgrade some array helper classes to 64 bits (GH-88551).
- Improve thread safety of resource loading (GH-88561).
- Enhance cache modes in resource loading (GH-88664).
- Remove spammy dev-mode message about load deadlock prevention (GH-88706).
- Fix shared exported variables of inherited scenes (GH-88741).
- Add all
Viewport.debug_draw
enum options to dropdown (GH-88755). - Image: Add static
is_format_compressed
function (GH-88763). - Fix inefficient list iteration in Node (GH-88785).
- Do overflow check in when generating NoiseTexture3D (GH-88823).
- Add
RandomNumberGenerator::rand_weighted
method (GH-88883). - Fix
RandomNumberGenerator::rand_weighted
return type (GH-89104). - Add scalar versions of
Vector*
min/max/clamp/snap(ped)
(GH-89114). - Save PackedByteArrays as base64 encoded (GH-89186).
- Fix
String::begins_with
when both strings are empty (GH-89194). - Fix sharing of typed arrays from constructor (GH-89197).
- Refactor OS exit code to be
EXIT_SUCCESS
by default (GH-89229). - Clarify bounce and reflect docs and update param names (GH-89404).
- Fix error where update wouldn't reconnect the signal it should have reconnected and led to errors and crash (GH-89447).
- Disconnect one-shot signals before calling callbacks (GH-89451).
- Add output type to DAP
output
events (GH-89475). - Prevent further infinite recursion when printing errors (GH-89490).
- Fix
rand_weighted
not using the current state (GH-89619). - Fix crash on
reparent()
with Node containing internal children (GH-89628). - Fix property access on read-only
Dictionary
(GH-89647). - Stop possible underrun when processing a string (GH-89671).
- Properly skip printing version header with
--no-header
(GH-89679). - Always look for unique node names in owner if not found in owned nodes (GH-89686).
- Fix incorrect file sort method (GH-89857).
- Remove a redundant
MAX
comparison within a loop incompute_image_metrics
(GH-89889). - Return
ERR_UNAVAILABLE
if native dialog is not supported (GH-89902). - Fix regression when duplicating a node with a resource attached (GH-89957).
- Use fixed-width integer types in Variant (GH-89984).
- Fix
ResourceLoader.load
cache with relative paths (GH-90038). - Fix some uses of
float
andreal_t
incore/math
(GH-90063). - Don't allow copying file into its own path (GH-90069).
- Fix load subtask not being registered leading to false progress values (GH-90091).
- Fix
Variant::construct
ofObject
(GH-90134). - Use WorkerThreadPool for Server threads (enhanced) (GH-90268).
- Make InstancePlaceholders in charge of resolving node references in instances (GH-90306).
- IO: Fix marshall decoding when script is NIL (GH-90335).
- Expose
ClassDB::is_enum_bitfield
asClassDB::is_class_enum_bitfield
(GH-90368). - Fix
ZIPReader.get_files()
error on empty zip files (GH-90404). - CommandQueueMT: Fix flush re-entrancy (GH-90470).
- Revert pack trimming introduced by #82084 (GH-90476).
- Use
<type_traits>
where applicable (GH-90540). - Don't print warning messages for DisplayServer functions in headless mode (GH-90549).
- Fix incorrect comparison for
Array
const iterator (GH-90631). - Fix
Window.hide()
crash whenforce_native
changes (GH-90637). - Implement
Object.remove_user_signal(signal: StringName)
(GH-90674). - Fix
RefCounted
handling inmarshalls.cpp
(GH-90693). - Reduce and prevent unnecessary random-access to
List
(GH-90705). - Fix incorrect name of internal Basis global scale getter (GH-90748).
- Fix binary serialization of objects in typed arrays (GH-90751).
- CommandQueueMT: Optimize & fix handling of sync/ret commands (GH-90760).
- WorkerThreadPool: Polish yielding (fix corner case, remove misleading warning) (GH-90809).
- WorkerThreadPool: Fix yield-over for not-yet-started tasks (GH-90865).
- Utilize initializer lists in Variant constructors (GH-90866).
- Use compatible text resource format when possible (GH-90889).
- Strip ANSI escape codes from file logging (GH-90900).
- Fix
SurfaceTool.create_from_arrays
crash with bad index (GH-91198). - Use unztell64 in FileAccessZIP to ensure 64 bit return (GH-91210).
- Fix unsafe uses of
Callable.is_null()
(GH-91247). - Add a note for
String::reverse
to warn about its implementation (GH-91321). - Fix a performance regression when duplicating a node (GH-91329).
- Revert premul alpha to spell without the T (GH-91399).
- Fix crash when executing
Image.save_jpg_to_buffer
(GH-91590). - Add case-insensitive
String::containsn
(GH-91611). - Add
LocalVector::has
for convenience (GH-91621). - Let materials' shaders update happen on loader threads (GH-91630).
- Fix crash when adding a child while duplicating a node (GH-91677).
- CommandQueueMT: Fix sync command awaiters missing the chance (GH-91725).
- CommandQueueMT: Pre-allocate memory to avoid a bunch of allocations at startup (GH-91727).
- Fix memory leak when ASTC compression fails (GH-91745).
- Add an identity check to resource unregistration from cache (GH-91897).
- Fix
DisplayServer
overrides (GH-91900). - Scene: Add
SceneStringNames::pressed
(GH-91939). - Scene: Add
SceneStringNames::id_pressed
(GH-91949). - Scene: Add
SceneStringNames::panel
(GH-91950). - Use
CoreStringNames::normal
in more places (GH-91953). - Re-add Variant class initializer, fix comment (GH-91955).
- Scene: Add
SceneStringNames::font(_size/_color)
(GH-92588). - Scene: Add
SceneStringNames::confirmed
(GH-92639). - Scene: Add
SceneStringNames::text/value_changed
(GH-92640). - Duplicate properties first before remapping resources (GH-92678).
- Fix callable not clearing freed pointer (GH-92722).
- Fix some incorrect uses of
String
overStringName
(GH-92723). - Release Engine before unregistering core types (GH-92733).
- ResourceLoader: Avoid deadlock when awaiting a loader thread that failed early (GH-93082).
- Remove no longer needed thread safety measures (GH-93091).
- ResourceLoader: Let the caller thread use its own message queue override (GH-93124).
- Crypto: Expose
OS.get_entropy
(GH-93177). - Improve PO plural translation rules handling (GH-93262).
- Fix missing cleanup and null checks for various singletons (GH-93292).
- Fix cleanup order in
unregister_core_types()
(GH-93293). - Fix typo in preprocessor symbol (GH-93367).
- Fix storing of Node Array properties (GH-93430).
- Lookup method also in base scripts of a PlaceHolderScriptInstance (GH-93452).
- ResourceLoader: Fix handling of uncached loads (GH-93540).
- Fix duplicating nodes with Array properties (GH-93672).
- ResourceLoader: Support polling and get-before-complete on the main thread (GH-93695).
- WorkerThreadPool: Fix wrong pointer used in the case of BinaryMutex (GH-93709).
- Improve
vformat
error reporting onsprintf
failure (GH-93897). - ResourceLoader: Fixup management of thread-specific status (GH-93928).
- Add a check to prevent user to call
AStarGrid2D::update
when its not needed (GH-93993). - Fix UTF-8 misinterpreted as Latin-1 when logging to file (GH-94006).
- ResourceLoader: Fix error message due to already-awaited tasks being re-awaited (GH-94070).
- Optimize
Node::is_readable_from_caller_thread()
by prioritizing the most common case (GH-94230). - Fix TypedArray encoding when full objects is disabled (GH-94379).
- Batch of fixes for WorkerThreadPool and ResourceLoader (safe set) (GH-94526).
- End benchmark of
Main::setup
properly before callingsetup2
(GH-94587). - Apply
prefer_wayland
only if no display driver is set (GH-94774). - Fix use-after-free in WorkerThreadPool (GH-94832).
- ResourceLoader: Let resource setup late steps invoke loading in turn (GH-94910).
- ResourceLoader: Add check to prevent double free crashes (GH-95186).
- Fix use-after-free in
FileAccess::exists
(GH-95311). - ResourceLoader: Fix error on querying progress for uncached loads (GH-95476).
Documentation
- Overhaul Node documentation (GH-68560).
- Tweak SceneTree Documentation (GH-68649).
- Overhaul Array documentation (GH-69451).
- Use
Signal.emit
instead ofemit_signal
in Object examples (GH-69662). - Document the upsides and downsides of packed arrays versus typed arrays (GH-78257).
- Update typed arrays documentation (GH-79075).
- Clarify
Tween.set_parallel()
(GH-79758). - Clarify that
Callable
will not be encoded withvar_to_bytes
(GH-79813). - Clarify when to construct a StringName ahead of time (GH-79815).
- Explain which nodes receive
NOTIFICATION_WM_SIZE_CHANGED
(GH-80094). - Fix physics server force integration docs (GH-80166).
- Overhaul NodePath documentation (GH-80183).
- Overhaul OS documentation (GH-80282).
- Overhaul Engine singleton documentation (GH-80372).
- Make RST docs consistent with Editor Help docs (GH-80690).
- Improve docs on how ParallaxLayer mirroring works (GH-80896).
- Clarify
PackedByteArray.decompress*
limitations with external data (GH-81689). - Tweaks to ViewportTexture's Documentation (GH-81864).
- Document worker thread pool project settings and
TreeItem.uncollapse_tree()
(GH-82376). - Clarify some descriptions regarding resource cache (GH-82884).
- Improve Node's documentation on
process_mode
related members/methods (GH-82889). - Rewrite docs for physics damping project settings (GH-82950).
- Document Bounce = 1.0 not being sufficient for infinite energy conservation (GH-82968).
- Clarify that some
ParticleProcessMaterial
properties have effect over the lifetime (GH-83606). - Clarify emitting behavior of GPU particles (GH-83622).
- Expanded documentation for vector slide and project (GH-83691).
- Add instructions to get shape of
RayCast2D/3D
(GH-83735). - Improve and clarify texture filtering documentation (GH-83907).
- Clarify behavior of RayCast when
get_collision_point()
is used inside a collision shape (GH-84085). - Complete the docs for Quaternion (GH-84140).
- Add details about
AudioEffectCapture.clear_buffer()
andget_buffer()
(GH-84584). - Avoid punning enum names in documentation (GH-84652).
- Clarify that
@GlobalScope.clamp
does not do component-wise clamping (GH-84656). - Add performance note to
Array.resize()
(GH-84666). - Add description to
AnimationNodeStateMachine.replace_node
(GH-84734). - Document changing the window's resizable status at runtime (GH-84886).
- Update WorkerThreadPool doc to mention every task should be waited so that any allocated resources can be cleaned up (GH-84926).
- Fix example in
NodePath.get_name()
documentation (GH-85240). - Add descriptions to all RDUniform methods (GH-85336).
- Improve documentation for dynamic properties (GH-85450).
- Clarify difference between Capture and Record audio effects (GH-85468).
- Fix documentation for
icon_and_font_color
editor setting (GH-85491). - Fix the documentation of
Bone2D::apply_rest
(GH-85503). - Improve documentation for
CameraAttributesPhysical.exposure_shutter_speed
(GH-85599). - Explain parameter usage in GPUParticles3D and GPUParticles2D (GH-85717).
- Clarify Shapecast safe/unsafe fraction difference in class reference (GH-85839).
- Fix missing heading in translated online class reference (GH-85877).
- Document
AudioServer.playback_speed_scale
inEngine.time_scale
(GH-86071). - Update the description of the method
get_connection_list
in GraphEdit (GH-86161). - Add description for rendering/limits/spatial_indexer/threaded_cull_minimum_instances (GH-86246).
- Add descriptions to remaining properties of RDSamplerState (GH-86273).
- Remove pointer to deprecated class page from Skeleton3D (GH-86326).
- Improve RichTextLabel
install_effect()
documentation (GH-86331). - Add note that a large value for
Label.outline_size
is not recommended (GH-86345). - Clarify doc:
Node.get_child
returns null for invalid index (GH-86349). - Fix various typos in documentation (GH-86549).
- Fix several reported issues in String's documentation (GH-86639).
- Correct C# syntax in
_validate_property
example for the Object class (GH-86649). - Add code examples to Basis' documentation (GH-86664).
- Link to mentioned articles in the docs instead of just naming them (GH-86666).
- Fix incorrect VehicleWheel3D Roll Influence description (GH-86672).
- Update
get_image
doc to mention that it will return an empty image with invalid texture (GH-86685). - Improve all documentation about MIDI support (GH-86693).
- Add C# examples in
Basis.xml
(GH-86742). - Fix various typos in documentation (GH-86820).
- Add documentation to JavaClass & JavaClassWrapper (GH-86839).
- Specify how CanvasTexture does not work in 3D (GH-86848).
- Add a few notes to Sprite3D's documentation (GH-86872).
- Add missing descriptions to TextServer's constants (GH-86895).
- Post-merge fixes to Node & OS documentation (GH-86903).
- Fill the documentation of a few overlooked classes (GH-86927).
- Add missing documentation for AudioStream & AudioStreamPlayback (GH-86958).
- Add class reference documentation for GDExtension & GDExtensionManager (GH-86968).
- Add documentation to EditorExportPlatformWeb (GH-86977).
- Add missing documentation to Viewport (GH-86994).
- Add missing descriptions for Image's documentation (GH-86997).
- Add missing descriptions to PrimitiveMesh and SoftBody3D (GH-87011).
- Add documentation to PhysicsServer2DExtension (GH-87018).
- Mention
CollisionPolygon2D.polygon
is local to the given CollisionPolygon2D (GH-87024). - Add documentation to PhysicsDirectBodyState2DExtension (GH-87030).
- Add miscellaneous documentation to some classes (GH-87042).
- Add missing descriptions to remaining signals (GH-87047).
- Add descriptions to a few RenderingDevice's PipelineDynamicStateFlags (GH-87082).
- Overhaul AABB's documentation (GH-87114).
- Add descriptions to the remaining properties of RDPipelineDepthStencilState (GH-87156).
- Overhaul Basis' documentation (GH-87175).
- Include
animation.length
in Animation example (GH-87180). - Overhaul Quaternion documentation (GH-87181).
- Replace some "uncommon" words in class reference (GH-87223).
- Add missing descriptions for SliderJoint3D's
param
methods (GH-87244). - Add "missing description" tag to constant & enum documentation (GH-87259).
- Overhaul Transform3D documentation (GH-87334).
- Document bone list for SkeletonProfileHumanoid (GH-87372).
- Use latest doc version in issue template (GH-87409).
- Tweak Timer documentation (GH-87436).
- Tweak XROrigin3D documentation (GH-87444).
- Clarify sizing of main screen plugins (GH-87445).
- Tweak Joint2D and Joint3D documentation for consistency (GH-87446).
- Fix several minor class reference issues (GH-87523).
- Modify display and documentation of attenuation for Light3D (GH-87583).
- Mention Multiplayer.
get_remote_sender_id
's 0 after await (GH-87610). - Mention and deprecate InputEventJoypadButton's pressure (GH-87676).
- Add descriptions to the remaining properties of RDPipelineRasterizationState (GH-87768).
- Minor fix in DisplayServer docs to include Linux & Windows in
FEATURE_NATIVE_DIALOG
(GH-87913). - Fix inverted link in docs (GH-87951).
- Remove duplicate
ARRAY_CUSTOM_RGBA8_UNORM
ref in Mesh docs (GH-87973). - Document
OS.execute()
limitations on Android (GH-87983). - Fix docs for Color class regarding bits per component (GH-87985).
- Improve documentation on Android package unique name (GH-88024).
- Document initial position project settings not affecting run from editor (GH-88040).
- Document using RichTextLabel's
meta_clicked
to handle clickable URLs (GH-88255). - Fix type-o in
OpenXRAPIExtension
docs foris_environment_blend_mode_alpha_supported()
(GH-88298). - Treat deprecated/experimental members as documented (GH-88401).
- Update many Deprecated/Experimental descriptions for consistency (GH-88443).
- Fix function description for
Font.get_char_size()
(GH-88444). - Fix some leftover references to
hint_albedo
in docs (GH-88503). - Fix "dimensionnal" typo (GH-88559).
- Clarify that
is_pixel_opaque
function gets position in local coordinates (GH-88593). - C#: Document that MainLoop needs to be registered in the global class (GH-88635).
- Add keywords to improve search in the class reference (GH-88641).
- Docs: Fix some experimental/deprecated hints (GH-88708).
- Clarify behavior of opening a new file in
FileAccess
(GH-88758). - Doc: Fix GDScript casing of
String.num_scientific
(GH-88767). - Document that
parse_input_event
doesn't influence the OS (GH-88810). - Add necessary elaboration to documentation for
Node3D::get_parent_node_3d
(GH-88841). - Explain gutter types in the TextEdit documentation (GH-88875).
- Clarify C# Color opacity comment (GH-88909).
- Doc: Fix some incorrect uses of "children" (GH-88920).
- RTL: Clarify that line, paragraph, and character numbers are zero-indexed (GH-88956).
- Doc: Clarify some details about deferred calls (GH-88961).
- Move
rendering/2d/snap/snap_2d_vertices_to_pixel
setting to advanced view (GH-88963). - Overhaul some "uncommon" wording in class reference (GH-89036).
- Document environment glow restrictions in the Compatibility rendering method (GH-89059).
- [C#] Fix typo in
Color
documentation (GH-89092). - Fix documentation of
XMLParser::get_node_name()
(GH-89141). - Class reference: Improve TileMap
get_cell_atlas_coords
documentation (GH-89146). - Address a few issues in Transform3D documentation (GH-89147).
- Update file dialog filter documentation (GH-89150).
- Docs: [C#] Use
PropertyName
constants in more places (GH-89246). - Doc: Clarify
bsearch(_custom)
behavior (GH-89280). - Reduce indentation in
XRInterface
class document example code (GH-89282). - Use
[codeblock lang=text]
more often in class reference (GH-89316). - Add keywords to
PhysicsBody{2D,3D}.test_move()
for easier discoverability (GH-89318). - Fix RST generation for
[codeblock lang=text]
(GH-89380). - Doc: Fix some incorrect uses of
a/an
(GH-89444). - Doc: Clarify description for
get_unix_time_from_system
on UTC (GH-89454). - Fix description of touch input position (GH-89509).
- Doc: Fix Parallax2D use of closer/further (GH-89590).
- Doc: Clarify behavior of
String.format
with keys in replacements (GH-89608). - Fix documentation for receiving light from light probes (GH-89699).
- Doc: Fix casing of some C# names (GH-89710).
- Improve some notification and translation docs (GH-89815).
- Add reference to InputEventJoypadButton in
_shortcut_input
doc (GH-89838). - Fix wrong return type mention in
AStarGrid2D
docs (GH-89862). - Doc: Document loading behavior with relative paths (GH-90039).
- Doc: Clarify the behavior of
Vector2/3.cross
and mention parallel vectors (GH-90072). - Fix small error in Variant doc (GH-90088).
- Doc: Improve description of
y_sort_enabled
(GH-90096). - Clarify
UndoRedo
MergeMode
andadd_*_reference
docs (GH-90263). - Update the location of editor theme (GH-90307).
- Update links to outdated asset library demos (GH-90310).
- Doc: Add hint for required ios camera plugin in CameraServer documentation (GH-90389).
- Fix
RenderingServer.instance_set_transform
docs saying it's not global (GH-90396). - Document Area3D wind properties only affecting SoftBody3D (GH-90407).
- Surface normals are not the same thing as collision normals for
move_and_slide()
(GH-90460). - Improve
custom_minimum_size
description (GH-90521). - Doc: Fix incorrect reference to
input_pickable
(GH-90622). - Doc: Clarify behavior of
FileAccess.get_line
(GH-90766). - Update outdated
low_processor_usage_mode
doc (GH-90785). - Remove experimental flag from
remove_user_signal()
(GH-90862). - Correct AnimationNode documentation where it mentions multiple inputs (GH-90962).
- Clarify docs for ParticleProcessMaterial
emission_box_extents
(GH-90967). - Fix incorrect C# in
OS.get_cmdline_args
docs (GH-90985). - Document AudioEffectSpectrumAnalyzerInstance, clarify relationship with AudioEffectSpectrumAnalyzer (GH-91034).
- Clarify transform inheritance of CanvasItem nodes (GH-91110).
- Fix syntax error in
camera_attributes_set_exposure
documentation (GH-91129). - Docs: Fix FileAccess example conflicting with global scope
load
(GH-91189). - Fix documentation typo that flipped the description of
window_set_max_size
andwindow_set_min_size
(GH-91234). - Make it clear
Node2D.look_at()
aligns the +X axis (GH-91293). - Mention ProjectSettings won't be affected by
convert_text_resources_to_binary
(GH-91300). - Update Variant documentation comment about
class_name
(GH-91313). - Document 0, 90, 180, and 270 degree TileMap cell rotations (GH-91330).
- Update CryptoKey documentation to mention ECC (GH-91348).
- Update the description and parameter name for Vector3 reflect to correct how the plane is constructed (GH-91376).
- Remove text saying low processor mode only works on desktop (GH-91393).
- Minor
PackedScene
documentation improvements (GH-91415). - Fix outdated
AudioEffectSpectrumAnalyzer
documentation (GH-91423). - Fix incorrect example in the documentation for the
expand
method inRect2
(GH-91446). - Class reference: Add self-links to methods, properties, etc (GH-91537).
- Add notes in Object documentation about TranslationServer methods (GH-91544).
- Update ResourceLoader docs to clarify behavior when no file is found during load call (GH-91571).
- Update
area_create
description inPhysicsServer2D/3D
to clear up possible confusions (GH-91581). - Add docs note about remap returning undefined when istart == istop (GH-91615).
- Add missing bone name return information (GH-91658).
- Doc: Update Crypto example (GH-91761).
- Fix a typo in the GridMap docs (GH-91917).
- Fix hashing context example (GH-91920).
- TextServer: Add notes about high level text/font classes and getting active server instance (GH-91974).
- Improve documentation on TreeItem's cell modes (GH-92112).
- Fix example for Basis * Vector3 in documentation (GH-92117).
- Clarify
is_polygon_clockwise()
coordinate system (GH-92154). - Fix confusing descriptions of ConfirmationDialog (GH-92242).
- Explain
add_to_end
parameter ofadd_property_editor()
(GH-92272). - Clarify
velocity_computed
signal description (GH-92293). - Fix outdated
vsync_mode
project setting documentation (GH-92363). - Improve
Mesh
class description (GH-92380). - Improve description of
find_item_by_name()
method inMeshLibrary
class documentation (GH-92416). - Fix
PhysicsMaterial
description being limited to 3D (GH-92451). - Fix Light3D BakeMode enum documentation (GH-92456).
- RTL: Add references to cell and column configuration methods (GH-92508).
- Fix mismatched parentheses in class reference (GH-92535).
- Improve
AudioStreamPlaylist
class reference (GH-92674). - Clarify the results of
VectorN.normalized()
in the docs (GH-92707). - Correct documentation for Omni and Spot light distance attenuation (GH-92716).
- Remove note about night sky in PhysicalSkyMaterial (GH-92758).
- Fix description for
Input.vibrate_handheld()
(GH-92860). - Update Node docs to change iOS to Android for
NOTIFICATION_WM_GO_BACK_REQUEST
(GH-93189). - Doc: Clarify the session-specific nature of
RID
andObjectID
(GH-93190). - Fix description of
Vector2/3.dot
(GH-93195). - Mention inverse of hex functions in
Color
(GH-93218). - Animation: Document frame duration units in
SpriteFrames
(GH-93233). - Clarify lightmap rebaking being required for LightmapProbe changes (GH-93373).
- Change suggestion in
CONTRIBUTING.md
to avoid spam (GH-93468). - Fix incorrect text in ResourceImporterWAV description (GH-93497).
- Change "sample" to "stream" in AudioStreamWAV documentation (GH-93499).
- Add "repeat" keyword alias for InputEvent "echo" in the class reference (GH-93562).
- Clarify word separator docs about shortcuts (GH-93665).
- Update note regarding 3D MSAA and foveated rendering (GH-93685).
- GraphEdit: Add a note about the behavior of
get_children()
(GH-93732). - Fix asset pipeline coordinate systems doc url (GH-93770).
- Fix "icon" parameter in EditorPlugin.add_custom_type is not optional but doc says it is (GH-93777).
- Doc: Fix inverted Y position description of y-sorting (GH-93804).
- Fix info about global library in
add_animation_library
method docs (GH-93818). - Update documentation for new
EditorExportPlugin
behavior (GH-93820). - Fix AnimationMixer docs example code for
get_root_motion_rotation_accumulator
(GH-93855). - Clarify that the
Mesh.ARRAY_NORMAL
array will normalize its contents internally (GH-93872). - Add
:
to node properties, to differentiate them from node paths (GH-93890). - Mention
timeout
unit inENetConnection::service
docs (GH-93927). - Clarify
get_executable_path
documentation for Mac (GH-93944). - Clarify that
ENetConnection
'screate_host
andservice
must be called on client and server (GH-93987). - Update docs for
Animation.track_set_path
andAnimationMixer.root_motion_track
(GH-94007). - Clarify that some exclude properties of physics query parameters are copied (GH-94059).
- Overhaul Transform2D documentation (GH-94127).
- Add
push_url
as a keyword forpush_meta
(GH-94129). - Clarify that
Resource.duplicate(true)
doesn't duplicate subresources insideArray
orDictionary
properties (GH-94142). - Fix unclear
PROPERTY_USAGE_STORAGE
/EDITOR
description (GH-94155). - Docs: Add some notes about native file dialog limitations (GH-94161).
- Clean up RenderDataExtension's descriptions (GH-94217).
- Add a note of
loop_mode
forcustom_timeline
to theNodeAnimation
docs (GH-94299). - Clarify
clipboard_get_image()
(GH-94325). - Some improvements to TileSetScenesCollectionSource docs (GH-94329).
- Clarify
is_visible_in_tree()
in CanvasItem (GH-94331). - Fix typo in AABB docs (GH-94389).
- Fix texture compression descriptions in RenderingDevice docs (GH-94393).
- Add tutorial link to Parallax2D doc (GH-94433).
- Font: Fix typo in
get_supported_variation_list
example (GH-94443). - Add note about
Script.has_source_code
and GDScript binary tokenization (GH-94527). - Clarify documentation for
AnimationPlayer.queue
(GH-94541). - Add note to
shadow_mesh
docs to warn about improper usage (GH-94547). - Update link in CONTRIBUTING.md (GH-94565).
- Document update spinner never displaying with
--debug-canvas-item-redraw
(GH-94702). - Add link to notification docs in SceneTree docs (GH-94719).
- Update documentation for places to receive InputEventShortcut (GH-94745).
- Fix typo in Array's
sort()
method description (GH-94842). - Fix doc on Vector2.cs's
/
operator (GH-94850). - Document alternatives to some static Color methods (GH-94879).
- Mention Multimesh custom data will be compressed to half in Compatibility (GH-94942).
- Fix type-o in
MobileVRInterface
sample code in docs:xr
->use_xr
(GH-94994). - Fix typo in EditorPlugin
_forward_3d_draw_over_viewport(overlay)
method example (GH-94997). - Document support 3D premultiplied alpha in ResourceImporterTexture (GH-95004).
- Clean up English in JSON documentation (GH-95041).
- Fix several typos in the documentation (GH-95046).
- Document converting a TileMap node to TileMapLayer using the editor (GH-95069).
- Document expected coordinates in
PopupMenu.popup()
(GH-95164). - Fix documentation of
EditorImportPlugin._Import
(GH-95335). - Fix typo in EditorImportPlugin docs (GH-95336).
- Fix check in
Object._ValidateProperty
example (GH-95341). - Clarify usage of CompositorEffect as an abstract base class (GH-95347).
- Incorrect reference to VisibleOnScreenEnabler3D/2D in VisibleOnScreenNotifier3D/2D documentation (GH-95409).
- Add Animation tutorial links to class reference by 4.3 (GH-95434).
Editor
- Add a V-Sync editor setting (GH-48364).
- Automatically create folder in project manager create and import (GH-56420).
- Display the build date in the editor and when starting the engine (GH-59247).
- Implement project-wide node groups (GH-60965).
- Fix behavior of 'Editable Children' toggle (GH-60974).
- Decrease the default idle parse delay in the script editor (GH-61814).
- Store line change in script navigation history (GH-63515).
- Allow to set custom feature tags for testing (GH-63529).
- Add a dialog to customize run instances (GH-65753).
- Use
check_changed_settings_in_group()
everywhere (GH-69032). - Allow easily renaming multiple nodes (GH-69087).
- Allow loading custom ProjectSettings instance (GH-75048).
- Add colored margin in Inspector for arrays and dictionaries (GH-75482).
- Fix missing script time for some functions in profiler (GH-75623).
- Add automatic checking for engine updates (GH-75916).
- Add tooltip plugin for AudioStream (GH-77069).
- Cache
TreeItem
s between runs inEditorHelpSearch
(GH-77471). - Add inheriting classes to
DocTools
(GH-77554). - Add a way to invalidate preview cache (GH-77697).
- Fix incorrect check on importing project (GH-77832).
- Fix custom resource icons in FileSystem (GH-77932).
- Allow configuring the script filename casing rule (GH-78119).
- Add search keywords to the class reference (GH-78990).
- Enable optional minimal SteamAPI integration for usage time tracking (editor only) (GH-79126).
- Ignore directory entries in TPZ (GH-79374).
- Add size check to prevent popup bigger than the screen itself (GH-79617).
- Load project metadata file only when needed (GH-79785).
- Add a way to force history for undoredo (GH-79796).
- Remove exp hint of a few properties (GH-80326).
- Rework
update_property
for array (GH-80706). - Add PhysicsMaterial icon (GH-81044).
- Improve "Add" button consistency in Project Settings (GH-81905).
- Set
open_dominant_script_on_scene_change
to off by default (GH-81906). - Make the search bars in the "Project Settings" dialog grab focus when they appear (GH-82283).
- Add support for exporting script classes without a name (GH-82528).
- Fix saving branch as scene saves children without owner set (GH-82802).
- Allow to remove signal connections using
Delete
(GH-82821). - Add context support for editor property name i18n (GH-82852).
- Add compatibility rename of
(v)align
properties ofLabel
(GH-82894). - Allow Ctrl + KP / and Ctrl + # to toggle comment in the script editor (GH-83109).
- (Un)Fold event categories by double click (GH-83248).
- Fix export variable of type Node pointing to a wrong child node when duplicating (GH-83343).
- Allow to load multiple animation/libraries at once in the animation manager (GH-83503).
- Only update
EditorSceneTabs
tabs when necessary (GH-83957). - Fix UV editor not showing polygon correctly (GH-84116).
- Fix nodes being deselected upon reparenting (GH-84135).
- Extract
EditorDockManager
fromEditorNode
(GH-84193). - Inspector: Fix clearing array/dictionary element with
<Object#null>
(GH-84237). - Preserve inspector focus when opening script from scene tree (GH-84284).
- Allow dragging editable children (GH-84310).
- Hide private enums from documentation (GH-84396).
- Disable multi-window buttons instead of hiding them when support is unavailable (GH-84515).
- Fix errors on file rename or move in the Filesystem Dock (GH-84520).
- Add tooltip for toggling favorite nodes (GH-84619).
- Add PropertyListHelper (GH-84635).
- Clarify description of "group selected" (GH-84788).
- Fix unlimited project option ranges that could cause crashes (GH-84800).
- Fix folder color not showing up in file dialogs (GH-84837).
- Add "Show In FileSystem" to the Scene hierarchy right-click (GH-84882).
- Prevent race condition on initial breakpoints from DAP (GH-84895).
- Do not bother with line colors if
line_number_gutter
is not yet calculated (GH-84907). - Improve search/replace bar behavior (GH-84932).
- Add an option to center children around the new parent when reparenting (GH-84995).
- Fix issue with 3D scene drag and drop preview node (GH-85087).
- Don't abort loading when
ext_resource
is missing (GH-85159). - Add further details on properties returning
Packed*Array
(GH-85207). - Don't insert newline while saving (GH-85228).
- Use the flat button style on switches in scene and node docks (GH-85236).
- Use
SafeNumeric
to protectmax_index
in ImportThreadData (GH-85295). - Make copy & paste params skip
resource_path
(GH-85362). - Improve SceneTreeEditor usability (GH-85386).
- Make it possible to show code hint and code completion at the same time (GH-85436).
- Improve Control hiding in PluginConfigDialog (GH-85470).
- Update NodePaths only in built-in resources (GH-85502).
- Expose
Node.is_part_of_edited_scene()
(GH-85515). - Fix for Cmd-B shortcut conflict on macOS (GH-85527).
- Fix SnapGrid is almost invisible in light theme (GH-85585).
- Defer creating new editor process in "Quit to Project List" just like in "Reload Current Project" (GH-85654).
- Mark
gui/theme/custom
andgui/theme/custom_font
as basic properties (GH-85660). - Add separate feature tags for editor runtime (GH-85678).
- Hide Node dock successfully on undo/redo and deletion (GH-85686).
- Fix theme application in various editor dialogs (GH-85745).
- Improve engine startup/shutdown benchmarks (GH-85885).
- Add a editor FileSystem dock action to open a terminal in selected folder (GH-85923).
- Stop the searching of
find in files
in folders that have.gdignore
(GH-85943). - Tweak Help menu icons for better visibility of commonly used items (GH-85978).
- Disable Add button when theme item name is empty (GH-86044).
- Fix "Class name cannot be empty" error when sorting no import files sort by type (GH-86064).
- Stop using
RTR()
inside the "editor" folder (GH-86143). - Properly select the newly duplicated file (GH-86164).
- Fix file disappearing when renaming dependencies (GH-86177).
- Fix duplicating multiple nodes at different depths in
SceneTreeDock
(GH-86211). - Add option to add built-in strings in the POT generation (GH-86222).
- Use
set_value_no_signal
in editor property code (GH-86266). - Allow node visibility to work with custom user-provided node types (GH-86268).
- Optimize scanning routines in the project manager (GH-86271).
- Fix scene dock search losing its default tooltip after typing an invalid filter (GH-86278).
- Add input action name to window title in input map editor (GH-86280).
- Add hover highlight to main editor buttons (GH-86378).
- Strip edges of editor layout names (GH-86386).
- Clear sub-resources list when no sub-resource exists (GH-86388).
- Fix internal profiling button being visible when disabled in settings (GH-86398).
- Improve action name for ungroup button in Scene dock (GH-86431).
- Improve performance of the 'Create New Node' dialog (GH-86447).
- Use ObjectID's instead of node pointers to track scene groups to prevent crash (GH-86462).
- Store horizontal and vertical split offsets separately in FileSystem dock (GH-86476).
- Fix scene parser reading non-built-in scripts for POT generation (GH-86479).
- Improve
EditorDirDialog
(GH-86486). - Improve Path2D editing (GH-86542).
- Project upgrade tool: Better space handling in "export" (GH-86598).
- Don't update tree on deselect (GH-86605).
- Add option for editor to follow system theme and accent colors (GH-86610).
- Fix possible crash (use after free) in ScriptTextEditor (GH-86633).
- Improved synchronization of Transforms during live debug sessions (GH-86659).
- Automatically add path to built-in shaders (GH-86668).
- Stop escaping
'
on POT generation (GH-86669). - Improve saving of built-in resources (GH-86705).
- Removed unused code related to command palette (GH-86723).
- Update modified shortcuts in command palette (GH-86727).
- Fix missing autocompletion for inheriting classes (GH-86729).
- Ignore internal children when replacing node (GH-86745).
- Add autocompletion for ProjectSettings' methods (GH-86758).
- Add autocompletion for InputMap's methods (GH-86764).
- Allow to move FileSystem dock to bottom and drag resources across bottom docks (GH-86765).
- Display functions that were previously forgotten in Profiler (GH-86772).
- Allow opening scenes with missing scene dependency (GH-86781).
- Allow all editor modes to select nodes in the viewport (GH-86804).
- Added compatibility for Blend Mode in
Light2D
/PointLight2D
when converting from Godot 3 to 4 (GH-86811). - Parse the names of children of
TabContainer
s on POT generation (GH-86878). - Add autocompletion for a few EditorInterface methods (GH-86893).
- A couple of enhancements to user-visible threading semantics (GH-86957).
- Fix missing icons for custom resources in EditorResourcePicker (GH-86979).
- Implement
trim_final_newlines
setting and functionality (GH-87099). - Capitalize OIDN in editor settings and properties (GH-87108).
- Fix thumbnail disappears if FileSystemDock is floated (GH-87121).
- Fix icon corrupted when nested array editors are opened before opening main array editor (GH-87143).
- Fix reloading current scene forgetting path (GH-87170).
- Add tooltips to the export buttons (GH-87183).
- Add autocompletion for TranslationServer (GH-87191).
- Optimize SceneTree's
change_scene_to_file
autocompletion (GH-87197). - Add support for search shortcut to all docks (GH-87200).
- Handle clickable
[url]
tags inprint_rich()
editor output log (GH-87216). - Add color in built-in documentation for overridden properties (GH-87255).
- Reorganize project manager code (GH-87266).
- Display path in tooltips of sub-resource list (GH-87280).
- Improve editor theme generation after the refactor (GH-87293).
- Replace built-in docs codeblock's leading spaces with tabs (GH-87301).
- Add copy codeblock button to built-in documentation (GH-87363).
- Fix shortcut name consistency in SceneTreeDock (GH-87419).
- Improve layout and UX of the project manager (GH-87443).
- Fix selection regression in
EditorHelpSearch
(GH-87476). - Make the text editor consistent with the script editor (GH-87510).
- Remove incorrect C# rename from the project converter (GH-87533).
- Improve appearance of Node configuration warnings (GH-87535).
- Fix editor will freeze when modifying filesystem filter path in Split Mode (GH-87563).
- Change scene drag-and-drop modifier behavior in the 2D and 3D editors (GH-87623).
- Generate script resource preview without parsing (GH-87625).
- Fix editor profiler script function sort order (GH-87661).
- Fix editor properties vector ratio breaking when an element is set to zero (GH-87740).
- Some editor code cleanup (GH-87755).
- Extract BottomPanel from EditorNode (GH-87760).
- Remove duplicated callings
set()
from SceneTreeDock (GH-87834). - Remove unnecessary focus methods and directly bind to
set_close_on_escape
(GH-87870). - Fix sorting of files/dirs in dialogs (GH-87874).
- Fix frame number underflow in visual profiler (GH-87876).
- Do not use
NOTIFICATION_PHYSICS_PROCESS
for 2D Editor (GH-87886). - Fix
display/window/size/window_{width,height}_override
to permit0
(GH-87907). - Check if history exists before discarding (GH-87980).
- Refactor and fix issues in Editor Dock Manager (GH-88003).
- Tweak error and warning colors and fix
StatusWarning
icon visibility on light themes (GH-88058). - Web: Refactor Editor web server (GH-88063).
- Add editor shortcuts to toggle bottom panel visibility (GH-88081).
- Use indeterminate progressbars for editor downloads (export templates & assets) (GH-88084).
- Show update spinner by default in
dev_build=yes
editor builds (GH-88106). - Fix data race against
EditorFileSystem.scanning_changes_done
(GH-88124). - Use
SafeFlag
forEditorHTTPServer.server_quit
(GH-88155). - Use highlighted version of the tab icon in the bottom file system dock (GH-88191).
- Asset Library author link, description popup size and UX details (GH-88229).
- Fix update property for dictionaries so that it updates only what is necessary (GH-88231).
- Fix an edge case bug in drag-and-drop Node3D spawning (GH-88269).
- Rework how script is edited when clicking icon (GH-88288).
- Add support for search shortcut to signal connection dialog (GH-88317).
- Fix skipping normal category followed by custom one (GH-88318).
- Focus value editor on type change in Dictionary and Array editors (GH-88322).
- Add const lvalue ref to
editor/*
container parameters (GH-88368). - Improve look of Donors list in Editor's About (GH-88370).
- Move EditorNode setting registration so they are in class reference (GH-88380).
- Fix Skeleton3D insert key tooltips (GH-88386).
- Fix resource previews not created in compatibility rendering (GH-88391).
- Show keywords in
EditorHelpSearch
(GH-88450). - Hide Search Results by default and show it on first search (GH-88465).
- Improve merging of docs on generation (GH-88514).
- Add separate program case for Godot Resources (GH-88523).
- Fix crash on documentation generation on macOS (GH-88545).
- Fix crash on changing resource type of dictionary new key/value while editing the resource (GH-88572).
- Add
android
to auto-generated.gitignore
(GH-88591). - Remove error when property is outside inspector (GH-88597).
- Improve user experience for VCS metadata generator menu button to mitigate accidentally overriding (GH-88609).
- Add a
h_separation
between icons inCheckButton
/CheckBox
(GH-88615). - Dictionary Editor: Keep the type of the last added item (GH-88636).
- Fix editor hover style margins when Draw Extra Borders is enabled (GH-88652).
- Add tokenized search support to Quick Open dialog and FileSystem filter (GH-88660).
- Remove some redundant method calls from ScriptEditor (GH-88675).
- Improve Run Instances Dialog (GH-88685).
- Fix undo/redo behavior of ColorPicker and add ability to cancel/confirm color selection (GH-88690).
- Fix leak of scene used for customization during export (GH-88726).
- Fix removing element in array inspector not changing page when emptying page (GH-88731).
- Fix the text editor theme not being applied on editor start (GH-88742).
- Inspector
(N changes)
indicator propagates upwards (GH-88814). - Fix toggling a plugin makes its name black (GH-88817).
- Add create folder icon (GH-88825).
- Add browse folder and browse file icons (GH-88827).
- Save scene and global checkbox options of History window (GH-88833).
- Fix paste Value can empty a dictionary depending on right-click location (GH-88849).
- Remove redundant space after enum/flags word in editor docs (GH-88911).
- Modify shortcut for closing scene on macOS only (GH-88913).
- Allow docks to be closed and opened (GH-89017).
- Add autocompletion for EditorSettings' methods (GH-89043).
- Use
META_UNDERLINE_ON_HOVER
in built-in class reference (GH-89049). - Display deprecated/experimental messages in tooltips (GH-89058).
- Remember search text in Find/Replace in Files dialog (GH-89085).
- Improve how Project & Editor Settings look in built-in docs (GH-89086).
- Do not attempt to set cursor shape in headless mode (GH-89099).
- Add missing
variablesReference
field to DAPevaluate
request (GH-89110). - Fix undo action names for node replacement (GH-89121).
- Fix documentation of localization related editor settings (GH-89135).
- Change Editable Children menu action to be keyboard shortcuttable (GH-89142).
- Add Enter shortcut to add a shader global in the editor (GH-89184).
- Fix AssetLibrary not going online when clicking button (GH-89200).
- Fix wrong undo-redo action when dropping files containing circular dependencies (GH-89204).
- Don't refresh mirrors for development builds in editor export template manager (GH-89236).
- Add
FolderCreate
icon to the project dialog (GH-89240). - Fix region section not ignoring #region and #endregion when in a string (GH-89242).
- Don't store values when loading them (GH-89248).
- Allow connecting signals to existing methods without opening the script editor (GH-89249).
- Speed up inspector updates for TileMap (GH-89251).
- Add missing normal and hover states to
EditorLogFilterButton
(GH-89255). - Fix how scripts reload outside of ScriptEditor (GH-89261).
- Editor Help: Add syntax highlighting for code blocks (GH-89263).
- Move
snap_controls_to_pixels
from process to projects settings changed method (GH-89264). - Fix possible crash when converting a node to other in visual shader (GH-89292).
- Fix ScriptCreateDialog so it does not select the file extension when it's opened (GH-89315).
- Fix compiler warning when highlighting codeblocks in editor help (GH-89332).
- Defer
ActionMapEditor::_action_edited
signal to prevent tree updates when tree is blocked (GH-89346). - Fix PluginConfigDialog crash in editor build without any language support (GH-89378).
- Select method name edit when opening connection dialog (GH-89405).
- Allow batch drag and drop in typed array of Node and NodePath (GH-89406).
- Fix main editor button margins while using a custom theme (GH-89462).
- Fix some translations not properly falling back (GH-89489).
- Make the "Clear Output" shortcut not require panel focus (GH-89505).
- Remove redundant code from
EditorSpinSlider
(GH-89518). - Fix translation fallback not working in the Project Manager (GH-89519).
- Fix FileSystem dock auto translating files (GH-89546).
- Fix unexpected auto translation of editor
Tree
content (GH-89599). - Make "Pick Color"'s result less precise, keep only 3 decimals (GH-89630).
- Fix same-name (sub)groups interfering in Inspector (GH-89631).
- Resource file not found error when loading Favorite icon (GH-89642).
- Add
Open in Terminal
to the file system empty click (GH-89658). - Fix text color in
EditorHelpHighlighter
(GH-89704). - Add progress bar when updating scene groups (GH-89739).
- Remove stray item icon from tabs menu (GH-89747).
- Make project naming setting available in project manager (GH-89788).
- Disable Clear All button when not filtering in Settings (GH-89798).
- Translate "Line N" as a whole (GH-89799).
- Fix heap-use-after-free when converting scene group to global (GH-89801).
- Add necessary flags when opening directory with xfce4-terminal (GH-89803).
- Disable shader editor's undo/redo menu items when they do nothing (GH-89806).
- Don't error multiple times when trying to load missing default bus layout (GH-89808).
- Fix missing i18n for some editor strings (GH-89811).
- macOS: Use
expand_to_title
for the project manager (GH-89831). - Extremely minor tooltip updates for Debug menu (GH-89837).
- Fix wrong values displayed after duplicating an audio bus (GH-89841).
- Improve replication editor's pin button (GH-89883).
- Fix wrong extension filter for dependency editor (GH-89912).
- Disable auto-translation in sub-resource list menu (GH-89915).
- Refactor check for overridden methods in inner classes (GH-89922).
- Relax grid parameter constraints in texture region editor (GH-89931).
- Fix unexpected auto-translation of more editor components (GH-89963).
- Reset
tab_closing_menu_option
when canceling closing editor (GH-89974). - Disable auto-translation of titles in
AssetLib
(GH-89978). - Fix node duplication in update after external changes (GH-89992).
- Fix debugger tree error on editor start (GH-90022).
- Fix scroll to description (GH-90035).
- Fix FileSystemDock behavior when dropping an item in the current folder (GH-90062).
- Include 'Orphan Resource Explorer' and 'Upgrade Mesh Surfaces' in Command Palette (GH-90078).
- [Project Manager] Replace title bar logo with color variant (GH-90080).
- Improve string extraction of ETR POT file (GH-90162).
- Expose
goto_help
for GDExtension onScriptEditor
(GH-90189). - Fix crash on invalid values in EditorPropertyArray/Dict (GH-90265).
- SceneTreeEditor: Fix crash when TreeItem is removed before callback (GH-90266).
- Ignore
ERR_FILE_CANT_OPEN
error when loading (GH-90269). - Prevent dropping Resource to the same resource picker (GH-90278).
- Fix duplicated folder reference in Godot Editor after changing filename case (GH-90280).
- Inspect hovered node while dragging (GH-90378).
- Fix
_node_assign
will crash whenbase_node
is nullptr (GH-90414). - Add option to copy absolute path in file system dock popup (GH-90421).
- Correctly replace scene root when
must_reload
inEditorData::check_and_update_scene()
(GH-90432). - Move engine build profile editor to Tools submenu (GH-90441).
- Fix
theme_override
tooltip caching (GH-90446). - Fix caret last fit when moving to line end (GH-90455).
- Fix enum detection for unnamed classes (GH-90488).
- Fix connection dialog raise error when it was previously opened in another scene (GH-90514).
- Fix folder colors not saving after project.godot is modified externally (GH-90525).
- Make the inherited scene root node unable to change type (GH-90536).
- Fix crash when dragging scene files to 2D/3D screen (GH-90559).
- Make the loading scene open in the current scene tab if the current scene is empty (GH-90566).
- Rearrange "Open In" menu items of FileSystem dock (GH-90570).
- Improve error when scene/resource is saved with newer format (GH-90571).
- Fix heap-use-after-free error in TileMapLayerEditor (GH-90583).
- Fix folder colors not present in editor dir dialog (GH-90651).
- Fix going forward backward in editor selection history (GH-90653).
- Improve UX when saving newer files on disk (GH-90660).
- Prevent crash when dropping Resource that can't load (GH-90664).
- Rename Q&A to Forum in the Help top bar (GH-90676).
- Fix editor's file explorer will show directories that should be skipped (GH-90680).
- Allow closing scene tab preview using Escape (GH-90720).
- Change update checker version source (GH-90742).
- Display Godot version and last edited timestamp in project manager (GH-90770).
- Don't show scene group progress for 1 scene (GH-90784).
- Disable Create button for abstract classes (GH-90807).
- Avoid double editing when clicking AnimatedSprite (GH-90815).
- Fix folder color not cleared for removed subfolders (GH-90829).
- Fix input map shortcuts incorrectly edited on cancel (GH-90835).
- Fix folder scan replacing project list (GH-90845).
- Use minor version in EditorSettings file name (GH-90875).
- Add option to open online doc for selected class in script editor (GH-90952).
- Organize existing code for editor plugins (GH-90975).
- Hide update status label when no action is required (GH-91026).
- Add editor setting to keep bottom panel state on play and stop game (GH-91033).
- Allow setting editor dock tabs to icon only (GH-91039).
- Remove
uv_editor_bounds
editor setting (GH-91073). - Further speed up closing multiple scripts (GH-91081).
- Increase width of project settings window (GH-91087).
- Fix error when moving FileSystem dock (GH-91090).
- Avoid double handling of rename in the file system dock (GH-91112).
- Register text enter for script base class (GH-91113).
- Add show in filesystem option for file favorites (GH-91158).
- Don't edit current when changing docks v2 (GH-91168).
- Improve Audio Bus button pressed state visibility (GH-91236).
- Add text to icon-only interpolation OptionButton in blend space editor (GH-91238).
- Only add warning label for Layout group in Control category (GH-91252).
- Fix reparenting after hover delay (GH-91265).
- Rework global class hiding in addons (GH-91337).
- Increase threshold for files per directory in editor Find in Files (GH-91338).
- Remove code duplication for adding global script class (GH-91379).
- Fix editor spin slider RTL and margin (GH-91384).
- Fix crash when switching main screen from a disabled plugin main screen if code editor is floating (GH-91396).
- Ensure
--doctool
is run from root directory (GH-91407). - Fix selecting root when opening scene (GH-91435).
- DAP: Fix typo in parsing of PackedVector3Array (GH-91468).
- Fix
FileSystemDock
thumbnails sometimes not displaying (GH-91471). - Keep docks menu open when opening dock (GH-91484).
- Prevent some shortcut errors when generating docs (GH-91515).
- Fix EditorInspector crash when exiting (GH-91538).
- Remove error messages caused by Save on Focus feature (GH-91555).
- Fix infinite call loop on theme change (GH-91595).
- Update
ConnectDialog::_filter_method_list
to be case insensitive for search string (GH-91598). - Limit icon size in
EditorDebuggerTree
(GH-91622). - Fix temporary Euler when editing quaternion (GH-91678).
- Fix i18n in AudioStreamInteractive transition editor (GH-91693).
- Revert
as_sortable_control()
change in SplitContainer (GH-91708). - Improve transition enabled header in interactive music editor (GH-91709).
- Fix
EditorHelpBitTooltip
+ProgressDialog
causes crash (GH-91716). - Fix
PropertyListHelper::_get_property
returning a valid value even if an index is outside the array valid indices (GH-91760). - Fix Sprite2D editor history mismatch (GH-91777).
- Select next text to replace (GH-91779).
- Fix long category name display in Inspector (GH-91820).
- Fix FileBrowse and FolderBrowse icon style fill not getting replaced (GH-91821).
- Move "Add a new scene" button when Scene Tabs settings change (GH-91859).
- Change default parenting behavior when drag-and-dropping to 2d and 3d editor (GH-91874).
- Make performance monitor names translatable (GH-91927).
- Add Dutch translation for Linux desktop file (GH-91928).
- Fix categories and tooltips in
TileSet
editor (GH-91932). - Skip unnecessary updates to scene groups and scripts (GH-91980).
- Create AudioStreamPlayer when dropping AudioStream (GH-92004).
- Fix default NodePaths saved in scene (GH-92095).
- Disable follow focus while updating inspector (GH-92108).
- Change the AudioStreamPlayer icons to be clearer (GH-92116).
- Fix log rebuilding crashing when there's no messages (GH-92128).
- Editor Feature Profile: Only rebuild selected TreeItem and all children when a property is edited (GH-92136).
- Don't translate preview in node batch rename dialog (GH-92192).
- Fix unchecking theme overrides not creating an undo action (GH-92207).
- Fix array variable with
@export_multiline
not registering changes (GH-92225). - Prevent label width from flickering rapidly in editor frametime panel (GH-92231).
- Fix scene hash not updated when scene is empty (GH-92253).
- Fix TextEdit HScroll hiding after wrapping (GH-92271).
- Fix theme StyleBox override parameter completion (GH-92296).
- Fix crash on dictionary initialization after return to default in C# (GH-92351).
- Fix profiler seek line color in light modes, update on theme change (GH-92389).
- Avoid editor error reporting using resource loader thread's call queues (GH-92426).
- Select text in SpriteFramesEditor spin boxes on focus (GH-92442).
- Prevent connect
scroll_to_paragraph
multiple times toclass_desc
(GH-92454). - Set
doc_name
even when categories are hidden in the inspector (GH-92457). - Make signal connections dialog method picker respect bind/unbind (GH-92465).
- Fix error when dropping image onto the scene dock (GH-92470).
- Add missing space around the ratio lock button (GH-92482).
- Add range hint for
SubViewportContainer.stretch_shrink
(GH-92500). - Fix AudioStreamPlayer icons, improve audio resource picker styling (GH-92504).
- Fix Window position preview in the editor (GH-92506).
- Remove unused
base_hint
from EditorPropertyNodePath (GH-92511). - Enable custom separators to treat different characters as words (GH-92514).
- Update Add Scene button after TabBar resizes (GH-92559).
- Update editor
Window
preview position when resizing window (GH-92577). - Rework and simplify update checking logic (GH-92597).
- Fix project settings reloading (GH-92633).
- Consistently display script icons for nodes in connect dialog's scene tree editor (GH-92648).
- Tweak property name style selector in the editor inspector (GH-92665).
- Fix huge .tscn icon and icon in background of File System panel (GH-92669).
- Swap last edited date and version/warning in Project Manager (GH-92751).
- Call
EditorNode::set_edited_scene()
manually instead of via thereplacing_by
signal (GH-92760). - Add Globals tab to reorganize Project Settings dialog (GH-92770).
- Fix editor screenshots menu button's tooltip (GH-92836).
- Remove unused order variable from EditorResourcePreview (GH-92871).
- Add missing inspector dock update after node deletion (GH-92930).
- Fix theme updating of the inspector sections (GH-93000).
- Fix EditorFileSystem
update_files
after #92893 (GH-93006). - System info: Remove empty parentheses when video adapter driver name is unknown (GH-93033).
- Fix
EditorHelpBit
title height is wrong on initialization (GH-93040). - Fix find highlight when switching scripts (GH-93056).
- Fix EditorProperty spacing (GH-93089).
- Fix not being able to reopen signals panel immediately after connecting a signal (GH-93110).
- Fix crash when trying to undo SpriteFrames animation rename (GH-93112).
- Material: Fix marking as ready (GH-93127).
- Center the label in EditorObjectSelector (GH-93129).
- Fix noticeable freeze after saving a scene (GH-93147).
- Fix bug when downloading export templates and re-opening the template manager (GH-93148).
- Add missing TTR's for EditorProgress (GH-93150).
- EditorProgress: Use
BackgroundProgress
instead ofProgressDialog
when called for a thread (GH-93160). - Allow theming movie writer button icon color (GH-93223).
- Allow theming renderer colors (GH-93229).
- Unload addons before quitting to allow cleanup (GH-93238).
- Prevent generating preview for zero sized texture (GH-93255).
- Fix incorrect autoload path in error (GH-93294).
- Add missing RTL styles for InspectorActionButton (GH-93318).
- Add missing style overrides for viewport overlay buttons (GH-93361).
- Fix determining the availability of a new version (GH-93391).
- Make inspector spacing more themable (GH-93435).
- Add missing RTL styles for MainScreenButton (GH-93520).
- Include "PopupMenu" labels in POT gen (GH-93521).
- Add brief description tooltips to EditorResourcePicker (GH-93523).
- Update import dock when selecting resource in resource panel (GH-93533).
- Fix reselecting scene tree node after inspecting a resource (GH-93543).
- Center the label of EditorValidationPanel (GH-93544).
- Remove editor pseudolocalization debug feature (GH-93554).
- Fix crash on exit with shader editor (GH-93558).
- Fix clear custom color on invalid
tree_item_inspected
causingIndex p_column = 0 is out of bounds (cells.size() = 0).
error message (GH-93576). - Add comment for editor particles Restart Emission shortcut not using Cmd on macOS (GH-93581).
- Add missing punctuation to the default TextEdit word separators (GH-93656).
- Center the label in overview of script editor (GH-93661).
- Fix find result current match count issues (GH-93674).
- Fix unnecessary overbright modulates used in a few editors (GH-93720).
- Speed up scene group scanning for text scenes (GH-93723).
- Make the frame time and info boxes use same margins (GH-93736).
- Set max width for icons in the quick open popup (GH-93743).
- macOS: Change the distraction-free mode shortcut (GH-93789).
- Update Node dock when theme changes (GH-93868).
- Fix a bunch of orphan StringName errors at ProjectSettings/Editor exit (GH-93888).
- Fix custom resources often missing from Quick Load dialog (GH-93909).
- Fix default font variation values handling in the property inspector (GH-93957).
- Fix
EditorHelpBitTooltip
for Signals dock (GH-93967). - Update font preview directly instead of invalidating property list (GH-93968).
- Ignore trailing slashes in new project’s path when disabling Create Folder (GH-94015).
- Fix first time of Toggle Last Opened Bottom Panel opens Output panel (GH-94040).
- Fix Toggle Last Opened Bottom Panel not working after restoring FileSystem Dock to the side (GH-94053).
- Fix ScriptEditor
request_save_previous_state
signal type (GH-94057). - Let EditorLog use the right call queue for thread safety (GH-94079).
- Fix editor inspector crashing when the old object is no longer valid (GH-94101).
- Fix wrong inspected node after drag&drop (GH-94105).
- Make
fdialog_project
up to become the child ofProjectManager
instead of child ofProjectDialog
(GH-94113). - Unload addons when using
--import
or--quit
(GH-94116). - Fix edited node being removed before editor plugin handles focus loss (GH-94162).
- Fix resources being skipped in InstancePlaceholder (GH-94345).
- Fix removing a folder that contains a file is not removed from the FileSystem Dock (GH-94435).
- Fix crash when adding scenes with a group to the level scene (GH-94450).
- Consider tabs when calculating column for jump to error (GH-94474).
- Disable unique name in scene when making a node the root node (GH-94491).
- Improve Curve preview colors for consistency (GH-94494).
- Fix incorrect Curve editor preview thumbnail scaling (GH-94571).
- Fix editor crash when editor settings resource is invalid (GH-94593).
- Increase threshold for displaying scene group update progress (GH-94594).
- Change .gitignore to only exclude root android template folder (GH-94597).
- Fix Object encoded as id in dictionaries to be represented as int in the inspector (GH-94610).
- Fix certain resource previews empty with GL compat (GH-94619).
- Parse
auto_translate
when generating a POT file (GH-94622). - Fix node gets wrongly selected after moving another node in the tree (GH-94649).
- Android Editor: Make progress dialog visible again (GH-94662).
- Fix editor settings still displayed when replaced (GH-94932).
- Split editor documentation cache by minor version (GH-94980).
- Fix global class cache file not present when no class name (GH-94991).
- Fix project name cleared when browsing path (GH-95062).
- [Android editor] Enable the display scale option in the Project manager's quick settings (GH-95082).
- [Android editor] Fix issue with importing projects (GH-95086).
- Don't drop
PackedScene
as property (GH-95090). - Initialize project name when importing project (GH-95245).
- Fix use-after-free in
EditorHelp
(GH-95307). - Fix order of Lock and Group icons in SceneTree (GH-95329).
- Fix label update for dict on item deletion (GH-95364).
- Fix FileSystem not updated on file deletion (GH-95533).
Export
- Provide ability to override
EditorExportPlugin::_export_end()
in C++ (GH-72572). - Ensure Android keystore username and password are checked on export (GH-83702).
- [iOS export] Add export options for performance capabilities and min. iOS version (GH-84162).
- Update the validation logic for the package name (GH-84676).
- Add
single
/double
as export features automatically (GH-84711). - Fix order of operations for macOS template check (GH-84990).
- [iOS one-click] Add support for Xcode 15 devicectl (GH-85546).
- iOS: Use
mdfind
to check if Xcode is installed in one-click deploy code (GH-85774). - Add option to install android build template for export (GH-85819).
- Ensure more export errors are reported to users (GH-85845).
- Add PWA option to ensure cross-origin isolation headers on web export (GH-86089).
- D3D12: Automatically copy runtime DLLs during export (GH-86093).
- Set an appropriate minimum size for labels in windows that display incorrectly (GH-86145).
- [iOS export] Improve
.xcframework
exporting (GH-86288). - iOS: Remove deprecated LaunchImages support and switch to Storyboard by default (GH-86312).
- Specify the path to the Java SDK used for the Android gradle build (GH-86383).
- Add logging when macOS export will fail due to disabled texture formats (GH-86769).
- Hide Keystore Release password on Android's Export window (GH-86882).
- [macOS export] Fix RLE icon generation (GH-86934).
- [macOS/iOS export] Add option to set custom Info.plist data (GH-87029).
- Add clearer error message for missing project icon during Android export (GH-87208).
- Add basic multimesh data needed for headless export to the Dummy rendering server (GH-87390).
- Add DummyShader handling to Dummy RenderingServer to ensure shader parameters are saved in headless export (GH-87392).
- GDScript: Reintroduce binary tokenization on export (GH-87634).
- [macOS export] Allow unpacked .app export in "Distribution" export mode (GH-87657).
- Remove workaround in GLTF exporter that double converts
ra
textures torg
(GH-87775). - Don't invoke adb with no runnable Android preset (GH-87823).
- macOS: Generate min.
Info.plist
for frameworks if it's missing. Validate framework bundle ID characters (GH-87908). - Fix data race regarding
server_quit
inEditorExportPlatformWeb
(GH-88043). - Assign missing surface data fields in dummy render server (GH-88210).
- Allow export plugins to override export option values (GH-88291).
- Android: Allow using alternative Gradle build directory (GH-88297).
- Unify settings for PC texture formats, removed obsoleted ETC feature (GH-88325).
- GDScript: Fix extension comparison for exported scripts (GH-88365).
- Add export setting to specify whether the native libraries should be compressed for the gradle build (GH-88385).
- Add an
Advanced Options
toggle to the editor export preset (GH-88419). - Display a warning if device CPU architecture is not active in the export preset (GH-88611).
- Physics: Fix exporting with 3D disabled (GH-88668).
- Update the list of advanced export options for the Android platform (GH-88840).
- GDScript: Canonicalize script path in FQCN (GH-88853).
- Don't attempt shutting down adb on exit if not started (GH-88865).
- GDScript: Fix paths in
ResourceFormatLoaderGDScript::load()
(GH-89005). - Linux: Handle export preset compat with 'Linux/X11' platform name (GH-89044).
- Update the Android export validation logic to account for the custom gradle android source template (GH-89173).
- Use relative file base offset for embedded PCK (GH-89214).
- Fix reporting exit code when command line export fails (GH-89234).
- iOS: Restore backward compatibility with old export templates (GH-89348).
- GDScript: Fix continuation lines in
GDScriptTokenizerBuffer
(GH-89472). - Windows: Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled (GH-89511).
- Fix
gdextensionlibs.json
storage path in Android gradle build (GH-89579). - [iOS Export] Check directory content before deleting old export leftovers (GH-89790).
- Allow skipping imported resource files from export (GH-90365).
- [iOS export] Add support for privacy manifest configuration (GH-90375).
- Android: Add
POST_NOTIFICATIONS
permission to the list of permissions available in the Export dialog (GH-90377). - [iOS Export] Fix adding static libs to the Xcode project (GH-90379).
- Windows: Support all possible suffixes for console wrapper (GH-90387).
- [macOS export] Detect embedded helper executables using MachO header (GH-90428).
- Add
--import
command-line flag (GH-90431). - Android: Standardize permission descriptions, add urls, remove deprecated tag from non-deprecated permission (GH-90546).
- Fix issue with resolving the path for the Android keystore file (GH-90603).
- Fix the logic to load export preset's options overrides (GH-90606).
- Automatically generate the Android debug keystore (GH-90611).
- Web: Fix serve.py utility on Windows (GH-90698).
- Fix issue causing the
copyAndRename*
task to fail on occasions on Windows machines (GH-90802). - Splash image support and new progress bar for HTML5 Web Export (GH-91128).
- Fix export dialog sizing issue on small devices (GH-91291).
- Add more Remote Debug options to the web platform (GH-91369).
- [macOS export] Add support for privacy manifest configuration (GH-91377).
- Default to non-threaded export setting for the web (GH-91623).
- Web: Fix splash screen background color in HTML shell (GH-91852).
- Web: Fix quotes style in HTML shell head include (GH-91856).
- Disable remote debug button when there are no runnable presets (GH-92032).
- Use
GLOBAL_GET
forwindow_{height,width}_override
(GH-92075). - Fix web export state for Remote Debug (GH-92163).
- Ensure that Godot's version of
libc++_shared.so
is always selected (GH-92525). - Fix iOS exports never embedding framework bundles (GH-92692).
- [iOS export] Automatically generate ARM64 simulator library from device library if it's missing (GH-92750).
- Fix issues related to code-signing for macOS exports (GH-93101).
- Android: Revert hiding of custom templates under the
Advanced Options
toggle (GH-93551). - Web: Add "threads"/"nothreads" feature tags to export presets (GH-93556).
- Add
nothreads
feature tag to signify lack ofTHREADS_ENABLED
(GH-93563). - EditorExportPlugin: Call
_export_file
for all resource types (GH-93878). - Fix error when exporting files without import parameters (GH-94405).
- Fix issue preventing enabling the remote button for Android/iOS (GH-94425).
- [macOS export] Do not stop export on signing errors (GH-94677).
- Fix Android export failing with custom keystores and no JDK setup in the OS environment (GH-94809).
- Windows: Improve editor grouping, set friendly name registry key for exported projects (GH-94976).
- iOS: Fix dylib GDExtension conversion (GH-95323).
GDExtension
- Allow registering "runtime classes" from GDExtension (GH-82554).
- Add an interface for loading extra documentation (GH-83747).
- Fix some DEFVALs to use the right type (GH-84906).
- Fix updating cached singletons when reloading GDScripts (GH-85373).
- CI: Add 4.2-stable.expected file for GDExtension compatibility checks (GH-85748).
- Fix overriding
CollisionObject3D::_mouse_enter()
and_mouse_exit()
from GDExtension (GH-85870). - Fix operator documentation in GDExtension API dump with docs (GH-86087).
- Replace
GDVIRTUAL_CALL
withGDVIRTUAL_REQUIRED_CALL
where applicable (GH-86169). - Correctly register editor-only module classes with the API (GH-86209).
- Fix
ScriptLanguageExtension::_find_function
argument names (GH-86520). - Distinguish between dynamic library not found and can't be opened (GH-86682).
- Fix Android dynamic library loading (GH-86792).
- Editor: Add missing virtual bind to
EditorNode3DGizmo(Plugin)
(GH-86881). - Fix virtual calls for GDExtension in
CollisionObject2D
(GH-86908). - Add renaming of PDB files to avoid blocking them (GH-87117).
- Allow GDExtensions to register virtual methods and call them on scripts (GH-87758).
- Expose
NOTIFICATION_EXTENSION_RELOADED
toClassDB
(GH-87863). - Add null check for GDExtension deinitialization (GH-87938).
- Fix
gdextension_compat_hashes.cpp
for double precision builds (GH-88188). - Fix loading GDExtension dependencies on Android (GH-88381).
- Allow GDExtensions to set a
compatibility_maximum
(GH-88417). - Unbind GDExtension methods that can't reasonably be used (GH-88418).
- Fix
-Wtype-limits
warning incompatibility_maximum
patch check (GH-88527). - Expose OpenXR hand tracker handles (GH-88566).
- Allow registering "runtime classes" in modules (not just GDExtension) (GH-88683).
- Use godot-cpp 4.2 for the "Godot CPP" CI workflow (GH-88736).
- Fix calling ancestor methods on runtime classes (GH-88870).
- Add extension support for argument count to
ScriptInstance
(GH-89050). - Pass count when freeing method and property lists for script instances (GH-89055).
- TextServer: Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs (GH-89207).
- OpenXR: Allow GDExtensions to provide multiple, ordered composition layers (GH-89460).
- Print correct path when unable to find GDExtension library (GH-89677).
- Bind constants related to 6DOF joints (GH-89851).
- Fix
Resource::get_rid override
not working in GDExtension (GH-90273). - XR: Fix binds for composition layer virtuals (GH-90391).
- Use
likely()
inPtrToArg<T *>
when checking for nullObject *
s (GH-90394). - Fix GDExtension hot reload for classes not created via
ClassDB::instantiate()
(GH-90447). - Defer call to
set_break_language
(GH-90776). - Compatibility: Add stub for VisualShaderNodeComment (GH-90797).
- Expose
ClassDB::class_get_property_default_value
method (GH-90916). - Fix missing library path breaking hot reloading (GH-90961).
- Fix GDExtension documentation disappearing after hot-reload (GH-91126).
- Fix ptrcalls to static GDExtension methods (GH-91153).
- Provide
free_property_list_func
with length of array (GH-91179). - Bind compatibility GDExtension methods removed in #88418 (GH-91502).
- Generate docs from GDExtensions using
--gdextension-docs
with--doctool
(GH-91518). - Add default implementation of
ScriptLanguageExtension::preferred_file_name_casing
(GH-91570). - Prevent crash during shutdown as singletons are deleted (GH-91806).
- Release Engine after unregistering GDExtensions (GH-92060).
- Don't use
ERR_PRINT_ONCE()
for runtime class error because it will hide errors (GH-92216). - Fix
ClassDB
not checking for editor classes properly (GH-92345). - [TextServer, GDExtension] Fix building text servers as GDExtension, expose new/changed low-level methods to GDExtension API (GH-92715).
- Use GDExtension
to_string
in Node (GH-92827). - Make
profiling_get_frame_data
call the correct GDVIRTUAL method (GH-93281). - Object: Use const correct
GDExtensionConstStringNamePtr
(GH-93288). - Fix setting base class properties on a runtime class (GH-94089).
- GDExtension docs: Advise bindings to use
uint64_t
for bitfields (GH-94307). - Fix to restore
library_path
as absolute path (GH-94373).
GDScript
- Add editor settings for autocompletion with NodePath and StringName (GH-66481).
- Add
@export_custom
annotation (GH-72912). - Improve autocompletion with
get_node
(GH-79386). - Update completion menu even if no options exist (GH-79387).
- Add module description in markdown (GH-81345).
- Documentation: Add support for deprecated/experimental messages (GH-81458).
- Include lambda dependencies (GH-81629).
- Change GDScriptDataType
container_element_type
to vector container (GH-81662). - Add
@export_storage
annotation (GH-82122). - Core: Allow methods of built-in
Variant
types to be used as Callables (GH-82264). - Improve error messages for invalid indexing (GH-82639).
- Allow
@export
ed Arrays to set property hints for their elements (GH-82952). - Fix
@warning_ignore
annotation issues (GH-83037). - Allow empty parentheses for property getter declaration (GH-83120).
- Highlight code region comments (GH-83220).
- Fix
UNSAFE_CAST
warning (GH-84043). - Fix crash when extending taken-over named class (GH-84148).
- Autocompletion: Mark datatype as constant for constant arrays (GH-84492).
- Fix autocompletion for enum members in the core classes (GH-84532).
- Fix autocompletion after DOLLAR token (GH-84706).
- Fix DAP breakpoints being cleared on closed scripts (GH-84898).
- Add unit test runner for autocompletion (GH-85178).
- Filter groups and categories from autocompletion (GH-85196).
- Handle global classes when resolving type from
PropertyInfo
(GH-85215). - Prefer identifiers annotated type if assigned type is incompatible to it (GH-85224).
- Handle global classes when resolving property location (GH-85239).
- Generate
arghint
for script types (GH-85382). - Suggest scene unique nodes in
get_node
autocompletion (GH-85384). - Make annotations register statically in parser (GH-85487).
- Move "Expected indented block" error message's line number back to where the error is (GH-85488).
- Stop caching packed scenes in GDScript cache (on preload) (GH-85501).
- Speed up
GDScript::get_must_clear_dependencies()
(GH-85603). - Make GDScriptAnalyzer aware of properties from other languages (GH-85703).
- Adjust
STATIC_CALLED_ON_INSTANCE
warning to not force native type (GH-85918). - Fix accessing static function as
Callable
in static context (GH-86088). - Fix POT generator skips some nodes (GH-86091).
- Fix regression when autocompleting subscript on get node (GH-86111).
- Fix type highlighting (GH-86176).
- Fix the autocomplete function for the
self
keyword (GH-86341). - Fix POT generator skips some nodes (part 2) (GH-86471).
- Fix symbol lookup in index subscript (GH-86554).
- Lambda hotswap fixes (GH-86569).
- Improve sorting of enum autocompletion (GH-86667).
- Hot-reload changed scripts only (GH-86676).
- Add
StringName
support to@GDScript.len
(GH-86704). - Allow utility functions to be used as
Callable
(GH-86823). - Allow specifying a scene in completion tests (GH-86961).
- Add tests for
get_node
autocompletion (GH-86973). - Improve error message when a GDScript instance fails to be constructed (GH-86999).
- Simplify script paths to ensure proper resource path checks (GH-87124).
- Handle GDScript in
_type_from_variant
for autocompletion (GH-87278). - Allow
free()
to be used as Callable (GH-87294). - Better hide internal properties from users (GH-87381).
- Use autoload singleton name in
GDScriptDocGen
(GH-87421). - Make
GDScriptUtilityCallable
return call error when method is invalid (GH-87783). - Add
is not
operator (GH-87939). - Prevent running
String
number functions on invalid literal (GH-87941). - Set
has_type
false if it isBUILTIN
butVariant::NIL
(GH-88020). - Enable Add Type Hints editor setting by default (GH-88026).
- Fix NodePath autocompletion to ensure paths are quoted when required (GH-88071).
- Add fallback argument hints for default values (GH-88211).
- Fix type highlighting after whitespace (GH-88876).
- Clean up some unused code (GH-88899).
- Core: Add
Callable.create
static method forVariant
callables (GH-88948). - Fix some test file paths (GH-89151).
- Fix use after free in
GDScriptLanguage::debug_get_globals
(GH-89274). - Allow LSP to process multiple messages per poll (GH-89284).
- Fix enum autocompletion for core classes (GH-89382).
- Update
@GDScript
documentation (GH-89484). - Fix missing gutter icon for inner class method overrides (GH-89545).
- Fix object iterator opcodes (GH-89639).
- Correctly report invalid read-only access (GH-89648).
- Fix
for
expression is highlighted as type (GH-89659). - Improve DocGen for non-constant expressions (GH-89738).
- Completion Tests: Add script to owner (GH-89884).
- Fix uninitialized local variables not being reset (GH-89990).
- Fix errors when renaming/moving/deleting global scripts (GH-90186).
- Don't pass
self
when calling a static function from a non-static context (GH-90223). - Fix multiline array/dictionary match statements (GH-90373).
- Add tests for signal await with parameters (GH-90398).
- Fix highlighting escapes in multiline raw strings (GH-90419).
- Don't warn on unassigned for builtin-typed variables (GH-90442).
- Infer type with string format operator (GH-90448).
- Register the export info correctly when a script is used as the variable type for Node (GH-90487).
- Resolve types from autoload scenes (GH-90498).
- Assume constructor to be accessible from class (GH-90552).
- Allow casting enum to int (GH-90580).
- Fix out of date errors in depended scripts (GH-90601).
- Fix some export annotation issues (GH-90716).
- Warn when enum variable has no default (GH-90756).
- Suppress unused constant warning with underscore (GH-90794).
- LSP: Have
GDScriptWorkspace::list_script_files
respect.gdignore
(GH-90949). - Fix test
reset_uninit_local_vars.gd
failure (GH-91120). - Perform validated calls with static methods (GH-91192).
- Call implicit ready on base script first (GH-91364).
- Fix access non-static members in static context (GH-91412).
- Initialize static variables with defaults in-editor (GH-91472).
- Autocompletion: Analyze CLASS types as they are encountered (GH-91653).
- Show custom icons in autocompletion suggestions (GH-91923).
- Add support for
atr
andatr_n
to POT generator (GH-91951). - Fix
STANDALONE_EXPRESSION
warning forpreload()
(GH-92027). - Fix segfault on invalid script (GH-92035).
- Fix broken built-in script reloading (GH-92177).
- Fix lambdas capturing non-local variables (GH-92241).
- Fix completion for
new
arguments (GH-92251). - Fix synchronization of global class name (GH-92303).
- DAP: Add
--dap-port
as a command line argument (GH-92336). - [GDScript LSP] Fix
show_native_symbol_in_editor
(GH-92386). - Fix subscript resolution on constant non-metatype GDScript base (GH-92544).
- Do not produce
INFERRED_DECLARATION
on type import (GH-92558). - Partially allow member lookup on invalid scripts (GH-92609).
- Invalidate cached parser chain when reloading (GH-92616).
- Add more autocompletion tests (GH-92688).
- Editor: Hide GDScript internal functions from method selectors (GH-92802).
- Add coloring for completion of Color components (GH-92874).
- Fix goto definition for
new
method (GH-92885). - Avoid deadlock possibility in multi-threaded load (GH-93032).
- Autocompletion: Add support for string name option in more places (GH-93057).
- Fix mismatched external parser with binary exports (GH-93166).
- Enhance handling of cyclic dependencies (GH-93346).
- Fix non-global class export (GH-93384).
- Fix symbol lookup for native enums (GH-93566).
- Fix editor crash when invalid global class script path (GH-93575).
- Add
CONFUSABLE_CAPTURE_REASSIGNMENT
warning (GH-93691). - Fix false positive
CONFUSABLE_CAPTURE_REASSIGNMENT
warnings (GH-93699). - Autocompletion: Don't use
in
operator to decide over variant lookup (GH-93815). - Fix GDScript analyzer error when instantiating EditorPlugins (GH-93942).
- Fix
get_argument_count
for lambdaCallable
s (GH-93964). - Fix implicit cast to typed array when passing parameter (GH-94025).
- Fix
get_method
for lambda selfCallable
s (GH-94076). - Fix "Mismatched external parser" for autoloads (GH-94131).
- Call setter on simple setter chain without getter (GH-94138).
- Make errors on
RefCounted.free()
more accurate (GH-94238). - Restore support for
Token::UNDERSCORE
in identifiers (GH-94327). - Autocompletion: Register depended parsers with the main parser (GH-94424).
- Speed up
GDScriptLanguage::finish
(GH-94505). - Fix false positive cases of
ENUM_VARIABLE_WITHOUT_DEFAULT
(GH-94635). - Fix incorrect default values in
_make_arguments_hint()
(GH-94664). - Fix incorrect setter call for reference types (GH-94674).
- GDScriptTestRunner: Fix compiler error output (GH-94676).
- GDScriptCache: Clear abandoned parser refs (GH-94678).
- Fix locals clearing after exiting
while
block (GH-94730). - Fix common mismatched external parser errors (second try) (GH-94871).
- Fix unnecessary calls to
remove_parser
(GH-95115). - Fix resolve class inheritance after file rename (GH-95330).
GUI
- Use black for font outlines by default instead of white (GH-54641).
- Make the drawing logic clearer in
Button
(GH-64351). - Toggle control expand flag directly via top bar (GH-65258).
- Add FlowContainer wrap options for center alignment (GH-72323).
- Show selected end of line in TextEdit (GH-72341).
- Add option to reverse FlowContainer fill direction (HFlow bottom-to-top, VFlow right-to-left) (GH-74195).
- DisplayServer: Use screen "usable rect" instead of full rect to calculate initial window rect (GH-75489).
- Make editor inspector follow focus (GH-78960).
- Fix read-only EditorSpinSlider display (GH-80544).
- Trigger zoom from pan gestures when pressing ctrl (GH-80994).
- Add Ctrl + L / Cmd + Shift + G shortcut to focus path bar in FileDialog (GH-81177).
- Enable scrolling of output with UI scale changes (GH-82079).
- Option to put TabContainer tabs at bottom (GH-82468).
- Fix opening docs writing extra navigation history (GH-82498).
- [Text Overrun] Add option to set custom ellipsis character, add support for system font fallback (GH-82661).
- Add
set_slot_custom_icon
andget_slot_custom_icon
to GraphNode (GH-82669). - PopupMenu: Handle
physical_keycode
andkey_label
of shortcuts (GH-82897). - PopupMenu: Handle shortcuts with "global" flag directly (GH-82900).
- Support updating tooltip immediately after editor description change (GH-82916).
- Show revert button for MeshInstance3D blendshape values (GH-82984).
- Add automatic translation of items to ItemList (GH-83577).
- Make ProgressBar reflect the real value in the percent label when "allow greater" is checked (GH-83623).
- Add dotted grid to GraphEdit (GH-83785).
- Fix dock visibility issues (GH-84122).
- Label: Add get_character_bounds method to get bounding rectangles of the characters (GH-84185).
- RichTextLabel: Fix
remove_paragraph
crash by popping current (GH-84312). - Allow additional hexadecimal color codes in ColorPicker (GH-84442).
- Cache allowed types in EditorResourcePicker (GH-84443).
- Don't check resource type assigned in property (GH-84446).
- Display a revert icon on ColorPicker's old sample (GH-84527).
- Fetch override list from ThemeDB (GH-84760).
- Fetch theme editor items from ThemeDB (GH-84763).
- VideoPlayer: Fix reloading translation remapped stream (GH-84794).
- Implement disabled state for Checkbox in Tree (GH-84845).
- Hide ineffective TextureProgressBar properties in the editor (GH-84940).
- Use disabled icons for CheckBox in DefaultTheme (GH-84946).
- Fix conflicted indeterminate state in asset importer (GH-84953).
- Editor: Add option to override editor UI layout direction (GH-85000).
- Fetch argument options from ThemeDB (GH-85015).
- Highlight error lines in minimap (GH-85054).
- Restored Control properties when you undo a parenting of a Control to a Container (GH-85181).
- Fix updating delimiter cache of
CodeEdit
when typing on the first line (GH-85191). - Make sure
Window
's title is respected before we compute the size (GH-85312). - Fix crash on hiding grandparent Control on mouse exit (GH-85313).
- Fixes for undo in text editor grouping unrelated actions (GH-85325).
- RTL: Fix CharFX character offset calculation (GH-85363).
- Add methods to add submenus without using names (GH-85477).
- Limit window size updates on title change (GH-85542).
- Ensure slider grabs focus only when it can (GH-85652).
- Fix unnecessarily quantizing current color in color picker (GH-85749).
- Fix size and visuals of the
InputEventConfigurationDialog
(GH-85790). - Allow dragging selection when selecting whole words in
LineEdit
(GH-85801). - Limit window size updates on title translation change (GH-85828).
- Correctly enforce minimum window size in editor (GH-85887).
- Windows: Set application user model ID to prevent editor / running project and different versions of editor taskbar icon stacking (GH-85905).
- TextServer: Implement soft hyphen handling (GH-85940).
- Expose a method to get hovered Control in Viewport (GH-85966).
- Prevent crash when calling
set_text()
on a removed TreeItem (GH-86028). - Fix theme access in the Groups editor (GH-86031).
- Fix
ColorPicker
's alpha slider arrow offset (GH-86034). - TextServer: Do not draw non-visual characters (GH-86065).
- Fix so undoing complex operations in
TextEdit
will restore selections (GH-86118). - Remember last
color_mode
andpicker_shape
inColorPicker
s in the editor (GH-86129). - Fix Popup hover and height calculation are off by some pixels (GH-86141).
- Rework
GraphEdit
connections (drawing, API, optimizations) (GH-86158). - Fix various issues with the folder color lookup (GH-86171).
- Fix
Node
selection when navigatingTree
with Arrow keys (GH-86218). - Fix changing
gui_embed_subwindows
while a child window is displayed (GH-86220). - macOS: Fix updating editor tab titles in the dock menu (GH-86290).
- Fix
MenuBar
andMenuButton
hover position scaling properly with the scale factor multiplier (GH-86304). - MenuBar: Store and use global menu item indices (GH-86322).
- Emit slider's
drag_started
signal before the first value change (GH-86377). - Implement a
transient_to_focused
Window mode (GH-86446). - Fix double
text_changed
signal when overwriting selection in LineEdit (GH-86460). - Fix D&D viewport position calculation (GH-86511).
- Fix non-embedded tooltips, popups and dialogs resizing to match Viewport content scale factors != 1.0 (GH-86553).
- Make
LineEdit
scrolling show as much text as possible (GH-86732). - In
merge_with
also merge some default fields of theme (GH-86894). - Overhaul multicaret editing and selection in TextEdit (GH-86978).
- Fix
LineEdit
caret rendering/positioning on Undo (GH-87012). - Button: Add autowrap feature (GH-87025).
- Refactor editor theme generation and add spacing presets (GH-87085).
- Allow no tabs to be selected in TabBar and TabContainer (GH-87194).
- macOS: Do not unbind PopupMenu from global menu on
clear
call (GH-87249). - [Native File Dialog] Add support for adding custom options to the dialogs (w/o editor changes) (GH-87303).
- Add indeterminate mode to ProgressBar (GH-87318).
- TextServer: Fix precision loss in the string drawing methods (GH-87335).
- Add method to get "base" system UI color and system theme change callback (GH-87384).
- Expose
PopupMenu
get_item_multistate()
andset/get_item_multistate_max()
(GH-87395). - Redraw
TreeItem
on more changes (GH-87415). - Use callable for
TreeItem
custom draw (GH-87417). - Fix issue where
set_global_position(global_position)
inControl
resulted in a different result thanglobal_position
(GH-87432). - Move
global_menu_*
methods to a separateNativeMenu
class (GH-87452). - Fix PopupMenu doesn't respect its ScrollContainer's margins (GH-87462).
- Fix forgetting
h_separation
when internal elements exist (GH-87474). - Fix TextEdit IME issues (GH-87479).
- Rework the auto translation system (GH-87530).
- Replace internal usage of ImageTexture in VideoStreamPlayer for Texture2D (GH-87555).
- RTL: Connect image update signals (GH-87587).
- [TextServer / Font] Add support for customizable baseline offset (GH-87668).
- TreeItem: Add
get_button_color()
(GH-87686). - Fix script editor
undo
shortcut with global menu enabled (GH-87773). - Automatically set viewport background to transparent when window flag is set (GH-87856).
- Fix freeze in TextEdit with
scroll_past_end_of_file
andfit_content_height
(GH-87880). - Add 'Skip to next (text) occurrence' feature to text editor (GH-87883).
- macOS: Fix changing main menu item names (GH-87912).
- Only recurse depth wise in
Tree::_count_selected_items
(GH-87943). - macOS: Do not show file type popup in the native file dialog if there's only one option, improve
*.*
filter handling (GH-87954). - Fix
set_item_submenu
infinite recursion crash (GH-87967). - Implement GraphFrame and integrate it in VisualShader (GH-88014).
- Fix
Slider
's mouse drag position when grabber is centered (GH-88068). - TextServer: Fix bitmap font kerning override (GH-88089).
- TextServer: Add extra fallback step, to lookup for individual characters (GH-88091).
- Tweak property order in the inspector for OptionButton (GH-88145).
- Add PropertyListHelper to PopupMenu (GH-88162).
- Font: Do not use trim with ellipsis in the basic Font string drawing functions (GH-88185).
- Fix vertical alignment of editor version
LinkButton
in the bottom panel (GH-88197). - Fix recursive Tree expand/collapse shortcuts not working (GH-88265).
- Fix
TabBar
size when theme changes (GH-88293). - Add
is_visible_in_tree
inTreeItem
(GH-88300). - [Fallback TextServer] Add support for non breaking spaces (GH-88344).
- Fix ItemList click detection gaps (GH-88347).
- Editor: Improve clarity and style of
ResourcePicker
menu (GH-88435). - Editor: Add missing ellipses to menu options that open dialogs (GH-88436).
- Improve text editor status bar and zooming UX (GH-88474).
- Tweak property order in the inspector for TabBar (GH-88477).
- Fix
LineEdit
delete all the way to the left/right when something is selected (GH-88479). - Fix error spam when adding tabs to
TabBar
without deselect (GH-88494). - Fix regression in auto translation overhaul (GH-88521).
- TextEdit: Add support for optional wrapped line indentation (GH-88546).
- Hide separators in ItemList in editor theme (GH-88575).
- Fix item positioning, text alignment & unwanted clipping of ItemList items (GH-88577).
- Fix
RichTextLabel
's tag stack being overridden on translation change (GH-88598). - Fix implementation of
property_can_revert()
in PropertyListHelper (GH-88665). - Don't translate filenames in FileSystem dock (GH-88716).
- If SpinBox text can't be parsed use last updated text (GH-88794).
- Mention how Control focus loss affects
Viewport.gui_focus_change
(GH-88811). - Fix crash when selecting re-added
TreeItem::Cell
(GH-88917). - Fix mouse entered notifications (GH-88992).
- RTL: Add optional
push_meta
argument to control how meta underline is drawn (GH-89024). - Add auto translation to
Tree
(GH-89032). - Fix issues with text clearing in
RichTextLabel
(GH-89100). - Label3D: Calculate AABB from the full text rect instead of individual glyphs (GH-89145).
- RTL: Fix meta hover area detection (GH-89158).
- TextServer: Fix fallback line breaking code adding two breaks for CR-LF (GH-89171).
- Window: Allow to override viewport and project settings and force use of native window (GH-89172).
- NativeMenu: Add checks to avoid unnecessary warnings (GH-89224).
- Add text tooltip for TabBar & TabContainer (GH-89247).
- NativeMenu: Implement native popup menu support on Windows (GH-89273).
- StatusIndicator: Add method to get indicator icon screen rect (GH-89275).
- Fix packed scene translation parser missing strings (GH-89286).
- Add pre-4.3 Editor theme color names for compatibility (GH-89302).
- Fix Label3D, TextMesh & Font not following project default theme in editor (GH-89311).
- Font: Add option to disable embedded bitmaps loading (GH-89383).
- RTL: Use "visible characters" property for inline object visibility (GH-89395).
- Fix some AcceptDialog argument types (GH-89419).
- Fix help label will be partly outside the view area at 150% editor scale (GH-89437).
- Fix bug related to multicursor and backspacing with brackets (GH-89469).
- Fix
Control::set_global_position
for rotated/scaled transforms (GH-89502). - Fix NativeMenu layout direction on macOS, add extra check for Windows menu (GH-89506).
- Label: Move shadow drawing into a separate draw step (GH-89510).
- NativeMenu: Fix MinGW build (GH-89513).
- NativeMenu: Fix changes lost due to incorrect rebase (menu goes under task bar, dark mode, item text get, docs) and check to ensure help menu is not using native menu on Windows (GH-89540).
- StatusIndicator: Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly (GH-89588).
- Fix TextEdit selection end of line drawing for wrapped lines and gaps (GH-89625).
- Fix
empty_clicked
signal in Tree when usinghide_root
(GH-89664). - Font: Apply oversampling to the "embolden" strength (GH-89666).
- Do not apply
force_native
to the edited scene windows (GH-89673). - Add minimum width/height to dialog buttons (GH-89693).
- RTL: Move shadow and foreground/background boxes drawing into a separate draw steps (GH-89705).
- Fix a pixel misalignment in the blue robot logo (GH-89711).
- [Native File Dialog] Add support for using native dialogs in the editor (GH-89735).
- Prefer family name in fonts' names table (GH-89817).
- Correct FileDialog Theme overrides (GH-89845).
- MenuBar: Use NativeMenu RIDs instead of indices to track items (GH-89875).
- NativeMenu: Move files to the
display
subfolder (GH-89900). - Remove Control z-index warning (GH-89956).
- Fix TreeItem shows cell edit in the wrong column when
select_mode=Row
and TreeItem has multiple columns (GH-89977). - Make
TextEdit.clip_contents
more transparent to users (GH-89993). - TextServer: Expose ICU title case string conversion to scripting (GH-90196).
- Fix error message when removing only child from GraphNode (GH-90229).
- Fix potential null access in
TextEdit
(GH-90274). - Remove border roundness inside panels of
AcceptDialog
windows (GH-90283). - Fix built-in
FileDialog
appearing instead of the native one on some cases (GH-90318). - TextServer: Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates (GH-90349).
- RTL: Add support for character code BBCode tag
[char=...]
(GH-90405). - Fix
TabContainer
desync when tabs share names (GH-90415). - RTL: Fix dropcaps and list prefixes not taking visible characters into account (GH-90472).
- RTL: Rewrite
remove_paragraph
code (GH-90518). - Remove
Popup
's unused "panel" style (GH-90633). - Fix submenus erroneously closing on some occasions (GH-90639).
- Fix decimal and hex ranges not working with image fonts (GH-90647).
- Don't store deprecated
auto_translate
property (GH-90685). - Add project setting for root node auto translate mode (GH-90730).
- Improve TextEdit/LineEdit word selection (GH-90732).
- Fix potential infinite loop when using global menu (GH-90791).
- Button: Fix theme elements size rounding errors not keeping sufficient space for the text (GH-90838).
- Fix TreeItem button handling (GH-90839).
- Revert "Correctly display tooltips for buttons in Tree when they overlap cell content (GH-90842).
- Fix buttons offset to the right when dialog is at minsize (GH-90852).
- Don't translate ColorPicker color labels (GH-90869).
- Fix crash when GraphFrame
sb_to_draw_panel
is not a StyleBoxFlat (GH-90874). - Fix offset of node filter menu separator icon (GH-90886).
- Fix TabContainer not redrawing after toggling tab icon (GH-90942).
- Enable
Scrolling
signal when scrolling with middle mouse onRichTextLabel
orScrollContainer
(GH-90988). - Add line limit to Output Log in Editor (GH-91012).
- Fix TabContainer using wrong content rect after tab title update (GH-91038).
- Fix wrong Tree column title position (GH-91044).
- Fix port cache calculation in GraphNode (GH-91083).
- Fix Tree minimum size calculation (GH-91095).
- RTL: Add extra argument to
remove_paragraph
to skip cache invalidation and a method for manual cache invalidation (GH-91098). - PopupMenu: Fix incorrect vertical scroll bar visible at fractional content scale (GH-91114).
- Use TextEdit caret color for minimap highlight (fix minimap regression) (GH-91137).
- Add no-change check to
Label3D::set_text
(GH-91177). - Fix
TabContainer
regressions related to switching tabs in certain cases (GH-91188). - Don't use vscroll when fit to content height in TextEdit (GH-91190).
- Allow setting max icon width per tab for TabContainer (GH-91193).
- Fix RichTextLabel "Scroll Following" randomly stops working (GH-91275).
- Fix disabled files in FileDialog using the wrong color (GH-91281).
- Update
LineEdit
to includeread_only
StyleBox inget_minimum_size()
(GH-91326). - Windows: Fix
WINDOW_EVENT_FOCUS_IN
not delivered in some cases (GH-91361). - Unhide carets in add selection for occurrence and fix error (GH-91390).
- Make
mouse_focus
andmouse_focus_mask
consistent forforce_drag
(GH-91425). - Fix TextEdit crash with multiple carets disabled and paste (GH-91457).
- Add
as_sortable_control()
to unify Container checks (GH-91613). - Fold TreeItems when clicking to the left of fold icon (GH-91699).
- Fix CheckBox and CheckButton not using
icon_max_width
(GH-91700). - Fix TextEdit minimap tab drawing and click check (GH-91720).
- Use
as_sortable_control()
in SplitContainer (GH-91728). - Fix placement of ColorPicker in the editor (GH-91757).
- Fallback to default theme for variation items (GH-91793).
- Round the icon's drawing rect when drawing the button (GH-91802).
- Fix Control resizing wrongly after "change type" in editor (GH-91804).
- Editor: Add editor setting to control
disable_embedded_bitmaps
property of the editor fonts (GH-91931). - GraphEdit: Fix GraphNode's ports interactable through other GraphNodes (GH-91991).
- Fix tooltip mouse position conversion for scaled controls (GH-91997).
- Improve button min. size calculation (GH-92009).
- Fix Tree and FileSystemList edit popup double events and ESC behavior (GH-92042).
- Fix scrollbar issues in
ScrollContainer
(GH-92138). - Fix TextureButton's click mask texture size ignored if missing normal texture (GH-92222).
- Fix
PopupMenu
focus issues afterViewport::set_embedding_subwindows
is changed (GH-92243). - Fix crash during code editor folding and LSP (GH-92301).
- Fix
get_position_with_decorations
andget_size_with_decorations
for embedded windows (GH-92317). - Remove duplicate if/else code in
TextEdit::_notification
(GH-92342). - Fix duplicate AcceptDialog cancel/confirm events (GH-92460).
- RTL: Use real text/object height instead of line height for meta click/hover detection (GH-92461).
- GraphEdit: Convert to minimap line after getting connection line (GH-92463).
- Invalidate
Control
global transform before notifying about resize / rect change (GH-92489). - TextEdit: Use style margins for selection in read-only mode (GH-92505).
- Fix minimap error when moving to the top (GH-92557).
- RTL: Clear default justification flags if custom are set (GH-92565).
- Fix
RichTextLabel
table overlapping with next line (GH-92605). - Fix
NOTIFICATION_SORT_CHILDREN
is called twice on startup (GH-92645). - Fix popup windows content margins (GH-92647).
- Add visibility mode to
as_sortable_control()
(GH-92664). - Button: Adds theme option to align button text and icon to either largest or current stylebox (GH-92701).
- Force canvas item update on oversampling change (GH-92731).
- Fix IME activation in subviewports (GH-92740).
- RTL: Fix nested ordered lists inside unordered lists (GH-92745).
- macOS: Improve native menu open/close callbacks (GH-92781).
- Fix excessive canvas items updates (GH-92808).
- Stop color picker tooltip from stealing input events (GH-92843).
- Force editor progress dialog size update (GH-92856).
- Fix
TextureProgressBar
radial mode invalid polygon edge case (GH-92901). - Window: Fix mouse hover state of the main window when mouse enter event was sent before setting callbacks (GH-92908).
- Fix native file dialogs being shown on
set_visible(false)
(GH-92943). - RTL: Fix list item prefix width not taken into account (GH-92968).
- Fix
Container::pending_sort
tracking (GH-93008). - TextEdit: Don't error when undo stack is empty (GH-93042).
- Button: Do not include internal margins into base button minimum size (GH-93128).
- RTL: Fix
align_to_row
for the last table row (GH-93137). - RTL: Fix table h/v separation alignment (GH-93140).
- Fix engine crashing when using Down Arrow selection on Tree with no selection (GH-93179).
- TextServer: Save advances rounding remainders to prevent rounding error accumulation (GH-93256).
- Fix GridContainer minimum size when there's a hidden parent (GH-93386).
- Fix FlowContainer scale from also scaling wrap point (GH-93444).
- Fix atlas texture positioning in circular TextureProgressBar (GH-93467).
- Fix subwindow titlebar redraw on oversampling change (GH-93490).
- CodeEdit: Fix move lines up/down viewport and selection issues (GH-93607).
- Hide unused category vboxes in inspector (GH-93627).
- Button: Use
align_to_largest_stylebox
for min. size calculation (GH-93708). - Fix RichTextLabel fade set
start_index
to command offset (GH-93721). - Change GUI controls pixel snap to round halfway towards positive infinity (
floor(x + 0.5)
) (GH-93749). - Fix division by zero in aspect ratio calculation (GH-93764).
- Fix
AtlasTexture::draw_rect
flipping for non-zero margin (GH-93828). - Fix some VisualShader features for high DPI displays/custom UI scales (GH-93903).
- Fix
Control
nodes emitting unnecessaryresized
signals (GH-93908). - Fix dropping on selection in script editor (GH-93959).
- Fix connections not updated after GraphNode slot update (GH-93999).
- Fix RichTextLabel +
ui_down
scrolling too far (GH-94003). - NativeMenu: Do not auto toggle check/multi-state items. Add
is_native_menu
method (GH-94061). - Fix LCD font AA modulation in RendererRD (GH-94064).
- Fix container minimum size with hidden parent (GH-94085).
- Prevent confirm button being overridden to "Open" when in save file mode (GH-94172).
- Avoid
FlowContainer
crash withTextureRect
usingEXPAND_FIT_*
expand modes (GH-94286). - macOS: Fix code completion list scrolling with trackpad (GH-94363).
- Fix input lock issue when drag scrolling on a
Tree
element on touchscreen devices (GH-94422). - Fix ScriptEditor scrolling horizontally when reopening script (GH-94439).
- Fix game window stops responding when debugger pauses (GH-94452).
- RTL: Fix text size rounding with MSDF fonts (GH-94606).
- ScrollContainer: Fix RTL on follow focus (GH-94621).
- GraphEdit: Correctly disconnect signal to
connection_layer
(GH-94810). - Fix
TextEdit
scroll properties editor hint suffix (GH-94821). - Fix TextEdit placeholder fit content height (GH-94848).
- Use legacy color picking in single window mode (GH-94931).
- Windows: Check if transparency is enabled in the project setting before applying DWM blur (GH-95009).
- Fix GraphEdit port snapping in certain edge cases (GH-95059).
- Font: Add check for cyclic base font dependencies (GH-95083).
- Clear
TabBar
tab close button's rect after it's hidden (GH-95122). - PopupMenu: Increase mouse button release timeout and reset it from
post_popup
(GH-95232). - Stop popup release timeout on click (GH-95432).
Import
- Move 3D scene import classes to their own folder (GH-51569).
- Blend import: Allow importing
active_collection_only
(GH-73941). - Tweak environment in the Advanced Import Settings dialog (GH-75787).
- Add secondary light to 3D Advanced Import Settings (GH-76140).
- Add an editor setting to import resources while unfocused (GH-76991).
- Fix lossless formats in PortableCompressedTexture2D (GH-77712).
- GLTF: Update
OMI_physics_body
, addOMI_physics_shape
, keepOMI_collider
(GH-78967). - Add export settings to the export dialog for GLTF (GH-79316).
- Refactor DDS loading code (GH-80900).
- Support loading more DDS formats (GH-81220).
- Add ufbx for FBX importing (GH-81746).
- Rename ImportSettings dialogs to have "Dialog" in the name (GH-82899).
- Fix referring to ResourceImporterScene static importers via instances (GH-82988).
- Fix desynced duplicate GLTFNode transform properties (GH-83231).
- Fix Scene Importer crashing when animation or mesh save paths are invalid (GH-83856).
- Do not mutate source Image in
Image::save_jpg
and use encoder return value (GH-84546). - Add support for comment (ignorable) column in translation csv (GH-84569).
- Reimport file when .import changes (GH-84974).
- Fix memory leak on error paths in tinyexr loader (GH-85002).
- Replace
//
with\\
before sending path to Blender (GH-85335). - Update
blender_path
behavior to require exact path to executable instead of trying to guess it (GH-85448). - Added proper timeout for blender rpc connection (GH-85519).
- Fix memory corruption and assert failures in convex decomposition (GH-85631).
- Add toaster notifications for import warnings (GH-85807).
- Improve normal map VRAM Compression with RGTC (GH-85842).
- Fix squish RGTC_R decompression corruption (GH-85863).
- Prevent overriding file info of another file when reimport creates extra files (GH-85922).
- Fix
squish
DXT5 RA-As-RG channel swapping (GH-85967). - GLTF: Import step interpolation for loc/rot/scale as nearest (GH-86016).
- Do not print error when editor meta was not found as it will be reimported anyway after (GH-86137).
- Disable mesh compression if vertex
position.z
is always 0 (GH-86144). - Implement
ETC2_R
andETC2_RG
compression to etcpak (GH-86313). - Support unspecified linear size in DDS files (GH-86336).
- Add obj importer changes to use ImporterMesh (GH-86365).
- GLTF: Fix three bugs which prevented extracted textures from being refreshed (GH-86504).
- Fix data format storage method for PortableCompressedTexture2D (GH-86835).
- Fix BasisUniversal ETC RA as RG transcoding (GH-86916).
- Misc changes to the GLTF module before audio PR (GH-87063).
- Use ETC2 compression for grayscale images (GH-87144).
- Allow configuring the maximum width for atlas import (GH-87145).
- Run resource previewer on the main thread if using GL compatibility (GH-87229).
- Fix crash in
GLTFBufferView::load_buffer_view_data
(GH-87306). - Retain meta data set on importer nodes (GH-87584).
- Fix crash when previewing a scene with a mesh as the root node (GH-87781).
- Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes (GH-87923).
- Fix crash when importing a GLTF file with a skeleton as the root (GH-87933).
- Fix GLTF exporting invalid meshes and attempting to export gizmo meshes (GH-87934).
- Add "skip file" import option to skip (and exclude from export) importable formats, auto set it for the images used by bitmap font (GH-87972).
- Optimize when colliders are regenerated for imported meshes (GH-88045).
- Font: Allow overriding advances, offsets and kerning in the ImageFont import settings (GH-88088).
- Fix exporting trigger shapes in GLTF (GH-88201).
- Add support for explicitly-defined compound triggers in GLTF files (GH-88301).
- Clean up and optimize BasisUniversal (GH-88464).
- Add ASTC support to BasisUniversal (GH-88485).
- Rework viewport capture in preview generation (GH-88589).
- BasisUniversal: Fix texture decompression (GH-88676).
- Properly calculate binormal when creating SurfaceTool from arrays (GH-88725).
- Multiple fixes for compressed meshes (GH-88738).
- Allow preserving the initial bone pose in rest fixer (GH-88821).
- EditorFileSystem: Add verbose print for file being (re)imported (GH-88904).
- Fix wrong indexing when generating dummy tangents in GLTF import (GH-88931).
- Only store vertices referenced by the indices per surface in the glTF importer (GH-89418).
- BasisUniversal: Fix artifacts on images with resolutions not divisible by 4 (GH-89426).
- Default to trimesh for generated collision shapes in Advanced Import Settings (GH-89461).
- Fix method bindings in FBXDocument by making them virtual in GLTFDocument (GH-89532).
- GLTF: Extract converting hull points to mesh to a helper function (GH-89542).
- Fix crash when columns are skipped in CSV translation (GH-89573).
- Fix import and saving related crashes (GH-89780).
- Fix 2 bugs with scale of position tracks in rest fixer (GH-90065).
- GLTF export: Propagate
property_list_changed
from extensions (GH-90225). - Separate Shape3D resource logic in GLTFPhysicsShape (GH-90230).
- Fix
GLTFDocument.append_from_scene
crash on null node (GH-90505). - Fix errors when re-importing 3D asset files (GH-90531).
- FBX: Fix material colors (GH-90554).
- Rename accessor GLTFType to GLTFAccessorType, fix verbose prints, document GLTFAccessor (GH-90560).
- Fix error when loading SVG imported as Image (GH-90573).
- Fix FBX texture path resolving (GH-90635).
- Remove unused Make Streamable option from scene import dialog (GH-90722).
- Fix FBX and glTF when root nodes are skeleton bones (GH-90789).
- Resolve bind poses from FBX clusters instead of FBX poses (GH-91036).
- fbx: Avoid name conflict with humanoid "Root" bone (GH-91045).
- Fix errors/crashes related to skipped imports (GH-91078).
- Enable tangents in blend shape format when using normals (GH-91372).
- FBX: Fix handling missing skins using ufbx importer (GH-91526).
- FBX: Print ufbx load warnings on import (GH-91529).
- GLTF export improvements (GH-91783).
- Editor: Ensure font image rows/columns are positive (GH-91829).
- Improve memory usage for image import and
PortableCompressedTexture2D
(GH-92179). - FBX: Change trimming default and use FBX2glTF for compatibility (GH-92197).
- Fix script properties being lost and prevent node reference corruption upon scene reimport (GH-92279).
- Fix reimporting assets with csv in the project (GH-92320).
- Fix GLTFDocument so it can export CSG Meshes correctly (GH-92368).
- Avoid crash when importing .glsl in headless (GH-92539).
- Rename FBX2glTF binary path setting back to 4.2 name (GH-92571).
- Fix same importer will be added multiple times in
get_importers_for_extension
(GH-92718). - Fix Keep/Skip File import selection crash (GH-92815).
- Fix incorrect camera transform of animation view in the import window (GH-92974).
- [Image Font Importer] Fix reading advance after hex/dec range (GH-93074).
- Unset the owner of
ImporterMeshInstance3D
before adding it to skeleton's child (GH-93117). - [Image Font Importer] Adds support for
\uXXXX
in the kerning config strings (GH-93119). - Fix ProgressDialog crash when importing TTF font (GH-93161).
- Avoid crashing when scene import settings are empty (GH-93284).
- Remove
monospace/fixed-width
from theResourceImporterImageFont
name and description (GH-93337). - Fix
browse_dialog
in Blender scene importer to accept files (GH-93411). - Make Basis Universal import quiet unless engine is in verbose mode (GH-93442).
- Fix default collision shape on imported rigidbody (GH-93506).
- Editor: Fix importers add-ons after 93238 (GH-93518).
- Use Hermite instead of Bezier for glTF spline interpolation (GH-93597).
- Fix reimport by scan parsing dependency paths incorrectly (GH-93765).
- Fix adding a translation CSV results in errors on initial import for many types of resources (GH-93919).
- Move GLTFAccessorType into GLTFAccessor (GH-93920).
- Update vertex color import to handle Blender 4.2 upwards (GH-93998).
- Fix .blend files with quotation marks in filename fail to import (GH-94004).
- Fix re-import glb model doesn't change the old glb model (GH-94020).
- Fix missing options in Project Import Defaults (GH-94058).
- Fix instanced .blend/GLTF scenes lose all children after update until .tscn is reopened (GH-94093).
- Fix error message being printed when importing an OBJ with no surfaces (GH-94102).
- Don't attempt to re-import broken files if they didn't change (GH-94357).
- Fix handling of missing bin file in gltf separate (GH-94506).
- Fix LOD generation for meshes with tangents & mirrored UVs (GH-94682).
- Android Editor: Disable file reimport when .import changes (GH-94691).
- Fix obj's name set in wrong order when importing (GH-94968).
- Fix reimporting textures after changing import project settings (GH-94975).
- Fix performance issue reimport file reload scene (GH-95225).
- Fix reimport file multiple scenes (GH-95264).
Input
- Add setting for picking only top-most overlapping collision object (GH-75688).
- Fix
push_input
events not going through after first pressed mouse event (GH-77730). - Web: Add IME input support (GH-79362).
- Support detecting and mapping Ctrl/Alt/Shift/Meta by their left/right physical location (GH-80231).
- Ensure the active window gains the keyboard focus (GH-80548).
- Fix controller vibration in macOS and migrate to GameController API (GH-80709).
- Fix internal events not being delivered to some Window types (GH-81243).
- Add support for OpenXR hand interaction extension (GH-81533).
- Add screen-related attributes to mouse input events (GH-82800).
- Fix InputEventScreenDrag on Android (GH-84331).
- Windows: Make Windows Ink tablet API default, add dummy driver to disable tablet input (GH-84708).
- Rework Input action pressed state to support multiple controllers (GH-84943).
- X11: Send IME update notification deferred (GH-85306).
- Fix IME key event being erased in macOS (GH-85458).
- Fix horizontal scroll in editor's 2D view (GH-85473).
- Add
event_index
to InputEventAction (GH-86010). - Add bindings for setting and getting emulation mouse from touch and touch from mouse in input (GH-86081).
- Add MIDI controller device index to
InputEventMIDI.device
property (GH-86620). - Prevent escape key from closing Editor Settings window when filtering for shortcuts (GH-86654).
- Clear drag preview nodes on
NOTIFICATION_DRAG_END
(GH-87125). - macOS: Handle Trackpad / Magic Mouse swipe events and simulate XBUTTON1 / XBUTTON2 buttons (GH-87277).
- Check action exists in
Input.action_press
andaction_release
(GH-87324). - Fix SubViewport physics picking (GH-87385).
- macOS: Fix missing modifier + space key down events (GH-87498).
- Add cancel transformation shortcut to 2D to match 3D (GH-87616).
- Remove unused internal Variable
Viewport::gui_input_group
(GH-87632). - Fix LineEdit behavior for deleting all the way to the left/right (GH-88057).
- Add rotary input support for Android platform (GH-88130).
- Allow aborting
SpinSlider
value changes (GH-88275). - macOS: Fix
Ctrl+Tab
andCtrl+Shift+Tab
not working (GH-88334). - Handle warped mouse motion as floating point (GH-88343).
- macOS: Fix the "Toggle Hidden Files" shortcut (GH-88389).
- Fix global position for
InputEventMouse
inviewport::push_input
(GH-88473). - macOS: Ignore window decorations in confined mouse mode to match other platforms (GH-88519).
- Wayland: Restore tablet support and handle multiple tools (GH-88744).
- Improve
cursor_set_custom_image()
method (GH-88970). - macOS: Enable input from controllers in the background (GH-88978).
- Expose
DEVICE_ID_EMULATION
constant in InputEvent (GH-89526). - Fix mouse events when
physics_object_picking_first_only
enabled (GH-89643). - Prohibit execution of delayed input events by different means (GH-89920).
- Fix a special case for button masks (GH-89926).
- Fix
Input.action_press()
accepting out-of-bounds strength values (GH-89946). - Windows: Fix mouse handling regression (GH-90382).
- Update undo redo allowed after switching scene tab (GH-90616).
- iOS: Fix sensors orientation (GH-91050).
- Add
amplitude
argument toInput.vibrate_handheld
(GH-91143). - Fix Steam input "crc" errors, and some other Coverity reports of uninitialized scalar variable (GH-91454).
- [Web IME] Fix suggestion window position in Chromium based browsers (GH-91695).
- Disable viewports inputs when dragging and dropping into the viewport (GH-91845).
- Use Option+Cmd+Left/Right for script editor history navigation on macOS (GH-91887).
- Fix invalid detection of mouse input (GH-92133).
- Clean
Input::frame_parsed_events
before de-initialising scripting languages to ensure no script created events exist at the exit (GH-92201). - Remove duplicate shortcut definitions (GH-92223).
- Windows: Use current keyboard state instead of saved values for modifier keys (GH-92415).
- Use current mouse button state instead of saved values (GH-92424).
- Fix creating cursor image from
AtlasTexture
(GH-92702). - Fix Windows Activate Process leading to stuck input (GH-92742).
- Add input event callback to
DisplayServerHeadless
(GH-92806). - Fix Left Joystick motion not registering on Android (GH-93011).
- Wayland: Implement IME support (GH-93021).
- Window: Ignore duplicate mouse enter events (GH-93100).
- Windows Input use GetKeyState instead of GetAsyncKeyState (GH-93105).
- Prevent node rename shortcut from stealing focus from controls (GH-93165).
- Fix ruler tool sticks after right click (GH-93174).
- Fix trackpads and graphics tablets being recognized as controllers on Linux/*BSD (GH-93352).
- Add stub method for
mouse_get_position
in headless display server (GH-93494). - Fix undoredo handling in some dialogs (GH-93898).
- Wayland: Scale relative pointer motion (GH-94021).
- Web: Fix IME blocking controls (GH-94024).
- Fix custom Ctrl-Space shortcut in Script Editor adds a space (GH-94033).
- Cleanup Android input on render thread settings (GH-94052).
- Winink: Check pointer button states (GH-94063).
- Add Home/End to text caret movements on macOS (GH-94073).
- [iOS/Text Input] Avoid deleting and reentering unchanged part of text (GH-94114).
- Fix physics tick count in
Input.action_press
andInput.action_release
(GH-94413). - Fix update mouse cursor state wrong mouse position (GH-94987).
- X11: Use motion event button state instead of async state (GH-95008).
- Windows: Reject
WM_POINTER(UP/DOWN)
messages for non pen pointer type (GH-95155).
Multiplayer
- Fix
complete_auth
notifying the wrong peer (GH-86257). - Fix auth not waiting for confirmation in some cases (GH-86260).
- Fix spawned nodes not working after reset (GH-87185).
- Fix remote net ID cleanup (GH-87186).
- Handle cleanup of "scene cache" nodes (GH-87190).
- Networking scene multiplayer: Fix removing connected peer during disconnection (GH-88826).
- Fix replication config reload error (GH-89108).
- Fix node config warning not updating for
Multiplayer{Spawner,Synchronizer}
(GH-89839). - Gracefully handle cache confirmation of deleted nodes (GH-90027).
- Fix dead code doing unnecessary allocation (GH-90315).
- Fix
disconnect_peer
not doing the proper cleanup (GH-91011). - Modify MultiplayerSpawner scene path error checking (GH-91084).
- Fix Multiplayer Spawner freeing node after client disconnected Issue (GH-92359).
- Fix undo not updating spawn checkbox in replication editor (GH-92735).
- Instantiate a replication config on synchronizer creation (GH-93374).
- Partially revert cache cleanup, track paths as fallback (GH-94984).
- ENet: Better handle disconnected peers in DTLS server (GH-95067).
- Avoid error spam in relay protocol when clients disconnect (GH-95192).
- Fix relay protocol routing with negative targets (GH-95194).
Navigation
- Add NavigationServer random point queries (GH-75098).
- Make navigation map spatial queries thread-safe (GH-79577).
- Add isometric cell shape mode to
AStarGrid2D
(GH-81267). - Make
target_desired_distance
affect the navigation ofNavigationAgent2D/3D
(GH-82561). - Fix missing NavigationLink property updates in constructor (GH-83802).
- Fix missing NavigationRegion property updates in constructor (GH-83812).
- Fix missing NavigationAgent property updates in constructor (GH-83814).
- Fix missing NavigationObstacle property updates in constructor (GH-83816).
- Add function to get navigation map iteration id from NavigationServer (GH-84275).
- Improve NavigationServer NavMap sync error msgs (GH-84278).
- Add missing getters to navigation servers (GH-84729).
- Fix memory leak in 'NavigationServer3D' involving static obstacles (GH-84816).
- Do not use travel cost for minimum when re-selecting end point (GH-85253).
- Fix NavigationRegion2D transform update (GH-85258).
- Make 2D navigation mesh baking parse all TileMapLayers (GH-85856).
- Fix default NavigationPolygon source geometry group name (GH-86458).
- Add NavigationMesh
border_size
property for tile baking (GH-87378). - Auto-bake edited NavigationPolygons in the Editor on a timer (GH-87504).
- Expose
is_baking
method in navigation servers and region nodes (GH-87715). - Add means for fixing navmap synchronization errors (GH-87959).
- Add NavigationPolygon
border_size
property for tile baking (GH-87961). - Add a partial path return option for AStar (GH-88047).
- Fix property hints for parsed collision mask (GH-88156).
- Fix NavigationRegion errors from signal changes (GH-88164).
- Extend
NavigationMeshSourceGeometryData[23]D
to allow data merging (GH-88221). - Remove NavigationServerDummy warnings (GH-88375).
- Add some missing compile checks (GH-88679).
- Add debug visual for NavigationRegion2D bake rect (GH-88701).
- Fix NavigationObstacle2D debug being affected by Node2D transform (GH-88895).
- Fix NavigationObstacle3D debug not reacting to visibility changes (GH-89009).
- Add NavigationObstacle options to affect navigation mesh baking (GH-89034).
- Add navigation baking crash prevention mechanism (GH-89692).
- Change 2D navigation mesh baking to use floating point coordinates (GH-89929).
- Fix
NavigationServer.set_debug_enabled()
doing nothing (GH-90200). - Add navigation path simplification (GH-90434).
- Fix NavigationMeshSourceGeometryData merge crash (GH-90504).
- Use threads for baking navigation mesh inside editor (GH-90508).
- Use fmod for navigation mesh border size warning (GH-90602).
- Update NavigationRegion tests RID function (GH-90744).
- Remove experimental
constrain_avoidance
fromNavigationRegion2D
(GH-90747). - Add navigation mesh source geometry parsers and callbacks (GH-90876).
- Warn that navigation mesh baking from Meshes is bad for runtime performance (GH-90921).
- Add NavigationMeshSourceGeometryData append functions (GH-90935).
- NavigationRegion test suppress warning about visual meshes (GH-91103).
- Fix TileMapLayer navmesh baking (GH-91464).
- Allow editing
NavigationObstacle2D
shape vertices (GH-91872). - Remove duplicated vertices after 3D NavigationMesh bake (GH-92181).
- Fix NavigationRegion3D not reacting to runtime debug enabled change (GH-92288).
- Improve NavigationRegion2D debug performance (GH-92372).
- Fix crash when baking TileMap navigation (GH-92422).
- Fix
NavigationServer3D.get_closest_point_to_segment()
withuse_collision
(GH-92850). - TileSet: Transform rotated navigation (sub)-polygons individually (GH-92955).
- Fix NavigationRegion2D debug not clearing canvas item (GH-92991).
- Fix NavigationRegion2D editor plugin clear button not updating debug visuals (GH-92994).
- Fix closest edge and face check in
NavigationServer3D.map_get_closest_point_to_segment
(GH-93227). - Fix thread-use causing navigation mesh data corruption (GH-93392).
- Fix thread-use causing navigation source geometry data corruption (GH-93407).
- Fix potential crash due to invalid navigation mesh ref (GH-93423).
- Fix thread-use causing navigation polygon data corruption (GH-93426).
- Remove unused navigation polygon properties (GH-93485).
NavigationServer3D.map_get_closest_point_to_segment
- add an additional shortest distance check (GH-93541).- Fix NavigationPolygon not updating consistently on rebakes (GH-94362).
Network
- Add unit test for
IP.resolve_hostname
(GH-81465). - UPNP: Use local variable for UPNPUrls to stop memory leak (GH-89897).
- mbedTLS: Update to new LTS v3.6.0 (GH-90482).
- Fix missing return in
StreamPeerTCP::poll
when connection isSTATUS_CONNECTED
(GH-90741). - Crypto: Expose
get_system_ca_certificates
(GH-93176). - Crypto: Expose TLSOptions getters (GH-93178).
- WebSocket: Allow reusing closing and closed peers (GH-94168).
- WebSocket: Ensure
TCP_NODELAY
is always set (GH-94618). - WS: Fix
set_no_delay
on Windows (GH-95233).
Particles
- Support custom AABBs within MultiMesh resources (GH-79833).
- Improve editing of min/max particle properties (GH-81260).
- Fix
CPUParticles2D
tangential force does not matchGPUParticles2D
(GH-84575). - Only allow MeshInstance3D-based nodes in particles emission shape node selector (GH-84891).
- Correctly emit sub-emitter's emission at the end (GH-85189).
- Fix particle spread values affecting particle velocity (GH-85880).
- Only update particle velocity when it changes (GH-86474).
- Fix collided particles getting stuck with zero velocity (GH-87320).
- Fix CPU/GPUParticles2D bugs on Compatibility Rendering (GLES3) on Adreno 3XX devices (GH-88816).
- Fix early activation of particle trail sections (GH-89042).
- Fix error in AABB calculation for particles with USERDATA (GH-89046).
- Fix
update_property()
in particle material editor (GH-89048). - Fix
USERDATA
built-ins for GLES3 particle shaders (GH-89094). - Fix
CPUParticles3D
using angle incorrectly whenROTATE_Y
is set (GH-89595). - Fix
INSTANCE_CUSTOM.w
not being assigned correctly in CPUParticles 2D and 3D (GH-90095). - Fix inverted GPUParticlesCollisionHeightField3D (GH-91219).
- Fix particle cylinder emission shape random distribution (GH-91223).
- Fix sqrt application for radius in particle ring emission (GH-91449).
- Add Ctrl + R keyboard shortcut to restart particle emission in the editor (GH-92134).
- Fix 2d sdf collision for TileMapLayer Occluders (GH-92173).
- Fix collided 3D GPU particles sometimes jittering (GH-92474).
- Fix USERDATA not copied when trails started (GH-93595).
Physics
- Disable registering 3D physics types when 3D is disabled (GH-79185).
- Prevent mapping areas with invalid IDs for
Area2D/3D
(GH-79460). - Clear monitoring in
Area*
when its space changes to invalid (GH-81809). - Change ShapeCast3D and RayCast3D debug to use RenderingServer directly (GH-82599).
- Orthonormalize PhysicalBone3D transforms when resetting them (GH-82933).
- Fix body leaving area gravity influence (GH-82961).
- Replace confusing code in
GodotCapsuleShape2D::get_supports
(GH-83655). - Fix CollisionObject3D Gizmo not updated after calling
shape_owner_*
functions (GH-84610). - Expose a method to get gravity for any physics body (GH-84640).
- Fix
PhysicsShapeQueryParameters3D.motion
type wrongly set to Vector2 (GH-85393). - Improve visualization of WorldBoundary2D editor (GH-86208).
- Check skeleton RID when using cached AABB (GH-86245).
- Add warning for using concave shape on CharacterBody3D (GH-86576).
- Fix bounding boxes not being calculated properly and not respecting top-level nodes (GH-87132).
- Make CharacterBody properties public (GH-87167).
- RayCast2D and RayCast3D: warn to check
is_colliding
beforeget_collision_point
andget_collision_normal
(GH-87414). - Bind physics server methods related to
SoftBody3D
(GH-87502). - Fix error when pinning soft body point without attachment (GH-87506).
- Add HeightMapShape3D functions to get min / max height (GH-87881).
- Add HeightMapShape3D update with Image data (GH-87889).
- Fix
max_collisions
not being passed inPhysicsBody3D::test_move
(GH-87903). - Fix crash with
PhysicsBody2D/3D::get_gravity
with invalid state (GH-87976). - Fix
get_contact_count
sometimes being incorrect in_process
(GH-88019). GodotCollisionSolver2D::solve_concave
: Fix culling in case of motion (GH-88282).- Fix
SoftBody3D
for double-precision builds (GH-88402). - Physics interpolation (2D) (GH-88424).
- Split monolithic physics class files (GH-88862).
- Fix physics platform crash (GH-88947).
- Move Max Contacts Reported below Contact Monitor in RigidBody inspector (GH-89459).
- Increase precision of RigidBody
mass
property (GH-89468). - Allow for 32 max collisions in
test_body_motion
(GH-89517). - Fix concave
CollisionPolygon2D
debug drawing and docs (GH-89820). - Fix separating axes for 3D cylinder-face collisions (GH-89960).
- Make physics debug respect shape outline setting inside editor (GH-90113).
- Specify that
get_floor_normal()
does not return the surface normal (GH-90254). - Fix PinJoint2D deferred call error (GH-90340).
- GridMap: Fix
physics_material
property (GH-90503). - Store
ObjectID
instead of pointer for KinematicCollision owner (GH-90668). - Increase size of WorldBoundaryShape to be much larger (GH-90763).
- Fix
move_and_slide
wall slide acceleration (3D) (GH-90915). - Use same colors for editor and running project for collision/path debug (GH-90966).
- Deprecate unused parameter
angular_limit/softness
inHingeJoint3D
(GH-91127). - Update
body_create
description in PhysicsServer2D/3D (GH-91596). - Add useful error msg in
GodotSoftBody3D::set_mesh
(GH-91896). - Avoid duplicate connect in Joint2D and Joint3D
_update_joint
(GH-91936). - Bind shape margin methods for
PhysicsServer3D
(GH-92110). - GodotPhysics: Fix crash on null space (GH-93286).
- Fix physics tick counter (GH-94039).
- Only print physics sync warning on dev builds to avoid warning spam from using
move_and_slide
(GH-94279). - Fix dynamic-stack-buffer-overflow crash when executing random functions on random physics objects (GH-94521).
- Bind
PhysicsServer*D::body_set_state_sync_callback
(GH-94653).
Plugin
- Use existing
plugin.cfg
in configuration dialog (GH-79723). - Expose
SceneTreeDialog
andPropertySelector
viaEditorInterface
(GH-81655). - Fix creating and updating plugin with dot in folder name (GH-83329).
- Correctly check scripts that must inherit
EditorPlugin
(GH-85271). - Save external data even without scene (GH-85513).
- Always call
_can_handle()
before_parse_property()
(GH-86467). - Editor: Add
EditorPlugin::scene_saved
signal (GH-87332). - Editor: Fix
_parse_category()
is not called for custom categories (GH-87915). - Improve Project Settings' Plugin display (GH-88308).
- Update scene tabs after marking as unsaved (GH-90135).
- Fix
add_root_node()
being no-op (GH-90136). - Expose
EditorFileDialog::popup_file_dialog()
to GDScript and GDExtension (GH-91331). - Add logic to unregister the Godot plugins on engine termination (GH-92143).
- Prevent static XCFramework bundles from being embedded on iOS (GH-92519).
Porting
- Windows: Enable crash reporter on MinGW builds (GH-61006).
- Windows: Improve warning for path casing (GH-71975).
- Implement support for application status indicators (tray icons) (GH-80211).
- macOS: Add support for native help menu search callbacks, integrate editor help (GH-83819).
- macOS: Add default Window and Help menus, allow special menu customization (GH-83987).
- Use platform-specific methods for FileAccess reading and writing (GH-84107).
- Windows: Use CCD API to get fractional screen refresh rates (GH-84246).
- Robustify handling of activation & focus on Windows (GH-84363).
- Fix NetBSD executable path (GH-84469).
- Make
screen_get_refresh_rate()
respect iOS Low Power Mode (GH-85026). - Enhance mobile suspend MainLoop notifications (GH-85100).
- Windows: Fix NVIDIA app profile creation (GH-85188).
- Do not consume mouse messages in windows with
no_focus
on Windows OS (GH-85484). - Add
THREADS_ENABLED
macro in order to compile Godot to run on the main thread (GH-85939). - Android: Ensure cleanup of all subobjects in the OpenSL audio driver (GH-85955).
- X11: Partial fix for Editor and Project Manager stealing focus on some window managers (GH-86101).
- Fix key mapping for
XK_KP_Delete
key (GH-86160). - Add Wayland support (GH-86180).
- Android: Update the logic used to start / stop the render thread (GH-86379).
- X11: Fix Godot stealing focus on alternative window managers (GH-86441).
- Fix
OS.get_system_font_path
andOS.get_system_font_path_for_text
to return correct slashes (GH-86552). - Fix virtual keyboard for decimal values on Android (GH-86619).
- X11: Don't re-set input focus if the given window already has it (fixes Godot stealing input focus on i3) (GH-86671).
- iOS: Set provisioning style for both
iPhone Developer
andiPhone Distribution
to automatic (GH-86748). - Fix
get_window_safe_area
on Android (GH-86761). - Attempt parsing environment variables as UTF-8 (GH-86936).
- iOS: Improve logger (GH-87077).
- Android: Disable automatic permissions request (GH-87080).
- Fix DX12 build on older MSVC versions, fix missing PIX include (GH-87206).
- Use
os_unfair_lock
on Apple platforms (GH-87393). - macOS: Update window visible state on deminiaturize (GH-87465).
- Make dark mode Title Bar work on Windows 10 1909 (build:18363) and above (GH-87549).
- Wayland: Suspend window after frame timeout or suspend state (GH-87750).
- Wayland: Implement
window_get_native_handle
(GH-87764). - Wayland: Add support for native file dialogs (GH-87776).
- macOS: Use autorelease pools (GH-87836).
- macOS: Add SIGTRAP to the crash handler (GH-87842).
- Add workaround for emscripten >= 3.1.47 LTO build (GH-87956).
- wayland: Update to 1.22.0 (GH-87977).
- [macOS / iOS] Switch Vulkan init to
VK_EXT_metal_surface
extension (GH-87999). - macOS: Enabled secure restorable state (GH-88050).
- Handle display driver preferences consistently between editor and projects (GH-88065).
- macOS: Allow
open_shell
to handle filenames withoutfile://
(GH-88126). - Windows: Fix windows
is_path_invalid
, and apply it to directory creation (GH-88129). - Fix invalid file path handling in Windows when there is dot in the file name (GH-88144).
- FileSystem dock: Fix opening a Linux terminal (GH-88173).
- Fix the fetching of images in
CF_DIB
format inDisplayServerWindows::clipboard_get_image
(GH-88220). - macOS: Fix color picker on HDR screens (GH-88274).
- Windows: Add support for enabling Alt+Space menu and fix borderless maximize (GH-88329).
- [Android 14] Fix GodotEditText white box showing during editor load (GH-88351).
- libdecor: Update to 0.2.2 (GH-88374).
- Windows: Fix reading non-BGRA8 DIBs from clipboard (GH-88405).
- macOS: Add null checks for
NSString stringWithUTF8String
(GH-88694). - [macOS/Windows] Fix application indicator destruction (GH-88932).
- Windows: Implement
dialog_show
anddialog_input_text
forDisplayServer
(GH-88957). - DisplayServer: Add error messages and descriptions to callbacks (GH-89033).
- Fix FileAccessUnix on OpenBSD where
UF_HIDDEN
isn't supported (GH-89064). - Wayland: Fix tilt handling (GH-89112).
- Wayland: Properly report all used features (GH-89178).
- Check if DisplayServer supports icons before attempting setting it (GH-89181).
- Windows: Fix
FreeLibrary
not always being called inDisplayServerWindows::dialog_show
(GH-89192). - Implement pipe API for executed processes IO redirection (GH-89206).
- Add
PermissionsUtil#requestPermissions(...)
to provide the ability to request multiple permissions at a time (GH-89260). - Wayland: Stop possible Null pointer dereferences (GH-89307).
- Wayland: Setup next cursor frame callback only if animated (GH-89328).
- Windows: Disable fallback to ANGLE logic when compiled w/o ANGLE support (GH-89351).
- Wayland: Workaround API limitation in screen/UI scale logic (GH-89574).
- iOS: Fix AirPods routing when Play and Record category is used (GH-89594).
- Fix platform name in the message about unsupported CPU architecture (GH-89598).
- Android: Fix UnsupportedOperationException remove from non-ArrayList (GH-89703).
- Wayland: Fix typo in input code (GH-89707).
- X11: Add more details to large icon size warning (GH-89716).
- Fix
EXIT_SUCCESS
on MacOS (GH-89855). - Fix
EXIT_SUCCESS
on Android (GH-89887). - DisplayServer: Add separate feature flags for different native dialog types (GH-89907).
- [Linux/Portal] Fix incorrect DBus connection usage (GH-89935).
- macOS: Fix non-global native menu shortcuts (GH-89953).
- Android: Prevent potential NPEs and improve nullability handling (GH-89999).
- Android: Improve performance of sensor readings (GH-90000).
- Fix issue with moving maximized window in macOS (GH-90101).
- Fix macOS menu bar & dock stop appearing after closing sub-window (GH-90131).
- Android: Extract parsing command line file to a separate class + add unit tests (GH-90146).
- Make sysctl calls on FreeBSD (GH-90295).
- Add
OS.get_process_exit_code()
method (GH-90358). - FileAccess: Implement
resize
method (GH-90403). - Fix the initialization order for the iOS driver (GH-90538).
- [Unix / DirAccess] Fix removing directory symlinks with
remove
, ensureerase_contents_recursive
is not following directory symlinks (GH-90562). - Fix leakage of JNI object references (GH-90710).
- macOS: Fix native file dialog with empty filter list (GH-90783).
- Cleanup Android file errors (GH-91017).
- iOS: Change default iPad landscape orientation from "left" to "right" (GH-91052).
- DBus: Process file dialog callback in the main event loop instead of using deferred call (GH-91071).
- Add symlink API support for Windows, expose symlink methods (GH-91100).
- Windows: Improve console IO redirection (GH-91147).
- Wayland: Improve compositor compatibility by allowing older globals (GH-91196).
- Wayland: Add support for OpenGL ES driver (GH-91466).
- DisplayServer: Add method to check if window transparency is supported and enabled (GH-91505).
- Switch to the WindowInsetsAnimationCompat api (GH-91895).
- X11: Fallback to root window size, when Xinerama extension is available, but return zero screens (GH-91933).
- Windows: Use CRLF in the terminal prints (GH-92158).
- Use
OS::delay_usec()
to avoid using deprecatedusleep()
on Linux (GH-92208). - Properly set window class in Wayland (GH-92252).
- Wayland: Implement
is_window_transparency_available
(GH-92353). - [macOS, X11] Fix duplicate window close requests (GH-92458).
- Fix -empty string- console log in web export (cosmetic) (GH-92468).
- Make displayed Web errors more meaningful (GH-92553).
- Android: Remove the limit on the number of the SignalInfo creation function parameters (GH-92580).
- EGL: Use
EGL_EXT_platform_base
whenever possible (GH-92663). - Consolidate the ProjectManager and Editor windows into a single Android Activity class (GH-92704).
- Android: Fix invalid return value when multiple permission requests are dispatched (GH-92709).
- Improve native menu and status indicator icons conversion and checks (GH-92826).
- Update the Android splash screen logic (GH-92965).
- X11: Detect XWayland and disable screen capture support (GH-93072).
- Windows: Add Windows version and Wine checks for Windows 10+ dark mode API (GH-93126).
- Tweak warning messages related to V-Sync on OpenGL (GH-93239).
- Web: Fix checking for OpenGL extensions with Emscripten 3.1.51 and later (GH-93560).
- Prevent folder names with trailing periods from being used automatically (GH-93564).
- Fix text editor stealing focus from "Find in Files" dialog on X11 (GH-93682).
- Wayland: Minimize surface commits and limit them to the main thread (GH-93684).
- Windows: Restore to windowed mode using
SW_NORMAL
(GH-93733). - Add
bigint
support on JS value conversion (GH-93750). - Fix assignations to non-existing keys and clean-up Web audio library (GH-93754).
- Remove duplicate styling from editor (GH-93902).
- Fix preloading a zip in the web editor (GH-93906).
- Android: Fix crashes and ANRs reported by the Google Play Console (GH-93933).
- Fix caret can disappear from script editor on Windows (GH-93976).
- Windows: Fix build error due to missing definition of Texture2D (GH-94067).
- Windows: Fix reading keyboard layout names (GH-94120).
- Remove unused
is_wow64
method inOS_Windows
(GH-94187). - macOS: Fix drag-and-drop feedback (GH-94232).
- Windows: Fix wrong initial size passed to rendering driver (GH-94398).
- Wayland: Commit surface on window creation (GH-94402).
- Wayland: Check for suspended flag when unsuspending (GH-94411).
- Windows: Update ANGLE surface size when window is resized (GH-94428).
- [Android Editor] Resolve issues with the editor touchscreen settings (GH-94468).
- Linux/X11: Fix memory leak from created screen images (GH-94473).
- Wayland: Fix error spam when interacting with decorations (GH-94557).
- Disable FP contraction (GH-94655).
- Fix the cleanup logic for the Android render thread (GH-94661).
- Pass window exclusive and transient properties for subwindow creation (GH-94706).
- Fix crash that occurs on termination of the Godot engine on Android (GH-94923).
- Windows: Improve OpenGL/ANGLE switching on ARM64 (GH-94943).
- Add missing null check before disconnecting source (GH-94958).
- macOS: Fix
is_process_running
andkill
for bundled apps (GH-94978). - macOS: Attempt to terminate process normally before using
forceTerminate
(GH-95191). - macOS: Load
OpenGL.framework
by path to avoid issues with non-Latin executable names (GH-95235). - macOS: Remove kill override (GH-95295).
- Wayland: Avoid recreating input objects on capability change (GH-95331).
- macOS: Fix wrong object type in joypad queue (GH-95425).
- DisplayServerWindows: Fix logic when creating with transient parent (GH-95526).
Rendering
- Add
texel_scale
property to LightmapGI (GH-64908). - Add Direct3D 12 rendering driver (Mesa NIR approach) (GH-70315).
- Make the rendering method dropdown also affect mobile if compatible (GH-72461).
- Fix shadows for billboarded Sprite3D's (GH-72638).
- Add option to bake a mesh from blend shape mix (GH-76725).
- Update Y-sort position of the first item in the sorted subtree (GH-79452).
- Implement hooks into renderer (GH-80214).
- Improve warning messages related to Vulkan pipeline cache (GH-80232).
- OpenGL: Implement 3D Texture support (GH-80363).
- Fix potential integer underflow in rounded up divisions (GH-80390).
- Improve split blending logic for Vulkan (GH-82668).
- Add thread guard for
force_draw
and update related documentation (GH-82953). - Split
RenderingDevice
into API-agnostic andRenderingDeviceDriver
parts (GH-83452). - Fix buffer updates going to the wrong cmd buffer if barriers were 0 (GH-83736).
- Expose
energy_multiplier
to remaining SkyMaterials (GH-83938). - Add 3D MSAA and scaling support to GLES3 (GH-83976).
- Merge passes in Vulkan mobile renderer (GH-84169).
- Fix bad parameter for
rendering_method
crashes Godot (GH-84241). - Skip swapchain logic if there is nothing to present (Android OpenXR) (GH-84244).
- Add
shadows_disabled
macro in Compatibility renderer (GH-84416). - Transform mesh's AABB to skeleton's space when calculating mesh's bounds (GH-84451).
- Fix Camera2D frame delay (port from 3.x) (GH-84465).
- Extend
CanvasItem::draw_circle()
, making it also draw unfilled circle (GH-84472). - CanvasItem draw implement antialiasing for
circle
,rect
,multiline
, anddashedline
(GH-84523). - Use render pass uniform set to store viewport samplers (GH-84637).
- Add MSAA support for WebXR (GH-84686).
- Only copy the relevant portion of the screen when copying to backbuffer in Compatibility backend (GH-84733).
- Shadow volume culling and tighter shadow caster culling (GH-84745).
- Add optional depth fog to Environment (GH-84792).
- Vulkan: Fix incorrect access to the buffers on Android (GH-84852).
- Store ArrayMesh path in RenderingServer for use in error messages (GH-84894).
- Acyclic Command Graph for Rendering Device (GH-84976).
- Use vertex input mask for creating vertex arrays (GH-85092).
- OpenGL: Implement rendering of lightmaps (GH-85120).
- Remove GI methods in parentheses from light baking options (GH-85219).
- Fix typo in BaseMaterial3D conversion from 3.x SpatialMaterial (GH-85269).
- Force ANGLE on all pre GCN 4th gen. AMD/ATI GPUs (GH-85273).
- Add property change guards to Sprite2D, Sprite3D and AnimatedSprite2D (GH-85311).
- Fix invalid
frame
index when Sprite2D'shframes
orvframes
change (GH-85317). - Use render method from OS instead of project settings in compositor RD (GH-85387).
- Avoid crashes when engine leaks canvas items and friends (GH-85520).
- Apply some low-hanging fruit optimizations to Vulkan RD (GH-85532).
- Add premult alpha blending to 3D (spatial) shaders (GH-85609).
- Add wireframe for compatibility mode (GH-85621).
- Set ReflectionProbe frame before mapping id in mobile renderer (GH-85635).
- Add a descriptive error message when creating a mesh surface from the wrong array type (GH-85646).
- GLES3: Skip batches with zero instance count while rendering canvas (GH-85778).
- macOS: Switch ANGLE backend to ANGLE over OpenGL, switch default compatibility renderer back to native (GH-85785).
- Expose
copy_effects
compute shader in Mobile backend (GH-85793). - Implement render info counters for the 2D renderer (GH-85811).
- Fix CanvasOcclusionShaderRD format error with double precision build (GH-85822).
- Ensure that 2D meshes use a proper input mask (GH-85972).
- Windows: Always use ANGLE in ARM builds (GH-86001).
- Fix radiance for sky in GLES stereo rendering (GH-86018).
- Fix Volumetric Fog VoxelGI updates (GH-86023).
- Remove dead code from
DisplayServerWindows::window_set_size
(GH-86029). - Add a reflection mask to the reflection probes (GH-86073).
- Jitter raster occlusion camera to reduce false positives (GH-86121).
- Reduce the number of samplers used by the scene shaders (GH-86219).
- Use best fit normals for storing screen space normals (GH-86316).
- Fix wrong error message when graphics pipeline creation fails (GH-86405).
- Add
RD_ENABLED
whenVULKAN_ENABLED
orD3D12_ENABLED
is added (GH-86435). - Fix MSVC 14.1 complaining about "attempting to reference a deleted function" in RenderPassClearValue (GH-86507).
- Fix incorrect
CAMERA_DIRECTION_WORLD
calculation (GH-86516). - RenderingDevice: Fix uniform sets wrongly assumed to be bound (GH-86522).
- D3D12: Dynamically load Agility SDK (GH-86551).
- Fix LightmapperRD division warning in MSVC (GH-86555).
- Fix Polygon2D to Skeleton2D transform calculation (GH-86557).
- Support CUSTOM shader attributes in 2D (GH-86564).
- Tiny fix for lightmapper DDA (GH-86583).
- Implement overdraw, lighting, and unshaded debug draw modes for OpenGL (GH-86677).
- Add autocompletion for RenderingServer's global shader methods &
has_os_feature
(GH-86798). - Fix global transform being wrong on entering tree (GH-86841).
- Avoid several null-dereferences of ApiContextRD (GH-86843).
- Fix usage of index offsets in RenderingDevice (GH-86852).
- Fix determination of copyable layout for compressed textures in Vulkan (GH-86855).
- Fix build warning with memset value being too large (GH-86920).
- Fix SSR not working properly in stereo (GH-86996).
- Windows: Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist (GH-87013).
- Fix incorrect mapping of initial action as clear region continue to clear (GH-87022).
- Deprecate RenderingServer's
has_feature
and Features enum (GH-87035). - Default to 32-bit depth map on Forward+ renderer and 24-bit only on Mobile renderer (GH-87057).
- Fix UV issues in Compatibility renderer (GH-87067).
- Add
shader_cache_dir_valid
check to_save_to_cache
(GH-87096). - Fix build warning with memset value being too large (GH-87155).
- Fix 2D normals for transposed texture (GH-87225).
- Stabilize snapping 2D transforms to pixel (GH-87297).
- D3D12 RDD: Fix wrong argument when resolving timestamp queries (GH-87298).
- Finish splitting functionality of the
RenderingDevice
backends intoRenderingDeviceDriver
(GH-87340). - Fix memory leak from not clearing the buffer barrier vector properly on the render graph (GH-87349).
- Fix Compatibility Rendering (GLES3) on old and low budget devices (GH-87352).
- Implement glow/bloom on compatibility renderer (GH-87360).
- Add GLES3 infrastructure for lightmap baking in the compatibility backend (GH-87386).
- Add
ivec
variants tomultiview_uv
for stereo rendering (GH-87460). - OpenXR: Cleanup swapchain logic (was Fix render target multiplier) (GH-87466).
- Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings (GH-87482).
- Disable scissor test after rendering batches in compatibility renderer (GH-87489).
- Clean up outdated
USE_LIGHT_SHADER_CODE
usage (GH-87495). - Fix framebuffer created for reflection probe in mobile renderer (GH-87505).
- Fix validation errors by improving stage and slice tracking behavior of RenderingDeviceGraph (GH-87512).
- Avoid saving the
texture_rd_rid
property of TextureRD resources (GH-87541). - Significantly improve the speed of shader compilation in compatibility backend (GH-87553).
- Direct3D 12: Make format feature check more defensive (GH-87570).
- Direct3D 12: Fix and enable custom debug printing (GH-87572).
- Direct3D 12: Include in CODEOWNERS (GH-87574).
- Do not use a linear sampler on lightmapper when retrieving grid data (GH-87618).
- Direct3D 12: Query support for 16-bit operations (GH-87670).
- Add check in
CompressedTextureLayered::get_layer_data
to prevent crash (GH-87694). - Free dummy renderer objects (GH-87710).
- Enforce calling RenderingDevice code from rendering thread in TextureRD classes (GH-87721).
- Do not reflect the origin lines in a mirror (GH-87757).
- Direct3D 12: Avoid terrible leak related to command allocators (GH-87795).
- Namespace shader cache files by graphics API (GH-87796).
- Direct3D 12: Enhance management of texture data life cycle (GH-87872).
- Direct 3D 12: Implement proper fallback for format casting (GH-88027).
- Add reflection probe support to compatibility renderer (GH-88056).
- Fix missing instance type in dummy renderer (GH-88097).
- Make
RID_Owner<Texture>
threadsafe inTextureStorage
for GLES3 (GH-88205). - Direct3D 12: Fix cubemap slicing (GH-88252).
- D3D12: Improve shader validation handling (GH-88254).
- Fix swap chain errors when application starts minimized (GH-88289).
- Disable ReShade in the editor and project manager (if run via Vulkan) (GH-88316).
- Use Reverse Z for the depth buffer (GH-88328).
- Add validation to render graph for draw and compute lists (GH-88331).
- Handle
VK_SUBOPTIMAL_KHR
as a valid error code to fix Android performance (GH-88361). - Fix unshaded debug draw mode for LightmapGI (GH-88384).
- Allow VisibleOnScreenNotifier2D/3D to have empty
enable_node_path
(GH-88403). - Make dummy rendering server appear as a high end platform to fix vulkan shader compile error when exporting (GH-88409).
- Fix reversed custom
AABB
check when recalculating multimeshAABB
s (GH-88506). - D3D12: Define GUIDs directly (GH-88540).
- Merge execute and present commands for RenderingDeviceDriver (GH-88560).
- Fix shader cache with transform feedback on some Android devices (GH-88573).
- Fail early if shader mode is invalid in dummy renderer (GH-88581).
- Remove unnecessary AABB initialization for CPUParticles (GH-88602).
- Change glow calculation back to
max(r,g,b)
(GH-88612). - Remove tracking logic for input attachments as it's not necessary (GH-88631).
- Fix OpenGL on Android after adding optional depth fog (GH-88633).
- Use barriers between all blur passes with SSAO and SSIL (GH-88649).
- Implement VisibilityNotifier3D in the compatibility backend (GH-88684).
- Consistently use
system_fbo
instead of binding 0 as it is needed for iOS devices (GH-88745). - Fix rendering issue with depth in WebXR (GH-88787).
- Add fix for TAA passes rendering black meshes on XR (GH-88830).
- Add
compositor_free
branch in Compatibility scene renderer free function (GH-88873). - Ensure proper vertex input masks are used in 2D compatibility renderer (GH-88938).
- Direct3D 12: Fix shader model support check for devices not aware of the highest ones (GH-89038).
- Fix never ending loop with overlapping probes (GH-89134).
- Vulkan: Don't warn about invalid pipelines cache if missing (GH-89180).
- Make shader binary alignment handling simpler and more robust (GH-89209).
- Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals (GH-89253).
- Make
ShaderDescription
and related types public (GH-89277). - Fix lightmap captures not applied in one octant (GH-89281).
- Increase coverage of timestamps for visual profiler (GH-89398).
- Ensure specialization constants come sorted from reflection (GH-89420).
- Set a minimum of 0.01 for proximity fade to avoid undefined behavior in shader (GH-89432).
- Fix missed light clusters when inside clipped lights (GH-89450).
- Fix shader compilation error when enabling texture MSDF and UV1 Triplanar at the same time (GH-89470).
- Expose bindings to compute dispatch indirect of rendering device (GH-89491).
- Allow BaseMaterial3D height/dither fade to work with Compatibility rendering (GH-89528).
- Fix mobile renderer RID leaks (GH-89531).
- Tighter shadow culling - fix light colinear to frustum edge (GH-89714).
- Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance (GH-89729).
- OpenXR: Change timing of xrWaitFrame and fix XR multithreading issues (GH-89734).
- Add missing
RenderInfoType
enum toViewport
(GH-89805). - Fix decal modulate being passed as srgb instead of as linear color (GH-89849).
- Add support for OpenXR composition layers (GH-89880).
- Improvements to VRS/Foveated rendering (GH-89894).
- TileMap: Fix forcing cleanup on exiting tree/canvas (GH-89975).
- Fix
RenderingDevice::get_driver_resource
crash or incorrect result with certain resources (GH-90011). - Add early return when setting
transparent_bg
(GH-90055). - Expose
MeshInstance3D.get_skin_reference
and add docs (GH-90056). - Don't use subpasses when we're using Canvas background mode in Mobile (GH-90191).
- Allow Decal Emission Energy values above 128 in the inspector (GH-90217).
- Fix OpenGL
_shadow_atlas_find_shadow
error when light instance is freed (GH-90233). - Fix per-node physics interpolation setting (GH-90246).
- Add toggle for enabling or disabling RenderingDevice's pipeline cache (GH-90271).
- Fix sharing World2D between SubViewports causes 2D lights of one SubViewport to go missing (GH-90282).
- Avoid compiler error with RenderingContextDriverVulkanWindows (GH-90326).
- OpenXR: Apply fix for reverse Z (GH-90416).
- Fix GeometryInstance3D Custom AABB assignment in the editor not working (GH-90440).
- Clear RIDs of weight buffers when freeing to avoid double free (GH-90458).
- Fix incorrect bounds check in RenderingDevice push constant (GH-90620).
- Delaunay3D/LightmapGI: Improve triangulation (GH-90701).
- LightmapGI: Reduce warnings and increase probe accuracy (GH-90702).
- Fix
Line2D
joints withjoint_mode
set to Round rendered "flipped" for a 180 degree angle (GH-90786). - Use a src rect for copying from screen with CanvasGroup in the mobile backend (GH-90821).
- Revert change to default depth clear value in
draw_list_begin()
(GH-90828). - LightmapGI: Fix seam blending with directional lightmaps (GH-90848).
- Fix LightOccluder2D SDF Collision Enable/Disable (GH-90883).
- Ensure minimum block size is respected when doing GPU to CPU copies of compressed textures (GH-90911).
- Avoid writing out of range data over valid data in CVTT decompress methods when decompressing small mip levels (GH-90912).
- Apply additional fixes to servers' threading (GH-90913).
- Exit light calculation early when pixel outside of light bounding rectangle (GH-90920).
- Handle compressed images in
TileSetAtlasSource::_create_padded_image_texture
(GH-90994). - Fix issue with copy shader not working in multiview (GH-91059).
- Fix issue in shadow to opacity (GH-91096).
- Add
LIGHT_VERTEX
to fragment shader (GH-91136). - Fix crash on compatibility fallback when vkCreateRenderPass2KHR is unavailable (GH-91169).
- Tweak appearance of 3D editor gizmo icons (GH-91174).
- Add adjustments and color correction to Compatibility renderer (GH-91176).
- Properly calculate penumbra for soft shadows with reverse z (GH-91191).
- Fix incorrect memory read when capacity changes in RD Graph (GH-91312).
- Ensure that environment is available before checking for BCS (GH-91322).
- Fix SDFGI being used in unshaded debug draw (GH-91344).
- Ensure global shader sampler parameters are initialized when loading (GH-91414).
- Fix typo in shader breaking gles3 (GH-91426).
- Use a full screen triangle for mipmap calculations in mobile renderer (GH-91480).
- Add optional driver workaround to RenderingDevice for Adreno 6XX (GH-91514).
- Add draw and dispatch count to timestamp validation (GH-91530).
- Properly set size of shadow atlas quadrant when subdivision is 8 or higher (GH-91545).
- Add a project setting to configure the maximum number of timestamps (GH-91551).
- LightmapGI: Fix lightleaks caused by insufficient padding and add denoiser range property for LightmapGI (GH-91601).
- Skip rendering sky if viewport is set to transparent background (GH-91642).
- Add support for enhanced barriers in D3D12 (GH-91769).
- Tighter light culling - fix directional lights colinear case (GH-91790).
- Rewrite reprojection for FSR2 to work correctly with Reverse-Z (GH-91799).
- Do not use MSAA versions of textures on debug views (GH-91808).
- Fix MultiMesh buffer cache in transforms-only case (GH-91846).
- Fix compatibility renderer load of compressed layered
GL_TEXTURE_2D_ARRAY
(GH-91853). - Fix lightmapper seam blending (GH-91985).
- Optimize usage of "prepare for use" in draw and dispatch commands (GH-91989).
- Increase coverage of VRAM debugger and add support to RD backends (GH-92000).
- vulkan: Update all components to Vulkan SDK 1.3.283.0 (GH-92010).
- Add context getter to RenderingDevice (GH-92045).
- Tight shadow culling - increase epsilon to prevent flickering (GH-92078).
- Stereo rendering: Fix omni lights (GH-92186).
- Only apply LOD when camera is outside the AABB of mesh in mobile renderer (GH-92232).
- Reduce allocations each time a render pass begins in RenderingDevice (GH-92258).
- Fix LOD selection in compatibility backend and clean up LOD code (GH-92287).
- Fix albedo value wraparound in Compatibility render mode (GH-92388).
- Separate linear and sRGB uniform buffers in RD rendering backends (GH-92444).
- Disable
camera_effects
when debug draw is active (GH-92524). - Add more validation to UBO size and alignment in Compatibility renderer (GH-92568).
- RenderingDevice: Reject creation of textures with no usage (GH-92587).
- Fix Adreno 3xx compatibility for devices with newer driver versions (GH-92741).
- Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx (GH-92817).
- Make query for
GL_MAX_VIEWPORT_DIMS
compatible with web exports (GH-92851). - Fix depth clear value for uv2 baking in compatibility renderer (GH-92887).
- Ensure Motion Vectors are enabled by particles and skeletons when using the Motion Vector debug draw option (GH-93055).
- Ensure post processing happens when adjustments are enabled in the Compatibility renderer (GH-93060).
- Track compositor effects that use motion vectors (GH-93068).
- Ensure sky reflection is updated when ambient mode is set to background (GH-93107).
- Add Parallax2D repeats in ysort child collection (GH-93182).
- Fix
TileMapLayer
not respecting physics interpolation mode (GH-93279). - AnimatedTexture: Fix crash when loaded from a thread (GH-93340).
- Fix ubo tag placement in canvas.glsl fragment shader (GH-93343).
- Physics interpolation: Fix 2D skinning (GH-93368).
- Remove unused flag and code from canvas renderer (GH-93376).
- Fix incorrect enabling of post process in OpenGL (GH-93530).
- Add safety check when setting several rendering effect quality (GH-93617).
- Make RenderSceneData take projection correction into account (GH-93630).
- Use
PackedVector4Array
instead of float array for vec4 array uniform (GH-93635). - Remove warning when project setting requests a larger global shader uniform buffer than the hardware supports (GH-93645).
- Remove useless instantiation in
RDShaderFile::parse_versions_from_text
(GH-93649). - Improve handling of rendering startup errors (GH-93706).
- D3D12: Use the right state for resources in certain heap types (GH-93707).
- Windows: Disable G-SYNC in windowed mode (GH-93737).
- Replace pixel rounding with
floor(x + 0.5)
(GH-93740). - Fix inconsistent CanvasModulate color in 2D HDR (GH-93802).
- Physics Interpolation - Fix
interpolated_transform_2d
(GH-93852). - Android: Fix the issue causing the logo to not show when using the
compatibility
renderer (GH-93891). - Fix AABB computation for position compression to not depend on vertex order (GH-93916).
- Fix compatibility renderer
depth_prepass_alpha
(GH-93931). - MoltenVK: Fix downscaled hiDPI window pixelation (GH-93950).
- Pre transparent compositor effects needs to run later (GH-93960).
- Physics Interpolation: Fix behavior on pause (GH-94036).
- RenderingDevice: Leave handling of compressed block granularity to the driver (GH-94069).
- Use
GL_COLOR_ATTACHMENT
in depth prepass when using Multiview (GH-94095). - Remove our
ERR_ON_RENDER_THREAD
guard, it is not reliable (GH-94121). - Silence Vulkan "Unable to acquire framebuffer." swapchain error (GH-94135).
- Properly linearize depth buffer for SSAO when using orthogonal camera (GH-94153).
- Fix SSR orientation issues when using orthogonal camera (GH-94184).
- D3D12: Get rid of
DXIL.dll
! (GH-94203). - Fix black
get_texture()
on viewport in compatibility mode with HDR enabled (GH-94233). - Lightmapper: Ensure the atlas is big enough to fit padded UV maps (GH-94236).
- Lightmapper: Prevent infinite loop while blitting lightmaps into an atlas (GH-94237).
- Fix Image CowData crash when baking large lightmaps (GH-94243).
- D3D12: Avoid enabling depth bounds test if unsupported (GH-94267).
- Use a spec constant to control whether the MultiMesh branch is used in the vertex shader (GH-94289).
- Fix empty region in AtlasTexture (GH-94365).
- Expose more state in RenderSceneBuffersRD (GH-94388).
- Restore default clear color after displaying boot splash (GH-94404).
- Always render when XR is enabled, even if no OS windows can draw (GH-94412).
- Add warning when use FSR1 on renderer other than forward plus (GH-94492).
- SDFGI: Fix crash if
update_data
is nullptr (GH-94535). - GLES3: Fix directional shadow on Metal ANGLE (GH-94556).
- Fix FOG shader issue in Compatibility mode (GH-94564).
- Support 64-bit image sizes for VRAM compression (GH-94598).
- Fix crash when assigning more textures than expected to texture array (GH-94628).
- Fix position from vertex shader partially uninitialized (GH-94629).
- Fix newly baked lightmap can't override previously baked at same path (GH-94645).
- RenderingDevice: Fix getting cubemap layer data (GH-94656).
- Remove linearization of canvas modulate in GLES3 backend (GH-94707).
- RenderingDevice: Use correct layer count for Cubemaps during boundary checks (GH-94708).
- Windows: Use default aggregate initialization for NVAPI settings (GH-94735).
- Windows: Fall back to D3D12 if Vulkan is not supported and vice versa (GH-94796).
- Fix regression around OpenGL swapchain optimization for OpenXR (GH-94894).
- D3D12: Avoid cases of redundant render target clears (GH-95064).
- D3D12: Avoid crash on exit (GH-95074).
- Fix LightmapGI causes crash when using
--headless
(GH-95103).
Shaders
- Automatically ensure correct normals in Compatibility renderer (GH-82804).
- Add connection related functionality to VisualShader (deleting, dropping/inserting a node) (GH-83510).
- Add extra warning messages to
VisualShaderNodeTextureParameter
(GH-83729). - Refactor the parsing of port names in visual shader's expressions (GH-83956).
- Fix visual shader's
screen_uv
input preview uses position of node rather than a sample area like uv (GH-84348). - Comment the shader template light function by default (GH-84594).
- VisualShader: Refactor use of Connection (GH-84969).
- Fix uint's suffix is not highlighted in text shader editor (GH-85014).
- Redesign the graph editor for visual shaders (GH-85017).
- Add a specific error when creating a ViewportTexture in a Texture2D node (GH-85723).
- Sync visual shader's distance fade using circular fade (GH-86596).
- Handle built-in shaders when closing scene (GH-86710).
- Add missing check when insert function
normal_roughness_compatibility
(GH-87207). - Check if the ref shader is valid in visual shader's
_update_option_menu
(GH-87356). - Fix
ShaderMaterial::_property_get_revert
crash when given non-existingp_name
(GH-87603). - Fully initialize all members of structs
IdentifierActions
,GeneratedCode
andDefaultIdentifierActions
(GH-88021). - Make editing properties more intuitive in VisualShader (GH-88951).
- Add percent (
%
) sign to Remainder node name in visual shaders (GH-88980). - Change shader compiler default setting to avoid doctool error (GH-88996).
- Fix some missing categories in visual shader nodes (GH-89190).
- Use raw string literals for BaseMaterial3D shader code generation (GH-89267).
- Rendering: Add hints to some uniform
PropertyInfo
s (GH-89488). - Improve the editor native shader source visualizer (GH-89690).
- Fix false positive errors in gdshaderinc files (GH-89752).
- VisualShader: Remove invalid graph connections when ports are removed (GH-89810).
- Implement documentation comments and tooltips for shader uniform in the inspector (GH-90161).
- VisualShader: Add reroute node and improve port drawing (GH-90534).
- Warn users when assigning
VERTEX
directly toPOSITION
due to compatibility breakage from Reverse Z changes (GH-90587). - Fix incorrect behavior at expanding an output port in visual shader node (GH-90787).
- Fix editor crash when shader has incorrect global array declaration (GH-90792).
- Fix shader crash on zero vector and negative x vector in particles processing (GH-90810).
- Handle Vector4 default input values in visual shaders (GH-90850).
- Prevent expanding output port in visual shader expression (GH-90892).
- Allow compressed texture array and cubemap types in shader globals editor (GH-91164).
- Don't run Shader doc comments logic outside the editor (GH-91307).
- Fix shader highlighting the interruption in
color_region
caused bydisabled_branch_regions
(GH-91497). - Resolve conflict between shader uniform tooltips
/**
and general annotation/**/
(GH-91549). - Fix shader error on mobile when using
LIGHT_VERTEX
(GH-91566). - Make native shader source visualizer highlight uint suffix (GH-91647).
- Fix code style for generated shader code from ParticleProcessMaterial (GH-91946).
- Prevent add shader uniform doc when DocTool is not inited (GH-92145).
- Fix error when duplicating visual shader node inside a Frame (GH-92151).
- Fix completion of functions with struct param/return type in shaders (GH-92464).
- Prevent using built-ins for func names in shaders (GH-92564).
- Fix
VisualShaderNodeVaryingGetter
expanded ports adding ".x" to shader (GH-92847). - Fix incorrect preview port in visual shader (GH-93153).
- Fix bugs in visual shader varyings (GH-93219).
- Prevent changing some built-ins in spatial shaders (GH-93269).
- Add few new outputs to the visual shaders (GH-93338).
- Forbid calling of derivative functions in incorrect functions (GH-93358).
- Fix visual shader not being updated when switching tabs (GH-93385).
- Fix crash on shader constant initialization on MinGW compiler (GH-93469).
- Prevent shader crash when doing invalid operation on boolean vector (GH-93793).
- Fix orphan StringName's in ShaderLanguage (GH-93849).
- Improve code for setup of
global_func_set
inShaderLanguage
(GH-93866). - Add
SwitchVector4D
shortcut to visual shader members (GH-94272). - Make ShaderLanguage's parser recognize sampler passed in from array (GH-94462).
- Few fixes for
VisualShaderNodeRotationByAxis
(GH-94497). - Fix internal connection count decreased if visual shader node removed (GH-94498).
- Fix warning printing for
VisualShaderNodeTextureParameter
(GH-94611). - Fix shader crash when using a varying in separate func before it defined (GH-94671).
- Fix incorrect passing of parameter to visual shader preview (GH-94729).
- Update shader list after saving
gdshaderinc
file (GH-94787). - Emit
normal_roughness
compatibility code in custom functions (GH-94812). - Fix expanded output ports disconnection on updating in visual shader (GH-94875).
- Restrict sampler hint validation to only screen texture hints (GH-94902).
- VisualShader: Reduce size changes of nodes when connecting/disconnecting (GH-95061).
Tests
- Add
closest_points_between_segments()
basis path tests for Geometry2D (GH-48652). - Fix PathFollow tests, Add PathFollow3D forward test (GH-51372).
- Add rotation unit tests for Transform3D (GH-61013).
- Improve PackedScene unit test by covering more methods (GH-80819).
- Add additional tests for RegEx (GH-81742).
- Add unit tests for Camera3D (GH-84826).
- Add more C++ unit tests for String to number conversions (GH-85666).
- Test global transform when adding detached tree (GH-87270).
- Add
ImageTexture
unit tests (GH-88044). - Fix test regression without editor (GH-88449).
- Add unit tests for Camera2D (GH-88614).
- Add unit tests for CryptoKey (GH-89021).
- Add unit tests for JSONRPC (GH-89124).
- Add unit test for Vector2
plane_project
(GH-89617). - Add unit tests for
OAHashMap
(GH-90313). - Add more unit tests for Transform2D (GH-90506).
- Exit with an error if using
--test
on binary without unit tests compiled (GH-90507). - Remove NavigationRegion3D race condition that fails on CI (GH-90613).
- Disable NavigationServer3D async bake test with race condition (GH-90804).
- Suppress expected errors in resource unit tests (GH-91028).
- Add unit test cases for ImageTexture3D (GH-91233).
- Add Timer unit tests (GH-91395).
- Expand tests for
Curve2D/3D
(GH-91880). - Use subfolder for temporary test files (GH-92810).
- Fix some invalid error messages (GH-93135).
- Fix unit tests in template builds (GH-93745).
- CI: Run unit tests on desktop release templates (GH-93780).
- Fix compilation failure in
test_graph_node.h
withdisable_exceptions=false
(GH-94834). - Fix Vector4, Vector4i, and Projection missing from ClassDB tests (GH-95517).
Thirdparty
- astcenc: Update to 4.7.0 (GH-80375).
- ICU4C: Update to version 74.1 (GH-84289).
- meshoptimizer: Update to v0.20 (with a reduced patch) (GH-84384).
- Fix README from
linuxbsd_headers
(GH-86607). - ThorVG: Update from v0.11.2 to v0.11.6 (GH-86623).
- ThorVG: Update from v0.11.6 to v0.12.0 (GH-86846).
- OpenXR: Update to version 1.0.33 (GH-86980).
- vulkan: Update components to Vulkan SDK 1.3.268.0 (GH-87091).
- ThorVG: update from v0.12.0 to v0.12.1 (GH-87105).
- zlib/minizip: Update to version 1.3.1 (GH-87527).
- certs: Sync with Mozilla bundle as of Dec 13, 2023 (GH-87581).
- ThorVG: update from v0.12.1 to v0.12.3 (GH-87612).
- mbedtls: Update to upstream version 2.28.7 (GH-87738).
- Sync controller mappings DB with SDL2 community repo (GH-87741).
- ThorVG: update from v0.12.3 to v0.12.4 (GH-87869).
- wayland-protocols: Update to 1.33 (GH-87982).
- etcpak: Sync with upstream (GH-87984).
- vulkan: Update all components to Vulkan SDK 1.3.275.0 (GH-88011).
- thorvg: Re-enable thread support, made opt-in upstream (GH-88053).
- libktx: Update to 4.3.1 (GH-88075).
- ThorVG: update from v0.12.4 to v0.12.5 (GH-88094).
- miniupnpc: Update to version 2.2.6 (GH-88285).
- basis_universal: Unbundle jpgd to fix symbol conflict, use our newer copy with SSE2 support (GH-88508).
- FastNoiseLite: Sync with 1.1.0, clean up SCsub (GH-88526).
- tinyexr: Update to 1.0.8 (GH-88702).
- embree: Update to 4.3.1 (GH-88783).
- clipper2: Update to 1.3.0 (GH-89025).
- harfbuzz: Update to 8.3.0 (GH-89304).
- libpng: Update to 1.6.43 (GH-89314).
- thorvg: Update to 0.12.7 (GH-89337).
- pcre2: Update to 10.43 (GH-89371).
- Update ICU and msdfgen (GH-89414).
- pcre2: Remove unused sjlit files after last update (GH-89495).
- iOS: Disable PCRE2 JIT (GH-89507).
- meshoptimizer: State used version explicitly (GH-89544).
- thorvg: Update to 0.12.9 (GH-89591).
- mbedtls: Update to upstream version 2.28.8 (GH-90209).
- certs: Sync with Mozilla bundle as of Mar 11, 2024 (GH-90211).
- thorvg: Update to 0.12.10 (GH-90243).
- enet: Sync with upstream commit c44b7d0 (GH-90244).
- harfbuzz: Update to 8.4.0 (GH-90247).
- libktx: Update to 4.3.2 (GH-90248).
- miniupnpc: Update to 2.2.7 (GH-90250).
- squish: Clean up patches, add LICENSE.txt (GH-90251).
- zstd: Update to upstream version 1.5.6 (GH-90253).
- Sync controller mappings DB with SDL2 community repo (GH-90406).
- Sync controller mappings DB with SDL 2 community repo (GH-91108).
- FBX: Update ufbx to v0.14.0 (GH-91528).
- thorvg: Update to 0.13.3, add webp loader (GH-91788).
- Update ICU to 75.1 (GH-91937).
- astcenc: Update to 4.8.0 (GH-91941).
- enet: Update to 1.3.18 (GH-91942).
- libwebp: Update to 1.4.0 (GH-91943).
- Update HarfBuzz to 8.5.0 (GH-91959).
- thorvg: Update to 0.13.5 + hotfix for GCC x86_32 build (GH-92567).
- qoa: Apply upstream patches (GH-92905).
- ThorVG: Update to 0.13.7 (GH-92915).
- thorvg: Update to 0.13.8 (GH-93378).
- ThorVG: Update to 0.14.0 (GH-93655).
- thorvg: Update to 0.14.1 (GH-94103).
- embree: Fix include order causing unwanted dllexport symbols (GH-94256).
- ThorVG: Update to 0.14.2 (GH-94258).
- Windows: Add
libSynchronization
to link flags (GH-94466). - Remove unused Bitstream Vera license (GH-94823).
- Windows: Remove libSynchronization (GH-94836).
XR
- Remove unused grip touch action from default OpenXR action map (GH-85048).
- OpenXR: Add runtime selection dropdown (GH-85117).
- OpenXR: Add support for retrieving play area (GH-85163).
- OpenXR: Add support for hand tracking source extension (GH-85204).
- Cleanup of OpenXR module SCons config (GH-86537).
- Add ability to drive full-body avatars using OpenXRHand (GH-86906).
- OpenXR: Add Meta touch plus interaction profile (GH-86982).
- Add support for OpenXR local floor extension (GH-87235).
- Add bone update option to OpenXRHand to allow preserving original hand scale (GH-87240).
- OpenXR: Make it possible to implement vendor extensions to hand tracking from GDExtension (GH-87546).
- OpenXR: Allow moving vendor passthrough extensions to GDExtension (GH-87630).
- OpenXR: Allow changing play area mode during active session (GH-87745).
- Enable getting suggested tracker names from OpenXR extensions (GH-88311).
- Add XR Face Tracking support (GH-88312).
- WebXR: Add support for hand tracking (GH-88411).
- OpenXR: Update to version 1.0.34 (GH-88574).
- Provide generic interface for XR hand tracking (GH-88639).
- Fix crash when using OpenXR extension wrappers from GDExtension (GH-88689).
- Fix building on MinGW (GH-88724).
- Fix lint errors in WebXR module (GH-88740).
- OpenXR: Register eye gaze even when disabled (GH-88754).
- Add body tracking support (GH-88798).
- Fix XR Body crouching and climbing (GH-89103).
- Fix XRHandModifier3D scaling (GH-89130).
- Expose
profile_changed
signal to XRController3D (GH-89219). - Consistently use
USE_MULTIVIEW
as the define in shaders (GH-89376). - Improve warning when XR shaders are not enabled (GH-89397).
- Disable XR server when compiling without 3D (GH-89411).
- Fix XRBodyModifier3D hip driving for avatars no Root bone (GH-89727).
- Tweak OpenXR alert to mention WMR only on Windows (GH-89968).
- Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node (GH-90237).
- Add
intersects_ray()
method toOpenXRCompositionLayer
(GH-90286). - OpenXR: Add refresh rate signal support (GH-90374).
- Rework XR Trackers to have a common ancestor (GH-90645).
- Revert
OpenXRHand
to its pre-SkeletonModifier3D
state (GH-90759). - Mark
OpenXRCompositionLayer
and its children as experimental (GH-90761). - Remove the Hand enum from XRHandTracker (GH-91130).
- Add a new property named
offset_rect
toMobileVRInterface
(GH-91140). - MobileVR: Orientation is progressive and needs to be initialized (GH-91305).
- Store previous relative transforms in
XRHandModifier3D
(GH-91335). - OpenXR: Allow composition layers to enable hole punching (GH-91485).
- OpenXR: Fix composition layers not having correct play space (GH-91686).
- Fix
layer_viewport
getting cleared onOpenXRCompositionLayer
in editor (GH-91775). - Fix sample count on OpenXR composition layers (GH-91952).
- OpenXR: Fix updating swapchain for foveation (GH-92137).
- Allow
OpenXRCompositionLayer
propertylayer_viewport
to always be assignednullptr
(GH-92200). - Apply reference frame transform to
OpenXRCompositionLayer
nodes (GH-92339). - Set
XRHandTracker
propertyhas_tracking_data
to true only when palm joint is tracked (GH-92801). - OpenXR: Add HTC/MSFT hand interaction profiles (GH-93075).
- Check for bad input in
make_vrs_texture
(GH-93536). - WebXR: Fix closure compiler mangling
XRSession.enabledFeatures
(GH-93593). - Fix WebXR palm joint calculation to include rotation (GH-93614).
- Improve WebXR API docs related to hand tracking support (GH-93633).
- Fix support for environment blend modes on
WebXRInterface
(GH-93646). - OpenXR: Fix
LOCAL_FLOOR
emulation on HTC Vive XR Elite (GH-93678). - OpenXR: Couple of small fixes on the action map (GH-94158).
- Fix creating default action map (GH-94457).
- OpenXR: Fix enabling passthrough via environment blend mode in project settings (GH-94550).