Skip to content

Latest commit

 

History

History
2953 lines (2887 loc) · 335 KB

CHANGELOG.md

File metadata and controls

2953 lines (2887 loc) · 335 KB

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 - 2025-03-03

Table of contents:

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/3D set_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 Polygon2D UV editor (GH-95259).
  • Fix polygon drawing for transposed tiles in TileSet editor (GH-95337).
  • Make Polygon2D::bones property internal (GH-95376).
  • Tweak missing tile source message in the TileSet editor (GH-95440).
  • Enable SpriteFramesEditor to "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" TileMapLayer action when drag/drop areas overlap (GH-96844).
  • Fix immediate mesh modifications that don't call set_mesh (GH-97770).
  • Restore arc_tolerance value when using Clipper2's InflatePaths (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 with DEBUG_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 inside NOTIFICATION_READY for Camera2D node (GH-99664).
  • Ensure primitive meshes are created before connected to changed signal (GH-99740).
  • Disable Clear Guides menu item when no guides exist (GH-99742).
  • Show "transparent background" texture only behind actual texture in TexturePreview class + 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 Parallax2D grid 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 Camera2D limits 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 closed property to Curve3D (GH-86195).
  • Fix CSGShape3D's _mesh_changed to be thread safe (GH-86538).
  • Fix CSGShape3D debug 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_aspect setting (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_local for bones_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_DISABLED check 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() when depth == zfar (GH-98489).
  • Fix normals of very large SphereMesh and CapsuleMesh (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 Decal or Light3D nodes (GH-100632).
  • Follow-up of ArrayMesh::surface_remove addition (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.h to 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_pointer for animating custom properties (GH-94165).
  • Add advance_on_start option to NodeAnimation to handle advance(0) for each NodeAnimation (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 AnimationPlayer crash when it's made the scene root (GH-94945).
  • Fix Skeleton2D.{_set|_get} always returning true (GH-95124).
  • Fix drawing leaf Bone2D in Polygon2D UV editor (GH-95258).
  • Avoid [] for external_animation_library import option (GH-95505).
  • Fix errors about UndoRedo history 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 modf function 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 _process virtual function (GH-97020).
  • Fix animation BezierEditor uses 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_modes is 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 Dictionary keys (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 LocalVector for 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_subtween method for nesting tweens within each other (GH-98660).
  • Fix capture_cache.animation was 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_elapse option to AnimationNodeTimeSeek to handle some processes (GH-99348).
  • Fix issues with animation markers drawing (GH-99363).
  • Add root_motion_local option 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_vector scale to handle safe_margin correctly in LookAtModifier (GH-99613).
  • Make flipping flag consider influence in LookAtModifier3D (GH-99619).
  • Fix orphan strings in AnimationNodeStateMachine (GH-99934).
  • Make backward be parameter of the AnimationTree in the AnimationNodeAnimation (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 AnimationNodeExtension extend AnimationNode instead of AnimationRootNode (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)Timer time scale methods (GH-100752).
  • Make transform elements BitField in RetargetModifier (GH-100811).
  • Move enum BoneAxis to SkeletonModifier from LookAtModifier (GH-101148).
  • Fix LookAtModifier3D rest 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_ENABLED block to RetargetModifier3D (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_radius property (GH-101525).
  • Add validation for rotation axis to SpringBoneSimulator3D (GH-101571).
  • Fix glitch in SpringBoneSimulator3D by 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_radius from 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/AudioStreamPlayer2D crash (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_playing and remove AudioStreamPlayer::{2D,3D}::_is_active (GH-95375).
  • Add stop_callable to AudioStreamPlayerInternal (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_scale value 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.c and 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 AudioStreamMicrophone crash 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 when AudioStreamPlayer's stop() 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_wav adding extra '.wav' to file if existing ext is not lower case (GH-98717).
  • Fix fade_beats defined as int in audio_stream_interactive.h (GH-99186).
  • Document AudioStreamPlayer.get_playback_position() intentionally always returning 0.0 when using AudioStreamInteractive (GH-99200).
  • Add volume_linear property 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_position returning 0 right after calling seek (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() for AudioStream::_has_loop() and ::_get_bar_beats() (GH-100126).
  • Web: Restore ScriptProcessorNode audio driver fallback (GH-100245).
  • Add AudioStreamMP3 load_from_file/load_from_buffer and harmonize other audio streams (GH-100307).
  • Fix default AudioBusLayout not 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 AudioStreamInteractive to allow initial_clip to 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_jobs as 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-format pre-commit hook to latest version (GH-93313).
  • Style: Apply clang-tidy fixes (GH-93401).
  • SCons: Improve colored output (GH-93479).
  • Style: Format .yaml/.yml files (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 far identifier (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-template Clang warning in SafeBinaryMutex (GH-96108).
  • SCons: Pass /Zc:__cplusplus in MSVC builds (GH-96244).
  • Android: Check if keyStore path is empty (GH-96254).
  • zstd: Make sure huf_decompress is only applied to 64-bit x86 (GH-96303).
  • mingw: Only use ar --thin on supported versions (GH-96373).
  • Remove ARFLAGS hack for Windows, replace with TEMPFILE (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 Ref nullptr comparisons (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=auto prefer ThinLTO over full LTO for LLVM targets (GH-96785).
  • SCons: Fix clang-cl link/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 AR with TEMPFILE on Windows (GH-97188).
  • Style: Update ruff & mypy to 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-format pre-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.h header (GH-97510).
  • Use dedicated print_error method for colored output for unsupported drivers (GH-97552).
  • Build System: Extract validate_arch helper 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: C11C17 (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 MinGW support & checks (GH-98105).
  • SCons: Improve cache purging logic (GH-98154).
  • Don't include core/io/image.h in core/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 CODEOWNERS corrections (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 production build 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_name function 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 Ref and HashSet to godot.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_FriendlyName to avoid duplicate symbols with newer MinGW SDKs (GH-99036).
  • Windows: Expand godot.natvis type 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 & mypy pre-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_progress issues (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 swappy option to android and slightly refactor detect.py (GH-99351).
  • SCons: Pass ninja_file variable 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-4 for 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.glsl path 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 colorize flag (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 .clangd config (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/yaml adjustments (GH-100908).
  • CI: Fix GHA bug by defining a single concurrency (GH-100912).
  • SCons: Properly NoCache all text files (GH-101008).
  • Style: Unify .editorconfig logic (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/error when 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.app package (GH-101989).
  • Add missing cstdint includes for GCC 15 (GH-102022).
  • Change VariantUtility to prevent undef print_verbose (GH-102062).
  • Update CI ruff & mypy pre-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_wrap disabled (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 to GetProcAddress calls (GH-103354).
  • CI: Run apt install before 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_list get wrong order of properties (GH-93779).
  • Fix GD0107 not applying to arrays and dictionaries containing nodes (GH-94599).
  • Change the VisualShaderNodeCustom template to use the correct override types and signatures (GH-94693).
  • Fix Vector3 Slerp normalization 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 NotNullWhenAttribute to IsInstanceValid (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_t and char32_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 Variant to Signal / 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 instantiate where 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 nullptr checks with Ref (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 -> coord for consistency (GH-97487).
  • Set clang-format RemoveSemicolon rule to true (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_id member (GH-99071).
  • Style: Update pyproject.toml syntax (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-format arguments 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 InsertBraces config (GH-101355).
  • Typo fix: rename SortableVisbilityMode (GH-101780).

Core

  • Always add decimal when converting float to string (GH-47502).
  • Add Object support for String.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 MissingResource properties 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.h to contain proper case matchings (GH-90726).
  • Add Engine.print_to_stdout setting 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_ref from ResourceCache (GH-92530).
  • Optimize String::replace methods (GH-92546).
  • Optimize some String methods (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_warnings methods (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 Object booleanization (GH-93885).
  • Remove unused method _is_gpl_reversed() (GH-94068).
  • Batch of fixes for WorkerThreadPool and ResourceLoader (GH-94169).
  • Improve CowData::insert performance (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 ConditionVariable in ResourceLoader (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_stdout is enabled (GH-94920).
  • Mark underscored properties as internal (GH-94954).
  • Assign return value on Variant operator failure (GH-95166).
  • RegEx: Add show_error parameter to control error printing on compilation fail (GH-95212).
  • Improve ClassDB::_is_parent_class performance (GH-95292).
  • Fix Projection::invert for orthographic projection (GH-95303).
  • Add callable support for find and rfind Array methods (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_floats behavior when spaces are used as separators (GH-95613).
  • Fix drag&drop between window on Windows (GH-95665).
  • Simplify Rect2/AABB get_support function (GH-95790).
  • Expand std::initializer_list support in container templates (GH-95920).
  • Add String.is_valid_unicode_identifier() (GH-95984).
  • Use MutexLock in 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_error after calling callp() (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 --test flag 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_Owner lock-free for fetching (GH-97465).
  • Add missing HashMapComparatorDefault cases (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_rich BBCode 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 in operator for Arrays and Dictionaries (GH-98363).
  • Rationalize busy waits (GH-98385).
  • Update char_range.inc to Unicode 16 (GH-98395).
  • DirAccessPack: Fix file_exists and dir_exists in exported projects (GH-98483).
  • Fix RID_Owner synchronization (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 SceneStringName in more places (GH-98763).
  • Remove unnecessary _3D_DISABLED checks in Performance (GH-98946).
  • Fix a few more super calls in get_configuration_warnings methods (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_char instead of (r)find for 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() to 1 if single threaded (GH-99416).
  • ResourceLoader: Report appropriate error code when no suitable loader is found (GH-99494).
  • Do not generate *.uid files for JSON, certificates, and translations (GH-99540).
  • Convert line breaks to \n and strip line break from the end of string returned by OS::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 Environment project setting and loading (GH-99739).
  • Add std::initializer_list constructor for Dictionary (GH-99751).
  • Fix JSON.{from,to}_native() issues (GH-99765).
  • Optimize StringBuilder by using LocalVector instead of Vector (GH-99775).
  • String: Don't repeat calls to strlen in split, and make splitter_length const in get_slice (GH-99777).
  • Move StringName != operator to the header file to make it inlineable (GH-99815).
  • Optimize String::copy_from and String::copy_from_unchecked implementations, improving String allocation speed (GH-99816).
  • Use strlen() 3 times instead of custom length check implementations in ustring (GH-99817).
  • Ensure parse_utf8 has 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_error on file read/write errors (GH-99919).
  • Optimize String::is_valid_filename() and String::validate_filename() (GH-100015).
  • Optimize _camelcase_to_underscore (and thus String.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 strlen at 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, and Vector (GH-100239).
  • Optimize String.count and String.countn by avoiding repeated reallocations (GH-100294).
  • Optimize StringBuilder.as_string by constructing the string in-place and skipping unnecessary checks (GH-100295).
  • Improve ResourceUID::id_to_text performance (GH-100335).
  • Fix deadlock possibility in threaded load of materials (GH-100363).
  • Optimize SWAP macro by using move semantics (GH-100367).
  • Fix UBSAN reports (GH-100386).
  • Add move assignment and move constructor to Variant (GH-100426).
  • Rename String::copy_from functions to their respective encodings (parse_latin1, parse_wstring, parse_utf32) (GH-100434).
  • Abstract CowData's reallocations into _realloc to consolidate duplicate logic (GH-100474).
  • Optimize CowData and LocalVector functions .insert and .remove_at by using move semantics (GH-100477).
  • Add move semantics (constructor, assignment) to StringName (GH-100483).
  • Add LocalVector move 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() and srgb_to_linear() (GH-100659).
  • Make LocalVector -> Vector automatic conversion safe for non-trivial types (GH-100683).
  • Destruct CowData more 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::Type in destructor (GH-100795).
  • Add Color.from_rgba8 and 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 for std::hardware_destructive_interference_size (GH-101004).
  • Add static assert checks in Variant constructors (GH-101016).
  • Optimize _count by replacing a full copy with a CoW copy for the full-string count case (GH-101033).
  • Consolidate Variant int 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 utf8 in a few spots to avoid calling it more than once (GH-101233).
  • Main: Fix missing performance data (GH-101242).
  • Use AHashMap for SurfaceTool (GH-101273).
  • Use LocalVector for Curve and Gradient (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_with and begins_with by using memcmp (GH-101493).
  • Lock the StringName::mutex after 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() and ResourceLoader.get_cached_ref() not handling UIDs (GH-101752).
  • Fix Quaternion arc constructor to check dot & Add test for same Vector3s (GH-101797).
  • Fix Basis::get_euler incorrectly simplifying rotations in some cases (GH-102144).
  • Fix is_valid_float, Variant parser, Expression parser, script highlighter, and TextServer not 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_pending from reading unlocked command_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 PolygonPathFinder setup and is_point_inside methods (GH-95782).
  • Docs: Update UPnP GDScript snippet to using Signal.emit syntax (GH-95860).
  • Fix Curve2D incorrect sample range description (GH-95883).
  • Add movement caveats to InputEventMouseMotion docs (GH-95886).
  • Document that Node.duplicate also duplicates its children (GH-95927).
  • Fix some C# variable types In AStar2D/3D Class Reference (GH-95956).
  • Fix typo in Array code example (GH-96033).
  • Doc: Clarify is_null methods of Callable and Signal (GH-96066).
  • Doc: Clarify ProjectSettings hdr_2d description (GH-96096).
  • Remove the 2D renderer notice from ProjectSettings documentation (GH-96110).
  • Fix Array.sort_custom example code (GH-96118).
  • Clarify transform data ordering in RenderingServer.multimesh_set_buffer (GH-96184).
  • Fix ambiguity in angle_difference function documentation (GH-96473).
  • Improve documentation of some ItemList signals (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 name description (GH-96866).
  • Remove "default font" from ResourceImporterDynamicFont Documentation (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_PREDELETE docs (GH-96981).
  • Fix description of Array.sort_custom() (GH-97033).
  • Document SceneMultiplayer auth_timeout being in seconds (GH-97045).
  • Remove outdated note about not operator 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_match and Shortcut.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 CanvasItem visibility properties and signals (GH-97223).
  • Add missing period for sentences in classref (GH-97231).
  • Clarify docs for when toggling button_pressed emits toggled (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_submitted signal is emitted (GH-97455).
  • Docs: Add notes about glyph contour decomposition format (GH-97514).
  • Add missing descriptions to PhysicalBone3D class (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_dialog description in FileDialog (GH-98202).
  • Fix wording in description of store_line and store_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_scenes description (GH-98265).
  • Fix documentation tip for network/debug/remote_host editor setting (GH-98282).
  • Docs: Add link to 2D lights and shadows from CanvasModulate (GH-98283).
  • Add missing HTTPRequest Result descriptions (GH-98332).
  • Clarify EngineDebugger and EditorDebugger* 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 OccluderInstance3D documentation (GH-98523).
  • Remove link to outdated CharFX example project (GH-98585).
  • Improve TileMapLayer get surrounding cells description (GH-98587).
  • Document exporting nested subgroups (GH-98616).
  • Docs: Add links to project settings (GH-98621).
  • Improve Tween.set_ease and Tween.set_trans documentation (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.stop to 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_children about 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 true being 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 true in 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 DirAccess documentation (GH-99132).
  • Clarify effect of setting "page" parameter in ScrollBar nodes (GH-99146).
  • Fix format description 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 @GlobalScope keys in documentation to use [code] tags (GH-99364).
  • Fix typo in FileAccess docs (GH-99419).
  • Suggest using OS.has_feature instead 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 LookAtModifier3D docs (GH-99533).
  • Document radial_center_offset bounds for TextureProgressBar (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_scale documentation (GH-99677).
  • Add C# examples to PropertyTweener docs (GH-99736).
  • WebSocket: Clarify that connect_to_url is non-blocking (GH-99753).
  • Update CanvasLayer 'Follow Viewport' documentation to match its behavior (GH-99754).
  • Update use_system_accent_color note in EditorSettings (GH-99827).
  • Docs: Update example from Window signal files_dropped (GH-99837).
  • Remove outdated note about BaseMaterial3D.billboard_mode shadow 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_list return 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_quaternion doc (GH-101330).
  • Clarify expected types in RayCast3D documentation (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_create documentation (GH-101556).
  • Add a note to DisplayServer.get_display_safe_area() method documentation (GH-101567).
  • Update InputEventWithModifiers documentation 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.txt compliant with debian/copyright specification (GH-101713).
  • Fix Jolt note in WorldBoundaryShape3D documentation (GH-101836).
  • Fix URLs for Cubemap template images in documentation (GH-101856).
  • Fix incorrect CPUParticles2D and CPUParticles3D documentation (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()'s dash and align parameters (GH-102675).
  • Clarify the behavior of Control.layout_direction in 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_to returns 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_scene dialog 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 int property 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_script method (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.edit to 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() in RUN_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_on editor 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_line call (GH-95581).
  • Add an Edit Now option 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_properties setting (GH-95898).
  • Enable revert button for ShaderMaterial::next_pass and ShaderMaterial::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 ThemeTypeDialog List navigatable when the LineEdit has focus (GH-96212).
  • Fix SceneTreeDock invalid 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 Editor buttons 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 EditorSpinSlider is 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 .editorconfig to 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 MeshInstance3D gizmo redraw performance for PlaneMesh with larger subdiv value (GH-96934).
  • Fix editor_doc_cache locked by adb process 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 Sprite2D dialog size for smaller screen device (GH-97199).
  • Update AnimationTree parameter list when updating AnimationNodeTransition input 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 .editorconfig file 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-PackedScene resource 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 CheckButton mirrored 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 ControlEditorPopupButton arrow 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 EditorHelpBitTooltip as a child of p_target to 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_changed only 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_toaster method to EditorInterface (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 __MACOSX directory 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 RuntimeNodeSelect selection_list showing 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() for EditorInterface to 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 @export open 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+Click behavior (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:// and uid:// 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_DUPLICATE with 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 --verbose due 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 UID option 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_actions HBoxContainer into a FlowContainer (GH-101557).
  • Don't instantiate ColorPicker in EditorPropertyColor constructor (GH-101570).
  • Fix crashes when pressing enter on project manager screen (GH-101572).
  • Fix conversion plugin search showing errors on TextFile and OtherFile (GH-101574).
  • Fix project manager window size when EDSCALE is not 1.0 (GH-101576).
  • Fix certain channel masks for Texture previewer (GH-101594).
  • Replace some problematic uses of String::num to String::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_REQUEST in Embedded Floating Window (GH-101895).
  • 2D: Fix CanvasTexture rendering 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 FlowContainer for Profiler and Visual Profiler bars (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_name in 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 @tool class (GH-102729).
  • Store _custom_type_script meta 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 Filesystem Popup for empty frames in SpriteFrames editor (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_visibility to 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_path for 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_UNDEFINED option 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 .idsig on 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_PACKAGES permission (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.mobile project setting to the AndroidManifest (GH-102446).
  • Fix modified_time on 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 GDExtensionLoader concept (GH-91166).
  • Tests: Ensure all default method arguments can be encoded (GH-93134).
  • Mark virtual function as is_required in extension_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 get and set functions (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 bool type 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_func from GDExtensionClassCreationInfo4 (GH-96787).
  • Allow directly getting ObjectID from Variant (GH-97119).
  • CI: Improve godot-cpp actions (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-test from 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, facilitating VariantGetInternalPtr-like behavior in GDExtension (GH-99201).
  • Fix method binds not saying if they are varargs (GH-99403).
  • Fix Variant modulo 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 GDExtensionCompatHashes to 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 for MethodBind::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_REQUIRED bitfield (GH-103302).

GDScript

  • StringName Dictionary keys (GH-70096).
  • Add @warning_ignore_start and @warning_ignore_restore annotations (GH-76020).
  • Add warning if non-@tool class extends @tool class (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 GDScriptUtilityFunctions macros (GH-84368).
  • Do not produce UNUSED_SIGNAL warning for common implicit uses (GH-89675).
  • Make Goto line a Popup and column input (GH-91388).
  • Autocompletion: Keep get_node values which are compatible with type hint (GH-92263).
  • Remove RENAMED_IN_GODOT_4_HINT from GDScriptWarning::Code enum (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_cast of AnnotationNode (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() with Utils.check() in tests (GH-96229).
  • Fix missing GDScriptParser reference on completion context (GH-96243).
  • Add @export_tool_button annotation 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 print command 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 Dictionary conversions in GDScriptInstance::validate_property (GH-98301).
  • Add some comments to #endif's where it helps readability (GH-98356).
  • Fix cached parser error when using typed Dictionaries (GH-98400).
  • Adjust make_rst.py for GDScript documentation (GH-98533).
  • Fix analyzer pushing SHADOWED_VARIABLE warning for members shadowed in subclass (GH-98873).
  • Improve GDScript autocompletion for methods (GH-99102).
  • Deprecate inst_to_dict() and dict_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_threads is 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 altering StringName highlighting (GH-100575).
  • Fix Packed*Array OP_IN using 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+Click on enum values ​​does nothing (GH-101127).
  • Ensure path for shallow scripts (GH-101442).
  • Fix GDScript editor crash on invalid tween_property arguments (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*Array variant call get and set methods (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_up and button_down signals with focus changes or multiple inputs (GH-81532).
  • Implement fit content width in TextEdit (GH-83070).
  • Simplify Control internal transform calculation (GH-84840).
  • Correctly restore Control position on undoing an Anchors Preset (GH-85275).
  • Make FileDialog filtering case insensitive (GH-85789).
  • Allow dragging selection when selecting whole words in RichTextLabel (GH-85799).
  • Cleanup in undo in TextEdit and LineEdit (GH-86085).
  • Prevent LineEdit focus 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/Panel shadows 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_controls does not account for the content_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 MenuBar popup 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 width behavior 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(), deprecate is_ready() (GH-93940).
  • Optimize StyleBoxFlat.draw() (GH-94240).
  • RTL: Expose missing default properties, ensure bbcode is reparserd when these are changed (GH-94426).
  • Treat MenuBar and MenuButton as advanced UI (GH-94513).
  • Improve blend tree contrast/margins (GH-94721).
  • Improve Tree performance (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_pos for 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 TreeItem not 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 StyleBoxFlat rectangles 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 to Control.force_drag() (GH-96614).
  • Fix is_inside_tree error 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_RESERVE to 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 VSlider grabber area (GH-96996).
  • Fix FileDialog default size (GH-97004).
  • Core: Add DisplayServer flag for sharp corners (GH-97005).
  • Expose LineEdit edit and unedit methods (GH-97094).
  • Fix trackpad code completion scrolling (GH-97122).
  • Fix TabContainer minimum size (GH-97132).
  • Fix TreeItem get_prev* methods when p_wrap is true (GH-97157).
  • Tree: Allow disabling auto generated tooltip for TreeItem (GH-97158).
  • Expose has_undo() and has_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_request signal (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_color and icon_hover_pressed_color not working for no stylebox use on Button (GH-97335).
  • Add tests for SplitContainer (GH-97371).
  • Fix button text autowrap overflow when inside a container (GH-97389).
  • Make _make_custom_tooltip receive 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_cancel action (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_screen for maximized windows (GH-97757).
  • Fix ColorPicker virtual 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 BottomPanel excessive width (GH-97878).
  • Add theme type variations for secondary Trees and ItemLists (GH-97884).
  • ItemList - Fix right padding missing (GH-97888).
  • Fix PopupMenu.id_focused signal using index as ID (GH-97890).
  • Fix Button minimum size when disabled is toggled (GH-97897).
  • Fix EditorSpinSlider grabber TextureRect doesn't follow parent when scrolling (GH-97946).
  • Allow Control to show custom tooltip when tooltip text is empty (GH-97961).
  • RTL: Add support for vertical alignment (GH-97963).
  • Refresh MenuBar scene after child renamed in editor (GH-97977).
  • Fix uneditable LineEdit, TextEdit and CodeEdit virtual 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 ScrollBar grabber mouse input ignores scroll content margins (GH-98035).
  • [TextParagraph/Button] Add support for line spacing (GH-98036).
  • Rename internal Button *_icon functions to *_button_icon to match exposed methods (GH-98039).
  • RTL: Keep tag stack between append_text calls (GH-98082).
  • Add System Locale layout direction for Control and Window (GH-98203).
  • Fix button click detection when Tree is rotated (GH-98299).
  • Clarify LineEdit.shortcut_keys_enabled only 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_radius and expand_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_count calculation when removing and clearing TextEdit'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 HScrollbar to ItemList when max_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 SubViewportContainer config for drag-and-drop target locations (GH-99270).
  • Hide unused exp_edit from SpinBox's inspector (GH-99289).
  • Android: Set default ACCESS_FILESYSTEM root for FileDialog (GH-99310).
  • Add Toggle selection mode to ItemList (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_count function to GraphEdit (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 TextureProgressBar radial center cross only when editing the scene (GH-99685).
  • Rename SubViewportContainer option consume_drag_and_drop to mouse_target (GH-99691).
  • Fix RTL visuals for sliders (GH-99708).
  • Fix removing last digit in spinbox while update_on_text_changed is true (GH-99721).
  • Fix physics picking when hovering an embedded window (GH-99771).
  • Allow copy/select shortcuts when editable is false in LineEdit (GH-99822).
  • Fix switch_on_hover for MenuButton (GH-99849).
  • Add horizontal center for ColorPicker buttons (GH-99882).
  • Introduce Viewport functions 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_top parent (GH-100179).
  • Android: Support for DisplayServer base color retrieval (GH-100200).
  • Fix user selection on top of bgcolor areas in a RichTextLabel (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_changed signal 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_offset to RichTextLabel (GH-100329).
  • Itemlist: draw focus stylebox after items (GH-100429).
  • Add get_line_range() to RichTextLabel (GH-100432).
  • Fix ViewPanner panning-mouse-warp (GH-100444).
  • Clear syntax highlighter cache when theme or syntax highlighter is changed (GH-100451).
  • Highlight hovered GraphEdit connection by widening the line (GH-100456).
  • TextServer: Fix space trimming around mandatory line breaks (GH-100492).
  • Fix RichTextLabel bbcode rainbow play reversed and paused (GH-100494).
  • TextServer: Fix use of find_char in 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 TextureProgressBar NOTIFICATION_DRAW to support 9-patch stretch in radial modes (GH-100697).
  • Handle changing ItemLists from signals (GH-100714).
  • Android: Fix Window size 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 GraphNode in GraphEditArranger (GH-101005).
  • [macOS/Windows] Add Emoji & Symbols context menu item to LineEdit/TextEdit to show system character picker (GH-101021).
  • Android: Implement support for native dialog (GH-101061).
  • Fix has_font and has_font_size always return true (GH-101066).
  • ColorPicker: remove unused children and fix sample bugs (GH-101100).
  • Tree - fix cusor selection in multi selection-mode (GH-101160).
  • Fix large TextEdit width resize performance when wrapping disabled (GH-101175).
  • Fix get_visible_line_count in RichTextLabel (GH-101205).
  • Window: Expose start_drag and start_resize methods (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_rect meta access error when resizing Tree (GH-101280).
  • Add ColorPicker cursor 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_caret using 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 ready signal sent too early in single threaded RTL (GH-101868).
  • Fix OptionButton.show_popup width (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 Itemlist font color in Light editor 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_rect when tree is scrolled (GH-102116).
  • Optimize Font calculations by avoiding unnecessary copy-on-write (GH-102132).
  • Fix TextEdit visible line count when setting text (GH-102296).
  • Make CharFXTransform.font property 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_margin for 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_overrun when using fixed_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_changed signal 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 TranslationServer into 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 Translation resource (GH-97222).
  • Better undo action names for localization editor (GH-97275).
  • Add auto translate mode for cells in Tree (GH-97353).
  • Add missing ETR macros in ColorPicker (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: and NO_TRANSLATE comments (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_EDITOR properties 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_locale add_default param 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(vformat instead of vformat(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->meta and 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 height enabled (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/path relative 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_extensions to 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_generate and export_post_convert extension steps (GH-96465).
  • GLTF: Add append_gltf_node to 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_version via EditorImportPlugin::_get_format_version() (GH-96802).
  • Fix a crash in ImporterMesh::create_shadow_mesh for 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_options match 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 alphaCutoff property (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_FORWARD and BUTTON_BACK mouse buttons on Android (GH-95460).
  • Fix InputMap::event_get_index to 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_INVALID in InputEventJoypadMotion's axis (GH-97068).
  • Use SNAME for ui actions 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_touch setting affecting editor (GH-97649).
  • Restore the original Godot preset zoom modifier (GH-97955).
  • Add Tablet/Trackpad 3D navigation preset (GH-97985).
  • Fix mouse emulation always sending events to the main window (GH-98318).
  • Fix incorrect KEY_MODIFIER_MASK value (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_value unresponsiveness (GH-99135).
  • Revert "Fix InputEvent device 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_mode to the DisplayServer (GH-101924).
  • Linux/BSD: Modify only keypad keys (GH-102169).
  • Fix a crash on iOS from Joypad initialization (GH-102220).
  • Fix fr+oss layout issues with KP period (GH-102602).
  • Wayland: Unstuck keys with same keycode (GH-102641).
  • Web: Refactor mouse_mode setters 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 axis pressed state (GH-103364).

Multiplayer

  • Expose get_rpc_config and get_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_cost method (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_polygon fast paths (GH-93171).
  • Improve AStarGrid2D performance 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_path option (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_info performance (GH-97928).
  • Reduce allocations for NavMap synchronization (GH-98866).
  • Improve NavMeshGenerator2D::generator_bake_from_source_geometry_data performance (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 when navigation_polygon is 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::redraw performance (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 NetSocketPosix to pick the right type for FIONREAD len parameter (GH-97098).
  • Add unit tests for TCPServer (GH-97262).
  • Add unit tests for UDPServer (GH-97311).
  • Add half precision floating point support to StreamPeer and FileAccess (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 GPUParticlesCollisionHeightField3D in 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 finished signal on ready (GH-101596).
  • Fix emission_shape_changed signal error when using ShaderMaterial with GPUParticles3D (GH-101617).
  • Fix GPUParticles2D not randomizing seed when set_one_shot is 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 SoftBody3D pinned 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 SoftBody3D pinned 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 in GodotArea3D::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_snap to preserve the horizontal position regardless of stop_on_slopes (GH-99397).
  • Add Jolt Physics as an alternative 3D physics engine (GH-99895).
  • Fix GodotSpace3D::test_body_motion() not setting local_shape (GH-99901).
  • Fix CollisionShape{2D,3D}.debug_color inconsistencies (GH-100093).
  • Add basic editor editing for ConvexPolygonShape2D and ConcavePolygonShape2D (GH-100183).
  • Jolt: Fix multiple definition LTO linking issue with mingw-gcc (GH-100331).
  • Make RID allocation 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 BoxShape to allow for zero-sized boxes (GH-101940).
  • Override mass properties for Area3D when using Jolt Physics (GH-102029).
  • [Jolt Physics] Fix ghost collision issue on dense triangle meshes (GH-102614).
  • Skip Object::to_string when Jolt Physics is on separate thread (GH-102726).

Plugin

  • Export EditorInspector::instantiate_property_editor for 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 EditorInterface node/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_RIGHT option of EditorPlugin (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 GetFileTime for FileAccess (GH-74830).
  • OS: Add functions to determine standard I/O device type (GH-91201).
  • Apply WS_MINIMIZE style 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 fileLastModified method 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.h instead of wayland-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 JavaClassWrapper so 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 JavaScriptBridge buffer 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::*_environment functions (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 _wstat use in FileAccessWindows::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_scale implementation (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_keyboard method 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(), and DirAccess::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 afterMinimumDuration to correct frame pacing (GH-99041).
  • Windows: Avoid child processes inheriting all file handles (GH-99107).
  • Implement get_model_name on 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 (*) to All 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 -1 on 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_drag on 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 CameraFeed types in Linux/macOS driver (GH-100540).
  • Add option to disable Swipe to Dismiss for 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_instance in Android GodotApp so non-editor apps can restart (GH-101050).
  • Fix embedding failing intermittently (GH-101135).
  • Use GetFileAttributesW for checking file existence on Windows (GH-101431).
  • DisplayServer: Add missing FEATURE_WINDOW_DRAG flag to Windows, X11 and Wayland display servers (GH-101538).
  • Fix Wayland window_can_set_mode ExclusiveFullScreen (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 FileChooser and Settings interface 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} to KeyMappingX11::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 getRotation calls (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_mask to Light3D (GH-85338).
  • Faster exit from _cull_canvas_item if 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_disabled render 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_set by 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_cast in mesh_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_scissor in standard shader (GH-95536).
  • Fix draw call count and object count for OverDraw display mode on Forward+ (GH-95640).
  • Ensure fog_sky_affect is used even when using a background color (GH-95659).
  • Add fixed fog to the sky in the Compatibility renderer (GH-95662).
  • Fix Parallax2D repeats 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_MODE resolves to REALTIME (GH-95990).
  • Disable extra memory tracking by default (GH-96044).
  • Add VK_EXT_astc_decode_mode support (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_TEXTURE when 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_enabled to 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 MultiMesh errors 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_CUBE or TEXTURE_TYPE_CUBE_ARRAY (GH-98767).
  • Fix occlusion culling for double builds by enforcing float conversion for Embree (GH-98770).
  • Add multimesh_get_buffer_rd_rid method to RenderingServer (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.currentExtent is unset (GH-98852).
  • OpenXR: Add Metal support (GH-98872).
  • Add vulkan error checks in command_queue_execute_and_present (GH-98883).
  • Force RDD::id to be always uint64_t (GH-98910).
  • Move D3D12 fence SetEventOnCompletion call to fence_wait to 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_axis to 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 Rect2i for rendering with OpenXR (GH-99407).
  • Fix: Error output is not require, VK_QUEUE_TRANSFER_BIT is 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_compatibility lightmap 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_extension returns 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() and RD::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 SpotLight3D clustering (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 OmniLight3D and SpotLight3D (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_cache even 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_compatibility mode (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_helper layer 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_color default 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_lightmaps triggered 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 MTLLibrary on 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 RenderingDevice creation test to subprocess (GH-103245).
  • texture_create_from_native_handle() should return RID for texture from RenderingServer, not RenderingDevice (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_matrix for 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 discard inside 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_enum for uniform int (GH-94324).
  • Fix multiple ternary expressions to be used without parenthesis (GH-94352).
  • Change VisualShaderNodeVec4Constant type 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_UV to be used in light function of spatial shader (GH-94981).
  • Add CLIP_SPACE_FAR built-in to spatial shader (GH-95057).
  • Allow setting a cubemap as default parameter to shader (GH-95126).
  • Fix String::simplify_path handling 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 for loop as a trailing (GH-95350).
  • Fix wrong name for Spatial shader mode in VisualShader resource inspector (GH-95464).
  • Remove missing a category warning in visual shader node (GH-95465).
  • Fix shader incorrectly expects int on uint and vice-versa in cases (GH-95473).
  • Fix middle expression of for loop 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-flat integer 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 VectorCompose input 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 #error preprocessor 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_FAR shader 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 samplerExternalOES type to shader globals (GH-99622).
  • Fix orphan strings in shader preprocessor (GH-99704).
  • Move uniform variables up in the gles3/scene.glsl template so that they are available within the #GLOBALS scope (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 VisualShader nodes that connect to VaryingSetters (GH-101648).
  • Fix visual shader error when opening a Fresnel node preview (GH-101796).
  • Fix MASS property 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 light shader 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 StreamPeer and StreamPeerBuffer (GH-95784).
  • Add unit tests for PacketPeer (GH-95931).
  • Add more unit tests for String insert and join (GH-96291).
  • Make [Audio] tag consistent with other test environment tags (GH-96564).
  • create_test script: Improve argument description and snake_case name conversion (GH-96565).
  • Add Unit Test cases for Sky (GH-97512).
  • Fix InputEventKey test 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*Array to_byte_array variant 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 Skeleton3D bone 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_DISABLED to 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_feed and deactivate_feed virtual 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 XROrigin3D for 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 OpenXRAPI memory management (GH-101294).
  • Add PICO OS Immersive Mode (GH-101387).
  • Clean up the XR editor logic (GH-101645).
  • Fix OpenXRAPIExtension casting 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).

Past releases