You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
350 KiB
350 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.4.1 - 2025-03-26
2D
- Fix wrong canvas camera override panning in the runtime debugger (GH-103489).
3D
- Fix
RemoteTransform3Dto always use global rotation ifuse_global_coordinatesis true (GH-97498). - Unify CSGPolygon3D gizmos with the other geometries (GH-103301).
Animation
- Fix console errors and crash in cleanup code for PhysicalBoneSimulator3D (GH-103921).
- Fix missing
process_stateerror in blend spaces (GH-104018). - Fix rest translation space in
LookAtModifier3D(GH-104217).
Audio
- Set interactive music streams as meta streams (GH-104054).
- Fix AudioEffectPitchShift issues when
pitch_scaleis set to 1 (GH-104090).
Buildsystem
C#
- Use
ObjectIDwhen convertingVarianttoGodotObject(GH-98034). - Skip re-saving
.csprojwhen TFM is unchanged (GH-103714). - Fix missing Vector4(i) and Projection in C# bindings generator (GH-104097).
Core
- PackedScene: Use ObjectID for DeferredNodePathProperties base (GH-103320).
- Use single RNG instance for
FileAccessEncryptedIV generation (GH-103415). - Fix crash when calling
get_argument_count()on Callable with freed object (GH-103465). - Fix
Invalid Task IDerrors inResourceLoader(GH-104060). - Fix missing binding for
NOTIFICATION_WM_POSITION_CHANGED(GH-104083). - Cherry-picks for the 4.4 branch (future 4.4.1) - 3rd batch (GH-104358).
Documentation
- Update logo/run icon path in platform READMEs (GH-103891).
- Fix BBCode tag for NativeMenu class reference (GH-103893).
- Add instruction to wrap nested classes in
JavaClassWrapper(GH-104364).
Editor
- Fix copying a Node with a signal potentially resulting in an editor crash (GH-96372).
- Use
FlowContainerforEditorNetworkProfilerbar (GH-102576). - Fix vbox separation in sections with
PROPERTY_USAGE_ARRAY(GH-103309). - Make
EditorPropertyand its childEditorPropertybehave like sibling nodes when handling mouse events (GH-103316). - Fix TextEdit scrolls wrong on text selection (GH-103410).
- Set editor's translation domain at root node (GH-103447).
- Restore "Show in File Manager" button functionality in
ProjectManager(GH-103454). - Update UID upgrade tool dialog message (GH-103468).
- Update script modified times when saved in EditorNode (GH-103695).
- Fix ownership when pasting non root with child nodes in new scene (GH-103769).
- Fix debugger's memory leak when project closes itself (GH-104050).
- Fix wrong height for top editors in the inspector (GH-104181).
- Fix Node dock broken right after opening project (GH-104235).
- Create .uid files for detected new files (GH-104248).
- Set window position when running project in maximized or full-screen mode to ensure it is opened on the correct screen (GH-104253).
- Fix editor crash when inspecting 2 objects handled by the same plugin (GH-104296).
- Fix editor crash on overrides for non-existent input mappings (GH-104306).
- Change root node transform warning to only show up for position (GH-104331).
- Fix use after free in the editor inspector section cleanup (GH-104362).
- Fix icons with non-ASCII file names in project manager (GH-104403).
Export
- Add "Go Online" button on Export Template Manager (GH-103235).
- [iOS export] Restore one-click deploy device enumeration using Xcode (GH-103590).
- Use
text_overrunfor project export errors (GH-103598). - Android: Convert
compress_native_librariesto a basic export option (GH-104301).
GDExtension
- Correctly register editor-only
OpenXR*classes'api_type(GH-103869).
GDScript
- Fix head class range to include
class_name(GH-104114). - Add clearing of
static_gdscript_cachetoGDScriptCache(GH-104281).
GUI
- Fix
changedsignal emission inCurve::set_point_offset(GH-96296). - Fix spinbox decimal issues when
update_on_text_changed= true (GH-100684). - Fix error when embedded popup is closed while resizing (GH-102504).
- Fix Tree keyboard navigation in RTL direction (GH-102865).
- Apply
fix_alpha_edgesfor both theme icons and font glyphs (GH-102880). - VideoStreamPlayer: Stop video on exit tree (GH-103396).
- LineEdit: Fix
caret_force_displayed(GH-103508). - Use
Viewport's default texture filter/repeat in GUI tooltips (GH-103636). - Label: Fix min. size calculation counting extra spacing twice (GH-103728).
- Fix memory leak caused by hidden tooltip controls (GH-103793).
- Sync
display/window/size/initial_position_typeandWindow::WINDOW_INITIAL_POSITION_enum (GH-103961). - Add missing
ETR/TTRmarkups (GH-104020). - Fix game crashes when adding color preset after clearing presets in another control (GH-104227).
I18n
- Fix some i18n issues in visual shader editor (GH-103756).
- ScriptEditor: Disable auto translation of the filename label (GH-103842).
- Fix Android build template message translation (GH-104151).
Import
- Fix headless import always emits errors (GH-103403).
- BasisUniversal: Ensure ASTC's HDR variant is supported when transcoding (GH-103766).
- ResourceLoader: Do not wait for the main thread during initial reimport (GH-104013).
- Force multiple of 4 sizes for Betsy compressor (GH-104275).
- Fix crash when reimporting nested gltf scenes (GH-104384).
Input
- Fix Android mouse capture issues (GH-103413).
- [macOS/iOS] Ensure only one axis change event is produced during single
process_joypads()call (GH-104314).
Navigation
- Make NavigationLink3D properly update on visibility change (GH-103588).
Particles
- Fix particle jitter when scene tree is paused (GH-95912).
- Fix GPU particles not emitting at some configured rates when scale curve is zero (GH-103121).
Physics
- Fix interpolation in XR (GH-103233).
- Fix broken negative scaling when using Jolt Physics (GH-103440).
- Fix
ConcavePolygonShape3Dalways enablingbackface_collisionwhen using Jolt Physics (GH-104310). - Fix
shapealways being zero withget_rest_infowhen using Jolt Physics (GH-104599).
Plugin
- JavaClassWrapper: Improve handling of typed array arguments (GH-102817).
- JavaClassWrapper: Fix converting returned arrays to Godot types (GH-103375).
- JavaClassWrapper: Fix conversion to/from
org.godotengine.godot.Dictionarythat regressed (GH-103733). - JavaClassWrapper: Fix mistake in last fix for
org.godotengine.godot.Dictionaryconversion (GH-104156).
Porting
- Android: Fix editor crash after changing device language (GH-103419).
- X11: Fix check for
is_maximizedto require both horizontal and vertical (GH-103526). - [Linux/BSD] Offload RenderingDevice creation test to subprocess (GH-103560).
- Windows: Fix
get_modified_timeon locked files (GH-103622). - Swap Nintendo face buttons on macOS (GH-103661).
- Use more efficient sleep approach on Windows when low-processor mode is enabled (GH-103773).
- [macOS/iOS] Fix system font family descriptor leak (GH-103872).
- macOS: Fix editor loading crash on native menu click (GH-103892).
- macOS: Update mouse-entered state when subwindow closes (GH-104328).
Rendering
- Add ASTC HDR format variants (GH-102777).
- Fix voxelizer normals (GH-102893).
- Fix 2D quad primitive missing lighting data in GLES3 renderer (GH-102908).
- Fix uninitialized value in Tonemap (GH-103092).
- Use separate WorkThreadPool for shader compiler (GH-103506).
- Fix incorrect parameters passed to VMA (GH-103730).
- MetalFX: Change fallback behavior (GH-103792).
- Fix GLES3
gaussian_blurmipmap setup (GH-103878). - CPUParticles2D: Fix physics interpolation after entering tree with
emitting = false(GH-103966). - Vulkan: Disable layers in editor deemed buggy by RenderDoc (GH-104154).
- Renderer: Fix Metal handling of cube textures; assert equal dimensions (GH-104341).
- Disable broken Vulkan layers before running RenderingDevice tests (GH-104572).
- Vulkan: Re-enable Mesa device select layer (GH-104592).
Shaders
- Fix 2D instance params crashing using outside of
main()(GH-103348). - Fix "unused varying" incorrect warning in shaders (GH-103434).
- 2D: Fix light shader accessing
TEXTURE_PIXEL_SIZE(GH-103617).
Tests
- Fix
SCRIPT ERROR/ERROR/WARNINGon test output (GH-103663).
Thirdparty
- Theora: Fix YUV422/444 to RGB conversion (GH-102859).
- Update to latest version of Swappy (GH-103409).
- mbedTLS: Update to version 3.6.3 (GH-104562).
XR
- OpenXR: Fix OpenGL version warning when using GLES (GH-103973).
- Correct occlusion culling viewport location calculation when projection uses asymmetric FOV (GH-104249).
4.4 - 2025-03-03
Table of contents:
- 2D
- 3D
- Animation
- Audio
- Buildsystem
- C#
- Codestyle
- Core
- Documentation
- Editor
- Export
- GDExtension
- GDScript
- GUI
- I18n
- Import
- Input
- Multiplayer
- Navigation
- Network
- Particles
- Physics
- Plugin
- Porting
- Rendering
- Shaders
- Tests
- Thirdparty
- XR
2D
- Expose
Geometry2D.bresenham_line()method (GH-74714). - Add helper methods to check for tile transforms (GH-81973).
- Implement multiple occlusion polygons within each TileSet occlusion layer (GH-93029).
- Fix pink GradientTexture2D (GH-94744).
- Add error checks for bad configuration in
PathFollow2D/3Dset_progress_ratio(GH-94886). - Close expanded tile editor when inspector updates (GH-95034).
- Fix usage of
add_inspector_plugin()(GH-95249). - Fix snapping when zoomed in
Polygon2DUV editor (GH-95259). - Fix polygon drawing for transposed tiles in
TileSeteditor (GH-95337). - Make
Polygon2D::bonesproperty internal (GH-95376). - Tweak missing tile source message in the TileSet editor (GH-95440).
- Enable
SpriteFramesEditorto "guess" the amount of rows and columns of a sprite sheet when loading it for the first time (GH-95475). - Add a zoom speed setting to the 2D editor (GH-95906).
- Add a way to know when a TileMapLayer's cell is modified (GH-96188).
- Fix Path2D splitting (GH-96237).
- Fix TileSet Scattering setting vanishing when changing tools (GH-96280).
- Fix Path2D editor not updating gizmos on selection in scene tree (GH-96404).
- Fix Polygon2D UV editor error when opening grid settings (GH-96411).
- Fix polygon node losing its UV toolbar (GH-96466).
- Add Create Curve button to Path2D editor (GH-96619).
- Fix Animated Path2D doesn't update PathFollow2D progress when scene is running (GH-96629).
- Fix 2D editor view showing both lock/unlock, group/ungroup buttons when starting a saved project with empty scene (GH-96681).
- Allow opening of polygon editor without texture (GH-96731).
- Fix undoing "Move tiles"
TileMapLayeraction when drag/drop areas overlap (GH-96844). - Fix immediate mesh modifications that don't call set_mesh (GH-97770).
- Restore
arc_tolerancevalue when using Clipper2'sInflatePaths(GH-98017). - Fix error when undo tile deletion in TileSetAtlasSourceEditor (GH-98293).
- Optimize ImageLoaderSVG::create_image_from_utf8_buffer (GH-98329).
- Fix incorrect Transform2D docs (GH-98442).
- Improve
make_canvas_position_local()description (GH-98490). - Make possible to scale multiple nodes at once in the canvas editor (GH-98534).
- Fix duplicated Delete shortcut entries in Tiles Editor (GH-98629).
- Compile certain
CanvasItem._edit_*()functions withDEBUG_ENABLED(GH-98736). - Fix setting TileMap data compatibility format broken by #98898 (GH-99259).
- Enable editing of controls inside viewports in editor (GH-99401).
- Move UV editor to bottom dock, rename to Polygon editor (GH-99439).
- Fix undo redo for the texture region editor (GH-99471).
- Change how multi selection scale is applied to canvas item (GH-99506).
- Remove double
is_editor_hint()check insideNOTIFICATION_READYforCamera2Dnode (GH-99664). - Ensure primitive meshes are created before connected to
changedsignal (GH-99740). - Disable Clear Guides menu item when no guides exist (GH-99742).
- Show "transparent background" texture only behind actual texture in
TexturePreviewclass + add borders for readability (GH-100569). - Speed up
Line2D._edit_get_rect()(GH-101082). - Fix converting root Sprite2D (GH-101087).
- Don't print error when updating terrains tree without layer (GH-101096).
- Don't show "Drawing rect" when not actually drawing (GH-101098).
- Add
has_custom_data()to TileData (GH-101488). - Add property guards to shape 2D's (GH-101747).
- Fix editor
Parallax2Dgrid snap movement (GH-101808). - Remove Parallax2D's experimental flag (GH-101983).
- Editor: Fix node selection within SubViewports using size 2d override (GH-102390).
- Fix multiple issues with 'add alternative tile' tileset editor button (GH-102640).
- Fix TileMapLayer bug where dirty cells could be marked twice (GH-102688).
- Prevent errors when Line2D has 0 length (GH-102778).
- Sprite2D: Use correct name to hide
region_filter_clip_enabled(GH-102790). - Fix
Camera2Dlimits drawing (GH-102868). - Fix Line2D not rendering anything when total length is not computed (GH-102870).
3D
- Add
ArrayMesh::surface_remove(GH-76371). - Add 3D translation sensitivity to Editor Settings (GH-81714).
- Improve display for lightmap probes in the editor (GH-83863).
- Ignore locked nodes when click selecting in 3d editor (GH-84831).
- Add option to bake a mesh from animated skeleton pose (GH-85018).
- Add ShadowCastingSetting to MeshLibrary / GridMap items (GH-85443).
- Add
closedproperty toCurve3D(GH-86195). - Fix CSGShape3D's
_mesh_changedto be thread safe (GH-86538). - Fix
CSGShape3Ddebug collision shapes being visible in editor (GH-86699). - Clear drag preview material on
NOTIFICATION_DRAG_END(GH-87135). - Add ability to hide editor transform gizmo (GH-87793).
- Offset drag instantiated scenes that result in a collision by its bounds to mitigate overlap (GH-88511).
- Add CollisionShape3D custom debug colors (GH-90644).
- Adjust orthographic camera gizmo with respect to
keep_aspectsetting (GH-90690). - Add Camera3D preview in Inspector (GH-90778).
- Optimize Editor
_init_grid()(GH-92734). - Add CSG options to bake to static mesh and collision shape (GH-93252).
- Allow tool scripts to alter transform of Node3DEditorViewport camera (GH-93503).
- Make viewport grid visible on all three planes in orthogonal camera view (GH-93869).
- Fix mesh corruption of CSG by using elalish/manifold (GH-94321).
- Add flag to enable use of accurate path tangents for polygon rotation in
CSGPolygon3D(GH-94479). - Fix gizmos without visible geometry not being selectable (GH-94553).
- Improve time to close scene with many 3D gizmos (GH-94698).
- Make primitive meshes react to texel size change (GH-94726).
- Fix Pressing Escape doesn't exit freelook in the 3D editor (GH-95154).
- Fix copy-paste and cut-paste in GridMap (GH-95322).
- Correct rotation gizmo plane math for off-center perspective view (GH-95402).
- Fix crash by ensuring selected node is a descendant of the edited scene (GH-95420).
- Fix incorrect warning on SkeletonModifier (GH-95548).
- Remember "View Grid" (per-viewport) setting between editor sessions (GH-95874).
- PathFollow3D update transform immediately by default (GH-96140).
- Fix crash when selecting ownerless 3D node (GH-96199).
- Fix instant transformations not being committed when used in succession (GH-96530).
- Cleanup Path3D editor (GH-96651).
- Use
thread_localforbones_backup(GH-96713). - Fix issue where editable children of 3D nodes would be selected (GH-96765).
- Hide white circle outline during instant transformations (GH-96766).
- Move GridMapEditor to bottom panel (GH-96922).
- Add quad mesh to material preview (GH-97030).
- Remove redundant
_3D_DISABLEDcheck from csg module (GH-97479). - Editor: Improve cylinder gizmos (GH-97535).
- Improve global bone pose calculation in
Skeleton3D(GH-97538). - Improve UI of sun angle in the sun/preview env popup (GH-97747).
- Improve "No meshes to bake" LightmapGI error dialog in the editor (GH-98297).
- Fix
Camera3D::project_position()whendepth == zfar(GH-98489). - Fix normals of very large
SphereMeshandCapsuleMesh(GH-98610). - Improve Mesh UV1/UV2 preview in the editor (GH-98716).
- Fix wrong checked menu item in 3D editor (GH-98911).
- Fix Gridmap shortcut conflicts with 3d editor (GH-99170).
- GridMap: Fix hidden gizmo at start-up (GH-99354).
- Update gridmap editor nodes when the gridmap node transform changes (GH-99393).
- Expose GridMapEditorPlugin to scripts and add methods to manipulate to the selection and selected palette item (GH-99639).
- Clean up UI of ReflectionProbe (GH-99920).
- Print better manifold errors and avoid crash on non manifold csg input (GH-99959).
- Adjust VoxelGI gizmo opacity (GH-99969).
- Allow Viewport children to lock, group, and insert keyframes (GH-99994).
- Mend gaps in meshes caused by trigonometric funcs (GH-100020).
- Enable Emulate Numpad by default in the 3D editor settings (GH-100059).
- Add ruler mode to 3D (GH-100162).
- Fix 3D editor snap setting values not being displayed correctly (GH-100306).
- Fix 3D CSG not reacting to child node order changes (GH-100340).
- Push some warnings for CSG non manifold and other errors (GH-100361).
- Remove solid boxes in gizmos of VoxelGI and ReflectionProbe (GH-100370).
- Fix errors when undoing collision generation for multiple meshes with different parents (GH-100500).
- Update the warnings for CSGShape3D (GH-100526).
- Fix crash when duplicating
DecalorLight3Dnodes (GH-100632). - Follow-up of
ArrayMesh::surface_removeaddition (GH-100643). - Fix 3D camera override when there is no camera in scene tree (GH-100698).
- Remove unused editor setting
editors/grid_map/editor_side(GH-100702). - Fix gaps in CSGPolygon3D spin mode at 360 degrees (GH-100826).
- Add an editor setting for the GridMap grid color (GH-101101).
- Make the GridMap editor cursor translucent (GH-101103).
- LightmapGI: Including
modules_enabled.gen.hto properly check the configuration warning (GH-101323). - Add ability to cancel rotation from viewport rotation gizmo (GH-101369).
- Make GridMap editor Preview Size setting take effect immediately after change (GH-101455).
- Fix SceneTreeDock::_new_scene_from()'s reset_scale in 3D (GH-101943).
- Fix visible viewport gizmos when preview camera is enabled on startup (GH-102014).
- Fix collision reposition with
CSGShape3D(GH-102286). - Physics Interpolation - Fix client interpolation pump (GH-102653).
- Add changeable freelook speed in Game Window (GH-102704).
- Fix stale VoxelGI warnings (GH-102843).
Animation
- Add persistent folding to Animation Library Editor (GH-86481).
- Add per-bone meta to Skeleton3D (GH-87150).
- Update AnimationPlayer in real-time when keyframe properties change (GH-91599).
- Fix Bone2D gizmo scaling (GH-91731).
- Add markers to Animation (GH-91765).
- Don't lose in/out handles when bezier keyframe inserted on top of existing keyframe (GH-91854).
- Optimize AnimationMixer blend process (GH-92838).
- Allow keying properties when selecting multiple nodes (GH-92842).
- Allow theming animation editor (GH-93577).
- Add duplicate animation for SpriteFrames (GH-93624).
- GLTF: Implement
KHR_animation_pointerfor animating custom properties (GH-94165). - Add
advance_on_startoption toNodeAnimationto handleadvance(0)for eachNodeAnimation(GH-94372). - Fix animation library copy-paste not preserving resource reference (GH-94429).
- Add validation to glTF importer for Blendshape and Animation (GH-94783).
- Fix
AnimationPlayercrash when it's made the scene root (GH-94945). - Fix
Skeleton2D.{_set|_get}always returning true (GH-95124). - Fix drawing leaf
Bone2DinPolygon2DUV editor (GH-95258). - Avoid
[]forexternal_animation_libraryimport option (GH-95505). - Fix errors about
UndoRedohistory mismatch when deleting bezier track (GH-95518). - Add internal
_finish()method to Tweener (GH-95545). - Add separate timeline snapping control to Animation Editor (GH-95638).
- Add
BoneAttachment3D::get_skeleton()method (GH-95643). - Add hint for oneshot property & warning when it will be updated continuously by Force Continuous in
AnimationMixer(GH-95711). - Add documentation to clarify un-interpolatable type on animation blending (GH-95722).
- Fix crash when re-importing model with AnimationPlayer panel open and node selected (GH-95795).
- Fix animation timeline resize widget allowing invalid internal values (GH-95947).
- Allow jumping to previous/next keyframe in animation player (GH-96013).
- Add 3D skeleton preview to Advanced Importer (GH-96094).
- Revert scaled armature advanced importer preview fix (GH-96095).
- Add Revert support to SkeletonEditor (GH-96196).
- Fix Tweeners to emit
finished()when underlying object is deleted (GH-96216). - Fix physical bone update without simulating (GH-96270).
- Attempt applying RESET pose during import (GH-96308).
- Add
modffunction and fix animation editor snap behavior (GH-96328). - Improve behavior of AnimationPlayer warnings (GH-96414).
- Fix overlapping in animation timeline display (GH-96428).
- Use antialiased line drawing in animation Bezier editor (GH-96559).
- Fix AnimationLibrary loading (GH-96577).
- Avoid bubbling up changed notification when on new item/key of dictionaries to avoid inspector wipeout (GH-96623).
- Update AnimationPlayer in real-time when bezier curve properties or bezier editor changes (GH-96753).
- Fix errors when creating bezier component tracks (GH-96789).
- Expose the optimize method of the Animation class to gdscript (GH-96835).
- Fix selection box + scrolling in animation editor (GH-96902).
- Fix syncing PhysicalBone internal poses individually (GH-97007).
- Add missing "Quad" capture TransitionType enum hint (GH-97018).
- Fix non const animation node
_processvirtual function (GH-97020). - Fix animation
BezierEditoruses only half the view (GH-97111). - Fix Undo/Redo not working in Bezier Animation Editor when moving keys (GH-97169).
- Fix animation compression going the wrong way (GH-97290).
- Ensure
handle_modesis given default values rather than flagging error if undefined (GH-97380). - Move skin registration process into deferred on ready (GH-97489).
- Core: Fix sorting of
Dictionarykeys (GH-97542). - Fix positioning of popup menu in AnimationLibrary editor (GH-97560).
- Fix keying of property subpaths (GH-97563).
- Fix mouse clamping in Animation Bezier Editor box select (GH-97564).
- Allow fractional FPS values in Animation Editor (GH-97569).
- Convert Vector to LocalVector in animation system (GH-97687).
- Use
LocalVectorfor skeleton (GH-97744). - Fix error when stopping empty animation player (GH-97760).
- Add RetargetModifier3D for realtime retarget to keep original rest (GH-97824).
- Allow seconds snapping to use minimum intervals of 0.0001 once more (GH-97833).
- Fix initial skin update timing in Skeleton3D (GH-98009).
- Fix inverted vertical zoom interaction in animation curve editor (GH-98031).
- Improve Select Markers dialog in AnimationTree editor (GH-98224).
- Prioritize proximity to green arrow when selecting overlapping transitions in AnimationNodeStateMachine (GH-98401).
- Reduce opacity of nodes with no shared transition when selecting an AnimationNodeStateMachine node (GH-98402).
- Improve Scale Selection in Animation tab (GH-98419).
- Implement LookAtModifier3D (GH-98446).
- Fix Skeleton doesn't update skin after deactivating modifiers when it has only one modifier (GH-98536).
- Add type filters to AnimationPlayer's "Add Track" (GH-98558).
- Add
Tween.tween_subtweenmethod for nesting tweens within each other (GH-98660). - Fix
capture_cache.animationwas not cached (GH-98706). - Fix animation editor snapping value not lowering as intended when holding shift (GH-98826).
- Add FPS compatible option in second mode of the animation editor snapping (GH-99013).
- Fix crash when inserting keyframes with empty properties array (GH-99148).
- Add animation node extension (GH-99181).
- Sort blend shapes in the inspector by ID instead of alphabetically (GH-99231).
- Add back
AnimationPlayer.get_argument_options(GH-99277). - Fix key is deselected by changing key time in KeyEdit in FPS mode (GH-99319).
- Fix spinner in AnimationTrackEdit in FPS mode (GH-99324).
- Add
explicit_elapseoption to AnimationNodeTimeSeek to handle some processes (GH-99348). - Fix issues with animation markers drawing (GH-99363).
- Add
root_motion_localoption to AnimationMixer to pre-multiply root motion rotation accumulator before blending (GH-99394). - Make start/end can be retrieved from each PlaybackData on AnimationPlayer (GH-99585).
- Make LookAtModifier3D adopt the bone name method (GH-99612).
- Fix
forward_vectorscale to handlesafe_margincorrectly in LookAtModifier (GH-99613). - Make flipping flag consider influence in LookAtModifier3D (GH-99619).
- Fix orphan strings in
AnimationNodeStateMachine(GH-99934). - Make
backwardbe parameter of theAnimationTreein theAnimationNodeAnimation(GH-100039). - Add Show in FileSystem right click option to SpriteFrames (GH-100276).
- Remove dead code in
AnimationNodeStateMachine(GH-100324). - Fix Sync in BlendSpace1D/2D with BlendModeDiscrete (GH-100373).
- Make
AnimationNodeExtensionextendAnimationNodeinstead ofAnimationRootNode(GH-100416). - Rename animation node process function to avoid GDExtension name collision (GH-100442).
- Add an option for tweens to ignore
Engine.time_scale(GH-100735). - Core: Align naming and args of
(SceneTree)Timertime scale methods (GH-100752). - Make transform elements BitField in RetargetModifier (GH-100811).
- Move enum BoneAxis to SkeletonModifier from LookAtModifier (GH-101148).
- Fix
LookAtModifier3Drest space incorrect rotation (GH-101311). - Replace
Animation::_clear()with explicit.clear()calls (GH-101354). - Implement SpringBoneSimulator3D to wiggle chained bones (GH-101409).
- Add missing
TOOLS_ENABLEDblock toRetargetModifier3D(GH-101448). - Change reset timing of the AnimationMixer and Skeleton on save (GH-101450).
- Force update RetargetModifier3D's child skeletons on save (GH-101451).
- Fix shifted joint radius index in SpringBone gizmo and remove unused
end_bone_tip_radiusproperty (GH-101525). - Add validation for rotation axis to SpringBoneSimulator3D (GH-101571).
- Fix glitch in
SpringBoneSimulator3Dby storing the previous frame's rotation instead of using no rotation when the axis is flipped (GH-101651). - Clarify
SpringBoneSimulator3D's gravity units and improve documentation (GH-101652). - Fix failure to load joints with individual config in SpringBone (GH-101729).
- Fix incomplete FPS spinbox display in sprite frames editor (GH-101798).
- Remove dead variable
end_bone_tip_radiusfrom SpringBoneSimulator (GH-101861). - Add saving flag hack to Skeleton and revert reset timing of animation (GH-102026).
- Don't expose AnimationNodeStartState and AnimationNodeEndState as internal, this triggers a ClassDB bug (GH-102433).
- Prevent off-thread errors when generating resource previews for animation nodes (GH-102692).
Audio
- Use the Dummy audio driver in the project manager (GH-38208).
- Optimize cubic hermite algorithm in AudioStreamPlaybackResampled (GH-83536).
- Expose some AudioStreamPlayback methods (namely
mix_audio()) (GH-86539). - [macOS/iOS] Use hardware sampling rates for audio I/O (GH-88628).
- Fix
SubViewport/AudioStreamPlayer2Dcrash (GH-91123). - Add missing audio bus button styles (GH-93443).
- Add runtime file loading to
AudioStreamWAV(GH-93831). - Fix AudioStreamPlayer
get_playback_position()for web build (GH-95197). - Expose
AudioStreamPlayer{2D,3D}::set_playingand removeAudioStreamPlayer::{2D,3D}::_is_active(GH-95375). - Add
stop_callabletoAudioStreamPlayerInternal(GH-95386). - QOA: Remove unnecessary memory allocation (GH-95463).
- Improve AudioStreamPlayer icons (GH-95763).
- Fix interactive audio transitions with wrong volume (GH-95803).
- ResourceImporterWAV: Enable QOA compression by default (GH-95815).
- Expose
AudioStreamPlaybackInteractive::get_current_clip_index()(GH-95839). - Honor
pitch_scalevalue before playing audio sample (GH-95862). - Add Web MIDI support (GH-95928).
- MP3: Remove unnecessary memory allocation (GH-95999).
- AudioStream(Playback)WAV: Use LocalVectors instead of pointers (GH-96017).
- WAV: Add missing break on
get_length()(GH-96080). - WAV stream/importer: Improve compression/loop names and descriptions (GH-96174).
- ResourceImporterWAV: Fix memory leak on QOA import (GH-96198).
- MP3: Use heap for big struct when setting data (GH-96240).
- Use
qoa.cand custom compress procedure (GH-96346). - Fix leak when using audio samples instead of streams (GH-96572).
- Fix AudioStreamPlayer3D still processing when out of range (GH-96677).
- WAV: Fix one frame overflow at the end (GH-96768).
- [Editor, Servers] Minor optimizations (GH-96875).
- AudioStreamMP3: Use a LocalVector to store data (GH-97026).
- Fix
AudioStreamMicrophonecrash on scene-reload (GH-97032). - AudioEffectPitchShift: Fix distortion when pitch is 1.0 (GH-97109).
- Expose Viewport methods to get current 2D/3D audio listener (GH-97159).
- Vorbis: Remove redundant bounds check (GH-97547).
- AudioStreamImport: Allow waveform resize (GH-97551).
- Fix
AudioStreamPlayback's_stop()not being called whenAudioStreamPlayer'sstop()is called (GH-97625). - Fix freeze when data chunk size in WAV header is larger than the actual size (GH-97711).
- Web: Make audio bus fetching more resilient to errors (GH-97739).
- Remove playback fade-in and add comments to
AudioServer(GH-98131). - Fix iOS audio driver attempting to start output too early (GH-98305).
- Add
AudioServer.get_driver_name()to get the actual audio driver name (GH-98435). - Fix
AudioStreamWAV::save_to_wavadding extra '.wav' to file if existing ext is not lower case (GH-98717). - Fix
fade_beatsdefined asintinaudio_stream_interactive.h(GH-99186). - Document
AudioStreamPlayer.get_playback_position()intentionally always returning0.0when usingAudioStreamInteractive(GH-99200). - Add
volume_linearproperty and getter/setter methods for audio-related classes (GH-99268). - Implement
AudioStreamSynchronized::get_bar_beats(), fix division by zero (GH-99327). - Fix code consistency between AudioStreamPlayer2D and AudioStreamPlayer3D (GH-99734).
- Fix AudioStreamPlayer2D/3D's
get_playback_positionreturning0right after callingseek(GH-99759). - TestAudioStreamWAV: use runtime load instead of importer (GH-100022).
- Prevent WASAPI error spam when device cannot be initialized (GH-100116).
- Add missing
GDVIRTUAL_BIND()forAudioStream::_has_loop()and::_get_bar_beats()(GH-100126). - Web: Restore ScriptProcessorNode audio driver fallback (GH-100245).
- Add AudioStreamMP3
load_from_file/load_from_bufferand harmonize other audio streams (GH-100307). - Fix default
AudioBusLayoutnot loading correctly if path is set in Project Settings (GH-100371). - Fix a crash trying to save an empty AudioStream (GH-100422).
- Fix initialization order in
AudioStreamInteractiveto allowinitial_clipto be properly played (GH-100552). - Stop AudioStreamPlayback only if it's not playing (GH-101097).
- Fix GCC warning about potential stringop-overflow in AudioEffectPitcShift (GH-101279).
- Fix Theora video issues (GH-101958).
- Initialize pa_buffer_attr.maxlength to -1 (GH-102069).
- Web: Fix audio issues with samples and GodotPositionReportingProcessor (GH-102163).
- AudioFilterSW: Fix audio cutting out due to numerical errors (GH-102210).
- AudioStreamGenerator: Add mixing rate presets, update docs (GH-102691).
- Web: Remove position pool system and return false when done instead (GH-102715).
- Web: Fix issue when pausing an non-started sample (GH-102955).
Buildsystem
- Disable unused Basis Universal features to reduce binary size (GH-85321).
- SCons: Add
num_jobsas an explicit option so it can be set from other sources (GH-87376). - Update CODEOWNERS (GH-89486).
- Web: Fix browser opening too early with
serve.py(GH-90352). - SCons: Detect MSVC compiler version (GH-91069).
- Clean up the gradle build logic used to generate the Godot Android binaries (GH-91271).
- Add support for compiling with VS clang-cl toolset (GH-92316).
- SCons: Add unobtrusive type hints in SCons files (GH-93058).
- CI: Update
clang-formatpre-commit hook to latest version (GH-93313). - Style: Apply
clang-tidyfixes (GH-93401). - SCons: Improve colored output (GH-93479).
- Style: Format
.yaml/.ymlfiles (GH-94091). - Some improvements for MinGW and LLVM build on Windows (GH-94747).
- Windows: Add sanitizers for llvm-mingw, increase stack for ASan (GH-94845).
- SCons: Add method to generate raw cstrings (GH-94995).
- Remove unnecessary DLL export attributes (GH-95417).
- Expose more Ninja-related build options (GH-95504).
- Fix compilation issues caused by
faridentifier (GH-95768). - Enable more standards conformance for MSVC (GH-95800).
- macOS/iOS: Fix various warnings when targeting newer SDKs (GH-95854).
- SCons: Better validation for platform-specific opt-in drivers (GH-95921).
- Fix build error in arm32 (GH-95975).
- Windows: Move
__REQUIRED_RPCNDR_H_VERSION__to the header (GH-96085). - Properly mute
-Wundefined-var-templateClang warning in SafeBinaryMutex (GH-96108). - SCons: Pass
/Zc:__cplusplusin MSVC builds (GH-96244). - Android: Check if
keyStorepath is empty (GH-96254). - zstd: Make sure
huf_decompressis only applied to 64-bit x86 (GH-96303). - mingw: Only use
ar --thinon supported versions (GH-96373). - Remove
ARFLAGShack for Windows, replace withTEMPFILE(GH-96407). - SCons: Set appropriate prefix when using clang-cl (GH-96447).
- Fix SCU global namespace conflict in
resource_format_text.cpp(GH-96511). - Store GLES over GL status in the OS to avoid direct renderer includes in the editor (GH-96525).
- Core: Optionally delete
Refnullptrcomparisons (GH-96532). - Fix iOS Simulator compiler error (GH-96597).
- Web: Update minimum requirements for emscripten to 3.1.62 (GH-96610).
- SCons: Make ninja output file consistent (GH-96712).
- MinGW: Fix GCC ar detection (GH-96747).
- Improve cache handling (GH-96752).
- SCons: Make
lto=autoprefer ThinLTO over full LTO for LLVM targets (GH-96785). - SCons: Fix
clang-cllink/ar flags (GH-96813). - [Android editor] Update the Android editor flavors (GH-96967).
- Fix weird MSVC compilation error (GH-97059).
- Fix eslint .pre-commit-config.yaml by removing commas (GH-97077).
- Fix using Binutils
ARwithTEMPFILEon Windows (GH-97188). - Style: Update
ruff&mypyto latest versions (GH-97237). - Remove direct render include in
ExternalTexture(GH-97279). - In make_rst.py, include the parent class in 'Inherits:' even if it is not known (GH-97337).
- CI: Add MinGW/GCC build to Windows GHA (GH-97446).
- SCons: Remove MAXLINELENGTH override for MSVC (GH-97458).
- CI: Update
clang-formatpre-commit hook to 19.1.0 (GH-97483). - CI: Support merge queues with default runner (GH-97503).
- Move Vulkan includes to a central
godot_vulkan.hheader (GH-97510). - Use dedicated
print_errormethod for colored output for unsupported drivers (GH-97552). - Build System: Extract
validate_archhelper functions (GH-97555). - Extract common check functions in windows_detect.py file (GH-97556).
- Replace comments with printed warning for Metal on x86_64 (GH-97570).
- Add a few missing CODEOWNERS (GH-97581).
- SCons: Fix MSVC decode error (GH-97618).
- SCons: Include pre-release in MSVC detection (GH-97622).
- SCons: Bump C standard:
C11→C17(GH-97626). - SCons: Fix MSVC version check for VS Preview (GH-97639).
- Enable use of Labels as Values feature in Clang when not wrapped by GCC (GH-97727).
- Improve detection of ccache on macOS (GH-97810).
- Make module dependency check recursive (GH-97813).
- Add loongarch64 support for Linux/*BSD (GH-97822).
- Update
CODEOWNERS(GH-97866). - macOS: Update Vulkan SDK install script (GH-97981).
- SCons: Extend
MinGWsupport & checks (GH-98105). - SCons: Improve cache purging logic (GH-98154).
- Don't include
core/io/image.hincore/os/os.h(GH-98237). - Add some folders which would benefit from scu to scu pipeline (GH-98261).
- Android & iOS: Enable strict aliasing (GH-98380).
- Implement
CODEOWNERScorrections (GH-98399). - Fix Linux builds with separate debug symbols file when there is a space in the path (GH-98506).
- Misc: Check for the available and installed Vulkan SDK versions before downloading and installing (GH-98608).
- Update the
productionbuild argument for Android Studio debug builds (GH-98687). - Remove duplicate of
get_build_version(GH-98697). - Allow multiple platform API files (GH-98700).
- Delete stale check, make SCons support globbing with
#inside path (GH-98774). - Add missing checks for non-3D builds in scene debugger (GH-98777).
- CI: Update clang format/tidy pre-commit versions (GH-98837).
- Remove pre-Visual Studio 2017 detection code in the buildsystem (GH-98842).
- SCons: Replace
_find_scu_section_namefunction with SCons builtins (GH-98888). - CI: Update Linux runners to Ubuntu 24.04 (GH-98898).
- Web: Ensure editor crossorigin isolation headers (GH-98901).
- Make SCons SCU build banner less intrusive (GH-98960).
- Add
RefandHashSettogodot.natvis(GH-98961). - Web: Don't cache emsdk (GH-98965).
- Windows: Fix duplicate .exe extension with mingw on Linux/macOS (GH-98968).
- Linux: Regenerate X11 wrappers with dynload-wrapper 0.6 (GH-98976).
- Trim a few no-break and zero-width spaces from codebase (GH-99031).
- Windows: Rename
PKEY_Device_FriendlyNameto avoid duplicate symbols with newer MinGW SDKs (GH-99036). - Windows: Expand
godot.natvistype coverage (GH-99042). - Web: Remove deprecated worker.js file (GH-99044).
- Unify compatibility aliases (GH-99046).
- Web: Fix Web Editor plugin being added to SCons multiple times (GH-99061).
- CI: Update
ruff&mypypre-commit hooks (GH-99080). - Update JavaScript/Java plugins to solve known vulnerabilities (GH-99123).
- SCons: Bump minimum version of SCons to 4.0 & Python to 3.8 (GH-99134).
- Delete old unused code for VS project generation (GH-99138).
- Use pkg-config for miniupnpc and mbedtls (GH-99171).
- Refactor compiler detection code (GH-99217).
- Use scons to calculate all the sources needed for vsproj generation (GH-99274).
- Fix 32-bit Windows build (GH-99280).
- SCons: Fix up build after cache logic changes (GH-99291).
- SCons: Address minor
show_progressissues (GH-99292). - Add web support for all missing splash screen properties (GH-99296).
- CI: Bump SCons to latest (4.8.0 → 4.8.1) (GH-99332).
- SCons: Move
swappyoption to android and slightly refactordetect.py(GH-99351). - SCons: Pass
ninja_filevariable in tool instead of default name (GH-99386). - Codeowners: Add missing test ownership (GH-99462).
- SCons: Misc improvements (GH-99472).
- Prevent cache check mangling access time (GH-99501).
- Fix broken includes when compiling with
builtin_miniupnpc=false(GH-99556). - Fix path format for SCU builds on Windows (GH-99629).
- Tweak cache sizes for CI (GH-99709).
- CI: Remove leading-underscore teams from
CODEOWNERS(GH-99717). - CI: Add explicit problem matchers (GH-99770).
- basis_universal: Clarify encoder-only dependencies, only used in editor builds (GH-99860).
- GitHub Actions: Use quiet xmllint output to only print error lines (GH-100042).
- Make Godot compile on
FreeBSD(GH-100047). - Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds (GH-100052).
- thorvg: Regenerate and apply patches (GH-100140).
- Fix crash within header_guards when a file is too short (GH-100167).
- SCons: Fix MSVC bypassing disabled warnings (GH-100185).
- Windows: Fix MinGW debug symbols (GH-100207).
- SCons: Unconditionally use
env.Decider("MD5-timestamp")(GH-100210). - Windows: Use
dwarf-4for clang builds on Windows (GH-100270). - SCons: Properly set SSE2 as baseline on x86_32 (GH-100337).
- Exclude known thirdparty/ ubsan errors (GH-100380).
- Add thirdparty/ ubsan suppressions for TPS demo (GH-100382).
- Fix
taa_resolve.glslpath in COPYRIGHT.txt (GH-100535). - Web: Security upgrade eslint from 9.12.0 to 9.15.0 (GH-100553).
- Remove unused headers in core (GH-100564).
- [Windows, LLVM] Fix
colorizeflag (GH-100577). - SCons: Don't update node count when cleaning (GH-100624).
- Force build editor with regex module, remove checking code (GH-100751).
- Fix Mold-search in older systems (GH-100827).
- Style: Add
.clangdconfig (GH-100828). - .clang-format: Change AllowShortFunctionsOnASingleLine back to
Inline(GH-100830). - Pre-commit: Fix applying ruff to SCsub files (GH-100870).
- Fix MSVC Variant Workaround (GH-100904).
- Style: Integrate minor pre-commit/
yamladjustments (GH-100908). - CI: Fix GHA bug by defining a single concurrency (GH-100912).
- SCons: Properly
NoCacheall text files (GH-101008). - Style: Unify
.editorconfiglogic (GH-101235). - SCons: Refactor color output implementation (GH-101249).
- CI: Ensure problem matchers handle colored output (GH-101316).
- SCons: Fix missing context for
print_info/warning/errorwhen colors are off (GH-101322). - SCons: Specify optional dependencies for modules (GH-101327).
- CI: Install apt dependencies directly, works around issue with
awalsh128/cache-apt-pkgs-action(GH-101363). - Bump version to 4.4-beta (GH-101552).
- iOS: Weak-link MetalFX (GH-101614).
- Break after purging cache (GH-101674).
- CI: Tighten timeout period for all jobs (GH-101712).
- SCons: Fix handling of platform-specific tools, notably
mingw(GH-101726). - jpeg-compressor: Fix include when compiling with Clang and
FORTIFY_SOURCE >= 1(GH-101927). - Git-ignore built
Godot.apppackage (GH-101989). - Add missing
cstdintincludes for GCC 15 (GH-102022). - Change
VariantUtilityto prevent undefprint_verbose(GH-102062). - Update CI
ruff&mypypre-commit hooks (GH-102246). - Windows: Fix build with MinGW 8.0.0-1 (GH-102255).
- SCons: Apply new ruff/mypy fixes (GH-102371).
- CI: Add a Linux job for
template_debug(GH-102423). - Workaround mingw-gcc LTO ICE by re-adding some dead code. (GH-102506).
- CI: Separate Android editor artifacts (GH-102543).
- Update MoltenVK install script to include version number in installer name (GH-102554).
- Wayland: Fix build config with
so_wrapdisabled (GH-102673). - CI: Remove outdated reference to ubuntu-20.04 (GH-102720).
- Remove problematic file from SCU (GH-102730).
- Windows: Configure MinGW LTO with
-fno-use-linker-plugin -fwhole-program(GH-103077). - Fix libtheora optimizations causing errors in calling function for x86_64 Windows (GH-103176).
- Windows: Fix unused variable error in
DisplayServerWindows(GH-103252). - Windows: Fix unreachable code in
DisplayServer(GH-103286). - Fix compiling on arm64 Linux with GCC (GH-103303).
- Add
(void *)cast directly toGetProcAddresscalls (GH-103354). - CI: Run
apt installbefore installing libxml2-utils, GHA cache got flaky (GH-103484).
C#
- Generate strongly-typed method to raise signal events and fix event accessibility (GH-68233).
- Implement proper generic type name printing for Godot Editor (GH-88363).
- Fallback to CoreCLR/MonoVM hosting APIs when hostfxr/NativeAOT fails (GH-88803).
- Add Codium support to C# external editors (GH-89051).
- Move GodotSharp to .NET8 (GH-92131).
- Fix inability to use ResourceLoader in C# after threaded load in GDScript (GH-92888).
- Clear instance bindings callbacks on finalizing the language (GH-93172).
- Use Godot's LipO implementation instead of Xcode's lipo command (GH-93230).
- Fix
get_property_listget wrong order of properties (GH-93779). - Fix GD0107 not applying to arrays and dictionaries containing nodes (GH-94599).
- Change the
VisualShaderNodeCustomtemplate to use the correct override types and signatures (GH-94693). - Fix Vector3
Slerpnormalization error (GH-94766). - Generate signal delegates with typed arrays (GH-94953).
- Expose
Transform2D.Determinant()(GH-95269). - binder_common: Fix uninitialized marshaling for
PtrToArg<char32_t>(GH-95317). - Add
NotNullWhenAttributetoIsInstanceValid(GH-95431). - macOS: Only set entitlements for main binaries, fixing C# signing issues (GH-95498).
- Move search in files extension list definition to be after Scene level module init (GH-95502).
- Destroy script before clearing owner (GH-95676).
- Fix relative paths for global class icons in C# (GH-95808).
- Add metadata for
char16_tandchar32_t(GH-95840). - Fix C# code example for
Object._get_property_list(GH-96021). - Fix build logger unable to handle an event without an associated file (GH-96293).
- Clear existing data directory extracted from PCK (GH-96301).
- Generate
ReadOnlySpan<T>Overloads for GodotSharp APIs (GH-96329). - Use export platform to determine the target OS and log errors (GH-96335).
- Fix building with
deprecated=no(GH-96570). - Replace Reflection-Based implementation with Generated one in
CreateManagedForGodotObjectBinding(GH-96955). - Reorder C# script properties to fix editor serialization (GH-97014).
- Use
char *with CoreCLR/MonoVM APIs (GH-97120). - Add error messages to
BindingsGenerator(GH-97194). - Use dotnet CLI to launch
OpenVisualStudio.dll(GH-97198). - Fix C#
operator *(Transform3D, Aabb)(GH-97208). - Change generated On{SignalName} to EmitSignal{SignalName} (GH-97588).
- Implement
[ExportToolButton](GH-97894). - Fix untyped dictionary .NET debug visualization showing keys as values (GH-97951).
- Fix unhandled GD0303 error for nested generic attribute types (GH-98059).
- Fix Android mono export with 2 or more cpu architectures fails (GH-98066).
- Fix exported typed dictionaries in .NET having an incorrect hint (GH-98340).
- Escape signal parameters (GH-98459).
- Fix StringName leak when converting
VarianttoSignal/Callable(GH-98467). - Docs: Add notes about C# differences in Variant constructors (GH-98499).
- Fix generic arrays and dictionaries in .NET not calling
set_typed(GH-98545). - Remove duplicate read/write-only property warning from ScriptPropertiesGenerator (GH-99206).
- Preserve no-hint behavior for unmarshallable generics in dictionaries (GH-99485).
- Avoid deadlocks in multi-threaded management of the C# script map (GH-99539).
- Fix warnings caught by new problem-matchers (GH-99902).
- Upgrade user project's TargetFramework to
net8.0(GH-100195). - Fix gradle builds for multiple ABIs (GH-100351).
- Downgrade Microsoft.CodeAnalysis.CSharp to 4.8.0 for compat with SDK 8.0.1xy (GH-100506).
- Add option to treat warnings as errors (GH-100568).
- Fix EmitSignal with typed array parameters (GH-100636).
- Update required .NET SDK version in error messages (GH-100667).
- Use collection expressions in docs (GH-100685).
- Add OKHSL properties to Color (GH-101337).
- Add Obsolete attribute to signal trampolines and emitter functions (GH-101970).
- Validate project TFM for Android template exports (GH-102627).
- Show enum property invalid value in inspector (GH-102743).
- Disallow
[ExportToolButton]on members that may store the Callable (GH-102836).
Codestyle
- Fix typo in XRInterface comment (GH-86652).
- Match the coding style for concatenating String (GH-92933).
- Core: Integrate Ref
instantiatewhere possible (GH-92986). - Improve template class conditionals with constexpr (code style) (GH-94137).
- Fix various typos (GH-94477).
- iOS: Fix typo in GodotApplicationDelegate (GH-95272).
- Remove empty
bind_methods()(GH-95542). - Fix glTF capitalization in error messages (GH-95603).
- Remove spaces and punctuation from the beginning of translatable strings (GH-95958).
- [Core,Drivers] Improve use of
Ref.is_null/valid(GH-96076). - Core: Fix unreachable code (GH-96173).
- Fix weird plural of public method names of
EditorDebuggerNode(GH-96176). - Cleanup of raw
nullptrchecks withRef(GH-96292). - Style: Add
WARNING:as new comment admonition (GH-96923). - Get rid of easily removable uses of
const_cast(GH-97378). - Rename
Vector4.components->coordfor consistency (GH-97487). - Set clang-format
RemoveSemicolonrule totrue(GH-97934). - Clean up Image (GH-98084).
- Core: Improve error messages with
vformat(GH-98091). - Remove unnecessary condition in WAV importer (GH-98980).
- Remove unused OS
_display_driver_idmember (GH-99071). - Style: Update
pyproject.tomlsyntax (GH-99240). - Simplify some UID conversions (GH-99253).
- Untangle ColorPicker includes (GH-99516).
- Style: Add 19.1.0 LLVM options to
.clang-format(GH-99548). - Style: Downgrade
.clang-formatarguments to 17.x (GH-99761). - Fix various typos and code style issues (GH-99799).
- Add helper method to get Window from ID (GH-99843).
- Codestyle improvements in
style_box_flat.cpp(GH-99983). - Move singleton StringName definitions to header (GH-99984).
- Remove apparent contradiction in vector.h header (GH-100147).
- Merge identical code piece in ConvexHullComputer (GH-100250).
- Fix grammar / spelling in comments (GH-100322).
- Remove unused headers (GH-100739).
- Android Code Cleanup: Rename constants to uppercase (GH-100760).
- Improve use of
Ref.is_null/valid(GH-100776). - Style: Enforce
AllowShortFunctionsOnASingleLine(GH-100937). - Tween code improvements (GH-101202).
- A handful of typo fixes (GH-101284).
- Style: Enable clang-format's
InsertBracesconfig (GH-101355). - Typo fix: rename SortableVisbilityMode (GH-101780).
Core
- Always add decimal when converting float to string (GH-47502).
- Add
Objectsupport forString.format(GH-65962). - RegEx: Fix handling of unset/unknown capture groups (GH-73973).
- Add a sort method to Dictionary and HashMap (GH-77213).
- FileAccess: Return error codes from
store_*methods (GH-78289). - Color: Expose OKHSL properties (GH-82845).
- Enhance SpinLock (GH-85167).
- Fix
MissingResourceproperties being stripped on save (GH-86600). - Add way to check if a signal has any connections (GH-87344).
- Bind and document iterator API virtual methods (GH-89649).
- Fix "res://" being replaced by resource packs in the editor and on Android (GH-90425).
- Update
ucaps.hto contain proper case matchings (GH-90726). - Add
Engine.print_to_stdoutsetting to control printing (GH-90955). - Expose several resource/resource-saver functions (GH-90969).
- Fix
Node.duplicate()crash when duplicating a node that cannot be instantiated (GH-90992). - Enforce custom nodes to keep their original type (GH-91341).
- Reduce code duplication in FileAccess (GH-92167).
- Optimize image conversion for half and float formats (GH-92291).
- Ensure MovieWriter output is in gamma space when using HDR 2D (GH-92496).
- Expose
get_cached_reffromResourceCache(GH-92530). - Optimize
String::replacemethods (GH-92546). - Optimize some
Stringmethods (GH-92548). - Optimize
String::join(GH-92550). - Implement array based hash map
AHashMap(GH-92554). - Optimize
String::insert(GH-92555). - StringName:
operator==compares in-place (GH-92570). - Scene: Add
SceneStringNames::toggled(GH-92637). - Ability to convert native engine types to JSON and back (GH-92656).
- Image: Add a method for detecting signed values (GH-92799).
- Implement
ClassDB::class_call_static_method(GH-93141). - Handle the smoothstep degenerate case of empty range (GH-93149).
- Fix RefCounted releasing early and not clearing reference (GH-93299).
- ResourceLoader: Revert workaround resource loading crashes due to buggy TLS (GH-93336).
- Fix super call in various
get_configuration_warningsmethods (GH-93353). - Add optional count argument to
Semaphore::post(GH-93605). - Allow locking/unlocking of
MutexLock(GH-93739). - Allow more image types for some project settings (GH-93746).
- Fix parsing of
4.in Expression (GH-93856). - Flush delete queue after process frame timers (GH-93871).
- Fix
Freed Objectbooleanization (GH-93885). - Remove unused method
_is_gpl_reversed()(GH-94068). - Batch of fixes for
WorkerThreadPoolandResourceLoader(GH-94169). - Improve
CowData::insertperformance (GH-94353). - VariantParser: Ensure all parse errors have an explanation (GH-94507).
- Reduce allocations in
String::sprintf(GH-94558). - Avoid potential crash on signal disconnection (GH-94666).
- Remove unused
initialize_ref(GH-94679). - StringName: Use inline static field definitions (GH-94683).
- Remove unused PoolAllocator (GH-94792).
- Fix use-after-free of
ConditionVariableinResourceLoader(GH-94801). - Expose ClassDB methods
get_property_setter/get_property_getter(GH-94826). - Add missing CallableCustomMethodPointer for const methods (GH-94864).
- Remove const_cast in
List::erase(GH-94889). - Fix ResourceLoader is not printing a resource path on loading when
verbose_stdoutis enabled (GH-94920). - Mark underscored properties as internal (GH-94954).
- Assign return value on
Variantoperator failure (GH-95166). - RegEx: Add
show_errorparameter to control error printing on compilation fail (GH-95212). - Improve
ClassDB::_is_parent_classperformance (GH-95292). - Fix
Projection::invertfor orthographic projection (GH-95303). - Add callable support for
findandrfindArraymethods (GH-95449). - CowData: remove hardcoded offset and unused argument from
_unref(GH-95469). - ResourceLoader: Use better error handling for possible engine bugs (GH-95477).
- Run cleanup code on DisplayServer init failure to prevent crash on exit (GH-95513).
- Fix
split_floatsbehavior when spaces are used as separators (GH-95613). - Fix drag&drop between window on Windows (GH-95665).
- Simplify Rect2/AABB
get_supportfunction (GH-95790). - Expand
std::initializer_listsupport in container templates (GH-95920). - Add
String.is_valid_unicode_identifier()(GH-95984). - Use
MutexLockin more places (GH-96166). - Remove confusing USER prefix from script-logged errors (GH-96168).
- Improve error message when loading non-PNG splash image (GH-96197).
- Fix saving subresources of nodes (GH-96207).
- ResourceLoader: Handle another case of user tokens (GH-96218).
- WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks (GH-96225).
- Write path instead of name at verbose output of leaked instances (GH-96317).
- WorkerThreadPool: Print info about thread count at startup (GH-96322).
- Сheck
r_errorafter callingcallp()(GH-96344). - Add support for Transform2D/3D in
lerp()(GH-96496). - StringName: Fix empty hash (GH-96586).
- Provide a reliable way to see original resources in a directory (GH-96590).
- ResourceLoader: Add thread-aware resource changed mechanism (GH-96593).
- ResourceLoader: Add last resort life-time insurance for tokens (GH-96617).
- Allow Timer nodes to ignore engine time scale (GH-96626).
- ResourceLoader: Fixup resource changed feature (GH-96656).
- Make use of languages' thread enter/exit more correct (GH-96760).
- [Resource Loader] Do not check property type for non registered properties (GH-96780).
- Object: Let debug lock handle callee destruction within call chain gracefully (GH-96856).
- Fix
Dictionary.merge()type validation (GH-96864). - Avoid expensive sqrt operation in hot loop of
BitMap.grow_mask(GH-96885). - Ignore
--testflag when it is an user-provided argument (GH-96926). - WorkerThreadPool: Revamp interaction with ScriptServer (GH-96959).
- Add a more detailed error message when instantiating a scene with missing export properties (GH-97071).
- Fix path error when saving ProjectSettings (GH-97115).
- Print error on invalid
call_group()calls (GH-97240). - Universalize UID support in all resource types (GH-97352).
- Make internal unique scene resource ID deterministic (GH-97362).
- Make
RID_Ownerlock-free for fetching (GH-97465). - Add missing
HashMapComparatorDefaultcases (GH-97550). - Fix decompressing textures with dimensions that are not multiples of 4 (GH-97873).
- Add support for 24-bit color escape sequences, simplify
print_richBBCode parsing (GH-98118). - Add typed dictionary support for binary serialization (GH-98120).
- Fix file logging log rotation (GH-98216).
- Fix
String::num_int64(), uint64 for valid base check (GH-98357). - Allow using RID with
inoperator for Arrays and Dictionaries (GH-98363). - Rationalize busy waits (GH-98385).
- Update
char_range.incto Unicode 16 (GH-98395). - DirAccessPack: Fix
file_existsanddir_existsin exported projects (GH-98483). - Fix
RID_Ownersynchronization (GH-98488). - Curve: Check for finiteness before performing calculations in
sample_baked()functions (GH-98625). - Rename
ClassDB::class_call_static_method->class_call_static(GH-98679). - Android: Implement support for accent color retrieval (GH-98712).
- Fix
Callable.get_bound_arguments{,_count}()return incorrect data (GH-98713). - Improve locale comparison (GH-98743).
- Docs: Fix AABB is_finite() and is_equal_approx() (GH-98748).
- Use
SceneStringNamein more places (GH-98763). - Remove unnecessary
_3D_DISABLEDchecks inPerformance(GH-98946). - Fix a few more super calls in
get_configuration_warningsmethods (GH-98951). - Fix deadlocks related to ClassDB queries about global classes (GH-98963).
- Fix comparison of callables (GH-99078).
- SpinLock: Overhaul false sharing prevention (GH-99168).
- Resource UID fixes and improvements (GH-99226).
- Support uid:// in more places (GH-99286).
- Use
(r)find_charinstead of(r)findfor single characters (GH-99328). - Fix incorrect Z direction for AABB's position (GH-99352).
- Defer initializing BasisU encoder until it is needed (GH-99376).
- Force
get_thread_count()to1if single threaded (GH-99416). - ResourceLoader: Report appropriate error code when no suitable loader is found (GH-99494).
- Do not generate
*.uidfiles for JSON, certificates, and translations (GH-99540). - Convert line breaks to
\nand strip line break from the end of string returned byOS::read_string_from_stdin/OS::get_stdin_string(GH-99542). - Fix stringification of Vector4 (GH-99545).
- Fix stringification of Projection (GH-99563).
- Fix missing space after period in error message (GH-99605).
- ResourceLoader: Print load message only when actually loading (GH-99667).
- Fix default
Environmentproject setting and loading (GH-99739). - Add
std::initializer_listconstructor for Dictionary (GH-99751). - Fix
JSON.{from,to}_native()issues (GH-99765). - Optimize StringBuilder by using
LocalVectorinstead ofVector(GH-99775). - String: Don't repeat calls to
strleninsplit, and makesplitter_lengthconst inget_slice(GH-99777). - Move StringName
!=operator to the header file to make it inlineable (GH-99815). - Optimize
String::copy_fromandString::copy_from_uncheckedimplementations, improving String allocation speed (GH-99816). - Use
strlen()3 times instead of custom length check implementations in ustring (GH-99817). - Ensure
parse_utf8has length of string passed in when available (GH-99834). - Fix
OS::has_feature()skipping custom features (GH-99864). - Windows: Fix underflow before
delay_usec(GH-99871). - Avoid duplicated
utf8()calls (GH-99893). - FileAccess: Set
last_erroron file read/write errors (GH-99919). - Optimize
String::is_valid_filename()andString::validate_filename()(GH-100015). - Optimize
_camelcase_to_underscore(and thusString.capitalize) (GH-100016). - Optimize string single char contains calls (GH-100024).
- Scene: Add
SceneStringName::hover(GH-100036). - Optimize String.similarity by avoiding allocation for bigrams (GH-100041).
- Scene: Add
SceneStringName::FlatButton(GH-100049). - Fix handling of leading
..in simplify_path (GH-100075). - Optimize String construction from statically known strings by evaluating
strlenat compile-time (GH-100132). - Debugger: Fix scene debugger crash when editor shortcuts are invalid (GH-100218).
- Add move constructor and move assignment to
CowData,String,Char16String,CharString, andVector(GH-100239). - Optimize
String.countandString.countnby avoiding repeated reallocations (GH-100294). - Optimize
StringBuilder.as_stringby constructing the string in-place and skipping unnecessary checks (GH-100295). - Improve
ResourceUID::id_to_textperformance (GH-100335). - Fix deadlock possibility in threaded load of materials (GH-100363).
- Optimize
SWAPmacro by using move semantics (GH-100367). - Fix UBSAN reports (GH-100386).
- Add move assignment and move constructor to Variant (GH-100426).
- Rename
String::copy_fromfunctions to their respective encodings (parse_latin1,parse_wstring,parse_utf32) (GH-100434). - Abstract
CowData's reallocations into_reallocto consolidate duplicate logic (GH-100474). - Optimize
CowDataandLocalVectorfunctions.insertand.remove_atby using move semantics (GH-100477). - Add move semantics (constructor, assignment) to
StringName(GH-100483). - Add
LocalVectormove semantics (constructor and operator=) (GH-100560). - Add move semantics (constructor, operator=) to
List(GH-100563). - Remove unused headers in servers (GH-100634).
- Increase precision in
linear_to_srgb()andsrgb_to_linear()(GH-100659). - Make
LocalVector->Vectorautomatic conversion safe for non-trivial types (GH-100683). - Destruct
CowDatamore graciously by avoiding accidentally exposing a half-destructed buffer (GH-100694). - Refactor CommandQueueMT to use vararg templates for performance and maintainability (GH-100770).
- Don't set
Variant::Typein destructor (GH-100795). - Add
Color.from_rgba8and deprecate Color8 (GH-100825). - Fix parsing Resource type as value type of a Dictionary (GH-100933).
- Fix
NodePath::slice()incorrect behavior for subname indexing (GH-100954). - Fix UID encoding (GH-100976).
- Fix looking at with 180 degree arc (GH-100991).
- Thread: Re-add
<new>include forstd::hardware_destructive_interference_size(GH-101004). - Add static assert checks in
Variantconstructors (GH-101016). - Optimize
_countby replacing a full copy with a CoW copy for the full-string count case (GH-101033). - Consolidate
Variantint and float conversion functions to reduce duplicate logic (GH-101055). - Optimize
Thread::get_caller_id()(GH-101072). - Add explicit error messages to Multimesh functions (GH-101109).
- Optimize calls of
utf8in a few spots to avoid calling it more than once (GH-101233). - Main: Fix missing performance data (GH-101242).
- Use
AHashMapforSurfaceTool(GH-101273). - Use
LocalVectorforCurveandGradient(GH-101282). - Revert regression of memory unsafe
append_array(same vector into same vector) (GH-101386). - Improve missing UID errors (GH-101441).
- Fix UID path remap (GH-101446).
- Optimize
String==,ends_withandbegins_withby usingmemcmp(GH-101493). - Lock the
StringName::mutexafter hashing the string, to spend less time hoarding it unnecessarily (GH-101606). - Fix index check in MethodBind::get_argument_type (GH-101627).
- Fix
ResourceLoader.has_cached()andResourceLoader.get_cached_ref()not handling UIDs (GH-101752). - Fix
Quaternionarc constructor to check dot & Add test for sameVector3s (GH-101797). - Fix
Basis::get_eulerincorrectly simplifying rotations in some cases (GH-102144). - Fix
is_valid_float,Variantparser,Expressionparser, script highlighter, andTextServernot handing capital E in scientific notation (GH-102396). - Fix
PackedStringArray.to_byte_array()to return UTF-8 encoded data instead of pointers (GH-102515). - Use atomic flag to prevent
flush_if_pendingfrom reading unlockedcommand_mem(GH-103298).
Documentation
- Clarify documentation for
Geometry2D.line_intersects_line(GH-92001). - EditorExportPlugin: docs: Workaround for customized texture behavior (GH-94092).
- Add note about alpha channels blending to
Image.blit_rect(GH-94326). - Document
_process()and_physics_process()delta behavior at low FPS (GH-94636). - Improve documentation on TreeItem's cell icons (GH-95369).
- Document shader time rollover project setting (GH-95381).
- Add template images to the Cubemap class documentation (GH-95396).
- Fix typo or unclear language in MultiplayerSpawner doc (GH-95426).
- Clarify
Timer.start()documentation to match the current behavior (GH-95485). - Add tutorial link in Compositor and CompositorEffect docs (GH-95539).
- Fix glTF capitalization in class reference (GH-95578).
- Minor AnimationNodeBlendSpace2D documentation fixes (GH-95655).
- Remove incorrect statement about TextureButton normal texture (GH-95660).
- Remove empty
[b]Example:[/b]lines from the class reference (GH-95749). - Fix differences between String and StringName's documentation (GH-95758).
- docs: Highlight lack of joystick info on majority of platforms (GH-95760).
- Add documentation for need for normal roughness texture conversion for CompositorEffects (GH-95773).
- Fix miscellaneous oddities around the class reference (GH-95774).
- Fix some differences between ShapeCast2D and ShapeCast3D documentation (GH-95779).
- Fix some invalid code in GDScript class reference (GH-95780).
- Add descriptions to
PolygonPathFindersetupandis_point_insidemethods (GH-95782). - Docs: Update UPnP GDScript snippet to using
Signal.emitsyntax (GH-95860). - Fix Curve2D incorrect sample range description (GH-95883).
- Add movement caveats to InputEventMouseMotion docs (GH-95886).
- Document that
Node.duplicatealso duplicates its children (GH-95927). - Fix some C# variable types In
AStar2D/3DClass Reference (GH-95956). - Fix typo in
Arraycode example (GH-96033). - Doc: Clarify
is_nullmethods ofCallableandSignal(GH-96066). - Doc: Clarify ProjectSettings
hdr_2ddescription (GH-96096). - Remove the 2D renderer notice from
ProjectSettingsdocumentation (GH-96110). - Fix
Array.sort_customexample code (GH-96118). - Clarify transform data ordering in
RenderingServer.multimesh_set_buffer(GH-96184). - Fix ambiguity in
angle_differencefunction documentation (GH-96473). - Improve documentation of some
ItemListsignals (GH-96548). - Document use of pre-calculated triangulation when drawing polygons (GH-96556).
- Improve documentation on Node2D transform properties such as Skew (GH-96583).
- Mention user should remove compute shader hint when use
set_stage_source(GH-96599). - Fix grammar in AudioStreamInteractive docs (GH-96634).
- Fix description of invalid values for
Theme.default_font_size(GH-96757). - Improve wording on XRPose's
namedescription (GH-96866). - Remove "default font" from
ResourceImporterDynamicFontDocumentation (GH-96870). - Docs: Add cross-links to antialiasing project settings (GH-96893).
- Clarify the coordinate space for the bounding rectangle returned by
Label.get_character_bounds(GH-96919). - Docs: Add warning about sharing a syntax highlighter to
TextEdit(GH-96954). - Change "deconstructor" to "destructor" in
NOTIFICATION_PREDELETEdocs (GH-96981). - Fix description of
Array.sort_custom()(GH-97033). - Document SceneMultiplayer
auth_timeoutbeing in seconds (GH-97045). - Remove outdated note about
notoperator with String and StringName (GH-97072). - Warn for potential performance issues with Auto Switch to Remote Scene Tree editor setting (GH-97092).
- Clarify behavior of
InputEvent.is_matchandShortcut.matches_event(GH-97106). - Fix typo in
string_get_character_breaks()sample code (GH-97141). - Fix typo in CompositorEffect documentation (GH-97202).
- Fix minor typo in EditorPlugin
remove_inspector_plugin(GH-97203). - Docs: Clarify
CanvasItemvisibility properties and signals (GH-97223). - Add missing period for sentences in classref (GH-97231).
- Clarify docs for when toggling
button_pressedemitstoggled(GH-97274). - Document that
OptimizedTranslation.generate()only works in editor (GH-97284). - Clarify PCK path argument in
PCKPacker.pck_start(GH-97286). - Fix a typo in make_rst.py (Packedfloat64Array -> PackedFloat64Array) (GH-97338).
- Add descriptions to RDVertexAttribute's properties (GH-97346).
- Refactor signal documentation to improve clarity (GH-97357).
- Clarify CanvasItem's visibility signal descriptions (followup) (GH-97367).
- Fix SplitContainer collapsed documentation (GH-97373).
- Better description for multiplayer spawner signals (GH-97425).
- Update notes for Color Curve members in ParticleProcessMaterial (GH-97450).
- Clarify when LineEdit's
text_submittedsignal is emitted (GH-97455). - Docs: Add notes about glyph contour decomposition format (GH-97514).
- Add missing descriptions to
PhysicalBone3Dclass (GH-97609). - Docs: Remove duplicate words (GH-97638).
- Improve TextEdit and CodeEdit documentation (GH-97656).
- Document
Object.has_signal()in the Signal class reference (GH-97734). - Fix small typo on PackedVector2Array docs (GH-97835).
- Clarify that fog_aerial_perspective does not actually use sky color (GH-97842).
- Update Node.xml: specify that normal processing happens in tree order (GH-97905).
- Document non-resource file handling in FileAccess and ResourceLoader (GH-97906).
- Remove note about missing per-vertex-shading (GH-97917).
- Clarify SIMPLEX and SIMPLEX_SMOOTH types (GH-97922).
- Fix a documentation typo in
Control._drop_data()C#-example (GH-97966). - Fix grammar mistake in Shortcut documentation (GH-98081).
- Better explanation for replication interval and delta interval (MultiplayerSynchronizer) (GH-98138).
- Update
use_native_dialogdescription inFileDialog(GH-98202). - Fix wording in description of
store_lineandstore_string(GH-98238). - Mention native file dialogs editor setting in EditorFileDialog description (GH-98262).
- Add descriptions to RDTextureFormat's methods (GH-98264).
- Improve
_begin_customize_scenesdescription (GH-98265). - Fix documentation tip for
network/debug/remote_hosteditor setting (GH-98282). - Docs: Add link to 2D lights and shadows from CanvasModulate (GH-98283).
- Add missing
HTTPRequestResult descriptions (GH-98332). - Clarify
EngineDebuggerandEditorDebugger*documentation (GH-98378). - Link to Screen-reading shaders tutorial in BackBufferCopy documentation (GH-98421).
- Clarify
TextEdit.is_caret_visible()behavior in the class reference (GH-98423). - Add documentation for Android immersive mode (GH-98427).
- Document the differences between GDScript and GlobalScope (GH-98438).
- AudioEffects documentation enhancements (GH-98455).
- Clarify tiling of AtlasTexture (GH-98458).
- Docs: Link to GlobalScope string methods from String class ref (GH-98473).
- Improve documentation on
@GlobalScope.PROPERTY_USAGE_SCRIPT_VARIABLE(GH-98478). - Docs: Link to Project Settings tutorial from ProjectSettings class (GH-98480).
- Fix typo in
OccluderInstance3Ddocumentation (GH-98523). - Remove link to outdated CharFX example project (GH-98585).
- Improve
TileMapLayerget surrounding cells description (GH-98587). - Document exporting nested subgroups (GH-98616).
- Docs: Add links to project settings (GH-98621).
- Improve
Tween.set_easeandTween.set_transdocumentation (GH-98689). - Editor: Fix EditorSettings.xml docs for "ask_before_revoking_unique_name" (GH-98742).
- Docs: Standardize names and terms for renderers (GH-98744).
- Standardize terms for renderers in error strings (GH-98747).
- Document Timer autostart in tool scripts (GH-98769).
- Docs: Update TileSet to reference TileMapLayer instead of TileMap (GH-98782).
- Update docs for
Tween.stopto clarify behavior (GH-98787). - Docs: Add link to SpringArm3D tutorial (GH-98828).
- Clarify
ResourceLoader.load_threaded_get_status()completion ratio description (GH-98899). - Add note to
CanvasItem.clip_childrenabout nesting (GH-98948). - Fix
engine_type_colors's description (GH-98966). - Docs: Update AStar3D examples (GH-98978).
- Fix more miscellaneous oddities around the class reference (GH-99002).
- Fix interactive music docs saying it's "not implemented" (GH-99003).
- Add examples to PacketPeerUDP class documentation (GH-99015).
- Clean up more
[b]Example:[/b]lines from the class reference (GH-99020). - Fix
truebeing surrounded by[b]tags in documentation (GH-99038). - Update
Transform3D.rotated_local()description (GH-99075). - Add note about LightmapGI only baking nodes under its parent (GH-99079).
- Update documentation's "Prints" comments after #47502 (GH-99081).
- Fix untagged
truein GLTFState's documentation (GH-99088). - Fix C# boolean "Prints" comments in documentation (GH-99089).
- Add documentation note on Object's boolean context (GH-99091).
- Add notes on
DirAccessdocumentation (GH-99132). - Clarify effect of setting "page" parameter in ScrollBar nodes (GH-99146).
- Fix
formatdescription being different between String and StringName (GH-99185). - Clarify documentation for TileSetAtlasSource
texture_region_size(GH-99204). - Describe edge cases for
DisplayServer.get_screen_from_rect()(GH-99212). - Update Z Index property location in Node2D class reference (GH-99238).
- Fix TODO comments in class reference (GH-99242).
- Add a code sample that extracts all files to ZIPReader documentation (GH-99325).
- Clarify Button's text clipping (GH-99338).
- Rewrite some
@GlobalScopekeys in documentation to use[code]tags (GH-99364). - Fix typo in FileAccess docs (GH-99419).
- Suggest using
OS.has_featureinstead of the engine architecture name for bitness (GH-99465). - Fix typo in AudioStream's documentation (GH-99511).
- Correct PackedInt64Array comparison in description (GH-99521).
- Fix wording in
LookAtModifier3Ddocs (GH-99533). - Document
radial_center_offsetbounds forTextureProgressBar(GH-99584). - Fix example code snippets in AudioStreamGenerator.xml (GH-99604).
- Fix missing sign in ease function curve description (GH-99611).
- Docs: Update Control class to properly reflect behavior of Themes on Control Children (GH-99620).
- Make Transform2D/3D, Basis, and Quaternion docs more consistent (GH-99650).
- Update
screen_get_scaledocumentation (GH-99677). - Add C# examples to PropertyTweener docs (GH-99736).
- WebSocket: Clarify that
connect_to_urlis non-blocking (GH-99753). - Update CanvasLayer 'Follow Viewport' documentation to match its behavior (GH-99754).
- Update
use_system_accent_colornote in EditorSettings (GH-99827). - Docs: Update example from Window signal
files_dropped(GH-99837). - Remove outdated note about
BaseMaterial3D.billboard_modeshadow issue (GH-99841). - Standardize all "Prints" comments in documentation (GH-99876).
- Betsy: Update docs to reflect BC3 and BC5 (GH-99900).
- Document inverse aspect ratio convention of
Projection::get_fovy()(GH-99921). - Remove uses of implicit static typing from the documentation (GH-99924).
- Remove uses of static typing from the documentation (GH-99925).
- Fix a very slight grammatical issue (GH-100002).
- Clarify
limit_length()for infinite vectors (GH-100204). - Document
GPUParticles.emit_particle()only working on Forward+ and Mobile (GH-100369). - Document CameraFeed platform limitations (GH-100449).
- Document limitations of refraction from using screen texture (GH-100586).
- Remove trailing double quote from link in GLTFState class documentation (GH-100711).
- Mark
EditorInterface.popup_create_dialog()as experimental (GH-100731). - Update
OS.request_permission(...)description (GH-100785). - Fix docs for
EditorContextMenuPlugin.add_context_submenu_item(GH-100865). - Fix
get_meta_listreturn type in description (GH-100903). - Web: Clarify JavaScriptBridge callback requirements (GH-100939).
- Fix warning in CollisionPolygon2D documentation description (GH-101107).
- Document WorldBoundaryShape3D having a finite size when using Jolt Physics (GH-101108).
- Improve OpenGL 3 fallback documentation wording (GH-101166).
- Update official export templates architecture list in docs (GH-101225).
- Fix example in
OS.shell_open()method documentation and add a new one (GH-101263). - Add TileMap tutorials to TileMapLayer class reference (GH-101299).
- Fix typo in Basis
get_rotation_quaterniondoc (GH-101330). - Clarify expected types in
RayCast3Ddocumentation (GH-101373). - Fix typo in EditorDebuggerPlugin documentation (GH-101378).
- Fix SkeletonProfileHumanoid documentation error (GH-101419).
- Docs: Fix typo in
AudioStreamSynchronized(GH-101459). - Add documentation to
particles_request_process_time(GH-101511). - Fix
visibility_notifier_createdocumentation (GH-101556). - Add a note to
DisplayServer.get_display_safe_area()method documentation (GH-101567). - Update
InputEventWithModifiersdocumentation for modifier key behavior (GH-101620). - Clarify the impact of "Normal Map (RG Channels)" on texture imports (GH-101623).
- Fix collision normal being referred to as surface normal in PhysicsDirectSpaceState doc (GH-101698).
- Make
COPYRIGHT.txtcompliant withdebian/copyrightspecification (GH-101713). - Fix Jolt note in WorldBoundaryShape3D documentation (GH-101836).
- Fix URLs for Cubemap template images in documentation (GH-101856).
- Fix incorrect
CPUParticles2DandCPUParticles3Ddocumentation (GH-101883). - Change if false to if true "Emoji and Symbols" menu is enabled (GH-102042).
- Documentation change from Blender directory to executable (GH-102044).
- Mention visibility layers and inheritance in
Node3D.is_visible_in_tree()docs (GH-102450). - Add parentheses to method links in online class reference (GH-102567).
- Document
CanvasItem.draw_dashed_line()'sdashandalignparameters (GH-102675). - Clarify the behavior of
Control.layout_directionin the documentation (GH-102716). - Improve documentation on forcing right-to-left layout in Control (GH-102742).
- Fix dead links across the class reference (GH-102773).
- Document the valid range of tile coordinates in TileMapLayer (GH-102776).
- Update tonemapping docs (GH-102820).
- Clarify that
Vector2.angle_toreturns a signed angle (GH-102824). - Fix typo in EditorTranslationParserPlugin docs (GH-103148).
- Document creating Texture2DArray, Cubemap and CubemapArray from code (GH-103261).
- Fix various typos in the class reference (GH-103391).
Editor
- Redesign Quick Open (GH-56772).
- EditorHelpSearch: improvements (GH-62524).
- Refactor toggling script list (GH-63744).
- Add support for resource conversion plugins in filesystem dock (GH-65585).
- Extend Curve to allow for domains outside of
[0, 1](GH-67857). - Implement zooming and panning in the profiler (GH-76055).
- Remember editor window mode, screen, size and position on restart (GH-76085).
- Show String properties' text in a tooltip in the inspector (GH-76231).
- Add Markdown syntax highlighting to the script editor (GH-78312).
- Fix "reparent to new node" not remembering index (GH-79209).
- Unify make dir and duplicate dialogs (GH-80473).
- Set position to zero when saving a positioned branch as scene (GH-80561).
- Add a warning for when the scene root node is transformed (GH-81892).
- Add support for dragging a shader to user exported material property (GH-82093).
- Fix some legacy code (GH-84944).
- Adjust
pick_main_scenedialog punctuation (GH-85108). - Redraw SubViewportContainer on SubViewport size change (GH-86302).
- Make the Script Editor's parser execute sooner on edit after error was found (GH-87542).
- Fix Remote Nodes missing custom icons (GH-88427).
- Fix some invalid
intproperty ranges (GH-89566). - Fix focus when reordering array (GH-89763).
- Fix editing exported nodes in array as text (GH-90047).
- Add ability to create a new inherited scene from code (GH-90057).
- Expose EditorUndoRedoManager's
clear_history()(GH-90130). - Code Editor: Add documentation tooltips (GH-91060).
- Make scan for projects threaded (GH-91064).
- Disable creating RD projects in project manager if RD is not supported (GH-91172).
- Increase the project manager's default window size (GH-91889).
- Remove unused member variable in
EditorInspectorSection(GH-92407). - Improve layered texture preview (GH-92540).
- Implement a "Recovery Mode" for recovering crashing projects during initialization (GH-92563).
- Add confirm dialog for render mesh to navigation mesh conversion (GH-92684).
- Add warped panning to every ViewPanner instance (GH-92717).
- Expose
update_docs_from_scriptmethod (GH-92916). - Warn on UID duplicates (GH-92972).
- Don't rescan filesystem when adding new directory (GH-93372).
- Expose more editor settings to documentation (GH-93427).
- Add default keyboard shortcuts to various actions in the FileSystem dock (GH-93578).
- Optimize
get_path()in EditorFileSystemDirectory (GH-93611). - Fix center viewport not working horizontally (GH-93792).
- Fix goto line issues in code editor (GH-94002).
- Add Expand/Collapse Branch right click option to remote scene view (GH-94263).
- Make "Remove Item" appear at the top of the list when editing the value of an array or dictionary (GH-94522).
- Tweak script editor zoom presets to be more useful (GH-94569).
- Implement preview thumbnail generation for 3D and layered textures (GH-94600).
- Expose
EditorInspector.editto scripting (GH-94603). - Fix
EditorInterface.get_selected_paths()working incorrectly when FileSystemDock is in split mode (GH-94703). - Fix scene node selection problem when no auto expand (GH-94773).
- Fix custom resources using incorrect icons (GH-94854).
- Call
restart_editor()inRUN_PROJECT_MANAGER(GH-94880). - Fix for folding "Editable Children" nodes in Scene tree not being saved (GH-94911).
- Fix connecting a signal with a double click is too difficult (GH-95044).
- Add
keep_screen_oneditor setting (GH-95048). - Tweak warning/error formatting in EditorLog to be closer to console output (GH-95072).
- Optimize FileSystem Dock filtering (GH-95107).
- Don't fold resources when child of main inspector exits (GH-95149).
- Make EditorSpinSlider display a slider for floats with a step of 1.0 (GH-95169).
- Avoid saving EditorSettings on startup (GH-95171).
- Fix implementation of
property_can_revert()in various classes (GH-95175). - Fix checkbox alignment when using compact theme spacing (GH-95193).
- Fix huge tscn icon in FileSystem split mode using list view (GH-95278).
- Fix project settings not properly saved after a file deletion (GH-95281).
- Fix Lock and Group for canvas items not updated in editor after changed in SceneTree (GH-95333).
- Add ConfirmationDialog when clicking on % button in SceneTree (GH-95343).
- Make editor panel icons more subtle (GH-95344).
- Fix incorrect parsing of nested nodes when generating the POT (GH-95444).
- Remove type icon array from PropertySelector (GH-95546).
- Allow picking partial properties in PropertySelector (GH-95554).
- Remove superfluous
print_linecall (GH-95581). - Add an
Edit Nowoption to project dialog to allow opting out of immediately opening a project after creation/import/install (GH-95600). - Fix display dialog while saving scene (GH-95691).
- Don't mark settings as modified while loading (GH-95704).
- Fallback to theme icon when no custom icon is set in autocompletion (GH-95816).
- Prevent unnecessary editor theme regeneration on unrelated system setting update (GH-95849).
- Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info (GH-95887).
- Remove references to deleted
capitalize_propertiessetting (GH-95898). - Enable revert button for
ShaderMaterial::next_passandShaderMaterial::render_priority(GH-95954). - Fix script properties reload from external editor (GH-96002).
- Fix script overwriting with external editor (GH-96007).
- Prevent selecting the hovered node if the mouse is not inside the inspector dock (GH-96124).
- Support opening custom class documentation with "Open Documentation" menu entry (GH-96141).
- Fix missing project date showing the unix epoch (GH-96162).
- Add Instance Placeholder validation check (GH-96189).
- Save the state of view transform gizmo option (GH-96193).
- Make
ThemeTypeDialogList navigatable when theLineEdithas focus (GH-96212). - Fix
SceneTreeDockinvalid state after trying to remove internal Node (GH-96236). - Fix Win32 rename function (GH-96258).
- Keep looking when a preview plugin returns an empty image (GH-96260).
- Disable export template downloading in offline mode (GH-96331).
- [Android Editor] Update the options for launching the Play window in PiP mode (GH-96340).
- Fix dock width not respecting editor scale (GH-96343).
- Fix no unsaved indicator Save As resource (GH-96363).
- Improve dropping code in script editor (GH-96371).
- Add
_resource_changed()helper method to EditorResourcePicker (GH-96379). - Merge duplicate entries in enum property inspector (GH-96386).
- macOS: Fix Quick Open shortcut conflict (GH-96388).
- Extract EditorMainScreen from EditorNode (GH-96389).
- Fix Windows importer issue with new file detection (GH-96398).
- Fix jumping to editor help does not scroll correctly sometimes (GH-96449).
- Add Advanced Settings switch to Editor Settings (GH-96467).
- Mention screen selector in Make Floating button tooltip (GH-96520).
- Fix Inspector may scroll away when editing a property that adds or removes sub properties (GH-96542).
- Fix ProcessDialog errors appeared after rebuilding .NET project (GH-96551).
- Docs: Add missing deprecated/experimental tag support for theme items (GH-96555).
- Prevent duplicate
Open in Editorbuttons in scene tree dock (GH-96569). - Don't show popup when clicking empty in Favorites (GH-96571).
- Fix selection stuck after saving scene (GH-96579).
- Fix editor layout reset on startup (GH-96581).
- Fix shift clicking on Add Sun/Environment to Scene buttons (GH-96582).
- [FileSystem Dock] Add option to show some unsupported files in the dock (GH-96603).
- Prevent editing value on focus when
EditorSpinSlideris read-only (GH-96609). - Globally remember advanced toggle in project settings (GH-96615).
- Don't use EditorSettings metadata (GH-96616).
- Fix clear button on
Array[Node](GH-96620). - Remove duplicated read only checks in
EditorSpinSlider(GH-96632). - [FileSystem Dock] Add symlink indicator and tooltip (GH-96643).
- Fix "reparent to new node" when node has internal children (GH-96646).
- Code Editor: Add button to toggle between search and search+replace (GH-96683).
- Change rotation pivot tooltip description to be more precise (GH-96702).
- Partially fix directory bug on Android (GH-96711).
- Implement autostart for all profilers (GH-96759).
- Use toast (notification) instead of dialog when saving with no open scene (GH-96773).
- Make detach script non-destructive operation (GH-96776).
- Fix load error popup showing on every progress dialog (GH-96830).
- Add
.editorconfigto the projects (GH-96845). - Try loading system Noto CJK font (GH-96850).
- Add simple minor version migration (GH-96861).
- ResourceLoader: Fix deadlocks caused by the resource changed feature (GH-96904).
- Make script list default wider, minimum narrower (GH-96909).
- Fix
MeshInstance3Dgizmo redraw performance forPlaneMeshwith larger subdiv value (GH-96934). - Fix
editor_doc_cachelocked byadbprocess on editor startup (GH-97000). - Fix empty load errors popup (GH-97013).
- Fix error reopening non existing scene on startup (GH-97028).
- Fix Viewport Texture must be set to use it (GH-97029).
- Add "4D" to EditorPropertyNameProcessor (GH-97037).
- Highlight scripts used by current scene (GH-97041).
- Rework creating new folders in editor (GH-97075).
- Open UV editor in point editing mode if no points (GH-97081).
- Don't rescan filesystem when duplicating (GH-97090).
- Fix Network Profiler not disabling buttons (GH-97101).
- Fix inconsistency in 3D editor navigation (GH-97104).
- Fix generic conversion icon (GH-97112).
- Fix EditorAudioBus corner radius (GH-97113).
- Fix inconsistency in FileSystem naming in shader editor menu (GH-97134).
- Stop EditorNode from refreshing the current scene tab when not needed (GH-97136).
- Don't show project settings starting with underscore (GH-97145).
- Fix reloading scripts already in use (GH-97168).
- Fix FileSystemDock's EditorContextMenuPlugins (GH-97185).
- Don't store project metadata when loading (GH-97187).
- Fix
Sprite2Ddialog size for smaller screen device (GH-97199). - Update
AnimationTreeparameter list when updatingAnimationNodeTransitioninput names (GH-97224). - Mention display driver and window mode in Copy System Info text (GH-97239).
- Fix wrong displayed category name in
EditorHelpSearch(GH-97242). - Windows: Fix dragging and dropping files from compressed files into editor (GH-97250).
- Add "Game" editor for better runtime debugging (GH-97257).
- Create
.editorconfigfile only on project creation (GH-97270). - Allow using Unicode identifier for Autoload name (GH-97273).
- Fix Add Metadata dialog not focusing name field by default (GH-97277).
- Keep advanced toggle on when searching for settings (GH-97282).
- Make FileSystem dock buttons consistent (GH-97283).
- Fix crash when using non-
PackedSceneresource for POT generation (GH-97288). - Fix Add button style in GroupsEditor (GH-97319).
- Fix script editor wrongly replaces and quotes non-ASCII letters (GH-97323).
- Consolidate remembering window settings into single config (GH-97333).
- Add filter & sort to editor file dialog (GH-97344).
- Discard additional redo on committing actions (GH-97410).
- Fix editing of some properties in
CodeHighlighter(GH-97414). - Make possible to favorite properties in the inspector (GH-97415).
- Make pressing Enter confirm project creation/import in the project manager (GH-97453).
- Improve "Replace in Files" dialog button text (GH-97461).
- Fix EditorFileSystem crash when fetching icons for unknown file types (GH-97491).
- Add profiler autostart indicator to EditorRunBar (GH-97492).
- Add a focus border on
ScrollContainer(GH-97521). - Unify editor version buttons (GH-97527).
- Fix closing Theme Editor not actually closing it (GH-97543).
- Support object inspection through DAP (GH-97585).
- Add expression evaluator to debugger (REPL) (GH-97647).
- Display proper message on invalid folder path (GH-97706).
- Fix GDScript docs not updating when modified externally (GH-97710).
- Fix tooltip message of button that opens groups/signals dock (GH-97722).
- Fix double free in QuickOpenDialog deconstructor (GH-97746).
- Partially revert #96780, remove warnings from project/editor settings
_get(GH-97817). - Fix "No loader found" error after editing PO file (GH-97868).
- Make
EditorFileDialog's Recent and Fav list show full path in tooltip (GH-97885). - Expose path properties save UID internally if referencing a resource (GH-97912).
- Fix plugin creation dialog script name tooltip (GH-97924).
- Fix
CheckButtonmirrored icon in editor theme (GH-97929). - Add Show in FileSystem icon for Inspector dock resource options menu item (GH-97936).
- Refresh Filesystem Dock after android build template is created (GH-97940).
- Fix crash when creating thumbnails for 3d textures (GH-97979).
- Forbid deleting inherited metadata properties (GH-97986).
- Fix
ControlEditorPopupButtonarrow position in RTL language (GH-97996). - Fix Headless --import --quit crashes editor (GH-98063).
- Add a pin toggle to prevent involuntary bottom editor switching (GH-98074).
- Fix wrong base directory when creating folder (GH-98075).
- Rename internal EditorPlugin icon/name to match exposed methods (GH-98132).
- Show correct icons in remote object inspector (EditorDebuggerRemoteObject) (GH-98156).
- Add
EditorHelpBitTooltipas a child ofp_targetto avoid jitter (GH-98160). - Fix dictionary editor removing wrong keys and not updating key labels (GH-98220).
- Don't flip playback control buttons in RTL layout (GH-98222).
- Fix selecting root node before button released (GH-98232).
- Fix typos in
AnimationMarkerEdit(GH-98254). - Add fuzzy string matching to quick open search (GH-98278).
- Optimize
TileSetAtlasSource::_get_property_list(GH-98317). - Don't swap Advanced Import Settings button position based on Swap OK Cancel (GH-98323).
- Show file names in remove files confirmation dialog (GH-98539).
- Add "OpenGL 3", "GLES" and "Linux/*BSD" to editor property capitalization (GH-98553).
- Add more property hint ranges for project settings (GH-98554).
- Fix
ColorPicker's remote synchronization when typing values (GH-98567). - Fix run instances dialog scaling bug (GH-98568).
- Emit
filesystem_changedonly once per frame (GH-98584). - Fix heap-use-after-free when ctrl-clicking controls in a container (GH-98597).
- Clear warning in the scene tree by creating an LightOccluder2D polygon (GH-98637).
- Add editor setting to stop the bottom panel from switching to the Stack Trace (GH-98657).
- Remove unused FILE_INFO from FileSystem dock (GH-98662).
- Fix certain editor plugins not showing when they should (GH-98675).
- Expose
get_editor_toastermethod toEditorInterface(GH-98680). - Fix crash in Quick Open Dialog (GH-98692).
- Update SceneUniqueName button text for clarity (GH-98745).
- Don't tint editor bottom panel icons when hovered or pressed (GH-98765).
- Add copy button to toast notification (GH-98778).
- Improve EditorToaster code (GH-98794).
- Close toasts instantly when Close button is pressed (GH-98797).
- Fix issue where scrolling to item center would overflow on top (GH-98829).
- Debugger: Better settings configuration for RuntimeNodeSelect and Window quit (GH-98891).
- Add toggle to hide filtered out parents in the "SceneTree" dock (GH-98926).
- Fix order of editor features (GH-98988).
- Embed game process in editor (GH-99010).
- Fix float value used for integer performance monitors (GH-99068).
- Display CPU and GPU model name in the editor visual profiler (GH-99086).
- Make bottom panel switch when pinned and removed (GH-99096).
- Add minimum size to some debugger elements (GH-99113).
- Restore original root name if renaming instance to empty (GH-99139).
- Remove corresponding .uid file when removing file (GH-99144).
- Create .uid file when creating new Resource (GH-99147).
- Remove unnecessary array construction when initializing the project manager (GH-99213).
- Fix global paths in EditorPropertyPath (GH-99389).
- Add a keyboard shortcut to perform one-click deploy with devices in the list (GH-99405).
- Disable the debugger thread selector when there's nothing to select (GH-99417).
- Show editor toaster when copying
[codeblock]in class reference (GH-99451). - Allow dragging to specific folders in filesystem dock (GH-99453).
- Improve appearance of external links in built-in docs (GH-99480).
- Fix toast spam about child of container position (GH-99482).
- Fix viewport message offsets (GH-99487).
- Fix inspector section iteration in
update_tree(GH-99544). - Add tooltips to dock menu and remove disabled items (GH-99550).
- Improve run instances UX: avoid removing data and add a clear popup (GH-99649).
- Fix closing dropdown on EditorResourcePicker in Single Window Mode (GH-99653).
- Fix argument error when restarting project by executing Project -> Tools -> Upgrade Mesh Surface (GH-99695).
- Improve Scene Tree editor performance (GH-99700).
- Fix error when favoriting some types of properties (GH-99723).
- Compare localized path against editor scene path when reloading (GH-99741).
- Use Vector4 for texture mask in BaseMaterial to avoid converting to and from Plane (GH-99743).
- Strip any trailing slashes when reading the default project path (GH-99776).
- Fix non-empty project folder confirmation dialog (GH-99787).
- Make the alt selection menu available for all modes (GH-99795).
- Fix use after free in redo of "Create Custom Bone2D(s) from Node(s)" (GH-99800).
- Change Event Configuration dialog wider and its input list taller for better usability (GH-99829).
- Fix progress dialog steals focus (GH-99844).
- Check if EditorNode exists before trying to generate preview (GH-99846).
- Don't create an UndoRedo action if Autoload order doesn't change after Drag & Drop (GH-99898).
- Fix loading layout with floating dock in single window mode and fix
restore_windows_on_load(GH-99904). - Fix selecting and editing invisible items in SubViewports (GH-99942).
- Ignore
__MACOSXdirectory for export template and project ZIPs (GH-99947). - Make Inspector search inside sub-resources (GH-99966).
- Ignore custom tooltip if its text is empty in signals tab (GH-99982).
- Fix extensions when saving resource as (GH-99987).
- Fix FileSystem dock filter reset when tree rebuilds (GH-99990).
- Fix for
RuntimeNodeSelectselection_listshowing up as an orphaned node when editor is open during runtime (GH-99992). - Don't rebuild tree when navigating to path (GH-100010).
- Don't navigate to path when file is double-clicked (GH-100012).
- Fix UI inconsistencies in
EditorFileDialog's toolbar (GH-100027). - Fix vertical alignment of the main menu bar (GH-100030).
- Add missing cleanup of editor history & set appropriate class icon for object in it (GH-100091).
- Force fixed undo history to make editor shortcuts use global history (GH-100120).
- Add
popup_create_dialog()forEditorInterfaceto create custom create dialog (GH-100135). - Fix scroll to symbol's documentation (GH-100156).
- Add color channel filter to editor texture previews (GH-100157).
- Fix root folder logic in the filesystem (GH-100161).
- Fix missing focus outline for 2D and 3D editor viewports (GH-100171).
- Fix FileSystem dock navigation when using Split Mode (GH-100336).
- Don't rebuild tree when selecting a file in FileSystem list view (GH-100376).
- Improve UID support for main scene (GH-100408).
- Fix DependencyRemoveDialog not handling UIDs (GH-100409).
- Fix folders uncollapsed after restart with filter (GH-100419).
- Fix non-creation of editor temporary dir (GH-100510).
- [Dictionary Property Editor] Use property editors instead of labels to display keys (GH-100512).
- Fix Timer error on startup (GH-100530).
- Rework dock layout management (GH-100558).
- Node2D/3D: Make position follow default float step (GH-100597).
- Fix autostart indicator going to wrong debugger (GH-100648).
- Fix
@exportopen scene button not working (GH-100654). - Don't recursively call
_update_tree(GH-100670). - Add a context menu to quick open dialog (GH-100679).
- Restore old
Ctrl+Clickbehavior (GH-100707). - Fix icon UIDs in Project Manager (GH-100717).
- Improve script class display in Create dialog (GH-100729).
- Fix crash when using one-click deploy (GH-100738).
- Assign the project manager title to the node instead of DisplayServer (GH-100745).
- Re-create missing .uid files (GH-100787).
- Show tooltips for
res://anduid://strings in ScriptEditor (GH-100803). - ProjectManager: Update project list placeholder when project is created (GH-100863).
- Fix debugging embedded game does not refocus on continue (GH-100916).
- Respect
PROPERTY_USAGE_NEVER_DUPLICATEwith Make Sub-Resources Unique (GH-100925). - Assign new UID when duplicating file externally (GH-100927).
- Fix dictionary editor steals focus when reloading script (GH-100932).
- Fix Script metadata usage (GH-101001).
- Remember QuickOpenDialog history between sessions (GH-101038).
- Don't scroll to selected file in FileSystem when saving scenes (GH-101078).
- Reorganize EditorNode menu options (GH-101093).
- Simplify scene tabs option disabling (GH-101094).
- Make sure marked nodes are reset on scene change (GH-101145).
- Fix embedded game focus border (GH-101153).
- Fix documentation tooltip over debug tooltip (GH-101156).
- Allow prefixing with '%' to set a node as unique in the Scene Tree Dock (GH-101163).
- Android Editor: Fix themed icon (GH-101180).
- Fix crash when using
--import --verbosedue to use-after-free (GH-101182). - Add editor setting to globally override project game mode settings (GH-101283).
- Fix duplicate buttons style to match the other buttons in the SpriteFrames editor plugin (GH-101315).
- Change print warnings to config ones for popups that need transparency (GH-101321).
- Fix frame list icon mode is set two times (GH-101335).
- Draw fewer fishbones to improve Path gizmo readability and performance (GH-101350).
- Fix selection in 3D Game view (GH-101368).
- Fallback to primary screen if no window layout is saved in project metadata (GH-101381).
- Change editor viewports gizmos mouse enter/exit from using signals to notifications (GH-101404).
- Fix Game View cannot be editor feature disabled (GH-101405).
- Return fast for built-in class icon (GH-101435).
- Add
Copy Script UIDoption to Script Editor (GH-101445). - Allow removing files in the file search (GH-101472).
- Allow smaller minimum width of VersionControlEditorPlugin (GH-101478).
- Optimize classnames enumeration (GH-101489).
- Update Android editor name and add missing icons (GH-101526).
- Respect order of extensions for ResourceFormatSavers with
at_front(GH-101543). - Make the
empty_list_actionsHBoxContainer into a FlowContainer (GH-101557). - Don't instantiate
ColorPickerinEditorPropertyColorconstructor (GH-101570). - Fix crashes when pressing enter on project manager screen (GH-101572).
- Fix conversion plugin search showing errors on
TextFileandOtherFile(GH-101574). - Fix project manager window size when
EDSCALEis not 1.0 (GH-101576). - Fix certain channel masks for Texture previewer (GH-101594).
- Replace some problematic uses of
String::numtoString::num_int64(GH-101595). - Tweak Quick Open theming (GH-101598).
- Rework script external modification tracking (GH-101616).
- Fix crash in
Particles3DEmissionShapeGizmoPlugin(GH-101636). - Create .uid files in EditorFileSystem (GH-101650).
- Don't duplicate .uid files (GH-101683).
- Fix Embedded Game Window with user arguments (GH-101739).
- Fix inspector jumping when gaining focus (GH-101768).
- Scene debugger fix for remote debugging without editor running (GH-101784).
- Fix Embedded Game Size (GH-101807).
- Fix Floating Game Window Title (GH-101809).
- Fix resource details will unexpectedly expand (GH-101817).
- Android Editor: Disable magnify gesture in the
ScriptEditor(GH-101841). - Fix
NOTIFICATION_WM_CLOSE_REQUESTin Embedded Floating Window (GH-101895). - 2D: Fix
CanvasTexturerendering when updating channels (GH-101931). - Fix ProgressDialog in single window mode (GH-101933).
- Disable Game Embedding in Single Window Mode (GH-101936).
- Fix flickering in embedded game when paused (GH-102006).
- Ask before restarting project from settings (GH-102017).
- Use
FlowContainerforProfilerandVisual Profilerbars (GH-102024). - Add missing metadata saving for embed size mode (GH-102027).
- Fix BadWindow error when stopping embedded game on Linux (GH-102045).
- Make save confirmation a child of last exclusive window of EditorNode before popup (GH-102070).
- Add UID upgrade tool (GH-102071).
- Fix Embedded Game disappear when not focused on KDE 5 (GH-102104).
EditorToaster::popup_str()must always defer to the main MessageQueue (GH-102181).- Fix vertex indices showing as float (GH-102212).
- Fix crash when ProgressDialog is outside tree (GH-102237).
- Fix Embed Game not available when multi window is disabled (GH-102238).
- Fix Modal Dialog with Embedded Game (GH-102247).
- Fix slow resize Embedded Game Window (GH-102251).
- Remove unnecessary rescan after copying file (GH-102260).
- Don't return Tree items outside visible rect (GH-102262).
- Update modified time when reloading script (GH-102297).
- Setup working directory when quitting to project manager (GH-102307).
- Fix Floating Window focus on run (GH-102312).
- Fix Floating Window overlapping when on screen edge on KDE (GH-102314).
- Fix runtime crash with 3D selection with no camera (GH-102329).
- Fix Escape does not work the first time when pressed at the Find(Replace)Bar (GH-102332).
- Fix 'Show in FileSystem' jumps to incorrect entry under certain conditions (GH-102336).
- Fix wrong inspector offset on scene switch (GH-102379).
- Prevent save confirmation dialog from trying to parent to itself (GH-102444).
- Fix Floating Window request close when a dialog is opened (GH-102470).
- Improve UID file creation condition (GH-102489).
- Fix regression in moving resources in filesystem dock (GH-102493).
- Fix heap-use-after-free when changing 2D editor selection (GH-102510).
- Fix accessing UID before first scan (GH-102513).
- Change output format for milliseconds in timestamps to 3 zeroes (GH-102530).
- Fix double
set_namein renaming node (GH-102553). - Fix History Dock default state (GH-102555).
- Fix AtlasTexture editor previews for compressed textures (GH-102559).
- Navigate to folder when double-clicking favorite (GH-102592).
- Fix empty Command Palette (GH-102596).
- Script Editor: Add option to disable documentation tooltips (GH-102608).
- Fix lag when resizing Floating Game Window (GH-102618).
- Fix global scripts not being added because of bad
global_script_class_cache.cfg(GH-102636). - Prevent deferred tooltip update crash (GH-102659).
- Silence missing icon error if UID cache is missing (GH-102664).
- Improve path handling in EditorQuickOpenDialog (GH-102678).
- Fix Inspector revert and animation keying button sizing (GH-102681).
- Fix focus being lost after adding a new input map entry in the editor (GH-102683).
- Don't select invisible items in FileSystem dock (GH-102714).
- EditorHelpBit: Workaround crash renaming named class inheriting
@toolclass (GH-102729). - Store
_custom_type_scriptmeta as String (GH-102737). - Add tooltip text to Polygon3DEditor buttons (GH-102760).
- Android Editor: Fix embed mode orientation handling (GH-102802).
- Fix modified time when LSP reload script (GH-102811).
- Don't mark cached previously pinned AnimationMixers (GH-102813).
- Fix "Game embedding not available" message on Wayland (GH-102833).
- Fix error with favorited properties with open sub-inspectors (GH-102874).
- Remove non-existent IPUnix conversion (GH-102922).
- Fix Embedded Game over expanded bottom panel, by resetting expanded bottom panel on Play (GH-102978).
- Always allow selecting any rendering driver in the settings, add "auto" option (GH-103026).
- Don't show
Show in FilesystemPopup for empty frames inSpriteFrameseditor (GH-103050). - Fix Embedded Game window wrong first startup location and size (GH-103105).
- Fix plugin icons not displayed (GH-103143).
- Load docks layout after their position is initialized (GH-103266).
- Replace error to info messages for embedded game (GH-103339).
- Add checks to prevent crashes when accessing the GameMenu api (GH-103371).
- Fix invalid startup embedded game location and size after resizing editor main area (GH-103436).
- Fix autoloaded scene loses their built-in script when upgrading to 4.4 (GH-103439).
- Validate custom type script before loading it (GH-103467).
Export
- Allow adding custom export platforms using scripts / GDExtension (GH-90782).
- [Android Editor] Add support for exporting platform binaries (GH-93526).
- Update the visibility for the custom templates for all platforms (GH-93867).
- [Windows/Linux] Check custom export templates architecture (GH-94588).
- Fix crash or unclear messages when exporting with invalid arguments (GH-95005).
- macOS: Use per-architecture min. OS version for export (GH-95885).
- Display project settings splash color on web export (GH-96625).
- Re-enable macOS .app export from Windows, add warnings about Unix permissions (GH-96669).
- Fix issue with GDScript binary tokens being non-deterministic (GH-96855).
- Expose
get_export_option_visibilityto editor plugins (GH-96980). - Add ability to export patch packs (GH-97118).
- Ensure excluded GDExtension files are not included in
extension_list.cfg(GH-97216). - Add ability for PCK patches to remove files (GH-97356).
- Add support for Android Themed Icons (monochrome) (GH-97517).
- [Android editor] Enable automatic install of exported apks for the Android editor (GH-97631).
- GDExtension: Improve error messages during export (GH-97765).
- GDScript: Fix
GDScriptCache::get_full_script()uses non-remapped path (GH-97769). - iOS: Add support for dark and tinted icon versions (GH-97789).
- Add default value of editor property
export/android/android_sdk_pathfor Windows, Linux, and macOS (GH-97992). - Support for XCode 8+ feature
PROVISIONING_PROFILE_SPECIFIER(GH-98093). - Additional macOS codesign entitlements and print verbose (GH-98126).
- Fix Android app permissions for SDK levels earlier than 28 (GH-98230).
- Fix monochrome icon, add warning when it's not specified (GH-98603).
- Editor: Copy encryption and script settings on export preset duplication (GH-98739).
- GDExtension: Improve macOS library loading/export (GH-98809).
- Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors (GH-98918).
- Add
CATEGORY_UNDEFINEDoption in Android export (GH-98971). - iOS: Add options to specify additional entitlements and capabilities in the export settings (GH-99051).
- Linux: Use safe IDs for native file dialog options. Show extensions in export dialog (GH-99110).
- Write text server data from memory, instead of using temporary file (GH-99164).
- Fix
PackedData::has_path()using wrong path format (GH-99165). - Fix Android boot splash and gradle build issue (GH-99353).
- Android: Refactor icon logic and make monochrome icon optional (GH-99378).
- Add persistent states for export with debug, as patch on editor restarts (GH-99391).
- Enable Deploy with Remote Debug by default in the editor (GH-99428).
- Add "Pack Project as ZIP..." to Project menu (GH-99781).
- Android: Delete
.idsigon One Click Deploy (GH-100103). - Allow using ICU data from export templates instead of editor embedded data (GH-100104).
- Use temp dirs instead of cache dirs for export (GH-100150).
- Android: Fix path to AAB in copyAndRenameBinary task (GH-100756).
- [Android Editor] Update handling of the
REQUEST_INSTALL_PACKAGESpermission (GH-100815). - Ensure icon and splash paths on export (GH-100920).
- Respect system user setting for (un)installing APK (GH-100938).
- macOS: Allow running unpacked game files from .app bundle resources (GH-101125).
- Save instance and global uniform data in RenderingServerDummy (GH-101210).
- Windows: Update export script's task to work even on battery power (GH-101257).
- Fix ANGLE and D3D12 libraries inclusion in .zip export (GH-101267).
- Use implicit launch when running a Godot Android project from the editor (GH-101498).
- Update export preset options overrides before doing "Remote Debug" (GH-101658).
- iOS: Fix provisioning profile specifier / UUID validation (GH-101706).
- Android: Keep swipe-to-dismiss disabled by default (GH-101996).
- Update the app bundle's access and modified times to match the build time on macOS (GH-102003).
- Fix patch PCKs incorrectly marking imported resources for removal (GH-102099).
- Respect icon/splash screen import settings (GH-102109).
- Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter (GH-102179).
- Export the
rendering/renderer/rendering_method.mobileproject setting to the AndroidManifest (GH-102446). - Fix
modified_timeon Android (GH-103080). - Fix cross-platform configuration of rendering driver settings (narrower approach) (GH-103197).
GDExtension
- Expose
ClassDB.class_get_api_type()method (GH-90703). - Allow ClassDB to create a Object without postinitialization for GDExtension (GH-91018).
- Implement
GDExtensionLoaderconcept (GH-91166). - Tests: Ensure all default method arguments can be encoded (GH-93134).
- Mark virtual function as
is_requiredinextension_api.json(GH-93311). - Fix editor needs restart after adding GDExtensions (GH-93972).
- Fix reload of GDExtension libraries in framework package on macOS (GH-95143).
- Update GDExtension related CI after Godot 4.3-stable's release (GH-95556).
- Update expected API validation files for the releases of Godot 4.2 & 4.3 (GH-95594).
- Fix virtual binding for
ScriptLanguageExtension::_reload_scripts(GH-95730). - Bind Array and Packed*Array
getandsetfunctions (GH-95930). - Temporarily disable "validation errors no longer occur" warnings (GH-95962).
- Windows: Call
AddDllDirectory()with an absolute path (GH-96192). - Fix loading GDExtensions in exported games (GH-96287).
- Show warning on missing PDB file, rather than error (GH-96383).
- Fix
booltype appearing in GDExtension header (GH-96406). - CI: Add C compile step for
gdextension_interface.h(GH-96408). - Allow class names to be unicode (GH-96501).
- Remove
get_rid_funcfromGDExtensionClassCreationInfo4(GH-96787). - Allow directly getting
ObjectIDfromVariant(GH-97119). - CI: Improve
godot-cppactions (GH-97166). - Fix GDExtension classes inheriting from Resource not using icons in FileSystem (GH-97421).
- Use loader to check if the library exists (GH-97532).
- CI: Change
godot-cpp-testfrom workflow to action (GH-97742). - Fix loss of gdextension on editor startup (GH-98041).
- OpenXR: Allow GDExtensions to implement
_on_pre_draw_viewport()and_on_post_draw_viewport()(GH-98831). - Register Engine, OS, ProjectSettings, and Time singletons in time for
INITIZATION_LEVEL_CORE(GH-98862). - Support extension icons in ScriptCreateDialog (GH-98914).
- Add GDExtension
variant_get_ptr_internal_getter, facilitatingVariantGetInternalPtr-like behavior in GDExtension (GH-99201). - Fix method binds not saying if they are varargs (GH-99403).
- Fix
Variantmodulo operation (GH-99559). - CompositorEffect: should use
GDVIRTUAL_CALL()so it works with GDExtension (GH-99981). - Add method to set the class icon (GH-100193).
- Fix collision shape debug color breaking GDExtension (GH-100317).
- Fix
StreamPeerExtension::put_partial_data()to call_put_partial_data()(GH-100318). - Rename
GDExtensionCompatHashesto make it clear it's only for exceptional situations (GH-100622). - Add compatibility system for virtual methods (GH-100674).
- Use
MethodInfo::get_compatibility_hash()to generate the hash forMethodBind::get_hash()and other GDExtension hash clean up (GH-101449). - Expose OpenXR action handles to GDExtension (GH-101503).
- Fix memory leak when
ClassDB::bind_method_custom()fails (GH-102131). - Bind new core
METHOD_FLAG_VIRTUAL_REQUIREDbitfield (GH-103302).
GDScript
- StringName Dictionary keys (GH-70096).
- Add
@warning_ignore_startand@warning_ignore_restoreannotations (GH-76020). - Add warning if non-
@toolclass extends@toolclass (GH-78178). - Add disassembling implicit and lambda functions (GH-78489).
- Implement typed dictionaries (GH-78656).
- Autocompletion: Improve autocompletion for indices (GH-79378).
- Try to guess method return type even if subscript base has no value (GH-84264).
- Rework
GDScriptUtilityFunctionsmacros (GH-84368). - Do not produce
UNUSED_SIGNALwarning for common implicit uses (GH-89675). - Make Goto line a Popup and column input (GH-91388).
- Autocompletion: Keep
get_nodevalues which are compatible with type hint (GH-92263). - Remove
RENAMED_IN_GODOT_4_HINTfromGDScriptWarning::Codeenum (GH-92526). - Add error messages to some compilation errors (GH-93301).
- Autocompletion: Rework argument options string literal completion (GH-94082).
- Add icon for local variable completion options (GH-94196).
- Fix message when calling non-tool function in tool mode (GH-94511).
- GDScriptParser: Avoid
const_castofAnnotationNode(GH-94888). - Fix crash when division by zero/modulo by zero happen on vectors (GH-95172).
- Fix lookup symbol for enum members to search a correct code definition (GH-95200).
- Only include profiling variables when DEBUG is enabled (GH-95408).
- Fix Godot not quitting with
--doctool --gdscript-docs(GH-95656). - Expose GDScript syntax highlighter to editor plugins (GH-95764).
- Update script documentation removed files on startup (GH-95965).
- Autocompletion: Enable string literal completion in subscripts (GH-96160).
- Replace
assert()withUtils.check()in tests (GH-96229). - Fix missing
GDScriptParserreference on completion context (GH-96243). - Add
@export_tool_buttonannotation for easily creating inspector buttons (GH-96290). - Autocompletion: Reintroduce enum options on assignment (GH-96326).
- Fix small mistake in script valid checks (GH-96330).
- Remove unneeded quotes from autocomplete % nodes (GH-96666).
- LSP: Don't use smart resolve for completion (GH-96684).
- Autocompletion: Add arghint for annotations (GH-96693).
- LSP: Omit some values based on specification version 3.17 (GH-96725).
- Core: Fix
operator[]for typed dictionaries (GH-96797). - Autocompletion: Don't use owner for inner classes (GH-96927).
- Style: Consolidate & migrate GDScript
.editorconfig(GH-96965). - Speed up lambda capture handling (GH-97087).
- Add support for
printcommand in local (command line-d) debugger (GH-97218). - GDScriptNativeClass: Allow getting static function as callable (GH-97374).
- Cancel code completion and code hint upon go-to line (bookmark, breakpoint, etc.) (GH-97674).
- Add missing static default initialization for typed dictionaries (GH-98085).
- Fix annotation parsing adding new annotation entries (GH-98146).
- Don't highlight unexposed classes (GH-98169).
- Avoid unnecessary
Dictionaryconversions inGDScriptInstance::validate_property(GH-98301). - Add some comments to
#endif'swhere it helps readability (GH-98356). - Fix cached parser error when using typed Dictionaries (GH-98400).
- Adjust
make_rst.pyfor GDScript documentation (GH-98533). - Fix analyzer pushing
SHADOWED_VARIABLEwarning for members shadowed in subclass (GH-98873). - Improve GDScript autocompletion for methods (GH-99102).
- Deprecate
inst_to_dict()anddict_to_inst()functions (GH-99121). - LSP: Fix spec violations that break the VSCode outline (GH-99295).
- Core: Fix built-in enum constant bindings (GH-99424).
- Support tracking multiple analyzer and runtime errors in tests (GH-99490).
- Fix language server causing random crashes when
use_threadsis enabled (GH-99861). - Improve misleading
Unexpected "x" in class body.GDScript parser error (GH-99887). - Optimize Callable's stringify text (GH-100033).
- Tweak unknown annotation GDScript error for
@deprecated/@experimental/@tutorial(GH-100174). - Improve
&&and&syntax highlighting by alteringStringNamehighlighting (GH-100575). - Fix
Packed*ArrayOP_INusing low precision int and float as input (GH-100582). - Remove unused variable in
GDScriptLanguage(GH-100610). - JSONRPC: Convert ids to int if they are int by value (GH-100950).
- Editor: Fix
Ctrl+Clickon enum values does nothing (GH-101127). - Ensure path for shallow scripts (GH-101442).
- Fix GDScript editor crash on invalid
tween_propertyarguments (GH-101632). - Display correct symbol in warning when unique name is used without @onready annotation (GH-102389).
- Fix uppercase B and X parsing in the integer literals (GH-102400).
- Fix enum value lookup jump (GH-102401).
- Fix Plugin Scripts load twice on startup (GH-102535).
- Fix script class icons not inheriting parent (GH-102572).
- Autocompletion: Account for invalid annotations when making arghint (GH-102698).
- Autocompletion: Override context for preload (GH-102826).
- Add bound checks to
Array/Packed*Arrayvariant callgetandsetmethods (GH-103362).
GUI
- Fix getting wrong focus neighbor when the control is in ScrollContainer (GH-63059).
- Improvements to SplitContainer including a drag bar background StyleBox (GH-72680).
- Fix display of embedded
Window(GH-80121). - Add a Viewport method to get automatically computed 2D stretch transform (GH-80965).
- Fix
button_upandbutton_downsignals with focus changes or multiple inputs (GH-81532). - Implement fit content width in TextEdit (GH-83070).
- Simplify
Controlinternal transform calculation (GH-84840). - Correctly restore Control position on undoing an Anchors Preset (GH-85275).
- Make
FileDialogfiltering case insensitive (GH-85789). - Allow dragging selection when selecting whole words in
RichTextLabel(GH-85799). - Cleanup in undo in
TextEditandLineEdit(GH-86085). - Prevent
LineEditfocus loss when text is submitted or rejected and allow selecting without editing with arrow keys (GH-87674). - Prevent some internal nodes being duplicated in Controls (GH-88114).
- Fix RichTextLabel bottom margin for text clipping (GH-88167).
- Add hover state to Tree items display (GH-88530).
- Add filename filter field to FileDialog (GH-88673).
- [macOS, Windows] Add support for excluding windows from a screenshot (GH-88950).
- Improve SpinBox interaction, split arrows, add theme attributes (GH-89265).
- Fix backspace always unfolding previous line (GH-89554).
- Make TextEdit autocompletion replace word unless Shift is held (GH-90723).
- Add TextEdit option to prevent copying without a selection (GH-90743).
- Make
PopupMenu/Panelshadows properly visible again (GH-91333). - Save color palette as resources to reuse later (GH-91604).
- Fix TextEdit mouse selection and scroll cancel (GH-91778).
- Fix tooltip content being cut off at some display scales (GH-91965).
- Fix
Window.wrap_controlsdoes not account for thecontent_scale_factor(GH-91971). - Fix TextEdit caret movement at start of wrapped lines (GH-91978).
- Implement drag-and-drop logic for previewing themes (GH-92435).
- TextServerAdvanced: 2x performance improvement by removing redundant lookups (GH-92575).
- TextServerFallback: 2x performance improvement by removing redundant lookups (GH-92581).
- Fix
MenuBarpopup placement assuming it's in viewport default canvas (GH-92841). - CodeEdit: Improve render time by 2x (GH-92865).
- RTL: Improve BBCode parsing (GH-92962).
- Adjust StyleBoxFlat antialiasing to account for 2D stretch scale (GH-92997).
- Add
Auto widthbehavior to ItemList (GH-93270). - More GUI nodes listening for texture changes (GH-93285).
- Add button unit test (GH-93381).
- Improve button behavior when multiple mouse buttons are used at the same time (GH-93500).
- Improve Editor Inspector/Theme item lookup performance (GH-93602).
- Add unit tests for
OptionButton(GH-93824). - Add RichTextLabel
is_finished(), deprecateis_ready()(GH-93940). - Optimize
StyleBoxFlat.draw()(GH-94240). - RTL: Expose missing default properties, ensure bbcode is reparserd when these are changed (GH-94426).
- Treat
MenuBarandMenuButtonas advanced UI (GH-94513). - Improve blend tree contrast/margins (GH-94721).
- Improve
Treeperformance (GH-94748). - Fix EditorSpinSlider when hidden (GH-95028).
- Editor: Allow MSDF font rendering for custom fonts, add editor setting to control it (GH-95230).
- Draw a checkerboard behind translucent colors in CodeEdit autocompletion previews (GH-95285).
- Fix
TextServer::shaped_text_*_character_posfor the first character of wrapped string. Allow starting/ending RTL selection before line start (GH-95301). - Fix graph node stretch not taking titlebar into account (GH-95389).
- Fix wrong focus neighbor for grid-aligned 0 separation controls (GH-95500).
- Reshape and update button on oversampling change (GH-95511).
- Misc code cleanup in EditorFileDialog (GH-95544).
- Fix small graph editor pins at higher display scales (GH-95687).
- Windows: Run native file dialogs in thread to make it non-blocking (GH-95794).
- Only reset the tooltip timer when the mouse has actually moved (GH-95846).
- Always store ID of PopupMenu items (GH-95857).
- Allow horizontal scrolling in Tree using Shift (GH-95889).
- Disable text trimming in SceneTreeEditor (GH-95891).
- Clean up Viewport's
forced_mouse_focus(GH-95902). - Fix mouse move over an unfocused window (GH-95972).
- Windows: Emit native file dialog callback from event loop, fix selected options not saved (GH-95983).
- Fix deadzone slider not working correctly (GH-96000).
- Fix LineEdit word mode when there are no more words (GH-96038).
- Fix importer preview for models with scaled armatures (GH-96067).
- Fix collapsing
TreeItemnot updating horizontal scrollbar (GH-96142). - Fix Connect Signal Dialog control alignment (GH-96164).
- Tree: Fix error when removing child from
Tree(GH-96206). - Tree: Improve navigation with row select mode (GH-96232).
- RTL: Move image/table draw to the
DRAW_STEP_TEXT(GH-96247). - Account for dropcap when calculating paragraph size, fix duplicate last char when using dropcap with autowrap off (GH-96265).
- Fix floating window corner radius (GH-96269).
- Deprecate
set_min_buttons_width_from_icons(GH-96276). - Fix
StyleBoxFlatrectangles skewing independently (GH-96285). - Fix scroll container min size calculation (GH-96305).
- Prevent crash after removing GraphEdit's connection layer (GH-96309).
- Use InputMap actions consistently across all LineEdit's that filter an underlying Tree or ItemList (GH-96400).
- RTL: Do not add final newline to the paragraph context (GH-96460).
- MenuBar: Make menu start index more consistent (GH-96507).
- TextServer: Fix structured text parser for GDScript comments (GH-96512).
- Fix PopupPanel and PopupMenu menu styles (GH-96518).
- Wayland: Fix primary clipboard handling (GH-96540).
- Fix frame title popup position in the VisualShader editor (GH-96543).
- macOS: Make gaps between editor titlebar buttons unclickabe to prevent accidental window move/resize (GH-96554).
- Add Control+Shift+U (rebindable) action for Unicode input, show hex as it is entered (GH-96592).
- Expose
Viewport.gui_cancel_drag()to GDScript as a counterpart toControl.force_drag()(GH-96614). - Fix
is_inside_treeerror when inspecting an Environment resource (GH-96688). - RTL: Fix internal process incorrectly disabled on appending text (GH-96706).
- Label3D: Fix updating labels in subvieports on oversampling change (GH-96708).
- Fix tooltip appearing in old place, on movement (GH-96721).
- RTL: Fix indent in tables and tables in indent (GH-96735).
- Fix EditorSpinSlider blocking viewport from getting focus (GH-96786).
- Fix slider size in compact mode (GH-96801).
- Tree: Improve Tree Performance by replacing computed height with TreeItem's cached minimum size (GH-96841).
- Remove useless
Viewport::gui.key_input_accepted(GH-96867). - Add
SCROLL_MODE_RESERVEto ScrollContainer (GH-96871). - RTL: Fix font not updated for some spans (GH-96878).
- Fix native file dialog showing on loading project in editor (GH-96900).
- GraphEdit: Improve dotted pattern grid performance (GH-96910).
- Fix
VSlidergrabber area (GH-96996). - Fix FileDialog default size (GH-97004).
- Core: Add
DisplayServerflag for sharp corners (GH-97005). - Expose
LineEditeditanduneditmethods (GH-97094). - Fix trackpad code completion scrolling (GH-97122).
- Fix
TabContainerminimum size (GH-97132). - Fix
TreeItemget_prev*methods whenp_wrapistrue(GH-97157). - Tree: Allow disabling auto generated tooltip for
TreeItem(GH-97158). - Expose
has_undo()andhas_redo()of LineEdit (GH-97167). - Fix TabContainer tab offset moving when not needed (GH-97209).
- ColorPicker: Ignore TextureRect expand mode during legacy picking (GH-97212).
- Add
GraphEdit.cut_nodes_requestsignal (GH-97229). - Fix TabBar initialization issue and add tests (GH-97255).
- Fix script editor not underlining Unicode identifiers when Ctrl-hovered (GH-97269).
- Fix ScrollContainer configuration warnings (GH-97291).
- Prevent infinite recursion in first
_draw(GH-97328). - Fix
font_hover_pressed_colorandicon_hover_pressed_colornot working for no stylebox use onButton(GH-97335). - Add tests for SplitContainer (GH-97371).
- Fix button text autowrap overflow when inside a container (GH-97389).
- Make
_make_custom_tooltipreceive raw tooltip for buttons with shortcut enabled (GH-97397). - Fix ItemList text trimming (GH-97439).
- GraphEdit: Make connections a property (GH-97449).
- TextServer: Improve embedded objects handling performance (GH-97478).
- Fix Spinbox display does not round properly when using decimal custom arrow steps (GH-97573).
- Fix ICU support data loading (GH-97648).
- Only cancel completion with the
ui_cancelaction (GH-97660). - TextServer: Silently skip invalid system fallback fonts (GH-97693).
- Handle scroll events in RichtTextLabel (GH-97730).
- Improve blurred content of embedded windows (GH-97745).
- Fix
window_set_current_screenfor maximized windows (GH-97757). - Fix
ColorPickervirtual keyboard popup on mobile (GH-97807). - GraphEdit: Only print warning for connection layer deletion when justified (GH-97809).
- Fix quick open background panel style (GH-97820).
- Fix
BottomPanelexcessive width (GH-97878). - Add theme type variations for secondary Trees and ItemLists (GH-97884).
- ItemList - Fix right padding missing (GH-97888).
- Fix
PopupMenu.id_focusedsignal using index as ID (GH-97890). - Fix
Buttonminimum size whendisabledis toggled (GH-97897). - Fix
EditorSpinSlidergrabberTextureRectdoesn't follow parent when scrolling (GH-97946). - Allow
Controlto show custom tooltip when tooltip text is empty (GH-97961). - RTL: Add support for vertical alignment (GH-97963).
- Refresh
MenuBarscene after child renamed in editor (GH-97977). - Fix uneditable
LineEdit,TextEditandCodeEditvirtual keyboard popup on mobile (GH-98012). - Unify filter feature and improve space management for EditorFileDialog (GH-98022).
- Fix incorrect drag preview position under transformed
CanvasLayer(GH-98032). - Fix
ScrollBargrabber mouse input ignores scroll content margins (GH-98035). - [TextParagraph/Button] Add support for line spacing (GH-98036).
- Rename internal Button
*_iconfunctions to*_button_iconto match exposed methods (GH-98039). - RTL: Keep tag stack between
append_textcalls (GH-98082). - Add System Locale layout direction for
ControlandWindow(GH-98203). - Fix button click detection when
Treeis rotated (GH-98299). - Clarify
LineEdit.shortcut_keys_enabledonly affects context menu items (GH-98304). - Fix legacy picking label bounds (GH-98368).
- Fix Control
offset_*property types (GH-98443). - RTL: Allow setting image alignment as separate bbcode argument (GH-98450).
- Increase range hint for StyleBoxFlat
border_width,corner_radiusandexpand_margin(GH-98477). - Fix some flickering tooltips (GH-98479).
- CodeEdit: Fix line number margin (GH-98543).
- Label: Handle text as multiple independent paragraphs (GH-98605).
- TextServer: Reset subpixel shift on blank glyphs (GH-98664).
- Fix
total_visible_line_countcalculation when removing and clearingTextEdit's text (GH-98678). - Add tests for control to test anchoring and minimum size (GH-98757).
- Fix Tree drag-and-drop scrolling having low FPS at low Physics Ticks per Second (GH-98766).
- Improve
TextureProgressBar.set_radial_initial_angle()by removing loops (GH-98816). - TextServer: Only load ellipsis glyph when it's used (GH-98841).
- Android: Update exported app and editor theme (GH-98890).
- Add
HScrollbartoItemListwhenmax_columns == 0(GH-99050). - Ignore paste action if clipboard is empty (GH-99142).
- Improve editor file dialog options (GH-99182).
- Use processed filter list for native dialogs (GH-99266).
- Introduce a
SubViewportContainerconfig for drag-and-drop target locations (GH-99270). - Hide unused
exp_editfrom SpinBox's inspector (GH-99289). - Android: Set default
ACCESS_FILESYSTEMroot for FileDialog (GH-99310). - Add
Toggleselection mode toItemList(GH-99355). - Fix button state of grid and highlight layer in tile map layer editor (GH-99357).
- ItemList: highlight selected items and draw
cursor-stylebox last (GH-99361). - Expose state machine focus color to theming (GH-99409).
- Fix SVG font rendering (GH-99459).
- ColorPicker: Fix OKHSL circle in HSV mode (GH-99461).
- RTL: Add tooltip support to meta/url tag (GH-99481).
- TextServer: Fix some line breaking edge cases (GH-99488).
- Add
get_connection_countfunction toGraphEdit(GH-99564). - Fix native file dialog filter selection in save dialogs (GH-99595).
- macOS: Use native window drag for the custom editor title bars (GH-99642).
- RTL: Fix clearing text with
set_text("")(GH-99665). - RTL: Parse "\r\n" as a single paragraph break, add some documentation notes (GH-99668).
- Improve documentation for tooltip-related methods (GH-99679).
- Show
TextureProgressBarradial center cross only when editing the scene (GH-99685). - Rename
SubViewportContaineroptionconsume_drag_and_droptomouse_target(GH-99691). - Fix RTL visuals for sliders (GH-99708).
- Fix removing last digit in spinbox while
update_on_text_changedis true (GH-99721). - Fix physics picking when hovering an embedded window (GH-99771).
- Allow copy/select shortcuts when
editableis false inLineEdit(GH-99822). - Fix
switch_on_hoverforMenuButton(GH-99849). - Add horizontal center for ColorPicker buttons (GH-99882).
- Introduce
Viewportfunctions for keeping the mouse over state consistent (GH-99890). - Label: Fix empty paragraph height (GH-99906).
- Label: Fix min. width (GH-99915).
- Change default Arabic font to Vazirmatn (GH-100053).
- [Windows & macOS] Fix popup window shows behind
always_on_topparent (GH-100179). - Android: Support for DisplayServer base color retrieval (GH-100200).
- Fix user selection on top of
bgcolorareas in aRichTextLabel(GH-100208). - LineEdit: add member
keep_editing_on_text_submit(GH-100240). - Allow canceling drag-and-drop with right mouse button (GH-100259).
- Don't emit
text_changedsignal when clearing empty LineEdit (GH-100275). - Improve emoji SVG parsing by caching (GH-100300).
- Fix 3D ruler theme overrides (GH-100312).
- Add
get_selection_line_offsettoRichTextLabel(GH-100329). - Itemlist: draw focus stylebox after items (GH-100429).
- Add
get_line_range()toRichTextLabel(GH-100432). - Fix
ViewPannerpanning-mouse-warp (GH-100444). - Clear syntax highlighter cache when theme or syntax highlighter is changed (GH-100451).
- Highlight hovered
GraphEditconnection by widening the line (GH-100456). - TextServer: Fix space trimming around mandatory line breaks (GH-100492).
- Fix
RichTextLabelbbcode rainbow play reversed and paused (GH-100494). - TextServer: Fix use of
find_charin text servers (GH-100562). - [Windows, FileDialog] Prepend drive letter to the absolute paths without drive letter (GH-100595).
- EditorFileDialog: Do not update file selection on filter change if nothing was previously selected (GH-100596).
- Fix Android native file picker (GH-100607).
- Unset last focused window when it is destroyed (GH-100637).
- MenuBar: Use PopupMenu title property as a menu name (GH-100671).
- Tweak
TextureProgressBarNOTIFICATION_DRAWto support 9-patch stretch in radial modes (GH-100697). - Handle changing ItemLists from signals (GH-100714).
- Android: Fix
Windowsize changes ignored when node is not in tree (GH-100746). - Allow overriding SpinBox value on
focus_exited(GH-100860). - Prevent tooltip from showing when hovering past the end of script line (GH-100913).
- ColorPicker: Fix cursor position in OKHSL wheel (GH-100930).
- ColorPicker: Improve the accuracy of hue slider in OKHSL mode (GH-100931).
- Fix ProjectTag button variation (GH-100999).
- Fix nullptr crash with freed
GraphNodein GraphEditArranger (GH-101005). - [macOS/Windows] Add
Emoji & Symbolscontext menu item to LineEdit/TextEdit to show system character picker (GH-101021). - Android: Implement support for
native dialog(GH-101061). - Fix
has_fontandhas_font_sizealways return true (GH-101066). - ColorPicker: remove unused children and fix sample bugs (GH-101100).
- Tree - fix cusor selection in
multiselection-mode (GH-101160). - Fix large
TextEditwidth resize performance when wrapping disabled (GH-101175). - Fix
get_visible_line_countin RichTextLabel (GH-101205). - Window: Expose
start_dragandstart_resizemethods (for both native and embedded windows) (GH-101221). - Fix gui overflow in Android editor (GH-101234).
- Fix menus and dropdowns requiring two clicks (GH-101246).
- Fix color picking on Linux/X11 (GH-101266).
- Fix non-typed Dictionary keys displayed as
<null>in the inspector (GH-101278). - Fix
__focus_rectmeta access error when resizingTree(GH-101280). - Add
ColorPickercursor background and reuse the cursor for wheel (GH-101383). - RTL: Fix "fade" effect char index calculations (GH-101481).
- RTL: Add cell option to control if cell is shrunk to its contents width (GH-101482).
- Fix legacy color picker crash (GH-101513).
- RTL: Fix character effect offset (GH-101532).
- Always pick widest style as min width between unselected and hovered in
TabBar(GH-101541). - Fix TextEdit breakpoint hover not hiding on mouse exit (GH-101613).
- Fix Follow Focus in a rotated
ScrollContainer(GH-101625). - TextServer: Fix text buffer not processing strings added after
shape(GH-101626). - TextEdit: Fix
viewport_to_caretusing start of IME text instead of IME caret/selection (GH-101629). - TextServer: Fix ICU data incorrectly marked as loaded even if file was not found (GH-101685).
- Make dialogs non-cancelable on Android (GH-101689).
- Fix
ViewportTexture::get_size(GH-101700). - Fix Label vertical line alignment (GH-101771).
- TextServer: Fix embedded object keys in substrings (GH-101791).
- Fix spinbox input events propagating during dragging, breaking focus (GH-101825).
- Tree - fix
ui_select(GH-101842). - RTL: Fix
readysignal sent too early in single threaded RTL (GH-101868). - Fix
OptionButton.show_popupwidth (GH-101876). - ItemList: Fix
text_overrun_behavior(GH-101899). - Fix ColorPicker hide save/load swatches for presets_visible (GH-101913).
- Fix ColorPicker Swatches button width (GH-101923).
- TextureProgressBar: minimum size selection as maximum among all textures (GH-101957).
- Fix ColorPicker load/save swatches button interactions (GH-101960).
- Fix
Itemlistfont color inLighteditor themes (GH-101978). - Fix native popup menus position in embedded windows (GH-102079).
- Fix FILE_MODE_OPEN_ANY file dialog not selecting folders (GH-102080).
- Add check for float texture linear filtering support (GH-102089).
- Fix
get_item_area_rectwhen tree is scrolled (GH-102116). - Optimize
Fontcalculations by avoiding unnecessary copy-on-write (GH-102132). - Fix TextEdit visible line count when setting text (GH-102296).
- Make
CharFXTransform.fontproperty read only, add some extra documentation notes (GH-102342). - Forward color picker preview mouse button events to the window underneath (GH-102343).
- RTL: Fix updating region without updating texture (GH-102344).
- Fix ColorPicker RAW alpha slider theme (GH-102349).
- Hide slider for array size selector in editor (GH-102392).
- FileDialog: Update filename/buttons state when first item is selected on folder/filter change (GH-102397).
- TextServer: Fix line/word breaks not always updated when applying overrun (GH-102402).
- Fix Tree
item_marginfor low spacing values in Editor Theme (GH-102438). - TextEdit: Update syntax highlighting when IME composition string is updated (GH-102472).
- Add ZWSP to the list of space characters (GH-102474).
- Hide EditorSpinSlider slider for VectorNI (GH-102488).
- Hide EditorSpinSlider slider for Rect2i (GH-102518).
- Fix TextEdit cusor shape when mouse is held (GH-102556).
- Android: Add Snackbar UI component (GH-102590).
- Fix CodeEdit line length guideline zoomed position (GH-102597).
- Itemlist: Fix
text_overrunwhen usingfixed_icon_size(GH-102603). - Fix mouse input on popup shadows misbehaving with
content_scale_factor(GH-102625). - TextServer: Use all available space when string is too short for ellipsis (GH-102647).
- Use fallback locale from project settings instead of hardcoded "en" for TextServer (GH-102649).
- Fix tree selecting hidden items (GH-102738).
- Fix TreeItem button tooltip trigger area offset (GH-102749).
- Fix inspector follow focus when child is focused (GH-102775).
- Fix
GraphEdit::frame_rect_changedsignal parameter type (GH-102796). - Fix editor UI showing empty string for unknown locales (GH-102798).
- Sync native and embedded dialog missing extension handling (GH-102828).
- Fix Tree Mouse hover position (GH-102842).
- TextServer: Fix space trimming on line break (GH-102854).
- Fix TextEdit BiDi override (GH-102895).
- IME: Do not redraw and move caret on IME update w/o text/position changes (GH-103059).
- Fix Tree hover position with multiple columns (GH-103168).
- Fix label clipping when ascent/descent are fractional (GH-103192).
- Label: Fix rounding errors with fractional scale (GH-103224).
I18n
- Add Russian translation for Linux .desktop file (GH-95275).
- Split
TranslationServerinto its own file (GH-95549). - Add translation domain (GH-95787).
- Move pseudolocalization into
TranslationDomain(GH-96230). - TranslationServer: Add fast path for comparison of equal locales (GH-96462).
- Fix
RichTextLabel's modified stack being wiped on translation changes (GH-97061). - Set auto translate mode for drag previews (GH-97173).
- Don't list CSV as a valid extension for
Translationresource (GH-97222). - Better undo action names for localization editor (GH-97275).
- Add auto translate mode for cells in
Tree(GH-97353). - Add missing
ETRmacros inColorPicker(GH-97398). - Add auto translate mode for tooltips (GH-97406).
- Disable auto translation in EditorDirDialog (GH-97488).
- Add auto translate mode for items in
ItemList(GH-97519). - Fix
atr_n()behavior when auto translation is disabled (GH-97624). - Add Ukrainian translation for Linux .desktop file (GH-97686).
- Make TranslationServer singleton variable inline (GH-97923).
- POT Generator: Add support for
TRANSLATORS:andNO_TRANSLATEcomments (GH-98099). - Fix some strings not caught by editor pseudolocalization (GH-98253).
- Don't pseudolocalize empty strings (GH-98255).
- Don't override auto translate mode of custom tooltip (GH-98281).
- Fix duplicated entries in
TranslationServer::get_loaded_locales()(GH-98547). - Don't mark
PROPERTY_USAGE_NO_EDITORproperties for translation (GH-98571). - Mark editor pseudolocalization CLI option editor-only (GH-98688).
- Disable auto translation of
FileDialog's file list (GH-98720). - Expose
TranslationServer::standardize_localeadd_defaultparam publicly (GH-98972). - Translate the name of the debugger session tabs (GH-99054).
- Make editor's shortcut names translated on-site (GH-99158).
- Fix incorrect order:
TTR(vformatinstead ofvformat(TTR(GH-99219). - Fix missing native file dialog title translation (GH-99223).
- Fix parsing translations in
EditorTranslationParserPlugin(GH-99297). - Make loading translations from threads safe (GH-99527).
- Fix theme options in project manager incorrectly using translated text (GH-101519).
- Fix several i18n issues in editor (GH-102049).
- CSV import: Generate positive UID for .translation and follow renames (GH-103120).
Import
- Import/export GLTF extras to
node->metaand back (GH-86183). - Add support for loading less common DDS formats (GH-86204).
- Add option to export Geometry Nodes Instances in Blender importer (GH-87735).
- ResourceImporterScene: Replace animation bool with an import type string enum (GH-87787).
- etcpak: Improve image padding and clean up the code (GH-89567).
- BasisUniversal: Use RGTC compression when available (GH-90170).
- Add Betsy to speed up BC6 compression (GH-91535).
- Add MagnifyGesture to Advanced Import dialog zooming (GH-92235).
- Fix FileSystem dock won't show any file folders while loading large projects (v2) (GH-93064).
- Downsample textures on import if necessary for technical reasons (GH-93440).
- Preserve existing alpha channel when using Normal Map Invert Y import option (GH-93714).
- Disable normal raycaster for LOD generation by default (GH-93727).
- Fix slow import when window is unfocused (GH-93953).
- Remove unused Optimize Mesh import option from OBJ mesh import (GH-94100).
- Add Generate LODs, Shadow Mesh and Lightmap UV2 options to OBJ mesh import (GH-94108).
- [Font Import] Detect pixel fonts and disable subpixel positioning (GH-94609).
- GLTF: Return the error file path when an import fails (GH-94751).
- Fix no validation on Blender path on import (GH-94934).
- GLTF: Propagate owner for root node children (GH-95121).
- Optimize .hdr loading and RGB9E5 conversion (GH-95291).
- ImageFont: Fix escape sequence parsing, add note to the docs (GH-95299).
- Support importing 1/2/4-bpp BMP images of size non-divisible by 8/4/2 (GH-95482).
- BMFont: Fix importing fonts with
Match char heightenabled (GH-95529). - Fix slow editor load on large projects (v2) (GH-95678).
- Fix
uid://paths fail to load at editor startup (GH-95689). - CVTT: Include float formats for hdr compression (GH-95757).
- Betsy: Add caching and BC1 compression support (GH-95915).
- Add import tab
import_script/pathrelative path support (GH-96079). - Fix owner warning when importing FBX (GH-96117).
- Prevent empty post-import script paths throwing errors (GH-96122).
- GLTF: Only create MeshInstance3D when needed (GH-96133).
- Prevent automapper throwing obscure error (GH-96136).
- Make reimported models reimport their owner (GH-96144).
- Add
get_supported_gltf_extensionsto GLTFDocument (GH-96251). - Betsy: Add signed mode for BC6 (GH-96377).
- Enforce correct type for silhouette filter (GH-96401).
- Print shader compiler error when betsy shader fails to compile (GH-96444).
- Fix missing material override after two glb reimports (GH-96446).
- GLTF: Add
import_pre_generateandexport_post_convertextension steps (GH-96465). - GLTF: Add
append_gltf_nodeto GLTFState (GH-96468). - Generate thumbnails on imported scenes (GH-96544).
- Add "Use Node Type Suffixes" 3D scene import option (GH-96745).
- GLTF: Don't give up loading a texture if importing it fails (GH-96778).
- Blend file import: Don't keep original files when not unpacking them (GH-96782).
- Expose
ResourceImporter::get_format_versionviaEditorImportPlugin::_get_format_version()(GH-96802). - Fix a crash in
ImporterMesh::create_shadow_meshfor non-triangle surfaces (GH-96880). - Fix crash when importing a surface with no UVs after another surface in the same OBJ file that had UVs (GH-97264).
- Betsy: Implement BC4 compression (GH-97295).
- Replace squish with bcdec for BC decompression (GH-97325).
- Allow passing UID to importer (GH-97363).
- BasisU: Update to 1.50.0 and add HDR support (GH-97582).
- Fix layered HDR texture import with lossless compression (GH-97830).
- Assign the correct bone rest transform to nodes with matrix in GLTF (GH-97938).
- Fix spinbox scrolling for advanced importer controls (GH-98016).
- GLTF: Fix bad pointer to ImporterMeshInstance3D root node at runtime (GH-98048).
- Clean up ResourceImporterTexture (GH-98071).
- Image: More cleanup and reduced code duplication (GH-98100).
- Fix freeze on non-thread-safe custom importers (GH-98150).
- [Font Importer] Update Unicode block list to Unicode 16.0 (GH-98196).
- Don't create rendering device or parse glsl shader in headless mode (GH-98247).
- DDS: Add support for loading layered textures (GH-98322).
- LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings (GH-98620).
- Set flag for 8 bone weights in GLTFDocument (GH-98703).
- Reload cached resources in runtime on file reimport (GH-98710).
- Rewrite index optimization code for maximum efficiency (GH-98801).
- GLTF: Preserve node visibility on import (GH-98874).
- GLTF: Don't duplicate textures when importing blend files (GH-98909).
- bcdec: Fix decompressing mipmaps not divisible by 4 (GH-98919).
- Betsy: Add BC3 and BC5 support (GH-99537).
- Round DDS width/height to next divisor multiple for block compression (GH-99600).
- Style skeleton button on import screen (GH-99810).
- Consider all texture types for resource thumbnail generation (GH-100247).
- LightmapGI: Automatically compress new lightmaps (GH-100327).
- Add support for decompressing ETC2 (GH-100365).
- bcdec: Fix logic for detecting incomplete blocks (GH-100405).
- KTX: Add support for loading most ETC-compressed formats (GH-100524).
- Betsy: Fix stack-use-after-scope when using BC3 and BC5 (GH-100588).
- Make
EditorSceneFormatImporter::_get_import_optionsmatch EditorScenePostImportPlugin API (GH-100782). - Allow post-import plugins to modify
_subresources(GH-100792). - astcenc: Misc improvements and optimizations (GH-100848).
- astcenc: Allow decompression in non-editor builds (GH-100856).
- GLTF: Always read
alphaCutoffproperty (GH-101051). - Add test for GLTFDocument (GH-101136).
- Web: Export ASTC/BPTC compressed textures (GH-101178).
- GLTF: Don't write unused light properties (GH-101271).
- Remove unused
EditorSceneFormatImporter::_get_import_flags(GH-101531). - Fix save path validation for imported scenes (GH-102213).
- Add missing
Auto (Except Pixel Fonts)option to advanced import dialog (GH-102519). - ThorVG: Explicitly enable embedded texture support with
THORVG_FILE_IO_SUPPORT(GH-102781). - bcdec: Fix unnecessary alignment of texture resolution when only one of its dimensions isn't divisible by 4 (GH-103259).
Input
- Enable Drag and Drop between SubViewports and Windows (GH-67531).
- Add several shortcuts for text shader editor (GH-84063).
- Add missing check to avoid passing handled input event to collision object 3d (GH-92536).
- Wayland: Switch pointer position handling to doubles (GH-94022).
- Apple: Bug fixes and improvements for game controllers (GH-94580).
- Fix gamepad triggers not working on web exports (GH-94720).
- GenericTilePolygonEditor: Add support for Pan and Magnify gestures (GH-94904).
- OpenXR - Add Logitech Mx Ink Stylus Support (GH-95253).
- Enable
BUTTON_FORWARDandBUTTON_BACKmouse buttons on Android (GH-95460). - Fix
InputMap::event_get_indexto handle unmatched events correctly (GH-95750). - Windows: Hide cursor before moving (GH-96148).
- Fix project manager stealing focus on i3 (GH-96829).
- Allow
JOY_AXIS_INVALIDin InputEventJoypadMotion'saxis(GH-97068). - Use
SNAMEforuiactions in Viewport (GH-97070). - Change the default deadzone value for new actions from 0.5 to 0.2 (GH-97281).
- Fix renaming nodes on X11 (GH-97447).
- Fix
emulate_mouse_from_touchsetting affecting editor (GH-97649). - Restore the original
Godotpreset zoom modifier (GH-97955). - Add
Tablet/Trackpad3D navigation preset (GH-97985). - Fix mouse emulation always sending events to the main window (GH-98318).
- Fix incorrect
KEY_MODIFIER_MASKvalue (GH-98441). - Fix
Input::remove_joy_mapping(GH-98792). - Get joypad's vendor ID, product ID and name on Windows for XInput devices (GH-98861).
- Fix IME deactivation events not send on focus loss. Do not unset AltGr modifiers in non-IME input (GH-98887).
- Replace default deadzone magic number with named constant and fix
InputEventJoypadMotion::set_axis_valueunresponsiveness (GH-99135). - Revert "Fix
InputEventdevice id clash" and add a compatibility function (GH-99449). - Remove temporary project conversion (GH-99479).
- Fix underscore input not working with jp106 keyboard on Wayland platform (GH-99633).
- Fix discarded input event metadata in
xformed_by(GH-100044). - Fix undo behavior on
EditorSettingsDialog::_update_builtin_action(GH-100069). - Introduce a conversion for editor shortcuts (GH-100334).
- Fix Wayland left/right scroll wheel issues (GH-100638).
- Fix last character deletion in Wayland IME input (GH-100715).
- Warn if
virtual_keyboard_get_height()is unsupported (GH-100892). - Fix incorrect Unicode key mapping on Windows (GH-100960).
- Fix double emission of
NOTIFICATION_WM_GO_BACK_REQUEST(GH-101458). - Add shortcut for Lookup Symbol action (GH-101565).
- Wayland: Fix excessive IME updates (GH-101684).
- Windows: Override key codes with Unicode values for OEM keys only (GH-101754).
- Windows: Fix left/right Shift key regression (GH-101763).
- Update SubViewport documentation to include a note about input behavior (GH-101818).
- Wayland: Pass unmodified symbols to key events (GH-101848).
- Fix Make Sub-Resources Unique shortcut focus (GH-101918).
- Delegate handling
mouse_modeto theDisplayServer(GH-101924). - Linux/BSD: Modify only keypad keys (GH-102169).
- Fix a crash on iOS from Joypad initialization (GH-102220).
- Fix
fr+osslayout issues with KP period (GH-102602). - Wayland: Unstuck keys with same keycode (GH-102641).
- Web: Refactor
mouse_modesetters in display server (GH-102719). - Prevent pending input event callbacks from erasing the window in the middle of a loop (GH-102993).
- Android: Inform that sensors must be enabled in ProjectSettings (GH-103132).
- Change default deadzone back to 0.5 for
ui_*actions and axispressedstate (GH-103364).
Multiplayer
- Expose
get_rpc_configandget_node_rpc_config(GH-96024). - Fix broken RPCs after dictionary keys type change (GH-96915).
- Add unit tests for
SceneMultiplayer(GH-97607). - SceneRPCInterface: Sort rpc names using
StringLikeVariantOrder(GH-98472). - Handle scene UIDs in MultiplayerSpawner (GH-99137).
- Fix UID support in MultiplayerSpawner (GH-99712).
- Move OfflineMultiplayerPeer docs to the module (GH-99752).
- ENet: Explicitly destroy hosts on close (GH-102861).
Navigation
- Improve pathfinding performance by using a heap to store traversable polygons (GH-85965).
- Optimize some parts of
NavMap::sync(GH-90182). - Extract navigation-related defaults to separate header (GH-90945).
- Change param name of AStar's
_estimate_costmethod (GH-92123). - Add triangulation partition option to 2D navigation mesh baking (GH-92560).
- Change 3D navigation edge connection margin debug to only show virtual edge (GH-92944).
- Replace some distance checks with square distance checks in NavMap (GH-93005).
- Improve NavigationObstacle3D editor tooling (GH-93059).
- NavigationPolygon: Implement
get/set_polygonfast paths (GH-93171). - Improve
AStarGrid2Dperformance when jumping is enabled (GH-93319). - Move NavRegion connections to NavMap (GH-93498).
- Add navigation obstacles to performance monitor stats (GH-93583).
- Fix AStar2D, AStar3D, AStarGrid2D from not returning a path when the destination is disabled/solid even with
allow_partial_pathoption (GH-94246). - Change NavigationMesh to also parse collision shapes by default (GH-95013).
- Add
get_bounds()function to NavigationMeshSourceGeometryData (GH-95137). - Add NavigationLink function to change navigation map (GH-95456).
- Add navigation region point and segment queries (GH-96092).
- Move NavigationServer mesh queries to dedicated file (GH-96355).
- Fix 2D debug navigation flickering with tile maps (GH-96607).
- Make use of NavigationObstacle3D's transform (GH-96730).
- Improve
NavMeshQueries3D::polygons_get_closest_point_infoperformance (GH-97928). - Reduce allocations for NavMap synchronization (GH-98866).
- Improve
NavMeshGenerator2D::generator_bake_from_source_geometry_dataperformance (GH-98957). - Make use of NavigationObstacle2D's transform (GH-99030).
- Fix obstacle avoidance and 3D editor ignoring transform (GH-99176).
- Fix broken Navigation Obstacle regression (GH-99276).
- Change navigation map performance monitor to use a struct (GH-99626).
- Make NavMap objects request sync only on demand (GH-99646).
- Add test for NavigationServer path simplification (GH-99726).
- Hide
NavigationRegion2D's debug instance instead of freeing it, and hide it whennavigation_polygonis set to null (GH-100006). - Fix avoidance dirty flag regression (GH-100105).
- Despaghettify NavigationServer path queries (GH-100129).
- Simplify
NavMeshQueries3D::simplify_path_segment(GH-100401). - Fix GridMap freeing edge connection debug mesh too early (GH-100406).
- Change navigation map synchronization to an async process (GH-100497).
- Simplify
NavMeshQueries3D::_query_task_build_path_corridor(GH-100549). - Fix early navigtion path return (GH-100587).
- Improve NavigationObstacle2D debug visuals and performance (GH-100708).
- Patch navigation map async synchronization (GH-100823).
- Make nodes handle their respective navigation source geometry (GH-100882).
- Add NavigationLink debug direction indicator (GH-101010).
- Make NavMeshQueries use NavRegionIteration polygons directly (GH-101037).
- Fix wrong condition in
NavMeshQueries3D::_query_task_build_path_corridor(GH-101223). - Improve
NavigationLink3DGizmoPlugin::redrawperformance (GH-101424). - Add functions to get axis-aligned bounds of navigation regions (GH-101505).
- Fix NavigationObstacle3D debug clear regression (GH-101728).
- Fix wrong distance calculation in
NavMeshQueries3D::_query_task_build_path_corridor(GH-101968). - Fix NavBase properties not requesting sync (GH-102754).
Network
- WebSocket: Add optional heartbeat via "ping" control frames (GH-91707).
- String: Parse fragment from URL (GH-92237).
- Add method for getting packet flags from ENetPacketPeer (GH-95216).
- mbedTLS: Fix incorrect cert pinning with
client_unsafe(GH-96172). - mbedTLS: Enable TLS 1.3 support (GH-96394).
- Fix division by zero in network profiler (GH-96464).
- Add a macro on
NetSocketPosixto pick the right type forFIONREADlenparameter (GH-97098). - Add unit tests for TCPServer (GH-97262).
- Add unit tests for UDPServer (GH-97311).
- Add half precision floating point support to
StreamPeerandFileAccess(GH-97716). - WS: Detect disconnection due to protocol errors (GH-97913).
- WS: Implement wslay unbuffered message parsing (GH-98343).
- Web: Disable UNIX sockets (GH-98954).
- Net: Split Unix/Windows NetSocket implementation (GH-98969).
- mbedTLS: Keep reading/writing partial until "would block" (GH-98995).
- Net: Split Unix/Windows IP implementation (GH-99026).
- Net: Properly rename NetSocketPosix to NetSocketUnix (GH-99167).
- UPNP: Allow disabling UPNP implementation on the Web (GH-99597).
- Net: Fix TCP/UDP server network tests (GH-100107).
- WS: Fix wslay multi-frame message parsing (GH-100631).
- WS: Fix peer stuck in CLOSING state (GH-101760).
- WS: Fix wslay multi-frame message parsing (again) (GH-102128).
- TLS: Disable TLSv1.3 support by default (GH-102774).
- mbedtls: Don't set TLS max version on Mbed TLS < 3.0 (GH-102964).
- mbedTLS: Integrate TLS handshake defragmentation PR (GH-103247).
Particles
- Add cone angle control to particle emission ring shape (GH-91973).
- Implement particle seek request and seed options (GH-92089).
- Fix GPUParticles Inherit Velocity breaking with physics movement (GH-93837).
- Unify particle editors (GH-94371).
- GPU/CPU particle parameter list consistency changes (GH-95132).
- Add "At Start" mode for sub-emitter particles (GH-100050).
- Add visualization of 3D particle emission shapes (GH-100113).
- Move texture property back to the top level of the Particles inspector (GH-100227).
- Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes (GH-100378).
- Add UndoRedo support to Load Emission Mask/Points (GH-100571).
- Preserve emission ring shape properties during conversion from GPUParticles3D to CPUParticles3D and vice versa (GH-101012).
- Fix inverted
GPUParticlesCollisionHeightField3Din compatibility renderer (GH-101159). - Fix ParticleProcessMaterial not using same offsets for emission textures (GH-101162).
- Fix regression from already disconnected emission shape changed signal (GH-101537).
- Fix GPUParticles3D emitting
finishedsignal on ready (GH-101596). - Fix
emission_shape_changedsignal error when using ShaderMaterial with GPUParticles3D (GH-101617). - Fix GPUParticles2D not randomizing seed when
set_one_shotis called (GH-101688). - Fix cpuparticles randomness regression (GH-101872).
- Add Heightfield mask to GPUParticlesCollisionHeightField3D (GH-101947).
- Fix framebuffer clear for particle collider heightfield (GH-102133).
- Fix crash when assigning wrong shader to particle process material (GH-102280).
- Fix seed not randomizing for particles. Fix seed being stored when fixed seed is off (GH-102405).
- Fix particle not re-randomizing every emission (GH-103068).
Physics
- Fix debug line drawing with tiny convex hull mesh colliders (GH-69197).
- Fix
SoftBody3Dpinned points breaking when reloading scene (GH-86310). - Physics interpolation:
MultiMesh(GH-91818). - Physics interpolation (3D) (GH-92391).
- Account for physics interpolation and transform snapping when Y-sorting (GH-93025).
- Expose contact point and contact normal on VehicleWheel3D to scripting (GH-93900).
- Fix
SoftBody3Dpinned points interaction (GH-94684). - Add units to VehicleWheel3D suspension stiffness and damping (GH-94862).
- Move Godot Physics 3D into a module; add dummy 3D physics server (GH-95252).
- Move Godot Physics 2D into a module; add dummy 2D physics server (GH-95261).
- Expose
ShapeCast{2D,3D}::get_collision_result(GH-95374). - Use collision detection ray to reposition an object already in the scene (GH-96740).
- Add forgotten
get_space()check inGodotArea3D::remove_soft_body_from_query()(GH-97130). - Add unit tests for PhysicsMaterial (GH-97227).
- Fix physics platform behavior regression (GH-97315).
- GodotPhysics: Fix raycasts don't reliably collide with HeightMapShape3D (GH-97471).
- Add collision priority property to TileSet physics layers (GH-98773).
- Allow
apply_floor_snapto preserve the horizontal position regardless ofstop_on_slopes(GH-99397). - Add Jolt Physics as an alternative 3D physics engine (GH-99895).
- Fix
GodotSpace3D::test_body_motion()not settinglocal_shape(GH-99901). - Fix
CollisionShape{2D,3D}.debug_colorinconsistencies (GH-100093). - Add basic editor editing for
ConvexPolygonShape2DandConcavePolygonShape2D(GH-100183). - Jolt: Fix multiple definition LTO linking issue with mingw-gcc (GH-100331).
- Make
RIDallocation thread-safe when using Jolt Physics (GH-100342). - Update damping values for jolt rigid bodies on mode switch at runtime (GH-100473).
- Jolt: Update to commit f094082aa, adding RISC-V, PPC64 and LoongArch support (GH-100561).
- Improve performance with many static/sleeping bodies when using Jolt Physics (GH-100983).
- Prevent errors when drawing debug meshes with no mesh data (GH-101014).
- Improve performance of certain physics queries when using Jolt Physics (GH-101071).
- Improve performance of changing compound shapes when using Jolt Physics (GH-101189).
- Fix debug contact count not being initialized when using Jolt Physics (GH-101231).
- Cache value of Jolt Physics project setting
bounce_velocity_threshold(GH-101237). - Fix kinematic bodies not synchronizing state when using Jolt Physics (GH-101803).
- Add debug colors and fills to CollisionPolygon3D (GH-101810).
- Refactor post-step operations in Jolt module to be done as needed (GH-101815).
- Update Jolt Physics
BoxShapeto allow for zero-sized boxes (GH-101940). - Override mass properties for
Area3Dwhen using Jolt Physics (GH-102029). - [Jolt Physics] Fix ghost collision issue on dense triangle meshes (GH-102614).
- Skip
Object::to_stringwhen Jolt Physics is on separate thread (GH-102726).
Plugin
- Export
EditorInspector::instantiate_property_editorfor use by plugins (GH-87375). - Editor: Fix handle ID being passed for 3D Gizmo plugins (GH-89607).
- Fix addon requires editor restart to become functional (GH-92667).
- Pass current value to
EditorInterfacenode/property popups (GH-94323). - Add support for custom items to editor right-click context menus (GH-94582).
- Fix autoload node cannot be accessed by plugin on start-up (GH-94802).
- Add EditorContextMenuPluginManager and refactor menu plugins (GH-96539).
- Add submenu support to EditorContextMenuPlugin (GH-97292).
- Remove the restriction on supported types for Godot Android plugins (GH-97500).
- Make the "Quick Open" dialog available via
EditorInterface(GH-97633). - Fix
CONTAINER_PROJECT_SETTING_TAB_RIGHToption ofEditorPlugin(GH-98210). - Make the method selector dialog available via
EditorInterface(GH-98859). - Cleanup EditorInterface selectors' code (GH-99062).
- Add more menus support to EditorContextMenuPlugin (GH-100556).
Porting
- Windows: Use
GetFileTimeforFileAccess(GH-74830). - OS: Add functions to determine standard I/O device type (GH-91201).
- Apply
WS_MINIMIZEstyle on window creation (GH-91487). - Improve UX when falling back between Display Servers (GH-91780).
- Windows: Always use absolute UNC paths and long path aware APIs, add "long path aware" flag to the application manifest (GH-91902).
- macOS: Change the shortcut for Align Transform with View (GH-94026).
- Add support for non-blocking IO mode to
OS.execute_with_pipe(GH-94434). - Android memory cleanup and optimizations (GH-94799).
- Combine existing modes when calling SetConsoleMode (GH-94839).
- Windows: Improve video driver error messages (GH-94971).
- Update the Android
fileLastModifiedmethod to return values in seconds instead of milliseconds (GH-95586). - [Android Editor] Add support for launching the Play window in PiP mode (GH-95700).
- Enable fallback from ANGLE to native and improve ANGLE error messages (GH-95934).
- Wayland: Use
wayland-egl-core.hinstead ofwayland-egl.h(GH-96010). - NoiseTexture2D/3D: Don't use a thread to regenerate when the build doesn't support threads (GH-96099).
- macOS: Change breakpoint shortcuts to avoid conflicts (GH-96179).
- Android: Fix
JavaClassWrapperso it actually works (GH-96182). - Linux: Fix "all files" filter in the native file dialog (GH-96203).
- Linux: Make file filters case insensitive (GH-96204).
- Restore fullscreen toggle menu for the Android editor and clean up the immersive mode logic (GH-96208).
- Windows: Fix
OS.open_dynamic_library(GH-96235). - Windows: Fix handling
X:paths (GH-96283). - Add
JavaScriptBridgebuffer methods (GH-96286). - Unix: Don't create world-writable files when safe save is enabled (GH-96399).
- Windows: Use the same API for all
OS_Windows::*_environmentfunctions (GH-96526). - Fix renaming directory symlinks on Linux (GH-96639).
- Wayland: Make primary selection logic consistent with main clipboard (GH-96714).
- Windows: Only use long executable path when necessary, fix broken apksigner detection (GH-96777).
- Wayland: Clear button mask on pointer leave (GH-96811).
- Windows: Remove
_wstatuse inFileAccessWindows::open_internal(GH-96840). - macOS: Fix dynamic library lookup for system libraries (GH-96970).
- Wayland: Simplify cursor code and fix custom cursors (GH-96973).
- Remove debug print from Android
DisplayServer.screen_get_scaleimplementation (GH-97063). - Remove verbose prints from CameraServer on Linux due to being printed every second (GH-97469).
- Wayland: Unsuspend only for the same reason as suspension (GH-97480).
- Fix error message on startup when camera is busy (GH-97589).
- Fix web export infinite reload issue (GH-97645).
- macOS: Fix menu crash when used from opened native dialog (GH-97678).
- [Linux/BSD] Fix cross-device rename (GH-97719).
- DisplayServer: Implement
has_hardware_keyboardmethod for Android and iOS (GH-97743). - Web: Fix PWA callback assignment causing crash in sandboxed iframes (GH-98069).
- Fix wrong Wayland path if building with opengl3=no (GH-98127).
- Android: Implement native file picker support (GH-98350).
- Add temp utilities (alias
OS::get_temp_dir(),FileAccess::create_temp(), andDirAccess::create_temp()) (GH-98397). - Fix GodotFetch glue code for null response bodies (GH-98431).
- Android: Implement native input dialog support (GH-98574).
- Remove button number limit from Windows
dialog_show()implementation (GH-98582). - Android: Add various media permissions (GH-98604).
- Windows: Fix restoring fullscreen window (GH-98631).
- macOS: Handle bundles as files in the embedded file dialogs (GH-98812).
- Android: Fix immersive mode issue (GH-98917).
- Raise the number of file handles on Windows (GH-98921).
- Warn on filesystem case mismatch (GH-98927).
- Web: Fix issue where focus timer would throw continuously (GH-98931).
- Web: Remove warnings when setting vsync mode and screen keep on (GH-98934).
- Metal: Use
afterMinimumDurationto correct frame pacing (GH-99041). - Windows: Avoid child processes inheriting all file handles (GH-99107).
- Implement
get_model_nameon macOS and Windows (GH-99112). - Support MIME types in file dialog filters on macOS and Linux (GH-99350).
- Implement
DisplayServer.beep(GH-99371). - Wayland: Only set selection when there is not already a source (GH-99372).
- Implement extension support for native file dialog on Android (GH-99385).
- Disable Nahimic code injection (GH-99388).
- Additional fixes and improvements to JavaClassWrapper (GH-99492).
- Windows: Fix TTS events arriving out of order (GH-99525).
- Change file dialog all files filter name from
All Files (*)toAll Files (*.*)(GH-99644). - Windows: Fix root and current folder in native file dialog (GH-99652).
- Fix root window size bug on
Android(GH-99669). - Android:
OS.create_instance()should return-1on failure (GH-99694). - Windows: Improve frame pacing by busy waiting as needed (GH-99833).
- Add missing getter for sharp window corners (GH-99879).
- Web: Implement dummy IP and NetSocket (GH-99963).
- Wayland: Add support for xdg-foreign-unstable-v2 (GH-99965).
- Fix Inspector tooltips blinking on Windows (GH-99988).
- Web: Fix
DirAccess::unlink()not updating the IDBFS (GH-100221). - macOS: Print full source paths in the trace (GH-100266).
- Windows: Fix loading debug symbol files over 2GB (GH-100281).
- Add
OS.get_version_alias()to return a human-readable Windows/macOS version number (GH-100372). - Add support for thread naming on windows platform (GH-100400).
- Implement
window_start_dragon Windows and Linux (GH-100464). - Fix (some of the) 3.1.73 emscripten Closure compiler issues (GH-100482).
- Implement
DisplayServer.window_start_resize(GH-100532). - Camera: Skip non platform-specifc
CameraFeedtypes in Linux/macOS driver (GH-100540). - Add option to disable
Swipe to Dismissfor Wear OS (GH-100601). - Fix exclusive fullscreen on Wayland (GH-100898).
- Windows: Implement native menu close callback (GH-100987).
- Windows: Fix StatusIndicator crash with empty tooltip (and few other similar unsafe
ptr()uses) (GH-101015). - Fix
create_instancein Android GodotApp so non-editor apps can restart (GH-101050). - Fix embedding failing intermittently (GH-101135).
- Use
GetFileAttributesWfor checking file existence on Windows (GH-101431). - DisplayServer: Add missing
FEATURE_WINDOW_DRAGflag to Windows, X11 and Wayland display servers (GH-101538). - Fix Wayland
window_can_set_modeExclusiveFullScreen (GH-101566). - Windows: Make native dialogs non-cancelable and stay on top of parent (GH-101697).
- Wayland: Check selection devices before using them (GH-101779).
- [FreeDesktop portal] Check for
FileChooserandSettingsinterface availability instead of assuming it's always available (GH-101812). - Wayland: Release pressed events on application focus out (GH-101819).
- Wayland: Check custom cursor resource reference for cache invalidation (GH-101987).
- Windows: Normalize slashes in return of
OS.get_temp_dir()(GH-102067). - Windows: Remove unused code from
godot_windows.cpp(GH-102134). - Fix Floating Window not visible after restore on KDE (GH-102311).
- Implement
get_length()for pipes (GH-102365). - Add
XK_KP_{Decimal,Enter}toKeyMappingX11::is_sym_numpad()(GH-102448). - Add support for embedding game process in the Android Editor (GH-102492).
- JavaClassWrapper: Give additional error when trying to call non-static method directly on the class (GH-102494).
- Unix: Fix deleting symlinks (GH-102545).
- iOS: Sync the boot splash and the launch screen image scale modes (GH-102668).
- Revert finalizing
GodotHost#getCommandLine()public API (GH-102669). - Wayland: Fix engine stalls while waiting frames (GH-102674).
- Fix Game and editor freeze when clicking on the game's title bar (GH-102744).
- Windows: Read Wacom config to check if Windows Ink is disabled and auto switch to WinTab (GH-102801).
- Windows: Add missing opened file check (GH-102803).
- Windows: Fix missing argument in non-console logger call (GH-102827).
- JavaClassWrapper: Allow handling exceptions (rather than just crashing) (GH-102862).
- Window: Fix flashing subwindows (GH-102983).
- Fix Embedded Game startup location on Windows (GH-103021).
- Fix Embedded Game does not focus when mouse over on Windows (GH-103052).
- Android Editor: Fix expand button black bar issue (GH-103117).
- Android: Fix excessive
getRotationcalls (GH-103122).
Rendering
- Allow more flexible adjustments of VisualInstance3D Lightmap Scale (GH-75164).
- Implement vertex shading (GH-83360).
- Fix generated light probes placing too close to manual light probes (GH-83497).
- Implement per-light Specular property in DirectionalLight3D (GH-83917).
- Add
shadow_caster_maskto Light3D (GH-85338). - Faster exit from
_cull_canvas_itemif alpha is zero (GH-85359). - Expose RenderingServer methods to get rendering driver and method name (GH-85430).
- Implement LightmapGI shadowmasks (GH-85653).
- Fix volumetric fog artifacts when inside the fog (GH-86103).
- Fix Frustum Sky projection translation logic shearing (GH-86138).
- Tune TAA disocclusion scale to avoid rejecting all samples during motion (GH-86809).
- Add AgX tonemapper option to Environment (GH-87260).
- Reduce shader permutations in the compatibility backend (GH-87558).
- Add Metal support for macOS (arm64) and iOS (GH-88199).
- Allow changing the anisotropic filter level at run-time per Viewport (GH-88313).
- Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh (GH-88349).
- Implement bicubic sampling for lightmaps (GH-89919).
- Ubershaders and pipeline pre-compilation (and dedicated transfer queues) (GH-90400).
- Add debug utilities for Vulkan (GH-90993).
- OpenXR: Add support for visibility mask (GH-91750).
- Disable all sources of ambient light when
ambient_light_disabledrender mode is used (GH-92213). - Use distance to AABB surface to calculate Mesh LOD instead of using supports (GH-92290).
- Implement custom function overloading in shading language (GH-92441).
- Add batching to
RendererCanvasRenderRD(GH-92797). - Fix incorrect Reinhard tonemap operator (GH-93324).
- Various fixes for transmittance effect (GH-93448).
- Fix BaseMaterial3D refracting objects located in front of the material (GH-93449).
- Apply "snap 2D transforms to pixel" to viewport (GH-93786).
- Check device texture size limits in
RenderingDevice::texture_create(GH-93819). - Add ability to include built-in include files (GH-94193).
- Optimize base and shadow meshes for vertex cache (GH-94241).
- Optimize
RenderForwardClustered::_setup_render_pass_uniform_setby reducing Vector allocations (GH-94368). - D3D12: Avoid validation warnings about zero-sized barrier groups (GH-94731).
- D3D12: Be explicit about all-resources texture barriers (GH-94733).
- Fix crash on powerVR GPUs when a cached shader wasn't loaded in properly (GH-94835).
- Avoid
const_castinmesh_storage.h(GH-94893). - Change some image error messages to output the file path (GH-94947).
- Optimize ANGLE on D3D11 to remove an extra blit (GH-94952).
- Report shader arrays sized after spec constants as zero-sized (GH-94985).
- Fix LightmapGI not taking environment sky rotation into account when baking (GH-95000).
- Add target fps editor setting to visual profiler (GH-95179).
- Fix for multimesh motion vector corruption (GH-95270).
- Consider visual layers for DirectionalLight (GH-95379).
- OpenGL: Unconditionally do
glDisable(GL_FRAMEBUFFER_SRGB)because we do our own sRGB conversion (GH-95433). - Use transformed roughness instead of raw roughness to calculate roughness fade in SSR (GH-95438).
- Fail when submit or sync called on main rendering device (GH-95450).
- Increase precision of skeleton transforms in the skeleton shader in the Compatibility renderer (GH-95452).
- Avoid indexing instances without a base in scene cull phase (GH-95503).
- Windows: Add Intel Gen7.5/Gen8/Gen9 GPUs to Angle blocklist (GH-95520).
- Fix undefined
alpha_scissorin standard shader (GH-95536). - Fix draw call count and object count for OverDraw display mode on Forward+ (GH-95640).
- Ensure
fog_sky_affectis used even when using a background color (GH-95659). - Add fixed fog to the sky in the Compatibility renderer (GH-95662).
- Fix
Parallax2Drepeats being not relative to its transform (GH-95666). - Fix Y-sorted root item having modulation applied twice (GH-95669).
- Fix double free in FSR2 destructor (GH-95682).
- Relax motion vector updates to allow skipped frames for skeletons (GH-95705).
- Improve error messages for invalid rendering drivers/methods on the command line (GH-95777).
- Antialias direct light samples in LightmapperRD (GH-95828).
- Fix GLES3 crash with Mesh surface with exactly 65536 vertices (GH-95838).
- Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct (GH-95888).
- LightmapGI: Fix shader data alignment after #89919 (GH-95917).
- Metal: Fix artifacts for mobile render method and disable multi-view (GH-95945).
- Fix shadow mesh recursion (GH-95961).
- Sky: Adapt radiance size if
AUTOMATIC_MODEresolves toREALTIME(GH-95990). - Disable extra memory tracking by default (GH-96044).
- Add
VK_EXT_astc_decode_modesupport (GH-96045). - Metal: Improve startup times by using concurrent shader compilation APIs (GH-96052).
- Expose
RenderingServer.canvas_item_attach_skeleton(GH-96056). - Metal: Minor improvements to shader cache (GH-96089).
- Compatibility: Fix crash when initializing certain compressed layered textures (GH-96113).
- LightmapGI: Pack L1 SH coefficients for directional lightmaps (GH-96114).
- Fix incorrect parameters for layered textures in VRAM texture memory profiler (GH-96128).
- Metal: Use correct operator to ensure specialization constants are sorted (GH-96209).
- Prevent Parallax2D autoscroll reset (GH-96245).
- Metal: Bind index buffer with offset (GH-96349).
- Metal: Enable for betsy and lightmapper modules in compatibility mode (GH-96351).
- Use non-linear mapping for ReflectionProbe mip levels to match sky (GH-96426).
- Fix alpha material's reverse cull order (GH-96431).
- Add Swappy & Pre-Transformed Swapchain (GH-96439).
- Compatibility: Enable MSAA support for all non-web platforms (GH-96455).
- Fix
SkyRD::Sky::free()freeing shared material (GH-96486). - Only use backbuffer mipmaps in
SCREEN_TEXTUREwhen generated (GH-96502). - Fix OpenGL shadow textures not honoring texture type when reusing textures (GH-96509).
- Add support for external camera feed from external plugin on Android (GH-96705).
- RenderingDevice: Fix uncapped mipmap sizes causing div-by-zero (GH-96758).
- Avoid calculating dynamic lights when lights are already baked using the static bake mode in the Forward+ renderer (GH-96771).
- Implement instance uniforms in Compatibility renderer (GH-96819).
- Metal: Fix out of bounds crash when using debug draw modes (GH-96822).
- Vulkan: Account for externally backed textures (GH-96860).
- Compatibility: Fix alignment of compressed textures when retrieving (GH-96863).
- Fix broken sky shader (GH-96912).
- Expose a function to create textures from a native handle in the compatibility renderer (GH-96928).
- Fix typo in RenderingServer docs (GH-96975).
- 2D: Fix use-after-free in batch rendering; regression of #95574 (GH-96977).
- Add external texture support (GLES3) (GH-96982).
- Fix Vulkan Instance initialized twice in ProjectDialog (GH-97006).
- Fix for GLES3 radiance cubemap update (GH-97069).
- Canvas renderer: Remove redundant assignment (GH-97089).
- Fix compatibility canvas background depth issue (GH-97131).
- Fallback to OpenGL 3 if other rendering drivers are not supported (GH-97142).
- Add "Inspect Native Shader Code" to shader inspector and shader editor (GH-97205).
- Metal: Fix subpixel blending; fix inconsistent blend state (GH-97217).
- Add draw indirect to Rendering Device (GH-97247).
- Calculate pixel snap in canvas space instead of world space (GH-97260).
- Fallback to OpenGL 3 if Vulkan isn't available on Wayland (GH-97268).
- Metal: Implement
texture_create_from_extension(GH-97304). - Metal: expose MTLDevice (GH-97309).
- Fix hash calculation for NTSliceKey (GH-97326).
- Clean up two recently introduced WebGL errors (GH-97379).
- Check RenderingDevice availability to display LightmapGI configuration warnings (GH-97416).
- Jitter shadow map dithering pattern across frames when TAA is enabled (GH-97428).
- Show GPU name when RenderingDevice is unsupported in the project creation dialog (GH-97490).
- Combine texture and instance data into one uniform set in the 2D renderer (GH-97554).
- Fix
region_filter_clip_enabledto avoid sprite bleeding for interpolated sprite sheets (GH-97602). - Improve the look of radiance map in Compatibility backend (GH-97676).
- Add caching to
DisplayServer::can_create_rendering_device()(GH-97698). - Properly utilize surface information when creating pipelines and vertex arrays in canvas renderer (GH-97792).
- Configure MSAA properly in canvas renderer's pipelines (GH-97811).
- Fix updating dynamic objects in LightmapGI (GH-97925).
- Rewrite semaphore handling for transfer workers (GH-98086).
- Fix Mobile Renderer - Shadow Disabled and User Vertex Lighting flags (GH-98187).
- Revert unintentional rounding change when 2D transform snapping (GH-98195).
- Fix unreachable code in
lightmap_gi.cpp(GH-98201). - Metal: Performance improvements and bug fixes (GH-98212).
- Fix incorrect depth comparison used to calculate volumetric fog shadowing (GH-98226).
- Fix to occlusion culling where all math is based on Euclidean distance (GH-98257).
- Add support for BGRA textures with Texture*RD (GH-98258).
- Fix light culling mask behavior in Mobile and Compat renderers (GH-98266).
- Move transitions of textures from transfer workers to the graphics queue (GH-98271).
- Remove "Using present mode" verbose prints in Vulkan and Direct3D 12 (GH-98279).
- LightmapGI: Clean up and improve lightmap atlas storage (GH-98289).
- Use a shared copy of placeholder textures, tweak placeholder appearance (GH-98294).
- Precompute projection matrices when rendering 2D shadows (GH-98307).
- Deprecate the pointless unsafe threading model for rendering (GH-98383).
- Improve synchronization of rendering after changes from transfer queues (GH-98388).
- Implement thread ownership change for RenderingDevice (GH-98391).
- Fix window exiting with no message to user if _create_window fails (GH-98405).
- Fix race conditions in breadcrumbs (GH-98425).
- ExternalTexture: Avoid error when destroyed without having been used (GH-98451).
- Fix
MultiMesherrors in editor and resource duplication (GH-98541). - Fix Occlusion Culling not working for an orthogonal camera (GH-98562).
- Fix transfer alignment on initial texture transfer (GH-98612).
- Fix soft shadows by increasing the bit count for specialization constants (GH-98614).
- Fix fallbacks to OpenGL (GH-98615).
- 2D: Fix various issues and minor performance optimizations (GH-98652).
- Automatically resolve initial and final action for draw lists (GH-98670).
- Ensure shadow material and mesh are not used with wireframe mode (GH-98683).
- Add dependency detection improvements to the render graph (GH-98701).
- Fix splash screen upside down on Android (GH-98709).
- Fix Occlusion Culling Buffer occasionally getting corrupted (GH-98758).
- Fix inability to set TextureLayeredRD as
TEXTURE_TYPE_CUBEorTEXTURE_TYPE_CUBE_ARRAY(GH-98767). - Fix occlusion culling for double builds by enforcing float conversion for Embree (GH-98770).
- Add
multimesh_get_buffer_rd_ridmethod toRenderingServer(GH-98788). - Metal: Multiview support (GH-98803).
- Add multiple specialization constants to Forward+ and Mobile (GH-98825).
- Mask out shadows on CanvasItems that don't have a matching
item_shadow_mask(GH-98835). - Vulkan: Account for the case
surface_capabilities.currentExtentis unset (GH-98852). - OpenXR: Add Metal support (GH-98872).
- Add vulkan error checks in command_queue_execute_and_present (GH-98883).
- Force
RDD::idto be alwaysuint64_t(GH-98910). - Move D3D12 fence
SetEventOnCompletioncall tofence_waitto avoid stalling on some platforms (GH-98975). - Prevent stack-use-after-scope in rendering_device_driver_metal.mm (GH-98983).
- Give the barrier pool its own mutex to avoid a deadlock with transfer workers (GH-99066).
- Improve graph's detection of intersection between draw lists (GH-99073).
- Improve performance of shader lighting code in Forward renderers (GH-99136).
- Fix max FPS initialization (GH-99149).
- Normalize normal, tangent, and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes (GH-99163).
- Fix regression in SSS with reverse-z (GH-99220).
- Implement 2D instance uniforms (GH-99230).
- Improvements from TheForge (GH-99257).
- Metal: Ensure position invariance is captured from SPIRV-Cross (GH-99261).
- Move
_scene_particles_set_view_axisto new static function to allow call to be done on render thread, preventing multi threaded error on compute shader execution (GH-99299). - Fix updating lightmap captures on Mobile (GH-99367).
- Use direct composition for d3d12 backend (GH-99387).
- Allow using custom
Rect2ifor rendering with OpenXR (GH-99407). - Fix: Error output is not require,
VK_QUEUE_TRANSFER_BITis optional (GH-99413). - Improve dependency detection in render graph for draw lists with partial coverage (GH-99426).
- Unify y-flip behavior for sky in RD backends (GH-99448).
- Add indirect draw functionality to
MultiMesh(GH-99455). - Do not check for command intersections when not using the write list (GH-99463).
- Add lightmap bake canceling (GH-99483).
- Optimize mesh generation by preventing unneeded shape recalculations (GH-99498).
- Add transparency support for LightmapGI (GH-99538).
- Add VoxelGI bake canceling and progress UI improvement (GH-99562).
- Metal: Add MetalFX upscaling support (GH-99603).
- Fix
gl_compatibilitylightmap uniforms not being set (GH-99606). - Restore dirty list for BaseMaterial3D but don't use it on resource loader (GH-99716).
- Fix vsync on macOS getting disabled when using
afterMinimumDuration(GH-99720). - Fix incorrect clear color flag on canvas renderer (GH-99773).
- Fix another incorrect clear color flag on texture storage (GH-99788).
- Fix ReflectionProbe AABB (GH-99802).
- Metal: Add support for 2017 era iOS devices (GH-99820).
- Metal: Ensure
texture_create_from_extensionreturns correct pixel format (GH-99905). - Fix Occlusion culling jitter (GH-99941).
- Editor: Fix default preview environment sky's horizon and brightness (GH-99957).
- Add Blend Distance property to ReflectionProbe (GH-99958).
- Optimize Occlusion culling jitter (GH-99974).
- Add specialization for directional light split blend and fog to mobile renderer (GH-99978).
- Optimize batch uniform set creation by caching ptrw when creating batch uniform (GH-99995).
- Increase the size of the uniform set cache to 4096 to avoid cache thrashing from projects with high numbers of unique textures (GH-100001).
- Use a vec4 instead of an array in canvas shader instance buffer (GH-100028).
- Add texture limits for D3D12 Driver (GH-100058).
- Fix occlusion culling buffer getting overwritten in larger scenes (GH-100060).
- Implement Buffer Device Address for Rendering Device Vulkan and DirectX12 (GH-100062).
- Correctly check time since shadow was allocated in atlas to avoid unnecessary re-allocations (GH-100064).
- Clear AABB when Mesh is cleared (GH-100065).
- Ensure schlick is available when using clearcoat with GGX (GH-100081).
- Implement
RD::buffer_get_data_async()andRD::texture_get_data_async()(GH-100110). - Fix a command buffer leak that occurs in D3D12 (GH-100151).
- Improve thread-safety of pipeline hash map (GH-100213).
- Fix incorrect return value on partial coverage detection (GH-100222).
- Fix wide
SpotLight3Dclustering (GH-100236). - Add priority-based blending to reflection probes (GH-100241).
- Keep processing Graphics if there are pending operations (GH-100257).
- Replace
textureSize()with a uniform in BaseMaterial3D for MSDF rendering (GH-100280). - Add renderer motion vectors API for use with OpenXR (GH-100282).
- Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes (GH-100302).
- Remove positional light mask from directional lights in Canvas Item shaders (GH-100305).
- Fix shadows of long range
OmniLight3DandSpotLight3D(GH-100319). - Fix several ubsan reported misaligned accesses (GH-100325).
- Small fixups for the new reflection probe blending (GH-100344).
- Fix ubsan reported errors in rendering (GH-100374).
- Fix canvas background mode not clearing correctly in Compatibility renderer (GH-100388).
- Convert resource usage to string (GH-100399).
- Fix crash in scenes with more than 8 shadowed directional lights (GH-100423).
- Separate sky luminance and brightness calculations for consistent fog (GH-100427).
- Scene Shaders - TBN Vector Fixes (GH-100441).
- Support custom sky rotation in SDFGI (GH-100544).
- LightmapGI: Fix crash during baking when sky is null (GH-100593).
- Avoid allocating instance buffer for PointLight2D shadows when there are no instances (GH-100612).
- MoltenVK hack is no longer required, as bug was fixed (GH-100653).
- Properly transform light rect and occluder rect to perform Light2D culling in canvas space (GH-100677).
- Fix shader compilation errors when using MSDF fonts with Label3D nodes (GH-100678).
- Add a supersampling option to LightmapGI (GH-100765).
- Metal: Fix crash when uniform set is empty for slot binding mode (GH-100766).
- Remove leftover debug print statement from
lightmapper_rd.cpp(GH-100774). - Compatibility: Avoid converting to compressed formats when retrieving image data (GH-100778).
- Compatibility: Fix ASTC HDR extension detection (GH-100822).
- Metal: Fix occasional use-after-free in Metal driver (GH-100851).
- Fix User-supplied Normals Being Ignored (GH-100859).
- Fix regression with shadows when light range is 0 or close (GH-100862).
- Fix lightmapper penumbra computation (GH-100929).
- Don't toast internal shader code (GH-100956).
- Add support for colored shadows in LightmapGI (GH-100961).
- Remove TODO from RenderingDevice regarding thread safety (GH-101069).
- Update Light2D
rect_cacheeven when not using shadows (GH-101110). - Ensure Sky with custom fov has correction matrix applied to it in RD renderers (GH-101112).
- Correct aspect ratio used in FSR2 calculations (GH-101193).
- Show MetalFX options in the Scaling 3D Mode enum on all platforms (GH-101198).
- Compatibility: Improve gl texture format detection (GH-101217).
- Renderer: Minor optimization when running
gl_compatibilitymode (GH-101298). - Fix duplicated spec constant on SPIR-V reflection (GH-101343).
- Fix union order to simplify empty initializers (GH-101344).
- Fix AgX tonemapping using old approach in Compatibility rendering method (GH-101365).
- Fix AgX sigmoid contrast curve approximation (GH-101406).
- OpenGL3 renderer supports transparent boot splash (GH-101510).
- Optimize AgX tonemapper's handling of negative values (GH-101515).
- Vulkan: Force disable broken
VK_LAYER_bandicam_helperlayer in editor (GH-101540). - Fix union order to simplify empty initializers (GH-101560).
- Change how device address is requested to avoid future API breakage (GH-101561).
- Metal: Enable GPU buffer address support (GH-101602).
- Ensure Voxelizer SDF generation uses the correct cell level (GH-101631).
- Shaders: Fix
source_colordefault value (GH-101642). - Avoid leaking ninepatch state to other draw commands in GLES backend (GH-101709).
- Bake UV2 emission using half float in the compatibility backend (GH-101730).
- Physics interpolation (3D): Fix warning spam (GH-101794).
- Fix a crash bug in
LightmapGI::_assign_lightmapstriggered after reparenting (GH-101853). - WebGL2: Fix 2D array textures with RGTC compression not rendering (GH-101909).
- CPUParticles2D: - Add ability to follow physics interpolated target (GH-101911).
- Fix shadow peter-panning with default spotlight (GH-101952).
- Vulkan: Fix performance regression introduced in buffer creation (GH-101972).
- 2D: Fix rendering artifacts when using
BackBufferCopy(GH-101998). - Avoid flipping normal based on facing direction when calculating SDF (GH-102105).
- Fix default SDFGI variant not being compiled in time (GH-102122).
- Mark pipeline compilation of ubershaders as high priority (GH-102125).
- 2D: Fix clip children and rendering artifacts (GH-102161).
- Fully enable HDR2D when the setting is changed (GH-102177).
- Ensure albedo texture size is available for Label3D and Sprite3D (GH-102208).
- Reduce mobile pipeline compilations (GH-102217).
- Spread direct lighting calculation for LightmapGI over several submissions (GH-102257).
- Track mesh dependencies in Dummy RenderingServer (GH-102261).
- Use a smaller epsilon for omni and spot attenuation cutoff (GH-102272).
- Implement Fallback to Vulkan for MoltenVK (GH-102341).
- Fix over saturated static colored lights (GH-102424).
- Fix erroneous logic when flushes are involved on RD async methods (GH-102454).
- Decrease default Max Rays per Pass setting to 4 to fix some lightmapping crashes (GH-102477).
- Add loop annotations to ubershaders to prevent loop unrolling (GH-102480).
- Fix rendering material when UV2 is compressed (GH-102497).
- Ensure instance uniforms are freed by updating dirty items before freeing (GH-102503).
- Lightmapper: Expose the JNLM denoiser region size in the project settings (GH-102579).
- Physics Interpolation - Auto-reset on
set_physics_interpolation_mode()(GH-102652). - 2D: Fix free of invalid ID (GH-102677).
- Fix broken skeletal animated meshes after #101561 (GH-102794).
- RenderingDevice: Fix certain RD to Image format conversions (GH-102805).
- Restore using VMA to create buffers and images (GH-102830).
- Fix debug CanvasItem redraw rects in RD renderer (GH-103017).
- Metal: Compile
MTLLibraryon demand when pipeline is created (GH-103185). - Shaders: Only convert default value to linear color if type hint is
source_color(GH-103201). - Windows: Offload
RenderingDevicecreation test to subprocess (GH-103245). texture_create_from_native_handle()should returnRIDfor texture fromRenderingServer, notRenderingDevice(GH-103296).- Metal: Fix SPIR-V → MSL compilation on iOS targets (GH-103337).
Shaders
- Fix visual shader inputs to follow alphabetical order (GH-83443).
- Add
model_normal_matrixfor fragment shader (GH-86000). - Make shader language editors inherit the same base class (GH-92576).
- Allow drag & drop Mesh to create MeshEmitter in visual shaders (GH-93017).
- Add derivative functions to sky shader mode in visual shader (GH-93399).
- Allow usage of
discardinside custom shader functions (GH-93590). - Allow using stage functions inside custom shader functions (GH-93650).
- Add basic support to evaluate operator value in shader language (GH-93822).
- Add a material preview to visual shader editor (GH-94215).
- GDShader: Add
hint_enumforuniform int(GH-94324). - Fix multiple ternary expressions to be used without parenthesis (GH-94352).
- Change
VisualShaderNodeVec4Constanttype to vec4 (GH-94616). - Fix texture samplers to not being last in the property list (GH-94785).
- Fix uniform subgroup in shader will carry out to next group (GH-94896).
- Allow
SCREEN_UVto be used in light function of spatial shader (GH-94981). - Add
CLIP_SPACE_FARbuilt-in to spatial shader (GH-95057). - Allow setting a cubemap as default parameter to shader (GH-95126).
- Fix
String::simplify_pathhandling of relative paths to parent dir (../), fixes relative shader includes (GH-95184). - Forbid function declaration with a const qualifier in shaders (GH-95274).
- Fix shader crash when the comma used in
forloop as a trailing (GH-95350). - Fix wrong name for Spatial shader mode in VisualShader resource inspector (GH-95464).
- Remove
missing a categorywarning in visual shader node (GH-95465). - Fix shader incorrectly expects
intonuintand vice-versa in cases (GH-95473). - Fix middle expression of
forloop to accept not only operators (GH-95547). - Fix shader uniforms has null as default value (GH-95626).
- Fix shader crash when using varyings with non-
flatinteger type (GH-95737). - Add a context menu for the shader editor file list (GH-95738).
- Add copy/paste options to preview material parameters in visual shader (GH-96618).
- Fix shader crash when using unary minus in expression (GH-96858).
- Use double comments in shader template light functions (GH-97024).
- Visual Shader: Add vector operations to Remap node (GH-97314).
- Keep existing
VectorComposeinput values when setting vector type (GH-97365). - VisualShader: Add LinearToSRGB and SRGBToLinear to ColorFunc node (GH-97388).
- Fix shader crash when return a void function call (GH-97481).
- Add
#errorpreprocessor directive to shading language (GH-98267). - Add alpha channel display to vec4 previews of visual shader nodes (GH-98303).
- Make
OUTPUT_IS_SRGB/CLIP_SPACE_FARshader built-ins global (GH-98448). - Add renderer state defines to shader preprocessor (GH-98549).
- Clarify in default texture repeat and filter docs that they only impact the built in texture (GH-98738).
- Add prefix to struct member names in shader compiler (GH-98755).
- Delete old function for parsing CG shaders (GH-98974).
- Add swap connection option to visual shader graph (GH-99177).
- Fix error emitting when reset a visual shader preview parameter (GH-99272).
- Add
samplerExternalOEStype to shader globals (GH-99622). - Fix orphan strings in shader preprocessor (GH-99704).
- Move uniform variables up in the
gles3/scene.glsltemplate so that they are available within the#GLOBALSscope (GH-100125). - Avoid error spam when shaders fail to compile by freeing shader_data version when compilation fails (GH-100128).
- [Shader Language] Add missing token name (GH-100289).
- Prevent using boolean varyings in vertex function of visual shaders (GH-100309).
- Fix space transformations in WorldPositionFromDepth visual shader node generation (GH-100350).
- Fix float constant descriptions not translating on macOS (GH-101592).
- Generate global code for
VisualShadernodes that connect toVaryingSetters(GH-101648). - Fix visual shader error when opening a Fresnel node preview (GH-101796).
- Fix
MASSproperty particle shader bug (GH-102143). - Fix mouse filter on visual shader node previews (GH-102278).
- Validate varying count when compiling shaders (GH-102792).
- Add custom minimum size for shader tabs (GH-102873).
- Fix crash at using increment op for varying in
lightshader function (GH-102892).
Tests
- Add unit tests for Node2D helper methods (GH-91654).
- Add unit tests for
HeightMapShape3D(GH-95123). - Add unit tests for
StyleBoxTexture(GH-95218). - Add unit tests for
String::parse_url()(GH-95590). - Add unit tests for
Parallax2D(GH-95650). - Add unit tests for
StreamPeerandStreamPeerBuffer(GH-95784). - Add unit tests for
PacketPeer(GH-95931). - Add more unit tests for String
insertandjoin(GH-96291). - Make
[Audio]tag consistent with other test environment tags (GH-96564). create_testscript: Improve argument description and snake_case name conversion (GH-96565).- Add Unit Test cases for
Sky(GH-97512). - Fix
InputEventKeytest failure under certain system languages (GH-98504). - Add tests for
Projection(GH-99125). - Add basic tests for Fontfile (GH-99131).
- Destroy EditorFilesystem/EditorSettings on test shutdown (GH-99847).
- Add unit tests for Sky (GH-99886).
- Fix
TCPServer"Should disconnect client" test (GH-99960). - Ensure that directory exists in create_test.py (GH-100867).
- Add some tests for
uid://encoding and decoding (GH-100970). - Add
Packed*Arrayto_byte_arrayvariant call tests (GH-102587).
Thirdparty
- ufbx: Update to 0.14.3 (GH-95831).
- clipper2: Update to 1.4.0 (GH-95964).
- thorvg: Update to 0.14.7 (GH-96167).
- thorvg: Update to 0.14.8, and backport upstream fix for Bezier precision regression (GH-96320).
- mbedTLS: Update to 3.6.1 (GH-96385).
- thorvg: Update to 0.14.9 (GH-96658).
- thorvg: Update to 0.14.10 (GH-97079).
- miniupnpc: Update to 2.2.8 (new major 18) (GH-97139).
- Update bcdec to latest version (GH-97611).
- Update HarfBuzz to 10.0.1 (GH-97677).
- Update ICU to 76.1 (GH-98496).
- Update meshoptimizer to 0.22 (GH-98529).
- Include full Apache-2.0 license in COPYRIGHT.txt (GH-98628).
- smol-v: update to 2024 to support SPIR-V 1.6 (GH-98771).
- certs: Sync with Mozilla bundle as of Oct 19, 2024 (GH-98855).
- Delete unused files of thirdparty libs (zlib, mbedtls) (GH-98920).
- Sync controller mappings DB with SDL2 community repo [Nov 2024] (GH-99304).
- libpng: Update to upstream 1.6.44 (GH-99996).
- mbedtls: Update to upstream 3.6.2 (GH-99997).
- tinyexr: Update to upstream 1.0.9 (GH-99998).
- ufbx: Update to upstream 0.15.0 (GH-99999).
- thorvg: Update to 0.15.5 (GH-100008).
- libbacktrace: Update to upstream commit 1db85642e (GH-100274).
- Regenerate X11 wrappers with dynload-wrapper 0.7 (GH-100315).
- libpng: Update to 1.6.45 (GH-101346).
- thorvg: Update to 0.15.8 (GH-101347).
- manifold: Update to 3.0.1 (GH-101351).
- etcpak: Sync with upstream 2.0 (GH-101362).
- harfbuzz: Update to 10.1.0 (GH-101366).
- msdfgen: Update to 1.12 (GH-101367).
- Update texture import library info in COPYRIGHT.txt (GH-101388).
- Harmonize patches to document downstream changes (GH-102242).
- Betsy: Consolidate documentation in module folder and cleanup SCsub (GH-102264).
- thorvg: Update to 0.15.10 (GH-102851).
- Fix MinGW crash handler crashing during trace generation or producing empty trace (GH-102900).
XR
- Add Linux camera support (GH-53666).
- Change hand tracking project settings and finetune
show_when_tracked(GH-95153). - Add support for the debug utils extension in OpenXR (GH-95156).
- Update OpenXR thirdparty library to 1.1.38 (GH-95227).
- OpenXR: Fix support for building against distro package (GH-95658).
- OpenXR: Check correct status bit for hand tracking (GH-95929).
- Fix crash when calling
OpenXRAPI::get_hand_tracker()and hand-tracking is disabled (GH-95959). - Fix invalid
Skeleton3Dbone pose updates (GH-96093). - OpenXR: Support composition layers based on Android surfaces (GH-96185).
- Fix Android builds when OpenXR is disabled (GH-96365).
- Warn if XRHandModifier3D used with OpenXR and hand-tracking disabled (GH-96587).
- [Android editor] Improve support for XR projects (GH-96624).
- Disable some android editor settings by default on XR devices (GH-96697).
- [Android editor] Limit when OpenXR runtime permissions are requested (GH-96742).
- Fix launching XR apps from the Android editor (GH-96868).
- OpenXR: Add support for binding modifiers (GH-97140).
- OpenXR: Allow extending Android surface swapchain creation from GDExtension (GH-97252).
- OpenXR: Correctly set the Depth swapchain name (GH-97259).
- Cleanup of action map dialogs (GH-97392).
- Add missing
#ifndef _3D_DISABLEDto main file (GH-97442). - [XR Editor] Update the set of excluded permissions (GH-97477).
- Update thirdparty OpenXR to 1.1.41 (GH-97524).
- Expose CameraFeed setters (GH-97534).
- Add
activate_feedanddeactivate_feedvirtual bind to CameraFeed (GH-97571). - OpenXR: Add support for Wayland on Linux (GH-97771).
- OpenXR: change bindings to 'flatten' source paths (GH-98163).
- Fix bug with OpenXR composition layers added after OpenXR is running (GH-98471).
- Fix OpenXR module failing to build on Linux when Wayland is disabled (GH-98589).
- Patch the OpenXR headers to get EGL from GLAD if we're using it (GH-98824).
- Allow locking the camera to the
XROrigin3Dfor benchmarking or automated testing (GH-99145). - OpenXR: Fix pose recenter signal to be omitted properly (GH-99159).
- OpenXR: Fix crash with composition layers in non-dev builds (GH-100471).
- OpenXR: Make sure wedge on DPad modifier is expressed in degrees (GH-100633).
- OpenXR: Fix hiding/showing composition layers using hole punching (GH-100763).
- [XR Editor] Allow specifying whether to play the current scene or a specific scene in XR or regular mode (GH-101116).
- Update
OpenXRAPImemory management (GH-101294). - Add PICO OS Immersive Mode (GH-101387).
- Clean up the XR editor logic (GH-101645).
- Fix
OpenXRAPIExtensioncasting build issue (GH-102384). - Bump the version of the openxr vendors plugin dependency (GH-102772).
- OpenXR: Emulated alpha blend mode should override the real blend mode (GH-103338).
- Inform that Android sensors must be enabled for MobileVR support (GH-103370).