1abinitio1 (1): Add option for editor freelook camera sensitivity 31 (3): Fix Image.create_from_data use_mipmaps doc Fix Material.render_priority doc: no opaque sort Fix 'script_class' null access when reloading a deleted C# script = (1): Fix "grab_focus: Condition "!is_inside_tree()" is true" when AcceptDialog was visible from the editor. ARebel (1): Fix for Vulkan loader related build error caused by incomplete alias ARez (1): Add Unit test for InputEventMouse ATN (1): Added a signal connection to update buses editor on "bus_layout_changed" Aaron Franke (366): Use uint/ulong for Color in C# Fix 2D CollisionShape controls pointing the wrong way [Mono] Basis/Transforms Array operator comments and improvements Make internal editor key order consistent Document that SpringArm exclusions only work with PhysicsBody objects Document EditorPlugin get_plugin_icon and get_plugin_name [Mono] Add Vector2i, Vector3i, and Rect2i [Mono] Marshaling for Vector2i, Vector3i, and Rect2i Make file formatting comply with POSIX and Unix standards Improve the Vector2 rotated code Print errors when passing an invalid type to xform [Mono] Rename LinearInterpolate to Lerp [Core] Rename linear_interpolate to lerp Color with alpha constructor Allow using integer vectors for iteration and make range() use them Allow Vector2/Vector3 iterators to have non-integer values Change get_completion_identifier_is_function to return a bool Dynamic infinite 3D grid Fix GitHub issue template config not working Refactor physics force and impulse code Remove 32-bit String to_int method Remove 32-bit String hex_to_int method Rename String bin_to_int64 to bin_to_int Change OK text in snap dialog to OK Change the default editor camera rotation to position it in +X +Y +Z Add GLTF light import Simplify some code in platform/uwp/export Simplify Transform2D get_rotation Update bool documentation to be more clear Avoid errors when the editor camera is inside the focused object Update GridMap to use Vector3i instead of three ints Fix incorrect documentation for Vector2.angle() Add aaronfranke to CODEOWNERS for GodotSharp Fix string test code for MinGW Add sort and has methods to PackedArrays Add C# XML documentation to core C# math types Disable "misleading indentation" warning on GCC Add static formatting checks for GitHub Actions Commit only the SVG files changed by file_format.sh Commit other files changed by file_format.sh Remove Travis CI style checks and unnecessary scripts Globally install Python libraries in GitHub Actions Update core documentation to match recent C# changes Split CI builds into workflows for each OS Fix XML in Plane.cs Add a PR template with a message about PRs needing to be for master Make all String float conversion methods be 64-bit Fix incorrect comments in file formatting script Iterate backwards over EditorPlugin's list of plugins in get_editor etc Make the Import dock depend on the FileSystem dock Change the "remove missing" button to disabled rather than hidden Change Color HTML conversion from ARGB to RGBA Simplify html_is_valid and allow it to work with 3 and 4 hex digits Fix Color test cases for RGBA Change inequality comparison operators to use exact equality Add concatenation support and a new ctor to Godot.Collections.Array Change Basis is_equal_approx to use instance method Remove redundant is_equal_approx_ratio method Rename the ".mono" folder to ".godot/mono" Rename the ".import" folder to ".godot/imported" Link to demos from within the class reference Don't write global script class information if there is none Check for global script class information before clearing it Improve the Vector2 rotated code in C# Add GetStringFromUTF8 and GetStringFromASCII Rename button group property to button_group Move call to update the 3D grid into check for updating the view Add LStrip and RStrip to C# strings Add HexEncode to C# Allow creating projects in non-empty folders with a confirmation popup Minor clamp and float fixes Add raw strength value for internal use Allow getting Input axis/vector values by specifying multiple actions Improve comments in Color documentation Add line removal around braces to the file formatting script Remove empty lines around braces with the formatting script Update the 3D grid when the "View Grid" checkbox is changed Use Vector2i instead of Vector2 for Image get_pixelv and set_pixelv Limit the zoom and freelook speed based on camera settings Rename XR get_type and get_name Rename PathFollow2D rotate bool Rename LightOccluder2D light_mask to occluder_light_mask Rename Particles/ParticlesMaterial "Flags" enum to "ParticleFlags" Rebind Mesh/ArrayMesh enums Rename RD uniform "type" to "uniform_type" Rename RD texture "type" to "texture_type" Rename EditorNode3DGizmoPlugin "get_name" to "get_gizmo_name" Remove connect *_compat methods Improve argument names for core types Fix trying to set grid visibility on an invalid instance Descriptive error message when using AudioStream(OGG/MP3) incorrectly Use Math_TAU and deg2rad/rad2deg in more places and optimize code Update PolyPartition / Triangulator library Move the asset library API URLs to the Editor Settings Make GLTF not depend on CSG or GridMap Define GDNative sizes using sizeof(godot_real_t) and sizeof(int32_t) Type consistencies in core Make hex_to_int and bin_to_int handle the prefix automatically Unify URI encoding/decoding and add to C# Use real_t in physics code Use real_t in physics nodes Replace ColorN and from HTML with a string constructor Move project-specific editor data into res://.godot/editor Add C# array features from core PackedArrays Use Vector3.UP as a default value for look_at's up vector Change fallback icon for abstract nodes to have a grayed out color Update documentation for the new ProcessMode Use a more specific type for Area2D/3D body signals Fix C# bindings generator for default value types Add generic support to PackedScene.Instance Improve documentation for AtlasTexture Move SpriteFrames to its own file in the resources folder Use real_t in GridMap and VariantParser Use real_t in non-physics 2D nodes Rename ButtonList enum and members to MouseButton Rename some more global enums (Key, Joy, MIDI) Warn when creating a script with the same name as the parent class Show a message when trying to zoom farther than the limit Fix some tangent Color typos in GLTF Rename `doubleclick` to `double_click` Update TileMap to use Vector2i instead of two ints Area: Uncap the range for gravity and change the slider hints Make is_equal_approx have explicit float and double versions Use global scope round method for rounding Rename Vector2 Perpendicular to Orthogonal in C# Disable loop with CompatibilityTileData when building with deprecated=no Rename Transform to Transform3D in core Rename Variant TRANSFORM to TRANSFORM3D Rename files and the exposed name for Transform3D Rename Transform to Transform3D in GDNative Update documentation for Transform3D Add MOUSE_MODE_CONFINED_HIDDEN Rename Vector2 clamped to limit_length and add limit_length to Vector3 Allow clamping vectors and colors Flip 2D icon to match Godot's handedness Disable 3D-only modules when 3D is disabled Use a more specific type for AcceptDialog register_text_enter Rename tabs in the project manager Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D Rename EditorPropertyTransform to EditorPropertyTransform3D Add "Transform" compatibility name for "Transform3D" in VariantParser Disable Skeleton3D when compiling without 3D Add Time singleton Reformat structure string operators Add is_position_in_frustum to Camera3D Allow multiplying Transforms and Basis by numbers Re-add extents property to box shapes for compatibility Add PROPERTY_USAGE_NONE and use it Binary serialization for reals Allow setting the preview sun angle with numbers Add Quaternion angle_to method Fix a typo in C# bindings generator for default value types Fix sub-optimal uses of is_equal_approx Move many input enums to their own file Use mouse and joypad enums instead of plain integers Use PROPERTY_USAGE_NONE instead of 0 for no property usage Explicitly cast to float when creating a float array Use is_equal_approx in more places Fix Input get_action_raw_strength Add a simple C# .editorconfig Use C++ iterators for Lists in many situations Fix scene import following List iterator changes Fix check for the first key in JSON stringify from Dictionary code Add documentation to Array in C# Fix CSGSphere3D mesh creation Use doubles for time everywhere in Timer/SceneTree Remove obsolete "dectime" method Move code for looking_at to Basis Handle 32-bit and 64-bit floats for tangents/weights in RenderingServer Use real_t in editor plugins Use real_t in 3D nodes Preserve original name in shader params cache Use doubles for time in animation code Use doubles for time in many other places Some work on double support Organize methods in Viewport and explicitly name 3D methods with 3D Use Key enum instead of plain integers Use real_t and double where appropriate in Particles Fix some unnecessary includes Disable Node3D when compiling without 3D and fix disable_3d option Explicit 2D naming and some organization in texture region editor plugin Fixes to tests for Variant and Geometry3D Improve the docs for the float type Replace HTTP links with HTTPS for sites with HTTPS versions Fix docs after GDVIRTUAL pull request Display a matrix for Node2D and don't display a duplicate origin Fix missing renames in the GLTF module Reformat Transform(2D) inspector menus Some more C# formatting Revert some URLs from the "Replace HTTP URLs with HTTPS" PR Allow disabling the RegEx module in the editor Fix String::num_real and String test cases when compiling with doubles Add and use macros for defining editor settings with hint information Replace Vector3.to_diagonal_matrix with Basis.from_scale Fix some minor issues in C# XML doc comments Don't generate empty doc sections and reduce code duplication Fix GLTF light import Add locale rename for the "C" locale Fix some LGTM errors of "Multiplication result converted to larger type" Add support for the RISC-V architecture Rename "makerst.py" to "make_rst.py" Update Time documentation Move the docs for constructors and operators out of methods section Fix Quaternion multiplication operator Add documentation to operators for math types Move and organize tests into subfolders Add a minimal template build to CI Make OpenSimplex and VisualScript modules not depend on the editor Use "enum class" for input enums Fix typo in architecture name for x86_64 macOS Allow creating .gitignore and .gitattributes when creating a new project Project feature warning system Move logic for saving project features to ProjectSettings save_custom Don't show errors when getting nonexistent settings Remove default_env.tres from generating in new projects Improve Curve with const and real_t Warn when using an AABB or Rect2 with a negative size Expose max_axis_index and max_axis_index for Vector2(i) Rename "items_count" property to "item_count" Add a double-precision editor build to CI Misc build system fixes Remove build system code for 32-bit iOS Document InputEventMIDI and add some missing 0xF MIDI messages Skip formatting .bat files in file_format.sh Rename Variant enum members in resource_format_binary.cpp Add length and length_squared to Vector2i/3i Fix UTC typos in UWP platform Allow Vector2/3 slerp values to have any length Remove zero size checks from Rect2 grow methods Add tests for Vector2/Vector2i/Vector3/Vector3i Replace String::num_real code with a wrapper around String::num Improve the default size for 3D shapes (Box, Capsule, and Cylinder) Show the 3D transform gizmo in the center when otherwise offscreen Fix CanvasItemEditor scale editor not using the editor methods Show an error when setting a negative size on a collision shape Add offset string from minutes conversion method to Time singleton Use is_zero_approx and fix spelling in CameraMatrix invert Fix Slerp C# docs and add test cases for vectors in the same direction Initialize bools in the headers in editor Move fixup_embedded_pck to EditorExportPlatform classes Move extension logic to EditorExportPlatformLinuxBSD Change extension for Linux 32-bit x86 exports to x86_32 Generate export template file names instead of having a fixed set GDScript: Rename OPCODE_TYPE_ADJUST_TRANSFORM to have a 3D suffix Fix "Vector4DDecompose" typo in VisualShaderEditorPlugin Fix type name typo in Debug Adapter Protocol Allow using other property hints without the range hint Rename variable names for some singletons Rename Transform2D "elements" to "columns" Rename Basis "elements" to "rows" Rename Basis get_axis to get_column, remove redundant methods Fix display of unsupported project features in the project manager Use suffixes for units in nodes and resources Tweaks to improve the Project Manager display at small sizes Improve architectures in OS::has_feature and make them work on MSVC Document limitations of negative scales in 2D and 3D Add support for saving WebP images Consistently use double in Slider and SpinBox Alphabetize editor plugins and move 2D plugins to their own section Update comments in vulkan_context.cpp Change fog density range hint to be 0 to 1 with or_greater Rename directory for export templates from templates to export_templates Update export template names for Windows, Mac, and Linux Document what the Z component is used for in BaseMaterial3D UV coords GLTF: Only list used extensions when they're actually used GLTF: Move shared defines into a separate gltf_defines.h file GLTF: Organize structures into a subfolder Allow loading override.cfg from PCK files Split up editor export code into multiple files Move project export and export template manager into export folder Allow setting a window stretch scale below 1.0 Make some editor export methods const Update export dialog to handle many architectures Move editor paths into the EditorPaths class Fix TranslatedLocal method in C# affecting the original transform Replace Vector3.ToDiagonalMatrix with Basis.FromScale in C# Check if the axis is zero / vectors are colinear in Vector3 slerp Make "Godot source files" comment consistent in modules Remove duplicate data structure for export features Allow exporting PCK files without export templates installed Document GLTFLight and GLTFSpecGloss Fix incorrect Camera3D size documentation GLTF: Fix orthographic cameras, internally store data in GLTF's format Don't try to merge unused bone AABBs in the rendering server Rename EditorPropertyShaderMode to EditorPropertyVisualShaderMode Move ShaderCreateDialog's ShaderType enum out of the header Use a const ref for the bone AABB in rendering code Add a method for restarting the editor to EditorInterface Clean up include guards in 3D skeleton modification code Clean up mesh include code and comments Remove mentions of the Server platform from the Mono module Rename 2D NoiseTexture to NoiseTexture2D Unify bits, arch, and android_arch into env["arch"] Only compile project features logic in editor builds Move GLTF light conversion code into GLTFLight Move GLTF camera conversion code into GLTFCamera Rename String `plus_file` to `path_join` Fix a minor bug in the Projection binary decode logic Don't try to read values from null cameras and lights in GLTF Fix some bugs with Vector4 in C# Minor fixes to Vector4 Replace AABB has_no_volume with has_volume Replace Rect2(i) has_no_area with has_area Replace AABB/Rect2(i) HasNo* methods in C# Don't defer SceneTreeEditor::_warning_changed signal connection Remove unused `abort_scan` variable Minor enhancements to the GLTF module (lights and docs) Spacing changes in math_funcs.h Remove set_axis and get_axis methods from Vector2/2i/3/3i/4/4i Remove set_all methods from Vector2/3/4 Define AXIS_COUNT in all vector types Make used extensions stored in GLTFState Add a way to get the GLTF extensions supported by GLTFDocumentExtension Error if trying to run a self-contained editor in a project folder Revert custom_minimum_size type back to Vector2 instead of Vector2i Fix project manager not working in self-contained mode C#: Update Basis Euler angle code to match core Fix CODEOWNERS and fix missing quote in "Building for platform" message Rename ShaderEditor that edits text shaders to TextShaderEditor Separate TextShaderEditor and ShaderEditorPlugin into different files Fix hide_slider vs no_slider inconsistency in editor property code Rename Projection `matrix` to `columns` Enhancements to includes in core data structures Use float literals for float calculations in Color Add a way to store additional data in GLTFState and GLTFNode Fix big negative numbers printing incorrect decimals in num_real Remove the global space `get_transformed_aabb` helper method Use proper types for converting Java float/double arrays in Android code Clean up Basis from Euler code Simplify Euler order test code in test_basis.h Replace Quaternion Euler constructor with `from_euler` method Move EulerOrder enum to math_defs.h and global scope Unify Node3D RotationOrder with global EulerOrder Allow getting Quaternion rotation in different Euler orders Don't allow instancing virtual node types in the Create New Node dialog Don't allow instancing virtual resources in the resource picker dialog Fix default values not showing up on virtual classes Fix default values on virtual classes causing errors in projects Change the way GLTFDocumentExtension classes are registered Rename TextureButton set_*_texture methods to set_texture_* Add three new methods to GLTFDocumentExtension Use a more specific type for Mesh create_(convex|trimesh)_shape GLTF: Clean up lots of includes Fix Variant StringName `is_zero` being inverted Consistently use `p_` for parameters in GLTFDocument Check if class exists before checking if it's virtual in Create Dialog Pass GLTFState to the export_preflight method Improve architecture support logic in Raycast module Fix CanvasItem Z-index referring to Node2D Make script annotations placed before class_name and extends Remove duplicate Month and Weekday enums Fix file formatting script dependencies and cleanup Improve the documentation of GLTFDocument's append methods Improve clarity of Tree's activated/double-clicked signals PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE" Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for script Add support for interpolating skewed transforms Remove deprecated AREA_PARAM_GRAVITY_POINT_ATTENUATION Replace Area gravity point distance scale with unit distance Remove unused `has_slashes` from NodePath Check for CanvasItem instead of Control and Node2D macOS: Enable `display/high_res` by default Explicitly cast to Variant's int type in Time tests Remove unused joint boolean in GLTFNode Fix incorrect Time documentation in get_datetime_dict_from_unix_time GLTF: Delete unused skeleton_to_node Aaron Record (32): Enable zooming graph_edit with scrollwheel Add the ability to remove project contents from the remove project dialog Make scrollwheel zoom based on mouse position Put physics override parameters in their own group and document that areas can be used to influence audio Add the ability to hide scrollcontainer's scrollbars Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods Add the ability to reload the current project ScrollContainer: Expose `_ensure_focused_visible` to the API Add "Suggest a Feature" to the help dialog. Rename `is_valid_integer()` to `is_valid_int()` Scrollwheel (w/o ctrl) to zoom, mouse warping when panning Rename `instance()`->`instantiate()` when it's a verb Rename `is_a_parent_of()` to `is_ancestor_of()` Add the ability to reorder arrays from the inspector Add viewport preview plugin Add shift + [1-5] keyboard shortcuts to zoom out Remove unnecessary get_editor_theme() in SubViewportPreview Fix `TexturePreview` crashing Minor improvements to the view rotation gizmo Minor visual improvements to the viewport rotation gizmo (again) Focus the scene tree dock after hitting one of the "Create Root Node:" buttons Fix non-const iterators in const methods Use range iterators for `Map` Remove redundant texture flag setters/getters for `CameraTexture` Make "Last Modified" the default sorting order for the Project Manager Rename `remove()` to `remove_at()` when removing by index Add tutorial links to Signal's documentation Disable add button when action name is invalid Use range iterators for RBSet in most cases Fix typo "Frac" instead of "Fract" Refactor and remove excessive calls of `NOTIFICATION_THEME_CHANGED` Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED Abdelhafidh Belalia (1): Fix GDScript `preload` fails in standalone build unless files are present in directory Abdulrahman Al Zeidi (1): Fix static object destructors being called on gpu selection with X11 AberrantWolf (1): Make tooltips appear on the same display as the editor Adam Bates (1): issue-40396 - Added missing error strings to JSON parsing when array or object is never closed. Adam Brown (4): HTTPRequest now accepts gzip Added request_raw to HttpRequest Added decompress_dynamic to Compression class Added decompress_dynamic to BytePoolArray Fixed PackedByteArray GDScript functions xatlas: Sync with upstream 5571fc7 xatlas should be using the options configured here Adam Reichold (1): Call Node3D::get_global_transform and Vector3::dot only once within Camera3D::is_position_behind to avoid redundant work. Adam Scott (43): Add missing "normalized" accessor property to glTF document Add GLTF, DAE and FBX importers enforcement for blend shape mask array [Fix #58248] Add custom type check before hiding type Use ThreadWorkPool instead of thread_process_array in NavMap [godot#68001] Fix property getter with custom return type Fix cyclic references in GDScript 2.0 Remove fix leftover that caused cyclic load issues Add move_script check before executing logic [godot#68971] Fetch cached scene if it exists in `GDScriptCache` [godot#61386] Fix autoload scenes implicit types [godot#68977] Fix constants parameters Fix error while selecting last empty line Fix singleton scene cyclic loading Fix cyclic reference base being loaded but not valid (which is ok) Add PackedScene::reload_from_file() override Fix missing parent class name identifier crash Move GDScript uninitialization to `GDScriptLanguage::finalize()` Add missing packed scene cache clear inside `GDScriptCache::clear()` Fix `ResourceLoader::thread_load_tasks` crash Move navigation server finalize before physics server Fix autocomplete crash as it would infinite loop Fix `GDScriptCache` to not remove scripts/scenes individually when clearing Fix constant base typing in extended GDScript class Remove debug macro for GDScriptLanguage script_list Fix `GDScriptCache::clear()` crash when clearing packed scenes Fix `heap-use-after-free` error in `TileMap::~TileMap()` Fix `GDScript::_get_gdscript_from_variant()` crash Fix inner class constant assignment Fix outer class lookup Fix external enums not assignable as constants Add safety-checks before some servers `free()` Cache script when reloading even if there's errors. Resolve `GDScript::clear()` `heap-use-after-free` ASAN errors Fix parse error using Vector{2,3,4}.INF Fix GDScript base and outer classes, signals and functions lookup order Add GDScript `.editorconfig` rules Add default virtual `gdscript://` path to `GDScript` instances Save history when goto script line in the text editor. Fix cyclic reference errors while reducing identifiers. Update `@icon` definition to add a note Add `@GlobalScope` `is_same(a, b)` and `Variant::identity_compare()` Fix `Resource::duplicate()` missing packed arrays Remove script class checks when getting function signature Adam Wardell (1): call update_exports from LSP didSave function Addmix (1): Update skeleton_3d_editor_plugin.cpp Adrian Adeva (1): Updated gd_glue.cpp to work with the latest changes in the variant refactoring Aitor Cereceto (2): [46188] fix: get unix from datetime when empty dict [49451] fix: Control _selection_changed from Multiple Selection Aladdin Al-Khafaji (1): Port OrderedHashMap tests to doctest Alberto Vilches (1): Added Projection to ConvertTo and CreateFrom Albin (1): Remove visual limit for damping in CPUParticles Ale Camara (2): Fix editor crash on audio preview Fix clicking in gradient editor - When double-clicking on the gradient we should open the colour picker and create a colour key. - Instead, we were also evaluating the click further down producing the colour key to move around. Aleksey Smirnov (3): Replace copies with constant refs Fix false warning folder already exists Cleanups after changes in ItemList signals Alessandro Famà (1): EditorNode3DGizmoPlugin: Add GDVIRTUAL_CALL for get_gizmo_name and get_priority Alex Bustin (1): Respect 'mesh compression' editor import option in Assimp (ie. FBX) and glTF importers Alex Hirsch (9): Add missing ERR_FAIL_INDEX check to Variant::construct Fix canvas renderer line width Add additional index checks to COLLADA importer Add parameter checkes to FileAccess get_buffer functions Always dynamically allocate PropertyTable Allow nullptr with zero length in FileAccess get_buffer Fix missing quote in multiline GDScript string FBX Import: Normalize rotation quaternions FBX Import: Check bone map access for valid cluster target node id Alex de la Mare (1): Handle csproj "Remove" globs AlexHCC (1): Fix ruler lines rendering on top of text Alexander Festini (1): vsproj: create build targets depending on dev_build Alexander Holland (1): Fix double tap pressed event regression Alexander Pech (1): Keep RichTextLabel visible character properties in sync Alexander Schill (1): Adding null check to prevent null reference exception when serializing delegates in C# Alexey Kim (1): C#: reverse Vector2.AngleToPoint Alf Kraus (1): wrong double quote output with .csv fixed Alfred Reinold Baudisch (11): When selecting Nodes in the Scene Tree, if the current EditorPlugin is "Script" and if text_editor/behavior/navigation/stay_in_script_editor_on_node_selected is true, force inspector_only in order to not switch the EditorPlugin to the Node's main plugin. Display sub-plugins when Stay in Script Editor is On Add Selection and Caret for Next Occurrence of Selection Add math operators to Visual Shader node names Improved TextEdit::add_selection_for_next_occurrence test case Shortcut and Bind to Remove Secondary Carets Cast dragged file extension name to lowercase, closes #68104 Unified shortcut to clear carets and selections Pass caret index when deleting selection with backspace Mouse click deselect removes secondary carets and puts primary caret under mouse position Cancels the code complete timer when the caret moves to another line Almighty Laxz (3): Fixed build failing when REAL_T double and dotnet enabled Stop ShapeCast3D drawing when debug collisions off Add float arg to build_assemblies.py Alon Ran (1): Use the original canvas to calculate light positioning Aman Jain (7): Utility methods for writing files to Gradle project. Refactor permissions and command line flags into separate methods Create strings.xml files in the gradle project to handle localization Copy icons to Gradle project Write an AndroidManifest.xml file to be merged with app module's manifest. refactor apk signing into it's own method Add 'Export App Bundle' to Android Export Options AmyGilhespy (1): Fix glyph_flags typo. Anant Ahuja (1): Updated NinePatchRect's patch margin descriptions Anders Stenberg (2): Add missing color argument in forward_canvas_draw_over_viewport example. Fix cluster_render.glsl failing on some Macs Some Macs encounter an internal error when compiling cluster_render.glsl caused by a likely bug in the MVK/Metal compiler when using gl_HelperInvocation. Andrea Catania (56): Added feature to move physical bones with skeleton when not simulating physics Fixed Skeleton Physical Bone generation Make softbody completelly stiff to attachment point - Integrated NavigationServer and Navigation2DServer. - Added Navigation Agents and Obstacles. - Integrated Collision Avoidance. Optmized data sent during RPC and RSet calls. - Now is sent the method ID rather the full function name. - The passed IDs (Node and Method) are compressed so to use less possible space. - The variant (INT and BOOL) is now encoded and compressed so to use much less data. - Optimized RPCMode retrieval for GDScript functions. - Added checksum to assert the methods are the same across peers. Added utility functions to the new NavigationServer: - Vector3 get_closest_point_to_segment(const Vector3 &p_from, const Vector3 &p_to, const bool &p_use_collision = false); - Vector3 get_closest_point(const Vector3 &p_point); - Vector3 get_closest_point_normal(const Vector3 &p_point); - Object *get_closest_point_owner(const Vector3 &p_point); Fixed remove region method. Flushes commands just before the navigation server is destroyed Fixed editor crash when the animation player has no root assigned. Optimized rpc packet size when only the `PackedByteArray` is sent. Renamed NavigationMeshInstance to NavigationRegion Renamed PlaneShape to WorldMarginShape Renamed NavigationPolygonInstance to NavigationRegion2D Generates the rpc and rset info for exported GDScript. Improved the send rpc log message when fail. Fixed rset method for gdscript and visual script Added error to notify that the Navigation triangle merging failed due to incorrect parameter. Added new method to replace an already added node to the animation state machine Fixes navigation path reset Fixed IK rotation issue Activate Physics Process in SpringArm3D. Removed noisy ERR check from Multiplayer API. Removed const from OAHashMap iterator value Fixed kinematic body axis lock - Make sure it's impossible to initialize an OAHashMap with 0 capacity (would cause division by 0) - Added possibility to copy an OAHashMap - Added unit tests - Added more euler rotation orders support. - Fixed floating point issue on the old one. - Fixed the equation on the get_euler_yxz function. - Added unit tests. Optimized physics object spawn time and optimized shape usage when the shape is not scaled Added BulletPhysics APIs to return internal objects and fixed a typo. - Enhanced the flush mechanism by flushing only needed thing. - Flushing Areas before anything else. - Make sure to correctly fetch gravity when the integrate_forces function is used - Lazy reload body when layer and mask changes - Shapes are reloaded just before the physics step starts. - Improved some other parts of the code. - Added override keyword - Using LocalVector Fixes issue with LocalVector remove function Avoid adding margin twice along capsule Y axis Revert "- Enhanced the flush mechanism by flushing only needed thing." Revert "Optimized physics object spawn time and optimized shape usage when the shape is not scaled" Fixed #41040 in an alternative way now that #39726 is reverted Fixes crash when returns . Implement proper error print, Fixes a crash when no error messages are generated by the analyser. Fixed EditorPropertyText change signal emission. Fixes: GDscript min and max are inverted Add function `LocalVector::remove_unordered` Fixes editor crash on closing Lowers the navigation edge margin merge Add env.Depends to modules_enabled.gen.h generator Remove early return from gizmo intersect_ray Set the surface name when GLTF file is imported. Fix GLTF crash when the material is not set. Fix Static & Rigid body generation on mesh import. Removes const from set functions on the Gizmos Refactors the memnew_placement. Add the possibility to initialize the classes allocated with the PagedAllocator Fix Vector ConstIterator constructor. Improve collision generation usability in the new 3D scene import workflow. EditorPropertyText, pass changing variable false. Update editor_properties.cpp Fix Vector ConstIterator constructor. Improve collision generation usability in the new 3D scene import workflow. Add mutable OAHashMap::lookup_ptr function to fix mutability. Improve error reporting when the Message Queue is out of Memory. Andreas Gustafsson (2): Tween.xml word order fix OptionButton.xml word order fix Andreas Raddau (6): Fix editor crash when expanding/collapsing empty scene tree Fixed missing call to AnimationTrackEditor::make_insert_queue Remove duplicate assignment of AnimationNode::State.valid Fix negative search result match Fix vector field particle attractor texture sampling Improved consistency between vector field texture and world space Andres Hernandez (1): Updated gamecontrollerdb.txt to latest to include new mappings for various controllers, including Xbox One, Nintendo Switch, Steam Deck, and 8BitDo Andrew Dunai (4): Add conversions for tweens, fix move_and_slide/start/await conversions Add conversion for instance(), set_shader_param() and node path literals Update editor/project_converter_3_to_4.cpp 3to4: Fix handling of arrays in connect() and JSON alignment Andrew Jacob (1): Allow C# Vector2/3 slerp values to have any length Andrew Woodward (1): Remove reference in OS to date and time functions Andrii Doroshenko (Xrayez) (102): Do not override Path2D.self_modulate property Fix MIMPAMPS typos in constants throughout the engine Fix doctool misleading error message Fix missing module editor icons Generate command line help text for `mono` module Moved to methods.py as a `show_progress` method. Bind Shape2D draw method Make `dict2inst` to work with arbitrary `_init` parameters Bring back and improve comments clarifying the new bug report template Add `custom.py` to .gitignore Expose `Image.save_png_to_buffer` method Add `custom_modules` build option to compile external user modules Do not rely on the existence of `config.py` while detecting modules Split `Geometry` singleton into `Geometry2D` and `Geometry3D` Enable raycast nodes by default SCons: use `OrderedDict` to ensure insertion order of modules SCons: Prefer `Exit()` method over `sys.exit()` SCons: Allow to read `custom_modules` option via a file Prevent crash attaching a script with no languages registered Move `RayShape2D` implementation into its own translation unit SCons: Dump construction environment to a file Optimize class icon loading Don't use arbitrary theme editor icons for scripts with the same name Expose shape property for shape query parameters classes Clarify `Geometry.offset_polygon_2d` regarding vertices translation Provide `draw_set_transform` defaults for rotation and scale Provide warning when using polygon shapes in `CollisionShape2D` node Fix editor crash when creating a custom resource from create dialog Expand env vars for `custom_modules` build option Fix overriding compression related settings Document the process of parsing command-line arguments Skip internal scripts for breakpoints without printing an error SCons: Add `tests` option to enable or disable unit tests Move `tests` to the top-level directory Make unsaved scripts in the script editor more user-friendly Enable support for C++ modules tests SCons: Refactor running commands through builders Add test suite for `Variant` Cleanup obsolete tests from displaying in help CI: Show `tests=yes` for builds which run tests Hide implementation details of doctest macros Port AStar tests to use doctest Fix memory leak in test args Stringify `Variant` compatible types for doctest output Properly detect `--test` command-line argument Accept global classes for `MainLoop` type in project settings Port ClassDB tests to use doctest Build the engine with custom modules in Visual Studio Make `AnimatedTexture.MAX_FRAMES` public Move GDScript tests to respective folder under modules Register GDScript test tools as test commands to run via command-line Move GDNative `String` tests to respective module Fix `List` swap behavior on front, back and adjacent elements Add a test suite for `List` Make `Object::to_string` virtual Add test cases for the `List` to cover public methods Cross-reference GDScript `load` and `ResourceLoader.load` in classref CI: Refactor build workflows to use `SCONSFLAGS` Fixup `ColorRect` and `TextureRect` renames Add `border_width` to `ReferenceRect` Cross-reference `ColorRect` and `ReferenceRect` in the class reference SCons: Add an option to detect C++ modules recursively GDNative XR: remove redundant `config.py` Fixup `ColorRamp` to `Gradient` renames Make `randbase` member protected in `RandomNumberGenerator` Remove unused `PHI` define in math funcs Expose `PROPERTY_HINT_TYPE_STRING` to scripting Describe `ImageTexture`, `Image` creation and usage Do not start `Timer` upon manual switching of internal process doctest: Do not override command-line options doctest: Update to 2.4.1 Add `AspectRatioContainer` class Add ability to restore `RandomNumberGenerator` state Add test suite for `RandomNumberGenerator` Make `property_list_changed_notify` protected in `Object` Add test suite for `FileAccess` Add unit test for `RandomNumberGenerator` Use relative path to executable for loading test data Increase number of sections in object files for tests with MSVC Use comma over `<<` operator for all unit test logging Clarify `lstrip()/rstrip()` methods in `String` for removed characters Expose `Resource.emit_changed()` to script Document GPU particles visibility rect/aabb behavior Document shape metadata for `TileMap` Fix sprite editor conversion tools to handle compressed textures makerst: Add an option to filter which XML classes to output Initialize `TranslationServer` in the test environment Provide additional include paths for custom modules Add `use_asan` option for MSVC to enable AddressSanitizer makerst: Fix generation of overridden properties in child classes Rename GDScript test script filenames to use `snake_case` Fix variable names for "usage" flags in `Control::_get_property_list()` Separate version hash from version number in editor and project manager Use "Delete" in FileSystemDock on all platforms Make `EditorVCSInterface` proxy functions virtual in C++ Set minimum size for "Version Control" diff bottom panel VCS: Allow to stage and commit all files with Ctrl + Enter Rename `GradientTexture` to `GradientTexture1D` Add `ShapeCast2D` node Remove `get_closest_*` methods from `ShapeCast2D` Refactor auto-instantiation of `Object` properties in editor Add `Input.is_anything_pressed` method Andrés Botero (4): Fix docstring for String.get_base_dir Fix bad variable name in TileMap documentation Fix docs on RPC_MODE_ANY_PEER analogous. Added component-wise `min` and `max` functions for vectors Andy Gainey (2): Fix zoom in callback for CanvasItemEditor to use correct numeric sign Fix inverted mouse wheel zoom in CanvasItemEditor #61716 Andy Maloney (32): [macOS] Control key + scroll wheel should zoom not pan [macOS] Command-backspace in line edit Ensure FileAccessBuffered structs are properly initialized Fix spelling of a var, a struct, and message output Fix spelling & grammar in comments, docs, and messages [macOS] Fix Maya navigation with ALT + mouse scroll [docs] Clarification on theme's get_stylebox Fix some grammar in StyleBoxFlat class docs Fix gizmo names Remove impossible condition in RenderingServer::mesh_surface_make_offsets_from_format [script editor] Fix two special cases not being checked in code completion Add missing Python type hints in tools/make_rst.py Add Python PEP 484/526 type hints to doc/tools/doc_status.py Convert Python type hints in tools/make_rst.py [make_rst] Remove (fake) return types on annotations [doc] Use "param" instead of "code" to refer to parameters [doc] Use "param" instead of "code" to refer to parameters #3 [doc] Use "param" instead of "code" to refer to parameters [doc] Use "param" instead of "code" to refer to parameters (4) [doc] Use "param" instead of "code" to refer to parameters (6) [doc] Use "param" instead of "code" to refer to parameters (7) [doc] Use "param" instead of "code" to refer to parameters (8) [doc] Use "param" instead of "code" to refer to parameters (5) [doc] Clarify that AnimationNode virtual methods need to be implemented rather than called directly [doc] Fix grammar in class docs: amount vs. number [doc] Fix grammar in class docs: less vs. fewer/lower [doc] Use f-strings throughout make_rst.py [doc] Fix Quaternion "angle_to" docs Remove unused includes & move some includes to top of file Remove redundant "if" condition in GDScriptCompiler::_parse_function() Static analysis: remove "break" after "return" Fix crash in SceneImportSettings::_select when a mesh has a null mesh_node Andy Savage (1): Quick fix to incorrect error messages when writing to compressed or encrypted files. Angad Kambli (9): fix minor issue in smooth step function's documentation glTF: Fix set_joint_i_to_name not using its argument add null check in _update_particle_data_buffer() add null check in MeshInstance::_mesh_changed() set up PathFollow2D unit test add PathFollow3D unit test fix initializations of node Path2D unit tests use collision mask in vehicle raycast add pseudolocalization to Godot Anilforextra (29): Fixed Some typos. -Added missing setters to GraphNode. -Improved various GraphNode documentation. Fixed awkwardly named AnimatedSprite Setters. Remove unused swap template. Convert ustring macros to inline functions and use them wherever possible. Fix duplicate conditions. Use get_global_* functions instead of using transforms. Remove redundant assignments. Use used_in_transfer instead of used_in_compute twice. Document how to use IK in skeleton2D. Use builtin Vector2 functions for calculation of angles. Add Get Center Method for Rect2/Rect2i and AABB. Use Rect2's get_end(). Construct values only when necessary. Node2D member renames. Construct values only when necessary. Merge duplicate branch conditions to one. Fix Typo: Segement. Use functions defined in the their classes. Use fill() to fill an entire image instead of setting pixels individually. Path2D: Check points count before rendering. Use List Initializations for Vectors. CameraMatrix: Pre-allocate Vector in get_projection_planes(). Circle&CapsuleShape2D: Fix outlines missing line. Node2D/Node3D: Fix Undraggable Position Property. ThorVG: Sync with upstream 0.7.1 Vectors: Use clear() and has(). String: Add contains(). Code quality cleanup for some variable scopes. Enable material editor preview to be rotated. Anish Bhobe (3): Fixing iteration for extension level loading. Resolving suggestions on comment formatting. Updates VideoDecoder plugin API to GDExtension. Anshul7sp1 (1): Fixes small typos and grammar correction Ansraer (6): Adjust auto scale on high res displays add 2d scale factor property add support for glow maps Fix alpha scissor support Add viewport content scale use depth prepass to increase performance Anthony Cossins (2): Uppercase references to color constants in documentation Fix return type for collide_shape to use PackedVector3Array Antoine Félix (1): Modify the scene only when color changed Anton Christoffersson (3): Fixed crash in `ScrollContainer` _notification Fixed implicit conversion of uint32_t to uint8_t in `image` Fixed crash in `variant_call` when trying to memcpy 0 bytes. Anton Ivanov (3): Unit tests for encoding/decoding of base types Unit tests for encoding/decoding Variant Unit tests for Object creation and property getter/setter Antonio Dell'Annunziata (4): fix(gdscript): Fix out of bounds crash after reloading member variables fix(gdscript): Fix infinite loop on type inferernce from super method calls fix(editor): Remove some MeshLibrary editor updates fix(gdscript): Infer type from preload const Anutrix (24): Added LGTM Alert Badge Remove the last ERR_PRINTS that was missed by #33391 Remove the dead function win32_spawn from methods.py. Removed unused code in android detect.py and SCsub Remove redundant vbx variable in FileDialog Fix file dialog not showing icons Removed reduntant class LineEditFileChooser. Dissolving class EditorLineEditFileChooser into EditorAutoloadSettings. Fix signal disconnection soon after connection in EditorQuickOpen Fix popup window size calculation in popup_centered_ratio by using Rect2 Remove unused function get_key_value_ptr_array from hash_map.h and also fix parameter name in function get_key_list. Removed variables and #include in EditorSceneImporterAssimp::import_scene that became unused after the recent commit ec1bf96(#39363). Fixed tiny grammar issues in error messages Fixed an issue in UWP export caused by duplicate entry for extensions in content types file. Free a SortShader and a ParticlesCopyShader Remove unused imports in .py, SCsub and SConstruct files Added better descriptive error messages for file operations in core_bind.cpp Made float, Vector2, Vector3 and similar property editors to use the default_float_step Added collide_shape return type info to PhysicsDirectSpaceState2D docs Added or improved function description and codeblocks in @GlobalScope.xml Fixed shader editor when no files are currently in shader list Randomize RandomNumberGenerator instances' default seed Fixed signal connection examples to use new callable syntax in the docs Added missing docs to built-in types float and int ArdaE (1): GLTF import: Prevent significant numerical errors in keyframe times Ariel Manzur (1): Input: make VibrationInfo protected to allow implementors to use it Arkadiusz Marcin Kołek (2): Shape3D::get_debug_mesh_lines const methods Avoid division by zero when calculating inertias for bodies with colliders without areas. Arman (1): Continue tracing screen space reflection after encountering sky Arnav Vijaywargiya (1): Fixed incorrect property types Arne Stenkrona (1): Ensure focus when dropping to script editor ArrowInAKnee (2): Update all get_configuration_warning to retrieve warnings from the parent Remove unnecessary file existence check when saving scene Arthur Bikmullin (1): Fixed missed IDHandler dependency in GodotFetch Arthur J (1): declare "_validate_property" as protected Arthur Paulino (3): updating descriptions improving note on HTTPRequest class under the request method documentation security tip when sending sensitive data on HTTP requests Ashesh (1): Store build as artifact in appveyor Ashesh3 (1): Better file naming for AppVeyor artifacts Atirut Wattanamongkol (1): LSP: Fix GDScript doc comments Atlinx (3): Add scaling to the curve editor's handles Add missing parameters for signal in docs Fix inferred GDScript enum values not appearing in inspector Austin Tasato (1): Add "Physics intro" docs link for State classes Avantir-Chaosfire (1): doc: Improve Node2D to_local/to_global description Awkor (1): Prevent editing properties managed by parent container Ayush Singla (1): fixed incorrect mesh normals in shaders B. Ogan Mancarcı (1): fix typo in zipreader doc BARTEK-PC\Bartek (1): Expose navigable layers for NavigationAgent2D/3D Balloonpopper (1): Correct null and boolean values being capitalised by the str command Bartkk (1): Check if file was removed when parsing documentation Bartosz Bielecki (2): Acknowledge that a CLASS kind of a DataType might not have an identifier Keep GDScriptAnalyzer alive for whole parse() Bartłomiej Dusak (1): remove normal_to_panorama from spotlight projector Bartłomiej T. Listwon (20): Fix custom modules in Visual Studio Add all headers to VS Project Change search results limit in FileSystem dock from 128 to 10000 Separate set.h from map.h pywin32 is no longer necessary for SCons install Add missing WIN32_LEAN_AND_MEAN Faster hash_compare for integer and string keys in dictionaries Don't ignore the type mismatch in setter function Windows: Simplify QueryPerformanceCounter usage UWP: Simplify QueryPerformanceCounter usage Removed redundant ClassDB::is_class_enabled() and moved second dynamic_cast inside worst case if Rework Node::get_node to omit is_absolute() check in best case scenario Prevent LTCG (MSVC LTO) from removing "pck" section Fix Vector2 and Vector2i coord access via operator[] Pass audio samples untouched for pitch_scale around 1.0f Audio quality improvements in PitchShift Optimize String concatenation and copy functions Include platform_config.h in thread.cpp and thread.h Fix crash in AudioServer when switching audio devices with different audio channels count (connecting PS5 controller, bluetooth 5.1 headphones etc.) Remove get_data() from CowData Bastiaan Olij (183): Exposing get_tracker_id for ARVRPositionalTracker to GDScript ARVRController.is_button_pressed requires to return a boolean Add shader based background mode Fix aspect ratio on hmd projection matrix Renaming all ARVR nodes to XR Added missing spring enums for generic_6dof_joint Fix missing slider joystick handling on Windows Added driving joystick type to windows joystick handling Use /Zi and /FS for including debugger symbols on Windows with MSVC Only unload the library when no NativeScript objects exist if the reloadable flag is true. If it is false it is likely the library does other things and can't be unloaded Moving GI code into RendererServerGIRD Moving Skyshader code into RendererServerSkyRD Expose set_environment to GDScript Renamed SDGIShader to SDFGIShader and moved a bunch of things to private Renaming RendererSceneRenderForward to RendererSceneRenderForwardClustered so we can introduce RendererSceneRenderForwardMobile Moving RendererStorageRD *storage to protected, no sense duplicating it in forward_clustered Renamed one more Forward render struct and fixed typo Combine init_gi and init_sdfgi into a single init Removed time duplicate from ForwardClustered. Just use the variable from its superclass Fixes on android: - creating Vulkan context instead of OpenGL - checking for validity of ENV in wrapper classes - fix for access to JavaVM from threads Changed SCsub for shaders to find shaders automatically and create dependencies with include files Obtain supported Vulkan API Change XRPositionalTracker to a reference and better expose it to GDNative As GLSLang seems to be all or nothing, added our own defines Chose format from supported ones that we support Move clustered renderer functionality Only cleanup meta data if GDNative library is reloadable and we're about to unload it Remove low_end option from renderer, being replaced by separate implementation Fix forgotten rename on surface material override Fix reflection probe Move XR flag from subviewport into viewport Create mobile renderer Remove repeat from forward mobile renderer Cleanup vulkan capabilities check and add multiview check Split RenderDataRD struct from RenderState struct to simplify passing our render data around the renderer. Implementing blit shader with versions Rename GODOT_VARIANT_TYPE_TRANSFORM to GODOT_VARIANT_TYPE_TRANSFORM3D Fixed mistake in binding of Skeleton2D::execute_modifications Add stereoscopic rendering through multiview Fixed error spam when XR mode is not enabled and a missed setting rename Adding some more missing renames for Transform3D and Quaternion Inverse XR camera offset for stereoscopic rendering Move render_sky logic from effects into our sky object, and some minor cleanup Properly override virtual functions in render_scene_render_rd and subclasses Fix indexing of multiple reflection probes Use 32bit instead of 64bit 3D render buffer on mobile Use fragment shader instead of compute shader for effects for mobile renderer Porting cubemap compute shaders to raster for the mobile renderer Use subpasses to do 3D rendering and resolve in mobile renderer Implemented raster versions of bokeh shaders to replace broken gaussian implementation Fix read from screen and depth texture Moved disabling bokeh shader variants to before the version_create call Fix init code so it works properly on Vulkan 1.1 devices Fix multiview defines in tonemap shader Scale color output in the mobile renderer to provide HDR support Optionally scale 3D render content Adding GDExtension support to XRInterface Fix double named size parameter Add source rectangle to blit Add functions for access members by index on packed array objects Add missing parameter names to _commit_views GDVIRTUAL_BIND Expose Vulkan internal values for access from extensions Add driver types to GD extension initialisation levels Add property group and subgroup registration to extensions Add GD extensions operator functions for arrays Change to using doubles in XR classes Improve unregistering XR interfaces so we don't get crashes in GDExtensions by destroying the XRServer too early Fix access to render target texture for XR interfaces Rework XR positional trackers Add support for returning the play area from XRInterface Fix double _get_tracking_status declaration Add CI step for compiling and testing godot-cpp Fix array access in gdextensions Fix initialising of gl_manager and checking gl_manager and context_vulkan preventing crash issues. Fix XR viewport size overrule and incorrect usage of internal size Adding a tracking confidence state to XRPose Improve XRInterface hooks into rendering Nitpicking, VK_VERSION_* have been deprecated, replaced by VK_API_VERSION_*. We were only getting our available shader features, now we also enabling them vkQueueSubmit needs pWaitDstStageMask sized to waitSemaphoreCount Add OpenXR 1.0.22 to thirdparty libraries Implementing OpenXR driver Use VK_NULL_HANDLE when initializing XrSwapchainImageVulkanKHR Fix color issues with OpenXR Fixing retrospective code for specialisation constants Add multiview/stereoscopic rendering support to the clustered forward renderer Adding signals and events to OpenXR interface Improving interaction profile logic Only uninitialise OpenXR on destruct if it was initialised Split dummy renderer classes into separate files Split canvas_texture_storage and texture_storage from render_storage class Call the correct texture free method on texture storage cleanup Extract Decal and Decal atlas from Storage class Cleanup OpenXR on initialisation failure Extract global variable, shader and material storage Move storage for Mesh, MeshInstance, MultiMesh and Skeleton into MeshStorage Add action map editor for OpenXR Added missing interaction profiles and making sure related extensions are enabled if available Merge canvas and decal into TextureStorage and add render target Move light, reflection probe and lightmap into LightStorage Moved particles into ParticlesStorage Splitting tonemapper into its own class Split out bokeh_dof and copy effects Copy_to_fb is available in both raster and clustered renderers, remove unwanted checks Ensure has_os_features is safely called as it can't be called from within the construct of RenderingServerDefault on which it relies Adding HTC tracker support Introduce eye_offset for correcting stereoscopic reflections Split GI effects and fix stereoscopic rendering of GI effects Update OpenXR to 1.0.23 Moved cube_to_dp and cubemap logic into CopyEffects Fix typo in roughness shaders Split dependency logic Split FOG Split visibility notifier Final cleanup of storage classes Fix typo, call mesh_instance_free not mesh_free Adding Variable Rate Shading support to Godot Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get Move screen space effects into a separate class Add missing fields to VkRenderPassCreateInfo2KHR struct Move Sky(RD) into environment Move Fog logic from render scene render to fog Change RendererSceneRender::GeometryInstance so more code is shared among renderers Add startup flag to override XR mode settings Restructure environment in render implementation Changed storage structs to private Initialise singleton in RendererSceneGLES3 For dev builds, keep track of resource names in the Vulkan driver Fix resource leaks in VoxelGI Dummy mesh support was added to the dummy renderer but incomplete. This completes it Fix vector type for signed tangent in mobile shader Extracting render buffers and changing it to a more generic solution Fixed MSAA initialisation in clustered forward renderer Fix uniform buffer being created every frame is SSAO and SSIL half_size is different Update OpenXR to 1.0.25 Extract shared scene data into a separate class Add OpenXR palm pose extension support Make dependencies with shader includes in subfolders Adding OpenXR hand tracking support Move cluster builder, sdfgi and gi structures to clustered renderer, move light and probe elements into storage and reorganise our render_scene method. Moving SSEffects settings into class Fixing artifacts in SSR Adding getters to RenderTarget and implementing override functionality for XR Make sure atlas rect for directional lights is calculated using floats Fixing an incorrect error message in OpenXR reporting missing OpenGL support Cleanup a bunch of debug messages in OpenXR and change the ones we want to keep to print_verbose Adding support for the OpenXR Display Refresh Rate extension Added fallback to vkCreateRenderPass if VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME isn't supported Add current setting to XROrigin3D and fix double positioning HMD Changing timing of call to xr_interface->pre_draw_viewport Fix two typos in tracker names and a bug in OpenXR haptic feedback Fix missing itos for OpenXR logging Filter out HTC OpenXR paths based on extension Change default OpenXR pose to aim pose Fix several render issues found while debugging XR Update XRServer with starting position of (new) current XROrigin3D Add optional UV2 logic for lightmapping to primitive shapes Fix VRS issues Improve logic for detecting and tracking extensions Various fixes for OpenXR action map meta data and editing ETCPAK expects BGRA data for ETC Fix recurrense issue with setting current origin node Fix issue where we should be using device supported version instead of instance version for Vulkan Fix typo that resulted in left eye depth buffer being submitted for the right eye Make submitting depth buffer in OpenXR optional Fix barrier on buffer_get_data Fix property type for OpenXR display refresh rate Improve logic around using Ref with GDExtension virtual functions Update to OpenXR 1.0.26 Fix missing undo/redo object and issue with removing actions Added options for sorting transparent objects (port of PR 63040) Cleanup and improve sky render Move SDFGI update logic into clustered renderer Fix errors related to reflection probe now using a render buffers object Removed member variables from OpenXRExtensionWrapper Made extension container in OpenXRAPI static Moved controller meta data into extensions where applicable Move luminance effect into its own class and use new buffers system Improving communication of scaling settings to renderer implementation Enabling additional vulkan extension and adding further checks Fixes issue where failed start of OpenXR causes issues Rename getters and signals on XR nodes to be consistant with input types Make screen texture and depth texture work in Multiview Fix SSAO/SSIl being applied to reflection probes Added methods to OpenXR interface to set which action sets are active Expose EYE_OFFSET to gdshader code Add layer slice support to render device and render buffers Add render buffer support to screen space effects Fix issue with clearing screen after part has been drawn Fix wobbly sky in stereoscopic OpenGL Fix issue with default textures requiring arrays when using multiview Fixing issues with SSIL artifacts Steering on VehicleBody is in radians while interface is in degrees. Improved documentation to clear this up. Bastien JAUNY (1): Fix potential null pointer use, based on #54094 fix Ben Armstrong (1): Fixed the audio 'output latency' project setting not appearing when using the WASAPI audio driver. Added variable output latency support to the WASAPI audio driver for systems that support it. Ben Busby (1): Remove `zf != NULL` check from `ZIPPacker::start_file` Ben Rog-Wilhelm (1): Fix .gitignore ignores part of the committed repo. Bengt Söderström (2): Expose soft body pin methods to GDScript Documented soft body pinning methods Benjamin Armstrong (2): Clarify how 'audio/driver/output_latency' project setting works Fix crash in audio callback when recording audio Benjamin Navarro (1): Fix incorrect debug check for setters BenniKane (1): doc: Clarifying NavigationAgent and NavigationAgent2D velocity_computed requires avoidance_enabled to be true to emit Berke Kocaoğlu (1): Implement `Deconstruct` methods for C# vectors Bhuvan Vemula (6): Added Additional Description for PhysicsServer2D->area_create() method. instance-scene: make parent as edited_scene if no parent selected. Added EditorCommandPalette corrected method name `set_event` `EditorCommandPalette` Documentation. command palette improvements BiBi (1): Fix Scrollbar range calculation error Bill (1): Fix overlapping hotkey designations for save all scenes and save all scripts BimDav (5): Reload kinematic shapes when changing PhysicsBody mode to Kinematic to prevent a crash when calling test_body_motion. Call reload_kinematic_shapes from init_kinematic_utilities as they are always called together. init_kinematic_utilities from the start for kinematic bodies has_setting now correctly returns true when the setting is present due to a feature tag fix a bug in get_node_and_resource Viewport canvas cull mask feature Bitlytic (1): Add _group_selected to callable methods Björn Feber (1): Fix compilation with custom "GODOT_VERSION_STATUS" Black Cat (1): Do not reset return value in release build Blazej Floch (1): Prefer discrete GPU over integrated one Bob Gardner (1): Update Resource.xml to explain behavior of duplicate when subresources is true and a subresource contains further nested resources. Bojidar Marinov (3): Always display subsequence autocompletion matches Expose the cell_size affecting VisibilityNotifier2D precision Fix a random crash in the TileSet editor Borislav Kosharov (1): fix file dialog filename cleared when selecting favorites Bradley Clemetson (1): If a gdextension library filepath is an absolute path do not attempt to append the base directory on top of that. While this is a uncommon if not unused case for a release version it is helpful for development builds. Brennen Green (4): Manually unpacked normal mapping to fix issue with refraction being offset rather than distorted. Add wakeup() conditional if previous gravity was 0 add bounds to next keying next Add shader cache and filter variable to PanoramaSkyMaterial Brian Semrau (29): Fixed next_pass materials not being drawn Fixed shader editor comment highlighting Fix gdscript and operator Fix bitwise-and eval not updating return type QuadMesh remove format ARRAY_FORMAT_INDEX GDScript Don't double-reference Refs returned from native function GDScript Check for null list in `for` loop GDScript fix wrong base class assignment [core_bind] Add `is_alive` to Thread. Replace `is_active` with `is_started`. GDScript: Access outer scope classes Fix the height fog effect Fix several issues with directional shadows Remove incorrect fog height density remapping Rename RD::free binding to free_rid Fix vulkan proximity fade Disallow compute dispatch with zero dimensions. Don't use Texture image caches if they are rendered to Make editor toasts threadsafe GDScript gracefully handle debug functions from separate thread Fix materials not updating when texture replaced/deleted Use Callable in RS::request_frame_drawn_callback Fix previews sometimes displaying wrong/blank image Rename AABB `get_area` to `get_volume` Prevent obj importer from printing misleading error Make draw/compute lists threadsafe Expose Thread::get_main_id in core bindings Fix multimesh still drawing when visible instances is zero Add support for multiple virtual keyboard types Fix Line2D UVs when using BOX end cap mode BrunoSXS (2): Fixes a game crash caused by instantiating Camera2D and sending a notification from it before adding it to the tree. Fix for documentation not appearing in preview in editor inspector C.Even (4): Fix PopupMenu behavior on MacOS when multiple monitors are used Fix project manager window centering in multi-monitor situation Fix Callable::bind usage in connections_dialog.h and packed_scene.cpp Fix that slow mouse wheel scroll has no zoom effect on 2D editor CJ DiMaggio (1): Delete DummyMesh when RasterizerStorageDummy is freed Caleb Kemper (1): Implement GodotSynchronizationContext.Send CalebJohn (1): Add regression test for gdscript valid function signature CaptainProton42 (5): Implement FLAG_UV*_USE_WORLD_TRIPLANAR Fix 3D scene preview generation. Fix GPUParticles3D generate AABB Fix GPUParticles3D local_coords Fetch extension class props from ClassDB Carlo Cabanilla (1): Let MultiMeshInstances affect NavigationMeshes Carlos Cabello (1): Add descriptive error message when trying to access a dir fails Casey Foote (1): Add support for generating noise images with an offset. Casper Beyer (4): Normalize thirdparty readme formatting Prefer constant tags for constants Fix `get_coords_level_tile_proxy` description Fix typo in `TILE_LAYOUT_STACKED_OFFSET` description Cevantime (2): fix laxist collision detection on one way shapes add force caret display to line edit Chained Lupine (1): Fix crash in ResourceImporterTexture::_save_stex if webp disabled Chaosus (579): Fix GlobalConstant/BasicTypeConstant return type in visual scripts Fix shader crash if using multiple underscores in identifier names Fix canvas_item light alpha output in visual shaders Prevent shader crash when name conflict with "dus" and "__" occured Better visual shader code generation Added missing '\n' in visual shader custom node code generation Few extra formatting fixes for visual shader node generation Added missing '\n' in visual shader fresnel node code generation Added missing '\n' in visual shader expression node code generation Fix restoring window from fullscreen to normal on Linux Restores correct window position after fullscreen toggling off on Linux Few enchancements for shader editor Prevent shader crash if invalid builtin used after array member accessor Implemented hint_range for VisualShaderNodeScalarUniform Allow non-constants for indexing builtin types in shaders Fix VisualScriptClassConstant to be updated properly [Vulkan] Implemented do/while loops for shaders [Vulkan] Fix ternary operator shader compiler expression [Vulkan] Implemented local shader arrays [Vulkan] Implements switch flow control operator in shaders [Vulkan] Implement shader array support for varyings [Vulkan] Fix typo in shading modes [Vulkan] Add repeat flag to texture preview checkerboard background [Vulkan] Fix shader crash if using multiple underscores in identifier names Implementation of 'struct' for shaders Added support for arrays as shader struct members Added high-end (Vulkan) label to some functions in visual shader Added virtual method to VisualShaderNodeCustom to enable high-end mark Fix shader crash if pass const argument to 'out/inout' parameter Fix bugs in shader swizzling Restore drag&drop textures in visual shaders Prevent usage 'out' modifier on opaque shader types (textures currently) Restore cubemaps in visual shaders Fix shader crash if duplicated struct members created Fix GDCLASS for Texture2D/TextureLayered Refactor node processing in visual shader member dialog Changed default capsule axis to vertical Add support for integer type in visual shaders Changed float type to int for INDEX visual shader input Fix resizer icon color in VisualScripts/Shaders when graph headers is on Docs for some nodes in visual shader(part 3) Added popup menu for some actions in visual shaders Place paste after copy in new popup menu in visual shader Fix shader's step hint range for integers Fix InputEventKey::echo type from INT to BOOL Removed boolean return type from majority of method in Tween Enables passing out built-in parameter from parent function in shaders Implements estimate/compute_cost for AStar2D Fix shader crash if passing const values to modf function Show shader method out/inout qualifier in intellisense Makes shader 'TIME' available in custom functions by default Removed old TIME references from shader_types Fix shader TIME auto-completion Allow to reassign local variables in shaders Fix incorrect shader block parsing Added sky shader mode to visual shaders Prevent shader crash if multiple variables has been declared in 'for' Adds warning to the uniform name in visual shader if its equal to keyword Fix shader constant sorting Added uniform qualifiers to visual shaders Some fixes for canvas item visual shader inputs Fix docs generation for Vector2i/Vector3i/Rect2i Fix shader's length() function parsing in expressions Fix custom property editor layout Use path instead classname to prevent errors for exported visual shaders Implemented global const array to shaders Added Texture2DArray support to visual shaders Fix error label clicking in status bar for shader editor Fix few places in shaders where const passing still incorrect Prevents usage of return in main shader functions Added const qualifier support for function arguments in shaders Prevents incorrect connection attempt on port clicking in GraphEdit Makes "Add new member" dialog non-exclusive for visual shaders Fix GraphEdit reconnecting to disconnected port Added 'fma' function to shader language Enables 'fma' for GLES2 Fix some incorrect conversions which lead to crash in shaders Removes redundant code generation in VisualShaderNodeTextureUniform Optimize code generation for fresnel node in visual shaders Added default value for uniforms in visual shaders Added UniformRef visual shader node Fix functions name color in visual shader code preview and expressions Fix small reconnection bug in visual shader Fix incorrect colors for member variables and numbers in visual shaders Fix specular render_mode for visual shaders Fix particles shader to use built-ins Restore Particles functionality in visual shader Improve messages in shader function validation Fix crash regression in the shader function validation Cleanup constructor code in visual shader nodes Use flags instead TYPE_ enum in visual shaders editor Removes redundant code & fix documentation for VisualShaderNodeCustom Fix some broken visual shader nodes Remakes particles in visual shaders Added `active` boolean to particles mode output in visual shaders Improve performance of Undo:change node position in visual shader Improve performance for Show/Hide port preview in visual shaders Fix ColorPickerButton to apply changes after picker popup closed Fix build warning in visual_shader_editor Added Texture3D to visual shaders Improve performance of Add/Remove/Connect/Change nodes in visual shader Fix triplanar texture code generation in visual shaders Update shader graph if mode is changed [VisualShader] Fixes default node's input port not hiding on connection Fix visual shader connection regression Renames Type to OpType in VisualShaderNodeMultiplyAdd Fix some bugs in visual shader editor Fix UniformRef invalid updating when LineEdit focus out Forbids varying declaration in particles and sky shaders Fix expressions nodes in visual shaders Fix undo for moving multiple visual shader nodes Drag & drop 3d/2d array/cubemap texture to visual shader Add an option to select a predifined constant in visual shader editor Updates size of float constant in visual shader if empty is selected Fix VisualShaderNode::set_output_port_connected Fix def parameter in Texture visual shader nodes for sky/particles modes Fix typo in VisualShaderNodeSample3D::generate_code Removed unused method Geometry.get_uv84_normal_bit Adds Metallic to spatial light input of visual shaders FIx autocompletion for emit_particle in shader editor Refactor delete nodes functions in visual shader editor Fix copy/paste/duplicate for particle mode in visual shaders Fix visual shader node expression undo/redo for set_size and expression Changes 'always show grid' hotkey to prevent conflict with 'pan mode' Added VisualShaderNodeCurve to easy gather data from a CurveTexture Fix setting the default texture to shader Removed underscore from GraphEdit begin/end_node_move signals Remove printing of windowpos/screenpos in MenuButton Fix textureSize & texelFetch shader compilation errors Fix custom property editor to correctly show Basis Shows ColorRect in Color constants autocompletion Removed redundant line from TextEdit Fix biased output of randi_range Exposed randi_range to global funcs + renamed rand_range to randf_range [Mono] Added Shuffle method to Array Added extra warning to VisualShaderNodeTexture + fix warning appearing Restored antialiased lines by emulation using triangle strips Fixed invalid visual shader outputs (TRANSMISSION, ALPHA_SCISSOR) Fixed several visual shader inputs Fixed crash in canvas_item_add_polyline if color arr has incorrect size Reversed Toggle Script Button icon Fixed crash in visual shader on changing input when preview is visible Fix few bugs in visual shader expressions Fixed some errors when changing port name in visual shader expressions Frees CanvasShaderSDF reference (prevents warning at startup) Fixed mouse scrolling in TextEdit's Added a note describing a code behind Vector2/3.direction_to Added support for constants in shader `case` and array size declaration Show constructor arguments in Search Help panel (for basic types) Fix broken members panel in visual script editor Added GraphEdit properties to control lines thickness and antialiasing Makes strings translatable on right-click menu in visual shader Fix using post-init shader array constructors Added optional id parameter to `PopupMenu::add_separator` Add convert options between constants and uniforms in visual shaders Fix window restoring after fullscreen again Fixed warning at project startup (WIN32) Auto-assign default value for variable in visual script on type changing Fix shader editor documentation link Fix PopupMenu's which are not closed after a recent commit Removes semicolon typo in display_server_windows Fix LIGHT compilation for canvas shader Prevent crash due to assigning incorrect order of instance uniform Pushes visual shader code preview to separate window Fix shader uniform instances compilation Renamed `emit_particle` to `emit_subparticle` shader function Fix invalid visual shader context menu popup size Fix replaced visual shader nodes updating Auto-creates a port in visual shader expression on dragging from Unified several visual shader nodes Added SDF nodes to visual shader Renamed String.ord_at to unicode_at Reveals Button "icon_color" style properties to the user Added missed Button `font_hover_pressed_color` style Fix particles not properly modified by their lifetime Attempt to connect to first correct port on dragging in visual shader Fix port previews for uniforms in visual shaders Allow passing varying from fragment to light shader function Fix `SceneTreeEditor::update_timer` - timeout signal Prevents shader crash if passing invalid struct to the return statement Added Comment node to Visual Shaders Prevents shader crash if two struct with the same name are declared Fix GraphEdit connects when graph is zoomed/unzoomed Removes redundant code from get_input/output/_port_type (visual shaders) Fix incorrect switching port type in VisualShaderNodeStep Fix parsing hexadecimal (lowercase `e`,`f`) in shaders Check before connecting `TileMapEditor::settings_changed` Fix typo in visual shader context menu Prevents TextureUniform in visual shaders from conversion to constant Fix separator duplication in visual shader context menu Fix doc theme not changing when its hidding Prevents default values of VSNodeCustom from overriding by a script Fix `sky` visual shader mode after last rename Fix shader handle constant expressions in function call Fix typo in shader_language.cpp Prevents VisualShaderNodeComment from overlapping its content Show colored rects for autocompletion of Color constants in functions Implements length() shader function for arrays in structs Updates script list colors after theme is changed Fixes non-atomary action of dragging resources on visual shader graph Basic warning support implementation for the Godot Shading Language. Allow shader arrays to be passed as parameters and return value Fixes adding nodes on dragging in visual shaders Implements expandable color ports in visual shaders Makes few shader built-ins constant to prevent changing them Fixed console error spam (about invalid edited scene index) Fixed possible crash in `DynamicBVH::optimize_incremental` Added Billboard Node to Visual Shaders Fix changing theme coloring for error label in VisualShader editor Fix property editor to make changes if popup closed (remake) Prevent shader crash when returning array when return type is scalar Fixed color for node headers in visual scripts Adds `UVFunc` for panning/scaling on UV's to VisualShader's. Continuation of work on visual particles system Removes deleted OrenNayar mode from shaders and materials Fix shader compilation with render_mode: `specular_phong` Fix `length()` array function usage in shader Fixed a bunch of connection errors in TextureEditorPlugin Fix auto-connection from output node to input (VisualShaders) Added a shader warning about unused local variable Added Curve3Texture to Visual Shaders Fix a connection bug in visual shaders Fix creating a new function in visual scripts Auto-set a first compatible uniform on dragging to create a UniformRef Removes lines about window size from the console output Prevent error if varying assigned but not used (push warning instead) Prevent function gen in visual shader if no out connection is provided Prevents some warnings from appearing in visual scripts Fixed typos in `TextEdit::GutterType` enum Fix Output panel colors on theme changing Fix function code generation for uniform triplanar node in visual shader Forbid varyings from assigning in custom functions to prevent crashes Removes EmitParticle node from the start functions in visual shader Allow using vertex varying in custom functions under any circumstances Allow using vertex-stage varying in both `fragment` and `light` Fix compilation of `shader_language.cpp` Prevents shader crashing if varying assigned incorrectly Fix editor crash if passing index as variable to function parameter Fix icon colors in 3d editor on theme changing Clear debug process id at `stop()` to prevent invalid checking of them Fix crash on doc dragging in script list panel Prevent warning spam to console when dragging a CanvasItem in container Makes dictionary instead of string for visual shader version Added more input/output built-ins to visual shaders Fix incorrect checking of uniform set to prevent error spam Fix a default shader specular render mode to (`SCHLICK_GGX`/`BLINN`) Added editor dialog for easily creating shaders. Fix some bugs in shader creation dialog Fix some bugs in shader creation dialog (continue) Added small offset to the content of nodes in VisualShader Fix incorrect border width of antialiased lines Fix shader crash when using varying array in fragment->light context Fix incorrect position of the created VisualShader nodes on zoomed graph Allow using more assignment operators on matrixes in shaders Break futher shader compilation after missing `;` after`shader_type` Few improvements for constants in visual shader Changed `TransformMult` node to `TransformOp` in visual shaders Better port handling connection for `GraphEdit` Removes an internal error report if shader fails compile Added parameter names to shader built-in function autocompletion Fix printing error about unsupported modifier on `TransformUniform` Fix shader crash when using local var with the same name as varying Fix incorrect word block colors in the inspector tooltip Fix incorrect completion popup size of `CodeEdit` Added missed limiters for Visual Shader node enums Makes a clear error message if shader compilation failed Fix incorrect inheritance of `VisualShaderNodeParticleAccelerator` Fix incorrect uniform buffer size for particles Removed `RESTART` built-in from `start` particle shader function Added port type content filter on port dragging in visual shader Fix incorrect checking of uniform set to prevent error spam (2) Fix startup warning - Property not found: `audio/output_latency` Fix editor crash on pressing `Go to Previous Bookmark` menu button Prevent error generates if `Delete Line` used on last line in CodeEditor Added status bar and toggle scripts panel button to EditorHelp/VScripts Fix pressing `Add Node` button in visual shader editor Fix incorrect call of `_center_on_node` in VisualScript editor Fix shader crash when passing array to built-in function without index Draggin in/out from ports to create nodes in Animation Blend Tree editor Prevent local constant default value from incorrect override by a global Prevents editor crash when compare with negative float in shader Add selection getter methods to `LineEdit` Fix incorrect offsets of tooltip content in `CodeEdit` Add `texture_changed` signal to `Sprite3D` Added support for uniform arrays in shaders Fix syntax parsing error of uniform arrays declaration in shader Fix shader crash when passing array.length to functions Add missing shader built-ins Fix regression which prevents using texture array uniforms Fix shader crash when passing array to index expression Allow declare the shader arrays with a size defined before identifier Fix shader crash on using METALLIC and ROUGHNESS built-ins in light func Fix autocompletion of built-in functions in GDScript Make port previews in visual shader visible in other shader modes Add a default input parameter field to CurveTexture (in visual shaders) Added few more built-ins to shader language Fix `wireframe` render mode Fix errors on quitting from an empty project Prevent a rendering crash and error spam for uniform texture array Fix built-in texture samplers passing for spatial shader mode Prevent shader crash when passing constant expression to `textureGather` Fix error spam at setting a CurveTexture in visual shaders Removed incorrect autocompletion of matrixes in shader Fix crash when opening a converted `FogMaterial` Fix crashing of `FogVolume`s when `WorldEnvironment` was added Repair Fog mode in visual shaders Added convertor from `ORMMaterial3D` to `ShaderMaterial` Fix error spammed to output if `FogVolume` is setted to scene Refactored copy/paste of visual shaders, implement 'Cut' feature Added 2D boolean hint for particle emitters in visual shaders Added `MeshEmitter` node for particles in visual shader Fix example in `NoiseTexture` doc Pushes array of uniforms to first place in the buffer to prevent bug Prevent identifiers from naming as built-in funcs and global classes Fix shader crashing when using `ALBEDO` or `ALPHA` in light function Fix default_texture_param in shader pipeline to support uniform arrays Fix editor crash due incorrect setup of default texture in visual shader Fix broken light_compute in mobile renderer Allow using built-in names for variables, push warnings instead Fix debugger tab which don't resetting after pressing clear button Expose `randfn` to global scope Fix `randfn` in visual scripts Fix `ColorPicker` inverted input on color circle Enchance `VisualShaderNodeMeshEmitter`, add more ports and fix bugs Allow passing non-variable constant to const function param in shaders Added `reset_size` method to `Control` and `Window` classes Prevent return statement from using in block in shader main functions Enchance descriptions of @GlobalScope/@GDScript Revert "Pushes array of uniforms to first place in the buffer" Restore console window output for editor app on Windows Fix uniform array alignment to fix a bug Fix console colors on Windows Prevent crash when passing empty array to MeshEmitter Fix `TIME` using in custom functions of particle shader Fix built-in(PI, TAU, E) assignment to a global constant in a shader Fix `INDEX` built-in in a process function of particle shader Fix shader crash when assigning array to non-array in global constant Allow using empty statements in the shader, added formatting warning Fix declaring array size twice in global shader constant Fix shader crash when using existed constant name for struct Fix `^=` operator in shaders Add bitwise operators to `VisualShaderNodeIntOp` Add `New Shader` option to the FileSystemDock popup menu. Fix error emitting when called new shader dialog from resource dialog Add CanvasItem mode support to the MaterialEditor Make `compile` shader function to use struct instead long parameter list Added completion for uniform hints in a shader Refactor constant suffix parsing in a shader Restore shader parsing errors with lack of semicolon in a block Fix highlight for completion options match (rebased) Fix shadowed global identifier warning duplication Allow declaring multiple members in one expression in shader structs Fix incorrect placement of default value editor in visual scripts Fix shader crash when assigned array from struct to a variable by index Rename shader hint `filter_aniso` to `filter_anisotropy` Fix shader array parsing in variable declaration Rename shader hint `filter_anisotropy` to `filter_anisotropic` Fix struct usage passing to shader warning system Add texture filtering properties to `VisualShaderNodeTextureUniform` Refactor render_mode in shaders, forbid declaring duplicates Fix default texture of unassigned sampler with hint_normal Allow pass varyings as out param to the function, when it's possible Fix size of the default property popup after opening a Color property Fix cursor stucking in resize shape Fix incorrect updating global uniform buffer Add a shader warning when the uniform buffer limit is exceeded Add a check for device in shader lang to prevent startup editor crash Fix `world_vertex_coords` render mode usage in the shaders Prevent error emitting when clicking on error in code text editor Add a GDScript template for `VisualShaderNodeCustom` A small visual shader editor refactoring Enhances a shader uniform limit warning Add context menu to visual script editor Optimize include files to improve `shader_language.h` compilation speed Add option to filter the stack variables of GDScript debugger Auto-set a port source for texture nodes created by dragged connection Fix theming changes in the inspector Prevent redefinition of main functions in shader Add completion for shader_type Fix completion for global constants in shaders Fix shader crashing when declaring matrix or array varyings Flush input events before destroying the window Refactor size expression parsing for arrays in the shaders Fix theming update in several editor classes Fix assetlib crash Unify variable and array declarations in shaders Fix toast notification button color on light theme Add translation links to shader errors Fix undo after non-last port removal in `VisualShaderNodeExpression` Fix default input port hints for some modes in visual shader Remove transform input from fog mode in visual shaders Fix incorrect unused local var warning in shader blocks Remove incorrect items from completion of main functions in shader Fix theming update of shader editor Prevent checking of global uniform type outside the editor Refactor AddOption in visual shader editor [VisualShader] Merge scalar and vector derivative functions into one Fix theming of doc background Add support for 2D vector type to visual shaders Allow multiple declarations in for loop in a shader Few more fixes to for loop in shaders Fix unknown identifier error in for loop Rename `PORT_TYPE_VECTOR` to `PORT_TYPE_VECTOR_3D` Add some more fixes to visual shader Fix antialiasing for beginning/end of line in `canvas_item_add_polyline` Fix crash on creation of `HSV2RGB/RGB2HSV` functions in visual shader Adds few more input/output built-ins to visual shader Add varying support to visual shaders Fix _update_varyings call in visual shader Add `_get_func_code/_is_available` virtual functions to custom nodes Fix `VisualShaderNodeCustom` script template Allow making multiline annotations in GDScript Prevent crash due to empty error message on empty extends in GDScript Add "Add Script" option to project autoload settings Fix default value count checking for inherited function Remove generating of null comparison operators from documentation Add an error emitting when the `@export_flags` arg count is exceeded Fix editor crash when renaming visual shader port Rename several transform built-ins in shaders Rename `AStar` to `AStar3D` Prevent NARROWING_CONVERSION warning for int(float) function in GDScript Add refs to shading language to the desciption of input nodes in vshader Remove `SHADOW_ATTENUATION` spatial light shader built-in Fix autocompletion of static methods in built-in types in GDScript Fix shader crashing when attempting to access `length()` at global space Fix incorrect parsing array's `length()` at return statement in shader Fix lookup symbol in scripts which doesn't open a tab at first attempt Restore antialiasing for `draw_line` Fix typo in `GDScript::range` doc Continue to improve vector4 type in visual shaders Prevent shader crash when using precision on boolean types Add keyword completion to shader editor Add `hint_color` support for `vec3` in shaders Change output port of `VisualShaderNodeColorUniform` to vec4 Push `HSV2RGB/RGB2HSV` to `ColorFunc` (from `VecFunc`) in visual shaders Fix instance uniform shader crash in custom functions Rename `hint_albedo`, `hint_white/black` in shaders Implement exponential operator (**) to GDScript/Expressions Fix incorrect precedence of pow operator in GDScript Fix signal completion in GDScript editor Add node list param to `GraphEdit::delete_nodes_request` signal Fix tonemapper shader to correctly apply alpha channel Fix crash when extending inner class in GDScript Fix incorrect keyword completion after period in shader editor Fix connection of subports after uniform->constant conversion in vshader Fix errors when materials attached to 3d object are not freed Refactor shader hints Fix `wrapf` to correct wrap values with 0.1 stepping Fix `TIME` compilation for custom functions in spatial shader Fix incorrect sky rotation based on camera axis Distinguish Length function name to Length2D/3D/4D in visual shaders Prevent defining float constant without number after exponent in shaders Remove engine version from visual shader Revert vector4 output ports in visual shaders Add a null checking to `GDScript::_super_implicit_constructor` Make AStar to use 64-bit logic Remove redundand header from `a_star.h` Add generalized version of `wrap` function Fix `help_title_font_size` editor property to correctly apply to docs Prevent possible crash when mesh is freed Implement `rotate_90/rotate_180` functions to `Image` Fix visual shader graph not correctly updating when multiple tabs opened Fix icons not loaded correctly in the visual shader editor Fix error emitting when opening some textures in the inspector Rename `epsilon` to `tolerance` in the `Plane::has_point` method Adding shader preprocessor support Fix some errors after shader preprocessor PR Fix clearing errors indication in the shader editor Fix errors when using built-ins in shaderinc Implement shader uniform groups/subgroups Add a check to prevent duplicating connections in visual shader Fix `FOG` built-in in spatial/fragment shader Fix incorrect conversion of default value for mat4 uniform in shaders Fix passing values to the instance uniforms in the shader Prevent global functions from overriding completion of subscript Add `textureProjGrad` function to the shader language Add `textureQueryLod/Levels` functions to the shader language Implement coloring for disabled branches in the shader editor Add `elif` directive to shader preprocessor Add `defined` keyword support to shader preprocessor Remove `String::erase` method declaration Add constructor accepting four Vector4's to `Projection` Fix input map settings theming Allow using integer varyings with `flat` interpolation modifier Fix category of new added visual shader functions Prevent crash at loading some scenes Implement `AStarGrid2D` class with jump-point pathfinding Rename `uniform` to `parameter` across the engine Revert usage of typed array in `add_surface_from_arrays` parameters Add compatibility class for `VisualShaderNodeFloatUniform` Fix code generation for `VisualShaderNodeTextureParameterTriplanar` Add conversion for uniform_name property in visual shader Remove subcategory parameter from `AddOption` in visual shader editor Remove `shader_type` from completion (when it does not need any more) Add documentation for `AStarGrid2D` class Prevent duplicated hints in shader uniform completion Fix last_modified_time on scripts Fix incorrect heuristic order in `AStarGrid2D` Fix completion for variables initialized by `get_node` call Fix category of view_index inputs in the visual shader editor Fix sorting of uniform items in the material properties Fix processing of some types in `math_fieldwise.cpp/fieldwise_assign` Add defines to completion list in shaders Fix completion of parameters in function call Fix completion of parameters in function call (2) Fix global uniform crash at editor startup Fix boolean connection to ports of other types in visual shader Add ability to rename groups in the GroupsEditor Fix incorrect offset for vec3 datatypes in `_fill_std140_ubo_empty` Fix incorrect setup of boolean uniform instances Add a `Plane(Vector3, Vector3)` constructor for C# Fix editor crash when assigning some uniform hints to the textures Fix code generation for some visual shader nodes Fix crash when calling `fill` method on an empty `Image` Fix enum type to use int64_t instead of int in GDScript Make code generation for shader boolean uniform instances easier Fix predefined constants to be accessible in the shader includes Add missed Quaternion constructor to C# Fix named enums to use int64 type Some fixes for instance shader parameters Fix `Shader::has_parameter` to return a correct value Fix completion popup for the variables created with `get_node` call Mark shader built-ins as used when passed to functions as out parameter Fix the bounds of varying popup in visual shader editor Prevent stack overflow when setting a shader global value Fix GDScript completion crash Expose `BarrierMask` as flags enum in `RenderingDevice` Fix using signals in lambda functions Fix Quick Open window to use EDSCALE and save the size between popups Fix custom visual shader nodes not being loaded at startup Changed `RenderingDevice::TextureUsageBits` type to enum flags Fix lookup code to pass functions with the same name as built-ins Reset unassigned local variables to null in the loops Fix new quick open dialog to be showed at the center of the screen Fix setting a global shader variable in the project settings Fix completion for the raw `get_node` call Fix incorrect rendering of vcs dialogs Fix lookup to docs for variables initialized with `get_node` Make custom visual shader nodes automatically updates from script Fix changing of visual shader mode Optimize a code generation of visual shader particles Changed `RD::PipelineDynamicStateFlags` type to enum flags Improve documentation on heuristics in AStarGrid2D Refactor `ShaderData` & fix the sorting of shader uniforms Restore `AudioStreamEditor` class Fix missing GDCLASS headers in the editor preview plugins Changed `STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT` type to enum flags Fix the update of the inspector when instance shader uniform has changed Prevent showing AudioStream preview for non-WAV types Add a note for `inst_to_dict` to prevent using it on built-in instances Restore weight scale for `AStarGrid2D` (partially) Add missing != operator to `StringName` Fix empty zero assigners for the variant types Add `get_point_position` method to `AStarGrid2D` Remove unused code paragraph from gdscript_editor.cpp/complete_code Fix shader crash when using boolean type for vertex->fragment varyings Divide `AStarGrid2D::default_heuristic` into two different heuristics Add missing CUSTOM inputs for the spatial/vertex mode of visual shader Optimize `wrapf` function a bit Add `uint` type support to visual shaders Fix jumping in `AStarGrid2D` when `DIAGONAL_MODE_NEVER` is enabled Fix errors when creating/deleting `VisualShaderNodeExpression` in graph Fix error in `AstarGrid2D::get_id_path` Add few improvements for `VisualShaderNodeParticleRandomness` Fix various crashes of ParameterRef nodes in visual shader Clear material arrays to prevent freeing of invalid texture RID Fix node preview crashes after updating visual shader node Fix GDScript script templates to use a PascalCase style for `_CLASS_` Some refactoring for visual shader texture functions Fix code generation for ProximityRange node in visual shader Enchance the performance of `AStar` by using a `LocalVector` Add handling of script creation/deletion for custom visual shader nodes Fix array of token names in the shader parser Add derivative functions with precision to shaders Enchance the performance of AStar by using a LocalVector(2) Use mix for vector types in switch node in the visual shader Fix shader failure when using non-const initializer on a constant Prevent preview error for the instance parameter in visual shader Forbid passing multiview sampler to the custom function in shaders Charles Crete (2): Fix "Double-click on the TileMap's pattern prints an error" (#70892) Fix "2D Polygon indices are barely visible on bright background" (#38009) Charles Merriam (1): Fix typo in the ProjectSettings class documentation Charlie Burnham (1): Fix recommended snippet for getting collisionshape node in body/area signal docs Cheeseness (1): Skip indentation of empty lines when indenting a selection. Chenzo (1): Add raise -> move_to_front rename line Chia-Hsiang Cheng (1): Disable the OK button when no node is selected. ChibiDenDen (2): Fix bufSize parameter for glGetSynciv Fix use-after-free for VkAttachmentReference Chistpohe LY (2): auto re-import atlas, fixes #40047 bug with Tween.is_active, fixes #39760 Chris Bradfield (2): [DOCS] minor description changes Rename motion_velocity to velocity Chris Hutchinson (1): Prevent crash in ImmediateMesh.create_outline by ensuring that when no indices are specified, the number of vertices is at least a factor of 3. Fixes #73201 Chris Ridenour (1): Modularize the Color Picker via properties. Chris verBurg (1): Link to Container tutorial Christian Cuevas (1): Fix "Search" match inconsistencies Christoffer Sundbom (1): Tween: Add null check for target object Christoh Prenissl (1): Checking path variable if empty before opening external editor to fix #71528 Christoph Nelles (1): Tree: Fix de-select when selection mode set to SELECT_ROW Christoph Schroeder (1): Fixes touch events for HTML Christoph Schröder (1): Move mouse wheel handler from window to canvas element in HTML ChristopheClaustre (2): New to_***_array method to decode PackedByteArray to Packed***Array Documentation for new PackedByteArray::to_***_array methods Documentation for to_byte_array method for PackedInt32/Int64/Float32/Float64Array rendering_device: if one compiles with at least on stage without sources, it was always returning an unusable bytecode (because errored) Christopher Davis (1): platform: Update metadata for export platforms Christopher Joseph Dean Schaefer (1): Enhanced physical device selection to use device type and available memory in relation to issue #35397 Chuck (2): Support multiple address resolution in DNS requests Fix DNS resolve mutex locks Clay John (285): Add support for 3D textures to GLES2 Unexpose ARRAY_COMPRESS_BASE Update docs to version 4.0 Finish documenting BakedLightmap and TextureLayered Fix Specular Blinn in vulkan Fix error flood with sky background properly flip sky when rendering reflection probes Properly free many vulkan resources Basic fast filtering implementation Reduce descripter sets in cubemap filter Remove minimum size for shadow atlas Improve cubemap importance sampling Force mipmaps off when importing RGBA4444 textures Properly free reflection probe atlas Working sky shader implementation Replace subpass textures with color in sky shader Invert subpass cubemap z direction Add a method to retrieve active material from MeshInstance Avoid material rebinds when using skeletons Add proper quality settings to soft shadows Fix SSS affecting Sky Fix texture check in decal setup Use sky properly for ambient and reflections Add light size to Sky Shaders Update many docs with recent rendering changes Use proper depth buffer format for rgba shadows Calculate sun diameter even when not using shadows Force using floats in cubemap coefficient Add night sky to PhysicalSkyMaterial Add incremental update mode to sky Improve the quick hash function for all GPUs Add fog to sky shaders Fix recent glow regressions Add high quality glow mode Set repeat in all 3 dimensions in 3d textures expose local RenderingDevice creation to RenderingServer Return proper texture view format for decals Add aerial perspective to fixed fog Optimize Glow with local memory Add FOG, RADIANCE, and IRRADIANCE shader overrides Replace SAO implementation with MSSAO Add sky_only setting to DirectionalLight3Ds Remove extra exposure multiply in FXAA Environment brightness, contrast, saturation restore with color correction. Fixes to recent Vulkan errors Port ASSAO to Godot to replace SAO Use basic uniform set for depth prepass Use cubemap downsampler for reflection mipmaps Cleanup leftover functions from adding SSAO SSAO cleanup and fixes Use Interleaved gradient noise for shadow samples Add named resources and debug labels in RenderDoc Add check for sun in PhysicalSky Rename get_surface_material to get_surface_override_material Fix roughness limiter derivative Store SSAO uniform sets per viewport Move assignment of SSAO radius push constant Add horizon specular occlusion Make Blinn and Phong specular modes PBR Use f0 instead of albedo in blinn and phong Use hint_albedo in SkyMaterials Compute horizon so threshold before transformation Hide render_priority except when using SpatialMaterials Remove bogus sky error check Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog Weight glow samples to reduce fireflies Use OpenGL 3.3 core profile instead of compatibility profile Validate fog volume properties Added SSIL post processing effect Fix SRGB conversions in Vulkan Renderer Convert PhysicalSkyMaterial colors to SRGB New OpenGL batching canvas renderer Remove mistakenly added author info Fix cannot use gaussian blur error Remove mistakenly added push constant from SSR Fix volumetric fog memory leak on resize Remove TRANSFORM built in from fog shaders Update Sky lights in sky setup function Optimize and fix backbuffer gaussian blur Properly exclude lights that are marked as sky only Use prefiltered radiance Revert "Fix default sky process mode not being Real-Time" Revert "Default to real-time radiance map filter for environment sky reflections" Use properly use non-perceptual roughness when filtering radiance Fix shader compilation error with anisotropy Use Filament specular models and parametrization Initialize OpenGL before rasterizers in GLES3 Clamp Gradient and Curve Textures in ParticlesMaterial Overhaul GLES3: Add basis for 3D renderer, overhaul materials and textures Add MeshStorage to GLES3 Add LightStorage functions to GLES3 renderer Use linear mipmap sampling in ToneMapper SkyShaders working SceneShader compiling Basic 3D rendering Fix custom irradiance bug in Vulkan mobile renderer Add basic lighting to GLES3 renderer. Fix sky updating when DirectionalLight mode changed and shader compatibility for certain drivers Use IGN instead of white noise for sky dithering Add clipping, backbuffer, and CanvasGroups to 2D GLES3 renderer Implement 2D Meshes and MultiMeshes in GLES3 backend Implement NinePatchRects in GLES3 renderer Remove mesh and particles RD dependencies from canvas rendering server Fix error with !rb spam when using background color mode with reflection probes Add and improve license attribution for SSAO and SSIL shader code Use RenderBuffer size instead of half extents for VIEWPORT_SIZE in Vulkan spatial shaders Assign VIEWPORT_SIZE after validating screen_size to avoid crash when using ReflectionProbe Remove GLES2 shader constraints from GLES3 Implement MultiMesh in 3D and flesh out MultiMesh functions Precompute on the CPU as much as possible for the Cubemap filter shader Evaluate specular reflections using specular dominant direction instead of assuming mirror reflections Use full size mipmaps for reflections when in high-quality mode Treat specular less than 0.02 as occlusion Fix various bugs in GLES3 renderer that stopped it from running on web Disable multiview shader versions when xr is disabled Add shader uniform hints for screen textures so users can specify custom filter and repeat modes. Detect if VRS supported before creating default VRS texture Bind uniform buffer locations for lights even when no lights present to comply with strict webGL drivers Properly scale depth in bokeh_dof effect so that setting distance to blur effect is accurate again Remove requirement to have vertex positions when creating a mesh. Meshes can now be constructed from an index buffer alone Remove QuadMesh and add orientation parameter to PlaneMesh Implement Physical Light Units as an optional setting. Fix rendering when using WebGL2. Fixes include using proper depth buffer format in 3D (this had previously been fixed already but the changes were lost in a rebase), Remove unused lighting and shadowing code in 2D, and update 2D UBOs using glBufferSubData so that they remain the appropriate size. Properly scale SSR reflection based on metallic value for dielectric materials Use proper color type for transparent render targets in GLES3 Apply energy conservation to LAMBERT_WRAP and TOON diffuse modes by dividing by PI Fix multiwindow support in GLES3 for X11, Windows, and MacOS. Fix leaking of Mesh version and lod memory when freeing mesh in GLES3 Move debanding into internal sky shader code so that it is applied after everything else. Clear last frame directional light buffer when number of lights changes. This ensures that the buffers don't go out of sync. Fix canvasitem shader builtins when using GLES3 Remove prefix canvas_data. as it isn't used in the internal canvasitem shader Decode octahedral compression when retreiving meshes Validate physical light units in GI classes. Add checks for physical light units in a few more places to ensure they aren't used when disabled. Free preview sun and environement on editor close. Previously, they would only be freed if they were in the editor node tree. Restore fog in vulkan mobile renderer. The condition accidentally disabled fog whenever it was enabled Add QuadMesh back as a subclass of PlaneMesh. This simplifies the creation of billboarded meshes without any code overhead. Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer). Emulate double precision for regular rendering operation. We calculate the lost precision on the CPU and pass it into the GPU so that it can calculate an error-corrected version of the vertex position Properly initialize motion vectors offset when motion vectors are disabled. This fixes an uninitialized memory bug that caused particles to fail in non-LTO builds Set QuadMesh default size back to 1 Move deband to end of tonemapping. This avoids artifacts when using adjustments and color correction Take FXAA samples from half-pixel coordinates to improve quality Clean up canvas light shader API. Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL. Add LIGHT_DIRECTION Use mobile as the default rendering method on mobile when vulkan is supported Default CanvasItem materials to not convert uniform colors to linear space. Update Instance flags in shaders to match instance flags in engine Properly expose TEXTURE_PIXEL_SIZE in Opengl3 renderer Properly assign texture RID when creating ImageTexture3D Use a giant UBO to optimize performance in 2D Add OpenGL timer queries to OpenGL3 backend Fix material overlay overriding shadow casting logic Material overlay should only cast a shadow if it can cast a shadow and the instance can cast a shadow Allow clearing backbuffer after finishing CanvasGroup Add 2D lights to OpenGL3 canvas renderer Implement RETURN_VALUE_DISCARDED warning in GDscript Improve behaviour of clip_children by clipping to parent alpha value, but still retaining parent color Implement multiple clip_children modes for CanvasItems Add STATIC_CALLED_ON_INSTANCE warning to highlight when static functions are called directly from objects Fix error in Web builds that resulting in 2D objects not drawing in the GLES3 backend. Fix drawing of 2D primitives in OpenGL3 renderer Previously the wrong vertices were used when assembling the second triangle of a quad Update the DisplayServer video driver error message to be more accurate and friendly Use CameraAttributesPractical in the editor default environment Default to Opengl3 driver when using the project manager Remove depth correction in GLES3 renderer Correctly set number of particle dispatches when setting view axis Correctly rename to read_model_matrix when using shader builtins that rely on model matrix Fix ss_effects_flags uniform in clustered forward renderer Add 2D shadows and canvas SDF to OpenGL3 renderer Add texture reading code to OpenGL3 renderer for web and mobile Bind DirectionalLight buffer to uniform slot even when not used Add rendering team as GLES3 CODEOWNER Fix pathological corner case in drawing tileset editor Scale light shadow bias by soft_shadow_scale to reduce shadow acne on high quality settings Request redraw in OpenGL3 and mobile renderers when TIME used in shader Fix GPUParticles not rendering in doubles build of the engine. Use raster versions of copy effects for 2D operations when using the mobile renderer Ensure user shader is used in depth pass when point size is used Enable mipmaps in cubemap roughness shader Implement texture_proxy_update which is needed for AnimatedTexture Properly set TIME shader uniform when rendering shadows Implement is_animated and casts_shadows Fix alpha hash by correcting typos and doing calculations in object space Add GPUParticles to the OpenGL3 renderer. Set vsync on window creation when using GLES3. Finish implementing Canvas Background mode Fix drawing of 2D skeletons in the RD renderer. Expose model_matrix in GLES3 scene fragment shader Ensure class name is printed in STATIC_CALLED_ON_INSTANCE warning Fix drawing of Mesh2D Ensure that mesh instance is properly freed when freeing Polygon2D Add Skeletons and Blend Shapes to the OpenGL renderer Enable GLES3 on Android Properly remap roughness when reading from radiance map Allow black metallic materials to reflect IBL Exposure emulated *Unorm4x8 glsl functions in non-android builds Use internal texture name when setting texture uniform location in OpenGL renderer Clean up specialization constants in OpenGL scene renderer Properly free Skeleton RID in RenderingServer.free() Detect and report if 2D particles use the screen SDF Index override surface name starting from 1 to match surface name Fade out SSR with roughness so that it doesn't show at high roughness amounts Ensure that rim lighting uses a exponent base greater than zero Remove high quality glow as it is not any higher quality than regular glow Various fixes and documentation for CanvasGroup Added gl_compatibility as an option to the project creation screen Remove comma in gl_compatibility message in new project creation menu Initialize light index push constants to 0xFFFFFFFF instead of 0xFFFF Remove extra range conversion in Sprite3D normal encoding Cache mesh AABB when modified by skeleton and update instance AABB when skeleton changes Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain Use instanced array buffer instead of UBO for canvas item batching Expose GeometryInstance3D.custom_aabb property Use large offset for tilemap layer level canvas items Implement render_target_was_used API so that Viewports can properly check if they have been used. Don't attempt to create or use an R8_UINT texture as storage if VRS is not supported Transform sdf xfrom by particle emission transform when particles are in global space Implement boot image in OpenGL3 renderer Enable using filtering on boot image in RD renderer Switch surface indexing to start at 0 so string name matches integer index Ensure that particles are processed at least once before being used Disable particle trails particles when parent parent is not active. Check for disabled particle trail particle before initializing particle trail Avoid updating particles during 2D rendering Remove compatibility code for MeshInstance3D surface override material Ignore depth draw optimization when using depth draw alpha prepass Always try to clear render target before drawing 3D with Canvas BG mode Use proper indices for lights, decals, and reflection probes in mobile scene shader Properly map shader language texture hints to sampler hints in GLES3 renderer Only disable depth writing in opaque pipelines Fix multiple issues that make the normal roughness texture unusable Take alpha antialising options into account when setting up materials Remove normal_map from MeshInstance2D and MultiMeshInstance2D Only setup depth framebuffer properties when not rendering ReflectionProbes Avoid crashing when custom GLSL shaders are imported when using the gl_compatibility renderer Enforce a default minimum lightmap size hint size Properly initialize directional_light_count in RD sky shaders Warn when trying to enable TAA from mobile or gl_compatibility backend Update ImmediateMesh to use octohedral encoded normals Decompress RA_AS_RG formats on Web platform in GLES3 renderer and disable texture swizzling Flag dirty dependencies when GeometryInstance dependencies change in renderer Remove light from dynamic light list when removing scenario Use a fixed width of 1 pixel for editor debug UV drawing Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE Use proper space for forward GI reflections Sort decals and lights based on camera origin Add mutex when adding geometry instances to the dirty list in the Forward Clustered renderer Decrement texture_binding count when using screen textures Assign light indices after sorting in OpenGL renderer Stop incrementing light_count once max number of lights are reached in 2D canvas renderer Ensure that Particles have fully initialized before doing view axis pass in RD renderers Add a few more checks to ensure that unsupported image formats are not used in the mobile renderer Document some RenderingServer and RenderingDevice methods and constants Validate another case of using DATA_FORMAT_A2B10G10R10_UNORM_PACK32 texture with storage flag Properly append global uniform buffer name in gl_compatibility shaders Automatically transform Skeleton2D calculations so pivots are not needed Remove cap on number of items drawn in frame in 2D gl_compatibility render Add a shader error when trying to using hint_normal_roughness_texture in the gl_compatibility renderer Fix various crashes relating to low roughness_layers Remove viewport_set_disable_environment in favor of viewport_set_environment_mode Avoid crash when CanvasTexture used with light decal atlas Check if Skeleton exists before reading when calculating blend shapes Avoid leaking texture->tex_id when clearing render targets Expose RenderingServer.canvas_light_blend_mode Ignore instance color and instance custom_data when not used in the OpenGL renderer Avoid shading CanvasGroup nodes twice Implement cull_mask for decals and lights in mobile and compatibility backends Set instancing flags when using GPUParticles in OpenGL renderer Add more debug information to swapchain errors in Vulkan context Mark fma function as high end so it isn't used with the gl_compatibility renderer Properly reset blend mode when resetting canvas in compatibility renderer Do clear request before reading from render target when using CANVAS_BG Avoid inserting screen_texture compatibility code when using textureSize Set Default compression to VRAM uncompressed for LightmapGI Store blend mode between CanvasItems to preserve batching Notify mesh surface when render_priority changes Bias octahedral tangent y axis to avoid errors around 0 Clear Window before blitting Viewport in gl_compatibility renderer Avoid branch in half2float in gl_compatibility renderer Fix sampling bug when SSAO is using half size Only include emission when enabled in material during VoxelGI bake Avoid unecessary binding of occlusion polygon vertex array Correct docs for keep_scale in BaseMaterial3D Increase SSAO and SSIL bias to account for variance in mipmap generation Use multiple threads to import HDR images Remove CVTT upstream changes to packing unpacking of BC6H formats Add warnings for unsupported features in mobile and gl_compatibility backends Cnidarias (2): Fix http limitation for large "content-length" Fix OGG Vorbis playback with more than one channel CodeforEvolution (1): miniupnpc: Sync with upstream master (4436632) Colin Kinloch (1): Add typedef to GDNativeInstanceBindingCallbacks Connor Lirot (1): Fix for linux joypad D-pad zeroing ConorLPBoyle (1): Fixed reload_goal not being called when SkeletonIK3D::start is invoked with p_one_time = true Conrad H. Appel, IV (1): Fix GPUParticles2D not recomputing transforms each frame ConteZero (15): Added primary clipboard for Linux Fix primary clipboard warning Add option to make selection unique Fix drag and drop on LineEdit Add drag and drop to TextEdit Add drag to RichTextLabel Fix X11 is_window_maximized Add deselect() to RichTextLabel Disable deselect on focus lost on editor_log Fix shortcut_keys_enabled in TextEdit Fix editor_log text copy Add select_all() to RichTextLabel Add context menu to RichTextLabel Fix select_all() crash in RichTextLabel Add an option to drag'n'drop selected text in TextEdit Cooper Harasyn (1): Prevent ALSA audio corruption CorentinBrulé (1): Complete FontFile ref and update example Corey Williams (1): Add note about inertia being required for apply_torque on various Nodes Craig-Stoneham (1): Removed unnecessary keyword, fix comment style Cristiano Simao (1): doc: Clarify `MultiMesh.set_instance_color` re: white albedo color Crystal Melting Dot (1): Fix TabContainer _get_tab_width Cyberrebell (1): updated vk_mem_alloc.h to fix startup issue with AMD 6000 series GPUs using SteamVR on Windows Cykyrios (4): Fix invalid popup position for embedded popups Fix invalid tooltip position Fix RigidBody3D inertia calculation Fix private properties appearing in class doc Property Descriptions César Izurieta (1): Add support to align to left to bbcode D00T24 (2): fixed godot not recognising 150x150 icon for uwp export changed max point limit to 1 instead of 2 DESKTOP-9O27V4U\Navi (1): Add compatibility code for CSGBox3D width/height/depth from Godot 3.x DNKpp (1): EditorSpinSlider: Make sure grabber doesn't get hidden during grabbing Dallon Feldner (1): Don't print redundant errors when parsing GDScript Dan (1): Fix Windows cursor with trails disappearing in fullscreen Dan Boorstein (1): Add note about using AudioListener2D Daniel (2): Added set_active(true) to all body direct state force apply/impulses. #52915 Changed from directly waking bodies to using the wakeup() functions in direct body state changes (forces, impulses and veloicities). this 'bug' was introduced in PR #52967 Daniel Doran (4): Fix Mono PackedArray Marshalling Fix transparency sorting fix invalid string cast Fix depth pass for shaders that set POSITION Daniel Kariv (2): fix fullscreen issue on macOS add check for selection when try to push a meta. Daniel Kolesa (1): Add support for PowerPC family Daniel Kříž (6): add tests for path3d fix wrong encoding in uri_encode Fix includes in test_command_queue.h Add better alert dialogs if directory already exists Fix persistent favorites after rename Fix missing favorite files in filesystem dock Daniel Larson (1): allowed negative DoF blur transition in the editor Daniel Lungaro (1): Remove plugin from enabled if there's an error Daniel Ting (6): Make "Close and save changes?" actually save Fix opening URLS with special characters in macOS Do not try to save internal scripts Fix cancel/OK button order on macOS Evenly distribute stretched Nodes in BoxContainer Rename neighbour in Control to neighbor Danil Alexeev (56): Minor fix in Node class documentation Improve the `File.store_{8,16,32,64}()` documentation Several documentation improvements Improvement for the Copy button in the Output Log Improve appearance of [connection] and [editable] sections in .tscn files Unified named colors in RichTextLabel Several edits to the GDScript docs Fix odd newline in `EditorLog::add_message()` Rename color constants (alternative) gitignore: Ignore Kate swap files Fix "editor/editor_help" shortcut overwriting when restarting editor Change logo in the About dialog box (return Godot's teeth) Fix "editor/editor_help" shortcut (again) Fix `Color::get_{r,g,b,a}8` Improve ActionMapEditor Improve Project Settings Editor Expose `FontData::{set,get}_fixed_size` methods Add Default Callback Name editor setting Add BBCode escape sequences Use blank line instead of `@desc:` for doc comments Fix saving section-less keys in `ConfigFile` Clarify `all` and `any` documentation for empty arrays Add boot splash display time setting Add `String.to_{camel,pascal,snake}_case` methods Add `CollisionShape2D.debug_color` property Remove confusing `String + int` and `int + String` operations Remove internal functions of named colors from the public API Fix `EditorInspector.property_changed` signal connection GDScript 2.0: Fix shift due to skip of non-constant default argument values Fix highlight overlaps in TextEdit `AnimatedSprite{2D,3D}` improvements Fix unpressable buttons Improve `SpriteFrames` docs Rearrange `editor/naming/*` project settings Fix scaling issue in `draw_line` and similar methods Fix `CanvasItem.draw_rect` function with `filled = false` Clarify error message about script-level annotation GDScript: Allow constant expressions in annotations Fix `LineEdit` and `TextEdit` context menus not customizable GDScript: Fix broken export group annotations Improve stroke drawing on 2D collision shapes GDScript: Fix `@export_enum` works only with `int` Remove `@GDScript.str` (duplicate of `@GlobalScope.str`) Few improvements for SpriteFrames Editor GDScript: Fix `@icon` annotation GDScript: Fix crash in export group annotations Fix `RichTextLabel` context menu not customizable GDScript: Better handling of `@rpc` annotation and autocompletion GDScript: Fix `await` type inference GDScript: Improve validation and documentation of `@export_flags` Optimize `draw_dashed_line()` and `draw_rect()` GDScript: Remove `treat_warnings_as_errors` project setting GDScript: Fix default value of exported enum variable Fix `TabBar` not redrawing on locale change Fix `SpriteFrames` data loss on 3-to-4 conversion Document `@GDScript.is_instance_of` method Danny Chung (1): Increase AnimationPlayer position SpinBox to fit more decimals Darenn (1): Fixed bbcode parsing for built-in RichTextEffects in RichTextLabel Darren Kaste (3): Calculate LineEdit selection with secret character Use LineEdit secret character width everywhere Fix canvas items being drawn outside clip rects Darryl Ryan (1): Filament specular fix. Clamp dot product between normal and view vectors. Fixes #58459. Dashcell (2): Dropping file on parrent dirrectory fixed Fixes the resize of tile shapes when a vertex is outside of the tilesheet. Fix #34970 Dave Palais (3): EditorScenePostImportPlugin: Return requested option value Change time parameters and variables to double type Remove the usage of pointers in signal call, to fix #67941 Davi (2): Add Output font size in Theme regeneration conditions Patch `VideoStreamPlaybackTheora::set_file` to only look for header packets of one stream type David Cambré (15): The built in function math/seed was missing the sequenceport. VisualScript-Drop-Custom-Nodes Improve and streamline VisualScriptFuncNodes Call Set Get expose type hints for VisualScriptCustomNode Revert unnecessary changes to VisualScriptEmitSignal Change "Add Preload Node" action to "Add Node(s)" Fix VisualScriptPropertySet value hint Update VisualScriptCustomNode.xml Fixes copy-paste issue in the visual script editor Update usabilaty of the CustomPropertyEditor VisualScript-sync-and-improve-variable-and-property Update default port_grab_distance_vertical Include base signals to VisualScriptEmitSignal Improve Visual Script editor to suggest the proper visual script nodes. Improve VisualScript search and instancing of nodes David Hoppenbrouwers (1): Fix joint RID not being passed to _set in PhysicalBone David Kennedy (2): Fixes move_to_trash() on Linux Fixes #42840 OS move_to_trash() on Linux is not compliant with the Freedesktop specification Makes script editor not draw non existent spaces. Fixes #44775 Editor is incorrectly drawing non existent space. David Leal (1): fix: 3 LGTM alerts/warnings David Maziarka (1): Add built-in Variant types to autocompletion list Co-authored-by: Gustav David R (1): added usage_defines for SPECULAR_SHININESS David Sichma (9): aabb change updates bounding box Shader globals bugfixes Gizmo handles transparent again fix toggle mask bit 0 Fixed match for expression pattern Fixed match test expression for temporaries Only emit typed member setters if safe to do so Fixed Tween::interpolate_value argument order. Fixed pre-commit-black file extensions David Snopek (34): Fix dummy rasterizer so that javascript can build again Add support for WebXR Invert the Y-axis on thumbsticks and trackpads in WebXR Support mono devices in WebXR Prevent fatal error in WebXR when 'immersize-ar' loses and regains tracking Remove reference to CanvasLayer in WebXR example, because it can cause rendering issues in AR. Fixes #48178: WebXR broken when built with Emscripten 2.0.13 or later Re-enable building WebXR in GitHub Actions Fix "IDHandler.get_prop is not a function" error when calling some methods on WebRTCDataChannel Add get_buffered_amount() to WebRTCDataChannel Update GDNative API version for changes from #50659 Allow extending MultiplayerPeerExtension from GDScript Fix locale resource remapping with binary conversion on export Fix XR rendering in 'opengl3' driver and expose true size via the Viewport node Get WebXR minimally working again in Godot 4 Fix rendering in the WebXR emulator Add multiview to the opengl3 driver Collapse three seperate texture storage methods into render_target_set_override() Add support for OpenGL to OpenXR [openxr] Remove unnecessary fallbacks for native handles on X11 Fix WebXR after changing Emscripten configuration noExitRuntime to false Added missing null checks for gl_manager in MacOS and Windows display servers Fix OpenXR on the Meta Quest: XR_KHR_loader_init_android is not reported as available (but it works anyway) Get WebXR fully working in Godot 4! Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer [opengl] Don't flip render target when blitting it to screen if it wasn't rendered upside down Add depth and color formats to get OpenXR with OpenGL working on SteamVR Add "dedicated server" export mode which can strip unneeded visual resources Correctly apply world_scale in WebXR Update WebXR tutorial link to point at the Godot 4 version Only customize resources during export if there are any export plugins in use Make it clearer that file modes propagate to children in the dedicated server export Fix sky rendering with multiview in OpenGL Fix byte packing (and buffer overrun) in godot_webxr_get_bounds_geometry() David Socha (1): export "Keep" import option when multiple files are selected Dawid Marzec (5): Remove auto selecting the first file for FileDialog with Save file mode selected Fix a gap with scrolling down in Tree with arrow keys (#57636) Fix errors while deselecting all tree items; issue #65185 Fix text search in Tree with multiselect Expose Tree::deselect_all to GDScript DeeJayLSP (18): Describe how window mode setter and getter works DisplayServer: Add multiple descriptions for methods. Fix RefCounted description Allow AudioStreamPlayer(2D) to provide `pitch_scale` on playback [4.0] ResourceImporterWAV: Add support for 64-bit IEEE float Rename AudioStreamSample to a more discoverable name Rename every instance of "OGG" to "Ogg" Update libtheora to GIT (2020.10) ResourceImporterLayeredTexture: rename compress modes to match enum Change all WEBP strings and comments to WebP Overhaul WebP packer and split compression options Update cvtt to GIT 2022 Update embree to 3.13.5 Update CA certificates to 2022.10 revision Update thorvg to 0.8.3 Update miniupnpc to 2.2.4 zlib/minizip: Update to version 1.2.13, remove zlib from freetype libwebp: Sync with upstream 1.3.0 Delf Neumärker (5): Fix handling of negative indices in SurfaceTool Fix crash when calling connect_nodes_forced with invalid params Fix unchecked array access in build_*_planes Fix crash during drag if user freed the drag preview Fix crash when loading a scene containing an uncreatable type Dennis Brakhane (1): Remove duplicate comments Dennis Ranke (1): handle ambiguous input events as touch events Densorius (2): Add Visual Studio 2022 support with fallback to 2019 Fixed opening new instances of VS 2022 while a instance is already open Derwent Ready (drentsoft) (1): Clarified usage of TreeItem get_next*() and get_prev*() functions. Devin Curry (1): ScriptEditor: Fix line number gutter drag select Fixes issue #42722 Diddykonga (1): [Editor]: Allow `Select Current` to Save Scenes Dimitris Nikolaidis (1): Fix canvas_group not being freed in RendererCanvasCull::free Dipal M Zambare (1): Fixes Visual script nodes operator mismatch issue #49943 Distrikt64 (1): Fix msec documentation description typo Dmitrii Maganov (43): Fix incomplete shadowing of member properties by parameters GDScript: Fix return type of constructor call for extending class Fix usage of Enum as constant GDScript: Disallow return with value in void functions GDScript: Fix false name conflicts for unnamed enums GDScript: Fix wrong native type for preloaded class Unify typing of variables, constants and parameters in GDScript GDScript: Fix array as default value for parameter GDScript: Fix missing conversion for default argument values GDScript: Fix typing of lambda functions GDScript: Begin making constants deep, not shallow or flat GDScript: Fix multiline and trailing comma for assert GDScript: Fix type for index subscript on constant GDScript: Fix small inconsistencies with resolve_datatype GDScript: Fix getting type from PropertyInfo for Variant arguments GDScript: Fix some issues with assignments that involve untyped things GDScript: Fix wrong marking of some lines related to Variant as unsafe GDScript: Fix extending abstract classes, forbid their construction GDScript: Fix typing of iterator in for loop GDScript: Disallow type inference with untyped initializer GDScript: Fix marking of line with unsafe property access as unsafe GDScript: Fix test for read-only state of constants GDScript: Fix implicit conversions for function returns GDScript: Fix constant conversions GDScript: Fix vararg method calls with exact arguments GDScript: Fix issues with typed arrays GDScript: Fix disassembly of typed array assignment and construction GDScript: Fix type certainty for result of ternary operator GDScript: Fix getting reduced value of incomplete subscript GDScript: Fix can_reference check for typed arrays GDScript: Fix error about enum typed arrays GDScript: Fix usage of ints with typed array of floats GDScript: Fix missing unsafety mark for binary op with weak variables GDScript: Fix infer on read-only property GDScript: Rework type check GDScript: Fix error message for unfound type GDScript: Fix usage of enum value as range argument GDScript: Fix parsing unexpected break/continue in lambda GDScript: Fix range regression Core: Identity compare objects by id, not by pointers GDScript: Fix conversions from native members accessed by identifier GDScript: Fix wrong unsafety mark for binary operator GDScript: Fix address type for coroutine results Dodoveloper (1): Fix #33326 by reopening scenes Dominic-ATOR (1): Implement CameraEffects override_exposure Dominik 'dreamsComeTrue' Jasiński (29): Allow using Enter key for replacing text in code editors (also Shift + Enter works backwards) Added 'Replace in files' functionality to text editors RichTextLabel: proper handling of internal key events Fix: auto brace complete for quoted strings Added missing destructor for Navigation2D Remove friend reference to non-existing class RefBase Take correct part of extension with File Dialog Allow single quotes in comments Remove unreferenced & undocumented class Space2D Request immediate refresh of cursor in 2D editor while using shortcuts Expose 'Embedded Windows Mode' as Editor and Project Settings Calculate strike-through position correctly Allow to rename animation just after it was duplicated & show animation name in Delete prompt Update TextEdit docs - explaining 'override_selected_font_color' role Proper naming and ordering when Duplicate nodes Fix Soft Reload Script shortcut clash with Replace in Files Hide editor_spin_slider grabber when closing Editor's windows Replace 'add_child_below_node' with 'add_sibling' in Node Fix moving 2D node with mouse after using arrow keys Clarifies 'icon_separation' in TabContainer (instead of 'hseparation') Grabbing focus on ProjectList after clicking an item. Preserving "Sync Scene Changes' and "Sync Script Changes" with Project Settings Allow scroll_to_line when scroll_active is 'false' Project Settings 'restart' message put focus on editor rather than project itself Prevent having spaces in signal's method in Connect Dialog TextEdit - fix valid bounds in 'set_line'. Fixes #41967 Fix camera2d zoom when set to zero (causing ERROR: affine_invert: Condition ' det == 0 ' is true.) Reset ruler tool when switching tools with shortcuts Make Animation's SceneTreeDialog filter nodes properly Dominus Iniquitatis (1): Fix missing parenthesis in the documentation DorianSzlachcic (1): Prevent 3-to-4 project converter from adding extra line for move_and_slide Doug Richardson (1): Disable video driver option in editor since switching to GLES2 would currently cause a crash on restart. Doug Thompson (1): Class reference: snake_case .gd filenames, _on_* Duarte David (3): Fixed non-uniform scaling of normals Fixes the normals of SphereMesh when the sphere/hemisphere is oblong Fixes the normals of SphereMesh when the radius is different from 1 Duddino (1): Added some checks to prevent accessing a null collider Previously godot would try to access `CollisionObjectBullet::bt_collision_object` even if it was null. Fixes #46651 Dustin Petersohn (1): Improved documentation for TileMap.cell_y_sort Dylan Conway (1): Changed valid check to null check, added error messages Ebrahim Ebrahim (1): Clarify get_data Image method Ed Swartz (1): Use left/right arrow to move cursor when unselecting in LineEdit Eduard Zalyaev (5): Script editor: Fix edge case when double-click incorrectly updates caret position Script editor: Rewrite multiline move logic. Preserving all carets and their selections intact on alt+up/down shortcut AnimationNodeBlendTreeEditor: Fix popup locations when creating nodes with dragging EditorSceneFormatImporterGLTF: check if "animation/trimming" parameter from import settings exists AnimationTrackEditTypeAudio: Both start and end offset dragging is now possible with proper preview of the changes Eduardo Nunes Pereira (2): Using the common behaviour when use command+shift on text line for osx Using command + comma on macOS as default shortcut for editor settings Eduardo Rodrigues (2): Fix error message when exporting a write-only property without a setter Improve description for GDScript built-in range Edward (1): inconsistent str() error fix Edward Auttonberry (2): Update C# RPC attributes to share new Any/Auth naming convention Variants and targets are generated instead of manually defined. The specific details for each configuration are logically separated from the generators Eeli Reilin (1): Fix CSG gizmos only working on root shapes Eevee (1): Fix inverted use of Camera2D.offset_v Ekaterina Vaartis (2): Implement export_multiline support for Array[String] and Dictionary Alter linux debug stacktraces handling to support more environments Eldor Zang (2): Fixed issue #70617 : generating POT for multiline message Set default name if SpriteFrames name is empty EliasVincent (1): Command Palette shortcut_text: font color Ellen Poe (21): Return setseek position if one exists in get_playback_position. Fail mp3 loading when attempting to load invalid mp3s Fix mono->stereo conversion for oggs (see #40630) Implement a new resampling algorithm in AudioStreamPlaybackResampled Fix pops in play() of both spatial audio players Prevent distortion filter from introducing NaNs in the audio buffer. Initialize fadeout to false in AudioStreamPlayer Don't fade out after pausing unless stream is running Revert "Implement a new resampling algorithm in AudioStreamPlaybackResampled" Fix Godot's cubic resampling algorithm Add a SafeList data structure for future audio server usage. Require AudioStream::mix to return the number of frames successfully mixed Do all audio mixing in the AudioServer Fix Vector's const iterator constructor Add polyphony to Audio Stream Player nodes Replace stb_vorbis with libogg+libvorbis Fix OGG streams never ending playback Add AudioStreamRandomizer, replacing AudioStreamRandomPitch Fix ogg edge cases Partially document AudioEffectStereoEnhance. Audio: Expose 2D/3D panning strength parameters Emi (1): Replacing File calls from the FileAccess class docs Emilio Coppola (1): Replace 1024x1024 BoneMapHuman svgs by 256x256 versions Emily (1): fixed typo in packedscene Emmanouil Papadeas (3): Add Greek translation for Linux desktop file Fix `InputEventAction`'s `is_action` method ignoring `exact_match` parameter Further refactoring to AudioDriver implementations after #69120. Emmanuel Leblond (41): Remove deprecated GDNative wrapper code Remove useless pluginscript godot_pluginscript_script_desc.get_rpc/rset_mode fields Use StringName in pluginscript's set/get_prop and add_global_constant Remove OS.get_system_time_secs/get_system_time_msecs and change OS.get_unix_time return type to double Correct RichTextLabel.custom_effects property type metadata Correct is_reference attribute in api.json for Reference class Add missing has_default_value field for signals in api.json Allow PluginScript to customize language's can_inherit_from_file attribute Constify ScriptLanguage.can_inherit_from_file Add PluginScript support for global class naming/icon path Fix Godot returned status code on unexpected error Remove GDScript bindings for OS.get/set_exit_code, SceneTree.quit() should be used instead Add support for _to_string virtual function overwrite in Pluginscript Modify Dictionary::operator== to do real key/value comparison with recursive support (and add unittests) Correct CodeEdit documentation mentioning parent property due to incorrect array comparison Explicitly declare python helper modules in SConstruct to avoid unexpected shadowing Improve python helper modules declaration in SConstruct for compatibility with Python 3.6 and import against helper modules's parent path Replace use of `OS::set_exit_code()` by `SceneTree::quit()` in `EditorNode` Add GDNativeInterface::get_library_path to GDExtension Fix extension_api.json builtin_class_member_offsets member names for Color Fix duplication of GDNativeExtensionClassGetPropertyList definition in gdnative_interface.h Fix NativeExtension::open_library return value when the undelying lib fails to initialize Expose ObjectID among the native structure in GDExtension Add missing Projection's members offsets to gdextension_api.json Ignore fake properties in classes when generating extension_api.json Remove Transfor2/3D,AABB,Basis,RID from Variant destructors given Variant::clear() considers they don't need to be destroyed Fix is_keyed param in extension_api.json Fix hash mismatch error print in gdextension's gdnative_classdb_get_method_bind Use enum type in GDExtension info structs for better readability Remove unused `GDNativeExtensionClassObjectInstance` type def from GDExtension Fix extension_api.json Variant types incorrectly displayed as `Nil` Implement ScriptExtension::get_documentation Uses `StringName` in GDExtension perf critical instance creation & method/properties setter/getter Use StringName in the whole GDExtension API instead of const char * Revert removal of GDNativeExtensionScriptInstanceInfo::get_property_type_func in GDExtension Correct Rect2 members offsets declaration in extension_api.json generator Skip unset getter/setter/index fields in class property when generating extension_api.json Fix const qualifier for parameters in GDExtension api functions Expose in builtins' members internal type & size (on top of offset) in extension_api.json Add missing is_bitfield field for global enum in extension_api_dump Add Engine::unregister_script_language and make Engine::register_script_language returns a Error Emre Aydin (1): Fixed changing enabled classes resetting folding in manage editor features. Endri Lauson (1): Replace ACES tonemapper with a high quality one Enhex (1): fix typo Eoin O'Neill (6): Fix RichTextEffect `visibility` to Account for Skipped Characters. Correction to RichTextLabel Tabulation Collision Shape 2D 'Disabled' Visualization Correction StateMachinePlayback: Added missing bindings to `get_current_play_pos` and `get_current_length`. Attempt to fix rich text label effects processing even when the node is invisible. Add missing binding to AudioStream class EpEpDragon (1): Added optional offset and size parameter to RenderDevice buffer_get_data method Eric (2): Enable Camera2D smoothing on limit change Fix condition on 'jump to limits' logic Eric Engestrom (2): drivers/vulkan: set the engineVersion to Godot's version drivers/vulkan: limit pEngineName to only the engine name, without its version Eric M (112): Added selection outline to locked nodes. Added properties and methods to allow for dragging and dropping multiple files onto exported arrays. Fixed bug where spinbox would not update to it's actual value after non-numeric input Stopped trying to revert to default values when script implementation of property_can_revert exists Updated editor spin slider to have better behaviour and adjusted control's size_flags_stretch_ratio value range Added mapping for KEY_MENU to VK_APPS (0x5d) so context menu's triggered by the keyboard menu button work Fixed issues with slider focus and scroll input Improved warning shown when autoload cannot be added. Added search box to signals dock. Fixed issues with adding custom project settings and added confirmation dialog when deleting settings. Added ability to unfold editor sections when dragging and dropping. PopupMenu rework and enhancements Updated PopupMenu documentation after merge of #41640 - PopupMenu rework Fix editor inspector refresh not working Fixed get_usable_parent_rect() errors when initialising popup menus. Fixed expand/collapse folder option not showing in FileSystemDock Tooltip flickering and targeting fixes. Added hysteresis for popup sub-menus load_from_globals() -> load_from_project_settings() Made serialization of Command toggleable when saving InputEvents. Added accept_event() calls for SceneTreeDock and BaseButton Remove unused unhandled_key_input method in EditorHelp. Search popup and focus is handled by an external MenuButton shortcut. Removed unhandled_key_input from editor AudioBus and instead connect to gui_input signal on tree for handling of effects shortcuts. Implement new shortcuts system. Add is_valid() check for InputEventKey in CanvasItemEditor. Removed unused property 'pending_resize' from Control Removed references to 'registering_order', as it was unused. InputEvent as_text now returns readable string. Added to_string for debug strings Exposed shortcut_context property to scripting and added documentation. Reduced margin on PopupMenu Added F2 shortcuts for renaming files & folders. Made keyboard shortcuts for FileSystemDock visible in popup Fixed mistakes in InputEvent as_text and to_string implementations. Allow checking for exact matches with Action events. Fixed hover highlight style rect of items being cut off. Fixed PopupMenu not matching parent MenuButton/OptionButton width Made save dialog open immediately when running unsaved scene. Fixed popup not calculating size correctly before adjusting its rect. Improved PopupMenu visuals. Removed x-y margin, made it 'padding' instead. Added convenience create_reference methods for Key and JoyButton inputs Added ability to override built-in actions for the editor Removed hardcoded shortcuts from /scene and converted to input actions New ActionMapEditor to replace InputMapEditor. Used in ProjectSettings. Added Built-in Action editor to Editor Settings dialog. Fixed 'nonexistent action' errors spammed at startup on OSX Fixed Editor Shortcuts revert/edit/clear buttons performing the wrong action. Fixed ui_accept (spacebar + return) accepting auto-completion options. Fix viewport not updating mouse pos on click. Made default tooltips (non-custom ones) disappear on mouse enter. Fixed issues with LineEdit Delete Word & Backspace Word. Output log rewrite and enhancements. Improve output log performance. Fixed issues with Editor Log after recent changes Fixed crash in Editor Settings shortcuts UI Made Editor Log buttons save their state, per project. Fix blank line at start of Editor Log (reinstate #44909) Fixed editor log collapsing of duplcate messages not working Fixed implementation of RTL remove_line(), which fixed issues in EditorLog. Fixes for multi-node editing interactions. Added support for scripts reporting multiple errors to ScriptTextEditor Improved some error messages (from ERR_FAIL_*) in Object. Fix RichTextLabel custom_effects export to be properly filtered in the Editor EditorLog filter buttons are now enabled/on by default Added EditorInspectorPlugin to aid in editing InputEvents in resources and shortcuts Added 'Select Current' option when user is prompted to select main scene after clicking play Added validation to plugin creation. Added Node name to print() when printing Nodes. Added confirmation dialog for making subresources unique. Fix focus shortcuts triggering incorrectly Improve implementation of builtin action overrides Added option for spinbox to update it's value on line edit 'text_changed' rather than 'text_entered' Added ability to override shortcut definitions for OSX (remove preprocessor defines) Improved breakpoint gutter for CodeEdit. Allow non-control Nodes to handle drag forwarding (e.g. Windows) Allow shortcuts to have any number of bindings. Updated UI as required. Fixed drag and drop not respecting type on exported arrays. Fixed ScriptTextEditor errors/warnings panel formatting. Fix the "END" key behaving like "PAGE_DOWN" in code completion. Fixed shortcut saving and 'original' comparisons Fixed issues with shortcut checking in 3d node editor Added ability to retrieve array of changed settings changed when it is saved. Made use of EditorSettings 'settings changed' to optimise settings changed notifications. Editor Style: make popup menu vseparation even, and force it to be even. Improve editor log message filter button styles. Improve sorting of Code Completion options. Improve sorting of Code Completion options. Action Map Editor fixes and improvements Check TreeItem for nullptr before accessing. Update Editor Shortcuts tree creation to always have sections in same order. Ensure all checks of `is_action` in the editor which are for 'shortcut' use, check the action exactly. Fix zoom in/out keyboard shortcuts not working since the introduction of EditorZoomWidget. Add KP shortcuts to zoom in/out. Ensure popup menu redraws items when shortcuts update. Allow shortcut input to be JoypadButton. Add searching by event for Editor Settings shortcuts and Project Settings input map. * Focus into the LineEdit, then perform input to search the list of events by the events assigned. * New specialised editor-only control for this: EventListenerLineEdit. Line edit is a good candidate for such a control because you can focus it, override it's input handling, and show the event all in one control. Update InputEventConfigurationDialog to use event listener line edit rather than the separate tabs. * Cleaner look - no need for tabs. * Simpler code. Improve MenuButton and OptionButton * MenuButton + OptionButton: Add method `show_popup()` which performs required popup setup before showing (prefer use of this over `get_popup()->popup()`, otherwise GH #66308 occurs) * MenuButton: Ensure that the menu can be opened with a shortcut, if one is set for the button. (GH #66403). Ensure that popupmenu item shortcuts are checked first before the MenuButton shortcut. Split `action_map_editor` file into one file per class it contained. * ActionMapEditor * EventListenerLineEdit * InputEventConfigurationDialog Move Shortcut Context to Control and ensure that `shortcut_input` adheres to contexts. Also ensure that controls with no context are only triggered AFTER nodes which do have a context. Add shortcuts for SpriteFrames editor. Small renaming changes for clarity & consistency. Focus EventListener when InputEventConfigurationDialog is opened. Ensure PopupMenu item is shaped when the shortcut is set. Set the shortcut context for the edit/search/goto menus to the ScriptEditor so that shortcuts continue to work when FindReplaceBar is focused. Refactor `get_event_text` to a static method, remove high deadzone from event configuration. * `get_event_text` and `get_device_string` are now static methods (they always could have been) * Applied 90% deadzone on joypad motion inputs in the configurator had the effect of ignoring most joypad motion inputs. Low ones do not need to be filtered out as JoypadMotion is only considered 'pressed' if it as above 50% strength - and that works well. Fix Undo/Redo not working until Scene menu is opened. Remove unnecessary changing of shortcut name. Propagate allowed input types to `event_listener` when setting them on `InputEventConfigurationDialog` Fix crash in CodeEdit when caret column exceeds line length. Make InputEventAction as_text() return the text of the first valid event for the action. Fix Project Settings array/dicts initial value being shared instances of the current value. Fix shortcuts which have feature override defined reverting to default when user changes the shortcut to be same as non-overriden. Fix 3D editor Perspective/Ortho shortcut inconsistency Fix 'run specific scene' shortcut on Windows/non-Mac Fix crash in gdscript when autocompleting virtual function and signature does not match base. Eric McGuirk (2): Fixes Hint label in 2D editor appearing at wrong position and pushes zoom controls Fix toggling GraphEdit's minimap with `minimap_enabled` Eric Rybicki (2): Use a new approach to fix bone pose override not being reset when IK animation is stopped. This reverts PR #35460 & commit 551c37167b0428b1489a8a6f6233624c5f4aa628. Fix certain characters being recognized as special keys in Windows when using the us international layout Eric Tuvesson (4): fix(editor): TileMap Fill Rectangle icon fix(editor): TileMap floodfill with same tile ID and different variation fix(editor): Create new icon for TileMap Rectangle fix(sprite2d): Rect is not handling pixel snap Erik Selecký (5): Fix Variant to Vector conversion operator Fix ParallaxLayer's transform resetting in editor Fix multimesh buffer overflow in RendererStorageRD Simplify DisplayServerWindows pos/size message handling Fix camera override button not updating in 2D scenes Eryk Dwornicki (3): Fixed bug that caused collision not to be properly reenabled when joint between two bodies is destroyed Move removal of the constraints from bodies to Joint3DSW destructor Refactor removal of constraints from bodies in 2D joints Espeute Clement (1): Fixed Animation Playback Track not seeking properly Estelle Linkpy Reid (2): Make sure the tile data clears its `terrain` field when said terrain is removed from the tileset. Make the alternative tile control correctly handle right-click dragging. Ev01 (2): Set a minimum zoom of 1% and a maximum zoom of 10,000% on the tileset editor Fixes invalid links to tutorials in AudioStreamGenerator, AudioStreamGeneratorPlayback, and AudioEffectSpectrumAnalyzer class references Evanaellio (2): Swap arguments of ResourceSaver.save() Fix code examples for @tool annotation Exxion (1): Fixes collisions in Godot 3D physics Eyad (1): Fixes #42149 and fixes indentation errors to pass clang-format FIF15 (2): Remove redundant property "enabled_focus_mode" fix #43695 by revert part of #41576 Note that #42109 already reverted the change of MenuButton, and actually fixed #43695. As a result, this commit only reverts the change to LinkButton, in order to prevent unpredictable consequences. Fabian (2): Fixed error condition check for multimesh instance colors Add set_peer_timeout to NetworkedMultiplayerENet. Fabian Keller (2): rename translate(d) to translate(d)_local in Transform 2D/3D Fix consistency of translated/scaled/rotated in Transform2D and Transform3D Fabian Stiewitz (1): fix gltf not importing files w/o bufferViews or accessors Fabio Alessandrelli (417): Fix UPNP on windows after #30205. Fix EMWSClient::get_connection_status(), try catch Add peek option to NetSocket recv_from. UDPServer and PacketPeerUDP connect_to_host. Move mbedlts print func to SSLMbedTLSContext. New PacketPeerDTLS and DTLSServer classes. Custom godot sockets for ENet now support DTLS. NetworkedMultiplayerENet dtls support. Add documentation for new DTLS features. Disable NetSocket reuse address on Windows. Fix set_reuse_address on non-Windows platforms. Huge Debugger/EditorDebugger refactor. Fix Breakpoint compare in new Debugger. Fix debugger crash inspecting freed object. Fix some bugs spotted by asan in editor debugger. Fix mutex when building with no threads. Restore dummy rasterizer Fix Javascript platform after PoolVector removal. OS_Javascript temporarly uses dummy rasterizer. Add Javascript to CI (export template, release). Add TCP poll function (not exposed). Threaded networking for editor debugger. ScriptDebuggerRemote use threads Refactor ScriptDebugger. Update editor debugger to new remote debugger. Move Debug menu logic to DebuggerEditorPlugin Allow running/debugging up to 4 instances. Fix "deploy with remote debug" editor option. AudioDriverJavascript uses IDHandler. Fix basis_universal to not include tool main file. [HTML5] Refactor JS, threads support, closures. [HTML5] Locale, input fix, context, exit. Restore RasterizerDummy. DisplayServerJavaScript implementation. Fix Closure compiler build, python style. Add drop files function Re-enable travis CI for javascript platform. Fix DummyRenderer after new lightmapper merge. Remove WebSocket defaults from project settings. Add support for multiple RemoteDebuggerPeer(s). Support multiple debug protocols. Add WebSocket debugger, use it for Javascript. AudioDriverJavaScript now compute buffer size. Move mix_rate, ouput_latency to AudioDriverManager Fix JS audioContext parameters. Fix WebRTCPeerConnection set_local_description doc Swtich HTML5 key detection from keyCode to code. Fix editor crash when mbedtls is disabled. Crypto as a custom instance class. Immediately run first iteration after JS FS sync. Better zeroizing in CryptoKey. Add AESContext. CryptoKey supports public keys. Implement sign and verify in crypto. Implement RSA encryption/decryption. Document AES and new Crypto/CryptoKey functions. Move frame delaying functions from Main to OS. Fix RasterizerDummy after SDF GI changes. Fix FS error on JS startup due to existing folder. Refactor canvas ID and locale handling. More static methods in DisplayServerJavaScript. [JS] Check canvas size each loop, force redraw. Limit FPS in JS by skipping iterations. Use dummy driver when JS AudioContext is unavailable. Add default 50ms output_latency web override. Update to mbedtls 2.16.7 Update to wslay 1.1.1 . UDPServer handles PacketPeerUDP-client association Document updated UDPServer interface. Funnel refuse_new_connections to Godot ENet. Reorganize ENet pactches. Properly set HTML5 DisplayServer init error value. Correctly include in javascript main. Implement HTML5 cancel/ok button swap on Windows. Fix crash in ENet changing refuse_new_connections Remap script path when registering class. Update mbedTLS to version 2.16.8 (+ patch). Fix certificate generation with mbedtls 2.16.8 . Fix RasterizerDummy, override, cleanup. [HTML5] Add override keyword, cleanup methods. Expose request_quit method to JS in HTML5 export. Small refactor to JavaScript handlers. Window event listener do not use capture. Better HiDPI support in HTML5. Make canvas resize optional in HTML5. JS synchronous start, better persistent FS sync. Ignore thread models when compiling with NO_THREAD Add COOP/COEP headers to HTML5 "run" server. Add extra suffix for HTML5 thread builds. [HTML5] Run Audio process in thread when available [HTML5] Scons now expects "emcc" to be in PATH. Fix dummy rasterizer with new interface. Increase HTML5 THREADPOOL size. [HTML5] Expose request_quit via Engine class. [HTML5] Close IDBFS database on exit. Add JavaScript editor html file. [HTML5] Add JavaScriptToolsEditorPlugin. EditorNode now copies all drag and dropped files. [HTML5] Fix audio buffer size and latency hint. RasterizerDummy fixes. Fix gdnative build when WebRTC module is disabled. [HTML5] Update syntax for lto. [HTML5] Port JavaScript inline code to libraries. [HTML5] AudioWorklet API implementation. Fix CLI export when export_path is in preset. [HTML5] Libraries refactor for linting. [HTML5] Enforce JavaScript style with eslint. [HTML5] Run eslint --fix. Disable SO_REUSEADDR for UDP. Sync RasterizerDummy changes. [HTML5] Remove file flags from writeFile in setup. [HTML5] Fix broken layout on load in HiDPI screens [HTML5] Add function signatures to JS libraries. [HTML5] GDNative support via SIDE_MODULE. [HTML5] EditorRunNative works with GDNative. [HTML5] Allow selecting the export type. [HTML5] Make GDNative support feature-based. [HTML5] Use regular unix FileAccess implementation. Remove now unused FileAccessBuffered. Fix some easing equations' undefined behaviours. Remove unused FileAccessJAndroid. Sync RasterizerDummy changes. [HTML5] Editor also persists cache. [HTML5] Add logo and favicon to editor html. [HTML5] Improve platform buildsystem. [HTML5] Fix errors when Mic is not allowed. Add important note about OS.get_unixtime. Sync RasterizerDummy. Fix WebXR module. Fix JavaScript platform after MainLoop methods rename. [HTML5] Reorganize build script. Better gamepad axis event injection. [HTML5] Custom Gamepad library to allow remapping. DummyRasterizer Sync. [HTML5] Fix "initial_memory" build option parsing [HTML5] Better editor HTML, small refactor. [HTML5] Builtin HTTP server disable browsers cache [HTML5] Fix mouse_mode and fullscreen detection. Sync RasterizerDummy. Import zip via drag and drop in project manager. [HTML5] Make home path persistent in editor. Add some HTML5 controllers mapping. Sync and cleanup Rasterizer Dummy. [HTML5] Handle contextmenu, webglcontextlost internally. [HTML5] Fix web editor "clear persistent data". [HTML5] Fix HTTPClient request_raw. [HTML5] Editor: ensure canvas focus when switching tabs. [HTML5] Detect screen scale and DPI. RasterizerDummy now instances Image(s). [HTML5] Fix compilation issues in 4.0 [HTML5] Implement get_processor_count. [HTML5] Easier HTML templates, better deinit/cleanup. [HTML5] Better fullscreen, canvas resizing. [HTML5] Document Engine and EngineConfig (jsdoc). [HTML5] Add jsdoc2rst tool. Fix thread_process_array when NO_THREADS. [HTML5] Make editor HTML build tag scons4-proof. [Net] Better EOF handling in HTTPRequest. [HTML5] Preloader fetch, streaming instantiation. [HTML5] Export process writes sizes in template. [HTML5] Rename heapCopy to heapSlice. [HTML5] Replace XMLHttpRequest with Fetch. [HTML5] Catch audio worklet errors on disconnect. [HTML5] Add PWA support to the editor page. [HTML5] Respect allow_hidpi option during setup [HTML5] Properly set canvas size during setup. Add IME support checks in LineEdit/TextEdit. [HTML5] Opt-in virtual keyboard support. [HTML5] Drag and drop zip in project manager. Bump mbedtls to version 2.16.10. [Net] Fix miniupnpc when no interface is specified [Net] Make debugger peer less CPU intensive. [HTML5] Fix bogus Web Editor manifest. [HTML5] Fix loading when mime-type is missing. [HTML5] Fix editor version numbering. [HTML5] Logitech Dual Action Gamepad FF/Linux [HTML5] Clarify editor PWA manifest.json [Net] Fix miniupnpc UWP build. [HTML5] Fix Mono builds (old emcc?) [HTML5] Fix WM notifications not being called. [HTML5] Disable body_size in fetch. [HTML5] Implement WebGL fallback. This renames PacketPeerUDP.listen to bind. [Net] Fix socket poll timeout on Windows. [Net] Implement String::parse_url for parsing URLs. [HTML5] Debug HttpServer now runs in `web` cache subdir. [HTML5] Optional icon generation, use export name for it. [HTML5] HTTP server uses optional SSL. [HTML5] Export as Progressive Web App. Implement NetworkedMultiplayerENet.get_local_port Sync RasterizerDummy. [HTML5] Fix builds with recent emscripten versions [Net] ENet non-relaying server now process broadcasts. [Net] Fix rpc/rpc_id error message. [HTML5] Use 64KiB chunk size in JS HTTPClient. [HTML5] Remove "fixed-size.html". Sync RasterizerDummy with latest changes. [HTML5] Fix target_fps when window loses focus. Fix display of programmatically created value in remote inspector Sync DummyRasterizer. [HTML5] Fix GDNative compilation with emcc 2.0.19+ [Doc] Remove reference to UNIX sockets in StreamPeer. [HTML5] Implement Godot <-> JavaScript interface. [HTML5] Add easy to use download API. [HTML5] Fix build after KEY_CTRL rename. [Net] Fix HTTPRquest store_buffer error. Sync RasterizerDummy changes. Add DisplayServerDummy for headless display. Remove server platform LinuxBSD now compiles without vulkan/x11. Move remaining dummy drivers to servers. [Net] Refactor RPCs, remove RSETs [HTML5] Fix some JS library signature. [HTML5] Fix JS build without eval. [HTML5] Update eslint and jsdoc dependencies. [HTML5] JS callback functions now returns passed value. [Net] Unify HTTPClient request and request_raw. [Net] Makes HTTPClient a custom instance class. [HTML5] Add option to focus canvas on start. [Net] Fix WebSocketClient path parsing. [Net] Add WebSocketServer handshake_timeout property. [Crypto] Delete mbedtls ctx in deconstructor. [HTML5] Fix JavaScript string parsing with new interface. [Net] Fix crash when receiving RPC on node without a script. [Net] Remove most multiplayer hooks from SceneTree. [Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer. [Net] Rename NetworkedMultiplayerENet to ENetMultiplayerPeer. [Net] Rename WebRTCMultiplayer to WebRTCMultiplayerPeer. [HTML5] Raise default initial memory to 32 MiB. [HTML5] Fix build (with module_webxr_enabled=no). [HTML5] Make threads build the default. Re-enable JavaScript CI (with no WebXR until fixed). [HTML5] Add 2 controllers to the godot database. [Net] Single `rpc` annotation. "sync" no longer part of mode. Make Object "meta" functions take StringName. [Core] Make enum variant cast and encoding 64 bits [Net] Fix RPC ID encoding/decoding for Node methods. [Net] Add generate_unique_id to MultiplayerPeer. [Net] Implement lower level ENet wrappers. [Net] Refactor ENetMultiplayerPeer to use ENet wrappers. [Net] Fix ENet 'connect_to_host' creating only one channel. [Net] Fix Marshalls infinite recursion crash. [Net] Implement RPC channels in MultiplayerAPI. [Marshalls] Fix Float64Array and Int64Array serialization. [Net] Fix IP address resolution incorrectly locking the main thread. [Headless] Add --headless switch (no rendering, no audio). [Net] Fix ENetMultiplayerPeer status during connection. [Net] Default @rpc annotation should be puppet, not master. [Core] Expose ResourceLoader.get_resource_uid. [Net] Basic extensible MultiplayerAPI spawn/despawn. [Net] MultiplayerReplicator with initial state. [CI] Upgrade Emscripten to 2.0.27. [Net] Add state sync to replicator. Data structure optimizations as per review. [Editor] Editor debugger binds according to editor settings. [Editor] Add "--debug-server " option. [Net] Rename RPC "puppet" to "auth" (authority). Drop "master". [GDScript] [Net] Allow mixing rpc annotation paramters. [Net] Silence ENetMultiplayerPeer close_connection. [Net] Move multiplayer to core subdir, split RPCManager. [HTML5] Fix build error due to missing string cast. [HTML5] Fix input not working when buffered. [CI] Refactor CI actions, use sub-actions, matrices. [HTML5] Use browser mix rate by default on the Web. [HTML5] Fix bug in AudioWorklet when reading output buffer. [HTML5] Fix wheel/touch callback modifying event after parse. [HTML5] Refactor audio drivers. Implement AudioWorklet w/o threads. [Core] Add ClassDB functions to retrieve/construct extensions. [ClassDB] Unify construct/extension retrieval. [Net] Enable PacketPeer native extensions. [Net] StreamPeer GDExtension. [Net] Bind Multiplayer to GDExtension. [Net] MultiplayerPeer cleanup, defaults. [Net] Expose WebRTC classes to extensions. [Net/GDNative] Remove GDNative network bits. [Net/Docs] Update extensions documentation. [ENet] Fix server not correctly relaying peer disconnects. Fix const pointers types in docs and extension API. [Net] Rename RPC constants and annotation arguments. [HTML5] Implement mouse/touch/key events in JS library. [HTML5] Implement fullscreenchange in JS library. [HTML5] Implement window blur in JS library. [HTML5] Implement Pointer Lock API in JS library. [HTML5] Refactor display/input JS library code. [HTML5] Refactor JS library listeners to OS. [File] Fix FileAccessCompressed::get_buffer return value. [Net] Rename RPCConfig.sync to call_local. [Net] Add call_local argument to Node.rpc_config. [Net] Fix spawn/despawn custom callable argument. [HTML5] Editor video driver option. Replace canvas on exit. [OS] Add ThreadWorkPool default size to OS. [HTML5] Fix input not focusing canvas. [HTML5] Add checks to Gamepad API events. [HTML5] Add WebGL2 (GLES3) support using the OpenGL renderer. [HTML5] Fix focus (again) in Firefox's iframes. [HTML5] Use absolute path for JS lib/pre/externs. [HTML5] Fix multi-touch input handling. [Net] Fix WebRTC returning packets from peers too early. [Headless] Workaround texture load failure. Bump mbedtls to 2.16.12 Bump mbedTLS version to 2.28.0 (new LTS). [Editor] Fix inspector keying signals argument count. [Editor] Move some animation specific keying logic out of inspector. [Net] Fix get_response_body_length for large files. [Net] Fix HTTPRequest memory leak in compressed responses. [Net] Simplify IP resolution code, fix caching. [HTML5] Better engine config parsing. [HTML5] Fix gamepad samples not being properly reset. [Net] Non-blocking request in HTTPClientTCP. Revert "[HTML5] Better engine config parsing." [Net] New replication interface, spawner and synchronizer nodes. [Editor] Replication plugin to configure MultiplayerSynchronizers. [Net] Move RPC, Node cache out of MultiplayerAPI. [Net] Fix bogus FileAccessNetwork deconstructor. [Debugger] New extensible EngineProfiler class. [Debugger] Move most profilers to ServersDebugger. [Debugger] Move servers-related behaviours to ServersDebugger. [HTML5] PWA service worker prefers cached version. [HTML5] Improve editor progressive web app behavior. [HTML5] Implement JavaScript PWA update callbacks. [Net] Implement GDScript custom RPC callable. [Net] Add type check to GDScriptRPCCallable. [Net] Allow to use strings as method name in RPC. [Net] Clarify RPC error when method is missing. [HTML5] Fetch API now passes credentials. [OS/Crypto] Add get_entropy to OS. [Crypto] Implement CryptoCore::RandomGenerator. [ResourceUID] Use CryptoCore::RandomGenerator for IDs. [OSX] Codesign exporter now uses CryptoCore RNG. [Net] Fix multi-peer path-only replication. [Net] Optimize object cache notification send for single peer. [Net] Make StreamPeerTCP::_poll_connection explicit. [Net] Drop is_connected_to_host for TCP and UDP. [Net] Change HTTPRequest timeout type to double. [Net] Allow branch-specific MultiplayerAPIs. Added missing signature. [JS] Add flag to disable weak symbols in ZSTD. [Net] Fix StreamPeerTCP accepted status. [WebSocket] Fix WSLClient connection status. [HTML5] Add "webgl/webgl2.h" as OpenGL include. [HTML5] Fix JS "tools" editor plugin. [HTML5] Limit the returned OS cpu count to 2. [GL] Fix HTML5 builds. [Editor] Report GDExtension export errors and missing libraries. [Editor] LinuxBSD export reports Linux as OS name. [WebRTC] Static extension registration. [HTML5] Add GDNative+Threads build. [Net] Fix SceneReplicationConfig setter. [AssetLib] Fix crash in Web editor. Bump mbedtls to version 2.18.1, update LICENSE. Bump mbedtls to 2.18.1 (headers). Add peer visibility to MultiplayerSynchronizer. [Net] Modularize multiplayer, expose MultiplayerAPI to extensions. Fix some array size function definition mismatch. [Core] Use std type traits to check operations triviality. [Scons] Implement module dependency sorting. [Net] IP uses print_verbose when getaddrinfo fails. [Websocket] Remove dummy JS server implemenation. [MP] Cleanup and fixes for replication plugin. [MP] Fix variant serialization after variant size change. [Net] Expose get_remote_address get_remote_port. [Web] Rename JavaScript platform to Web. [Web] Require threads, rtti, allow optimize=speed. Simplify network GDExtension bindings using EXBIND macros. Fix arm32 detection in Engine. [Net] Rename StreamPeerSSL to StreamPeerTLS. [Web] Enable Web exporter in non-dev mode. [Net] Rename "ssl" references to "tls" in methods and members. [Web] Small fixes and enhancements. [Multiplayer] Fix crash in spawner get_spawnable_scene. [WebRTC] Expose more of the WebRTC API. [OS] Expose get_stdin_string to Scripting. [MP] Add warnings to spawner and synchronizer. [Web] Add feature detection helpers to JS Engine class. [Web] Add missing features warning in editor and export shell. [Core] Make ImageFormatLoader extensible. [IO] Add StreamPeerGZIP for streaming compression/decompression. [HTTPRequest] Body streaming decompresison. [HTTPRequest] Cleanup, refactor deferred call. [Web] Add PS3 gamepad mapping for FF+Linux. [MP] Allow multiple synchronizers per node. [WebSocket] Refactor websocket module. [Web] Add auto-formatting to HTML files. [Web] Add the "serve" and "run" scons targets. [WebSocket] Fix TCP connection being closed while connecting. [WebSocket] Fix Web write mode. [WebSocket] Fix debugger implementation. [WebSocket] Fix potential double free after multiplayer clear. [WebSocket] Fix client failing to connect to direct IP. [MP] Let MultiplayerAPI handle packet relaying and peer signaling. [MP] Add MultiplayerPeer disconnect_peer, close. [MP] Add optional authentication to SceneMultiplayer. [MP] Remove connection state signals from MultiplayerPeer. [Web] Improve Godot shutdown and cleanup. [Web] Force WebGL2 when supported. [Editor] Fix invalid run args when remote debug is unavailable. [Editor] Better expose EditorDebuggerPlugin. [MP] Move engine and editor profilers to a plugin. [MP] Improve network profiler. [MP] Initial replication profiler. [MP] RPC visibility. [MP] New default multiplayer_peer acting as server. [Net] Fix HTTPRequest gzip with high compression ratio. [Editor] Add button to keep the debug server open. [Core] Fix Resource.resource_name type. [Web] Expose API to force file system sync. [MP] Fix server_relay being unsettable. [MP] Convert _spawn_custom to a Callable property. [Editor] Fix missing "debug"/"release" export presets feature tags. [MP] Fix nested spawning during "ready". [Web] User FS (user://) now correctly uses project name. [NET] Refactor TLS configuration. [Net] Remove StreamPeerTLS.blocking_handshake option. [MP] Fix MultiplayerSpawner not connecting to child_entered_tree. [MP] Add a "synchronized" signal to MultiplayerSynchronized. [MP] Fix replication config not updating sync/spawn props from code. [MP] Fix orphan StringName on close. Fabio Iotti (3): Fix empty audio infinite loop Fix OGG audio loops Fix screen texture slightly darker Fabián L (1): Fixed GetNodeOrNull Faymoon (1): Let thread func have optional parameter Fazil Babu (7): Right-clicking with copied tiles cancels it Inspector retains content when detached and when docked CSG Meshes can be exported as glTF Default material is assigned to meshes without material for glTF export Double clicking scene tree icon focuses that node popup_request signal emits mouse click position Import settings inspector is cleared when opened Fedor Shchukin (1): Fix property revert doesn't revert selected fields Felipe Kinoshita (2): Add description to TileMap's get_layers_count method Add descriptions for Node2D's skew and CanvasItem's clip_children FelipeMatoba (1): Increased time delay on selection when opening a popup Feniks (1): Changed mouse cursor to the caret (text cursor) location. Fernando Cosentino (1): Added material_overlay property to MeshInstance3D Filip (3): Add all AutoLoad resources when exporting the project Fix file name comparison when new file is added to file system Fixed completion and hint panel positioning in TextExit Filipe Rinaldi (1): Fix arm64 build when using Clang FireForge (78): Fix Create Root Node dialog expanding in favorites tab Add type icons to Project Settings, Array, and Dictionary editors Fix node types in image drag-and-drop and add node icons Unify array, dictionary, and inspector array editors Fix EditorProperty text and icon overlap bugs Add node icons to the Sprite2D menu Make EditorSpinSlider label color a theme property Add missing property name capitalizations Add GradientTexture2D editor plugin Fix tab names in advanced font importer Fix "Stretch Margin" group in TextureProgressBar Remove unnecessary "Percent" group in ProgressBar Use accent color for some editor icons Remove space in MeshLibrary editor button Make the OpenType "Add Feature..." button full width Rename "ss_reflections_" to "ssr_" in Environment Fix inspector group name capitalization Capitalize names in the debugger Fix group name in FastNoise and Gradient Add enum hint for Animation.loop_mode Expose EditorSpinSlider.hide_slider Fix Theme type group naming in the inspector Use multiplication symbol in Texture size label Redesign InputEvent editor plugin - Use vertical layout and add text wrapping - Fix Window.popup_centered() rect calculation Add spaces to FastNoiseLite enum hint names Fix UndoRedo in Gradient editor Add an inspector preview for BitMap Show typed Array type in Array editor - Use vformat() and TTR() for Array editor button text Rename theme properties to include underscores - check_vadjust -> check_v_adjust - close_h_ofs -> close_h_offset - close_v_ofs -> close_v_offset - commentfocus -> comment_focus - hseparation -> h_separation - ofs -> offset - selectedframe -> selected_frame - state_machine_selectedframe -> state_machine_selected_frame - table_hseparation -> table_h_separation - table_vseparation -> table_v_separation - vseparation -> v_separation Add more property capitalizations - BiDi - FileSystem - NavMesh Add RayCast2D target_position editor handle Add missing types to connections dialog - Add all types to list (except Nil, Object, Callable, Signal, and RID) - Add icons Capitalize/fix some property enum hints Reduce extra groups in TileSet Capitalize output port names in visual shader Use the "Move" mouse icon in inspector arrays Add rounded corners to EditorProperty and EditorSpinSlider - Adds rounded corners to the EditorProperty child background, EditorSpinSlider label background, and resource sub-inspector borders and background. - Allows customizing EditorSpinSlider label background through a new Theme StyleBox property, label_bg. - Makes margins consistent in resource sub-inspectors. - Removes space between buttons in NodePath, Resource, and multiline string editors. - Adds space between label background and content for vertical property editors. Add rounded corners to the contextual toolbar - Move contextual toolbar stylebox to the editor theme because it's the same in the 2D and 3D editors Add type icon to documentation page header Add rounded corners to the script editor Use "odd" style for TabContainers on base BG color - Use the "odd" style for TabContainers that are on a background with the same color as the default TabContainer background color to add contrast Use type icons in Theme editor import tab - Use + icon for "Add" button - Replace "One" with "1" in data type counts Use consistent casing in editor filter/search bars Update viewport when toggling TileMap grid Make Input mouse_mode and use_accumulated_input properties Add suffixes to all nodes and resources Add margins to Array and Dictionary editors Add Vector2/3 linking to more properties - Camera2D.zoom - CanvasLayer.scale - ParallaxBackground.scroll_base_scale - ParallaxLayer.motion_scale - Polygon2D.texture_scale - BaseMaterial3D.uv1_scale - BaseMaterial3D.uv2_scale Improve TileMap editor layer selection button Allow folding in sub-inspectors in Array and Dictionary editors Use new inspector button style in InputEvent editor Expose PopupMenu set/get_item_horizontal_offset() - Renames setter from set_item_h_offset() - Adds getter Add icons to the Project Manager side buttons Improve TileSet editor and add more suffixes Fix GradientTexture2D editor height Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog Seperate filter and description in FileDialog.add_filter() Use a SpinBox in the inspector array resize dialog Add "Open Documentation" button to EditorProperty context menu Show Resource type name in Array editor Follow-up to #60409 Use menu icon for layers grid button Use integer types in Image and ImageTexture methods - Image.blit_rect() - Image.blit_rect_mask() - Image.blend_rect() - Image.blend_rect_mask() - Image.fill_rect() - Image.get_used_rect() - Image.get_rect() - ImageTexture.set_size_override() Rename Control PRESET_WIDE to PRESET_FULL_RECT Capitalize the SpriteFrames search bar placeholder Follow-up to https://github.com/godotengine/godot/pull/49488 Reduce contrast in inspector array element backgrounds Fix code font usage in EditorPropertyMultilineText - Only use code font while in expression mode - Use code font and syntax highlighter in big text box Improve ShapeCast2D editor and debug drawing - Rename RayCast2DEditorPlugin to Cast2DEditorPlugin and make it also support editing ShapeCast2D. - Apply RayCast2D debug drawing improvements from #46675 to ShapeCast2D. Add capitalization for "BPM" Rename ParticlesMaterial.turbulence_active to turbulence_enabled Add 4px of spacing above the "Add Metadata" button Adjust 2 default theme colors in ItemList and Tree - Change Tree's drop_position_color from orange to white. - Change ItemList's guide_color to the same color as Tree's, which fits in with a dark theme better. Add space to ParticlesMaterial "Particle Flags" group name - "ParticleFlags" -> "Particle Flags" Decrease StyleBoxFlat corner detail in editor theme Also makes some minor changes to other areas of the editor theme. Increase ItemList v_separation in editor theme ItemList now uses the same value for v_separation as PopupMenu. This makes it easier to select items. Various editor UI fixes (bottom panel corner radius and scene tab bar) - Fix top corners of bottom panel not having rounded corners - Fix scene tab bar background expanding vertically by corner radius - Remove two unneccesary theme items from the editor theme: - EditorStyles/SceneTabFG - EditorStyles/SceneTabBG - Remove an instance where the scene TabBar was having its styleboxes overriden to the default value, which has no effect. Improvements to multi-node editing - Show revert button for properties that are not default for all selected nodes - Show property documentation tooltips - Show common class name and icon and number of selected nodes in EditorPath, e.g. "Node2D (4 Selected)" - Hide metadata for MultiNodeEdit and AnimationMultiTrackKeyEdit - Hide script for MultiNodeEdit Add set_default_margin_all/individual to StyleBox Unbind StyleBox*.set_*_individual() methods Unbinds the following methods: - StyleBox.set_default_margin_individual() - StyleBoxFlat.set_corner_radius_individual() - StyleBoxFlat.set_expand_margin_individual() - StyleBoxTexture.set_expand_margin_individual() - StyleBoxTexture.set_margin_size_individual() Fireflash (1): Update AudioStreamGeneratorPlayback.xml FlashViper (1): InputEventWithModifiers: Improve docs of 'command' and 'meta' Florian Kothmeier (3): Fix AnimationNodeStateMachinePlayback start() on nonexistent node Raise error if Resource is of wrong type as function argument Add error_string function Flynn Garthwaite (1): Fixed orientation of HSV rectangle vertical slider Francois Belair (24): Make LSP ignore $/ messages Add a VScript func to sanitize variant values Implement LSP didDeleteFiles & make parser aware of sub-nodes Make LSP update the filesystem of changed scripts Translate file path to URI on LSP symbol requests Add cache to color picker for presets Implement didClose notification in LSP Implement applyEdit in LSP for signal connecting Implement didSave notification and rename request Fix LSP reporting wrong types Fix LSP parsing get_node only from the scene root Fix LSP completion crashing on scene-less scripts Remove duplicate WorkspaceEdit from LSP Add up/down keys to inc/dec val in spin slider Make LSP report _init instead of Object::new Fix empty line hover; fix open non-res:// script Make EditorSpinSlider wait for text on key_up/down Fix LSP crash when parsing signal symbols. Change cast of int to num to int static cast Prevent LSP adding signal func to non GDScripts Remove extraneous return to LSP Implement drawing and editing all anim beziers Fix selecting keys in Track Edit Prevent null crash when datatype not resolved Fredia Huya-Kouadio (150): Fix android template install validation. Miscellaneous cleanup for the Android codebase: - update gradle plugins versions - add formatting rules for AndroidManifest and gradle build files - cleanup java_godot_lib_jni Provides a base implementation of the Vulkan surface view (VkSurfaceView.kt) and its accompanying components. Re-architecture of the Godot Android plugin. Trim the whitespace around the plugins names. Enable Android studio debugger. Fix initialization of the GodotPayment plugin Complete the implementation of the GodotPayment plugin. Update the naming scheme for the GodotPlugin's methods in preparate of the vulkan integration. Update Android custom template build configuration. Add signal support to Godot Android plugin: Supports registering and emitting signal from a Godot Android plugin Delete unused drawable resources. Migrate legacy apache dependency to the GodotPayment plugin Fix Android templates size regression Fix detection logic for the Android sdk path Address `OS.request_permissions()` bug when non-platform permission(s) is included Implementation of the Godot Android Plugin configuration file Update the permission string for the Oculus hand tracking to match the latest api update Fix parameters passing when emitting signal Stop ignoring hidden files and directories in the `assets` directory Provide the ability for clients of the Godot library to add their own command line arguments Use compile-time constant for the size of the signal parameters Validate that `Use Custom Build` is enabled when `Plugins` are selected Remove `GodotPayment` from the default build template Add support for focus awareness Clean up the `GodotPlugin` public API. Follow up cleanup for the godotpayment project module Enable the ability to use Godot as a subview within an Android app Fix the logic to enable focus awareness Fix splash screen loading on Android Revert "Move PopupWindow logic to GodotEditText on Android" Revert "Disable virtual keyboard focus adjustment on Android" Revert "Fix virtual keyboard height regression" Fix issue causing the textedit to move upward Add overridable init method for the Godot fragment instance. Update the gradle plugins Add a separate `nativeSrcsConfigs` module to handle Android Studio constraints for native code editor support. Remove duplicate Android `orientation` settings. Clear unneeded assets when generating an apk expansion. Clean up export wording to account for the different export formats. Fix issue causing `Export all` to fail. Add missing zip alignment step for generated apks. Update the logic to query for the 'scons' command executable path. Fix zipalign command name on Windows machines. Update gradle build files to automatically perform signing and zipalign tasks for custom builds. Fix the `String::get_base_dir()` logic to properly check for top level directories on Windows. Fix invalid invocation of `get_class_loader`. Add utility method to export the project using a preset format and sign parameter. Update the logic to sign prebuilt Godot Android apks. Improve the logic to compile for Android by automatically detecting and setting up the Android NDK if needed. Expose GodotPlugin's utility methods used for registration and signal emitting. Add verbose logging to help with troubleshooting the Android build/export process. Revert AGP to version 4.0.1 as a workaround to https://issuetracker.google.com/issues/171235570 in version 4.1.x Add missing `ndkVersion` to the library gradle build config. Override `ANDROID_NDK_ROOT` based on the project ndk version. Disable engine splash logic on Android; this is now handled by the Android theme api. Add logic to record the version of the Godot engine for the Android platform. Update the initialization timeline for the Godot fragment to be more consistent with the previous activity based timeline. Update the filtering logic to properly handle directories with `.gdignore` files. Update the logic to load Godot Android plugins packaged into the binary. Fix invalid missing template error when the Android build template is not installed. Leverage java annotations to simplify the logic used to register the Godot plugin methods. Fix bug causing `project.godot` to be ignored when `project.binary` is missing Enable `doNotStrip` when doing development/debugging within Android Studio Fix onMainRequestPermissionsResult callback for Android plugins. Fix issue causing the response callback to be invoked with the invalid `requestCode` and deprecate support for forwarding callbacks from Godot's parent activity. Fix custom boot splash image scaling. Add support for forwarding callbacks from Godot's parent activity. Fix issue causing export to fail with "Could not unzip temporary unaligned APK" error and improve command output logging. Remove deprecated xr features properties. These properties are now provided directly by the plugin. Add support for custom debug keystore. Update config versions and deprecate the use of the jcenter maven repo. Disable resource optimizations for release builds as it breaks the legacy build system. Fix custom build export Resolve issue where the Godot app remains stuck when resuming. Add support for prompting the user to retain app data on uninstall. Add partial support for Android scoped storage. Delegate handling and implementation of the restart functionality to the Godot host. Update the AndroidManifest to enable access to Oculus OpenXR runtime. Add support for Play Asset Delivery. Provide a getter for the project data directory. Pass the correct `export_format` argument to locate the assets directory when exporting. Make the project data directory customizable. Restrict the project data directory configuration Add default `minSdkVersion` and `targetSdkVersion` in the AndroidManifest.xml file Add support for OpenXR export configurations. Add configs to specify the min and target sdk versions. Enable configuration of the `android:excludeFromRecents` activity attribute. Add support for configuring the xr hand tracking frequency mode Fix Android Studio builds. Fix XR Android manifest metadata Include the `godot_plugin_jni.cpp` file into the `platform/android/SCsub` file Setup logic to publish the Godot Android library to MavenCentral Android port of the Godot Editor Fix flickering issues with low processor mode on Android Update `resize` settings: Remove duplicate `resizable` settings Update the editor display scale based on the device's scaled density Fix the issue causing the screen to be black after resuming when in low processor mode. Update Meta hand tracking version Fix the logic to restart the Godot application Misc editor tweaks and polishes: - Using a bucketized approach to select the editor scale in order to avoid too high values - Add default app dimensions: used on Android devices with free floating app windows to set the default app frame - Add ability to launch the Game window in an adjacent frame when in multi window mode Migrate the Godot Editor java source file to Kotlin. Add full support for Android scoped storage. Address slow copy performance when using the `FileAccessFilesystemJAndroid` implementation. Address remaining scoped storage regressions Refactor the export checking logic to improve separation of concerns Fix issue preventing the Android Editor from displaying the project content Disable threads used to check on plugins to load Fix issue with `get_current_dir()` returning the wrong path on Android Revert the architecture values update made to the Android export logic Additional fixes to the Android `get_current_dir()` implementation. Fix build failures for Android on Windows Disable logic that triggers automatic focus gain as the Godot Editor is loaded Cleanup the Android input logic implementation Enable long press, pan and scale gestures for the Godot Android Editor Fix issue causing the project manager to crash because of missing path argument Update the versioning logic for the Godot Android Editor Exclude small screens from the set of supported devices. Disable menus and functionality that are not relevant on the Android Editor port Fix the gradle build configuration for the Android platform following https://github.com/godotengine/godot/pull/66242 Cleanup of the Android cursor shape logic Delete Android godot-lib with the old naming scheme Add double_tap attribute to InputEventScreenTouch Small set of fixes to the input logic Upgrade Android gradle plugin to version 7.2.1 Fix 'save & restart' logic for the Android Editor Fix parsing of the `keep_screen_on` display setting Add missing display server overrides Add navigation control to the node3d editor viewport Updating the minimum Android target api for proper Vulkan support Fix routing of InputEventScreenDrag events to Control nodes Enable the navigation controls for touchscreen by default Minor tweaks/polish to the navigation controls to prevent interference: Address Android editor crashes Update the visibility logic for the spatial editor navigation controls Add boot splash for the Godot Android Editor Update the logic to calculate the screen scale on Android Update the Godot Android Editor name from `Godot Editor 4.x` to `Godot Editor v4` Address kotlin build warnings Fix the issue causing the Godot Android Editor to crash when returning from the launched and running game Update the XR manifest configs Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices Implement file provider capabilities Clean up the XR export logic Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process. Improve vulkan capability detection on Android Improve logic to detect whether vulkan is used for rendering Add HTC Vive focus XR manifest metadata Downgrade the vulkan abort logic to a warning Fix the issue causing long-press on a selected node on the scene tree to trigger both the context menu and the rename functionality Enable granular control of touchscreen related settings Frixuu (2): Allow for mapping keycodes to current layout Initialize AudioClientProperties G'lek (1): Change assembly watcher after notification changes G-Shadow (1): Add missed OS window settings to project converter, fix fullscreen indents. GTcreyon (1): Changed "pair" to "triplet" in Vector3 definition Gabor Koncz (2): Fix OpenXR layer composition blending Add Passthrough extension wrapper Gabriel Van Eyck (2): Keep 'Editor Description' metadata when changing a Node's type Fix emit_signal timing for GraphEdit's begin/end node move GanidhuAbey (2): fixed depth of field bug with msaa Fix particle system from going inactive early Gary Yendell (1): Fix link to docs for building from source Gaël (1): Break loop when the first focused window is found Geekotron (2): Fix Physics3D and Physics2D CCD sometimes adjusting velocity too much (preventing collision) or not enough (allowing tunneling) Fix regression 70154 caused by my prior CCD fix. Geequlim (2): Fix hover symbol content position Rename JavaScript singleton to JavaScriptBridge Geoffroy Warin (2): use physical keys for numpad emulation in the editor Add keyboard shortcut for "Open in External Program" action Georg Wacker (2): Fix control node transform animation jitter with pivot offset Fix vertical scroll/zoom for precision touchpad Georg Ziegler (1): Move definition of const int ERROR_CODE to be reachable by all functions. George L. Albany (2): Allow non-constant string message for assert Make `BaseButton` Shortcut feedback togglable George Marques (257): Revert "ClassDB: Workaround double-free for GDScript" GDScript: Remove self static reference and create one on calls Fix Ref(Variant) constructor to properly check the object type GDScript: Fix assert message when no custom message is set Actually set GDScript static reference Add a map of autoloads to ProjectSettings Add methods in ClassDB to get property/method/constant/enum info New GDScript tokenizer and parser Fix comments in beginning of file Add support for properties Add GDScript cache singleton Add better local variable detection in GDScript parser Add new GDScript type checker Add warning checks in GDScript analyzer Added support for enums to be used as types in GDScript Reenable GDScript LSP server Reintroduce code completion Wrap up GDScript 2.0 base implementation GDScript: Allow "new()" to be called in non-static functions Remove multilevel calls Fix input after removing multilevel calls GDScript: Fix crash on 'await' completion Fix _input being mistakenly called twice on script GDScript: Tidy up assignment operator check GDScript: Fix wrong argument check for formatting operator GDScript: Allow "match" to be used as an identifier GDSript: Prevent crash when completing unary operators GDScript: Fix editor crash when writing @tool annotation GDScript: Fix LSP getting wrong union value on unnamed enums GDScript: Fix crash when superclass file is non-existent GDScript: Allow empty files to be valid scripts GDScript: Add script to cache on reload GDScript: Allow implicit type conversion when constructing variants GDScript: Allow supertype objects to be assigned to a subtype variable GDScript: Allow enum values to be set to constant expressions GDScript: Allow keywords to be used in $ notation GDScript: Allow preload() to be used with constant expressions GDScript: Check duplicate keys in dictionaries and enums GDScript: Fix signal parameters not respecting commas GDScript: Show error when function return type is missing GDScript: Make subscript access be properly type checked GDScript: Use pointer instead of references in cache GDScript: Properly resolve external inner classes from preload GDScript: Don't fail to load constants if they're not a literal GDScript: Fix issues when deriving from other scripts GDScript: Fix crash when completing code with signals GDScript: Add recursion depth limit for completion GDScript: Show error when there's an inheritance cycle GDScript: Fix crash when parsing properties GDScript: Don't try to parse constant scripts that aren't valid GDScript: Allow "self" to be used in class level GDScript: Allow "extends" to be used inside inner class GDScript: Fix analysis of singleton dependencies GDScript: Check for missing exponent when parsing numbers GDScript: Properly set class inheritance for global classes GDScript: Don't mark function parameters as constant Add GDScript code generation interface Change GDScript compiler to use codegen abstraction Add GDScript disassembler Add VariantInternal class Fix Vector{2,3}i casting on Variant multiplication with numbers Allow commutative multiplication in Variant Remove bojidar from codeowners for GDScript GDScript: Add initialization for the language before debug tests GDScript: Fix handling of scope for local variables Add name and base type to Variant::InternalMethod (on debug) GDNative: Define special char types in string.h GDScript: Fix native class not set with inheritance Fix return type on builtin validated calls Fix variant getters not setting return type Variant: Merge get() and validated_get() Add extra functions to VariantInternal GDScript: Split Function code into multiple files GDScript: Gather instructions arguments beforehand GDScript: Add faster operator for known types GDScript: Add speficic set/get instructions GDScript: Add faster call instructions for native methods GDScript: Add faster call instructions for builtin methods GDScript: Add typed iterate instructions GDScript: Add faster instruction for validated constructor GDScript: Fix mishandling of stack pointers GDScript: Fix range() being treated as array when optimized out GDScript: Fix return of cast expression on compilation Fix prints and printt functions printing as errors GDScript: Refactor builtin functions GDScript: Give an error if dependency can't be parsed GDScript: Don't clear depended parsers too soon GDScript: Improve handling of operators Unregister GDScriptFunctionState class GDScript: Don't construct ref values in compiler Fix VariantInternal initialization and setting of object Rename TYPE_REAL to TYPE_FLOAT Use pointer parameters in Variant function pointers Fix object check on Variant key checker Add PtrConstruct template to use in Variant constructors Change template order in method_ptrcall.h Add helper count function to Variant GDNative: New core API GDNative: Remove print functions Add GDNative JSON generator for the builtin API Removed duplicated binding of two methods Make SyntaxHighligher::_clear_highlighting_cache virtual Further changes to GDNative API Improve GDNative api.json generator Bind ClockDirection enum Further changes in GDNative API Added static method information the generated builtin API JSON Don't check type when assigning Array Add functions to retrieve type of a typed Array Make Variant setget use set() method of Array Add typed arrays to GDScript Move GDSript annotation application after type-checking GDScript: Show error on invalid initializer expression GDScript: Allow export of enum variables GDScript: Implement export of typed arrays GDScript: Fix array type check on constants GDScript: Properly validate return type Add flag to stop printing to stdout/stderr Add runner for GDScript testing Set up PackedData when setting up tests Set resource path earlier on ProjectSettings setup Reduce number of addressing modes in GDScript VM GDScript: Pool temporary values by type on the stack GDScript: Adjust type of temporaries when needed Remove return value type adjust of builtin method calls GDScript: Fix resolution of dictionary keys GDScript: Make sure Lua-style dicts use StringName as keys GDScript: Add lambda syntax parsing GDScript: Add lambdas to the type analyzer GDScript: Implement lambdas compilation and runtime GDScript: Fix crash when base of an attribute is invalid Cast Unix time to uint in the randomize function GDScript: Add support for builtin static method calls GDScript: Fix crash caused by uninitialized temp stack slots GDScript: Fix error handler for tests Make Callable not crash on call when the object has been freed GDScript: Use analyzer data to decide assignment conversion GDScript: Fix function signature check for self calls GDNative: Use VariantWriter for the API JSON generator Fix default value binding in VisualScriptFunctionState GDScript: Fix setting type of operator return value Fix TileSet::CellNeighbor enum binding Add test to check for :: in enum/constant bindings Change Variant bool conversion to uint8_t Improve extension API dump Add a instance callback for extensions Fix a few default parameters in bindings Improve extension system Bind missing constants from PropertyHint and PropertyUsage Rename GDNative call error enum values to use GDNATIVE prefix Initialize call error struct when calling extensions A few fixes in the extension C API Properly set up virtual calls for extensions GDScript: Fix inner classes and preloaded scripts as types GDScript: Fix issue when calling `new()` on its own GDScript: Fix calling builtin static functions GDScript: Fix memory leak when using self class as type Fix initialization of objects in VariantInternal GDScript: Make singleton functions be seen as static GDScript: Allow access to outer constant and enum values GDScript: Fix loading of interdependent autoloads GDScript: Do not complete lambda arguments from parent class Disallow class names to be the same as global names Fix GDScript test cases GDScript: Allow string keys on Lua-style dictionaries GDScript: Show error on unary operators without argument GDScript: Show error when missing expression after ternary else GDScript: Avoid inferred types from giving hard errors Allow comparing equality between builtin types and null GDScript: Properly catch error when missing index in subscript Allow indexing of String values in scripting languages GDScript: Remove conversion assign mistakenly done when unneeded GDScript: Allow multiple lines in signal parameters declaration GDScript: Allow classes declaration to be done in single line GDScript: Show specific error when "yield" is used GDScript: Fix assignment with operation for properties GDScript: Don't allow builtin type names as identifiers GDScript: Fix member assignment with operation GDScript: Use path cache when checking preloaded scripts GDScript: Make all warnings enabled in test generation GDScript: Avoid hard errors on inferred types GDScript: Allow subscript on self and object types GDScript: Set status on parsing steps beforehand Add Variant `in` operator for any String/StringName operands Joint2D: Use boolean instead of warning string for validity test GDScript: Fix method ptrcall on release Enable method type information on release builds GDScript: Use getter return type for the property type GDScript: Make setter parameter type same as variable type GDScript: Fix typed array with custom classes Zero Dictionary and Array variants when changing type with reset GDScript: Make sure calls don't use return when not needed GDScript: Properly return value with await on non-coroutine GDScript: Remove error when coroutine is called without await GDScript: Fix typing for await expression GDScript: Fix inferred typed array marked as constant GDScript: Avoid crash if missing setter signature GDScript: Add annotation to ignore warnings Remove action to ignore warning in the script editor GDScript: Consolidate behavior for assigning enum types GDScript: Allow tests to run on release builds GDScript: Treat enum values as int and enum types as dictionary GDScript: Check if method signature matches the parent GDScript: Fix issues with completion and `super` calls Remove argument name strings from release builds GDScript: Add support for static method calls in native types GDScript: Fix method call on singletons GDScript: Allow using self in lambdas GDScript: Fix stack manipulation for `await` Implement read-only arrays GDScript: Do not allow standalone lambdas GDScript: Fix `if` after lambda being seen as ternary GDScript: Fix lambda captures in default argument values GDScript: Don't show redundant await warning on unknown types GDScript: Fix stack overflow when using multiple `await` GDScript: Support `%` in shorthand for `get_node` Add StringName explicitly to Variant::hash_compare GDScript: Don't add implicit constructor to the list of functions GDScript: Use implicit method for @onready variables GDScript: Fix setter being called in chains for shared types GDScript: Enable exporting nodes to the inspector GDScript: Error when assigning return value of void function GDScript: Make using return of void function an error GDScript: Don't use the NIL address to hold return value of functions GDScript: Allow using await on calls to void functions GDScript: Fix use of conversion assign for variant values GDScript: Fix temp values being written without proper clear GDScript: Fix infinite recursion in resolution of enum values Remove references to compiled GDScript in export Add support for Unicode identifiers in GDScript Add support for Unicode identifiers in Expression class GDScript: Remove function of `continue` for match statement GDScript: Add names for disassembling function pointers GDScript: Allow variables in match patterns GDScript: Avoid calling non-static methods on native classes GDScript: Fix match branches return check on release GDScript: Allow void functions to return calls to other void functions GDScript: Add warnings that are set to error by default GDScript: Improve usability of setter chains GDScript: Add warnings that are set to error by default GDScript: Don't allow @onready without inheriting Node GDScript: Fix inheritance check of @onready for inner classes GDScript: Add limit to call depth GDScript: Allow strings as multiline comments GDScript: Be more lenient with identifiers Make global scope enums accessible as types in GDScript GDScript: Limit recursion depth for completion functions GDScript: Fix crash when autoload script can't be found GDScript: Avoid validated division operation to test for zero GDScript: Fix setting native type with script inheritance GDScript: Fix override signature check of script inheritance Load script for addons without cache GDScript: Fix groups and categories been seen as members GDScript: Don't use validated call for vararg methods Make max() and min() global functions only accept numbers GDScript: Initialize all defaults beforehand in implicit constructor Revert "GDScript: Fix groups and categories been seen as members" Georgi Genkov (1): Change EditorFileSystem and ScriptEditor file sorting order to improve consistency. Ger Hean (4): Fix leak when function returning self type Create function focus_file_text Fix shortcut collapse after edit Add shortcut_cell double click functionality Gergely Kis (3): Fix debug build for iphone Fix UTF-8 validation in static checks Dynamic loading of OpenXR Loader on Android GeroVeni (1): Improve docs for rpc annotations Gil Arasa Verge (3): Clicking backgrd. dimming of editor popup stops input event propagation Double click on a folder didn't open it Double click on a folder didn't open it (editor) Gilles (1): Remove duplicate `ignore_empty_terrains` paragraph Gilles Roudiere (128): Fixes a crash in the 2D editor Fix error when dragging anchors with parent's size == 0 Draw selected item on top of everything else Fix scale cursor rotation and handle diagonal ones Allow sorting files by type Improve file sorting Fix error on attaching script Fixes setting top_level not updating the global position Improve UndoRedo class Fixes crash when exiting with --verbose with leaked resources Fix minimum_character_width in LineEdit Remove Navigation2D/3D nodes, and move the navigation map to the world resource Implement Navigation layers Allow Navigation to be more flexible Make 2D navigation consider scale Implement Tabs minimum size Provide a way to hook into Inspectors UndoRedo. Adds a pressed signal to ButtonGroup Rework the TileSet resource and TileMap nodes: - Move most properties from TileMap to TileSet, - Make TileSet more flexible, supporting more feature (several collision layers, etc...), - Fusion both the TileMap and TileSet editor, - Implement TileSetSources, and thus a new way to index tiles in the TileSet, - Rework the TileSet and TileMap editors completely, - Implement an editor zoom widget (and use it in several places) Implement scenes tiles in TileMaps Fixes TileSet Y-sort not working and TileSet not saving correctly Fixes deprecated=no compilation option Add TileMap grid editor settings. Restore a way to show collsion/navigation on TileMap. Also remove an unused function. Keep the drawing transform when drawing meshing in CanvasItem Fixes Mesh2D drawn without modulation Fix polygon 2D rendering black Allow disabling scrolling in Tree Implement Tree's internal minimum width calculation Implement painting properties over TileSets Fixes crash in case no column in tree is expanded and has minimum size Increase the number of arguments accepted by UndoRedo methods Import old tiles in SINGLE_TILE mode as atlases Add min_axis and max_axis to Vector2i Implement atlas merging and tile proxies Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead Fix LocalVector crash on insert. Cache TreeItem minimum size for performance. Fix crash in TileMap physics Implement properties arrays in the Inspector. Fix TileSet terrain painting reset to no terrain Tiles renames/bugfixing and documentation Fix transform of TileMap nodes and tilemap selection Implement animated tiles Various tiles-related fixes Improve TileMap physics for moving platforms and conveyor belts like movements Allow editing several tiles animations at once Set TileSet layout and half-offset as read-only when using square shape Fix TileSet selection not updating when selecting on TileMap Fixes set_source_id not updating the next automatic source id Fix selection not updating when erasing tiles Add a way to force undo/redo operations to be kept in MERGE_ENDS mode Fix useless debug print Fix undo in inspector not working Fix TileMap memory leak Prevent tiles outside atlas texture Greatly improve editor performances by deferring tiles related updates Solve few update problems Implement toast notifications in the editor Add a name to TileSet sources Fixes crash in TileSetAtlasSource::get_tiles_to_be_removed_on_change Implement TileMap patterns palette Remove the tilemap/tileset editor switch, move it to tabs Fix EditorToaster constant update and prevent a crash Allow updating TileMap cells using surrounding terrains Implement polygons editors in the tiles selection mode Optimize TileMap layers updates Implement runtime update of TileData object in TileMap Remove ItemList editor and replace it by a property array Implement missing TileMap brushes for terrains Fix TileSet editor drag and drop not working Fix EditorImportPlugin logic for checking unimplemented methods Implement texture padding in TileSetAtlasSources Change gdnative interface so that Godot object initialization should be triggered from the extension side Fixes rotation 3D track inspector not using the correct type Avoid a crash in the gdscript analyser Exposes gui_release_focus and gui_get_focus_owner to Viewport Remove get_focus_owner() from Control, replaced by get_viewport()->gui_get_focus_owner() Fixes terrain painting on TileMaps when using empty terrain bits Fix llvm compilation by adding missing override Fix a crash in GDScriptAnalyzer when a script class's file is not found Reorder native extension types initialization, initializing editor last Avoid recursive errors in EditorToaster Keep input event as unhandled if they go through a control set to MOUSE_FILTER_PASS Add terrain center bit Fixes terrains for isometric tilemaps Fixes TileMap clear_layer not recreating internal CanvasItems Fix TileSet not loading correctly when embedded in a scene Fixes inherited scenes not working in TileSet scenes collection sources Improve SplitContainer behavior, keeping asked split whenever possible Allow SplitContainer to have a grab area larger than its visual grabber Right-click to erase TileSet terrains and bugfixes Fix TileMap occluders having a wrong transform Exposes ResourceFormatLoader.recognize_path to scripting Implement a way to dump the gdnative_interface.h file from the executable Make String.simplify_path keep the protocol identifier for urls Fix localize_path with custom protocol identifiers Make terrain painting not change neighbors centers bits Expose the logic to recognize a save path in ResourceSaver Fix terrain painting in corner-only matching mode Fixes infinite loop in ResourceFormatText when having unexpected end of file Remove uncessecary checks when exporting gdextension binaries Allow specifying a prefix to automatically detect library files for gdextension exports Rename get_surrounding_tiles to get_surrounding_cells Fix a wrong error formatting in gdextension export plugin Rename all gdnative occurences to gdextension Remove a confusing TileMap warning Fixes TileSet atlas merging not working correctly Fixes TileDate::add_source accepting invalid ID values Make keyboard shortcuts in tile data editors consistent with tilemap editor. Fix a bug with collision shapes painting. Fixes rectangle painting when dragging outside the atlas area Limit toasts' width Avoid recreating TileMap internals when selecting it Fixes TileSet layer addition not being undoable Bring back TileMap::get_cells_by_id Fix right-click on tilset atlas popup wrong position Fix similar bug in AnimationLibraryEditor Fixes TileMap undo not restoring tiles Fix a few issues with tile animations Add gesture to ViewPanner and simplify a bit its API Make TileMap toolbar a FlowContainer Rename texture_offset and unclamp it Warn that autotiles from 3.x cannot be converted automatically to 4.x Improve TileSet 3to4 conversion, avoiding some data loss Warn when a TileMap layer is Y-sorted but not the TileMap node itself. Fix panning via InputEventPanGesture Fix TileMap patterns creation Make sure Variant is not implicitely cast when using operator[] Fix TileMap dragging selection Fix a crash in the GLB importer Giuliano Barberi (1): Tree: Calling update in _gui_input less frequently Giwayume (2): Fix texture atlas generation when source sprite is larger than generated atlas Fix edge case where 1px cut off from right of image Gordon MacPherson (29): Added compilation database support for clang and gcc Use GitHub Actions instead of AppVeyor for Windows platform added MacOS and Linux to GitHub Actions fix CI builds on linux by using ubuntu default apt repositories Clamp scons cache to 4096 MB Improve the cache keys to prevent clashes for the wrong type of build t Add unit testing to Godot using DocTest and added to GitHub Actions CI Fix arguments always being found and returned some items back to normal fix crash on shutdown Crash when debugging tests by disabling thread_local in /MT context update to use scons compile db tool Rename javascript_builds.yml to javascript_builds.disabled fixed linker being slow on OSX remove assimp pending fbx upgrade Port FBX module from commit 68013d23932688e57b489600f4517dd280edc464 Preliminary Blender FBX support [4.0] Fix zero scaling and material mappings being mapped to wrong fields Use github actions cache not my own one. Add unit tests for export templates Fix use of Error its uninitialised and resolves importers being broken This stops using FBXPropertyTable as a pointer. Implement editor grid performance improvements Fix editor grid perspective undefined behaviour Fix github actions cache server being down failing builds Improve GDScript Editor and Improve latency Fix EXE_BAD_ACCESS caused by optional argument Ensure vulkan subgroups are disabled for MoltenVK Implement automatic rename for project Fix editor resource preview deadlocking with --headless mode Graham Pentheny (1): Updated Recast to 4fef044 Gregory Basile (1): Documentation search fixes Grigoris Pavlakis (1): Fix placement new on zero-sized region warning on GCC 11.1 Gromph (2): Fix EditorExportPlugin _export_begin and _export_end functions not being called when exporting UWP UWP: Keep upstream names for capabilities preset settings to avoid mismatch GryphonClaw (1): added shortcuts/hotkeys for tileset editor plugin collision buttons, with suggested changes. Grzegorz Puławski (3): Removing unneeded FuncRef code in C# Fixing mono build after instance() -> instanciate() name change Fix axis snapping of CollisionPolygon2d's newly created vertex Guh-Feng (1): Color Pickers Respect Settings GuidoRevers (1): Fix segmentation fault when using context_vulkan after memdelete context_vulkan Guilherme Felipe (11): Fix the VIEW_INFORMATION checkbox not being selected Fix TextureRect::flip_* when used with atlas texture Improvements of state machine Fix state machine box selection Fix state machine style Removes start/end states from menus Fix ObjectDB instances leaked on state machine when editor closes [Node3DEditorViewport] Add correct margin for rotation control and fps label. Fix AnimationNodeStateMachine::rename_node Fix AnimationNodeStateMachinePlayback::is_playing Re-add AnimationNodeStateMachine::end_node for root state machine Guilherme Sousa (5): Fix expression base path on transitions Fix mouse release leaving dock area Add Error for synchronizer authority mismatch Remove expression base node for transitions Added custom node export Guillermo (1): Improve description of `GetNodeOrDefault` in C# API Gustav (4): Fix ProjectSettings.save_custom documentation Fix completion for built-in load function Fix missing function hints Add bracket or space to some keyword completions Gustavo Beltrão Braga (1): Change description of relative field in input drag event. Gustavo Maciel (1): Update android:targetSdkVersion from 30 to 31 Gábor Pál Korom (1): Surface AABBs are now set for mesh surfaces even in headless mode. Sponsored by Migeran (https://migeran.com). HaSa1002 (32): fixed modules not beeing added to vsproj Priorize Embedded PCKs on loading Fix input event being dispatched multiple times on Windows Add multiple programming language support to class reference Translate GDScript Code Examples to C# (C) Add C# code examples to the docs Port code examples to C# (D) MainLoop: Remove deprecated methods Docs: Port Code Examples to C# (M, N, O, P, R) [Docs] Add C# example for EditorPlugin::forward_canvas_draw_over_viewport Docs: MeshDataTool: showcase tool in code example Docs: Port Code Examples to C# (F, G, H, I, J, K, L) Docs: Object: Use new signal syntax and port to C# Fix Window.get_window_id() returning -1 when embedded Document missing Callable methods Move cursor shape loading after module loading Docs: Port Code Examples to C# (R, S, T, U) Fix GDScript Tokenizer being very strict about the number of underscores Docs: Fix Mainloop example Fix removal of `rect_min_size` not triggering resize Fix `_File::get_buffer` length always set to p_length Fix CSG Path Polygon cache being removed after connect Meshoptimizer: Sync with upstream commit f5d83e8 Port code examples to C# (V) Makerst: Remove redundant GDScript from code blocks Specify description of Array.slices end parameter Remove bbcode_text from RichTextLabel Add `GraphEdit` drag notifications Rename GraphEdit connection_drag_begun to connection_drag_started Fix `EditorSpinSlider` mouse reset position on tree exit Document how to load Images and MP3 files at run-time Add GraphEdit.is_node_hover_valid(...) method Hakim (5): Bring back Geometry2D.segment_intersects_circle Remove rect_ prefix from control properties when keyframing Prevent AnimationPlayer from being added on GLTF import if the option is unchecked. Fixes #63954 Bring back the renderer options button on the main editor Document VisualInstance3D offset unit HalcyonGarside (1): Add 'Lighting' to list of Debug Draw viewport options Hana (6): fix "unknown document" classref links fix warnings in classref add possibility to use only one color fix conversion of csharp attributes in code blocks Add missing OptionButton method descriptions update outdated references and examples Handola (1): Fix bind method set_override_exposure_enabled of CameraEffects Hanif Bin Ariffin (4): Remove deprecated Color::gray Avoid copying vector in constructor of PathMD5 Check pointers against nullptr. Better error handling of vkEnumerateInstanceExtensionProperties Hannah Crawford (1): Updated out of date CharacterBody documentation. Hansem Ro (2): [macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event [X11] Do case-insensitive search for pen inversion detection Haoyu Qiu (387): Fixes OptionButton min size Adds sanitizer options for macOS Adds pan and zoom gestures to TextureRegion editor Adds extra cursors for macOS Adds CTRL-A CTRL-E support to LineEdit on macOS Fixes add group in Group Editor dialog Updates Path2D in debugging if navigation is visible Completes doc for button classes Shortens minimum height of script editor windows Centers icon vertically in project list Completes doc for ItemList and Tree Uses split cursor for SplitContainer Fixes broken scene created via New Resource Fixes range hint for default_float_step Fixes crash when resource file is corrupted Fixes friend declaration tag mismatch Fixes some memory leaks Fixes memory leak in NavigationPolygon Fixes memory leaks in GdNavigationServer and RasterizerSceneHighEndRD Fixes memory leak when loading StreamTexture Fixes crash when pressing enter in ConnectDialog with nothing selected Fixes crash when loading StreamTexture from file Adds null check of pMessageIdName Keeps the filename when marking scene as unsaved Initializes VulkanContext::queue_props to NULL Prevent dragging from SceneTree buttons Fixes ParallaxLayer offset when ignore camera zoom Fixes crash when saving scene Surrounds boolean false with code tag Hides special folders in FileDialog for macOS Fixes FileSystem tree preview icon size on HiDPI Adds pan gesture to StateMachine editor Fixes HTTPClient::poll crash after connection is self-assigned Fixes property revert after saving instanced scene Fixes property revert for inherited child nodes Keep cursor relative position after multiline move Allows HTTPClient to talk to proxy server Fixes rotation in select mode on macOS Fixes typo in Array::bsearch_custom doc Fix AnimationTree editor crash when renaming node Fix project icon size in Project Manager Check section existance before getting keys Fixes Node3D rotation in select mode on macOS Fix 3D selection box size for Node3D Fix Tree::get_column_at_position crash Fix XMLParser behavior for comments and premature endings Fix ragdoll simulation when parent was readded to scene Fix editor crash when exporting profiler data Fix STL to Godot type convertion of polypartition Check cache_parent_physical_bone when rebuilding parent cache Wrap description TextEdit of plugin config dialog Fix font preview text for CJKV ideographs Initialize PhysicalBone2D::parent_skeleton Fix Viewport crashes when not in tree Add range check for TileSet::CellNeighbor parameter Fix `InputEventJoypadButton::as_text` crash for invalid button index Validate parameter of SkeletonModificationStack2D::add_modification Fix crash when using invalid index in Color.get_named_color Validate parameters when adding plugins Fix crash when freeing GradientTexture and NoiseTexture Add missing null check for ShaderData Fix invalid read when using MultiMesh Fix crash when using TileMap::fix_invalid_tiles Fix json dump and print of circular structure Update cache after clearing delimiters in CodeEdit Save binary ProjectSettings key length properly Don't use the abbrevation "Sep." in UI text Fix typo in CodeEdit methods Update min size on Label::set_text Strip query string when parsing HTTP request line for path Fix Image.adjust_bcs crash when image format is invalid Add numpad emulation in 3D viewport Fix memfree parameter name Fix doc description of HTTPClient::request Handle Z_BUF_ERROR in decompress_dynamic Fix unicode invalid skip error in AssetLib Merge similar editor strings Fix decompression with FastLZ when buffer size is less than 16 bytes Fix missing locale names Minor enhancements for the resource options button Improve add item type UI in theme editor Fix UndoRedo crash when clearing history Add check to internal methods to prevent crash Hide open doc button when not inspecting anything Remove colon from column titles Do nothing when dragging CSGBox handle perpendicular to the camera Make action names translatable Make progress and errors translatable when exporting to Android Use Command+Drag in EditSpinSlider on macOS Validate TileData enum range before using it as index Fix crash when number of indices to optimize is not a multiple of 3 Validates VisualScript.add_node input node Validates set_sdfgi_cascades argument range Fix various i18n failures Disable save button when Inspector is not editing anything Make 3D selection box independent of object size Improve NavigationMesh typing, parameter validation and documentation Fixes crash when AnimationPlayer reset on save Allow dropping property path into script editor Fix i18n of 3D view name Fix MenuButton not emitting about_to_popup signal Disable "Edit Resource from Clipboard" menu item when nothing in clipboard Improve Undo/Redo menu items Make RichTextLabel honour default cursor shape property Fix misspelled "overriden" Quote and escape ConfigFile keys when necessary Add unit tests for Array.pop_at() Try other resolved IPs if one fails to connect Expose enum related methods in ClassDB Don't update CSG Shape when not inside tree Remove unused ImageTexture functions Make sure IK target is inside tree before using its transform Fix 3D view name typo Parse UTF-8 when getting path from resource UID Validate before passing indices to meshoptimizer Fix crash in headless mode Don't memcpy to nullptr even if length is zero Fix crash when creating thread Fix doc for Dictionary.erase Fix crash when pinned SoftBody point is out of range Fix crash when tooltip_request_func object is freed Re-prepare RenderingServer if SoftDynamicBody mesh changed Use loop instead of recursion when clearing proximity groups Fix make sub-resource crash in AnimationTreeEditor Fix Viewport::handle_input_locally related infinite recursion Fix crash when executing CodeEdit._main_gutter_draw_callback Validate enum range in RendererViewport::viewport_get_render_info Update view name after processing orbit view shortcuts Make RichTextLabel's parse_bbcode and append_text return void Fix memory leak when using CurveTexture.set_texture_mode Add missing characters for property name quoting Fix Theme Editor crash when clicking the element picker Fix crash when executing PackedDataContainer._iter_init Adds proxy support for HTTPClient Fix various misused code tag in classref Fix mouse cursor and notification for force dragging Fix EditorPlugin.remove_inspector_plugin() instance cleanup Fix crash when update() is called inside _draw() Add proxy support for the editor Center the indeterminate spinner on HTML5 page Add drag start/end signals for Slider Add / to the unix shortcut drive list Fix indentations in class reference XMLs Make `--doctool` locale aware Fix font preview text color on light background Fix crash when executing `TileMap.map_pattern` Update `make_rst.py` for non-latin texts Fix `make_rst.py` missing escape in front of some links Alpha channel indicates opacity, not transparency Add list initialization support for Vector & LocalVector Unify similar method descriptions Allow showing both left and right side panels Misc documentation improvements Fix crash on importing FBX file Explain what 2D cross product means Fix BBCode underline prevents strikethrough from rendering i18n: Make VisualScript node caption & text translatable Improve the SnapGrid editor icon Fix crash when exiting the editor Replicate load-as-placeholder state on node duplication Fix crash when undoing node creation of BlendTree editor Fix invalid read when using LightOccluder2D Add `DisplayServer.clipboard_has()` to check clipboard content Disable ScriptEditor's menu items when they do nothing Update AssetLib network settings when Editor Settings change Improve Groups dock panel and the Group Editor Store ObjectID instead of raw pointer for Shape Owners Fix memory leak when move to trash fails on Linux Fix crash after renaming an animation node Add documentation for StreamPeerBuffer Don't display empty Class Properties in feature profile Fix GridMap memory leak Fix RayCast{2,3}D.clear_exceptions clears parent Improve TreeItem button API Make duplicate animation prompt for new name Validate PhysicsDirectSpaceState{2,3}D::_intersect_point input Fix crash and memory leak when importing OGG Vorbis Fix infinite recursion when seeking Ogg Vorbis file Add GridMap.get_used_cells_by_item Fix VisualScript crash when using Set Index node Make VMap::find_nearest return -1 when empty Fix documentation about TreeItem button ID Fix mismatched BBCode tags in classref Translate link titles in classref XML Fix wording in AnimationNode classref Fix crash in Create New Node dialog with certain user-created scripts Fix crash when importing small GLTF mesh Fix crash when importing DAE model Fix errors when updating script template list Fix GLTF exporter crash when using GridMap Fix viewBox of ViewportSpeed.svg Utilize mouse position when zooming with shortcuts in 2D editor Fix AnimatedSprite infinite loop Fix `UndoRedo::create_action()` invalid memory usage Remove `TTRC()` with empty string Use vformat() instead of string concatenation inside TTR() i18n: Make property paths and categories translatable Remove extra separator when TextEdit is read only and unselectable Fix X11 memory leak after drag & drop file into the editor Update audio effect icon when theme changes Make name of editor file dialog filters translatable Fix animation resource name after duplication Add missing i18n to various strings Don't show Lock & Group buttons for nodes hidden by CanvasLayer Fix Autoload capitalization inconsistency Fix TextureRegion editor grid color for light themes Fix some Animation panel icons not updating after theme change Remove unused code in `AnimationPlayerEditor::_update_animation_list_icons()` Use `RTR()` for VisualScriptNode captions and texts Hide smart snapping line when guideline dragging ends Fix RichTextLabel shadow color when text has transparency Fix determination of SVG canvas size Separate 2D grid visibility and grid snap Improves SpriteFrames editor More icon updates on theme change Add item tooltip access to OptionButton Remap property path based on path substrings Improve inspector filtering Fix inversed ADD_GROUP parameters in AnimationNodeOneShot Improves editor property name extraction More editor `extract.py` improvements and fixes Refactor editor `extract.py` Mention default output node name for AnimationNodeBlendTree Fix crash when exporting projects with shared libraries Document how to specify explicit value for `PROPERTY_HINT_ENUM` names Add TTR context for pagination button texts Mark Editor SSL Certificates setting as require restart Update SceneTree debug colors when settings changed Add property name style toggle to Inspector Simplify FBX importer project settings registering Add more patterns for property path extraction Strip feature tag manually when extracting property paths Clip animation track keyframe rects Extract theme property names for localization Consider chained operation when selecting text in TextEdit::undo() Rename NavigationServer's free method to free_rid Improve Select Frames dialog of SpriteFrames editor Localize unnamed project name in editor window title Improves EditorInspector documentation Disable Open in Inspector when there is no animation Fix parameter validation when renaming in AnimationLibrary Document timestamp decimal fraction in Time Reset refresh countdown if pending update tree request Fix AnimationLibrary name validation Validate input in NoiseTexture::set_seamless_blend_skirt() Validate input in OpenXR array setter Close FileAccess before accessing it with DirAccess Remove Array link in description of PackedArrays Validate theme type/item names Fix custom class icon when it inherits from a script Make more import preset name translatable Miscellaneous Tween fixes Load fallback icon for custom class when no icon available Fix external link icon black background Fix issues when skipping l10n for script variables Document lerp_angle behavior when angles are approximately PI apart Fix left aligned integer sign in string formatting Validate image size for Noise get image methods Keep logo aspect ratio in About dialog Handle AssetLib repository config error Fix global AnimationLibrary name validation Add Simplified Chinese translation for Linux desktop file Add autocompletion for AnimatedSprite.play() Make import defaults inspector honor property style settings Add search methods for packed arrays Fix tree button icon not centered vertically Try to convert OS::execute() output to Unicode on Windows Fix invalid memory usage when using Image.convert Swap the meaning of CURSOR_WAIT and CURSOR_BUSY Make auto_accept_quit and quit_on_go_back properties Fix crash when editing pinned StyleBox Fix AnimatedSprite doesn't emit animation_finished when changing playback direction Create onready variables when dropping nodes and holding Ctrl Add dedicated macros for property name extraction Fix a typo in EditorFileSystem classref Fix editor crash when opening scene with CSGMesh Update last min size when Control becomes visible Fix LineEdit clear button for asymmetric stylebox Fix build error when FreeType is disabled Fix `String.uri_encode` on Windows Fix `Viewport.own_world_3d` documentation Fix description about SceneTreeTimer auto free Add tooltips to Export dialog icon buttons Fix parameter name for String.left and String.right Classref typo fixes and improvements Remove argument option for the `remove_animation` that no longer exists Add missing TTR in dialog title Make code example in HTTPRequest classref working Improve String.format() documentation Fix heap-use-after-free when closing a scene with its builtin script open Tree: Don't draw selection background of individual cells in Row mode Add a Window visibility toggle button to the Scene tree Use %s for bool value in vformat Expose clear method for packed arrays Fix overlapping keying and remove button in Inspector Fix crash when loading Animation Library after reloading a scene Fix action name completion for `Input` Fix missing URL text in the classref Fix crash when executing `TubeTrailMesh.get_faces()` with GLES3 Improve documentation for `get_animation()` Remove unnecessary `print_line` in RendererDummy Fix crash when toggling flag property value Fix crash when encoding freed object in ConfigFile Fix crash when executing `LightmapGIData._set_light_textures_data` Fix crash when executing `CSGMesh3D.set_mesh` with headless Godot Fix crash when executing `VisualShaderNodeParticleMeshEmitter.set_mesh` with headless Godot Fix crash when executing `SubViewport.set_size_2d_override_stretch` Fix parsing of XML CDATA and add test cases Fix crash open opening Add Metadata dialog Fix crash when executing `FontFile.get_face_count` Fix heap-use-after-free in `NavMap::get_path()` Fix crash when executing `ResourceUID.set_id` Add various null checks in RenderingServer Fix crash when executing `PhysicsServer2D.joint_clear` Describe the left mouse button constant as the primary button Fix crash when executing `RenderingServer.mesh_surface_get_format_offset` Improve StaticBody description Make it clear that obstacles don't affect pathfinding Only show named layers in layer menu Remove leading spaces from enumerator name hints Add `is_finite` method for checking built-in types Validate input in `ScriptServer::register_language` Bind `AnimationTrackEditor::_redraw_tracks` for UndoRedo Remove invalid suffix hint for enum property Fix Label text length mismatch after localization Don't allow removing TextEdit's main caret Fix get_path() error when calling get_node() Fix memory leak when `_ensure_cache_for_size()` fails Fix `SceneTreeEditor::_update_tree()` binding Make NavigationAgent `target_location` a property Allow selecting SpinBox & LineEdit text when focus enters Make Camera3D gizmo clickable Fix type mismatch error when deselecting a 3D gizmo Hide axis gizmo after translating 3D nodes Improve dragging scene into 3D viewport Make Marker3D gizmo resizable Clarify offset parameter behavior in RegEx methods Fix error when adding 3D gizmo handles with IDs Fix crash of queue_free() when main loop is not SceneTree Make Camera3D gizmo the same aspect ratio as its viewport Fix missing editor plugins Revert move vector parameter name to motion Fix not enough arguments error when validating 3to4 conversion Complete setget 3to4 conversion Fix inspector not showing name for LabelSettings.font Improve editor property capitalization Update TileSet preview when paint custom data changes Fix heap-use-after-free when removing a tile in TileSet editor Fix heap-use-after-free when changing alternative tile ID Add note about GROUP_CALL_UNIQUE not considering arguments Fix heap-use-after-free when exiting editor after editing TileSet Fix error when right clicking proxy list in TileProxiesManagerDialog Make ID capitalization in tiles editor consistent Fix crash when deleting an alternative-level tile proxy Use capitalized ID in the doc Update tile source icons when editor theme changes Improve TileSetAtlasSourceEditor UI Fix !tile_set.is_valid() error on startup Use ObjectID as argument when referred-calling _request_gizmo Add open scene button in Inspector for PackedScene resource Add scroll container for tile data editors Fix crash after executing ItemList.set_icon_scale Fix possible Tween leak on exit Fix String::word_wrap() for long words Fix error when dropping script into script editor Fix heap-use-after-free when using TileMap editor Fix scroll grabber can't reach ends in default theme Fix Tree overflow without scrolling being enabled Fix unreadable text in Make Sub-Resources Unique window Fix crash when clicking Edit Region after reopening the scene Add window size settings in 3to4 conversion Allow unicode identifier in GDScript syntax highlighter Remove unnecessary stdio.h from gdextension interface Prepare for moving editor and classref translations to godot-editor-l10n repo Use GDExtensionBool in GDExtension interface Improve some editor strings for localization Add some missing translatable editor strings Don't warn when using TTRN() in a language without plurals Strip name prefix of navigation agent debug properties in the inspector Add missing period for sentences in classref Add more property capitalizations Improvements and fixes based on Weblate comments Fix editor language dropdown incomplete in some locales Add missing i18n in tiles editor Fix a few typos in the class reference Various classref typo fixes More class reference fixes Hayden (1): Make parser treat all exponent literals as float Hayden Leete (5): Added hex and bin literal support to Expression parser swap path_3d_editor_plugin control points order fix end handles being reversed in Path3DGizmo prevent crash on NaN offset in path_follower 2d and 3d Fix autocomplete box placement Haz (2): Fix tilemap tiles on horizontal/vertical flips Fix mesh library remove selected item menu option Hazar (2): grow_mask() description added fix GDScript UTI Hei (2): Fix typo minimize button -> maximize button Fix "p_zfar" to "p_znear" in Projection.create_orthogonal Heikki Simojoki (1): Increase String::num default decimal precision Hein-Pieter van Braam-Stewart (9): Fix a crash in the TGA loader with malformed input Dynamically load libpulse.so.0 and libasound.so.1 on Linux Don't clobber original library symbols An update to the dylibloader for older inttypes Use -latomic when linking whe using clang on Linux Add 'AMD' GPU vendor name to PRIME detector Use -latomic when using clang (server platform) Omit some functions in alsa wrapper Allow static linking with libatomic using clang HellonLegs (1): solved control + alt issue Hendrik Brucker (71): fix inconsistent normal map shader variable naming update meshoptimizer to 0.16 Fixed window_can_draw of DisplayServerWindows Fix color properties of particle nodes/material Improvements to Label's layout options - Added options to trim the text in case it overruns - Added more autowrap modes - Improved line breaking, which ignores trailing spaces Restructure and reimplement vsync options -Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option Add elapsed time print statement to build system Change VSync mode project setting enum type from string to integer Modernize Display server to use override keyword StyleBox fake AA improvements (aa_size float property) Various text layout improvements (TextLine, TextParagraph, Label, TextServer) Reimplement ColorPicker presets Fix ItemList layout (+EditorFileDialog) Tweak tooltip style Fix editor freeze when asigning Skeleton2D to Polygon2D Fix property not shown in inspector when type is PACKED_COLOR_ARRAY Add GradientTexture2D Fix CheckButton and CheckBox font hover pressed color Several Gradient improvements Fix volumetric fog in combination with spotlights Add FlowContainer Minor fixes/refactoring of project and editor setting dialogs Fix captured mouse mode Improve compilation speed (forward declarations/includes cleanup) Use EditorFileDialog instead of FileDialog in the project manager Increase checkerboard texture contrast Fix tooltip flickering in some cases Reenable window_set_vsync_mode on Windows Add FastNoiseLite / general noise overhaul - replace OpenSimplexNoise Cleanup EditorNode and EditorData Add Vector4 to VisualShader Restructure and refine the noise module Fix GradientTexture2D update after setting the gradient Add gradient resource preview generator Improve the VisualShader/VisualScript editor UI Fix GCC warning with -Waggressive-loop-optimizations due to overflow Fix button icon expansion calculation with empty text Regression: Fix Curve2D/Curve3D baking Fix domain warp fractal type defaulting to the wrong value (and refactor enum conversion) Fix noise offset not affecting domain warp - also added domain warp to get_noise_1d Improve and fix the GraphNode port hotzones Improve Graphedit connection lines Fix enclosed nodes calculation of GraphEdit comment nodes Fix visual editor settings change propagation Hash function improvements Optimize HashMap/HashSet using fastmod Refactor bezier interpolation functions Fix cubic interpolation for Gradient Automatically create a Gradient resource when creating a GradientTexture1D Add "Make Unique (Recursive)" to resource picker, simplify "Make Unique" Vector4/Vector4i: Add missing methods, tests and fix change of sign operator Allow vec2 and vec4 for reflect and refract Implement MSAA for 2D [Vulkan only] Fix OmniLight/SpotLight shadow opacity calculation Add a Python script to create new test suites more quickly Fix GPUParticles2D ignoring AtlasTexture region Refactor BitMap and add tests Add configuration warning to GraphEdit regarding future refactoring Fix/restore BackBufferCopy Add a test suite for `Math::` namespace functions [Tests] Replace Math::is_equal_approx with == and doctest::Approx Generic math function tests: Test float and double variants Move z_index, z_as_relative and y_sort_enabled from Node2D to CanvasItem [Tests] Get rid of several error messages when running the test suite Add tests for FastNoiseLite/NoiseTexture + fix some issues with seamless noise generation Rename (de)selected signals to node_(de)selected in GraphNode [RichTextLabel] Match minimum size calculation of Label (optional via fit_content property) Fix some SpotLight3D issues (clustering artifacts, light leak) [Noise/NoiseTexture2D] Allow disabling normalization Update GraphEdit configuration warning, mark GraphNode/GraphEdit as experimental Fix GraphEdit port hotzone snapping Hennadii Chernyshchyk (2): Remove extra get_script_instance check Fix inversed check inside register_singleton Henri Valta (1): Fix crash in RichTextLabel table parsing Henrique Coura (3): Add unit tests for Curve2D Fix SceneImportSettings perf issues RenderForwardMobile - add dependency tracker info on geometry create Henry Conklin (3): Fix broken gdnative variant test Add support for numeric XML entities to XMLParser Optimize BroadPhase2dHashGrid to not pair elements on different layers HipsterPenguin (1): Fixed 6DOF set/get check for the path starting with joint_constraints Hirotoshi Yoshitaka (1): Fix Basis Universal format texture rendering failure HolonProduction (6): Fix a bug with moving dock left and right. Show svg import options in default settings. Fix wrong android key mapping. Fix problem with ZIPPacker Solve a bug with main window plugins. Add support for svg images in the asset lib. Hristo Stamenov (5): Setting the visible multimesh instance to -1 so that they are updated correctly on set_amount. Fix import for collections Mapping Deleting only repeating "Scripted Variables" props Double check the selected tree item on error activated and error selected callbacks as the value might be nullptr which would cause a crash. Removed faulty function update after get_property_list. Hugo Locurcio (1125): Make Ctrl+F focus the editor asset library's search field Implement zooming using Ctrl + Mouse wheel in the GridMap editor Improve the renderer selection display in the project manager Select the first project when searching in the project manager Improve the console error logging appearance Improve the Video RAM debugger UX Improve the batch rename dialog Optimize the editor icon generation Use a cheaper viewport usage mode in the project manager Display times as milliseconds in the profiler and performance monitors Allow saving anywhere when exporting CSV measures from the profiler Use the editor background color for the profiler graph Increase the maximum number of octaves in OpenSimplexNoise to 9 Improve the AutoLoad editor UX Only emit the JavaScript support code for Web when building for HTML5 Improve the CheckBox and CheckButton class documentations Remove the 3D camera gizmo icon Re-add a way to generate a single convex shape from the editor doc: Add a short AnimationPlayer versus Tween comparison doc: Add an example for `Array.sort()` Improve the `doc_status.py` console output Improve `CONTRIBUTING.md` and update it to follow recent changes Export and reference the icon as favicon when exporting to HTML5 Improve error explanations related to NetworkedMultiplayerENet Allow existing hidden files/directories when creating a new project Improve icons in the Input Map editor Remove per-file progress reporting when exporting to Android Update the zoom percentage when using Frame Selection in the 2D editor Update EditorSceneImporterAssimp description to reflect current status Change the Pick Tile and Select default shortcuts in the TileMap editor Tweak the "Changes may be lost!" text color to match the icon's color Remove unused GodotDocs and ParticleAttractor2D editor icons Rename the "Last Modified" project list sorting option to "Last Edited" Disable the GLES2 renderer option in the Project Manager Remove Vulkan debugging prints Tweak the editor help comment color for better readability Add a margin to EditorSpinSlider to visually line up the edited number Add a soft line length guideline to the script editor Increase the width of the "Connections to method" dialog Add a fish shell completion file for the Godot editor Allow using `MeshLibrary.get_item_preview()` in non-editor builds again Decrease the script editor's default split width to 70 Improve the PanoramaSky class documentation Mention version compatibility when there are no results in the assetlib Use PascalCase file names for editor icons Fix a typo in the "Create Single Convex Collision Sibling" option Improve the `Node.add_child_below_node()` documentation Improve documentation related to fixed physics processing Improve the `@GDScript.inverse_lerp()` documentation Add a practical example for `@GDScript.linear2db()` Mention the `duration` parameter unit in `UPNP.add_port_mapping()` Improve the RegEx class documentation doc: Mention concatenation using the `+` operator in Array Improve the GIProbe editor contextual label Tweak the GIProbe gizmo to be more subtle Tweak the error message when trying to run an invalid script from CLI Document known performance issues with Sprite3D Improve the `Input.set_use_accumulated_input()` documentation Tweak the built-in script naming for resources with custom names Tweak the invalid Unicode error message to be more descriptive Improve the editor feature profiles UX Document the EditorFeatureProfile class Tweak the message queue maximum size property hint Alias `platform=x11` to `platform=linuxbsd` in SCons Remove syntax highlighting for C# verbatim strings due to bugs Remove Request Docs button in the script editor due to various issues Warn about built-in script limitations in the script creation dialog Improve the shader error console output Tweak rendering quality property hint strings for consistency Improve the CameraServer and CameraFeed class documentations Add more extensions to the dummy texture loader Improve the Dictionary class documentation Mention `keep_pressed_outside` caveat in the BaseButton documentation Improve the AudioStreamSample class documentation Clarify that angles must be specified as radians in the documentation Document image size limits Document DynamicFont limitations and a possible workaround Improve the VisibilityEnabler and VisibilityNotifier documentations Check for errors when saving in the ResourceSaver example documentation Document how to workaround UI anchor issues when using BackBufferCopy Add an easing/transition type cheatsheet to the Tween documentation Add editor freelook navigation scheme settings Improve the procedural geometry class documentations Document the Cubemap class Document the CameraEffects class Set the `title` tag in the HTML5 export immediately Document how some editor classes should be accessed as singletons only Tweak SSAO property hints to allow setting more precise values Require Ctrl for switching between editors, bind F2 to Rename Node Improve path search behavior discoverability in the project manager Improve `pitch_scale` descriptions in AudioStreamPlayer documentation Improve the compression project settings documentation Warn when trying to open `res://` or `user://` with `OS.shell_open()` Don't focus the selection after using Align Transform With View Document the formats supported by `Image.load()` Increase the default Camera3D field of view to 75 Tweak Tween cheatsheet link formatting to avoid rST conversion bug Remove some C++11 polyfill defines that are no longer needed Document the expected normal map coordinate system where relevant Allow `.res` and `.tres` extensions in the scene CLI positional argument Request the dedicated GPU when starting Godot from the `.desktop` file Tweak the 3D light size property to only allow reasonable values Turn the anisotropic filtering setting into an enum Use a different icon for the debugger tab with both warnings and errors Rename the Clear Script editor action to Detach Script Tweak the editor log selection color to match the current editor theme Rename various TileMap methods/properties for clarity and consistency Tweak the error message displayd when a post-import script fails Update the editor icons README to remove outdated information Mark `*.tza` files as binary in `.gitattributes` for old Git versions Rename SSL certificate bundle setting to clarify the "overriding" aspect Rename the editor action "Revert Scene" to "Reload Saved Scene" Document the Camera3D's `effects` property Document CanvasItem's texture filtering and repeating modes Remove HQ2X and the `Image.expand_2x_hq2x()` method Document that Dictionary is always passed as reference Allow searching with keyboard input by default in PopupMenu Tweak the import compression property hint for clarity Increase the default DirectionalLight3D and OmniLight3D shadow biases Improve the text appearance in the script editor warnings panel Add configuration for GitHub issue templates makerst: Print status messages to make the CI output clearer Tweak the DirectInput initialization failure message Travis CI: Use the Xcode 11.5 image for macOS builds Disable antialiasing on the DynamicFont outline as well when requested Print errors when calling MIDI input methods on unsupported platforms Add performance hints to the DirectionalLight shadow mode property hint Allow mouse zooming without hovering the texture in the TileSet editor Implement zooming using Ctrl + Mouse wheel in the TileMap editor Add a getter and property for the editor distraction-free mode Add visual feedback when hovering layer checkboxes in the Inspector Tweak the GDScript error message about passed argument type mismatch Add an editor tooltip to document gizmo visibility options Tweak the invalid preset error message to mention `export_presets.cfg` Mention ordering caveats for `Dictionary.hash()` Document the requirement to update the class reference when contributing Improve the 3D light documentations Document the `in` operator in String, Array and Dictionary classes Clarify Node virtual methdods not being called if node is orphan Remove the obsolete "2D Pixel" import preset Document how to resize a SubViewportContainer to avoid stretching Improve the low processor mode sleep precision Display freelook speed and zoom in units in the 3D editor viewport Add a suffix to the window title when running from a debug build Restore previous mouse position when leaving the editor freelook mode Document Mono-specific classes Rename "Identifier" to "Bundle Identifier" in macOS/iOS export presets Scroll horizontally when holding Shift with Scroll to Pan enabled Remove ToolButton in favor of Button Replace the AssetLib tab icon with a less confusing design Remove unused ToolButton editor icon Document how Vector2, Vector3 and Color behave in a boolean context Draw horizontal lines and labels in the editor performance monitors Fix default editor/project Button styles after ToolButton removal Keep the bottom panel visible when enabling the distraction-free mode Write "Aces" tonemapping in uppercase as it's an acronym Fix `String.capitalize()` description to follow camelCase changes Enable file logging by default on desktops to help with troubleshooting Mention `SceneTree.create_timer()` in the Timer class documentation Document how to instance a PackedScene and add it as a child Add a POST request example to the HTTPRequest class documentation Document support for normal and specular maps in AnimatedSprite2D Optimize the default iOS splash images Improve the ENet channels documentation in NetworkedMultiplayerENet Disable file logging for the project manager Document VehicleBody3D and VehicleWheel3D limitations Mention C# gotchas in Object's dynamic call/set/connect methods Document caveats related to Control scaling Document which escape sequences are supported by `String.c_unescape()` Mention the Data paths documentation in the File class Add an example for creating a button in the Button class documentation Tweak the built-ins color highlighting in the shader editor Document an example dictionary returned by `TileSet.tile_get_shapes()` Mention `toggled` signal for pressed state in BaseButton documentation Complete the EditorSettings class documentation Improve the VisibilityNotifier and VisibilityEnabler class descriptions Document `Vector2.dot()` and `Vector3.dot()` more extensively Document several editor-related classes to 100% completion Document HTML5 CORS restrictions in HTTPClient and HTTPRequest Document polling rate limitations in InputEventMouseMotion Improve the Object, Reference and Resource class documentations Improve visibility documentation for CanvasItem and Node3D Fix incorrect key name in the Animation documentation code sample Add an example to the `CanvasItem.draw_string()` documentation Document how to perform advanced string splitting using RegEx Link to Thread-safe APIs in the Thread class documentation Improve the `EditorInterface.get_editor_viewport()` description makerst: Add descriptions to method qualifiers Improve JSON-related documentation Add a test suite for Color Improve messages related to overriding the default editor layout Reference the online documentation in collision layer/mask properties Improve editor tooltips related to debugging Document HTTPRequest not supporting request data with GET method Improve the documentation related to overriding GUI theme items Make the SpriteFrames animation speed SpinBox take less vertical space Improve the inspector easing editor Document the lack of kerning support in DynamicFont Reference Range signals in the Slider class documentations Fix inconsistent indentation in the FreeDesktop MIME type XML Improve the project README Rename the "Delete" option in the FileSystem dock to "Move to Trash" Add a debanding property to Viewport Add an editor setting to invert 3D pan/orbit on the X axis Make the lack of AtlasTexture support in AnimatedTexture more prominent Add more error explanations in the BMP image loader Add a test suite for Gradient Document limitations related to centering text with RichTextLabel Improve search and display in the editor property/method selector Link to 2D Sprite animation tutorial in relevant class documentations Improve the resource loading error message to mention the need to import GitHub Actions: Prepend emoji to platform names for easy visual grepping Add a test suite for Expression Remove community health files from this repository Cross-reference GDScript built-in rounding methods to ease discovery Clarify that `KEY_BACK` is unrelated to the Back button on Android Document supported platforms for `Input.get_accelerometer()` and related Document the GDScript debugger not supporting Thread yet Mention performance caveats about `find_node()` and `find_parent()` Add link titles for all links in the class reference Document the BaseMaterial3D billboard mode not being suited for VR Document missing character behavior when drawing text with fonts Document RigidBodies in character mode never sleeping automatically Document how renaming the project affects the user data path Clarify the required child node type in the GridContainer documentation Improve documentation related to Array error handling Rename ShortCut to Shortcut which is more grammatically correct Rename RayCast's `cast_to` property to `target_position` Update and complete the Sprite3D and SpriteBase3D class documentations Document how to remove metadata from an Object Only display the Windows toggle console option if it can actually be used Clarify that 2D cell sizes are defined in pixels Mention compatibility-breaking Camera2D offset change in the changelog Cross-reference AABB getter methods in the documentation Fix crash when opening a ZIP data pack Document that the JavaScript singleton may be disabled at build-time Document `RichTextLabel.append_bbcode()` not closing previously open tags Cross-reference AABB and Rect2 in the class reference Fix a typo in the Array class documentation Improve documentation about VideoPlayer video formats Reference the BaseButton class explicitly in button class documentations Reference the Color constants cheatsheet in the class reference Improve documentation related to printing error/warning messages Add a property hint to StyleBoxFlat `shadow_size` for editor usability Enable the `copy_mono_root` SCons option by default Replace AutoKey icon with a more universally understood "record" button Allow using a comma as decimal separator in EditorSpinSlider Automatically start searching in the asset library when entering text Make the pressed autokey icon red to emphasize its "recording" status Document contributing tests to Godot's C++ codebase Improve the String comparison methods' documentation Improve the `String.is_valid_ip_address()` documentation Link the Random number generation tutorial in the class reference Document how to interrupt `PacketPeerUDP.wait()` Clarify that `MultiMesh.set_instance_color()` multiplies vertex colors Fix typo in soft shadow quality project settings hints Fix "fixed" fog drawing in front of volumetric fog with a sky background Document the supported TLS versions in HTTPRequest Add files to create a Windows editor installer using Inno Setup Document how to display the vertex color in `SurfaceTool.add_color()` Improve undo log messages in the 2D editor for additional context Fix debanding slightly brightening the whole viewport Remove unused `#define` from the tonemap shader Add `Image.load_bmp_from_buffer()` for run-time BMP image loading Allow more image types in the roughness texture's Src Normal import hint Optimize SVG using `svgcleaner --multipass` Fix uninitialized `Viewport::use_debanding` member variable Rename the `type` parameter to `node_type` in Theme and Control Document hiding a Control when its reference point is behind the camera Improve the documentation related to fullscreen and borderless settings Fix a variable being redeclared in the HTTPRequest code sample Correct documentation about NinePatchRect stretch modes Remove `Color.contrasted()` as its behavior is barely useful Fix "unifom" typo in RasterizerStorageRD method Allow using SVG images as project icon Increase the default HTTPClient download chunk size to 64 KiB Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut Remove `debug_symbols=full` in favor of `debug_symbols=yes` Improve the 3D editor selection box appearance Clarify that code in `assert()` should avoid side effects Add a test suite for Curve Add a test suite for JSON Improve the Dictionary class documentation Remove property groups for Pause Mode and Script Add a test suite for PCKPacker Add a test suite for NodePath Clarify packet peer `max_buffer_po2` in ProjectSettings documentation Add a test suite for ConfigFile Use 75% editor scale on small displays automatically Add a test suite for Rect2 and Rect2i Add a test suite for Object Add a test suite for AABB Use a power-of-two value for Primary Grid Steps in the 3D editor Bind the editor's Search Help function to F1 by default Document that vertex displacement isn't visible in overdraw debug mode Document that WebM videos don't support the alpha channel Document C# garbage collection caveats in Reference and Resource Improve the AudioStreamPlayer3D class documentation Document the lack of localization remapping support in VideoPlayer Improve the `ProjectSettings.globalize_path()` documentation Mention lack of optional setter arguments in `ClassDB::add.property()` Fix incorrect `Curve3D.interpolate_baked()` description Tweak BaseMaterial3D heightmap property hints Tweak log file names for consistency between Mono and non-Mono logs Increase dithering in the PhysicalSkyMaterial shader to combat banding [HTML5] Improve the editor HTML template. Document that BaseMaterial3D doesn't support height mapping + triplanar Rename the TextureProgress node to TextureProgressBar Increase the default 3D manipulator gizmo opacity for better visibility Add a project setting to enable stdout flushing in release builds Increase the default Camera Zfar to 4000 Document how to solve UV jittering when using large procedural meshes Tweak the editor CheckButton "presed" appearance to be more recognizable Improve the `Array.hash()` documentation Fix confusing SliderJoint3D brief description Document the expected low performance of VideoPlayer on HTML5 Fix and decrease Godot logo size in the HTML5 editor loader Color 3D editor frame time labels depending on the performance level Document RichTextLabel not supporting entangled BBCode tags Add an `OS.get_thread_caller_id()` method Move the brightness factor for highlighted 3D gizmos to a variable Add an editor setting for the 3D selection box color Allow selecting multiple files in the editor translation/remap dialogs Fix warning spam when using `--help` or `--version` command line argument Use zero-indexing for physics and render layer names Document the desktop-only file logging setting override Use `static const int` instead of `#define` for OpenSimplexNoise octaves Mention that the `delta` argument is in seconds in Node documentation Remove the editor quit confirmation Make links on the HTML5 editor more readable Don't allow adding Objects to the project settings Recommend minimal reproduction projects written in GDScript instead of C# Check for clang-format version in the pre-commit hook Draw a "background" line behind the dashed line in TextureRegion editor Mention that NetworkedMultiplayerENet uses UDP only Make Range return 1.0 ratio if minimum and maximum values are equal Tweak the Contextual Ligatures editor setting hint for consistency Hide the rotation gizmo when editor cinematic preview is enabled Fix typo in theming methods ("botton" -> "bottom") Tweak the "Auto" editor setting hints to be more indicative Document a built-in use of `Resource.resource_name` Document that the high-level multiplayer API is only for Godot servers Document low performance of `Array.push_front()` and `Array.pop_front()` Reference the control gallery image in the Control class documentation Create the temporary PCK export directory if it doesn't exist Fix WebXRInterface code sample in the class reference Add viewport resolution to the 3D editor's View Information pane Fix incorrect version requirement in the SCons compilation DB comment Make the Open Project Folder button more visible in the project manager Document that GridMap doesn't support visual layers or cull masks Improve the `File.endian_swap` documentation Display loading text while the project manager is loading Improve the `SurfaceTool.generate_normals()` documentation Increase the page size for array/dictionary editors to 20 Expose a `File.flush()` method to scripting Add icons for the new GPU particle attractor and collision nodes Only display the assetlib Retry button if the download failed Don't allow negative values for `OS.delay_usec()`/`OS.delay_msec()` Draw an outline for 2D debug collision shapes Use space indentation for all YAML files in `.editorconfig` Add a test suite for Resource Document that Button doesn't interpret touch input (= no multitouch) Document theming a SpinBox's background Improve the `get_node()` error message to be more descriptive Improve the editor HTML template Improve the `OS.get_environment()`/`OS.set_environment()` documentation Document seamless noise having a lower contrast than non-seamless noise Remove trivial examples in the ItemList class documentation Use safer `add_theme_constant_override()` in MarginContainer code sample Make the pagination buttons wider in the asset library browser Scale zoom values in the SpriteFrames editor for hiDPI displays Use OS-specific terminology for "Move to Trash" in the editor filesystem Document the valid input range for `acos()` and `atan()` Add a welcome dialog to the HTML5 editor Tweak the editor splash screen color to better match the default theme Display scene file extensions in the editor only if there's ambiguity Tweak the 3D editor grid default to not go below subdivisions of 1 meter Tweak error messages for the Save Branch as Scene editor option Make the expected method calling order in SurfaceTool more explicit Fix feature tag casing in the Windows pen tablet project setting name Add Open Graph metadata to the HTML5 editor Rename the `.shader` file extension to `.gdshader` Hide renderer selection dropdown in the editor as it's not implemented Document how to avoid light leaks with GIProbe and SDFGI Require editor restart after changing GUI custom theme or font Add a test suite for Dictionary Allow Center Selection to work without any selection in 2D/3D editors Automatically focus the Search field when displaying asset library Add a subtle background to editor scrollbars Improve error messages for missing export presets when using `--export` Allow using the mouse wheel to navigate scene tabs Document secure wss:// caveats for WebSocketClient Improve the editor window title for better usability Tweak frame time display in the editor Improve command line `--print-fps` display Add a "save on focus loss" editor setting (disabled by default) Decrease the editor FPS limit when unfocused from 20 to 10 Add a tooltip to document performance issues of the Remote scene tree Document overriding project settings that have feature tags Add keyboard shortcuts to the project manager Strip leading/trailing whitespace for project name in the project manager Print a warning when trying to seek in VideoPlayer Document `AStar.get_point_path()` not being thread-safe Add the About dialog to the project manager Print suggestions when requesting a nonexistent InputMap action Add a menu action to open C++ source on GitHub in the editor debugger Improve the `Engine.editor_hint` property documentation Link to Feature tags more explicitly in ProjectSettings documentation Remove uses of `auto` for better readability and online code reviews Improve the editor theme Make it possible to copy the Godot version identifier by clicking it Document that clearcoat/rim lighting is not visible on unshaded materials Document that `SceneTree.call_group()` is deferred Document that `File.open_compressed()` can only open files saved by Godot Add `Engine.print_error_messages` property to disable printing errors Improve the editor audio preview inspector appearance and functionality Tweak warning messages related to leaked RIDs Improve the AudioStreamPlayer(2D/3D) class descriptions Highlight control flow keywords with a different color Save the current script when adding a new method via signal connection Increase the default AudioStreamPlayer3D unit size to 10 Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores Tweak CanvasItem/material sampling property hints for readability Display the old color in ColorPicker for easier comparison Increase the default 2D gravity to 980.0 Implement the `%command%` placeholder in the Main Run Args setting Allow negative contrast values in the editor theme settings Tweak the setting hint for the custom editor theme setting Remove debugging prints in the Linux DisplayServer Add shortcuts for New Scene and New Inherited Scene actions Save the current script when pressing Ctrl + S if no scene is open Fix EditorPropertyResource focus outline being drawn behind the preview Document caveats of `OS.get_unique_id()` Fix Tree's background focus outline displaying behind section headings Handle portrait mode monitors in the automatic editor scale detection Improve scrolling actions in the animation track editor Scroll faster when holding Alt in TextEdit (and script editor) Fix Ubuntu clang-format version detection in the pre-commit hook Implement reverting to the old color when clicking it in ColorPicker Rename "Singleton" to "Global Variable" in the AutoLoad editor Hide the 3D editor selection box when View Gizmos is disabled Increase icon saturation by 30% for all editor icons Add a unit test suite for GDScript List "Argument" for each extra bind argument in the connect dialog Rename the audio `FFT_Size` enum to `FFTSize` for consistency Add "Support Godot Development" option to the editor's Help menu Complete documentation for the AudioEffectPitchShift class Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation Tweak highlight color in the editor Find in Files dialog Add a test suite for Translation Use a DynamicFont for the default project theme Use a non-zero default size for SubViewports Fix crash when trying to save with no scenes and scripts open Add a test suite for Vector Rename File's `endian_swap` to `big_endian` Only allow absolute paths in XDG environment variables Remove `#ifdef` catering to MSVC 2012 and earlier in `math_funcs.h` Tweak pressed CheckBox appearance in the editor Add a keyboard shortcut to select the word under cursor in TextEdit Fix editor constantly redrawing when freelook is active with still camera Use an enum to represent screen orientation in the Project Settings Add editor icons for RibbonTrailMesh and TubeTrailMesh Tweak dozens of editor property hints for consistency Tweak Camera2D editor line colors for better visibility Improve the audio bus editor appearance Use a negative contrast setting for light editor themes Document `Resource.duplicate()` only copying exported variables' values Rename the bundled text editor themes for consistency with themes Improve axis awareness and visibility for Position2D and Position3D Improve radio checkboxes in the default editor theme Add editor icons for Occluder3D and OccluderInstance3D Rename `String.is_abs_path()` to `String.is_absolute_path()` Remove unused editor icons Replace "Invert" import option with more useful "Normal Map Invert Y" Highlight annotations in the GDScript syntax highlighter Allow clang-format 12 in the pre-commit hook Add a form GitHub issue template for bug reports Tweak the physics FPS property hint to only allow reasonable values Allow higher and lower maximum zoom values in GraphEdit Document applying VRAM compression setting changes retroactively Fix duplicate paragraph in `ArrayMesh.add_surface_from_arrays()` description Fix game camera override tooltips being swapped Improve crash handler message display Allow selecting frames by holding down the mouse in SpriteFrames editor Use the `keep` stretch aspect by default Use double-sided material for RayCast3D Expose OS data directory getter methods Improve descriptions for ProjectSettings' `disable_stdout`/`disable_stderr` Print a notice when compiling with `target=debug` Improve error message when there are no meshes to bake for 3D occlusion Allow a top and bottom radius equal to 0 in CylinderMesh Tweak script export text in the export dialog to be more explicit Use Ctrl + G to toggle the 3D editor grid visibility by default Fix flipped binormal in StandardMaterial3D triplanar mapping Increase the default ReflectionProbe extents to Vector3(10, 10, 10) Print warning in StandardMaterial3D when height and triplanar are active Tweak the 2D game camera override tooltips to match 3D Add keyboard shortcuts for grouping and locking nodes, change grid toggle Allow using the 3D editor's View menu while previewing a camera Remove unused code related to Travis CI Improve and clarify documentation for RandomNumberGenerator Remove leftovers from the DirectionalLight3D Optimized shadow depth range Add icons for more file types in the editor asset installer Decrease opacity of the overdraw debug draw mode Allow using ORMMaterial3D by using BaseMaterial3D as a resource hint Improve error reporting in WebSocketServer Format node configuration warnings as a bullet point list Use the Unicode multiplication symbol for the viewport size display Fix warning message spam when a VoxelGI node is selected in the editor Add a root Node3D automatically if absent when adding preview sun and sky Add both preview sun and sky at the same time when holding Shift Add node configuration warnings to OccluderInstance3D Tweak the GradientTexture property hint to follow CurveTexture Make makerst.py create folders automatically, print a message when done Improve the Export All button display in the export dialog Add a method to set the number of physics solver iterations in 3D Improve 2D editor zoom logic Remove the remains of ImmediateGeometry3D Tweak the ORMMaterial3D editor icon to follow the Godot design guidelines Add an editor icon for the ImmediateMesh resource Automatically display the installer after downloading an asset Add the preview sun and sky to the beginning of the scene tree Add node configuration warnings for the Decal node Fix casing of the "to" stop word in editor strings Display the class name in the description Tweak editor select mode drag threshold for better usability Enable range coder compression by default in NetworkedMultiplayerENet Add error marking to the shader error console output Improve the 3D editor manipulation gizmo Improve tooltips in the editor profiler to mention the script name Use C++11 raw literals for shader code to improve readability Document `Image.save_exr()` only being available in editor builds Enable single-window mode by default in projects Use the standard C `INFINITY` and `NAN` constants directly Document the RootMotionView class Improve documentation for GDScript constants Expose an ImportOrder enum in ResourceImporter Clarify the purpose of the default asset library URLs in the editor Add a tooltip for Inclusive and Self in the editor profiler Improve MeshInstance3D UV preview in the editor Add shortcut to toggle the 3D editor's camera preview Document caveats with Control's `mouse_entered`/`mouse_exited` signals Highlight context menu items at the top of the 2D/3D viewports Improve the 2D editor ruler display Add node configuration warning for GeometryInstance3D distance Use bullet points in the editor instead of dashes where relevant Make the focus outline translucent for editor viewports Expose Vulkan's clustered and mobile backends in the project manager Print the Vulkan device name in release builds too Print a warning when the engine is started as `root`/superuser Move Vulkan debugging prints to verbose Use title case instead of uppercase for Vulkan Intel GPU detection Improve CodeEdit's callhint highlight visibility Change the editor update spinner color when updating continuously Improve the appearance of simple parallax in StandardMaterial3D Clamp negative colors regardless of the tonemapper to avoid artifacts Rename `iterations_per_second` to `physics_ticks_per_second` Decrease the default depth of field bokeh quality Fix the Use Nearest Mipmap Filter project setting not working Use nearest mipmaps for both minification and magnification Fix incorrect descriptions for EditorFileSystem's `get_file_type()` Use the Unicode multiplication symbol where relevant Add an `use_hdr` property to GradientTexture to allow storing HDR colors Rename LineShape2D to WorldMarginShape2D Improve the animation bezier editor Port visual shader node icons from Godot 2.1.x Add editor icons for VisualScript and VisualShader expression resources Add a comment at the top of generated shaders Improve visibility rect/AABB generation usability in GPUParticles Move the Android "clear previous install" setting to Editor Settings Fix Xbox controllers in Bluetooth mode on macOS Improve the generated ZIP archive name when using Download Project Source Add comments at the top of each built-in shader to ease debugging Fix missing and incorrectly named visual shader texture uniform icons Improve documentation for `String.get_extension()` Document `Image.generate_mipmaps()` always running on the main thread Define a default minimum window size to workaround rendering issues Document ENetConnection compression must match between client and server Rename polygon editor settings for better display in the Editor Settings Fix ConstIterator to allow `for` range loops on Packed*Array Use a Big Sur-style macOS icon for the Godot editor Remove 16× MSAA support due to driver bugs and low performance Remove leftovers of anisotropy in the VoxelGI shader code Add a README to link to the GDScript integration tests documentation Print colored diffs when there are formatting failures in CI Add an `Array.pop_at()` method to pop an element at an arbitrary index Use the Light3D Indirect Energy property in SDFGI Improve messages when compiling for Linux/*BSD Capitalize properties in the remote inspector Write node groups one a single line when saving a `.tscn` file Remove `#ifdefs` for handling compilation with Visual Studio < 2015 Make platform feature tag names lowercase Display the node name in scene tree dock tooltips Document that node groups don't have a guaranteed order Tweak skeleton editor texts "Make Rest Pose" and "Set Bones to Rest Pose" Fix missing SConscript warning when building using SCons Rename Node's `NOTIFICATION_PATH_CHANGED` to `NOTIFICATION_PATH_RENAMED` Add visual feedback when hovering or dragging the code minimap grabber Enable Pixel Snap by default in the 2D editor Document that ConfigFiles can use any file extension Add logo attribution for Android, HTML5 and Linux platform icons Improve documentation for `Engine.get_process_frames/get_physics_frames()` Document `Object.get_class()/is_class()` ignores `class_name` declaration Print the Vulkan API version and device used on the same line Add dozens of new integration tests to the GDScript test suite Document caveats with StyleBoxFlat antialiasing and beveled corners Tweak the script editor's line/column indicator for readability Re-enable building position-independent executables on Linux/*BSD Rename `osx` to `macos` in input map feature tag handling Mention that rebooting is required after updating graphics driver on Linux Add more integration tests to the GDScript test suite Improve documentation related to MSDF font rendering Display a editor gizmo icon for Listener3D Print a warning if a 3D editor gizmo has no name defined Remove unused `out_of_range_mode` property from AudioStreamPlayer3D Remove `Engine.editor_hint` in favor of `Engine.is_editor_hint()` Display an alert when attempting to run a project with no main scene Improve the documentation for `ease()` and `smoothstep()` Tweak the 3D editor inertia defaults for better responsiveness Document how to delay code execution in a non-blocking manner Add `print_verbose()` built-in function to print in verbose mode only Color error and warning lines in the editor debugger's Errors panel Replace `#pragma once` by traditional include guards for consistency Tweak AudioStreamPlayer3D property hints for usability Document Android permission requirements for network access where needed Add history navigation in the script editor using extra mouse buttons Document how to use degrees with `sin()` and `cos()` Rename RID's `getornull()` to `get_or_null()` Clarify what the `Node.filename` property contains Rename Node's `filename` property to `scene_file_path` for clarity Document how to set up UPnP in a non-blocking manner Add an example on iterating an array backwards Document SurfaceTool must generate tangents for proper normal display Document that tangents are required for normal mapping in BaseMaterial3D Use a yellow color for editable children properties instead of red Remove debugging print from the VoxelGI baker Replace references to VisualServer in code comments with RenderingServer Remove unimplemented `Environment.ambient_light_occlusion_color` property Clamp Environment's SSR fade-in and fade-out to positive values Don't allow translucent colors in built-in sky material properties Document null argument limitation with `SceneTree.call_group()` Allow any floating-point value as a 3D rendering scale option Add a warning for Timer nodes with very low wait times Fix typo in the `Timer.wait_time` description Add a "dirty" marker to the editor import dock for unsaved changes Create key inputs as physical by default in the input action editor Build for 64-bit ARM by default when compiling or exporting for Android Increase object snapping distances in the 3D editor Improve accent color modulate visibility for the Anchor editor icon Use TitleCase for CTL dialog menu options Add Soft Very Low shadow quality mode for 3D Implement Alt + Mouse wheel to adjust FOV in the 3D editor viewport Decrease the default soft shadow quality to improve performance Only show relevant properties in the DirectionalLight3D inspector Fix properties being displayed when they shouldn't in DirectionalLight3D Tweak curve preset icon colors for easier visual grepping Tweak animation editor icon colors for easier visual grepping Improve appearance of the editor Debugger bottom panel menu Tweak overbright indicator icon to be more visible on white background Use maximum zlib compression when generating editor translation headers Don't store and show current file/directory/path FileDialog properties Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3 Fix new projects always being created with OpenGL Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR` Improve description for `BitMap.grow_mask()` Use 4× MSAA for the Advanced Import Options 3D preview Decrease the default VoxelGI quality to improve performance Print the number of PulseAudio input channels when in verbose mode Remove hash symbol in front of opcode error messages in GDScript Display 2 decimals instead of 1 in editor frametime labels Move Mono unhandled exception setting to be located within a subsection Swap rest pose actions in the Skeleton2D editor Use Enter instead of F2 as an editor renaming shortcut on macOS Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D Improve documentation related to global illumination Document the EditorPaths class Use a different icon for eased keyframes in the animation editor Tweak the built-ins color highlighting in the shader editor (take 2) Rename built-in `SGN()` macro to `SIGN()` Remove outdated comments related to the 20-layer editor limitation Fix ProceduralSkyMaterial colors due to double sRGB -> linear conversion Print a warning with unknown SCons variables to ease troubleshooting Add 4.0 development changelog Document the engine's use of internal groups in Node Add a project setting to disable the boot splash image Fix `strip_edges()` call that was removed in boot splash image change Remove disabled debug code in ClusterBuilderRD Use `WARN_PRINT_ONCE()` for FSR-related warning messages Document the VoxelGIData resource Fix VoxelGIData dynamic range property being treated as integer Emit node configuration warnings for GeometryInstance3D distance fade Allow disabling the depth prepass in the Vulkan Clustered backend Use 16-bit depth to improve dynamic VoxelGI performance Remove unused code in GI shaders Remove unused struct fields in VoxelGIData Document using SpriteBase3D's `modulate` property with material override Remove redundant SpriteBase3D `opacity` property Fix scene tree dock icon not switching colors on theme change Rename `AStar.get_points()` to `AStar.get_point_ids()` for clarity Draw the filled part of the slider on float EditorSpinSliders Automatically add root node when drag-and-dropping in 3D editor Only print message for `get_modified_time()` failure when in verbose mode Add an `OS.crash()` method for testing system crash handler Document SceneTreeTimer being freed automatically when elapsed Use tooltips instead of labels for VoxelGI and GPUParticlesCollisionSDF Remove or make verbose some debugging prints Document physics simulation being limited to 8 ticks per rendered frame Rename GPUParticles attractor and collision nodes to have a 3D suffix Decrease the default dynamic range in VoxelGIData to 2.0 Add `RenderingServer.get_video_adapter_type()` method Rename `hint_aniso` to `hint_anisotropy` in the shader language Document RigidBody2D/3D and particles' angular velocity units Improve the ReflectionProbe class documentation Tweak the volumetric fog temporal reprojection property hint Rename and reorder bake mode properties for consistency Add compatibility class handlers for portal and room occlusion culling Make EditorSpinSlider grabbers thicker to be more noticeable Document that transparent StyleBoxes/textures should be used for UI focus Tweak SCons compilation messages to be more discreet Print requested V-Sync mode when Print Fps is enabled Expose RenderingServer GI half resolution setter method Rename Variant Packed*Array constants for consistency Document new behavior of shader `DEPTH_TEXTURE` in the Vulkan renderer Rename Lod Threshold to Mesh Lod Threshold Improve error when attempting to build with `tools=yes target=release` Enable "Allow Hidpi" by default Print time taken and request attention when lightmaps are done baking Document the expected format of anisotropy flowmaps in BaseMaterial3D Scale freelook sensitivity with zoom in the 3D editor Improve `lerp()`, `lerp_angle()` and `inverse_lerp()` documentation Improve the CanvasItem class documentation Use JetBrains Mono as the editor's default code font Fix missing period in `CanvasItem.draw_primitive()` description Document keyboard ghosting caveats in Input and InputEvent Expose RenderingServer SSIL quality setter methods Add a theme constant to change LineEdit and TextEdit's caret width Update doc_status script to support constructors and operators docs Display automatically chosen value for the internal toast editor setting Remove support for PVRTC texture encoding and decoding Fix visible background line in intersections in screen-space reflections Allow using between 1 and 8 cascades for SDFGI Improve the default project theme Force threads when compiling web editor instead of erroring out Tweak theme color to match the Godot editor's background color Document that soft bodies should be avoided for gameplay purposes Add local web server configuration designed for web editor development Tweak logo max width on the web editor Display a modal dialog if threads are unavailable in the web editor Add shortcuts for New Script and New Text File in the script editor Allow using the web editor on any device orientation Improve CSGPolygon3D documentation Use a fixed-width font for internal references in the editor help Fix missing VoxelGI 3D editor gizmo icon Fix lightmap size hint option not displaying for 3D scenes Rename VoxelGI editor bake actions from "GI Probe" to "VoxelGI" Improve documentation for `ReflectionProbe.max_distance` property Decrease the default GradientTexture and CurveTexture size Clamp GradientTexture2D dimensions to 2048×2048 in the inspector Rename the physics server `run_on_thread` project settings Clarify documentation for Rect2/Rect2i's `has_no_area()` Clarify Area2D/Area3D `overlaps_area()`/`overlaps_body()` documentation Make visibility range alpha fade smoother Rename 3D editor debug draw modes to be more explicit Enable 16-bit shadow atlas by default in the RenderingServer methods Highlight "namespace" as a GDScript keyword in the syntax highlighter Recommend using GitHub attachments for minimal reproduction projects Decrease the default number of SDFGI cascades to 4 Tweak default SDFGI settings for better quality Add a unit test suite for Animation Document performance limitations with CSG nodes, link to tutorial Remove support for ARMv7 (32-bit) on iOS Remove obsolete define in the iOS buildsystem code Document occlusion culling classes and settings Default to real-time radiance map filter for environment sky reflections Fix 3D sky update performance regression Improve the `AudioStreamPlayer2D/3D.area_mask` documentation Improve documentation for `GeometryInstance3D.transparency` Tweak default ProceduralSkyMaterial and PhysicalSkyMaterial appearance Rename Hdr as Srgb texture import option to be lowercase Add sky cover texture for ProceduralSkyMaterial Clarify identical `hash()` return values due to collisions Default PanoramaSkyMaterial texture to black instead of white Increase the default texel size for lightmap baking Only store `_edit_use_anchors_` metadata if value is not the default Improve completion scroll bar visibility in the script editor Clamp environment light sky contribution to the [0.0; 1.0] range Improve documentation for AudioServer device properties and methods Compute SSAO at half resolution by default Add an XML schema for documentation Tweak the default project icon Add an `OS.get_processor_name()` method Fix default sky process mode not being Real-Time Add a property hint for the Line2D Round Precision property Use versioned URL for "Online Documentation" buttons in the editor Expose `AudioServer.capture_device` as a property Make `--doctool` imply `--headless` to speed up class reference generation Document that meshes and lights must be fully set up before baking VoxelGI Fix typos in editor font preload dialog warning messages Print every file exported with `PCKPacker.flush()`s verbose parameter Implement distance fade properties in OmniLight3D and SpotLight3D Add a Skew property to StyleBoxFlat Clamp BaseMaterial3D triplanar sharpness to values that never look broken Document how to fix thin FogVolumes flickering when the camera moves Fix typo in SSR roughness quality enum value names Always register the Smooth Trimesh Collision project setting Improve documentation related to physics collision shapes Fix LineEdit and TextEdit carets disappearing at theme scales below 1.0 Use the editor background color for the visual profiler graph Clamp the editor theme's base colors to avoid various issues Tweak render timestamp names for explicitness and consistency Tweak editor visual profiler frame time label for consistency Fix font color in the editor visual profiler when using light theme Add optional constructor arguments to more Control nodes Remove unused `shadow_color` property from Light3D Fix typo in BaseButton shortcut context methods Clarify the position of points in `Curve{2D,3D}.add_point()` Improve documentation for NodePath and StringName Improve display of freelook/zoom speed indicator bars in the 3D editor Tweak the display order of CLI arguments in `--help` for consistency Make `-q` CLI argument toggle quiet stdout instead of quitting Document Range's `value_changed` signal is also emitted with code changes Remove unused Streamed option for textures in the Import dock Improve `--debug-stringnames` to be more useful Add editor icons for all Occluder3D resources Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enum Rename the "BackSpace" and "BackTab" key strings to "Backspace"/"Backtab" Mention that Node's `owner` must be set for persistence to work Move the pseudolocalization editor setting to a debug section Decrease the default line spacing in the script editor Improve the animation track editor drawing Improve documentation for tonemapping operators Improve documentation related to detail mapping in BaseMaterial3D Document the Environment class Increase the maximum number of concurrent DNS queries from 32 to 256 Add Git blame ignore revisions file (used by GitHub's blame view) Improve documentation for `Camera3D.project_ray_{normal,origin}` Expose Color's `to_linear()` and `to_srgb()` to scripting Improve documentation for Array operators Clarify what `top_level` does in CanvasItem Rename `Node.print_stray_nodes()` to `Node.print_orphan_nodes()` Highlight hovered keyframes in the animation track editor Allow `size` values as low as `0.001` in Camera3D's orthogonal/frustum mode Fix 3D scaling enum size in the editor and improve descriptions Add dithering to ProceduralSkyMaterial to combat banding Hide SSIL properties when SSIL is disabled in the Environment resource Improve error messages when creating Images from code makerst: Improve error reporting Use less blur for distant directional shadow splits Fix the Audio Listener 3D property not being grouped with 2D in Viewport Improve warning message for invalid desktop VRAM compression settings Add a property hint for AspectRatioContainer's `ratio` property Add an external link editor icon Add MSDF and mipmap generation project settings for the default font Fix "ortogonal" -> "orthogonal" typo in rasterizer code Add an option to clamp HDR exposure to reduce environment fireflies Decrease default sizes of some primitive and CSG meshes for consistency Tweak the Viewport configuration warning to mention 2×2 size requirement Improve CollisionObject2D and CollisionObject3D pickable documentation Make Decal distance fade smoother Add `get_video_adapter_api_version()` to RenderingServer Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` Make `{call,set,notify}_group()` immediate by default Handle CLI arguments without a value in `OS.get_cmdline_args()` example Add French translation for Linux desktop file Rename profiler "Idle Time" to "Process Time" Rename remaining references of FSR to FSR 1.0 Add documentation comments for internationalization C++ macros Increase compiler optimization when using `target=release` on iOS/Android Remove unused `GPUParticlesCollisionHeightField3D.follow_camera_push_ratio` property Improve the Performance class documentation Use a different color for GPUParticlesAttractor3D editor gizmos Document GPUParticles3D attractors and collision Rename `--vk-layers` command line argument to `--gpu-validation` Hide the first `--print-fps` outputs after the engine has started Tweak the default font's fake italic to better match Open Sans Italic Tweak 64-bit integer overflow message to mention that it's a signed type Document Decal interactions with transparent materials Fix project manager display at small window sizes Tweak the disabled files text color in FileDialog for readability Remove outdated "not implemented yet" comments in ParticlesMaterial Add properties to disable top/bottom cap generation in CylinderMesh Tweak the GPUParticles3D Transform Align property hint for readability Decrease SphereShape3D's default radius to 0.5 to match primitive mesh Fix typo in occlusion culling warning method name Increase saturation of accent color on the Gray editor theme preset Tweak TextMesh decomposition error message to mention self-intersecting lines Rename BaseMaterial3D properties to use fully spelled out "texture" Add Cone and Cylinder shapes to FogVolume Add `any()` and `all()` methods to Array Add a gizmo to visualize AudioStreamPlayer3D's audible radius Add a 3D suffix to relevant physics profiler categories Increase the editor profiler frame history default and maximum limit Rotate Decal nodes when using Align Transform/Rotation With View Print messages when textures are detected as used in 3D/normal/roughness Change instances of "returns an empty Variant" to "returns null" in docs Fix typo for TAA resolve shader in `COPYRIGHT.txt` Fix infinite loop when calling `Control.popup_centered_minsize()` Add a property hint to Environment's `sky_rotation` property Use opaque rendering pipeline for alpha hash materials Tweak default crash handler message in exported projects makerst: Fix duplicate `.xml` extension in some error messages makerst: Print colored output for easier visual grepping Update name of Convert to MeshInstance2D button in MeshInstance2D doc Add TAA to the list of editor capitalizations Add a property hint for the iOS touch delay project setting Document the CurveXYZTexture class, improve CurveTexture documentation Mark some common project settings as basic Tweak Light3D property hints for greater flexibility Document LightmapGI, LightmapGIData and LightmapProbe Add internationalization for Detect 3D texture import messages Disable VRAM compression by default for small textures in Detect 3D Always sample the heightmap with linear filtering in BaseMaterial3D Improve stack overflow error message in GDScript and VisualScript Fix glow in Mix mode not working correctly when FXAA is enabled Document incremental search support in ItemList, PopupMenu and Tree Fix Light3D `angular_distance` property hint being in radians Automatically update the editor viewport when 3D scaling options are changed Remove spaces in `SubResource()/ExtResource/Resource()` in text resources Tweak editor icons for navigation nodes and SkeletonIK3D Rename VideoPlayer editor icon to VideoStreamPlayer Allow using CanvasItemMaterial in the TileSet editor makerst: Fix file name not appearing in error message Document the MovieWriter class and associated project settings Use the Static global illumination mode in GeometryInstance3D by default Add MJPEG to the list of editor capitalizations Add property hints to MovieWriter settings Request attention on the editor window when done recording a movie Add editor icons for abstract nodes that can now be added in the editor Add editor icons for MultiplayerSpawner and MultiplayerSynchronizer Mention mipmap and memory usage in the texture editor preview Split MovieWriterPNGWAV into its own file Add a Bake Mask property to GPUParticlesCollisionSDF3D Clamp Decal's upper/lower fade to positive values Remove debugging print following GI reorganization Add an underscore to internal group names as per engine policy Use antialiasing for line drawing in the AnimationTree editor Improve antialiased line drawing sharpness and respect of original width Fix 3D editor gizmos appearing in GI following default GI mode change Document changing the Decal and Light3D projector texture filter modes Clamp VoxelGI extents to reasonable values to avoid breaking baking Improve visibility of code, kbd and clickable references in editor help Disable Expand by default in VideoStreamPlayer Remove unused anisotropy setter/getter methods in VoxelGI Document the `timeout` property in HTTPRequest Define bold, italics and mono fonts in editor log for `print_rich()` Fix dead link in TAA resolve shader comment Improve appearance of the material editor preview Fix some properties having an invalid float step of `0` Add a script to install the Vulkan SDK on macOS Rename soft shadow quality project settings for easier searching Tweak the name for new animations in the editor Download Vulkan SDK disk image to a temporary folder in the script Add padding for code blocks in the editor help Add example usage for `Font.get_string_size()` Require ScriptInstance to be valid in the editor debugger Fix missing Distance Fade category in OmniLight3D/SpotLight3D inspector Change window title in Movie Maker mode to display useful information Tweak Decal distance fade defaults and add property hints Add a Movie Quit On Finish property to AnimationPlayer Allow changing mipmap LOD bias when FSR 1.0 scaling is not used Rename RenderingServer global shader uniform methods to be more explicit Add a test suite for OS Add support for documenting most editor settings in the class reference Use a PackedStringArray for the "open in new inspector" editor setting Hide triplanar subproperties when triplanar is disabled in BaseMaterial3D Make Decal's `modulate` property affect emission color as well Tweak VoxelGI defaults for better quality Improve script editor's light theme syntax colors for better readability Change default material alpha scissor threshold to 0.5 Tweak default fog settings for better appearance Expose the "restart on exit" OS functionality Improve easing inspector usability Add `hint_transparent` to use a transparent black placeholder texture Document caveats of high attenuation in OmniLight3D and SpotLight3D Use global coordinates for particles by default Fade screen-space reflection towards inner margin Document Camera3D's frustum offset property requiring Frustum projection Don't replace RootMotionView with Node in a running project Add Nearest Mipmap Anisotropic filter option to decals and projectors Visually line up the selected tab with the underlying panel with borders Rename visual shader editor setting category for proper capitalization Allow more precise adjustments of orthogonal/frustum size in Camera3D Improve error message when the requested V-Sync mode cannot be used Distinguish multiple node configuration warnings in the scene tree dock Don't store the values of linked SDFGI properties in Environment Add editor icons for all AudioStream resources Tweak StandardMaterial3D's default height properties Rename shader parameter uniform setter/getter methods for consistency Tweak PopupMenu item spacing in the editor theme Use interleaved gradient noise for distance fade Improve `range_lerp()` and related methods documentation Document editor settings in the class reference Fix broken rST reference in HTTPClient documentation Add a shadow opacity property to Light3D Remove FOV adjustment with Alt + mouse wheel in the 3D editor Print expected `os.arch` tuple for current platform in GDExtension error Improve InstancePlaceholder documentation Tweak Label3D defaults for better readability Decrease default AudioStreamPlayer2D/3D panning strength Enable ANSI escape code processing on Windows 10 and later Allow using numpad for zoom shortcuts in the 2D/code editors Use negative mipmap LOD bias for sub-native bilinear 3D scale Fix ORMMaterial3D not being taken into account by static VoxelGI Hide Dummy text driver in the Project Settings as it makes editor unusable Document run-time SceneTree debug property changes not working correctly Hide properties that have no effect in Label3D inspector Document that Object metadata starting with `_` is editor-only Remove unimplemented `OS.dump_memory_to_file()` method Increase the default project window size for better usability Decrease editor shadow maximum distance to match DirectionalLight3D default Don't use rounded corners for PopupMenus in the editor theme Add "Hide on Contact" collision mode to ParticlesMaterial Create a SVG default project icon in new projects Improve documentation related to anisotropic filtering Improve platform-specific READMEs to add useful links Fix outdated mentions of default code font in EditorSettings documentation Automatically use negative mipmap LOD bias when TAA and/or FXAA are enabled Improve documentation for BaseMaterial3D's alpha scissor threshold Document 3D particle color properties requiring vertex color as albedo Add a per-light volumetric fog energy property Rename Curve/Curve2D/Curve3D/Gradient `interpolate()` to `sample()` Improve null and object printing to avoid confusion with arrays Improve the editor's Add Metadata dialog Add Environment properties to control fog rendering on background sky Rename `or_lesser` range property hint to `or_less` Improve documentation related to audio input permissions Use verbose prints when registering cameras in CameraServer Improve 3D editor preview sun and sky usability Improve volumetric fog and FogVolume documentation Tweak LightmapGI defaults to be closer to the CPU lightmapper Fix error string referring to invalid metadata name in Movie Maker dialog Rename editor run/pause/stop shortcuts and tooltips for consistency Fix project run/stop buttons disappearing in the editor Tweak FogVolume density property to allow sliding to negative values Document `print_stack()` and `get_stack()` requiring a debugger connection Rename `Engine.target_fps` and associated project setting to `max_fps` Replace local web server setup for web editor with a Python-based solution Automatically use execinfo for crash handler on *BSD and musl-based Linux Improve dictionary printing to avoid confusion with arrays Document `SurfaceTool.generate_normals()` interaction with smooth groups Document `Array.sort()` and `sort_custom()` using unstable sorting Add a project setting to make the root viewport transparent Implement adjusting the maximum number of physics steps per rendered frame Fix volumetric fog not rendering at densities lower than or equal to 0.001 Fix Light2D Shadow Filter Smooth property being visible with filter None Document known issues with CylinderShape3D Improve feature errors in HTML5 for easier understanding Document debanding only affecting 3D rendering by default Document the Animation class Document the BaseMaterial3D class Document `collision_priority` in the CSGShape3D class Document (Omni/Spot)Light3D ignoring Node3D's `scale` property Document the CanvasTexture class Add Black (OLED) editor theme preset Document the ENetPacketPeer class Fix `DisplayServer.has_feature()` claiming X11 has native icon support Document the Vector3 and Vector4i classes Document the DisplayServer class Warn if available disk space is low when Movie Maker mode is enabled Rename `--export` command line argument to `--export-release` Hide Antialiasing import option on DynamicFonts with MSDF enabled Fix missing Add icon in the editor font prerendering dialog Rename GPUParticles2D/3D's `trail_length_secs` to `trail_lifetime` Document Texture, CompressedTexture and Placeholder classes Use a bold font for section titles in the editor performance monitor Allow `++` as an alternative separator to `--` for user CLI arguments Disable code font ligatures by default in the editor Fix periods in editor strings and messages Add a node compatibility handler for ProximityGroup Emphasize the importance of uploading a minimal reproduction project Allow all lossless image formats to be used for VRS texture project setting Improve collision exception error messages for easier understanding Document PhysicalSkyMaterial's `energy_multiplier` property Improve editor property capitalization Document the Light2D, PointLight2D and DirectionalLight2D classes Improve command line help to fit on narrower displays Tweak shadow bias defaults for DirectionalLight3D and OmniLight3D Use circular fade instead of linear fade for distance fade Document exceptions to font oversampling in Camera2D, CanvasItem and Control Fix libtheora source code being mistakenly `.gitignore`d Fix BackBufferCopy `rect` property appearing when not relevant in inspector Remove warning when playing random no-repeat sound with only 1 sound in pool Rename `float=64` SCons option to `precision=double` Add maximum roughness cutoff to SSR to improve performance Only support XDG directory path configuration on Linux Silence `Input.vibrate_handheld()` warning as it's already documented Move transparent background project setting to a subsection Remove Disable Touch debug project setting Document MDSF font outlines may require `msdf_pixel_range` adjustments Add properties to disable top/bottom cap generation in TubeTrailMesh Mention that the Compatibility rendering backend is work-in-progress Hide Ambient Light properties in Environment inspector depending on mode Tweak particles animation offset property hint to allow more precise values Tweak text color for disabled preprocessor branches in the shader editor Improve documentation for `OS.read_string_from_stdin()` Clarify the difference between uniforms and per-instance uniforms in docs Add a property hint for SpinBox's `custom_arrow_step` property Tweak fbx2gltf file filter to remove naming restriction Improve visibility of Actions button in Advanced import settings dialog Document image size restrictions for custom mouse cursors in HTML5 Fix DirectionalLight3D shadow opacity on Forward Mobile rendering backend Mark touch emulation project settings as basic Document changing V-Sync at runtime in the class reference Silence `warp_mouse()` warning in favor of documentation Fix typos in input action editor key type names Update name of `template` feature tag in the class reference Fix Editor Description tooltip not changing until scene is reopened Hide non-functional "Show in File Manager" buttons in Android/web editor Fix missing LightmapGI gizmo icon in the 3D editor Mention `String.match()` is also called "glob"/"globbing" Add a property hint for PrimitiveMesh's `uv2_padding` Use a "warning" icon in `OS.alert()` on Linux/*BSD Print name of Vulkan rendering method on startup Trim "/PCIe/SSE2" from GPU names when starting the OpenGL renderer Document visibility AABB caveats with decals, reflection probes and lights Document DirectionalLight2D not supporting cull masks Clarify `Font.get_string_size()` taking kerning into account Update PCK embedding SCons warning message to mention mold linker Clamp Decal size to positive values Document unsupported features in Mobile and Compatibility rendering methods Improve documentation on PopupMenu and DisplayServer accelerators Mark Application Icon and V-Sync Mode project settings as basic Disable incompatible rendering methods in the project manager Add a property hint to fix crash when setting max convex hulls below 0 Document the Max Clustered Elements project setting HungryProton (1): Fix popup trying to emit a non existing signal when closed I Woithe (1): Spelling correction: change "no" to "not" Ian Gaither (1): Update TextLine.xml Ibrahn Sahir (4): AudioDriverPulseAudio: move Vector Cow access outside tight loop. Turn off physics and 3d navigation servers in the Project Manager. ThreadWorkPool no longer starts worker threads if given zero work. Fix MIDI input with ALSA. Iced Quinn (1): doc: Add documentation for JSONRPC class Iceflower (1): Rename theme cache separation names Ignacio Abal (1): Added validation when assigning heightfield_resolution (Fix #46281) Ignacio Etcheverry (138): C#: Replace uses of old Configuration and update old csprojs Fix C# bindings after recent breaking changes Mono/C#: Optimize the way we store GC handles for scripts C#: Fix uses of old Configuration names Expose FileSystemDock to the scripting API and fixed signals Sync csproj when files are changed from the Godot FileSystem dock Mono/C#: Fix MinGW build not supporting `.lib` libraries Mono/C#: Add iOS support Fix exporting corrupted Xcode pbxproj if project name has spaces Fix C# bindings after recent breaking changes Mono/C#: Allow debugging exported games C#: Save copy of sln and csproj before applying fixes Fix missing DEFVAL for RenderingDevice.index_buffer_create Mono/C#: Allow exporting System.Array of type Godot.Object Mono/C#: Fix assemblies being reloaded a second time unnecesarily C#: Revert marshalling of IDictionary/IEnumerable implementing types C#: Fix always saving copy of csproj even with no changes Mono/C#: Fix load hook not called for some assemblies on domain reload Mono: Fix hot-reloading of nested classes Mono: Use msbuild instead of nuget.exe for restoring C#: Remove StringExtensions.Empty() function C#/Mono: Check assembly version when loading C#: Use Sdks in GodotTools csprojs and switch to nuget Microsoft.Build C#: Rewrite GodotTools messaging protocol Implement CSharpScript::inherits_script C#: Support for building with the dotnet CLI Fix C# bindings after lightmapper changes websocket: Fix crash at exit when not running the editor Added tests for ClassDB Mono/C#: Remove script load error about not a Godot.Object Mono/C#: Fix values not updated in remote inspector Fix condition in ClassDB tests that should return Mono/C#: Don't try to load project assembly in project manager Fix editor ignoring 'single_window_mode' with no main scene Add SCons option to not build C# solutions C#: Add VisualStudio support Fix dynamic linking of MSVC Mono with MinGW Godot C#: Fix completion request with case insensitive resource path Mono/C#: Fix unhandled exception not being printed Mono/C#: Fix InvalidCast because of attempt to unbox long as int Mono/C#: Use /restore instead of /t:restore when building Fix missing DEFVAL in RenderingDevice.storage_buffer_create Mono/C#: Fix several clang-tidy warnings and cleanup Fix 'modernize-use-bool-literals' clang-tidy warnings in error macros C#: Fix restore not called when building game projects C#: Switch games to MSBuild Sdks and .NET Standard C#: Fix editor unable to play game after IDE PlayRequest Mono/C#: Fix editor using wrong project assembly path in rare cases C#: Fix null exception in our MSBuild logger C#: Save newly created csproj files without BOM C#: Fix 'Parameter toolsPath cannot be null' error C#: Fix crash on export when incorrectly freeing MonoAssemblyName Fix crash because of initialized EditorDebuggerPlugin field C#: Fix InvalidCastException on export Fix clang-tidy warnings due to semicolon after mono module macros C#: Fix Windows detection for copying MSBuild stub Fix parsing of C# files with spaces in the path Fix 'Parameter "assembly" is null' error C#: Fix Godot failing to find class namespace C#: Hide Build button if there's no solution to build C#: Fix endless reload loop if project has unicode chars C#: Use BOM when creating a solution C#: Fix csproj not synced on file move/removal from FS dock C#: Re-work solution build output panel C#: Make editor create NuGet fallback folder for Godot packages C#: Fix custom event signals crash on hot-reload C#: Fix multiple awaits to same signal result in connect error Fix unhandled exception re-thrown in the editor C#: Fix very slow build log update in the editor Mono: Add mono_bcl SCons option for a custom BCL location Don't box params on Native->C# calls with Variant params Mono: Add extra WASM framework assemblies on game export Mono: Make Godot provide its own WASM m2n trampolines Mono: Don't use -rdynamic when compiling for WASM C#: Fix System.Collections.Generic.List marshalling Add ClassDB tests to look for core API deps on editor API Add C# source generator for a new ScriptPath attribute C#: Fix ScriptPathAttribute generator with none or nested namespaces C#: Fix StringName leak warnings after generating bindings C#: Fix disconnecting event signals twice C#: Fix `double` casting in wasm m2n trampolines Fix C# native instance bindings after recent re-write C#: Fix bindings generator for Callable argument default value Fix ClassDB API type mismatch bug between --editor and player iOS: Don't embed project static frameworks/libs C#: Fix property set call boxing value when unboxed was expected Fix false reporting unclaimed StringName at exit due to static refs Fix instance binding unreference callback regression C#: Move marshaling logic and generated glue to C# C#: Remove DynamicGodotObject/Object.DynamicObject C#: Re-write Array, Dictionary, NodePath, String icalls as P/Invoke C#: Re-write GD and some other icalls as P/Invoke C#: Restructure code prior move to .NET Core C#: Begin move to .NET Core C#: Fallback to `dotnet --info` to determine .NET RID Fix detection of .NET Sdk from snap and allow higher versions CI: Setup .NET Sdk to fix CI and build C# code as well C#: Code cleanup and greatly reduce use of C# pointers C#: Add initial implementation of source generator for script members C#: Ensure native handles are freed after switch to .NET Core C#/netcore: Add base desktop game export implementation C#: Add source generator for properties and exports default values C#: Ensure we only create one CSharpScript per type C#: Re-introduce exception logging and error stack traces in editor C#: Static marshaling for bindings and source generators C#: Upgrade to .NET 6 (5.0 -> 6.0) C#: Initial NativeAOT support C#: Make GodotSharp API a NuGet package C#: Re-implement assembly reloading with ALCs C#: Refactor Array & Dictionary interface implementations C#: Add source generator for signals as events C#: Add source generator for method list C#: Add dedicated Variant struct, replacing System.Object C#: Array, Dictionary and marshaling refactoring C#: Re-introduce generic Godot Array and Dictionary C#: Use custom project setting for C# project files name C#: Remove IL post-processor build dependency C#: Replace P/Invoke with delegate pointers C#: Add module README C#: Remove old Callable code left dangling after switch to .NET 6 CI: Remove second build with mono_glue=yes C#: Fix buildsystem when `dotnet --info` does not specify arch C#: Fix exported game crash because of uninitialized callbacks C#: Fix Vector4 in godot_variant and missing marshaling C#: Make MustBeVariantAnalyzer ignore OmittedTypeArgument C#: Replace libnethost dependency to find hostfxr C#: Fix module builds for Windows 32-bit with mingw-w64 Add JetBrains Fleet folder to gitignore C#: Load assemblies as collectible only in the Godot editor C#: Remove need for reflection to invoking callable delegates C#: Add Variant conversion callbacks for generic Godot collections C#: Optimize Variant conversion callbacks C#: Remove `ConvertVariantToManagedObject` C#: Replace most conversions between Variant and System.Object C#: Cleanup Variant marshaling code in source/bindings generators C#: Fix exported properties of GodotObject[] type C#: Fix premature free of returned Variant in vararg methods C#: Fix leak in Span to Variant conversions Igor Kordiukiewicz (13): String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++ Fixes TileMap editor not disappearing With auto_brace_complete enabled, selected text now gets wrapped by braces Fix SelfList::remove error when animating Sprite3D Remove files_dropped signal from SceneTree Fixes camera preview toggle in additional editor viewports not disappearing corectly causing a crash Changed TileMap::set_cell alternative_tile default value to 0 Added property hint to id property in tile set atlas source editor Fixed issue where Extend Script option would show up even without script attached to the node Added visual feedback when drag and dropping from scene tree to file system Added interpolation property to GPUParticles2D Fixed issue where panels in sprite frames editor couldn't be resized Added button to add warning ignore annotations Ilaria Cislaghi (7): fixed documentation for get_hit_length of spring arm 3D fixed particle rotate y flag added offset for plane mesh and quad mesh This commits adds a new emitter type for particles material and 3D CPU particles. The new emitter is called "ring" and it can emit either in a ring or cylinder fashion. This adds the following properties for the emitter: 1. emission_ring_axis: the axis along which the ring/cylinder will be constructed 2. emission_ring_radius: outer radius of the ring/cylinder 3. emission_ring_inner_radius: inner radius of the cylinder. when set to zero, particles will emit in the full volume. 4. emission_ring_height: height of the ring/cylinder emitter. moved particle parameters to minmax and split scale axis Improve visual shader defaults for quality of life make particle billboard take into account non-uniform scale Ilya Kuznetsov (1): Added mono_unhandled_exception call to unhandled_exception hook Infinixius (1): Fix small typos regarding WebSocketPeer Ing. Petr Jindra (1): fix of reading property list from custom nodes imported from GDExtension when inheritance between custom nodes is used Ithamar R. Adema (1): Add 16-bits TGA support Ivan Shakhov (5): Support toolbox custom "Tools install location", by reading .settings.json use Rider MSBuild on Windows, when Rider is selected as external editor On Windows find Rider installed for CurrentUser reorder solution configurations + migration Fix off by one error navigating to line number in Rider Ivan.Shakhov (3): for third-party tools - editor_path is stored in project's editor settings fix RiderPathLocator - searching for toolbox on Mac Fix warning: Property not found: mono/editor/editor_path_optional (#36995) JFonS (73): Add rotation widget to 3D viewport Return correct mesh format for PrimitiveMesh. Fix rotation gizmo for empty Spatials Update all editor viewports after settings changes Rename all gizmo classes, using the 4.0 node names. Update Joint gizmos automatically Add caching the lightmap unwrapping on import Keep mouse inside 3D viewport rotation widget Upgrade OpenImageDenoise to v1.1.0 Minor fix on GLSL shader parser Fix typo in SDF jumpflood shader Improve rotation gizmo Fix binding of default value in EditorSpatialGizmoPlugin::get_material() 3D editor grid improvements Fix volumetric fog for SpotLights Invert spotlight angle attenuation Fix visibility toggle for baked GridMaps Add Embree-aarch64 thirdparty library Implement occlusion culling Assorted fixes to UV unwrapping and GPU lightmapper Port changes to the "raycast" module build files from 3.x Add checks for __SSE2__ in the lightmap raycaster Fix swapped front/rear directions in viewport rotation control. Upgrade Embree to the latest official release. Fix some warnings raised by GCC-11.1 Fix tangents array in SurfaceTool Implement visibility range and dependencies. Rename get_parent_spatial() to get_parent_node3d() Fix "Ignore Occlusion Culling" flag. Fix crash in visibility range system. Fix equality operators in List's ConstIterator Editor StringName and Viewport optimizations Fix popup submenu in single-window mode Node3D gizmo improvements Fixes to editor subgizmos Minor fixes to Node3DEditorPlugin Improvements to SpotLight3D and OmniLight3D's shadows Occlusion culling fixes Upgrade Embree and enable ray packets Fix error spam on quit Update thirdparty README for Embree Auto LOD fixes and improvements Force optimized builds for thirdparty Embree files Occlusion culling fixes Fix auto LOD generation for blendshapes. Fix state inconsistencies in visibility dependencies. Implement distance fade and transparency Fix shadow disabling settings Fix shadow disabling on mobile renderer Fix click selection in the editor 3D viewport Fix instance index in forward clustered shader Fix transparency state initialization Fix Depth-Prepass transparency mode Fix secondary handles in editor gizmos Minor fixes to shadow atlases: * Erase shadow owner *before* setting it to RID(). * Add default texture in shadow atlas debug view to avoid error spam when no atlas is present. * Fix typo. Improvements and fixes to occluders Fix navigation in 3D viewport Improve rotation in the 3D transform gizmo Add sanity checks to lightmap unwrap texel size Upgrade stb_rect_pack to 1.01 Add color pass flags to Forward Clustered renderer Fix Vulkan validation errors on default depth textures Fix specialization constant updates in color passes Fix regression in rasterizer state Fix depth pre-pass on all face cull modes Add missing color pass flags to the valid list Initial TAA implementation Workaround MoltenVK error found in TAA implementation Workaround MoltenVK shader conversion error Move TIME to a global shader variable Fix crash in Environment "Canvas" background mode. Add motion vectors support for MultiMeshInstance Fix error spam in the renderer when using GPUParticles3D Jack Linhart (1): Added GridMap description to get_bake_meshes() Jacob Edie (2): added temp variable because *p_inputs[2] is the same as *p_outputs[0] --single-window is passed through project manager. This means you can start godot with --single-window Jadon Orr (1): Fix small typo in LightmapGI class reference Jake Young (12): Documented the new NavigationServer and all its associated nodes (2D and 3D) Made toplevel a property for Node3D and CanvasItem Renamed toplevel to be top_level Updated getters and setters names for toplevel Added a more helpful error message when there is no current animation for the animation player Fixed typo in bone attachment warning Improved readability for failing error conditions Change default navmesh agent radius to match nav agent node's default radius Added ability to copy group name Update example code for SceneTreeTimer to reflect new await keyword Replace remaining usages of yield with new await keyword Update my name on author file Jakob Bouchard (1): Convert _notification methods to switch - Chunk C Jakob Gillich (1): restore vehicle+wheel importers Jakub Grzesik (1): fix for headless collision shape generation James (3): Fixes #65377: get_datetime_* functions can return wrong values Project converter: OS.get_datetime -> Time.get_datetime_dict_from_system Project converter: JSON.print -> JSON.stringify James Buck (1): Trigger an error when trying to define a preexisting signal in GDScript James Castanho (1): edit if statement in FileSystemDock::_select_file() James Gordon (1): Added test file and test cases James Mintram (6): Add missing case statement to handle re-parent to new node Make LineEdits in create plugin dialog expand horizontally Make description in create plugin dialog expand vertically Change binding type of PlaceholderTexture2D.set/get_size to Vector2 Update stale node ref after replace_by in GLTF importer Fix error spam when hovering minimap in the script editor James Westman (2): GraphNode: Add properties for custom icons docs: Add TreeItem method descriptions Jamie Pate (1): Improve performance of screen_get_dpi() in Javascript Jan Haller (12): Fixes #47607 (forgotten statement in GDNative cleanup) GDExtension: change to_string signature to accept GDNativeStringPtr instead of returning const char* GDExtension: print error messages for different error paths during loading GDExtension: reuse code with constructor PropertyInfo(const GDNativePropertyInfo&) Command line arguments '--version' and '--help' return exit code 0 instead of 255 Fix exit code of --help and --version, and test them in CI Extension header: fix typos, documentation and member order Extension header: amend const correctness of `p_args` parameters Fix use of `bool` in extension header Fix bind " convergence_dist" containing space Add tests to ensure bound methods and signals are valid identifiers GDExtension: array_set_typed() accepts enum instead of uint32_t Jari Ronkainen (1): Go through all event devices, not just event[0-32] Jason Knight (10): Removed the alteration of status.hovering during Focus Enter and Focus Exit events. This is incorrect and not fully implemented, and results in inconsistency in the UI and in the hovering variable. Emit button_up signal after setting pressed to false. Android export plugin passes absolute file paths to gradle for keystores. Use ScriptServer::get_global_class_base instead of script_class_get_base in script_class_is_parent. Allow disabling the alpha trim on texture atlas creation. Use 3001 instead of 1001 when destroying a websocket. Bind NOTIFICATION_LOCAL_TRANFORM_CHANGED Call update_scrollbars() in sort_children() so the max is set properly so you can set scroll_container.scroll_vertical instantly after adding children to a scroll container. Fix null in android keyboard handling. Change auto to default in cursor css settings. Jason Yundt (3): Improve autoload inheritance error message Rename change_scene() and change_scene_to() Fix invalid literals in generated rst docs Jasuse (1): Fixing debug shape update of ShapeCast3D Javier Dehesa (2): Made toolbar buttons in tile set editor flat Added zoom functionality to sprite frames editor plugin Jay Mehta (4): Changed Area2D node description Changed Area3D node description Revise Area node brief descriptions Second revision of area node desc Jcrespo (2): Solve discrepancy between code and class reference for Plane Patch the make_rst.py utility to handle specially operators with '<' Je06jm (2): Implemented AMD's FSR as a computer shader for upscaling 3D scenes Fixed FSR. Before, it was commiting the raw render to the screen. Now, it commits the fsr upscaled image Jean-Marc Pelletier (1): StyleBox: Document correct methods to draw with a RID Jean-Michel Bernard (54): fix selection error after commenting or indenting text fix no tween repeat after stop_all() and start() again fix incorrect iauto-indentation in mutliline bracket (fix #46384) Adding Raycast3D custom debug shape thickness and color fix Label visible_characters bad precision fix-EditorSpinSlider-grabber-zoomed-position Fix crash on closing empty modified scene Fix always capitalized properties in sub-inspector Fix hardcoded Maya style navigation pan key modifier Fix Asset Library URL not updating after been changed in editor settings Fix BBCode tables overlap with bottom text Fix crash on calling play() in a uninitialized AnimatedSprite2D Fix AudioEffectCapture buffer length cannot be changed Prevent resizing minimap bigger than GraphEdit (Fix #47189) fix crash on null class in ClassDB.get_property() and set_property() Fix VisualScriptFunctionState connect to null object crash Adding InputMap action error suggestion for Input singleton Fix carret not following while debugging (Fix #51754) Add missing SNAME macro optimization for StringName in some functions Fix bad size after restoring a minimized window under Windows Fix CTRL+V doesn't work properly in inspector textedit Fix comment causes content of folded methods to not hide Fix node pivot shortcut is always active Prevent non explicit inferring parameter from null Display an error message in settings when autoload name is invalid Fix wrong behavior of Action Map Editor with non QWERTY layouts Allow mouse button event detection in Action Map Editor Fix LineEdit and TextEdit double-click and triple-click selection Fix tree title column size minimum width Fix deleting selection at the first line do not work with backspace Fix caret position and viewport centering after deleting line (Ctrl-X) Fix missing action icons in action map editor Fix plugin create dialog subfolder and script field validity checks Fix bad popups offset in editor with single window off Fix bad mouse offset with Control::wrap_mouse() Fix bad mouse offset to show tooltips in Tree Fix wrong ColorPicker shape with GradientEdit Expose selectable property of ItemList's Item Prevent renaming to an unkown extension from FileSystem dock. Renaming layers from the inspector via a popup menu. Save script editor's function list split offset with the editor layout Fix template OptionButton in create script dialog doesn't select the correct template Add missing SNAME macro optimization in some function calls Add missing SNAME macro optimization to all theme methods call Hide CollisionShape2D handles when node is not visible in tree. Hide Polygon2D lines and handles when node is not visible in tree. Fix 3D Editor axis drag lines precision issue Fix renaming function dialog in VisualScript does not work correctly Fix AnimationTrack mouse wheel zooming at low zoom level Port existing _notification code to use switch statements (part 1/3) Fix disabled tab can be enabled via rearranging inside TabContainer Fix TextEdit v_scroll_speed invalid values breaks wheel scrolling Prevent docks to be reset to first tab when switching dock visibility Fix AnimatedSprite2D & 3D animation list in inspector Jeffrey Cochran (2): Enabled softbody-area collision (intersection) and enabled area-specific gravity for soft bodies. Enabled area-specific wind forces Jens Nolte (1): Fix GLAD-related build problems on Linux Jesse Dubay (3): Fix flipped EYEDIR.z in sky shaders Sky renderer: Don't invert Z component of light direction Sky renderer: Only flip Z when calculating panorama_coords JestemStefan (3): Added signed_angle_to for Vector3 Limit scale of node2D to EPSILON 0.00001 to prevent det==0 bug Changed Window current_screen parameter from string to int Jihyun Yu (3): fix bug on window notification propagation Auto-reload scripts with external editor Curve2D/Curve3D: exact linear interpolation Jiri Suchan (7): refactoring: simplify compiler version check ci: move slowest static job to the end of pipeline ci: add basic test pipeline for shader builders fix: graceful exit on macOS missing Vulkan ci: add Python static analysis check via mypy fix(docs): use proper path for tutorial file in docs docs: replace File with FileAccess Jitesh (2): change minimum horizontal size from 200 to 240 Add animation_finished signal and fix frame_changed signal for AnimatedSprite3D JoJoX (5): Use source image format when creating padded texture Fix first value update Test joint type on _set for PhysicalBone joints Apply root scale to shape on import Handle 0 exponent in float/half conversion for OpenGl Johan Aires Rastén (4): Fix ColorPicker color and hsv sync issue Replace Vector2(i) with Size2(i) for methods returning a size Calculate MODELVIEW_NORMAL_MATRIX for billboard materials Allow emit_subparticle from start function Johan Rastén (1): Handle 16 bit PNG files in sRGB format John J. Donna II (1): LSP: Add support for custom host setting John Pennycook (1): Make YSort stable John Wigg (6): Limit undo stack size Fix normals of PrismMesh Change PrismMesh editor icon to look like a prism. Fix y billboard shear when rotating camera Fix Face3::get_random_point_inside() Fix GPUParticle3D emission point generation John Zulauf (10): Cause buffer_update to emit error if called during compute/draw list Add fragment stage to texture copy/resolve barriers Add barrier for buffer getting Correct stage masks for storage texture barriers Additional synchronization fixes w/o FORCE_FULL_BARRIER Sync fix texture_get_data bad barrier param Sync fix for clear texture Add subpass sync support for layout transitions Add pre-copy barrier to buffer update Synchronization - Clean subpass dependency init JohnM666 (1): Fix #46282 Executing RigidBody3D.get_inverse_inertia_tensor() crashes Godot Jon Bonazza (1): feat: HMAC support in Crypto APIs Jonah Stich (1): Fixed minor typo, gui_hid -> gui_hide. Jonas Bernemann (3): String::format leave passed values untouched EditorSettings: Look for binding while filtering too Rename missing shortcut names in visual script editor Jonathan Gollnick (3): Let var2str display StringName with correct sigil Fix auto reload scripts on external change Fix _validate_property on AnimatedSprite 2D and 3D Jonathan Nicholl (13): Fix type hints for AnimationLibrary's signals Add script templates for EditorScenePostImport Update classref documentation for AnimationPlayer Add classref documentation for AnimationLibrary Update messages for missing FBX2glTF, add similar messages for Blender Fix Blender file path check to require a directory Add `is_zero_approx` methods to `Vector2`, `3`, and `4` Fix visibility filtering options for .blend imports Update several ProjectSettings docs Clean up .blend importer to fix unreachable code paths Document that Vector classes are 32-bit Add animation_changed signal to AnimationLibrary Update documentation for Mesh and MeshInstance3D Jonathan Vice (1): Reorder sprite h_frames & v_frames Joosep Jääger (1): Added constants PI, TAU and E to the shader language Jordan Schidlowsky (12): allow vulkan validation layers in release builds if explicity asked for fix for two incorrectly bound texture formats fixes crash for OPCODE_CAST_TO_NATIVE opcode in gdscript disassemlber make 2d constraint solving more deterministic by solving in push order fixes crash in disassemlber for opcode OPCODE_ASSIGN_TYPED_NATIVE packed*arrays are pass by ref now. support duplicate and update documentation add msan sanitizer option for linus/bsd, lsan option for osx Websocket peer outbound buffer fixes. Expose outbound buffered amount. revert 0d7409a so additional error information prints in release builds [Net] ENetMultiplayerPeer now sends fragmented packets unreliably too. [Net] ENet poll now only service the connection once. [Net] Non-blocking WebSocket hostname resolution. Joseph Davies (1): Fix grammar in MultiMesh documentation. Josh Anthony (1): update messaging for focus to be less keyboard-specific Josh Chandler (3): fixed camera2D showing incorrect bounds in editor fixed camera2D showing incorrect bounds in editor add viewport.get_camera_2d() Josh Jones (18): [Godot Physics]: Correct typo in moment of inertia calculations. Fix NavigationRegion3D gizmo's odd visual behavior Fix typo when setting NavigationRegion travel_cost Added node for Navigation links Improve consistancy of NavigationRegion setters Update NavigationAgent to use query_path Add MSVC problem matcher to CI Added missing descriptions for GeometryInstance3D Add documentation for DirectionalLight2D Enable assigning an owner to navigation regions and links Mark navigation classes and nodes as experimental Add support for emitting a signal when entering a NavLink Fix typo and ensure backwards compatibility for changed property names Rework const on NavigationServer methods Use Callable for Navigation Agent callbacks Improve consistency of NavigationAgent setters Fix missing avoidance updates when using same velocity When using avoidance, if you set the same velocity for the agent, you won't get an update from the avoidance system. Allow compiling out the navigation module Josh Kabo (2): catch null profile_def causing crash on startup Unzip read success no longer breaks read loop Joshua Dahl (1): Remove Unnecessary Double List Joshua Quinones (1): Added documentation comments to the .NET library João Pedro São Gregorio Silva (1): Fix incorrect expression base in `AnimationNodeStateMachinePlayback::_check_advance_condition` Juan Linietsky (415): Initial work on Vulkan: Improved validation of attachments Added support for push constants Refactored RID/RID_Owner to always use O(1) allocation. Modify RenderingDevice to use RIDs, now that they are O(1) Texture refactor Changed my mind on Vulkan image API, images should now include mipmaps A lot of progress with canvas rendering, still far from working. Basic 2D engine is more or less working, needs more work for editor to be usable. basic 2D engine is more or less working with Vulkan, including editor. Bugfixes and ability to better specify filter and repeat modes everywhere. Added ability to retrieve back textures stored on GPU Fix crash on import. Changed allocation strategy of CanvasItem draw commands. Normalmapping and Specularmapping working in 2D engine 2D lighting seems more or less complete. Use a special sampler for 2D shadows, so they are softer Modified light rendering to make it more compatible. Changes to material required to add custom shaders in RD renderer Completed material/2D shader support (missing SCREEN_TEXTURE) Custom material support seems complete. Replaced GLSLang reflection by SPIRV-Reflect, eventually allowing to move GLSLang out. Added a spinlock template as well as a thread work pool class. Moved the shader source compilation code outside RenderingDevice and Vulkan Add a system to properly update materials if the uniform set is gone (likely deleted texture) Fix comment Vulkan/RD rasterizer now does clean exit. Base 3D engine done, still untested, though. Yay very basic 3D (only white) finally shows. Environment sky more or less working. Tonemapping ported (not all parameters supported yet, only enough to get correct color) Rewrote large part of rendering, omni and spot shadows now work. Directional lights and shadow mapping are functional. Directional light cleanup. Reflection probes working Several fixes to 3D rendering, and multimesh implementation. Modernized default 3D material, fixes material bugs. Proper texture reloading (was broken). Visual GPU profiler and related profiling support in Vulkan. Properly working instancing, and compatibility fixing for old meshes Skeletons are now working. Untested support for compute shaders Rewritten StreamTexture for better code reuse, added basis universal support Fixes to Basis Universal. GIProbes working. Missing proper comparison for depth pre-pass. Better GIProbe quality settings. Fixed display menu visualizations. More GIProbe work and fixes Fixed 2D and 3D CPU Particles Dynamic object support for GI Probes (a bit buggy still) GIProbe now generates a distance field on bake using CPU, for better compatibility AO support for GIProbe (right on time for Godot Sprint!) Use a different strategy to get textures from GPU (via buffers), for more compatibility. Fixed uninitialized memory bug in voxelizer Fixes to how anisotropy is handled, makes it work on nvidia. Several fixes to GIProbes Changed SDF processing to smooth out shadows. Fix to category in material. More correctly divide alpha by 8 for mipmaps, fixes voxel overocclusion. Dynamic objects in GIProbes are now affected by propagation parameter. Improved Voxel AO settings. -Refactored post processing, re-added glow and added a mix blend mode. Auto exposure re-implemented in Vulkan WIP CameraEffects implementation (bokeh not working for now) Mostly working DOF Bokeh DOF fully implemented, can be edited on the fly. Modified rendering to use cluster instead of foward Re-implemented screen space ambient occlusion Added normalmap guided roughness mipmap generator, and a global roughness limiter. Force vulkan driver until OpenGL is implemented ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. PoolVector is gone, replaced by Vector Reworked signal connection system, added support for Callable and Signal objects and made them default. Add support for named binds in Skin. Created the callable_mp macro, for signals to call method pointers directly. Added StringName as a variant type. Correct condition wrongly converted to ERR_FAIL_COND_MSG Add support for Vector2i, Rect2i and Vector3i to Variant Store arrays inside of Variant as shared. Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT. Removed interactive loader, added proper thread loading. Properly handle EOF when parsing text resource Refactored Input, create DisplayServer and DisplayServerX11 Effective DisplayServer separation, rename X11 -> LinuxBSD Added a Window node, and made it the scene root. Refactored input, goes all via windows now. Support for transient windows Working multiple window support, including editor Make DisplayServerX11 thread safe Separate DisplayServer from OS on Windows Popups are now windows also (broken!) Open sub-windows as embedded if the OS does not support them Fixes to window style flags Popups have also been converted to windows Reworked tooltips to use the popup system. Implemented drag and drop across windows, both OS and embedded. Fixes to X11, still pretty broken Renamed 2D and 3D nodes to make their types explicit Renaming of servers for coherency. Remove the audio memory allocator, use regular one instead. Ensure COWData does not reallocate on push back, fixes #22561 Move glow upscale quality to a global setting, for consistency Re-Added screen space reflection. Re-implement subsurface scattering. Refactored shadowmapping. Support light size and soft shadows Shows proper scene render time in editor info Moved most of the effect code to compute. Add screen space AA option, with FXAA implementation. Implement MSAA Implement decals Add support for projectors in spot and omni lights. Implement global and per instance shader uniforms. Ability to create local RenderingDevice instances. Exposed RenderingDevice to script API Add ability to bind typed arrays to script API Add proper type to most public API uses of Array Implement Skew in Node2D New lightmapper Addition of SDFGI for open world global illumination Move GI to a deferred pass Slight occlusion improvements. Add a separate application focus/in notification out from Window focus notification. Make dialogs exclusive by default, fixes #37732 Ensure embedded mode works again Fix doubleclick on tree item, restore input focus on previous windows. Add ability to clamp embedded subwindows to parent, fixes #37792 Fix some popups menu missing screen transform. Add a focus out timeout for X11 to less events of this type are received Ensure cursor shape changes when exiting window, fixes #37724 Fix content scale mode, closes #37941 Fix fullscreen flag on Windows, closes #37588 Improve the situation of DND on X11 Change how default fonts are created, fixes #39235 Properly pass safe margin on initialization. Refactor light clustering Fixes RenderingServer crashes reported by #39951 Added volumetric fog effect. Restored fog (non volumetric). Revert "Fixes for windows in X11 tiling WMs" Re-Implement GPU particles on master. Implement manual particle emission and particle sub emitters. Implement 3D textures as import and resource format. Make EXR import format support all depths and channel configurations Implement GPU Particle Collisions Add ability to bind an unbind arguments to Callable. Refactored binding system for core types Refactor MethodBind to use variadic templates Revert "Replace SAO implementation with MSSAO" Revert "Cause buffer_update to emit error if called during compute/draw list" Revert "Synchronization validation fix patch set 3 (inclusive of all previous patches)" Revert "Revert "Synchronization validation fix patch set 3 (inclusive of all previous patches)"" Fix invalid buffer updates in SDFGI Refactored 2D shader and lighting system Implement CanvasGroup and CanvasItem clipping Update scene/resources/dynamic_font.cpp Refactor pixel snapping. Implement DirectionalLight2D Refactored Variant Operators. Refactored variant setters/getters Reorganized core/ directory, it was too fatty already Refactored variant constructor logic Make sure operators appear in the docs too Change how no-arg constructor is handled internally in Variant. Create Variant built-in functions. Refactor variant built-in methods yet again. Implement signed distance fields for 2D shaders Refactored Mesh internals and formats. Reorganize rendering server. RenderingServer reorganization Add support for low-end 3D rendering. Rework Mesh handling on scene importing. Reimplement skeletons and blend shapes Implement automatic LOD (Level of Detail) Improved shadow rendering efficiency Turn off robust buffer access by default. Fix error spam on wrong attachment Add a Dynamic BVH implementation. Add a paged array template Replace Octree by DynamicBVH in cull code Bind viewport measure functions Add API to get frame setup time on CPU Cull fixes and optimizations Use page allocator for BVH Rewrite culling to be more cache/thread friendly. Reorganize renderer code. Rewrite render code to be more cache and thread friendly. Threaded optimizations to cull and render Change the light attenuation formulas. Added ability to visualize native shaders Shader optimizations to reduce VGPR usage and increase occupancy Added GPU based cluster builder Several GI related optimizations and fixes Shadow map rendering optimization Implement shadow meshes Reorganize RenderingDevice barriers Rewrote how barriers work for faster rendering Fixes to get Godot running again on Intel IGP Added temporal reprojection to Volumetric Fog Simplify Volumetric Fog Fix SDFGI bug after previous optimization. Fixed a SDFGI reflections bug in Radeon Improve SDFGI indirect light feedback loop Make Servers truly Thread Safe Removed _change_notify Improve resource load cache Improved Inspector Sub-Resource Editing Add ability to change Icon Saturation Fix LineEdit minimum width Fix editor always redrawing Reorganize Project Settings Refactor Process Mode Add preview Sun and Environment Added Import Defaults Editor in Project Settings Add static method support to core Variant types Improved 3D Scene Importer Add a "keep" import mode to keep files as-is and export them. Remove FileSystem dock errors on unimported files Optimize image channel detection Add marshalling to PackedByteArray Refactor GLSL shader compilation Split particle shader entry points Use multiple threads to import. Implement Particle Trails Add RPC to Callable Fixes missng 2D engine bits Support for 2D particles to collide against SDF Implement shader caching Use bold fonts in editor Add API for registering native extensions Rename GI Classes Refactor CommandQueueMT Fix tangent importing Fix VoxelGI (works again). Make shader compiler again after roughness limiter fix Refactor VisibilityNotifier Refactor VisibilityNotifier3D Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD Implement animation slice drawing in CanvasItem Make some variant internal functions public. Implement Framebuffer Subpass support Implement native extension system Fix Context Validation Layer Errors Fix non uniform scaling in 3D objects Improve RID_Owner memory usage Fixes to 2D viewport Fix editor suffixes and degrees conversion Deprecate ImmediateGeometry Import mesh colors in 8BPP. Clean up RenderingServer and its bindings Force String as Dictionary key instead of StringName Fix surface from array creation Add compatibility with old mesh formats Fix Render Info Implement Curve3Texture Fix render debug modes. Fix Boot Splash Fix SDFGI Fix SSR Clean up Tree Fix Subsurface Scattering Unify material parameter update Fix Command Queue Crash Fix threaded update for textures Fix material invalidation on reimport. Redo how instance bindings work Implement Range Iterators Implement Specialization Constants Use specialization constants in clustered renderer Implement the ability to disable classes Addes ability to load build sources from file. Add ability to set object instance binding on creation Fixes to forward mobile Create many types of popups on demand Fix duplicate selection in SceneTree Optimize StringName usage Implement more rendering options as specialization constants Adds ability to debug stringnames Make Sky initialize shaders only once Implement textual ext/subresource IDs. Implement Resource UIDs Implement Binary Shader Compilation Fix directional shadow bias Fixes and optimizations to mobile renderer More optimizations on the mobile renderer. Fixes to mobile renderer More fixes to mobile renderer Implement Extension Loader Revert "Add Node processing and physics processing cumulative (as opposed to delta) time" Replace BIND_VMETHOD by new GDVIRTUAL syntax Fix doctool merges when method signatures don't match Entirely removes BIND_VMETHOD in favor of GDVIRTUAL Implement NativeExtension pointer arguments Expose RID creation utilities. Implement error return documetation Add ability to register singletons from engine API Revert "Display a matrix for Node2D and don't display a duplicate origin" Revert " Improve collision generation usability in the new 3D scene import workflow." Remove ClippedCamera3D Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" Remove animation 3D transform track, replace by loc/rot/scale tracks. Remove REST transform influence in skeleton bones Implement import actions for pos/rot/scale animation tracks Add scene Post-Import Plugin support. Implement Animation Blend Shape Tracks Implement Animation Compression Refactored Node3D rotation modes Add path to functions that return iporter options Generate editor docs on a thread WIP New GLES3 Shader Compiler Add a signal to notify when children nodes enter or exit tree Remove RID_Owner.get_rid_by_index Fix integer vector mul/div operators and bindings. Clarify SNAME usage Fix BLEND_SHAPE_MASK Fix Variant Ref<> assignment. Fix resource reuse in binary loader Add Particle Shader Userdata Rename StreamTexture* to CompressedTexture* Add a UniformSet cache Remove VARIANT_ARG* macros Discern between virtual and abstract class bindings Create GDExtension clases for PhysicsServer3D Add static method support to ClassDB Refactor Object metadata Add GDExtension support to Script Revert "Sort autocomplete/code completion options in a better way" Add PortableCompressedTexture Add Blender install autodetection and configuration. Implement Animation Libraries Import scenes as AnimationLibrary Implement Scene Unique Nodes Implement placeholder assets Implement missing Node & Resource placeholders Refactor module initialization Add a new HashMap implementation Replace most uses of Map by HashMap Implement read-only dictionaries. Add a new HashSet template Add callable_mp_static Improve MultiplayerSynchronizer editor usability Reorganize Region Rect Editor Improve StyleBox preview Redo the shader editor Change Server initialization order Clean up Hash Functions Revert "Disable VRAM compression by default for small textures in Detect 3D" Implement Running Godot as Movie Writer Remake resource thread safety and API Add surface indices to TriangleMesh Fix animation reset on save Fix editor-only visibility for lights Respect disabled animation tracks Implement varargs in Methodinfo Simplify Subresource Saving Revert "Refactored `rotation_mode` in Node3D" Add ability to export Node pointers as NodePaths Fix VECTOR/LOCAL transitions in Node3D Implement a BitField hint Implement Feature Build Profiles Implement a Worker ThreadPool Clean up Shader Preprocessor Implement BPM support Implement Vector4, Vector4i, Projection Remove ThreadWorkPool, replace by WorkerThreadPool Remove Signal connect binds Add support for command-line user arguments. Clean-up array editing Add a Framebuffer cache Add Startup benchmarking support Add support for scene/resource customization in export plugins Treat JSON as resource files. Optimize Convex Collision Add a dialog for customizing FBX import Restore 'rotation_degrees' properties. Implement basic ASTC support Optimizations for GDScript VM Prevent recursion in inspector resource assignment. Unbind Variant methods that change immutable types. Allow binding Callable arguments from an array Error when removing a phycics node during a physics callback Use BitField<> hint for ArrayFormat Use BitField<> in core type masks Properly report Callable bound arguments Removed unused property hints and `Object::get_translatable_strings()` Ability to change a resource UID from API Fix Callable call error reporting. Add SceneTree.unload_current_scene() Change set_drag_forwarding() to use callables. Text resource loader fixes Prevent opening Windows console files Fix recursive resource inclusion check Fix TAB key usage in EditorSpinSlider (and hence inpector). Refactor ProjectSetting overrides Button shortcuts no longer "press" the Button. Support metadata in MultiNodeEdit Fixes to JSON as resource Fix cases of broken user:// paths. Clean up EditorFileSystem script parsing Further fixes to global script class parsing Implement a quick script inheritance check Fix AltGR getting stuck on Windows right alt-tab Fix constant editor redraw after shortcut Clean up shader parameter remap Support script global resource name in EditorFileSystem Disable OGG and MP3 looping by default on import Add AudioStreamPolyphonic to make it easier to play polyphonic sound from code Simplify AudioStreamPolyphonic Refactor high quality texture import Restore script class cache if removed Fix global script class parsing. Support reimport appending Prevent recursive importing (hack) Fix shader parameter assign Juan Velandia (2): Connect signal animation_removed to its proper method Add animation slices for individual animations Julian Adamse (1): Fix the volume calculation for cylinders Julian Mills (2): Fix blank command prompts spawning Fix script editor opening when external editor is configured Julien Nguyen (16): Fix GDScript variables addresses getting mixed Fix infinite loop when guessing argument type from parent class Fix stack overflow in setter Fix type argument in is_builtin which was treated as an address Fix PackedFloat32Array get index not working Fix corrupt scene when export var has setter Fix temporary value not released when used as a dictionary key Fix "super" call when having at least one argument Fix 'in' operator to check if an object member exists Fix crash when writing $. in the editor Fix instantiate line class Fix action_get_events returning booleans instead of InputKey entries Fix infinite loop when creating a newly inherited GdScript file Fix assignment with operator on type member Fix extends with relative path to parent script Fix create physical bone when up vector is collinear to child rest origin Julien Reichardt (2): Add PS3 controller guide button Fix Standard Gamepad Mapping triggers Jummit (18): add root_node as property of MultiplayerAPI fix missing "s" in Viewport docs expose edit_selected in Tree Refactor GraphEdit connections Make GraphEdit connections consistent on zoom Fix GraphEdit connection colors clarify what duplicate does and its limitations Highlight hovered inspector categories Show correct debug tooltips for existing variables Add project setting to change scene file casing Use % when dropping unique scene nodes into script Keep Perspective menu open on selection Optimize and fix the scene unique name icon Remove outdated assert example Fix crash when listing files in nonexistent directory Expose TreeItem::set_button_color Allow drag-clicking before symbol lookup Support signals and callables in exposed dictionaries Jun Kajii (1): New icons for ParallaxBackground & ParallaxLayer Just (1): Fix typo in build configuration file type desc Justin Ho (1): Check for null pointer in get_column_width(0) Justin Lee (1): doc: Improve distance_fade documentation Jóhannes Gunnar Þorsteinsson (1): Independent spinbox arrow step precision K. S. Ernest (iFire) Lee (92): Don't flip screenshot. Custom Skeleton3DEditorPlugin Allow gltf2 morph targets with no default values. Changes for bug 38751 Port Basis tests to use doctest. Use the vertex colors by default in gltf. Better non alphanumeric bone names. Changes for 43094 mingw llvm build error. Restore screenshot button. Add exporting glTF2. Update FBX because of changes in the core api. Expose gltf2 eight weights. Meshoptimizer update library Scale error in mesh optimizer so it uses absolute scale. Restore gltf node animation export. Expand bone name possibilities. Always have a name for gltf2 mesh, material and skins. Update Skeleton3D inspector Bone Transforms Add `etcpak` library for faster ETC/ETC2/S3TC imports. Export gltf2 normal textures correctly. When one invalid image fails, it should only fail that single image. Update with experimental mesh optimizer. Fix 8 bone weights in glTF2 ERR_FAIL_NULL check file access Fix for LOD is broken 49706 Make curve interpolate crash less. Protocol shadows a variable. Enum constant in boolean context Remove singleton variable shadowing. Network port comparison is always false In glTF2 animations, log spam less when running. Bake RESET animation. glTF2 fallback load PNG and JPG Reset baking should not spam on lack of animation players. Make animation reset do less spam. Continue when glTF2 lights fail to parse. Calculate proper animation length. Remove packed scene gltf Resolve problem with missing meshes. GLTF for game templates. Enable GLTFDocumentExtensionConvertImporterMesh only in games. Error check GLTFDocumentExtensionConvertImporterMesh::import_post. Restore gltf animation export after split. Fix specific warnings issues by Clang Avoid crash in scene importer when the mesh is empty. Default to 30 animation fps for better quality. Add import glb from buffer options dict is now passed to _import_scene. Skip Draco-compressed glTF 3d format files. Expose add_named_bind for all essential skin bindings. Use ThorVG instead of NanoSVG for importing SVGs Make add_importer and add_post_importer_plugin override existing importers. GDScript cache crashfix. Faster CVTT by reducing quality. Allow automatic lod when importing 3D scenes with Static Lightmaps Restore building web platform by enclosing resolve_function_signature. Avoid gizmo crashes in cases where the points are null. ThorVG: Sync with upstream 0.8.0 Avoid roll in scene importer camera. Update basis universal to version 1.16.3. Clarify what primitives means. Set threads to be one to avoid SVG crash. Add support for importing .blend files Add fbx2gltf support for importing .fbx files Allow importing punctual lights from Blend. Add support for Blend importing of material placeholders. Discard images from gltf import for the animation library. Change skeleton modification 2d and 3d to use the array inspector. Fix editor crash in built-in help when script inheritance chain changes. Improve gltf extension GLTFDocument api. Allow picking similar colours using OKHSL. Expose XRPose's get angular velocity. Print NavMap error only once for invalid NavMesh. Mend crash importing a scene with static lightmaps. For in-engine processing allow saving openexr to a buffer. Restore the openexr grayscale property. Add a const call mode to Object, Variant and Script. Mend duplicate nodes in the gltf export. Avoid crash when when the editor_property_map is empty. Mend the non-matching okhsl colors. Add GLTFDocument documentation. Avoid the Skeleton3DGizmoPlugin crash when clicking in the editor. Cache materials in gltf as the abstract class of Material Update graph_edit.cpp to automatically arrange nodes if nothing is selected. Fixes to ESCN importer Add ASTC compression and decompression with Arm astcenc. Fixes cases where the runtime ResourceLoader cannot load gltf images. Handle gltf binary Fixed a few godot engine 4 warnings on clang with Opengl and Windows apis. gltf: Avoid using base64 hash as an image filename Fixes for gltf export. For basisu avoid inserting to the image array twice. Fix basisu mipmaps Kabiir (2): Fixing Inspector Property UI for GPUParticle2D collision_base_size[Issue#71942] Fix description and argument name in Control._has_point Kamay Xutax (1): Fix for ImageTexture imported Kanabenki (3): Check default project and autoscan directories exist on project manager startup Snap VisualScript comment to grid when resizing Update ColorPicker controls when entering tree Karmavil (1): Add descriptions to operators Kasper Sauramo (1): add explicit editor save tagging when saving Kayomn (2): Accomodate blend shape ranges of -1 to +1 Fix math error in blend shape application tolerance Keegan Owsley (1): Wrap angles to (-pi, pi) in momentum calculation. Kemikal1 (1): Change the unreacheable return value of shape_find_owner() Ken Paulson (1): Update documentation for TextServer.format_number() when language parameter is omitted. Kerrad Yanis (1): Fix 3D Onion skinning missing Kevin Fischer (2): Added icons and API for indeterminate checkmarks for the Tree class. Addded methods to propagate checks & refactored classes to use new methods. Kevin Sanders (1): Grammar fix. Kevin Smith (2): Make ColorPicker button text and tooltips appear in exported projects Use bigobj for release MSVC builds KingCakeTheFruity (1): Added p_shape check to avoid engine crush Kiri Jolly (3): Othographic camera in-editor now uses Z near/far settings instead of a hardcoded value Fixed unbounded dual-paraboloid shadow map culling. Fixed false positives in the culling system. Kirill (1): Stretch image on resize in asset description dialog Kirill Diduk (2): Explicitly convert signed to unsigned value #52491 Cosmetic: fix type cast and add comment with the algorithm source Koala (1): Fix indent left line selection Kodi (3): Fix typo in CUSTOM_IRRADIANCE calculations add input validation for set_modification_count add missing emit_changed() to set update mode function Kongfa Waroros (18): Refresh TextLine buffer when moving tab Improve Texture3D and TextureArray icons New icons for Gradient and GradientTexture resources Fix crash on FileSystemDock's tree when trying to collapse or expand folder Blocking updating in SceneTreeEditor when editing an item Update GraphEdit when GraphNode's slot is updated Fixes function bindings Avoid signal methods in ColorPicker to access the tree when it isn't in the tree Keep Hue value when Saturation or Value is zero Check if the line pointer goes away from the image buffer's EOF in the BMP importer Add interpolation bar on each channel in ColorPicker Check if an input image wasn't Image on several functions in CameraFeed Check if _edit_set_position and _edit_set_rect was used outside an editor Check AnimationNode to update properties Add Various ColorPicker shapes Fix ColorPicker's RGB bars are show in RAW mode and other Update all AnimationTree's editors when editing Fix crashing when editing the `TileSet` field Koyper (2): Renamed RTL remove_line() to remove_paragraph(). Fixed RichTextLabel push bold/italic to correctly use bold_italic font. Krazy-J (1): Fix near one opacity in editor icons Krystof Klestil (1): Fix issues with scaling Node3Ds Kurt Lachmann (1): Use insertText from the internal autocompletion Kyle (11): Refactored cpu_particles_2d.cpp _notification Method MultiplayerAPI is_network_server Fails Silently Fixes division by zero when 3d body does not have valid shape Fixes ctrl-click function line centering Fixes project manager window size scaling Fix gdnative config file set as null Add ctrl+shift+a to instance scene in scenetree dock Fixed cut/copy/paste visibility Remove extra separator Wrote JNISinglton docs Remove unused bindings in ProjectManager LATRio (4): Use Callable in Thread::start fix out of bounds crash in GPUParticle3D::_skinning_changed() validate 'shortcut' in InputEventShortcut InputEventJoypadMotion::set_axis - reject invalid axis Laelaps9 (1): Fix area_shape_exited's description Lamia (4): LSP: Sanitizes protocol URI `file:///c%3A` in file path Fixes #63205. fix: modifies workspace->root_uri so that p_uri is symmetrical to other operating systems. #63388 fix: add uri_decode to root_uri #63388 particles: add amount property to sub property collision. Larry Tran (1): Remove unnecessary string replacement LeaoLuciano (2): LinkButton's text now is automatically translated Fix memory leak in RichTextLabel.remove_line Leleat (4): fixed PopupMenus letterjumping on any InputEvent striped edges on node rename in SceneTreeDock creater user-dir, if non-existant and pressing 'Open Project Data Folder' add description for ScriptEditor.open_script_create_dialog() Lennard (1): Renamed InputMap.get_action_list to InputMap.get_action_events Lenny Critchley (1): Check for valid stack in set_bone_index Leonardo Christino (2): Make GraphNode handle children with EXPAND flag Separate underscore from grapheme punctuation to enable doubleclick and caret jump over snakecase variables in editor Leonardo Santagada (1): Mention an issue with infinite scroll on mirroring of Parallax layer Lerg (1): Fix documentation for C# Vector2/3i classes. Lertsenem (1): Fix error in Vector2.reflect() description Levi Lindsey (1): Update File.store_var description to mention which properties of an object are included. Lewis James (1): Add editor keyboard shortcut for Mono Build solution button Lewis Pollard (1): Fix is_playing() method in AnimatedSprite3D Life4gal (1): Fix using Resource objects as keys in the `tres` format Lightning_A (1): Remove current export template version from "Installed Versions" Lily Garcia (3): Fix global uniforms parsed as instance uniform Check if VRS is supported on creating VRS object Implement collision impulse in Godot Physics 3D LinuxUserGD (1): fix 'Comparison result is always the same' warnings Lisandro Lorea (3): Fix TabContainer emitting spurious tab_selected signals when a theme is changed Give example of one-liner for Array natural sort Fix "texture not initialized" error preventing video from playing Liz Haas (2): DirectInput: use correct joypad id Input: Throw error if action doesn't exist LlamaLad7 (1): Editor: Resolve being able to move control nodes in containers using arrow keys Fixes #55260 Lluc Pares (1): RichTextLabel: decouple meta cursor from underline Logan Lang (1): enabled ambient_light_disabled render mode flag LoipesMas (4): More explicit wording for str() and print() functions Epsilon check for angular velocity in Body3DSW Add note about batching to Line2D's anti-aliasing Fix zoom label not being updated Lorenz Junglas (4): Remove ArrayMesh::surface_remove declaration C# GodotTools: Replace platform Identifier "OSX" with "macOS" Adressed Review Fix nanosleep usage Lorenzo Cerqua (3): DisplayServer: separate window showing into another function Remove two very slightly displaced duplicate vertices on Gobot's face Add an outlined version of logo.png and icon.png and put it in README.md Louis Dumont (1): Fixed crash when parsing an empty assignment. Lucas Laukka (1): fixed bug showing only two digits in color picker Lucas Lima (2): Optimize Android export process Revert change Lucas Van Mol (1): Fix highlight color for class attributes that are also keywords Lucy (2): Allow for platform Thread implementation override Fix Platform Thread Override Luis Lopez (1): Add rotation smoothing to Camera2D Luis Sanchez (1): Fix files_dropped in HTML5 export. (Ignore trailing slash when creating the temporary directory) Luke Costello (1): Visual Shader Parenthesis fix Luke Hubmayer-Werner (1): Documentation: Correct CanvasItem.draw_string position description. Also add height warnings to Font.get_char_size and Font.get_string_size Lunadin (1): Docs: Improved wording and added links Lunatoid (3): Gives the theme editor a horizontal scrollbar Fixed ParseError when calling Object.new() Fixes DefaultProjectIcon scaling with editor scale Lyubomir Vasilev (1): Add 'use_static_cpp' option for MinGW and MSVC builds Lyuma (55): GDScript: Fix crash caused by inconsistent get_member Fix regression in FBX import caused by Skeleton3D Fix ATTENUATION and implement SHADOW_ATTENUATION. core/command_queue_mt: Customizable size and tests core/command_queue_mt: Fix crash/hang when buffer fills up Allow renaming bones and blendshapes. Avoid reentrant OBJTYPE_RLOCK in ClassDB Fix crash when iterating through empty dictionary. Fix mistake in GLTFMesh.mesh property Fix blendshapes and calculation of bone_aabbs Add AudioEffectCapture Fix mismatched define in scene_forward.glsl for POSITION override Fix crash on importing empty .fbx file Fix incorrect skin deduplication when using named binds gltf: Fail gracefully when a mesh instance fails. gltf: Fix mesh nodes which are also bones. Fix regression from 160c260 causing export of non-@export properties. Consider a thread done if current_work is null Remove thread-unsafe and unused late_added_files. Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x Implement set_surface_material and set_surface_name methods in EditorSceneImporterMesh, and add documentation. Make Node editable_instance methods available to GDScript Use OrderedHashMap for autoloads to preserve order 8 uvs for glTF2, URI decode and Vertex Custom api. gltf export: Fix export of skeletons, skins and blend shapes. collada: fix error in use of fix_transform. gltf: Fix validation errors due to chunk padding and empty skins. Mitigate crash in AudioStreamPlayer3D when a camera has null viewport Fix off by one in Viewport.render_target_update_mode property enum Fix crash due to reentrancy in AudioStreamPlayer* finished signal. glTF: Fix override materials and non-empty arrays Fix import_scene_from_other_importer and import_animation_from_other_importer Pad etcpak input to 4x4 blocks. Fixes #49981 etcpak: Workaround multiple-of-4 requirement for 3D texture mipmaps. glTF export for new TYPE_BLEND_SHAPE tracks Keep editor at normal priority on windows. Bind EditorFileSystem::reimport_files and improve docs Add StreamPeerSSL.get_stream() accessor. Only call _update_panning during _physics_process. `SurfaceTool.set_custom_format` Fixes and documentation. Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays. 2D and 3D Skeleton modification docs, and small fixes. Flip culling when rendering a camera with negative scale Remove SkeletonModificationStack3D, and Skeleton3D api cleanup Avoid nested skeletons, and handle skinned meshes with children. Make BoneAttachment3D and Skeleton3D names consistent. Implement custom uvs for Static Lightmap imported gltf BoneAttachment3D: Remove duplicate override_pose gltf: Add GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_UNCOMPRESSED Use reimport_append api for importing embedded gltf images StringName: fix returning dangling data from char constructor. fbx: Set base_dir correctly in append_from_scene import: Pass the correct defaults to generated collision shapes. import: Fix uv2 by avoiding premature ImporterMesh::get_mesh() basisu: Loop over the last mipmap lod M-O-Marmalade (1): AudioEffectDistorion docs & inspector edits M. Huri (3): Fixed a typo in csg module Replaced NULL with nullptr Repaired mistyped of 'threshold' on several files. MJacred (5): Document Vector4i Add class descriptions for Texture2DArray, CubemapArray and ImageTextureLayered, plus overhaul TextureLayered Document MultiMesh members and improve/extend existing descriptions Add get_distribution_name() and get_version() to OS supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Fetch video adapter driver name and version from OS on Linux/*BSD and Windows Maganty Rushyendra (31): Update Mono C# warning to reflect latest list of platforms supported Expose `get_char_size()` from Font instead of BitmapFont Fix unsigned integer bug in LocalVector::erase Clarify usage of AnimationPlayer with AnimationTree and fill in empty method descriptions Enable zero padding with float specifier for format strings Fix signal duplication bug when duplicating node with instanced children Account for file deletion and renaming in Export Presets Enable Unicode support for RegEx class Fix whole word search slowdown in editor Fix RegEx example in class doc and correct typo Fix match count for whole word search in editor Fix code editor Replace tool to work with 'Selection Only' option Fix editor texture preview for certain specific dimensions Fix upscaling image with bilinear interpolation option specified Fix overwrite of manual changes in export_presets.cfg when export dialog is opened Enable finer grained control when creating polygon with UV Editor Fix accidental duplication of Polygon2D start point Fix undo/redo for bone painting in Polygon2D UV Editor Fix weekday calculation in get_datetime_from_unix_time for negative times Fix overflow and underflow checks for string conversion to int Fix natural sort comparison for strings with large numbers Fix repeated updates of PathFollow3D Transform Emit signals for GraphEdit multi-node selection and unselection Updated cursor positioning description for File open() Fix tile placement preview for rotated, skewed or scaled TileMaps Allow ScrollBar params of a ScrollContainer to be modified in _ready() Issue more precise error when disconnecting a nonexistent connection Specify order of drawing of Nodes in raise() description Explain A Star pathfinding algorithm cost calcuation Ensures that export path is used when exporting PCK/ZIP Fix AudioServer Crash when bus count equals 0 Magian (9): C# Array Export Support Enum(String) check that the element type is indeed String C#, replace the current Xform method with a * operator. C# Generate StringName(SnakeName) for all class members C# Modify the MemberName generated for the user script C#: inheritdoc the "///" comment from EventHandler to the generated event TileMap mouse right can delete autotile C#: Fix Generated ScriptProperty Error. 1. Add "this." to prevent errors caused by duplicate variable names. 2. Try to find the default value of property getters. C# Improve the "Tag" conversion of documents Mai Lavelle (7): Fix xform_inv of Plane, intermediate results were ignored Fix input methods returning zero strength when pressed status not requested Improve detection of gamepads on Linux Fix deleting of directories on Linux Fix blending with negative blend weights Fix crash on touch release Fix loading of binary resources with typed arrays Malcolm Nixon (5): Modified the mobile renderer to apply the sky_transform operations in the same order as the forward_plus renderer. Invalidate the previous index array after calling glBindVertexArray, as this call clears the GL_ELEMEMT_ARRAY_BUFFER when changing the state. Remove unnecessary bail-out if shape A is concave. The test for A being concave is already performed later. Modified the collision_sphere_capsule function to only test the one "correct" axis which corresponds to the correct collision normal. Micro-optimizations of the GodotConvexPolygonShape3D::get_support function. Specifically this uses pointer-array-dereference rather than LocalVector dereference as this performs range-checking on known-good indexes. Manolis Papadeas (3): Add a test suite for the Image class Fix link to the supported image formats in the Image class Expose BitMap's `convert_to_image` and `resize` methods to GDScript Mansur Isaev (2): Add method bind for `Geometry2D.decompose_polygon_in_convex` Add `area_get_collision_layer` and `area_get_collision_mask` Manuel Dun (5): Conversion now includes "Local to scene" flag and name radial fog fix fix so the error macro uses the incomming parameter p_subdivision instead of the class member Added error macro to ensure non null parameter fix error dialog from appearing after loading material res Manuel Moos (2): Remove redundant thread sync counter draw_pending Fix negative delta arguments Manuele Finocchiaro (1): Compile bullet with threasafe switch on Marc Garcia Puig (1): Fixed ctrl + backspace on empty lines Marc Gilleron (29): Don't crash when texture param is null Fix crash if font fails loading when generating a preview Added resource path to message about old mesh format conversion Remove unused `inherits_static` from GDCLASS Added key name to error message about key not being valid Fix loading of binary resources with 64-bit floats Add missing flag when encode_variant writes math types with doubles Initialize pointer variables to fix random crash on startup. Fix GraphNode not resizing with larger title Fix loading binary resources with float=64 Changed print_line macro to a function Indicate Plane.distance_to returns a signed distance Initialize default values for viewports in rendering server. Allow shading language to use `switch` statement with uints Make GraphNode::_validate_property protected so GraphNode can be inherited. Use `Vector2i` when returning atlas size in `Geometry2D::make_atlas` Expose `EditorProperty._set_read_only` virtual method Expose `NOTIFICATION_LOCAL_TRANSFORM_CHANGED` Expose ProjectSettings.set_restart_if_changed(name, restart) Expose `EditorInspector.get_selected_path` Change return type of `get_configuration_warnings` to `PackedStringArray` Rename and expose `RefCounted::get_reference_count()` Expose `PROPERTY_USAGE_READ_ONLY` Undo #51969, generate_mipmaps runs on caller thread. Fix case where mutex is never unlocked Rename queue_delete => queue_free Fix usages of mesh simplification functions in float=64 builds Allow selecting text in shader compilation logs Change `_can_handle` and `_edit` virtual methods to take `Object*` Marcel Admiraal (292): Fix Visual Studio throwing C4996 warning in ustring.cpp. Clean up error_macros.h Remove duplicate ERR_PRINT macro. Remove duplicate WARN_PRINT macro. Add do..while(0) wrappers to macros without one. Remove trailing semicolons from do..while wrappers. Apply macro documentation from #35521. Remove do{ } while(0) wrapper around error macros. Refactor List operator[] to prevent compiler warnings. Refactor image_saver_tinyexr.cpp to prevent compiler warnings. Fix assign instead of comparison in image_save_tinyexr.cpp. Fix VisualServer bindings. Fix VisualStudio throwing multiple C4996 warnings in vulkan_context.cpp. Update .appveyor.yml. Fix multiple issues with CSG module. Fix CSG vertex normal calculation. Fix Android export throwing Unicode errors. Enable Bullet DEBUG on debug builds. Fix Engine get_target_fps() returning float instead of int. Fix loss of precision in X11 device info. Fix X11 pressure and tilt values. Assign zero to range when ConvexPolygonShape2D is empty. Remove unnecessary check for zero determinant in Basis::orthonormalize(). Run SpringArm3D's process within physics. Correct the addition of a key and the duplication of a variable name in Dictionary class documentation. Fix array slicing. Check for empty vectors before trying to access a pointer to the first element in Octree::cull_convex(). Fix scale calculation in VHACD Volume::Voxelize(). Make 2D and 3D KinematicBody stop_on_slope documentation the same. Prevent CapsuleShape2D height from being less than zero. Fix 'physicsw' may be used uninitialized warning in csg_shape.cpp Silence EQ::Band::c1, c2 and c3 may be used uninitialized warnings. Make it clear that PhysicsDirectSpaceState is only available from within _physics_process(). Parse SDL game controller half axis and inverted axis entries. Update game controller enums. Implement half axis and inverted axis mapping. Silence 'w' may be used uninitialized in image.cpp warning. Silence mulitple may be used uninitialized warnings in RenderingDeviceVulkan::uniform_set_create() Fix #include for case-senstive cross-compilation. Update r128.h to include latest fix for mingw-64 32 bit builds. Fix may be used unitialized warnings in _render_pass_create() and _draw_list_insert_clear_region() Update Windows GUID to SDL uid conversion. Correct Bullet's default Area angular damp value. Do not probe joypads if DirectInput cannot be initialized. Activate emscripten with no-embedded option. Add dinput nullptr checks. Update OSX GUID to SDL uid conversion. Correct misspellings of damped spring. Test collision mask before creating constraint pair in Godot physics broadphase 2D and 3D. Update Rigidbody 2D and 3D sleep documentation. Ensure pair callback data is set to null when it's null. Add Code::Blocks files to .gitignore. Normalise p_up_direction vector in move_and_slide() and move_and_slide_with_snap() and fix tolerance in move_and_slide_with_snap() max floor angle. Check if point's index exists before adding it to the list of points that need to split faces when avoiding creating degenerate faces while merging CSG faces. Check for motion in cast_motion() before doing Bullet convexSweepTest(). Trigger broadphase update when changing collision layer/mask, and check for collision layer/mask changes in 2D hash grid broadphase update. Create degenerate triangles when inserting an edge into a CSG face. They will be deleted when the faces are merged, but their edges are needed for merging faces. Use is_equal_approx() instead of vertex_snap when checking if ray is colliding with equiplanar CSG faces. Call CRASH_COND_MSG if key not found in HashMap get function. Remove elements from monitored_bodies and monitored_areas as they are processed before calling the callback, instead of after they have all been processed, because the callbacks may readd them. Clear a Bullet Area's overlappingObjects vector when removing an area from a space. Move Bullet physics query flush from Bullet space pre-tick callback to Bullet physics flush_queries() as is done in Godot physics, and remove the pre-tick callback. Add override keywords. Add missing overrides to visual_shader_nodes.h Set isScratchedSpaceOverrideModificator to false when removing a RigidBodyBullet from a space. Use difference in position to check whether motion in Bullet is too close to zero. Update Linux gamepad detection to match SDL. Ensure Bullet HeightMapShape3D data width and depth are at least 2. Clarify the difference between contacts and collisions. Ensure CSG parent's _make_dirty() is called when entering a tree. Reload Bullet space override modifier even when RigidBody is inactive. Mark the first shape as inside, not the second shape, when CSG shapes are co-planer. Don't attempt to insert points into degenerate triangles. Fix new black style check failures in various files. Check and correct for zero scaling when unscaling Bullet basis. Ensure node's area tree signals are disconnected when clearing monitoring, even if nodes are no longer in the tree. Merge python EnvironmentError, IOError and WindowsError into OSError. Ensure header guards enclose entire header. Create a basic .lgtm.yml file. Ensure assignment operators return by reference to avoid unnecessary copies. Replace calls to gmtime with gmtime_r and localtime with localtime_r. Make PosVertex to Vertex slicing explicit. Fix header guards in modules: - Add missing header guards to various modules' register_types.h - Add header guard to basis_universal/texture_basisu.h. - Ensure header guard encloses entire header in webrtc/webrtc_data_channel_js.h. Use != 0 instead of > 0 when checking bit mask. Clarify comparison precedence when enabling or disabling back buffer. Check if old mouse column is still available. Initialise Basis elements with a default Basis in the declaration. Ensures a valid Basis is created with all constructors. Explicitly add implicitly added semicolons. Remove unused variable in fixed-size.html. Remove duplicate or unnecessary Python definitions. Remove unused Python imports. Remove bit fields and use fixed width integers instead. Remove unused Python local variables. Add missing reference to const T Vector::get(). Fix RigidBodyBullet areasWhereIam element shift. Remove the unnecessary sync() and the restrictions it imposes on 3D Physics. Increment index when populating PhysicsShapeQueryParameters exclude array. Trigger RigidBodyBullet space override updates when Area properties change. Check entire basis column for zero size when unscaling Bullet basis. Remove area or body from map before emitting signals. Remove reference to 3D shapes in RigidBody2D.xml contacts description. Fix how Line2D obtains the other object's supports Initialise Bullet RigidBody friction to the expected value of 1.0 Update Bullet Area overlaps when Area properties or shapes change. Reapply -Avoid adding margin twice along capsule Y axis Ensure grid index is valid before trying to change value. Remove old RigidBody layers property and methods. Update intersect_point documentation to mention solid shapes. Set Bullet collision shape index to zero when using a single shape or ConcavePolygonShape3D. Provide support for buttons and D-pads mapped to half axes, and fix axes mapped to buttons and D-pads. Apply upstream gamecontrollerdb patch 391. Remove unneeded filter on joy_axis() Use LONG instead of DWORD (unsigned int) when interacting with DIJOFS constants. Add missing javascript semi-colons. Fix godot_js_websocket_send function unused assignment. Update joy button and stick names, enums and documentation Fix useless assignement in webrtc/library_godot_webrtc.js Check joint nodes and generate configuration warning messages. Remove any constraints connected to a Bullet body when removing it Fix cast_motion sometimes failing Remove RigidBody weight property Ignore hint entries in game controller mapping Rename CubeMesh BoxMesh Rename Vector2.tangent() to Vector2.orthogonal() Remove ChainTip copy constructor Fix inconsistent Joint3DSW copy constructor and assignment declarations Rename XRController signal button_release to button_released Rename Tabs close and hover signals to tab_closed and tab_hovered Use rectangle size instead of extents for Shape dimensions Use box size instead of extents for Shape dimensions Use Vector3 instead of 3 floats for CSGBox3D dimensions Rename CanvasItem's hide signal to hidden Rename Area3D audio_bus_name getter and setter Rename TrackerHand enums Rename Viewport::ClearMode::CLEAR_MODE_ONLY_NEXT_FRAME to CLEAR_MODE_ONCE Don't handle BaseException in build scripts Rename Animation::track_remove_key_at_position to track_remove_key_at_time Rename AcceptDialog get_ok() to get_ok_button() Remove Generic6DOFJoint precision property Fix named anonymous struct warning Remove OS::can_draw() remnants Add override keywords to core/os.h derived classes. Add missing override keywords in os_windows.h Rename Rect2 and Rect2i clip() to intersection() Rename EditorInterface get_editor_viewport to get_editor_main_control Rename Camera3D near and far getters and setters Rename XRPositionalTracker methods Ensure default value in _render_shadow is the same as parent Rename unselect to deselect Rename MainLoop methods to match Node methods Rename Control margin to offset Rename Control rotation to rotation_degrees Ensure flags are applied to CVTT options Fix ETC quality setting Remove all elements from monitored_bodies and monitored_areas when processed Update GraphEdit connection to reflect new signal name Ignore Bullet collision contact points with distance = 0 Rename empty() to is_empty() Rename Camera2D offset_h and offset_v properties Rename Rect2 and Rect2i grow_margin() to grow_side() Rename Math::stepify to snapped Fix GLTF after camera near and far rename merge Consistently use normal_map Add signal to inform joint that body has exited tree Fix multiple issues with one-way collisions Split OS::execute into two methods Update area-body_shape_entered-exited signal documentation. Rename the final parameter of area_shape_entered-exited local_shape. Update COPYRIGHT.txt to reflect recent file location and name changes, and a few other minor corrections. Update Mono module to use new execute method. Raise SIGKILL instead of CRASH_NOW in child process when fork fails Only remove Bullet's body constraints when removing body from space Fix not clearing a Joint3D with only a B node when removing the B node Change themes *_color_* to *_*_color Remove Quat set methods in favour of constructors Don't handle BaseException in JavaScript build script Add support for new SDL gamecontroller keywords. Remove unused variables from full-size.html Add missing semicolons to webxr.eterns.js Return RID instead of Object id in area-body_shape_entered-exited signals. Apply infinite inertia checks to Godot physics 3D Rename Sprite.region_enabled getter and setter to match properties Rename PHashTranslation to OptimizedTranslation Rename Array.invert() to Array.reverse() Rename Texture.get_data() to get_image() Ensure ConvexPolygonShape support count variable is initialised Ensure ConvexPolygonShape3D support count variable is initialised Check for the use of an empty shape in Bullet Kinematic collisions Check ConvexPolygonShape2D point count before calcuating moment of inertia Check for empty ConcavePolygonShape2D before checking for intersection Rename LineEdit caret_* properties getters and setters to match property Avoid creating joy_names map entries when using Map operator[] Move collision layer and mask into CollisionObject. Fix empty CSGShape error Fix CSGMesh undo not refreshing gizmo Update CSGMesh3D's documentation to explain how vertex normals are used Fix documentation following implementation of particle trails Make printing of InputEvents consistent Fix InputMap.action_erase_event() failing to erase events correctly. Fix Quat includes Remove alloca from loop and use a single fixed size array declaration Unexpose methods and property for binding children to Bones Clarify documentation of Camera3D.get_camera_transform() Rename File::get_len() get_length() Update EditorResourcePreview queue_*() documentation Clarify that eof_reached() cannot be used to check if more data is available Fix UV mapping on CSGSphere Rename Node3D's property translation to position Rename Quat to Quaternion Add missing override keyword to CSharpLanguage::is_control_flow_keyword() Update Gradle archiveName and destinationDir properties Rename CollisionObject3D input_event signal position and normal parameters Don't install Android NDK in CI Remove unused AudioDriverAndroid from Android Add OS.get_external_data_dir() to get Android external directory Move default values from definition to declaration in GraphEdit Consolidate JSON, JSONParseResults and JSONParser into JSON Add adb output to error message when install fails Add GDNative libraries to Android custom Gradle builds Fix unchecked call to put() warning in GodotInputHandler.java Remove unnecessary semicolons from Android Java code Remove redundant interface modifiers from Android Java code Use Java array declarations not C-style declarations in Android Java code Remove unused imports from Android Java code Fix raw use of parameterized Class Use StringBuilder instead StringBuffer in Godot Java code Remove redundant explicit types in Godot Java code Replace single method anonymous classes with lambdas in Godot Java code Use static inner classes in Godot Java code Queue the calls to GodotLib.key when Android virtual done is pressed Remove Android onKeyMultiple override Ensure KinematicBodies only interact with other Bodies with matching mask. Fix multiple issues with CSGPolygon Use current androidx Fragment library instead of legacy libraries Update Android CI to use JDK 11. Upgrade Android Gradle to version 7.2 Remove unimplemented methods Fix Gradle builds not excluding excluded tasks Add area to moved list when changing monitorable, and only remove area from query when deleting pair if it was monitorable. Add shape data to area overlap data. Fix merge conflict between #42711 and #42374 Fix Android `get_screen_orientation()` not returning valid values Enable sorting of operator methods in class documentation. Allow any kind of Mesh to be added to an EditorNode3DGizmo Only rotate Android sensor values for sensors that need them rotated Revert "Fixed event spam when using the Nintendo Switch controller" Rename speed to velocity when it's a directional Vector Fix tablet tilt values returning bad values Rename Project Window width and height settings to match their function Set window to focused when created Check if action name exists before adding it or renaming an action to it Use mouse event relative motion to calculate mouse velocity Fix mouse velocity not changing fast enough Fix Actions mapped to triggers not using the full range Fix mouse position not being scaled when window size is changed Fix typo in gles3_builders.py Be more verbose about why msbuild tools could not be found Invert Camear2D zoom to make it intuitive Fix mouse_over not dropped when mouse leaves window Update definitions of get_mouse_position methods Remove ParallaxLayer's invalid dependence on screen_offset Rename Control's Rect properties to exclude rect_ part Ensure minimum modifiers are pressed when matching actions Remove superfluous null check Remove superfluous Android InputManager interface and implementation Remove superfluous check for minimum Android SDK. Replace index iterators with for each loops. Add a method for obtaining display cutouts on Android Check for null when retrieving clip data item text on Android Fix screen_get_usable_rect returning display safe area Read and store joypad events in a separate thread on x11 platform Remove duplicate Android sensor listener registrations Only use Android fullscreen theme for splash screen Cleanup Android C++ code Ensure Android Java and Kotlin compile to the same version Ensure joystick has been added or not already removed when processing input Cleanup AudioEffectRecord thread_active variable Ensure AudioFrame variables l and r are always initialised Remove broken scroll gesture on Android Upgrade Android NDK to r23 LTS Only include editor/SCsub when building the editor: tools=yes Fix incorrect Android scancodes Fix TextEdit test dependency on SceneTree's initial process time > 0 Set initial SceneTree processes times to 0.0 Update camera position when updating camera limit When Camera2D enters tree, ensure first update is not lost Ensure changes to Camera2D's limits don't affect smoothed_camera_pos Generate error if RegEx offset is negative Add override keywords to FileAccess derived classes Add override keywords to DirAccess derived classes Fix axis mapped to DPad buttons not releasing opposite button Fix Geometry3D::get_closest_points_between_segments() returns NaN Marcelo Fernandez (1): Expose minizip API to allow creating zips using scripts Marcin Zawiejski (3): fix Vulkan project description fix crash when closing project manager fix oob write when calling MultiMesh::set_instance_transform Marco Cognetta (1): simplify randi_range Marco F (1): Input: Make `get_action_raw_strength` print error when the action doesn't exist Marcus Brummer (24): Fixed text editor drawing if smooth scrolling is disabled. Perform a clean Gradle build if android plugins changed Check if the specified Android release keystore exists Enable text selection in execute output of EditorNode Set "shader_param/" prefix in Shader::has_param() Re-apply basis of newly added node (via drag-n-drop) in editor viewport Fixed renaming/moving of nodes with exported NodePaths Added the .jks file extension as valid preset for Android keystore files Fixed exit code retrieval of spawned processes on Windows Fixed deletion of nodes with exported node paths Asset Library: Scroll up the ScrollContainer after page load Fixed Geometry2D::get_closest_points_between_segments docs Changed the rotation gizmo handle to use the active axis color Added Geometry2D unit tests Documented that mutexes are implemented recursively Document different unit of measurement for sensor data on iOS and Android Converted sensor acceleration units to m/s^2 on iOS and UWP Fixed build with SCRIPT_AES256_ENCRYPTION_KEY set Properly finishes Godot's Android activity when destroyed by the system Check if vibration duration is > 0 on Android Improved region-select in the 3D editor viewport Fixed issues with 3D region-select in the editor Deselect nodes in the 3D editor when pressing ESC Always show caret when moving in LineEdit Marcus Elg (19): Added movement handles to 2D Added options to disable movement/scaling handles in 2D Changed transformation handles y arrow to match positive y Made snap relative work on rotation as well Relative scale snapping 2D Rename Lineshapes d to distance Renamed plane's d to distance Fix fbx import assimp error Remove unused interpolate camera icon Make tilemap lines/rectangles their own tools Allow autocompletion of "noslider" in export_range Rename export_range's noslider option to no_slider Add meter suffix to ShapeCast3D margin property Add %v for formatting vectors Formatting changes to string test comments Improve string formatting for %f and %v for inf and nan Fix inconsistent audio import menu naming Show warning when having a worldboundaryshape as a child of a rigidbody Disable properties that don't have an effect in the advanced audio importer Mariano Javier Suligoy (6): Fix GdScript Analyzier not detecting Resource subclass correctly When analyzing GdScript sources, consider Enums as Dictionaries. Fixes #45558 Accept non unnamed enums as valid values for enums. Fixes #49357 GdScript: Use reduced constant expression result when doing binary operations. Fixes #50293 Avoid pushing an error because reserve is decreasing the default HasMap capacity Avoid memory corruption when GodotConvexPolygonShape3D is setup more than once Mario Liebisch (5): Increase line counter when parsing comments VS Projects: Don't include `mono_reg` without its module Allow embedded windows to be non-resizable Properly stringify args for Call Method Tracks Avoid importing MSVC obj files Marios Staikopoulos (4): Alpha Hash and Alpha2Coverage Implementation BUGFIX: Fix unintialized cursor_shape on windows display server Fix lack of ProjectManager nullptr initializations Fix Project Manager hard crashes due to invalid access to Editor Nodes Marius Hanl (22): Update project window title when a project setting was changed Update the window title when the project settings were changed or when the unsaved cache was changed (either by editing something or by saving) EditorInspectorSection is not folded when clicking under the font Queue inspector tree update when changing the theme. Rebuild search result tree when the theme is changed Added the possibility to define a default value in ProjectSettings.get_setting(), which is used when no setting is set. Do not add child twice and set initial focus Add tests for signals Fix substitute buttons were never enabled Use the vertical scrollbar when calculating the width that can be used for drawing Add initial tests for Node Added Rect (rect_) properties to the c# migration table Added more node tests Fix custom theme outline settings affects the editor theme as well Provide more information about the 'Support' filter when no result was found Grouped all 'New XXX...' operations in a 'New...' sub menu Add InputMap conversion Add more missing properties/methods to the converter. ItemList: Check if the index is out bounds before accessing the internal items Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D Improve editor layout dialog Fix rightclick on some files changes the 'New' menu entry to 'Show in File Manager' due to no fixed index for the 'New' menu Marius Seufzer (2): fix contentScaleFactor on iOS iOS: Add new model identifiers for DPI metrics Mark Kuo (2): VideoStreamGDNative: close file in cleanup VideoPlayer: fix possible race condition Mark Riedesel (13): include parent display location in popup location calculation Fix android apk contents having mtime 1 month in future Implement OS.get_window_safe_area() for Android add failure condition for get_pyramid_shape_rid() when camera3d is not in tree. fixes #53564 free dbus errors when inhibiting freedesktop screensaver (prevents small memory leak) Add check to SurfaceTool.generate_lod(); ensure target index count between 0 and source index count. Fixes #53876 fix potential memory leak of AudioStreamPlaybackBusDetails in AudioServer::start_playback_stream() add SafeList destructor which calls maybe_cleanup() to prevent mem leak PathFollow3D parallel transport frame reliability improvements Handle closed splines in Collada importer Add buffer size check to Image.load_tga_from_buffer(). Fixes #67985 Add safety check for at least 2 nodes and 1 link to GodotSoftBody3D.reoptimize_link_order() before proceeding. Fixes #61474 Make SurfaceTool.generate_normals() behave in a consistent manner in regard to smoothing groups, imply group 0 is flat Markus Grafen (1): visual instance layers are regarded during shadow culling Markus Sauermann (127): Clarify documentation and indicate that rect_clip_content affects only CanvasItem based nodes. Resolves #37683 Clarify Transform scaled Method description. Wake up RigidBody 2D after applying torque Fix Rect2i.intersects doc: include_borders is no argument of this function Fix incorrect Rect2i calculations: intersects and encloses Clarify expand documentation Fix TileMap remove_layer description Fix TileMap Display Grid fadeout Add @ to onready annotated variables in docs Adjust id creation in PopupMenu to avoid duplicate ids Update Popup and PopupMenu descriptions Connect notifications from Container to Viewport mouse enter+exit Describe usage of float in range documentation Update variable name to reflect usage Fix vertical icons in container sizing simplify calculation of max in grayscale Update doc for match: empty argument doesn't match anything Use bresenham_line() in EditorAtlasPacker::chart_pack Fix invisible CanvasItem visibility issue Reverse tangents of capsule mesh Update mouse cursor shape after changes Revert "Update mouse cursor shape after changes" Use get_cursor_shape for identifying the cursor shape in AnimationTimelineEdit Use get_cursor_shape for identifying the cursor shape in AnimationTrackEditTypeAudio Use get_cursor_shape for identifying the cursor shape in AnimationNodeStateMachineEditor Cleanup internal GUI state, if event is accepted in _input. Handle NOTIFICATION_WM_CLOSE_REQUEST in EditorSpinSlider Simplify always true conditional Rename Project setting display/window/stretch/shrink to scale Fix coordinate system for stretched viewports for subwindows. Update root order on layer change Add configuration warning for SubViewportContainer Rename warp mouse functions to warp_mouse Send Mouse Enter/Exit Notifications independently of mouse focus Send a focus-out notification when opening a Window Manager Popup Fix using Viewport::warp_mouse within Viewports basisu_uastc_enc.cpp was included twice in encoder_sources Fix event transform in SubViewportContainer Fix Control::warp_mouse to respect canvas transform Fix Drag n Drop Transform in main embedding window Fix that collision objects ignore canvas transform Fix how Root Control Node is determined Distribute remaining pixel to expanding childs of GridContainer Revert "Fix that collision objects ignore canvas transform" Add a note about collisions in different canvases. Inlcude CanvasLayer transform into calculation of Control screen position Fix cppcheck const parameters Fix that Top Level CanvasItems are unselectable in editor Update mouse cursor shape after changes Remove ERR_FAIL_COND that never happens in _draw_sky Fix creating Nodes from Recent list Calculate window input event transform only on window change Adjust SubViewportContainer event handling Fix Transform2D det == 0 spam for SubViewports Fix Control not disconnecting signal Fix execution of physics picking events Always update Viewport's last_mosue_position Fix Godot exiting with unexpected failure code Expose Viewport::get_screen_transform to GDScript Fix set_as_toplevel event propagation to child Fix Updating New Node Dialog Description of Custom Nodes Code simplifications Fix Control rect coordinate system inconsistency Remove unnecessary casts Fix differences between Windows and linuxbsd Display Server Fix event-content and mouse-signals with 3D-capture-on-drag Fix mouse offset for unfocused popups Fix mouseleave event after drag and drop in different Windows Fix Viewport root order after Node2D raise Fix unwanted popup closing by mouse-move while holding mouse-button Do not strip spaces at the end of file names of dropped files on linuxbsd Use get_cursor_shape for identifying the cursor shape in CanvasItemEditor Fix Windowfocus on resizing Code simplifications Fix SubViewport with default size being pink Allow canceling Drag and Drop with the Escape-Key Fix crash from impossible Object::cast_to Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-change Fix position and size of OptionButton PopupMenu Fix gl_manager nullptr crash Drop physics mouseover as soon as the mouse moves over a Control Remove redundant Variant-types initializations Fix unused exitcode in macos export plugin Code simplifications found by cppcheck Fix parameters for hash_murmur3_one_32 Fix CanvasTransform on RenderingServer when Viewport enters Tree Fix Viewport being visible after leaving tree Fix that the History Dock appears before other Docks in old projects Fix focus after pressing Enter in EditorSpinSlider Fix incorrect mouse event position while hovering different window Fix that mouse-button-up event is parsed twice for drag-and-drop Fix colorpicker slider bug with mouse-up outside of popup Fix Determining Window for Touchscreen Use _request_gizmo from SceneStringNames Fix missing check if shortcut event is handled for Control-nodes Include the following-viewport-transform into CanvasLayer transforms Fix closing project setting window with ESC while listening for input Add configuration warning when ButtonGroup is used with non-toggleable buttons Fix confusion about TreeItem.add_button ambiguity between id and index Fix hovering-color of MenuBar entries when reentering MenuBar Use get_cursor_shape for identifying the cursor shape in TileSetAtlasSourceEditor Calculate the mouse focus inverse transform only when needed Fix doc for position of captured mouse Fix documentation about depth and width of Height map Fix position of Tooltips Include the Window-transform into Viewport::get_final_transform Added assertion check [unittests] Send Mouse events via DisplayServer instead of push_input Prohibit inconsistent size state for SubViewport Fix physics events being interpreted twice when in canvas layer Fix stretch transform when resizing SubViewports Fix toplevel nomenclature Simplify Viewport::_set_size Remove `Viewport::_get_input_pre_xform` Fix windowsize for fullscreen windows on windowcreation on Windows Fix propagation order for 2D physics picking events Fix Screen-Transform missing in Button Size in OptionButton::show_popup Fix MOUSE_FILTER_STOP not affecting emulated mouse events Fix mouse/drag/touch InputEvents having no device id Fix Viewport::get_mouse_position for SubViewports Some code simplifications Fix mouse-button-mask on button release in unit test Remove `m_object` parameter from unit test Macros Fix Color Picking Add Unit Tests for Viewport InputEvent handling Fix that `popup_centered` didn't take the window's size into consideration Fix crash in editor when setting `SubViewport.size` to zero Remove device-id restriction from `TouchScreenButton` input events Marlin Watts-Woods (1): Added to Sprite3D Documentation Martin (1): Fix logic operators mislabeled #49412 Martin Capitanio (1): git: Ignore clangd cache folder Martin Krbila (1): Fix: The ORMMaterial3D shader doesn't compile #50161 Martin Norling (1): docs: Caveats of NavigationMesh.create_from_mesh Marvin Ewald (1): Fix typed arrays for Object based types MarvinFF (1): Fix `Node::rpc_config` return error Mateo Kuruk Miccino (18): glslang: Remove unused revision.template rendering_vulkan: VertexDescriptionKey equal comparator was checking only the first element of his vector of VertexDescription Core: Change _Marshall class inherit from Reference to Object Signals: tab_changed now is emitted when it's on scene tree Signals: Fix signals error prints for the new signal system os: execute parse the command output from utf8 Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assert Signals: filter_changed from ProjectListFilter now is emitted when it's on scene tree to avoid unexpected call Doctool and core: Fix return type in docs for some Variant methods assigning PROPERTY_USAGE_NIL_IS_VARIANT to MethodInfo usage when we have something to return Multiple changes to DisplayServerX11 GUI: Touch screen button click area now is synced with its draw GDScript: Add join method on String Docs: Add join on String.xml TileMap: Set texture_filter and texture_repeat to generated CanvasItems and update when it changes SCons: Fix profile type. It is a string ResourceLoader: Fix inverse 'if' on the cache mode Logger: Cache 'flush_stdout_on_print' to improve performance, and works before ProjectSettings starts. ProjectSetting: Now 'application/run/flush_stdout_on_print' requires a restart of the Editor to take effect LineEdit: Now double click to select a word, and triple click to select all the content using the new TextServer TextEdit: Update the method to search words with the new TextServer FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes Mateo de Mayo (2): Fix crash by adding nullcheck for uninitialized constants Fix crash due to unreachable code in properties Matheus Lima Cunha (1): Add fill method to Arrays and PackedArrays MathieuRoux (1): Fix warp_mouse for transient windows, smoother mouse positioning when releasing mouse for spinbox Matias Pierdomenico (1): Changed variable name in shader because it was too generic Matt (1): adds null case to weakref docs Matthew A. Robinson (1): Add mutex to protect script bindings Matthew Munro (mam552) (1): Fix inconsistent window state on X11. Matthew Newall (8): Removed unused Ref font variables Corrected Save Scene and Save All Scenes not working when the scene's dir no longer exists Added explicit type conversions Removed updates that caused unnecessary window updates Corrected directional properties to be ordered Left->Top->Right->Bottom Corrected GLTFDocument::save_scene from processing a nullptr Updated Tabs to not update excessively Fixed editor attempting to save a blank scene with save all scenes MatthewZelriche (5): Fix X11 menu window bug. Fix fullscreen on X11. Fix minimize/maximize not taking effect in X11. Fix dropped XEvents early in main window lifetime. Fix XSendEvent crash & bootsplash. Maverick Liberty (1): ResourceImporterScene: Add error when "default" is not defined to create clips Max (1): Fixed variant decoding Segmentation Fault Max Hilbrunner (41): Fix Windows platform file access FileAccessWindows: Cosmetic improvements Update bundled Mozilla X.509 CA root certificates Docs: Add warnings about no SSL/(D)TLS revocation Fix CI after #38992 Docs: Fix capitalisation of Warning in two places Namespaces instead of underscore prefix for binds Remove underscore hacks Fix VisualScriptEditor after namespaces Improve error descriptions Fix Visual Script editor CI: Cancel previous builds if new commit is pushed Fix CI after concurrency GDScript test style fix Fix Array class docs after #47406 Add new docs warning from HTTPRequest to HTTPClient Fix docs for Array's slice() Multiplayer networking renames/simplification Docs: Remove references to (removed) RSETs Clean DisplayServerWindows and add missing guards Clean up Viewport, remove dead code. Fix outdated no_call_local, use call_remote Time: Add some notes about timezones and UTC Save all 64 bits of get_ticks_msec() in more cases Small formatting fixes in Find in Files Fix Macros -> Mactos typo in WEBSOCKETMACTOS_H Improve GDScript indentation error message Websockets: Fix buffer size checks in put_packet() README updates and improvements, link license page Windows input: Fix wrong OEM key, add missing keys Doctool: Add error checks and exit code handling Fix make_rst.py on Windows Expose Transform3D::sphere_interpolate_with() Minor typo fixups to Windows console changes HTTP comment cleanup Verify custom HTTP headers, fix off by one error DOCS: Object.set() does nothing on type mismatch UPNP: Don't delete mappings when adding mappings Unexpose VelocityTracker3D Unexpose ProxyTexture Update UPnP documentation MaxIsJoe (1): Fixes `OS.get_unique_id()` string not getting printed properly MaxStgs (3): Add WebSocketMultiplayerPeer _incoming_packets check bound Check PHashTranslation generate p_from is valid Add PackedDataContainer data pointer check for non nullable Maxim Kulkin (2): Add GraphNode 'selected' and 'deselected' signals, simplify GraphEdit Fix LineEdit not consuming events Maxime Lapointe (2): Improve error message when instantiating virtual class Improve area/body_shape_entered/exited signals parameter names and doc Fix some typoed names from the doc Add _index to "index" parameters of *_shape_* signals, this is both in doc and in the template. This makes the code, signature and doc easier to understand Add method to get Node from the _index params of those signals. This was not as easy to find as one would expect. Putting this information where it is needed will help. Maximilian (1): Allow using $/root node paths Maximilian Mayer (2): Move and add new RegEx test cases Add unit tests for HashingContext Medhat Riad (2): Avoid error spamming in animation_tree when path is not found Improve tooltip for CanvasLayer.layer Megamega53 (2): doc: Some improvements to KinematicBody docs Improve AnimatedSprite2D description in the class reference Melissa Geels (2): Move cursor to edge of selection when moving caret left/right Triple click in text editor now uses last mouse position for validity Melvin Louwerse (1): Show correct name of signal when editing an existing one Menderes (1): Fix line_separation working incorrectly in find_click of RichTextLabel MennoMax (1): adjusted linux cursors, added fallbacks Meriipu (5): Clarify what a string being empty means GDScript: Clarified/fixed inaccuracies in the built-in function docs. If the mouse is held on notification_wm_mouse_exit, do not drop focus Make the currently hovered control get updated on mouse-release Expose the resource name the client used to the websocket server Metin Celik (1): Add half frame to floor() Michael Alexsander (191): Make the replaced results appear in the matches counter Make ScriptCreateDialog's script valid message a bit more clearer Clip warning text in the remote dock Fix built-in script creation loading existing scripts by mistake Hide TileSet's properties from the inspector Make some QOL improvements to move operations in the FileSystem dock Fix text clipping in Tree items not working with negative values Remove AnimationTreePlayer node Fix problems with concave shapes in the TileSet editor Fix multiple issues with the "Import" dock Fix hiding ColorPicker's presets not fully hiding its controls Convert "Pool*Array" icons into "Packed*Array" Remove unused theme constants in Tab(Container) Fix visuals of the new debugger editor Remove extra margin in the top of the debugger Add icons for some new variants Update PackedIint/FloatArray icons for the new types Don't show a copy of the property's name in the inspector's tooltip if there's no description Fix import changing disabling checking on multiple files Add more missing icons (and adjust a few) Turn Rect2's 'intersects_touch()' into an extra argument of 'intersects()' Fix incorrect TabContainer documentation for 'get_tab_control()' Updade dialog node's icons General enhancements to floating docks Register SubViewport class Rename ViewportContainer to SubViewportContainer Re-expose a simplified version of the stretch properties in SubViewport Take borders into account with floating dock initial position/size Remove unnecessary Panel in "Features" section in the Export dialog Fix changing the import type of multiple files at once Remove unnecessary panel in EditorHelpBit Add icon for the Decal node Made possible to specify where to dump the contents when loading a ".pck" file Fix "Local" button not being pressed in the Scene dock on first run Fix crash when changing time value of multiple animation keys at once via inspector Tweak Decal icon slightly Add more missing icons Add more missing node icons Keep "lock" metadata when changing a Node's type, if applicable Add fallback icons and make custom ones appear in the recent/favorites list in the "Create New" dialog Add generic file icon and its modulation to the 'FileDialog' Fix scene tree showing up when the root selection is present Fix regressions in the 3D lock buttons Fix Tree's 'scroll_to_item()' not working correctly on some cases Make timeline cursor in the Bezier editor just as thick as the Animation editor Remove oversized margins in the AnimationTree editor Fix timeline cursor not updating on zoom change in the Bezier editor Prefer the highlight version of the "GuiTabIcon" icon for buttons, and make their width/height equal Minor improvements to the Polygon 2D UV editor Small naming and tooltip tweaks Make the editor's 'CheckButton' icon be smaller Fix and tweak the new header in "Project Settings" Minor visual improvements to the "Batch Rename" dialog State how 'MOUSE_MODE_CAPTURED' actually works in the 'Input' docs Add placeholders to the searchbars in the Project/Editor settings Fix being able to create invalid scripts by pressing enter inside "Path" Add 'get_previous_tab()' to 'Tabs' Fix "Move Points" button sometimes not showing up on UV mode in the Polygon2D editor Set previous tool buttons in the Polygon2D editor to be flat again Add icons for the 'CanvasGroup' and 'CodeEdit' nodes Fix WAV resources ignoring the AudioServer's 'global_rate_scale' value Disallow setting the AudioServer's 'global_rate_scale' to a value equal or inferior to 0 Add icons for the new Light2D nodes Make translation change notification when setting the locale of a Translation resource only happen when loaded in the server Add "font_color_separator" theme property to 'PopupMenu' Add icon for 'AudioStreamMP3' resource Re-add circle back scrolling to 'PopupMenu' Allow to circle back in 'PopupMenu' even if the first/last item is non-selectable Fix tooltip position in embedded window Disable "Commit" button in VCS plugin if there's no commit message Fix filename disambiguation on scripts in certain occasions Fix script list only showing their names regardless of display option Update path in the FileSystem dock after doing file operations Ignore clangd 11+ cache folder Make margins obey the snap option in the TextureRegion editor Make FileSystem dock set its path to the base folder of files after changes Keep Label's min height when empty Fix various small issues with PopupMenu Fix StyleBoxLine's incorrect style margin values Apply minor visual enhancements to the Sun/Env Preview Fix import selector resetting in Import Defaults Editor Fix capitalization of checkbox in Input Map Editor Fix heap-use-after-free in Import Defaults Editor Make Camera2D's editor helper code only be compiled on editor builds Hide extra options from various nodes if they're not enabled Hide more options of disabled properties Fix EditorInspector not updating its theme on rare occasions Select non-perfect matches if necessary in the Search Help dialog Fix wrong width with PopupMenus on first opening in the editor Add comment highlighting to script thumbnails Fix small issues with capitalization in the new TileMap editor Remove `dim_editor_on_dialog_popup` from editor settings Better format arguments in variant parser Make contents of "Create Script" dialog expand with the window size Make invisible `SplitContainer` nodes correctly calculate the minimal size of its children Expose `Window.get_contents_minimum_size()` to scripts Minor cleanup of the "New Script" dialog Fix `Window`'s `wrap_controls` not actually doing anything Minor enhancements for the TileMap editor Make `MenuButton`'s `switch_on_hover` work again Make `switch_on_hover` work on embedded windows Multiple cosmetic fixes for embedded windows Make some small tweaks to the MIME info Add `auto_translate` toggle for automatic translation Properly tag project files as a subclass of plain text in the MIME info Fix "Custom *" theme sections being inside "Auto Translate" Fix being able to add duplicate files in the Localization editor Invert how `global_rate_scale` value works, and rename it to `playback_speed_scale` Make property description in the animation editor actually show it Minor tweaks/fixes for the Command Palette Make some enhancements to the POT generation Fix arrow pointing in the wrong direction in the Dock Position popup Expose `TabContainer`'s tab hidding for scripts Fix tab renaming not updating its size in `Tabs` Make some buttons in editor use the lighter version of the TabMenu icon Fix error when opening multiple debugger sessions Rename some elements of `Tabs` Fix match counter in help pages not updating Fix `Tabs` offset overreaching when scrolling fast Fix invisible tabs not being ignored in `Tabs` Rename `Tabs` to `TabBar` Fix uninteractable singular tab in `TabBar` Rename `TabBar`'s `tab_closed` signal to `tab_close_pressed` Rename all methods that return `ScrollBar` nodes to `get_*_scroll_bar()` Disable base type changing when no type is selected in the theme editor Fix undo/redo operations in Input Map Add undo/redo capabilities to the theme editor Add undo/redo capabilities to the text control plugin Fix several issues in ´TabBar´ Improve looks and consistency of tabs Make Scene dock menu button an actual `MenuButton` Fix icon in drag preview of scripts/docs Make popup menus focus items automatically when not using the mouse Bring `TabBar` to full parity with the `TabContainer` implementation. Fix buggy behavior of the "Add tab" button in the scene tabs Enhancements and fixes for `OptionButton` and `PopupMenu` Better handle icons and checkboxes with separators in `PopupMenu` Make popups from `MenuButton`, `OptionButton`, and submenus obey the layout direction Fix theming for floating window docks Remove code to update the layout direction of submenus from `PopupMenu` Fix crash when removing tabs from `TabBar` Make `TabContainer` use `TabBar` internally Fix renaming `TabContainer` children not updating tab names when outside the tree Replace some bits of code left to work with the new `TabContainer` Fix regressions with nameless and icon-only tabs Replace `TabBar`'s `min_width` with `max_tab_width` and expose it Remove extra borders from the AssetLib plugin Make `TabBar/Container` default their alignments to the left instead of center Fix `tabs_rearrange_group` property being exposed as a `bool` instead of a `int` Add visual marker when dragging and dropping tabs Fix errors when locking nodes Fix "Script Create" dialog errors with metadata Make script templates follow the GDScript style guide Small fixes for `TabContainer` Fix creation and reopening of built-in scripts Draw relationship lines for items offscreen Fix and tweak labeled separator in `PopupMenu` Fix `GridContainer` not ignoring toplevel children Reduce width of arrow icons for the default theme in `PopupMenu` Add `font_separator` and related properties to `PopupMenu` Take into account the clear icon's size even when not visible in `LineEdit`s Fix error about transient window when running a custom scene Clean and fix the Movie Maker button Make tooltips be shown at different directions if there's not enough space Fix elements not being shown on first selected script/doc Hide method filter bar when selecting a doc in the Script editor Fix text position when hovering pressed `CheckButton/Box` elements in the editor Fix some bugs with `Window`s Fix error when switching to another `GridMap` with an item with higher index selected Make `Menu/OptionButton` item auto-highlight behave better Fix `ItemList` selection visual when the scrollbar visibility changes Fix crash when pressing up on an empty `PopupMenu` Fix some corner cases in the `Menu/OptionButton` item auto-highlight Add item auto-highlighting to `MenuBar` Fix switching `MenuBar`'s menus with the keys while mouse hovering Rename `PopupMenu`'s `set/get_current_index()` to `set/get_focused_item()` Make `Vector2i` values paired with `EDSCALE` be just `Vector2` Shrink shader editor's oversized borders Fix empty text in the add button when editing nodes with items Remember scripts panel's visibility state Fix problems with `tab_changed` signal when removing multiple tabs at once Stop centering clicked suggestions in the autocomplete popup Fix some stuff with the editor features Properly center labels in the TileMap/Set editors Small changes to some tooltips Make `Input.get_vector()` check for plain `strength` instead of the raw one Fix misaligned edit box when clicking on `Tree` items with different sizes Fix errors when `TabBar` is empty Make `DisplayServer` docs tell users to change some window values in the `Window` node Fix some small bugs in the `Window` node Revert `Input.get_vector()` back to checking raw strength Michael Auderer (2): Reset TileMapEditor painting on application refocus Treats application unfocus as a mouse release for TOOL_PAINTING, by finishing the undo state and resetting the tool. Also sets a flag to prevent extra lines from being drawn when the application is refocused. initialize refocus_over_tile to false Michael Belousov (2): return boxed long when marshalling a godot int to mono runtime in dynamic contexts Mono: fix bad long casts and wrong underlying enum types in GodotTools Michael Bickel (1): fix typo 'comleption' -> 'completion' Michael Conrad (1): Fix joystick axis mapping issues with NVIDIA shield. Probably others. MickeMakaron (1): Handle huge offset values in Path2D and Path3D set_offset Micky (111): Various improvements to Camera2D's documentation Specify return value of Transform3D.scaled() and more Remove AnimatedSprite3D.`is_playing()` for redundancy Improve documentation of CanvasItem's draw logic Rename Navigation's `neighbor_dist` to `neightbor_distance` Rename EditorPlugin.`*_PROPERTY_EDITOR_*` to `*_INSPECTOR_*` Rename CanvasItem.`follow_viewport_enable` to end with "d" Account for TreeItem's Cell icon and center the text Popup vertically Restore ability to drag 'n' drop Mesh to Viewport Properly refer to functions definition color in description Clamp Label's `percent_visible` properly between 0 and 1.0 Add spacing after newline on editor warning tooltip Rename Position* nodes to Marker* Rename PathFollow's `offset`s to `progress` & `progress_ratio` Rename Polygon2D.`invert_enable` to end with "d" Improve `percent_visible` and `visible_characters` description Add type icons to editor docs' hierarchy Rename ParticlesMaterial to ParticleProcessMaterial Rename Camera2D's `screen_center` and `*_position` Rename Label & RichTextLabel.`percent_visible` to `visible_ratio` Rename `str2var` to `str_to_var` and similar Rename `hint_tooltip` to `tooltip_text` & setget Rename `CanvasItem.update()` to `queue_redraw()` Cast between float and ints in Tween.`tween_property()` Rename TreeItem's `set_tooltip` to `set_tooltip_text` Mark Script button if it's tool in Scene Tree Editor Modify newlines in Editor Spin Slider tooltip Rename AnimatedTexture `oneshot` to `one_shot` Fix Label & RichTextLabel's visible_ratio not working Improve Docs' inheritance tree icons on newline Fix AudioStreamPlayer not resuming after returning to SceneTree Rename TileMap/GridMap.`world_to_map` and opposite to `local_to_map` Fix "Treat Warnings as Errors" Project Setting not working Rename `range_lerp` to `remap` Fix tool script button color overriding custom type color Rename every instance of `caret_blink_speed` to `caret_blink_interval` Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT Prevent HTTPRequest from polling invalid client Rework AnimatedTexture's `fps` into `speed_scale` Rename `legible_unique_name` param to `force_readable_name` Rename ProgressBar.`percent_visible` to `show_percentage` Add missing constants to project converter Fix several oddities in Project Converter Add a few missing entries in Project Converter Improve Scene Tree Dock's Node filter (Allow multiple terms & more) Harmonise AnimatedSprite3D and its 2D counterpart Allow negative `speed_scale` in AnimatedSprite2D & 3D Use variadic template in `vformat()` Remove unused `import_subscene()` in Scene Tree Dock Fix "Save Branch as Scene" storing root Node's `unique_name_in_owner` Rename AudioStreamPlayer3D's `unit_db` to `volume_db` Fix outdated warning in AnimatedSprite2D Make "Access as Unique Name" a shortcut Reverse Camera2D.`rotating` to `ignore_rotation` Remove unused struct in GradientTexture1D Rename remaining "*_enable" to "*_enabled" Fix ColorPicker always emitting color_changed on html submit Add more tests for Vector* types Add autocompletion to several Object methods Improve AtlasTexture's Documentation Fix selection applying to hidden Nodes when filtering Scene Tree Editor Allow multiple words in Docs Help Search filter Rename remaining "Spatial" in Plugins to "Node3D" Support nesting AtlasTextures inside other AtlasTextures Expose and warn about Node Filters in Scene Tree Dock Include inherited classes in Filter Nodes' "type:" filter & fix "group:" Fix Typed Array of Objects not accepting `null`. Add Editor Setting for default name when connecting signal to self Fix Array.`slice()` and `filter()` forgetting Typed Array Strip unnecessary break on switches returning early in Variant Use `JSON::stringify` where possible Rename Camera2D's `smoothing` to `position_smoothing` Rename `set`/`get_indexed`'s "property" to "property_path" Comment not to remove `data` structs in some Nodes Do not allow editing Scene-inherited signal connections Tweak `@GlobalScope` functions documentation overall Rewrite most of Resource's documentation Tweak `@GDScript` documentation overall Add buttons in Remote Scene Tree Fix unordered values of PROPERTY_HINT_INT_IS_POINTER & ARRAY_TYPE Tweak `@GlobalScope` constants documentation overall Doc consistency: "inspector" to "Inspector" Fix spacing of few PROPERTY_HINT_ENUM hint_strings Add tooltip to method qualifiers in Documentation Help Improve Editor Documentation colors Rename Image's `get_rect` to `get_region` Remove "?" from String.c_escape() Add missing RID operator descriptions Make `Node.print_orphan_nodes()` static Strip ERR_FAIL from `Node.remove_from_group()` Change docs' Typed Array & void representation Remove `PROPERTY_HINT_IMAGE_COMPRESS` constants Double precision of `String.split_floats` Fix AudioStreamPlayer2D and 3D's `playing` not updating right away Tweak Signal Documentation Update "Parent node is busy" errors to use `Callable.call_deferred()` Overhaul Object's Documentation Tweak Callable's documentation Add missing String & StringName operator descriptions Fix warning in Signal Documentation Remove `Array.find_last()` Tweak Color Documentation Overhaul Dictionary Documentation Overhaul String Documentation Fix unable to disconnect signal in Editor once created Fix left-aligned EditorHelp when first opened Update StringName documentation to match String's Tweak comments in `renames_map_3_to_4` & reorder Add missing documentation for String & StringName Fix incorrect format in Color documentation Tweak `@GlobalScope` & `GDScript`'s documentation Miguel Gonzalez Sanchez (3): fix broken 2D light blending, addresses #49922 do not apply modulate on canvas when unshaded is set Rename pos -> index on Node Miguel de Icaza (1): C conformance: Include stdbool.h to define `bool` Mikael Hermansson (8): Bind PhysicsDirectBodyState3D::get_inverse_inertia_tensor Add feature tags to signify engine float precision Bind methods related to disabling collision between joint bodies Bind methods related to physics query exclusions Make physics servers `end_sync` on exit Remove redundant definition of `convert_text_resources_to_binary` Fix incorrect index error macros Expose `_err_print_error` with message parameter to GDExtension MinusKube (28): Fix animation player crashing when caching disabled tracks Add serialization for RID and Signal Add editor properties for Callable and Signal Fix GDScript parser sometimes crashing when issuing warning for unreachable pattern Add the ability to drag the code completion scrollbar using the mouse click Fix range slider in tree not updating text value Move windows display server's 'outside' field to WindowData struct Fix editor dock layout not saving correctly Fix FileInfo::import_valid always being set to false for TextFile in some cases Find a better solution for the script editor member list sometimes not being updated Fix viewport sorting being wrong on parent/child relation Fix tileset image and background sometimes disappearing Fix alternative tile popup menu not being openable Prevent subwindow_focused from pointing to a window that is not a subwindow Prevent windows from having a size greater than device limit Fix MOUSE_MODE_CAPTURED not working correctly with popups Use embedding viewport instead of parent viewport to determine popup rect Prevent unsaved inherited scenes from being detected as the 'placeholder' scene Fix atlas view drawing roots having zoom applied twice Fix draw_polyline not supporting closed polygons and not having a uniform offset Remove coupling between ConnectDialog and selected signal Fix signal disconnect undo not working Fix char offset calculation when processing RichTextLabel line caches Mark dirty flags when shaped texts are invalidated Use correct prefix for TextMesh width property Fix get_parent_anchorable_rect() not returning the correct size in some cases Fix unreachable code warning for elif block Don't generate CSGPolygon3D shape before the assigned path is inside tree MisoMosiSpy (2): Updated alpha value for disabled icons in default theme. Added icons for missing types in visual script’s icon list. MisterMX (4): refactor(TileMap): Return Rect2i in get_used_rect fix(tileset): Recreate custom data editor if type has changed fix(tileset): Move custom data layer refactor(AStarGrid2D): Return Vector2i in get_id_path MladoniSzabi (3): Remapped the numpad keys on linux when numlock is off Fixed Image.save_jpg() returning OK but not saving image. fixed holding alt while zooming zooms in by 2 increments. MmAaXx500 (4): Improve compiler version extraction Add missing header for headless builds Prevent autoloads from being added or removed twice Round 2: Fix mesh library remove selected item menu option ModProg (1): [android] Fixed wrong button mask for right click Mohammad Khashashneh (1): Add Node processing and physics processing cumulative (as opposed to delta) time. MorganKF (1): Update MultiplayerPeerExtension class registration to non-virtual Moritz Kaltenbrunner (1): Fixed crash on calling set_editor_draw without properly setup SkeletonModification Morris Tabor (9): Fix ParticlesMaterial spread fix misaligned loads in bmp loader Replace QuickHull with Bullet's convex hull computer. Implement lossless WebP encoding Fix regressions caused by recent particle spread refactor Fix CPU Particles spread Fix winding of new convex hull implementation. Fix emitting duplicate edges for convex hulls Identical to https://github.com/godotengine/godot/pull/52059 Fix the importer dock being blank when selecting multiple files. MrBBBaiXue (1): Add a way to filter nodes by type. MrBlockers (4): Make texture preview and picker use mipmap filter Fix draw_primitive ignoring texture argument Fix multiple issues with region editor Add optional arguments to AudioStreamRandomizer MrBrain295 (1): Non functional to non-functional MrPhnix (1): CanvasItemEditor Fix snapping grid misalignment MrRevington (2): Add AtlasTexture support in SpriteFrames Editor - Add Frames from a Sprite Sheet FIX CodeTextEditor not respecting focus in _input MrSwedish (1): Add linear_velocity and angular_velocity to PhysicalBone3D Muller-Castro (1): Typo correction Murilo Gonçalves (1): Fix: typo in TextParagraph class and docs MythTitans (3): Fix normals computation at the 'seam' of smoothed sphere and cylinder shapes Fix normals computation at the 'seam' of smoothed torus shape Prevent non-smoothed face normals to participate to smoothed face normals NHodgesVFX (1): add more OpenGL attributes NNesh (4): Fixed a invalidation of sets and out of range in the _horizontal_alignment function Fixed completion showing for class members Fixed text for callable default value for a function arguments hint Fix clearing backbuffer if there are no items Nannaquin (2): Add reference of Color8 function to Color class documentation Fix growMargin() not returning modified Rect2/Rect2i Nataša (1): iOS: Implement missing JoyButton::BACK (Options), START (Menu), and GUIDE (Home) Nathan Franke (62): Fix tab container too large when tabs are hidden Fix bug where Control at origin with 0 size not rendered Fix two signal errors Partial revert "Fix two signal errors" Remove this signal call that was mistakenly added in #36244 Fix project.godot for projects with class_name Fix autocomplete and GDScript Highlighting for types fix(Directory): remove erasing print Change "ParentNode" to "Inherit" in Texture Options Fix Directory Open Check Follow-Up Fix Directory Open Fix Directory make_dir and make_dir_recursive Fix PopupMenu unresponsive on right side of menu Collapse Resource Preview Properly Fix transparent editor theme being brighter Fix Android Export jarsigner error with *.import whitelist Update Rect intersection documentation, and rename method on Mono Improve Ambiguous StreamPeerTCP `set_no_delay` Documentation Simplify Script Variables Population Add Root Null Check Use Array for node configuration warnings Do not update scene tree dock when node edited outside of it Fix Gradient, Color Picker BG, Fix CanvasItem::draw_texture_rect p_tile Follow-Up Add SNames to get theme icon Make default main screen plugin work even if 2D and 3D are disabled Fix character encoding of Engine::get_copyright_info Use application name for pulseaudio device PackedByteArray, Array slice end exclusive, rename subarray to slice Auto-Increment Debugger Port align to horizontal_alignment, valign to vertical_alignment, related Replace String comparisons with "", String() to is_empty() Fix OS.get_name and OS.get_user_data_dir documentation Use OrderedHashMap for enum_values Fix action exact match simplify formatting scripts, add a clang-tidy script, and run clang-tidy improve OS.get_name classref, misc/scripts fixes, remove trailing quote fix lines ending in comments causing auto indent remove escapes in gdscript test output quote strings inside arrays and dictionaries remove child on despawn instead of just queue_delete use ERR_FAIL_INDEX when preferred finish renaming AUTH to AUTHORITY tree: always emit item_edited use correct error for unused bind match, suppress with underscore rename 'configuration' to 'replication_config' in MultiplayerSynchronizer repaint tab container when changing tab visibility simplify alignment preset, fixing icon for full rect round dimensions of svg dependency editor: set current directory to closest existing directory improve animation player warning for imported scenes support git packed refs in version generator add equal checks to Transform3D::looking_at and Transform3D::set_look_at document multiplayer replication classes, small changes to multiplayer spawner move rpc and rpc_id implementations back to header capitalize shader uniform groups ios: force app store icon to be opaque, use proper errors prefix shader parameters with "shader_parameter/" simplify title of create/change node dialog project manager language OptionButton fit to longest item do not load PackedScene from spawner until instantiating print each migrated project path instead of always printing "migrating" when there are none fix aabb errors on meshes with bones on multiple surfaces Nathan Lovato (3): Remove link to step-by-step/animations Replace close icon with button in the Bezier editor Make bezier handle type a property of keyframes, update interface Nathaniel Morihara (1): Exporting: Android Debug Keystore Warnings Navdeep Singh Rathore (1): Added the smart word wrap property to preview label Nehluxhes (1): Remove duplicate node update call NeilKleistGao (4): Add warning for Windows export when rcedit is not configured Edit font properties on multiple objects at once Remove metadata `_edit_layout_mode` and `_edit_use_custom_anchors` if they have default values Fix C# solution directory settings Nhiqill (1): Pop from front to avoid infinite loop with nested classes Nicholas Huelin (26): Clarify what the "item_rect_changed" signal does Edit "quit()" method description in `SceneTree` Amend `Label`.clip_text() Method Description Add `get_dead_zone()` method to `InputMap` Add many descriptions to the `Window` class Add multiple descriptions to several classes Add note to `SceneTree` about pausing Add note to `RichTextLabel` Add method description to `PopupMenu` Add method description to `is_embedding_subwindows` in `Viewport` Fix Illegible text in audio bus editor Fix visual script icons Fix miscellaneous doc typos and inconsistencies Fix less relevant quick open scene results Fix doc typos Fix dead code in `gdnative_interface.cpp` Fix always true expression in `cluster_builder_rd.h` Fix expression in `cluster_builder_rd.h` Fix duplicate shortcut in TileMap Editor Make "Find in Files" searches ignore directories with `.gdignore` files in them Make the "View" menu in 3D view toolbar stay open when selecting a checkbox Fix quick open script top result Fix paint tool duplicate shortcut Hide "Normal Map" import option when using lossless compression on Texture Fix Visual Script's jump to function relative to zoom Fix inconsistent naming in Time Nick Swoboda (4): Improve error messages related to failing to open files Check uniform set validity before freeing Change minimum snap step of Tile Set to 1 Fix scene being modified when arrows are pressed with no node selected Nickolai Korshunov (1): Scons: fixed build for vanilla clang in mac os x Nico Mitchell (3): Remove separators from particles menus Change round return type to float Change MATH_POSMOD return type back to INT Niklas Higi (1): Add "Keep screen on" feature to `DisplayServerX11` Nikola Bunjevac (4): Handle last baked vector index early Resize project dialog only when necessary Set window size after setting new limits Keep rendering context window size in sync when resizing Nikola Whallon (1): added info on microphone sample format Nils Reid (1): Exposed find_next_valid_focus and find_prev_valid_focus. Ninni Pipping (11): Horizontal scroll for Tree Tree recursive folding Fix incorrect drawing of alternative tiles Fix polygon generation in BitMap BitMap polygon code cleanup Fix group reimport bug Fix TreeItem::set_as_cursor check Fix for PackedArray comparison Hide clip_children for non-drawn CanvasItems Fix texture rect transpose for OpenGL Perform early exit in Input::is_anything_pressed Nolkaloid (2): Fix drag'n drop type check for NodePaths Change LineEdit caret blink to use process Nong Van Tinh (11): Fixed inspector resource preview shows up with incorrect size Fixed surface material overrides are not applied when the new mesh is set Fixes #64962 that cause program run into infinite loop Fixed root name invalid at scene creation. Fixes engine crashes caused by the user failing to initialize PCKPacker with pck_start() Fix incorrect hint when drag-and-drop asset into scene fixes: #70981 Add missing functions in the Control node when converting project Fixes incorrect caption for TextureParameterTriplanar Prevent saving files with no name and only an extension. Reordering emitted signals in PopupMenu Nonunknown (1): add ability to pick random value from array Nova (4): Fixed issue with Godot modifications to polypartition.cpp third-party file Fix incorrect SurfaceTool example in class docs Document String's humanize_size static method Added or improved documentation to a few more String methods NumbuhFour (1): Implement CAMERA_VISIBLE_LAYERS as built-in shader variable NutmegStudio (4): Fix typo in light3d (Texture -> Texture2D) Change DecalTexture bind from BIND_CONSTANT to BIND_ENUM_CONSTANT Fixes building mono release templates make EditorSceneImporterGLTF and GLTFMesh APIType::API_EDITOR O01eg (3): Fix visibility for GCC Add tests for Translations Implement override of get_message and get_plural_message Oliver Dick (3): Bugfix: Update transform of collision shape on NOTIFICATION_PARENTED (fixes invalid transform of collision shape in cases where the node is not supposed to enter the scene tree) TextEdit: When left mouse is pressed to place the cursor, do not immediately adjust the viewport when cursor_set_line is called, but afterwards on cursor_set_column (effectively when the cursor reached its final position) SceneTreeDock: Changed "Save Branch as Scene" to make use of Node::duplicate_from_editor, which is also used by "Duplicate" function of the SceneTreeDock - Removed Node::duplicate_and_reown method as it is not used anymore Oliver Frank (3): Fix crash after closing a GDScript LSP session Improve jsonrpc error reporting Fix incorrect capabilities notification in LSP Omar El Sheikh (4): Octahedral Normal/Tangent Compression Implement Octahedral on OpenGL3 Octahedral Normal Support for Sprite and Soft Body Add Blendshape Support Omar Polo (4): add OpenBSD to OS_LinuxBSD::get_name() automatically detect BSDs as platform=linuxbsd use .get_file() instead of basename(3) Rename or refactor macros to avoid leading underscores Owen Anderson (1): Fix disassembly of OPCODE_CONSTRUCT_TYPED_ARRAY. Oğuzhan Eroğlu (3): Added set_extra_headers() to WebSocketServer Quick fix: Crash when parsing invalid datetime string #60189 Indicate code editor search match number PZerua (1): Fix light intensity and attenuation import from GLTF Pablo Dobarro (1): Fix offset in Viewport drag movement Pablo Escobar (1): Add METALLIC to light() built-ins Pasi Nuutinmaki (1): Fix area calculation of Face3 PastMoments (1): Fixes GDScript define nested dictionary and array as constants #50285 Patrick (5): small typo in TextServer, changes bitwise to logical which can be faster in some cases via "short circuiting" Fix LinearDepth calculation for GLES3 Disable Output port preview of Linear Depth Visual Shader node Fix typo in VisualShader DistanceFade node Improve error message for invalid library feature flags Patrick Dawson (10): Avoid overflow when calculating visible_cells ManagedCallable: use delegate target instead of middleman when possible Expose texture_get_rd_texture Expose vertex_array_create RenderingDevice: Fix usage of index offset Add `offsets` parameter to RenderingDevice::vertex_array_create Fix ICONDIR buffer overflow [Windows] Fix joypad crash DisplayServerWindows: Update `last_focused_window` when the focused subwindow is deleted Avoid returning self from `_get_base_font_or_default()` Patrick DeVivo (1): Add TODOs Badge to README Patrick Exner (2): Add spatial built-ins (camera-pos, object-pos, camera-eye etc.) Implement custom non-trivial shader functions Patrick Gelvin (1): Require Apple Team ID when using notarytool Patrick Siemsen (1): Fix typo in method of visual_instance_3d Paul Batty (114): Add core types to ScriptLanguage Convert syntax highlighters into a resource Expose Syntax highlighter for editor plugins Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter - Extacted all syntax highlighting code from text edit - Removed enable syntax highlighting from text edit - Added line_edited_from signal to text_edit - Renamed get/set_syntax_highlighting to get/set_syntax_highlighter - Added EditorSyntaxHighligher Fixed visual shader editor not clearing colour regions Fix crash when closing a TextFile Fixed script_editor info_clicked signal not being connected Fix TextEdit line width cache not being updated Fix colour region continuation over blank lines, issue 41120 Fix color region end key seach and start key order Add and convert editor to use CodeEdit Added gutter system to TextEdit Added Line numbers to CodeEdit Changed line_edited_from(from) to lines_edit_from(from, to) Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit Add folding gutter to code_edit Move ConnectionGutter to editor code_editor Move safe line color into editor Remove breakpoints from editor settings Switch from recursion to iterative for backfilling colour regions Update SyntaxHighlighter documentation Fixed main gutter not drawing on item toggle Fix TextEdit drawing Caret and icons out of bounds Add custom background line colour to TextEdit and remove marked lines Fix FindReplaceBar text_change signal binding after replace all Fix TextEdit selection drawing behing minimap Add comment and string tracking to CodeEdit Move and expose AutoComplete in CodeEdit Move and expose Code Hint in CodeEdit Update String/Comment, autocomplete and hints docs Move code folding into CodeEdit and hide line hiding API Fix TextEditor redo shortcut typo Remove redundant keywords from TextEdit Move indent management to CodeEdit Move auto brace completion to CodeEdit Move brace matching into CodeEdit Move line length guidelines into CodeEdit Move symbol lookup into CodeEdit Clean up and complete CodeEdit inspector and docs Redraw on item list custom bg/fg colour change Remove dead code from TextEdit Make TextEdit cut, copy and paste overridable Cleanup and rename caret operations Expose and cleanup TextEdit line wrap API Cleanup TextEdit selection methods Protect internal CodeEdit --> TextEdit API Rename insert mode to overtype mode Rename readonly to editable Cleanup and expose viewport / scrolling methods Cleanup and bind remaing methods in TextEdit Cleanup and complete TextEdit inspector and docs Fix breakpoint toggle signal not firing when expected Add bulk theme overrides to Control Move CodeEdit theme overrides into EditorTheme Only update TextEdit text cache when dirty Reorganise text editor settings Fix visual shader keyword colour Hide TextFile from the API Optimise TextEdit get height and width Optimise TextServerAdvanced static string comparisions Allow nested complex ops in TextEdit syntax highlight c# verbatim string literal Prevent crash on startup if no audio server Allow unit testing SceneTree Ojects Create framework for testing Signals Fix InputMap and display server not nulling singleton on free Fix dummy rendering server memory leaks Add CodeEdit breakpoint unit tests Fix getting deliminator start over empty lines and blank start keys Fix brace placement with space auto indent Fix block deliminator not-folding at end of file Change completion prefixes to single char and unnecessary ui_cancel accept_event Add remaning code edit unit tests Added search colors to TextEdit and CodeEdit theme Fix TextOp setting to none when typing Add TextFile support across the editor Fix breakpointed_lines out of sync when removing lines above Preserve script editor state through tab closes Allow breakpoints in closed files Fix crash when searching action map creates empty catagories Move add_syntax_highlighter bind to ScriptEditorBase Fix TextFiles not saving when closing the tab Allow dragging TextFiles from the Filesystem dock Fix divide by zero in pck_packer Fix TextEdit mouse interactions when the last line is hidden Fixed TextEdit underline draw pos Optimise TextEdit base operations Add global breakpoint list Improvments for SyntaxHighlighters - Fix immedate Funcion in lamba highlight - Highlight signals as one colour - Highlight node paths as one colour - Highlight escape chars in strings Convert TextEdit callbacks to Callable Add Placeholder to TextEdit Fix TextEdit placeholder not checking line count Move placeholder color to theme item Fixed caret change signal emission Use Input::push_input for tests plus extra mouse testing Multiple small TextEdit Bug Fixes Add inital TextEdit UnitTests Move selecion into caret Add mutliple Caret support to TextEdit Add multi caret support to CodeEdit Add multi caret support to Editor Update TextEdit docs Handle tab in TextEdit Fix select word under caret using caret col instead of line Forcibly end current TextEdit action on undo redo Fix crash in code completion when using an invalid / null font Fix undo redo not adjusting TextEdit viewport to caret Fix autocomplete with autobrace completion not adding closing pair Fixed adding extra quote when completing strings Remove secondary carets when using FindReplaceBar Globalise path for New TextFile in FileSystemDock Support editing JSON in ScriptEditor Fixed removing secondary carets when editing with search open Fix ctrl+backspace crash with multicarets on the same line Paul Herman (1): Expose loading TGA images in Image. Paul Joannon (18): check the params section exist before erasing it in import_dock [mono] implement generics GetNodesInGroup class reference proofreading Improve C# method listing Fix Lerp documentation and implement RangeLerp Expose the collider RID in Raycast nodes C#: Preserve order of exported fields/categories C#: Fix dictionary keys in Colors Fix .NET export template compilation on Windows 10 C#: godot_variant should always have a valid type Add new C# code blocks to class ref pages Better error display in debugger panel Restore missing info in the error tooltips Rename existing editor settings `mono` -> `dotnet` Add button to open the msbuild logs folder Add new settings about MSBuild Try and match MSBuild and Godot UI languages Clicking "Clean solution" should clean, not build Paulo Feodrippe (1): Fix simulatenous touches for different touch types Paulo Poiati (2): Fix extension registration order. Fix extension registration order. Pavel Pletnev (1): Fix editing of remote objects in the inspector Pawel Kowal (5): Clean up profiler Change godot.ico to uncompressed/fixed size Fix roundness of DebugSkipBreakpointsOff icon Fix near one opacity in editor icons Improve GDScript error for method call on null/previously freed instance Pawel Lampe (17): ItemList's add_(icon_)item method returns id of added item Add test cases for numeric literals with underscores Add missing 'bake_finished' signal Fix exit code for --script --check-only, fixes #54087 Improve NavigationObstacle3D usability Fix 'unreachable-code' false-positive, fixes #55154 Fix godot crash on null expression, fixes #53862 Fix GDScript parser crash on 'dollar mixed with assignment' expression Fix NavigationObstacle errors Improve Navigation2D default settings, see #56852 Fix transforms involved into navmesh baking Fix debug navmesh errors Fix get_simple_path behavior in 2D & 3D Fix navmesh baking Fix crash in `GodotNavigationServer::map_get_path` Add ability to `bake_navigation_mesh` off thread. Fix 'Navigation Process' monitor initialization Paweł Fertyk (12): Return error when decompressing empty PoolByteArray Check for _language in PluginScript.instance_has Validate texture in RendererStorageRD::free Remove trailing slash from recent dir if needed Validate image formats, check if resize_to_po2 failed Issue 57130 Fix GLTFDocument.generate_scene if state is null Fix `TabBar._update_hover` crash Fix crash with all_tabs_in_front Fix `NoiseTexture._generate_texture` crash Fix backspace when selection reaches left edge Fix get_breakpointed_lines crashing Godot Allow plugin name in `is_plugin_enabled` Pedro J. Estébanez (195): Ignore hidden files and directories in find in files Make file system scan more robust Fix VariantParser::StreamString EOF determination Add ConfigFile::parse() Fix export template compilation Fix bugs in `RID_Alloc` Reimplement Mutex with C++'s Fix shadowed variable build error Improve UX of drive letters Drop old semaphore implementation Fix bad uses of mutex causing deadlocks Remove meaningless parameter from bindings Make stack size on Windows match Linux and MacOS Fix res:// trimmed to s:// on Windows Fix compilation of jpgd.cpp on MSVC 2017 Add ability to export VRAM usage as CSV Fix leaked objects when game ends with yields in progress Improve shader time roll over Fix crash in stb_vorbis.c Fix object leaks caused by unfulfilled yields Fix leaks and crashes in OAHashMap Remove no longer needed patches to jpgd.cpp Fix too eager GDScriptFunctionState stack cleanup Fix excessive bottom cropping in atlas generation Fix potential crash when listing leaked objects Handle gone TabContainer popup nicely Ignore blend times for inexistent animations Add DynamicFont::get_available_chars() Improve/fix packed data API Avoid warning about harmless unfulfilled yields Prevent cyclic reference between script and its members Ensure cyclic dependencies between scripts are broken at exit Avoid infinite loop in GDScript at shutdown Fix premature end of animation playing backwards Fix application of window in FFT Fix crash in resoure duplicate Fix crash duplicating local-to-scene resources Warn about singleton being a Reference Make warning about Reference singletons more accurate Put misc. 3D tool visible instances on their own layer Remove useless check in GDScript Fix crash parsing a serialized Reference Extend UndoRedo handling of Resource to every Reference Add animation reset track feature Fix instantiation of resource as property value Fix crash related to reset animation Fix cases of resources destroyed too early Modernize RWLock Modernize Thread Make audio bus channels' peak volume consistent Implement pause-aware picking Expose Tree::scroll_to_item() Keep selected node visible after filter change Fix animation reset-on-save on inactive scene tabs Fix SceneTreeEditor::_update_tree() binding Modernize atomics Improve robustness of atomics Make glue generation shutdown more graceful Prevent thread wait on itself for finish Fix SafeNumeric::conditional_increment() for NO_THREADS Fix crash on cleanup of EditorFileServer Make all file access 64-bit (uint64_t) Set schemes' build config to debug/release in iOS Xcode export Allow basic user data backup on Android Add iOS export option for device family Fix crash when using ALSA MIDI with PulseAudio Rename Reference to RefCounted Improve & fix Mono build Fix slow load/save of scenes with many instances of the same script Remove side effects of scene save Rationalize property reversion Fix thread start with no user data when target has no default argument Fix up property reversion Implement inherits_script() for NativeScript and PluginScript Fix logic to allow default null thread argument Upgrade Vulkan memory allocator Improve input event accumulation Add input buffering framework Add project setting for agile input event flushing Switch to input buffering on Android Upgrade spirv-reflect Implement iterator variable typing in GDScript Fix parameter type resolution in GDScript Avoid crash after a parsing error in GDScript Complain if casting a freed object in a debug session Fix inverted error messages about null object Fix check for freed object during cast Avoid the need for copy assignment in HashMap key/data types Implement get_cache_path() for iOS, and improve it for Android and Windows Fix HashMap element copy leaving hash as zero Expose Input::flush_buffered_events() Drop broken Android 32-bit framebuffer setting for a reliable one for depth buffer Unify determination of default property values Add property value pinning Drop pointless Android depth buffer setting Fix crash when loading scene instance after node vanished from parent Rationalize Node removals and deletions Fix WorldEnvironment node warning about unset resources Fix misuse of Vulkan enum value Stop asuming a default value of NIL means there's no default Clear only owners that are no longer in the same tree Assume that non registered properties default to null Fix too broad assumption of null property defaults Rename Variant::is_ref() to is_ref_counted() vk_mem_alloc: Update to latest commit Add a separate pool for small allocations in Vulkan RD Really update volk to 1.3.204 vk_mem_alloc: Update to upstream + Adapt approach to small objects pooling Drop mouse focus and over when gui input is globally disabled vk_mem_alloc: Update to upstream + Replace use of deprecated items Validate every source element separately Array::append_array() Rationalize certain cases of texture usage flags Consider uniform writability part of the interface of the set Apply some small fixes/enhancements to the Vulkan RD Optimize texture update in Vulkan RD Stop debug time full barriers preventing layout transitions in Vulkan RD Fix confusion between Vulkan and RD storage buffer usage values Avoid manual memory management of certain arrays in Vulkan RD Use a more robust method of determining writability of bindings Set default resource names under pure debug in Vulkan RD Bind correct default resource type in GI Flush accumulated input events on iOS spirv-reflect: Update to latest commit Create reset tracks with the right update mode Improve versioning of shader binary data files Enhance determination of uniform writability in Vulkan RD Make SDFGI direct light shader follow the same-writability rule Use the right memory ordering in SafeNumeric operations Improve messages about VRS Fix editor re-focus on debugger break on Windows Validate texture format for VRS attachment Avoid copies of structures when returning Vulkan capabilities Flush buffered input events on UWP Mark some editor settings as requiring editor restart Keep crash handler status on editor restart Fill view and correlation masks correctly for single view in Vulkan RD Remove unintended string copies Improve handling of the format of the VRS image Keep SdfgiDebug shader's push constant size <= 128 Improve usability of non-default values in the property inspector Fix uniform set creation error due to null RID Apply correct formatting to comments in the Vulkan driver Clean iOS platform config of long gone macro Fix jumbled error output when using Windows spawn fix Overhaul CLI argument forwarding to processes started by the editor Make audio thread control flags safe Consolidate the fact that `Input` is meant to be final Patch glslang to avoid build errors on certain platforms Avoid warnings about cursor shape change not supported Add FileAccess::get_access_type() Avoid spurious alloc error in SPIRV-Reflect Fix forwarding of CLI arguments taking an option Let platforms override the sizing of Vulkan swapchain and window Determine ProjectSettings' resource path early Remove unused force_quit variable from many OS abstractions Make local-to-scene resources behavior consistent in child scenes Make Git hooks work on worktrees on Windows Add ability to extend the set of Git pre-commit hooks Enhance portability of threading Keep a single, portable implementation of `OS::get_processor_count()` Polish rendering driver refactor further Harmonize return values of window_create() in rendering drivers Fix newlines not honored in Windows console Polish rendering driver refactor further (take 2) Restrict MSAA attachment usage to the strictly needed set Let the RD driver itself expose subgroup caps Add default, zeroing constructor to BitField Tidy up some aspects of Vulkan RD Refactor SPIR-V reflection into a generic RenderingDevice feature Replace certain sanity checks with proper dev-only assertions in Vulkan RD Ensure depth buffer format picked actually supports full intended usage Prevent misuse of SafeRefCount Support Git worktrees in generation of hash header Make inclusion of Godot version in shader hash universal Add framework for avoidance of color flash in new windows Implement color flash avoidance for Windows Prevent infinite cascade of re-layout after label text reshaping Make MessageQueue::push_callable(p) work with bound arguments Revert "Make MessageQueue::push_callable(p) work with bound arguments" Booleanize various sync primitives' wait & locking methods Fix code style and consistency of RWLock and Semaphore Warn users about unsafe usage of InputEvent Avoid losing references to objects in the native-scripting boundary Enhance label sizing algorithm Pace debugger draw requests Fix blank non-autowrapping labels Reword misleading error messages in PCK export Make label sizing algorithm more robust Fix width determination of non-trimmed, non-wrapped labels Let VS solution name be overridden Avoid GDScript bookkeeping from referencing objects longer than necessary Implement ConditionVariable Fix race condition in resource loader when a load task is reused Fix cases of resource load tasks not being awaitable Fix deadlock in cyclic resource load Pedro Rodrigues (4): Fix out of bounds array access on DisplayServerX11 code Fix crash in GIProbe::bake Fix crash on HTTPClient::poll method Fix crash trying to destroy an ImageTexture object containing a null texture Peter Eastman (4): Optimized support function for large meshes Analytic sphere-box, sphere-cylinder, and capsule-cylinder collisions Analytic collision normals Collision detection supports uniform scaling Petra Baranski (1): Add Spritesheet support to RichTextLabel BBCode Philip Whitfield (2): register RenderingDevice as gdscript singleton fix url parsing with port numbers Phischermen (6): Enabled concave collision detection with Areas in Bullet. Added parameters to Load() Add info about how gizmos affect transform notifications Made property hint consistent with other property hints Fix crash when creating new text file with no name Clarify that SceneTree::quit() does not immediately end the application. Phnix (1): incorrect range value with min value and step PhoenixFlame101 (1): Fix code folding icon color not matching defined color Pierre Caye (3): add a precision about the intended use of the ConcavePolygonShape Add a new configuration warning to CollisionShape change an exclamation mark to a dot Pierre-Thomas Meisels (8): OSX: Add signing of directory structure in Library when exporting for OSX. OSX: Add exporting of folder structure in PlugIns when exporting for OSX. Fix default value for DisplayServer::virtual_keyboard_show Rect2 parameter bugfix: bind core enums' none values Fix ResourceSaver::save method exposition flag parameter Make vararg method bind no return and return enhancement: rename exposed property Control::minimum_size to Control::custom_minimum_size Add core types enums description to extension api json enhancement: Rename declared property AnimationNodeTransition::input_count to AnimationNodeTransition::enabled_inputs Pip (1): Remove dead code from Viewport::_gui_input_event Pitanov V.V (1): Fix GridMap erase Octans Pleto (1): Enhancement for tileset sorting Pop0p (1): trims_whitespaces_when_creating_folder_windows Poq Xert (2): Updated purchase receipt suitable for sending to apple verification server iOS GameCenter: Add authenticate method PouleyKetchoupp (232): Fixed LineEdit virtual keyboard inputs on Android Fixed flipped scene preview thumbnail Fixed crash when connecting a signal in GDScript Compilation fixes on Android Remove '/permissive-' flag from Windows MSVC build More explicit error messages when vulkan calls return errors Fix text_entered signal when max_length is used in LineEdit on Android Added has_signal method for Object Fixed PhysicsDirectBodyState3D resource hint after rename Pre-commit hook instructions on Windows Fixed errors in makerst pre-commit hook Add style for highlighted Slider grab area Vulkan rendering for Android Display Server support Fix extra warnings in Android build Fix add_force in Godot Physics RigidBody More details in Rigid Body add_force documentation Fix set_sleep_state in Bullet body direct state Add PhysicalBone rotation, damping, axis lock & can sleep Fix get_active_material when a material is directly set on the mesh Update to bullet master (2.90) Better damping implementation for Bullet rigid bodies Format remote printerr properly in script debugger output Fixed export var default value in PackedScene when script is not loaded in editor Fix Container sorting not working when overriding _sort_children in gdscript TextEdit search returns a dictionary instead of Vector Option in RichTextLabel for height to fit content Fix dialog spam when inspecting MeshInstance from model file Fix resource preview in remote inspector Use long instead of int for object id in Android java wrapper Proper surface reset when resuming app on Android Add color option for img bbcode tag in RichTextLabel to tint images Fix inconsistent error messages with Android custom export templates Set proper file type attribute for OSX zip export Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queries Fix errors when creating windows on Windows Removed errors when List::erase() can't find the value Added flip_h and flip_v properties in TextureButton Fix RichTextLabel fill alignment regression Fix crash on project files import in EditorFileSystem Keep debug & verbose options after loading project from project manager Fixed mesh data access errors in GLES2 Optimized ScriptEditor initialization when many scripts are loaded Disable virtual keyboard focus adjustment on Android Fix MoltenVK layer creation when compiling with OSXCross Set minimum osx version to 10.12 for OSXCross compilation Add option to disable virtual keyboard for LineEdit Fix virtual keyboard height regression Fix Return key events in LineEdit & TextEdit on Android Move PopupWindow logic to GodotEditText on Android Add option to disable virtual keyboard for TextEdit Fix 2D Particle velocity with directed emission mask Re-apply "Fixes for windows in X11 tiling WMs" Fix popup closed when an ancestor window is focused Add Viewport/SubViewport node compatibility Fix menu popups delay and focus in X11 display server Fix WINDOW_EVENT_FOCUS_IN for popups on Windows Fix drag and drop between windows in X11 display server Fix LineEdit not consuming enter events Fix TURN server example in WebRTC documentation Fix RichTextLabel alignment for clickable regions Fix popup menu item selected when opening the menu Fix general keyboard input lag on X11 display server Fix delay to process clipboard content from Godot in other programs Fix x11 display server crash when deleting popup window when unfocused Fix Popup crash in single window mode Implement SAVE_TARGETS mechanism for Linux clipboard Release .build_version file handle in Android custom build export Expose LineEdit scroll offset to scripts Fix DebuggerMarshalls errors while profiling Fixed ccd enabled by default on Bullet bodies Implement INCR mechanism for Linux clipboard Fix base script not initialized properly in some cases Fix error when calling coroutine with await in _ready Update body transforms on joint2D setup Update String property field only when text has changed Fix collision shape update when changing shape properties Improve Raycast3D render debug Remove useless "else" statements from vector3.h Fix contact points debug for 3D Physics Fix physics queries not filtering out disabled collision shapes Cylinder support in Godot Physics 3D Revised cylinder contact point generation TextEdit respects content margin from StyleBox Fix TextEdit autoscroll with wrapped lines Expose RichTextLabel selection to script Fix test_body_motion recovery Added LocalVector to Visual Studio debugger visualization Added option in project settings to draw Shape2D outlines Fix Joint2D/Joint3D node path reset on scene switch Fix errors and crash with empty ConvexPolygonShape2D Fix errors with invalid CollisionPolygon2D Fix GodotPhysics solver with kinematic body set to report contacts Fix pinned vertices in SoftBody editor gizmo Fix Cylinder shape collision with margins when using GJK-EPA Disable debug collision shapes in the editor Fix capsule-cylinder collision in godot physics SoftBody support in GodotPhysics 3D Disable backface collision with ConcavePolygonShape by default Fix spamming errors when SoftBody pinned nodes have no attachment Fix PhysicalBone gizmo not showing More detailed documentation for KinematicBody safe collision margin Draw triangles for HeightMapShape debug collision Fix RayCast3D color in game with no collision Heightmap collision shape support in Godot Physics Fix TextEdit cursor update when adding or deleting text Fix SoftBody contact impulses applied on rigid bodies Godot Physics solver optimization Fix crashes with CollisionObject debug shapes Fix errors related to joints setup with two non-dynamic bodies Godot Physics collisions and solver processed on threads Expose get_debug_mesh in Shape3D to scripting API Allow values > 1 for friction and bounce in PhysicsMaterial Dynamic BVH broadphase in 2D & 3D Godot Physics KinematicBody split between new CharacterBody and PhysicsBody Properties for move_and_slide and remove move_and_slide_with_snap More explanatory names for RigidBody modes Support for kinematic_motion in StaticBody Safe margin cleanup Linear velocity cleanup Fix uninitialized members in physics query results Use degrees instead of rad for floor_max_angle property in CharacterBody Expose collider RID in 2D/3D kinematic collision Fix sub-resource storing the wrong index in cache Make LineShape2D normal point upwards by default Fix export var override in PackedScene at runtime Fix and clean disabled shapes handling in godot physics servers NodePath properly updated in the editor in more cases Fix move_and_collide causing sliding on slopes Add support for controlling physics nodes' behavior when disabled Coding style fix in editor NodePath update Make move_and_slide collision detection more accurate Expose body_test_motion in 3D physics server Remove unused PhysicsShapeQueryResult3D & PhysicsShapeQueryResult2D Fix concave collision with backface collision disabled Options to clean/simplify convex hull generated from mesh Optimize NodePath update when renaming or deleting nodes in the editor Move sync to physics to StaticBody2D Support for 3D sync to physics One-directional collision layer check for rigid bodies and soft bodies Fix logic for Popup closing when parent is focused Fix popup closing immediately after showing on some Linux WMs Optimize theme change in code editor Refactor layer property editor grid Fix inverted condition in CharacterBody2D/3D set_max_slides Fix one-way collision in Tilemap Fix applied rotation from moving platforms in move_and_slide Fix 3D moving platform logic Remove infinite inertia and ray shapes from CharacterBody Make radius & height in CapsuleShape3D independent Uniformize layer names, script methods and documentation Fix crash when failing to load script from cache Fix 3D character snap on moving platforms Fix Skeleton3D regression when bones are not sorted from root to leaves One-directional layer check for Area vs. RigidBody/SoftBody/Area Fixes in Bullet body_test_motion Fix capsule height/radius setters with linked properties Fix compilation warnings in Shape2DSW/Shape3DSW Fix point gravity calculation Port recent move_and_slide fixes to 3D Restore RayShape as a regular shape type Fix RayShape collision detection Fix CharacterBody motion with RayShape Rename slips_on_slope to slide_on_slope Rename RayShape to SeparationRayShape Clean physics direct body state usage in 2D and 3D physics Fix segment intersection consistency in Geometry2D Fix AnimationBlendTree reset on resource loading Fix delta passed in _physics_process Optimize area detection and intersect_shape queries with concave shapes Fix loading packed scene with editable children at runtime Harmonize default value for collision mask in ray/shape queries Add AnimatableBody inherited from StaticBody for moving platforms Add support for adding plugin views behind the main view on Android Proper support for custom mass properties in 2D/3D physics bodies Optimize raycast with large Heightmap shape data Fix process mode update when mode owner is set to Inherit Fix undo/redo for properties set as PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED Rename WorldMarginShape to WorldBoundaryShape Clean convex hull decomposition code Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody Clarify RigidDynamicBody modes Don't override KinematicCollision reference when still in use in script Improved logic for CharacterBody collision recovery depth Fix buffer overflow in 2D BVH Fix AnimatableBody moving and colliding during the first frame Fix motion direction in slope for CharacterBody3D Remove shape metadata from 2D physics server Fix angular velocity default value in TileSet Remove editor code in PhysicalBone3D Remove scene code in physics servers Rename Joint2D and Joint3D files for consistency Fix crashes with pinned vertices in GodotPhysics Soft Body Script interface improvements for test body motion Fix physics glitch with TileMap moving platforms Add pre-sort signal and notification in Container Fix editable children errors when packing scene tree at runtime Rename Godot Physics classes from *SW to Godot* Fix 2D center of mass not updated from transform Fix errors in mouse detection when removing collision object from tree Fix SoftDynamicBody3D memory corruption when switching mesh at runtime Fix SoftDynamicBody3D crash when setting disable mode Fix RigidDynamicBody collision update after changing collision layer/mask Fix RigidDynamicBody2D auto center of mass calculation Improved RigidDynamicBody linear/angular damping override Add KeyPress & KeyRelease events to X11 debug events logging Fix input events random delay on X11 Fix window_get_current_screen for X11 display server Implemented screen_get_usable_rect for X11 Display Server Fix crash in Tileset with get_collision_polygon_shape Fix errors with invalid bone node path in Polygon2D Fix BadWindow X11 errors when a window is closed while processing struts Use parameter classes instead of arguments for all physics queries Expose local center of mass in physics servers Separate space override modes for gravity/damping in Area Fix errors in CharacterBody when floor is destroyed or removed Fix test_move reporting collision when touching another body Add raycast options to hit when starting inside / hit back faces Fix physics BVH pairing for teleported or fast moving objects Fix segment intersection in Geometry2D Fix rest_info returning no result with high margin and low motion Fix contact generation with backface collision disabled Fix applied gravity on soft bodies Fix RigidDynamicBody gaining momentum with bounce Fix physics 2D/3D contact points rendering Fix shape index in multiple physics queries with Bullet Improve RigidDynamicBody contacts in 2D and 3D Update space parameters in 2D and 3D Add physics solver settings to project settings Handle test body motion with 0 margin Improve RigidDynamicBody force and torque API Fix rigid body ray cast CCD in 2D and 3D Godot Physics Powerbyte7 (1): [HTML5] Add Stadia controller to database PrecisionRender (8): Add ShapeCast3D node Improve `ShapeCast2D` and `ShapeCast3D` docs Fix `ShapeCast3D` creating runtime shape in editor Add `operator*` to `Plane` Fix Xbox Series controller duplicate input Fix type in hint when using removed built-in textures Use selected node type for choosing editor tab Fix crash when reparenting SoftBody3D with pinned points Preslavb (1): Fix selection being deleted and indentation not being accounted for Priyansh Rathi (6): use the computed value ambient_accum for ambient_light in scene_forward_mobile.glsl fix same project opening mutliple times from project manager fix axis handle gizmo letters at wrong positions on varying editor scale move gltf export under scene menu save lightmap as multi-image atlas add support for soft shadows to the lightmapper PucklaMotzer09 (10): Correctly deselect properties of TileDataCollisionEditor Unfocus Control on NOTIFICATION_EXIT_TREE Correctly show and hide tile set editor panel Add tooltips to all tile data editor properties Change translation remaps if files are moved Show that resources of remaps can not be found Update remaps in "file_removed" signal Show dependency warning when removing remaps and fallback if translation remap does not exist Add Caret Insert Below and Above shortcuts to TextEdit Use ResourceLoader::save to duplicate resources Also recursively duplicate files of a directory tree Pun1sher (1): Checking for half_image_size[ x & y ] to be non-negative. PureAsbestos (1): Change 'throws an error' to 'prints an error' in classref Quadtree (1): Add cwrap to EXTRA_EXPORTED_RUNTIME_METHODS Quentin Guidée (5): glTF: Fix export crash with a ShaderMaterial (fixes #70159) Remove redundant nullptr check before delete Fix use of comma instead of semicolon Fix double get_singleton() ThemeOwner: Extract get_owner_node_theme Quentin Quaadgras (1): Fix _unnamed_arg so that arguments defined by GDExtension show up in docs. R. Alex Hofer (3): Handle having no sinks in the PulseAudio driver. Fully qualify C# default values in exported fields. Remove unnecessary namespaces in generated PropertyDefVal files. Rafael Delboni (2): Improve LSP completion using scene owner Fixes: #36473 fix: Return only scenes for script owners on LSP completion Rafał Mikrut (68): Fix suspicious | and + operators Added code coverate support to Godot Fixes bugs found by Sonarcloud and Coverity Added to .gitignore - Cppcheck and code coverage Fix out of bound array access caused by unassigned variable Removed duplicated add_child Fixed leak with SpecularMergeShaderRD Fix leak with Vulkan allocator Fixed leak with vertex_formats Fixes leaks when running editor Free items before finishing rendering server Fixes leak with CopyToFbShaderRD Fixed crash caused by unitialized variable Fixes leaks with Vulkan device and instance Fixes leaks in ResourceCache, Vulkan and X11 Change non-existent World to World3D Fix copy paste array index bug Don't override format value Fixes type of array in _set_outlines function Fix memory leak with light maps Fixes memory leak with lightmap part 2 Fixes recently introduced shader leaks Fixes leak with creating editor settings Fixes leak when creating bullet shape Add Linux sanitizer build to github workspace Fixes leaks with shader and material Don't try to compare freed object to nullptr Fix invalid method names Remove Attempted to free invalid ID error Fix crash when printing leaked nodes Allow to open multiple projects when some are not imported or without main scene. Initialize class/struct variables with default values in core/ and drivers/ Initialize class/struct variables with default values in platform/ and editor/ Do not iterate over map when removing its values Remove memory leak in Canvas Group Fix Leak with Gradient in Node3DEditorViewport Fix errors when removing non Control node from TabContainer Add temporary variable to not use freed memory Don't use trashy max_decals value to prevent crashes Fix nan errors when using VehicleBody Initialize class variables with default values in scene/ [1/2] Initialize class/struct variables with default values in modules/ Initialize class variables with default values in scene/ [2/2] Fix memory leak in Xatlas module Change CRASH_COND to ERR_FAIL in Cowdata::set Don't allow to use in bit shift negative operands Fix crashes when manipulating nodes in editor Fix memory leak in VulkanContext Allow to not optimize release build Fix crashes in *_input functions Test Godot with Vulkan in CI Add more sanitizer flags to shows more bugs Prevent setting too big or too small Collision Mask and Layer Fix 'Attempted to remove invalid ID' errors Fix crash when dividing by 0 in Vector2/3i Initialize variables in servers/physics Fix memory leak in exported project Enable mono editor build in CI Add Godot 3.x -> Godot 4.x project converter Stop CI when Godot crash More function/class renames in converter Various converter enhancements and bugfixes Check also GLES3 in CI Speedup conversion and add option to set maximum line length to prevent freezes Add missing constructor, to compile editor without regex module Remove usage of unitialized variables Fix exporting big templates Support for checking that Projection is(not) null Raffaele Picca (7): Fixed texture animation speed when using random lifetime ( Particle2D gpu + cpu) as mentioned here: https://github.com/godotengine/godot/issues/54993 Visibility rect only shown when a GPUParticle2D is selected to reduce visual clutter in scenes with a lot of Particle nodes. Random initial color parameter for ParticleMaterial Fixed sphere emission shape to emit particles in a spheres volume and added "Sphere Surface" to keep the old behaviour. Default cursor fix for html5 export Turbulence Noise for Particle Material Added default values to particle turbulence. Rahul Gandharva (1): Added missing words relating to TileSetAtlasSource Rainer Deyke (3): Made Key operators constexpr Fixed unsafe casts Fixed indents Rajat Goswami (1): Adding missing include guards to header files identified by LGTM. Ranie Jade Ramiso (1): Fix gdnative api generation for methods that return enums Ranoller (1): Fix bad position in Camera2D offset and camera rotation if smothing enabled. RaphaelHunter (1): Fix OpenSimplexNoise get_image() swap axes Rasmus Vermeulen (2): Add size warning to Viewport Node Clarify the Viewport size warning message Raul Santos (218): Avoid going out of bounds in IsSubsequenceOf Closes #35598 Fix missing null check in Mono Binding of GD.print Create default_env.tres with the same format used to save it Fix ExprMatch stackoverflow Fix typo in CollisionObject documentation Fix documentation in StringExtensions Fix bindings generator range iterator errors Use Array.Empty instead of allocating a every time Fix Set range iterator implementation Use C++ iterators in the Mono module Ignore paths with invalid chars in PathWhich Fix forward calculation in PathFollow3D for the position at the end of the curve Use `allowEmpty` parameter in Split Use C# interpolated strings Add Input documentation for `exact_match` Simplify C# print methods Rename RandSeed to RandFromSeed and use ref param Rename RotationQuaternion to be more similar to get_rotation_quaternion Add documentation to Dictionary in C# Reduce C# Dictionary internal calls Ensure MSBuildPanel buttons are instantiated Fix Path3D initial forward calculation Rename C# string extensions to follow GDScript Rename `String.IsAbsPath()` to `String.IsAbsolutePath()` Expose `String.SimplifyPath` in C# Fix PackedInt64Array typo in bindings_generator.h Fix constant tag documentation in C# bindings generator Add documentation to GodotSharp Fix properties arrays in C# bindings generator Fix autoloads iteration Fix buffer_info may be used uninitialized Support arrays of StringName, NodePath and RID in mono Support marshaling generic Godot.Object Fix C# List marshalling Fix hint_string for C# enum arrays Fix marshaling generic Godot.Object in C# Fix `bin_to_int` documentation examples Keep order for C# exported members Implement Call methods in C# Callable Ensure C# script properties are added to the end Rename Vector parameters to be consistent Skip script property in remote object property list Fix typo in `gdscript_parser` Fix get_all_delegates method for generic classes Fix Godot.SourceGenerators for generic classes Bump Godot.NET.Sdk and SourceGenerators versions Replace deprecated GetItemCount() with ItemsCount C# script reload fixed Rename C# `Quaternion()` -> `GetQuaternion()` Various fixes to C# documentation Expose `ScriptEditor::edit` to scripting Fix `KeyValuePairAt` memory leak Fix getting properties state when reloading C# Fix marshaling values of generic Godot Dictionary Rename C# `IsSubsequenceOfI` to `IsSubsequenceOfN` Attach mono thread before getting nativeName field Add array element type to `_get_polygons` and `_get_outlines` Support signals in C# documentation Sort variables in VisualScriptEditor Fix references to global constants in C# documentation generator Check for missing methods/members in C# documentation generator Fix checking for `@GlobalScope` in C# documentation generator Add theme_item support to C# documentation generator Find inherited members in C# documentation generator Refactor `bbcode_to_xml` into multiple specific methods Add icon_normal_color to Button in editor theme Ignore PhysicsServer3DExtension class in C# Support static methods in C# bindings generator Fix Curve idx calculation for baked tilts and up vectors Fix Curve bake algorithm Implement `mark_dirty` in Curve2D and Curve3D Expose Curve points in the inspector Generate typed array parameters in C# bindings Support explicit values in flag properties, add C# flags support Add array element type to `get_connected_joypads` Fix EditorScenePostImport templates for C# Add icon colors to editor theme Fix Curve{2D,3D} notifying property list changed Add C# support for bitfield enums (flags) C#: Enable exporting nodes to the inspector C#: Add `BezierInterpolate` method Ensure NuGet.config directory exists C#: New `RPCAttribute` Fix Callable calls in mono module Add editor_paths.h include missing in mono module Rename math 'phi' arguments to 'angle' in C# Fix `Vector4::min_axis_index` for equal components C#: Remove unused `Transform2D.ScaleBasis` method Add conversion for `sync` and `slave` GDScript keywords Add conversion for the RPC attributes in C# Various fixes to C# documentation Fix typo in weakref documentation Avoid paths with invalid characters in `IsRider` Add `@GDScript.type_exists` documentation Expose string array properties in OpenXR module as PackedStringArray Remove copy constructors in C# structs Avoid trying to load non-existent assembly Improve C# signal analyzer errors C#: Replace `Xform` and `XformInv` with `*` operator Seal classes that can't be inherited from Add `includeInternal` to C# NodeExtensions and fix get_child documentation Avoid printing an error in GetChildOrNull Update C# named colors to use HEX codes Use pattern matching to simplify `Equals` Add MustBeVariant attribute and analyzer Various C# documentation improvements Remove `[Signal]` attribute from events Fix various C# exceptions Fix C# style with `dotnet format` Add `dotnet format` to CI to check C# style C#: Add missing match check in `Quaternion.Slerpni` C#: Fix `Transform3D` interpolation and add spherical interpolation C#: Add `GetAngle` and `GetAxis` to Quaternion C#: Add `Exp` and `Log` to Quaternion C#: Fix `Quaternion.CubicSlerp` C#: Rename and fix `Quaternion.SphericalCubicInterpolate` C#: Add `CubicInterpolateInTime` C#: Add `CubicInterpolateAngle` C#: Fix byteCount in `NativeMemory.Alloc` Fix .NET exporting in Linux C#: Ignore property indexers and report if exported C#: Assume 64-bit types when type has no meta Add support for system dark mode (Linux) C#: Connect only once for each signal of a script C#: Create script instance of reloaded scripts even if they're not tools Fix MacOS compiler flags in .NET module Fix NuGet fallback folder packages Fix invalid C# in crypto docs Fix theme methods usage in docs C#: Move signal documentation to the event C#: Add documentation to signal delegates Make `push_nupkgs_local` absolute C#: Fix marshaling generic Godot collections C#: Rename `PlusFile` to `PathJoin` Improve C# documentation for FileAccess and DirAccess C#: Guard against null assemblies C#: Suppress EventHandler suffix diagnostic for signals C#: Use Span in Color to avoid string allocations C#: Fix signature of generated signal callbacks C#: Generate symbols packages Fix dotnet format Guard against more potential conflicts in C# bindings generator Use `.generated` suffix for generated C# code Change exclude property in `PhysicsRayQueryParameters3D` to TypedArray C#: Add implicit conversion from arrays to Variant Add GCC problem matcher to CI Remove redefinition of `notification` method in `XRInterfaceExtension` Add `readonly` to C# methods and types that don't mutate C#: Remove "?" from CEscape and CUnescape C#: Fix incorrect types used in ArrayMesh docs C#: Synchronize Godot enums with core Fix C# documentation for Godot.Object C#: Implement BezierDerivative C#: Add Projection documentation C#: Cleanup and sync StringExtensions with core C#: Cleanup and sync `IsValid*` StringExtensions with core C#: Cleanup and sync crypto/buffer StringExtensions with core C#: Add `global::` namespace to generated source Fix `VariantUtils.UnsupportedType` method throwing C#: Remove VariantSpanDisposer and use constants in stackalloc C#: Remove/deprecate unnecessary string extensions C#: Always convert float Variants to System.Double C#: Expose attribute properties and add documentation C#: Fix bindings generator for methods that return signals C#: Rename SignalInfo to Signal and make awaitable C#: Synchronize Color with Core C#: Add note about the class name in instantiate error C#: Disallow init-only properties C#: Rename `ConvertToX` methods C#: Avoid generic types in the script path attribute generator C#: Add `[Flags]` attribute to core bitfield enums Add `IsFinite` to C# Variants Add `IsZeroApprox` to C# vectors C#: Lookup signals and methods in Get method C#: Remove `SphericalInterpolateWith` from Transform3D C#: Remove `includeBorders` parameter from `Rect2i.Intersects` and `AABB.Intersects` C#: Sync `Basis` with Core C#: Make `Length` and `LengthSquared` into methods in `Quaternion`. C#: Replace `Rotation` and `Scale` properties with get methods C#: Add missing `Transform{2D,3D}` and `Basis` constructors Rename `center` method to `get_center` in Plane. C#: Sync `Plane` with Core C#: Implement `Mathf.SinCos` C#: Make property accessors internal C#: Skip methods with pointer parameters Sync C# vectors with Core C#: Implement `ExportPlugin::_get_name` C#: Move `GLOBAL_DEF`s to CSharpLanguage ctor Add property usage to array indexer C#: Restore `Scale` and `Rotation` properties Update C# signal documentation and remove bind array C#: Move `LinearToDb` and `DbToLinear` to Mathf C#: Add float an double overloads to Mathf Sync C# Dictionary with Core Seal C# attributes C#: Sync GD with Core C#: Implement disposable pattern and seal `GodotSynchronizationContext` class and related C#: Annotate API with MustBeVariant C#: Skip documentation syntax in MustBeVariant analyzer Add `GodotTypeInfo::Metadata` to `MethodInfo` C#: Add global namespace to grouping property info C#: Renames to follow .NET naming conventions C#: Rename `Object` to `GodotObject` C#: Implement readonly-ness in Array and Dictionary C#: Remove obsolete StringExtensions methods C#: Remove `GetArea` and `GetVolume` methods Fix lookup of C# types by their engine name C#: Add `Skew` to `Transform2D` and fix `InterpolateWith` C#: Fix `Rotated` and `RotatedLocal` Sync C# Array with Core C#: Implement `IEquatable` in `Rid` Fix C# examples in documentation Use enum instead of int in virtual methods return type Use `PropertyUsageFlags` enum in parse_property Update Variant documentation for C# Build C# csproj instead of the solution C#: Open the solution directory when using VSCode C#: Check if a class is a singleton using the Core name RechieKho (2): Disallow setting editor-only metadata in the editor Define zoom shortcut before using it Red Headphone (2): no limit of negative value for engine_force (VehicleBody class) progress_offset now added to reference cross draw function RedHeadphone (2): validate input in Time.get_datetime_string_from_dict() correct initial cpu particle velocity RedMser (36): Fix glTF scene export crash on null normal texture Add error for invalid RichTextLabel.install_effect Fix unnamed arguments in XML docs Add ResourceUID documentation Implement `keep_screen_on` for Windows Only define `keep_screen_on` project setting once Fix some property validation not been refactored Remove unintentional PROPERTY_USAGE_INTERNAL EditorFileDialog: disambiguate recent/favorite items Fix #65122: disambiguate_filenames freeze EditorTheme: Remove rounded corners for all popups Allow searching for annotations in help Add recursion depth check to JSON stringify/parse Fix #66062: editing shortcut_context in inspector Further cleanup of VisualScript references Run svgcleaner on MemberAnnotation.svg Add note about JSON.parse not being spec compliant Show method override icon in script editor gutter SceneTreeDialog: focus search bar by default Fix Control.get_global_rect documentation Fix wrong docs opening in script override gutter Remove LGTM badge Add documentation for viewport's input handling Add warning for missing characters in label font Remove incorrect px suffixes Show warning when scaling Light3D nodes Fix type of safe_velocity parameter Fix disambiguate_filenames absolute paths on Unix Add unregister for GLTFDocumentExtension Batch import Blend files using XML RPC Fix confined mouse mode not updating on resize Document internal usage of encode/decode_variant Fix documentation 2d/3d mixups Fix SplitContainer rendering and theming Better error handling for Blender RPC import RichTextLabel fixes RedworkDE (13): Fix LOD sort order; checks in add_surface; and document all parameters of `ArrayMesh::add_surface_from_arrays` C#: Allow use of .NET 7 C#: Preserve directories in output during export C#: Set AppContext.BaseDirectory for editor builds C#: Implement `IEquatable<>` and equality operators in `NodePath` - Implement `IEquatable<>` interface. - Implement `==` and `!=` operators. - Override `Equals` and `GetHashCode`. C#: Declare `IEquatable<>` interface for `StringName` C#: Fix AppContext.BaseDirectory C#: Rename export settings `mono` -> `dotnet` and remove unused AOT settings Bind `EditorExportPlugin::_get_export_features` Fix `texture_format/bptc` export option C#: Fix internal source generator on the 7.0.200 SDK C#: Fix line position when opening file in VSCode C#: Fix editor crashing without a message when .NET is not installed Relintai (1): Fix startGame's logic in engine.js. Remi Rampin (1): Update description of Object.free() method Resul Çelik (1): SCons: Pass tests configuration to the MSVC solution Revan Ji (1): Add set_frame, pause, and oneshot to AnimatedTexture Rhathe (1): Enable setting of collision iterations in PhysicsServer2D Ricard Rovira (1): Use unused from in local vector find function. Ricard Rovira Cubeles (1): Add constant to vector function parameters that don't actually modify their input. Add more overloads of vector multiplication, required by templates to compile with float=64. Ricardo Alcantara (1): Basis RotationQuat should be public. Ricardo Buring (45): OptionButton::pressed(): give focus to selected Fix import hints breaking node paths in animations Fix "Convert to MeshLibrary" not respecting collision transforms In final phase of test_body_motion, move and cull AABB for body once, instead of for every shape Joint2D and Joint3D: disconnect only connected signals Joint2D and Joint3D: update joint on NOTIFICATION_POST_ENTER_TREE Joint2D and Joint3D: make set_exclude_nodes_from_collision respect signals Fix out of bounds crash in particle collision gizmo PinJoint2D: fix inertia tensor, taking center of mass into account PhysicsServer3D docs: sync phrasing of get_process_info with 2D docs Raycasts hitting from inside: return collision point in global coordinates PathFollow2D and PathFollow3D: don't set offset to NaN ProjectSettings: use RBMap again instead of HashMap Add motion parameter to toggle whether recovery is reported as a collision Fixup BVH debugging statements Don't move nonexistent debug shapes Fixup array property inspector Fix SoftDynamicBody3D normals Document behavior of areas with concave shapes Fix collision solving between world boundary and motion shape Fix collision solving between world boundary and shapes in motion (2D) Create GDExtension classes for PhysicsServer2D Bind all methods in PhysicsServer2DExtension, PhysicsServer3DExtension Expose registration of physics servers to GDExtension PhysicsServer2DExtension and PhysicsServer3DExtension: bind all methods (really) PhysicsServer2D and PhysicsServer3D: make body_set_state_sync_callback take a Callable Callable: add callv method GodotCylinderShape3D::get_supports: delete dead code Revert "Turn on recovery as collisions only for floor snapping as this leads to unwanted behaviour for other surface than the floor." Node3D editor: cast rays in NOTIFICATION_PHYSICS_PROCESS GDExtension: add support for abstract and virtual classes Warn against using non-uniform scale for 3D physics Update remaining physics exclude parameters to use TypedArray Fix collision detection for degenerate capsules Fix typo in cylinder-cylinder SAT collision solver Fix typo in physics step: contraint -> constraint Fix typo bug in heightmap shape Fix edge map capacity in convex hull computer Bind setter and getter for pin joint parameters in PhysicsServer2D Add get_contact_impulse method to PhysicsDirectBodyState2D Fix separation ray normal direction Notify dependencies when setting custom mesh AABB Fix MultiMesh visible_instance_count being ignored after the first frame Co-authored-by: Clay John Fix CCD in case of multiple supports in motion direction Fill and fix PhysicsServer2D documentation Ricardo Prins (1): Add description to TileSet.is_tile_bound() method Ricardo Subtil (30): Fix divison by zero issue Fixed WM_DELETE flag being set too late Allow Godot to kill it's own PID Expose disable_render_loop property to GDScript Allow Godot to import .ZIP files with non-regular structure Disable code to add patches menu Changed path behaviour for Windows Fix wrong exit code being returned Fix visibility issue with zoom label Changed shell_open behaviour Added missing returns on error scenarios Hide .gdignore'd folders Fix negative VRAM values Replace malloc's with Godot's memalloc macro Fix zip_root not being defined when importing by drag&drop Implemented initial DAP support Fix messages with embedded newlines not being properly presented Implemented advanced features of DAP Fix path with multiple slashes not being corrected on templates Fix error list not being cleared Fix shell_open not returning errors on Windows Fix null crash with TextEdit Fix crash with indexing array with bad values Added more empty definitions for headless display server Fix wrong comparison with default values Fix decompression functions not returning errcodes Restore hidden folder behavior for project manager Clamp ratio from popup_centered_ratio Document PopupMenu id behavior Change message of unknown joypad property from error to warning Richard Adenling (1): Fix for 2D viewport not updating in the editor when the camera moves Richard Menzies (1): Fix wrong selection on cloning a line down in the editor Richard Patching (1): Fix tp_canvas_item typo in _draw_rect_region Riley Lyman (2): Make Resource properties accept SE plugin scripts Break TileMap _clear_internals out from _recreate_internals Rindbee (59): Fix text buf does not clear when calling the method set_item_text in PopupMenu Fixes incorrect display of property labels with feature tags Fix font_size not working in TabContainer Limit the maximum value of unbinds to signal_argument_size Reset buttons_visible to false while tabs is empty in TabBar::_update_cache Fix strange behavior with list close tags and empty list tags Fix setting owner on internal nodes when save brach as scene Fix the bug that the sampling position is reversed, make eyedrop reusable. Fix previous min size affects _get_contents_minimum_size in AcceptDialog Quickfix editor hangs when rooting a window with exclusive and transient flags enabled Avoid possibly showing two Dialogs at the same time Fix ProgressBar's minimum size not updating when toggling its percent_visible Make import preview of blend files visible Fix property link not working in MultiNodeEdit Make the meta click area fit Fix getting outdated tab controls Fix incorrectly clearing edit menu Fix indeterminate minimum size in ScrollContainer Fix repeatedly opening the Advanced Import Settings dialog for fonts getting an error Remove `first_draw` and reset visibility when entering tree Fix Color Picker value box not continuously updating Fix using wrong variable when checking in `ResourceSaver::save` Fix toggling after scrolling resulted in blank space Fix Hue slider incorrectly rotated 90 degrees in ColorPicker Fix case where `h_separation` might not work in `Button` Add some codes, returnes directly if the value is not changed. Improve PackedScene instantiate Fix getting an error message when repeatedly entering and exiting the tree Fix Skeleton3DEditor crash Fix Skeleton3DEditor causing crash in sanitizer enabled builds Fix file list in FileDialog not updating on first run Update checked based on the variant type of the value Fix minimum size calculation for TabContainer Make the inner TabBar in a TabContainer behave as if it were in a Container Let the cached `TextLine` reset the width in `get_string_size` Fix EditorInspectorCategory minimum size calculation Fix sub-scene root nodes not getting the correct inheritance chain when exporting Load/update GDScript from disk on load if cache mode is CACHE_MODE_IGNORE Fix out of sync when the script is edited externally via lsp Fix the file newer dialog that keeps popping up Fix the flickering of the line gutter icon when saving Make sure to reset the tooltip of its gui_parent when the viewport is removed Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated documents before saving Fix wrong condition used in `set_custom_color` Improve caret drawing conditions for `LineEdit` Fix some bugs about search in code editor Use more reasonable scrollable conditions in `ScrollContainer` Improve validation when setting `max`/`min`/`page` in `Range` Fix calling `_call_shortcut_input` on a node that has been removed Fix memory leak in `EditorSettingsDialog` Make sure the popup editor is hidden when selected Fix child nodes still being drawn when the visible area of a control with `clip_contents` enabled is `0` Fix suppressed error message on error when using % format string Use buffer to speed up copying/transcribing when renaming dependencies Defer `EditorInspector::update_tree` to the process stage to improve performance Propagate the keying state in the inspector Fix internal editor not updating when using external editor via LSP Use min_size/max_size to limit the window size and the position while popup center Calling popup_center* with the default size will use the current size Rishabh Abhani (1): added null checks for mesh in resource importer Riteo Siuga (19): Improve the MIME source file Change CapsuleShape3D's collision detection axis to vertical Remove GridMap's "Lock View" option and a related method. Revert "CI: Disable Linux GCC ASAN temporarily" Remove `-pipe` from `LINKFLAGS` Improve `linuxbsd` headless building, cleanup build scripts Actually set the execinfo flag on non-glibc systems Use opaque composition if transparency is disabled Check for a Vulkan extension before checking its features linuxbsd: move all X11 stuff in its own directory Add an exception for thirdparty subdirectories in file_format.sh Regenerate GL loader code with GLAD 2 Load GLX dynamically with GLAD Load X11 dynamically Allow building X11 without Vulkan Make PIE relocation detection glibc-only Fix builtin alsa headers building on musl Move xkbcommon dynamic loading code into generic linuxbsd folder Put KeyMappingX11 stuff inside its own scope Robbie Cooper (3): Fix file panel renaming unable to change the case of dirs on Windows Vulkan Clustered: Fix culling of negatively-scaled objects Support 2 bits per pixel BMP images Robert Shenton (1): Improve clarity surrounding Timer's time_left variable Robin Arys (6): Fix shaders that use TIME do not force editor to continuously update Fix Tabs crash where it still tries to detect the clicked tab even if there are none Fix support for multiple base types in the quick load dialog Fix newly created files not sorted correctly Fix possible crash when calling Tree.notification from _ready Expose load_threaded_request's cachemode to GDScript Ron Bessems (2): Add Magic Leap 2 OpenXR Interaction Profile Add XR Environment Blend Mode Support RoniPerson (3): Added missing `:` in gdscript example. Added documentation to some `add_*_plugin` methods changed description of `merge_polygons` Rudigus (1): Improve error explanations related to UPNP and UPNPDevice Ruthger Dijt (1): fix nullptr dereference in AnimationTimelineEdit Ryan Heath (1): Add area monitor callback error checking Ryan Roden-Corrent (30): Include gdscript warning name in the warning message. Revert "Include gdscript warning name in the warning message." Include gdscript warning name in LSP message. Clarify how to convert PrimitiveMesh to ArrayMesh. Fix bound return type on get_priority. Fix hints on PhysicsMaterial bounce/friction. Clarify store_string vs store_line. Fix typo in Tabs doc. Proposal 1246: Make Path3D handles more visible. Clarify Curve3D.get_point_{in,out} position in doc. Clarify that create_timer does not require cleanup. Clarify EditorImportPlugin.get_visible_name. Clarify Curve.get_closest_point uses baked points. Implement camera orbiting shortcuts. Copy/Paste property paths/values in inspector. Don't handle property_editor shortcuts on release. Add QuickLoad option to resource picker. Clamp rotation for up/down orbiting shortcuts. Fix typo in create_outline error message. Document how to autoscroll ScrollContainer. Implement blender-style 3D transform tools. Merge create_physical_skeleton undo entries. Don't block input after cancelling transform. Disable blender-style tranforms in freelook. Create parent directories on export. Copy full project setting path from dialog. Clarify Array.erase for nonexistant element. Migrate project list to separate config file. Explain that Array.duplicate will not deep-copy Object. Warn against erasing array elements while iterating. Rémi Verschelde (1104): Use MOUSE_FILTER_PASS for all containers (but PanelContainer) Bump version to 4.0-dev Changelog: Mention 3.2 changes to TileMap features Drop obsolete Dockerfile, we now have official build containers GraphEdit: Fix regression with GraphNode mouse filter SCons: Generate header with info on which modules are enabled Use modules_enabled.gen.h to improve inter dependency checks SCons: Split libmodules.a in folder-based libs Workaround WebM playback bug after AudioServer latency fixes doc: Sync classref with current source Travis: Use Python 3 for SCons VulkanLoader: Make Windows includes lowercase for MinGW SCons: Streamline Vulkan buildsystem + fixups RID_Alloc: Fix locking in getornull and free early returns basis_universal: Fix py3 build and document license and provenance glslang: Disable warnings and allow unbundling Better format generated shader headers basis_universal: Use proper basisu_transcoder.h header, fixes Clang build Fix code formatting issues and VS compilation Fix crash after rebase on the master branch Vulkan: Fix false positive in ninepatch axis stretch code Vulkan: Move thirdparty code out of drivers, style fixes doc: Sync classref with current source Remove deprecated decimals builtin Remove deprecated PhysicsBody friction and bounce parameters doc: Add BaseMaterial3D strings ported from SpatialMaterial Fix Mono and GDNative builds after changes to ObjectID GDNative: Make godot_int an int64_t Remove deprecated sync and slave networking keywords Remove deprecated PacketPeer allow_object_decoding Remove obsolete GLES3 backend Remove more deprecated methods and code basis_universal: Update to upstream commit from Jan 4, 2020 Fix various GCC compilation warnings after Vulkan merge Remove incomplete battery status/power API Vulkan-Loader: Mark secure_getenv as available on Linux doc: Only encode version branch (x.y) in class header i18n: Sync translations with Weblate i18n: Sync translation template with current source ClassDB: Workaround double-free for GDScript Revert "Remove TextFile from public API" Fix arguments/default values in CanvasItem bindings Mono: Fix build after ObjectID and Texture2D changes EditorProperty: Fix handling of PackedRealArray doc: Sync classref with current source Fix compilation warnings and re-enable werror=yes on Travis doc: Sync classref with current source i18n: Sync translations with Weblate Travis: Fix clang-format on non-master branches SCons: Explicitly define our C (C11) and C++ (C++14) standards Travis: Force updating homebrew on macOS doc: Sync classref with StringName/Callable changes doc: Sync classref with apparent Variant return type changes Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs SCons: Bump required C++ standard to C++17 Travis: Use Ubuntu 18.04 (bionic) as base image SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS Travis: Use Xcode 11.3 for macOS/iOS Replace FALLTHROUGH macro by C++17 [[fallthrough]] SCons: Add GCC/Clang minimum version check Signals: Make callbacks non-const, callable_mp can't handle it callable_mp: Fix non-debug branch Signals: Fix invalid connections to missing callbacks Travis: Use Python 3.8 alias instead of specific version Expression: Fix parsing integers as 32-bit Update docs and bindings for new integer vector types doc: Sync classref for Packed{Int,Float}{32,64}Array additions SCons: Re-allow upcoming GCC 8.4, fixes C++17 copy elision SCons: Fix get_compiler_version() to return ints Fix build after merge of #36077 Signals: Port connect calls to use callable_mp Signals: Manually port most of remaining connect_compat uses Signals: Port more uses of connect_compat ConnectionsDock: Fix error when parsing CustomCallable connections doc: Sync classref with current source doc: Fix wrong reference after last update Signals: Fix some regressions from #36426 SCons: Expand env variables to check compiler version Vulkan: Use Godot print macros matching MessageSeverity flag Mono: Fix detection of Apple platforms in build script ConfigFile: Improve error messages and complete docs Signals: Don't pass default binds to EditorProperty property_changed mbedtls: Update to upstream version 2.16.5 assimp: Clean and document buildsystem, prepare for unbundling assimp: Sync with upstream 0201fc5 Update Vulkan loader and headers to sdk-1.2.131.2 glslang: Sync with upstream 4fc7a33 for Vulkan SDK 1.2.131 i18n: Sync translations with Weblate doc: Sync classref with current source Revert "assimp: Sync with upstream 0201fc5" DocData: Fix serialization of Variant default values vulkan: Re-add option to build Vulkan-Loader statically mbedtls: Re-apply upstream PR 1453 after #36823 Revert "Enhanced physical device selection to use device type and available memory in relation to issue #35397" mbedtls: Re-add patch to disable VIA padlock Revert "Change LINKFLAGS to FRAMEWORKS which is supported since" Fix -Wshadow=local warning in EngineDebugger Linux: Add Mesa 20 "Intel" to prime detection Update AUTHORS and DONORS list typedefs: Cleanup unused macros and unnecessary checks doc: Sync classref with current source i18n: Sync translations with Weblate Style: Set clang-format Standard to Cpp11 doc: Sync classref with current source opus/vorbis: Remove dead code not used since 3.0 i18n: Add support for translating the class reference i18n: Add header strings to translation catalog i18n: Add Makefile to extract classref strings i18n: Generate translation template for class reference Fix potential divisions by 0 reported by MSVC Travis: Temporarily disable macOS builds Remove unused classes and stray headers Move DocData and Collada out of their subfolders glTF: Fix tangent generation for non-blend shapes Style: Harmonize header guards to style guide [Core] SCons: Drop support for Python 2 Travis: Disable HTML5 again until ported to DisplayServer DisplayServer: Fix registration of GetRenderingDriversFunction Fix some -Wmaybe-uninitialized warnings Fix build with disable_3d=yes, remove dependency on WorldEnvironment Rename more 2D and 3D nodes to follow convention More server renames for consistency after #37361 Fix copyright headers for recently added files SCons: Format buildsystem files with psf/black Hooks: Add pre-commit hook for psf/black formatting Hooks: Use pygmentize if available to visualize diff Travis: Add static check for Python black formatting doc: Update classref with node renames Fix another batch of -Wmaybe-uninitialized warnings SCons: Treat all warnings as errors Style: Add black format to fix_style.sh doc: Sync classref with DisplayServer/Window changes Fix more -Wmaybe-uninitialized warnings with target=release_debug etc2comp: Fix max iterations for RGBA channels Fix Clang warnings on Windows Replace more occurrences of NULL with nullptr Android: Downgrade gradle plugin to 3.5.3 doc: Sync classref with current source SCons: Expand CXX in check for vanilla Clang Vulkan: Use VK_NULL_HANDLE for handles, fixes 32-bit builds i18n: Sync translate template for class reference Travis: Re-enable Android builds Android: Bump build tools to 29.0.3 Update AUTHORS and DONORS list i18n: Sync translations with Weblate SCons: Disable -Werror on 'stable' releases Mono: Fix include for Android support Revert "Made possible to specify where to dump the contents when loading a ".pck" file" doc: Sync classref with current source DocData: Skip unexposed classes Fix handling of PROPERTY_USAGE_SUBGROUP in DocData and editor DocData: Keep Mono properties on non-Mono builds Fix more GCC -Wmaybe-uninitialized warnings mbedtls: Update to upstream version 2.16.6 jpgd: Upgrade to upstream 2.00, fuzzed with zzuf and afl enet: Update to upstream version 1.3.15 doc: Fix parsing typed arrays in makerst.py Windows: Appease capricious MSVC versions with moody headers i18n: Sync translations with Weblate Input: Drop obsolete versions of SDL gamecontrollerdb Rename InputFilter back to Input doc: Sync classref with current source FastLZ: Update to upstream version 0.5.0 Drop now unused curl_hostcheck.c stb_vorbis: Update to upstream version 1.19 pcre2: Update to upstream version 10.34 Recast: Update to upstream commit 57610fa (2019) tinyexr: Sync with upstream 4dbd05a tinyexr: Enable C++11 threaded loading thirdparty: List release years in README.md doc: Sync classref with current source i18n: Sync translate template for class reference Revert "Emit signal when animation ends by seek" doc: Sync classref with current source i18n: Sync translations with Weblate Update DONORS list doc: Sync classref with current source clang-format: Add JavaImportGroups for Java code jpgd: Fix detection of SSE2 support with MSVC freetype: Update to upstream version 2.10.2 Revert "register RenderingDevice as gdscript singleton" Style: Add missing copyright headers Style: clang-format: Disable AllowShortIfStatementsOnASingleLine Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine Revert "Renamed plane's d to distance" Input: Readd 'Default Android Gamepad' magic binding doc: Sync classref with current source thirdparty: Cleanup after #38386, document provenance and copyright doc: Sync classref with current source Port member initialization from constructor to declaration (C++11) Modernize remaining uses of 0/NULL instead of nullptr (C++11) Enforce use of bool literals instead of integers Remove redundant void argument lists Style: Fix missing/invalid copyright headers Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks Style: Enforce separation line between function definitions Style: Enforce braces around if blocks and loops Error macros: Improve style of error messages doc: Sync classref with current source GLSL: Change shader type specifier from [vertex] to #[vertex] SCons: Improve registration of compilation_db tool, check version Style: Fix unnecessary semicolons that confused clang-format Style: Remove unnecessary semicolons from `core` xatlas: Revert style changes made by mistake in #38386 xatlas: Sync with upstream 470576d DocData: Fix sorting of arguments and constants doc: Sync classref with current source Fix build after merge of #37235 Improve documentation of ProjectSettings::setup Add shortcut for Pan Mode (G) Use translated docs in PropertySelector GitHub: Remove feature request placeholder template SCons: Validate dependencies for linked multimedia modules Vulkan: Initialize struct members on declaration doc: Sync classref with current source Update AUTHORS and DONORS list Sync controller mappings DB with SDL2 community repo denoise: Restrict build to 64-bit desktop platforms oidn: Fix build for VS 2017 GDScript LSP: Fix crash in notify_client VariantParser: Fix crash on malformed vectors PackedScene: Prevent crash when root node has `parent` attribute Core: Add hints to run with --verbose when leaking nodes/resources at exit AStar: Make get_closest_point() deterministic for equidistant points doc: Make File store/get integer methods clearer doc: Sync classref with current source i18n: Sync translations with Weblate String: Use ABS macro in padding code Object: Add usage hint to instantiate Object properties in editor GDScript LSP: Fix wrong error checks added in #39385 DDS: Fix loading files without DDSD_CAPS or DDSD_PIXELFORMAT Main: Ensure existing of user data dir in `setup()` i18n: Sync translations with Weblate DocData: Skip language-specific ClassDoc without methods/constants doc: Fix rebase error from #39589 Mono: Always define options in main.cpp to keep them in docs Export: Rename 'Windows Universal' to 'UWP' Move Haiku platform port to external repository i18n: Sync translations with Weblate CanvasItemEditor: Fix losing position for drag'n'dropped scenes Main::cleanup: Move MessageQueue deletion further down where it's safer i18n: Sync translations with Weblate doc: Sync classref with current source i18n: Sync classref translations with Weblate i18n: Sync classref translation template with current docs Style: Fix copyright headers X11: Ensure XGetWindowProperty data gets freed Environment: Refactor code for readability + more Image: Improve error messages for invalid creation size Update AUTHORS and DONORS list doc: Sync classref with current source stb_vorbis: Add missing error checks in comment reading mallocs Revert "Merge pull request #38341 from verdog/camera-bounds-fix" SCons: Do not enable werror=yes by default PO loader: Fix unclosed files and error messages doc: Sync classref with current source CI: Drop AppVeyor and desktop Travis builds stb_vorbis: Update to upstream version 1.20 Travis: Pin Emscripten version to 1.39.19 TileSet Editor: Check polygon size before indexing ENetGodot: Apply clang-format and style guide Travis: Back to latest emsdk, use embedded mode properly Vulkan: Fix struct init for VkClearAttachment VisualScript: Fix -Wduplicate-branches warning SCons: Remove unused DEBUG_MEMORY_ENABLED define gitignore: Ignore binutils linker temp stXXXXXX objects CI: Add GitHub Action build for JavaScript CI: Add Mono support to Linux builds on GitHub Actions CI: Drop Travis CI config, replaced by GitHub Actions CI: Fix cache key and include base branch CI: Add iOS build on GitHub Actions SCons: Support linking system Vulkan loader while using vendored VMA SCons: Build tests/ and main/ in cloned environments CI: Install master version of psf/black Script editor: Don't open dominant script in external editor Script editor: Fix open dominant logic for language-specific external editors Style: Fix code format scripts compat with non-GNU Unices Script editor: Fix crash when root script is null Revert "Allow Area2D and 3D mouse events without a collision layer" doc: Sync classref with current source i18n: Sync translations with Weblate doc: Fix typo in BBcode tag CI: Pin Emscripten version for reproducible builds i18n: Sync translations with Weblate i18n: Sync classref translations with Weblate i18n: Sync classref translation template with current docs i18n: Sync classref translations with Weblate (again) CI: Properly exclude Azure repositories on Ubuntu Remove obsolete GLES2 backend code Update AUTHORS and DONORS list Fix warning using ERR_FAIL_INDEX on unsigned int Style: Apply format changes from latest psf/black git Revert "Check if global class file still exists before registering it" doc: Sync classref with current source Sync controller mappings DB with SDL2 community repo Revert "Updated LineEdit to address #41278" Fix invalid CSV in SDL2 controller mappings DB i18n: Sync translations with Weblate doc: Sync classref with current source i18n: Sync translations with Weblate Update AUTHORS and DONORS list GDScript: Fix MutexLock usage, fixes Clang 6 compat stb_vorbis: Increase max alloc buffer size for big Vorbis comments tinyexr: Sync with upstream 1.0.0 doc: Sync classref with current source makerst: Add missing newline at EOF Donors: Add Gamblify, remove Interblock from splash screen Linux/BSD: Fix support for NetBSD NetBSD: Implement OS_Unix::get_executable_path() X11: Try to load libXrandr.so.3 if libXrandr.so.2 isn't found Fix typos with codespell zstd: Update to upstream version 1.4.5 MessageQueue: Change default queue size to 4096 KB i18n: Sync translations with Weblate OS: Remove unused get_splash_tick_msec i18n: Rename pt_PT to pt Style: Fix black formatting after #42332 Revert "Fix editor inspector refresh not working" Better validate CollisionShape3D config. warning after #38743 glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME types glTF: Fix parsing image data with `mimeType` undefined Improve format version mismatch error in binary loader SCons: Add windows_subsystem=default, restores original behavior Fix build after merge of #40097 SCons: Refactor and cleanup warnings definition Mono: Fix typo in Godot.NET.Sdk.nuspec doc: Sync classref with current source doc: Sync classref with current source vulkan: Sync loader, headers and glslang to sdk-1.2.154.0 CI: List contents of bin/ after build Fixup method binding from #42910 CI: Don't upload linux-sanitizers artifacts Revert "fix(editor): TileMap Fill Rectangle icon" CI: Set debug_symbols=no for template builds CI: Refactor Android workflow, use pre-installed SDK and NDK vulkan: Re-add Windows patch to fix static library use Vulkan: Make validation layers optional Update AUTHORS and DONORS list i18n: Sync translations with Weblate vulkan: Backport build fix for MinGW-w64 8.0.0 Tooltips: Improve code clarity and docs doc: Sync classref with current source + fixup some bindings doc: Override default value for RandomNumberGenerator.seed Color: Fix -Wtype-limits GCC warning after refactoring CI: Build with warnings=extra to catch 'em all Variant: Rename Type::_RID to Type::RID Variant: Sync docs with new constructors, fixups after #43403 doc: Fixups to #43419 which added operators in the docs doc: Sync classref to add operators after #43419 SceneTree: Fix reparent crash with animation tracks renaming disabled Fix new transform to pixel snapping logic doc: Sync classref with Variant utility methods Debugger: Save options in project metadata i18n: Sync translations with Weblate nanosvg: Sync with upstream cc6c08d glTF: Workaround import failure with invalid embedded images Revert "nanosvg: Sync with upstream cc6c08d" OSX: Fix linking with osxcross for arm64 SCons: Remove unnecessary $LINK overrides doc: Warn about using Node internal processing Export: Reorder options for consistency across platforms nanosvg: Sync with upstream 3e403ec Style fix after #43517 doc: Sync classref with current source Core: Always enable ptrcall, remove PTRCALL_ENABLED define SCons: Do not define TYPED_METHOD_BIND on Linux/clang i18n: Sync translations with Weblate doc: Mention iOS support for Input gravity/gyroscope sensors X11: Include limits.h for LONG_MAX OSX: Remove tmp .app folder instead of moving to trash Mono: Fix Android build after #36311 Relicense Godot logo from CC-BY-3.0 to CC-BY-4.0 OSX: Fix tmp .app folder name after #44060 CI: Shrink Windows cache to 3GB, we run out of disk space doc: Sync classref with current source Fix connections to CanvasItem and Tabs signals Update AUTHORS and DONORS list LSP: Fix iterator in enum API dump FileSystemDock: List conflicting files on move HTML5: Code style cleanup for export code i18n: Sync translations with Weblate PVRTC: Move compress func to `modules/pvr`, drop obsolete PVRTexTool code Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2 ProximityGroup: Fix access modifiers, rename private methods for clarity SCons: Add only selected platform's opts to env SCons: Fix build with `p` alias or platform auto-detection SCons: Add explicit dependencies on thirdparty code in cloned env Font: Fix typo in DynamicFontData compat code bullet: Sync with upstream 3.07 mbedtls: Update to upstream version 2.16.9 Editor: Fix invalid use of Node::get_viewport() after rename of EditorNode::get_viewport() Fix missed renamings from empty() to is_empty() CI: Force building TextServer fallback FBX: Clarify outdated format error i18n: Sync translations with Weblate bullet: Sync with upstream 3.08 Update copyright statements to 2021 doc: Sync classref with current source Revert "solved ctrl + alt + special character Issue #6851" Tooltips: Fix unassigned strip_edges() call on text glTF: Fix loading external images as buffer doc: Sync classref with current source Revert "Fixed EditorPropertyText change signal emission." RichTextLabel: Fix build after #35505 zstd: Update to upstream version 1.4.8 doctest: Update to 2.4.4 enet: Sync with upstream 1.3.17 COPYRIGHT: Update with recent additions, cleanup r128: Update to upstream 1.4.4, fixes warnings pcre2: Update to upstream version 10.36 spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021) CI: Pin Android NDK r21 as we don't support r22 yet CI: Update to clang-format 11 and apply ternary operator changes i18n: Sync translations with Weblate Cleanup: Remove executable bit from files which don't need it i18n: Sync translations with Weblate doc: Sync classref with current source Linux: Enable udev support by default Linux: Build with use_static_cpp=yes by default for x86_64 Update AUTHORS and DONORS list Main: Load translations and remaps before scene types SCons: Add `production=yes` option to use production defaults doc: Don't bind argument names with p_ prefix i18n: Sync translations with Weblate CI: Build Linux editor without Mono, sanitizers with Mono Sync controller mappings DB with SDL2 community repo Fix issues in last GameControllerDB sync SCons: Fix debug_symbols tests after switch to BoolVariable doc: Sync classref with current source Sync controller mappings DB with SDL2 community repo Update AUTHORS and DONORS list SCons: Fix Godot detection in custom modules logic CODEOWNERS: Update with newly added teams CI: Remove file_format.sh changes hard to reproduce on Windows CODEOWNERS: Add some more owned files and fix team names i18n: Sync translations with Weblate Dynamically load libudev.so.1 on Linux if `udev=yes` Android: Bump NDK version to 21.4.7075529 Linux: Fix fallback logic when udev fails creating a context SCons: Make freetype module a mandatory editor dependency doc: Sync classref with current source i18n: Sync translations with Weblate CI: Build without debug symbols to reduce cache size Input: Swap events for ui_redo to favor Shift+Ctrl+Z over Ctrl+Y SCons: Properly handle overriding default values to bool options Fix Animation tracks disabled by default Revert "Add size check in Control._edit_set_state to prevent crash" RemoteDebugger: Fix possible division by zero Link to Godot Contributors Chat instead of IRC SCons: Fix parsing PATH when constructing base environment Linux: Fix PRIME detection on Steam Update AUTHORS and DONORS list i18n: Sync translations with Weblate SCons: Propagate the user's OS environment in env["ENV"] doc: Sync classref with current source SCons: Use default env["ENV"] and prepend PATH to it clang-format: Fix version number in hook warning Thread: Re-add pthread_np.h include for FreeBSD/OpenBSD miniupnpc: Update to version 2.2.2 i18n: Sync translations with Weblate doc: Sync classref with current source Mono: Fix Android build after #46900 Sync controller mappings DB with SDL2 community repo Remove now unnecessary ResourceImporterCSV importer doc: Sync classref with current source doc: Sync classref with current source FBX: Fix first bone getting unnecessary '_1' suffix i18n: Sync translations with Weblate Style: Apply clang-tidy's `modernize-use-bool-literals` Style: Apply clang-tidy's `modernize-use-default-member-init` Style: Apply clang-tidy's `modernize-use-nullptr` Style: Apply clang-tidy's `readability-braces-around-statements` Re-allow playing AnimatedSprite2D without frames i18n: Sync translations with Weblate Update AUTHORS and DONORS list Main: Default `--doctool` path to '.' if none given Sync controller mappings DB with SDL2 community repo etcpak: Fix handling of pthread naming API for Linux and MinGW etcpak: We only need the compression code, remove rest of etcpak app Scene: Remove unused `mesh_materials` StringNames Import: Cleanup and optimize etcpak compression method doc: Sync classref with current source i18n: Sync translations with Weblate fbx: Fix include for zlib that broke unbundling Add type_traits include for `std::is_trivially_destructible` NodePath: Remove unimplemented `get_parent()` method Android: Fix get_buffer false positive on empty dest buffer Linux: Remove use_static_cpp override on x86_32 Android: Upgrade buildTools from 30.0.1 to 30.0.3 Core: Drop custom `copymem`/`zeromem` defines Tabs: Remove unused 'panel' stylebox from default theme Raycast: Fix use of removed copymem after #48239 Remove obsolete LargeTexture, it's no longer useful since 3.x Replace remaining uses of `NULL` with `nullptr` doc: Sync classref with current source doc: Sync classref with current source CI: Add `--doctool` check to find missing classref updates Re-bind posmod, use int64_t instead of int Fix error handling for user-defined `ResourceFormatLoader.load` basis_universal: Update to upstream commit from Apr 16, 2021 OS: Remove native video API only implemented on iOS SCons: Disable embree-based modules on x86 (32-bit) SCons: Fix UWP build after #45315 GDNative: Fix size mismatch on 32-bit platforms for Signal and Callable CI: Update JavaScript linter deps with known security vulnerabilities SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalid Update AUTHORS and DONORS list i18n: Sync translations with Weblate Tests: Don't assume translation map ordering Fix build after mismatch between #48168 and #48599 i18n: Sync translations with Weblate CI: Install Android NDK 21.4.7075529 Android: Remove `-fno-integrated-as`, it can break arm64v8 build Fix typos with codespell Dist: Add macOS entitlements files for editor code signing OS: Remove code duplicate in XDG paths handling OS: Better validation of invalid input for get_unix_time_from_datetime i18n: Sync translations with Weblate doc: Sync classref after merge of #47336 Style: Cleanup uses of double spaces between words FileAccess: Don't err in `store_buffer` with buffer of size 0 Core: Move DirAccess and FileAccess to `core/io` VariantParser: Fix reading StringNames with '&'. Refactor editor paths validation in EditorPaths and EditorSettings Fix build after merge of #48598 Revert "Fix SceneTreeDock::_selection_changed to handle to single selection from Multiple Selection" Update AUTHORS and DONORS list i18n: Sync translations with Weblate Style fix in DONORS.md (trailing space) EditorSettings: Factor code to compute auto display scale Main: Fixup bogus fallback to project manager with more bolognese ThemeEditor: Fix text_submitted connections after #49258 Script editor: Rename 'Clone Down' to 'Duplicate Selection' i18n: Sync translations with Weblate Rename `GdNavigationServer` to `GodotNavigationServer` Android: Add `isGame` application attribute, default to true LocalVector: Don't error if `from` >= `count` LineEdit: Respect `max_length` by truncating text to append i18n: Sync translations with Weblate Update AUTHORS and DONORS list Rename Curve3Texture to CurveXYZTexture Misc cleanup of header includes Mono: Remove info dialog discouraging use in production SCons: Avoid using Python f-string to preserve Python 3.5 compat mbedtls: Update to upstream version 2.16.11 Sync controller mappings DB with SDL2 community repo WebXR: Fix build after SNAME addition ResourceUID: Fix `remove_id` binding Use const references where possible for List range iterators i18n: Sync translations with Weblate Use Ref references as iterators where relevant Allow overriding `VERSION_STATUS` with `GODOT_VERSION_STATUS` in env Add script to make source tarball with `.git/HEAD` doc: Use self-closing tags for `return` and `argument` VariantParser: Fix uninitialized ResourceParser funcs Windows: Fix build with SCons 4.2.0 Dependency editor: Edit message about move to trash i18n: Sync translations with Weblate i18n: Sync template with current 3.x codebase Tests: Improve coverage for `File::get_csv_line()` SCons: Fix info message when defining `GODOT_VERSION_STATUS` Shortcut: Rename `shortcut` property to `event` OS: Fix used resource debug prints SCons: Disable Clang -Wordered-compare-function-pointers warning SCons: Add method to detect Emscripten and use it for warnings config HTML5: Fix warnings and re-enable `werror=yes` on CI FileAccessWindows: Add missing share.h include Resource: Remove unused `_use_builtin_script()` virtual method i18n: Sync translations with Weblate Android: Use volk instead of NDK Vulkan headers Update AUTHORS and DONORS list Issue template: Fix link to CONTRIBUTING.md Style: Cleanup code using `text_editor/completion/use_single_quotes` String: Fix default decimals truncation in num and num_real String: Remove old NO_USE_STDLIB code path SCons: Fix potential error when pruning cache on CI HTML5: Handle GODOT_VERSION_STATUS env var in @GODOT_VERSION@ Rename VisualScriptEditor singleton to VisualScriptCustomNodes TextServer: Fix build with freetype disabled InputMap: Fixup `macos` feature tag overrides after #52291 Implement `OS::get_locale_language()` helper method GDScript: Remove reference to remove `@export_exp_range` Import: Disable thread import for OBJ meshes i18n: Sync translations with Weblate CI: Build test binaries with debug symbols, then strip nanosvg: Sync with upstream ccdb199 Vulkan: Update volk and Vulkan SDK components to 1.2.190 etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021) Update AUTHORS and DONORS list HTML5: Fix minification error with Emscripten 1.39.9 bullet: Sync with upstream 3.17 Revert "GdScript: Use reduced constant expression result when doing binary operations. Fixes #50293" CharProxy: Add copy constructor doctest: Update to 2.4.6 GDScript completion: Handle quote style ad-hoc to remove editor dependency doc: Fix style inconsistencies for `[b]Note:[/b]` paragraphs makerst: Add substitution for static qualifier makerst: Make external links anonymous makerst: Disable making refs for operator methods bullet: Fix UWP build by disabling TaskScheduler dynamic loading doc: Update links to latest documentation after content reorganization i18n: Sync classref translations with `3.x` branch Fix missing argument names in bindings Update AUTHORS and DONORS list mbedtls: Backport "Fix x86_64 assembly for bignum multiplication" SCons: Add `DEV_ENABLED` defines for `target=debug` builds SCons: Remove MD5-timestamp and implicit cache optimizations SCons: Increase min Python version to 3.6 SCons: Set `DEBUG_ENABLED` and `DEV_ENABLED` in SConstruct Remove WebM support (and deps libvpx and opus) SCons: List `.gen.cpp` sources explicitly to avoid globbing errors SCons: Fix missing mono `.gen.cpp` sources after #53860 i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Mono: Fix build after #52940 Main: Add documentation for `--dump-extension-api` i18n: Only include editor translations above a threshold doctool: Fix differences between headless and Vulkan rendering backends CI: Run doctool in headless mode Main: Fixup --dump-extension-api after #54017 clang-format: Sync config with LLVM 13 JS: Bump ansi-regex version for linter i18n: Sync editor translations with Weblate clang-format: Enable `--Wno-error=unknown` for compat with older versions Fix GCC 12 `-Werror=type-limits` in animation compression code mbedtls: Backport PR 4819 to fix certs parsing speed Another rename for makerst.py Android: Properly validate `godot_project_name_string` for Android special chars clang-format: Disable alignment of operands, too unreliable clang-format: Various fixes to comments alignment from `clang-format` 13 clang-format: Enable `BreakBeforeTernaryOperators` CI: Update to clang-format 13 using LLVM repo CI: Update black to 21.10b0 i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Update AUTHORS and DONORS list Sync controller mappings DB with SDL2 community repo Add missing argument names for bindings in GDExtension Fixup documentation after 3abb5a9 VisualShader: Document enum args for virtual methods Windows: Fix compilation warnings with GCC 11.2.1 Windows: Enable `/bigobj` to increase max size for obj files String: Remove `erase` method, bindings can't mutate String Color: Bind `from_hsv` as static method Rect2: Clarify docs for `has_point` excluding bottom and right borders Modules: Make sure to include modules_enabled.gen.h where needed Allow dehardcoding documentation branch and URL in docs links Replace Godot docs URL with `$DOCS_URL` in XML class reference Revert "Load assets before enabling editor plugins" Fix style issue after #54148 Windows: Use `/bigobj` only for debug builds, breaks GCC LTO i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate doc: Fix `make_rst.py` hyperlinks for theme items tinyexr: Sync with upstream 1.0.1 miniupnpc: Update to version 2.2.3 graphite: Update to upstream commit 80c52493e libogg: Update to upstream 1.3.5 pcre2: Update to upstream version 10.39 xatlas: Sync with upstream ec707faea zstd: Update to upstream version 1.5.0 libwebp: Sync with upstream 1.2.1 meshoptimizer: Sync with upstream commit f4c356d79 libvorbis: Sync with upstream 1.3.7 wslay: Sync with upstream 45d22583b basis_universal: Sync with upstream 646a9f826 certs: Sync with Mozilla bundle as of Nov 1, 2021 Remove editor splash screen with sponsors logo Don't return reference on copy assignment operators AABB: Improve docs and test for `has_point` NavigationMeshInstance: Fix typo to 'vertices' Rename `VideoPlayer` to `VideoStreamPlayer` for consistency Fix mid-air conflict between #55299 and #55692 Fixup last commit, change misleading CodeEditor for consistency Sync controller mappings DB with SDL2 community repo i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate i18n: Remove deleted translations from PO files Revert "Fix auto reload scripts on external change" i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate i18n: Sync classref translations with current `3.4` docs Sync controller mappings DB with SDL2 community repo Update AUTHORS and DONORS list i18n: Sync editor translations with Weblate i18n: Remove line numbers from classref PO files i18n: Sync classref translations with Weblate i18n: Sync classref translations with 3.x branch (3.5-beta) i18n: Add `--lang` option to `make_rst.py` to write translated headings Update copyright statements to 2022 Fix shadowing warning after #52611 Fix compilation error after 4c30963 Style: Remove inconsistently used `@author` docstrings NavigationServer: Restore constness for thread safe `get_singleton` CI: Update links to regression test project and prebuilt SwiftShader Revert "Print a warning with unknown SCons variables to ease troubleshooting" CI: Update SwiftShader to 2021-10-02 build i18n: Make more `make_rst.py` strings translatable Fix typos with codespell i18n: Sync editor translations with Weblate (last 3.4 sync) i18n: Sync template with current 3.x codebase i18n: Sync classref translations with Weblate i18n: Sync classref translations with current 3.x codebase Fix missing arg name in bindings for GDExtension API `Array`: Relax `slice` bound checks to properly handle negative indices CI: Rename macOS cache key to force a rebuild glslang: Fix support for building against public/system library i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate freetype: Update to upstream version 2.11.1 Remove property hints referencing unsupported svgz extension Dictionary: Serialize empty dict as `{}` instead of `{\n}` thorvg: Fix missing `` includes for MinGW Revert "Add new scaling modes for splash screen" thorvg: Fix usage of min/max breaking on VS 2017 Update AUTHORS and DONORS list Bump version to 4.0-alpha BaseButton: Rename `pressed` property to `button_pressed` doc: Clarify expected type of `Object *` parameters in Tree methods TileSetAtlasSource: Make `get_tile_data` return `TileData *` Improve some method bindings to use specific `Object` subtypes Improve some signal bindings to use specific `Object` subtypes CI: Fix exclude patterns with `git ls-files` Windows: Fix GCC -fpermissive error with 'pck' section workaround EditorHelpBit: Fix content height fit and RTL theme propagation libwebp: Sync with upstream 1.2.2 EditorProperty: Fix range hint parsing with optional step Core: Move Rect2i to its own `rect2i.h` header Core: Move Vector2i to its own `vector2i.h` header Core: Make all Variant math types structs CI: Force invalidate macOS cache ResourceImporter: Restore default append logic for new importers Refactor some object type checking code with `cast_to` Revert "Add missing SNAME macro optimization to all theme methods call" Re-add missing `SNAME` macros in `get_theme_*` calls SCons: Improve logic to generate `modules_tests.gen.h` SCons: Add `fast_unsafe` option for faster rebuilds OSX: Pass `-mmacosx-version-min=11.0` instead of `11.00` Core: Move generated `VERSION_HASH` to a `.cpp` file SCons: Make compilation database generation optional Revert "Show the 3D transform gizmo in the center when otherwise offscreen" Fix typos with codespell i18n: Exclude `$DOCS_URL` links from classref translations Fix crash calling `_activate()` on ShaderGlobalsOverride out of tree vulkan: Update volk, headers and glslang to 1.3.204 spirv-reflect: Update to latest commit, adds SPIRV 1.6 support Revert "spirv-reflect: Update to latest commit, adds SPIRV 1.6 support" Revert "vulkan: Update volk, headers and glslang to 1.3.204" RendererRD: Remove binding specifier for push constants vulkan: Update volk, headers and glslang to 1.3.204 spirv-reflect: Update to latest commit, adds SPIRV 1.6 support Editor: Cleanup some includes dependencies Use `switch` consistently in `_notification` (`scene` folder) HTML5: Fix build after #52742 i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Style: Cleanup single-line blocks, semicolons, dead code Revert "Fix extension registration order." Core: Use forward declares for Vector3/Vector3i Sync controller mappings DB with SDL2 community repo CI: Use mono_static=yes for Mono builds Update AUTHORS and DONORS list Revert "Fix particle trail glitch" Revert "PitchShift effect quality and performance tweaks for different pitch scale values" WebRTC: Fix potential nullptr dereference in error message GLES3: Fix `-Wmaybe-uninitialized` warning for MipMaps::Size Animation: Silence false positive -Wstringop-overflow warning Revert "Fix ProjectSettings has_setting() when used on a overriden setting with feature tags" Revert "[HTML5] Fetch API now passes credentials." VariantUtility: Unexpose `Math::range_step_decimals` Add compat aliases for renamed `CompressedTexture*` types i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Remove unused GDNative code Remove unused Bullet module and thirdparty code Fix UndoRedo method call argument count after #58929 Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaks Properly clean `button_add_item` ref in Array/Dict property editors ResourceImporterWAV: Allow configuring loop mode on import thorvg: Fix MinGW build by adding explicit `` include Windows: Properly set `mouse_monitor` instead of shadowing it Cleanup and reorder .gitignore doc: Sync missing Color value update after #59229 i18n: Sync editor translations with Weblate i18n: Add property paths to editor translation template i18n: Sync editor translation POs with template i18n: Sync classref translations with Weblate Fix `-Wsign-compare` warning after #58993 Another `-Wsign-compare` fix i18n: Sync editor translations with Weblate i18n: Sync editor translation template after #59265 Update AUTHORS and DONORS list CI: Update to actions/cache@v3, increase cache limit to 10 GiB Fixup enum compare after #53734 doc: Fix String.rsplit code example Object: Remove unused category boilerplate Improve range property hints for various collision shapes HTML5: Explain why export templates are missing CI: Limit Windows cache size again, otherwise we run out of space Refactor GDScript/C# script templates logic to be editor-only Modules: Don't build editor-specific classes in templates String: Remove TTR and DTR defines in non-tools build Remove last editor code dependencies in template build i18n: Sync editor translations with Weblate i18n: Sync editor translation template after #59349 i18n: Sync classref translations with Weblate CI: Reduce max cache to 7 GiB, remove Windows debug symbols Remove ad-hoc FBX importer CI: Re-enabled godot-cpp test Fix typos with codespell zlib/minizip: Update to version 1.2.12 Re-add some needed patterns to .gitignore Zero initialize all pointer class and struct members Style: Apply clang-tidy to current code, add `readability-redundant-member-init` Fix DynamicBVH crash after #59867 CI: Update black formatter and apply changes Add compat rename for OpenSimplexNoise Remove unused legacy tests Fix path handling in FBX and Blend importers Style: Sync clang-format template with Clang 14.0 Color: Rename `to_srgb`/`to_linear` to include base color space Node: Re-add `find_node` as `find_child`, improve docs i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Linux: Use pkg-config for alsa, libudev and GL too doc: Update iOS hint for Input.vibrate_handheld after #60397 Fix typo after #60503 SCons: Disable `-Werror=return-type` for GCC 12+ due to regression Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init` SCons: Don't enable any `-Werror=return-type` outside `werror=yes` Crash handler: Use `print_error` to include backtrace in logs Relax version warning in clang-format precommit hook Sync controller mappings DB with SDL2 community repo Core: Rename math 'phi' arguments to 'angle' i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Fix warnings found by Emscripten 3.1.10 CI: Update Emscripten to 3.1.10 etcpak: Update to upstream commit 10fc4ce (May 12, 2022) thorvg: Sync with upstream 0.8.1 certs: Sync with Mozilla bundle as of Mar 31, 2022 pcre2: Update to upstream version 10.40 doctest: Update to 2.4.8 FreeType: Cleanup some unused files Recast: Update to upstream commit 5a870d4 (2022) xatlas: Sync with upstream 16ace528a meshoptimizer: Sync with upstream commit 8a7d69caa i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate pcre2: Fix support for macOS < 11.0 by making JIT conditional at runtime rvo2: Re-sync with upstream, properly document Godot-specific changes rvo2: Sync with upstream commit bfc0486 thorvg: Sync a couple fixes from upstream Fix typos with codespell i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Project Manager: Fix crash on resize with assetlib disabled HTML5: Always disable Asset Library HTML5: Enable mbedTLS module for Crypto object HTML5: Run `npm audit fix` i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate i18n: Misc fixes translation strings i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate etcpak: Update to upstream release 1.0 (June 4, 2022) meshoptimizer: Sync with upstream commit ea4558d1c SoftBody: Fix attachments property names after #61180 Update AUTHORS and DONORS list i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate doctest: Update to 2.4.9 i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Node: Rename `child_exited_tree` to `child_exiting_tree` Mono: Update Newtonsoft.Json to 13.0.1 Fixup #62318 after ResourceCache changes zstd: Update to upstream version 1.5.2 Rewrite PR template to make it slightly less verbose i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate etcpak: Fix Android ARMv7 build with NDK r23 Errors: Fallback to `fprintf` if `OS` singleton doesn't exist DisplayServer: Don't fallback to headless SCons: Properly track codegen script dependency for generated GLSL headers Vulkan: Make `loader_get_json` "error" a verbose message on Windows glTF: Fix a couple typos in warnings on image parsing Input: Re-enable input accumulation by default Particles: Fix missing configuration warning updates Android: Refactor Custom Build options in export preset i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Sync GDScript doc template for new annotations Export: Fix comma handling in feature list RTL AudioStreamPlayer: Clarify that no validation is made on 'bus' name AssetLib: Only notify when unavailable in verbose mode SpriteFrames: Sort animations alphabetically SCons: Default `num_jobs` to max CPUs minus 1 if not specified i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Sync controller mappings DB with SDL2 community repo CI: Disable Linux GCC ASAN temporarily CI: Use Gold (GCC) and LLD (Clang) as linker for Linux sanitizers builds SCons: Refactor Linux linker options with `linker=` SCons: Prevent using `vsproj` option outside Windows Code quality: Fix header guards consistency Update AUTHORS and DONORS list Color: Fix resetting alpha when setting H/S/V separately doc: Fix relative paths in `make_rst.py` generated comment i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate EditorPaths: Fix creating 'export_templates' folder. Export: Fix template path for PC (Windows, Linux) CI: Link MoltenVK statically on macOS SCons: Fix creating VS solution with SCons 4.4.0 Mono: Fix build after #63737 File: Re-add support to skip CR (`\r`) in `File::get_as_text` Style: Workaround clang-format 14 bug with `Inline` oneliner functions Arrays: Zero new items of trivial types on resize() (bindings only) Force disable S3TC support on Android/iOS since we don't handle it Tests: Silence some intentional errors Sync controller mappings DB with SDL2 community repo certs: Sync with Mozilla bundle as of Jul 19, 2022 i18n: Sync editor translations with Weblate i18n: Sync classref translations with Weblate Rename properties unnecessarily using slash (`/`) in their names Joint3D: Remove utility method bindings for angular limits libwebp: Sync with upstream 1.2.4 Remove VisualScript module for 4.0 Fix ParticlesMaterial build after #61238 CI: Bump various GitHub actions to latest versions CI: Remove unnecessary extra cache step for Emscripten .NET: Change NETCore.App version detection to use highest match Linux: Fix GNU ld detection for pck_embed linker script Revert SplitContainer minimum size splitting changes (#64676 and #64800) Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED" Drop obsolete resource usage debug methods from OS class Fix build issue after #64377 and #64701 Fix build after merge of #63479 SCons: Enforce version 4.0+ when `compiledb=yes` is used Fix various uninitialized member pointers SCons: Fix compilation database generation with MSVC SCons: Refactor LTO options with `lto=` CI: Downgrade Emscripten to 3.1.18 i18n: Sync editor translations with Weblate (3.5 branch) i18n: Sync classref translations with Weblate (3.5 branch) Fix some errors affecting the Web editor VCS plugin: SSH key dialog defaults to HOME SCons: Add `methods.get_version_info()` method returning a Dict Project Manager: Clarify text in project conversion dialogs Bump version to 4.0-beta \o/ libpng: Update to upstream 1.6.38 SCons: Refactor handling of `production` flag and per-platform LTO defaults Style: Ensure consistent formatting with clang-format 15 QuickOpen: Disable loading resources for now, too slow Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1 SCons: Remove redundant `-fomit-frame-pointer` and `-ftree-vectorize` SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` defines Style: Cleanup header guards for consistency MethodBind: Silence GCC `-Wmaybe-uninitialized` caused by UBSAN SCons: Unify tools/target build type configuration SCons: Fix MSVC D9025 warning overriding opt level SCons: Fix MSVC warning LNK4042 about dupe objects in regex Update AUTHORS and DONORS list Sync controller mappings DB with SDL2 community repo i18n: Sync editor translations with Weblate (3.5 branch) i18n: Sync classref translations with Weblate (3.5 branch) SCons: Silence MSVC C++17 deprecation warnings in Graphite Fix MSVC warning C4706: assignment within conditional expression Fix MSVC warnings C4324, C4389, C4456, and C4459 Fix MSVC warning C4702: unreachable code Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used Project supported features: Ignore old 'Vulkan Clustered/Forward' names Animation editor: Disable onion skinning temporarily due to rendering bug Fix typos with codespell Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build Remove NO_THREADS fallback code, Godot 4 requires thread support Unix: Remove now unnecessary I/O defines, cleanup GDScript/C#: Tweak error message for invalid script type for object Vulkan: Initialize VK_EXT_debug_utils only for dev build or verbose mode CI: Update target for godot-cpp after https://github.com/godotengine/godot-cpp/pull/867 Logger: Don't print error twice on `ERR_PRINT` Add editor setting for AcceptDialog OK/Cancel buttons positioning .NET: Generate SdkPackageVersions.props from version.py Debugger: Fix fetching source to link C++ error on GitHub Fix more MSVC C4702 (unreachable code) warnings SCons: Cleanup GCC warnings configuration SCons: Re-enable treating `#warning` as error with `werror` Cleanup unused defines in platform code thorvg: Sync with 0.8.2, cleanup SCsub and fix includes CI: Update minimatch npm dependency to silence security report Fixup classref markup after #62416 Style: Misc docs and comment style and language fixes Fixup Clang -Wtype-limits warnings introduced by #52350 vulkan: Update all components to Vulkan SDK 1.3.231.1 Fix -Wunused-but-set-variable warnings from Emscripten 3.1.20 GDExtension: Ensure newline at EOF Fix misc formatting issues X11: Don't override glxSwapInterval function pointers loaded by GLAD Fixup TileSet build after #66557 Android: Fix parsing `keep_screen_on` setting GDScript: Fix setting to disable all warnings GDScript: Don't warn about RETURN_VALUE_DISCARDED by default Shader: Set proper resource type hints for sampler uniforms ImageLoaderSVG: Improve error reporting GDScript: Only check if ignoring warnings in debug build Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources embree: Enable raycast module build for Web and Windows x86_32 Android: Remove extra arch suffix now redundant with the default one Revert "`SceneTree` Fix storing removed nodes to be skipped by the group calls" Windows: Link MSVC dynamic debug CRT for debug builds Project Manager: Fix hacky code for project rename SCons: Disable openxr module with disable_3d=yes SCons: Strip symbol table for builds with `debug_symbols=no` Windows: Make MSVC debug CRT opt-in (`debug_crt=yes`) Path2D: Fix build issue after conflicts between #68860 and #69115 Use `GDREGISTER_CLASS` macro for SkeletonModification classes basis_universal: Sync with upstream a91e94c84 TouchScreenButton: Fix screen capability check Web: Fix side module build with Embree Editor: Fix regression fetching Windows/Linux export templates OpenGL: Fix scene shader error when using Omni or Spot but not both Sync controller mappings DB with SDL2 community repo graphite: Update to latest Git, switch to MIT license i18n: Sync editor translations with Weblate (3.5 branch) i18n: Sync classref translations with Weblate (3.5 branch) CI: Fix dumping GDExtension interface and API for godot-cpp Update AUTHORS and DONORS list Fix typos with codespell embree: Fix Linux ARM64 build with `-flax-vector-conversions` libpng: Update to upstream 1.6.39 mbedtls: Update to upstream version 2.28.2 SCons: Fix `separate_debug_symbols` option for Windows/MinGW pcre2: Update to upstream version 10.42 Revert "Queue inspector tree update when changing the theme." Revert "pcre2: Update to upstream version 10.42" One Copyright Update to rule them all Fix typos with codespell CI: Use clang-format 15 Fix style issue in ShapeCast3D after #68409 Fix change_scene memory leak due to duplicate instantiation SCons: Fix feature build profile being parsed too late OS: Add `unset_environment`, better validate input Linux/BSD: Add LINUXBSD_ENABLED define for non X11-related checks GLES3: Fix canvas shader use of undefined draw_data Improve DisplayServer message for video card drivers failure Force disable Vulkan overlays in the editor and project manager astcenc: Fix build with SSE3 but no SSSE3 Web Editor: Fix callable binding for Download Zip menu item i18n: Sync editor translations with Weblate (3.5 branch) i18n: Sync classref translations with Weblate (3.5 branch) doc: Define dummy Mono settings to keep them in doctool Remove unused obsolete Array/DictionaryPropertyEdit Convert en_GB spelling to en_US with codespell Add missing classref changes after #62942 GDScript: Fix test from #69163 after annotations change Fix various typos with codespell Always create global class list, even if empty Fix MSVC shadow local warning Remove some unused signals meshoptimizer: Sync with upstream commit 4a287848f Fix various typos with codespell Fix blend runner copyright headers Revert "GDScript: Add warnings that are set to error by default" SCons: Fix wrong `debug_symbols` default value in --help More codespell fixes, do more changes from previous ignore list CI: Add official codespell action with PR annotations Fix build with `deprecated=no` not exclude ProjectConverter3To4 options Fix no-regex build for ProjectConverter3to4 GDScript: Fix recently merged test not ignoring warnings CI: Remove custom Linux deps and SwiftShader Keep only production ready translations, move the WIP ones to godot-editor-l10n Revert "Remove script class checks when getting function signature" Bump version to 4.0-rc doc: Fix Image 'set_pixel' doc for use of 'create' Clean up ProjectConverter3To4 architecture, move renames map to separate file i18n: Sync translations with Weblate ProjectManager: Also set `gl_compatibility` for mobile override CI: Remove flaky packages.microsoft.com Ubuntu repository Math: Prevent division by zero in posmod Fix SurfaceTool crash with invalid bone/weight count Sync controller mappings DB with SDL2 community repo Revert "Fixed the jumping to function definition using 'Ctrl+LMB'." Android: Default Min SDK to 24 for Vulkan mobile EditorProperty: Fix missing increment buttons for integers Fix includes of thirdparty libs which can be unbundled on Linux Remove unexposed ProxyTexture, mark AnimatedTexture as deprecated Fix crash with bogus shape index to DisplayServer.cursor_set_custom_image() CI: Disable debug_symbols for Linux + all sanitizers build i18n: Sync translations with Weblate Warn users when using non existing --export flag, replaced by --export-release Revert "Fix visible_lines calculation" Revert Label text reshaping fix #71553 and subsequent regression fixes Export: Default to exporting S3TC + BPTC for PC platforms Fixup GDScript test using non-deterministic ids i18n: Sync translations with Weblate Update AUTHORS and DONORS list Cleanup 3-to-4 renames, prevent common words replacements Add 3-to-4 renames for project settings in project.godot Sync controller mappings DB with SDL2 community repo Minor typo and docs URL fixes i18n: Sync translations with Weblate Update CHANGELOG.md for 4.0 release Bump version to 4.0-stable \o/ S.V.I. Vilcrow (3): [Android export] Added validation of the project name when using $genname in the 'Unique Name' field. Removed declarations of removed methods of the EditorPropertyRevert class. Fixed the jumping to function definition using 'Ctrl+LMB'. Sacha Waked (1): Updated open-simplex to have const noise functions Saenoe (1): fix OpenXRAPI::is_extension_supported returning opposite result Salia Nifo (1): Fix AnimationEditor ignoring region of Sprite2D Sam (3): Resets global pose of IK chain bones being solved, rather than the whole skeleton. Resolves #38026 Fixed typos in MeshDataTool documentation Clarify when Expression `get_error_text()` is updated Sam Briels (1): Emit target_reached signal after state is updated Sam Green (6): Import the correct rasterizer based on build settings Resolve iOS and GLES compilation failures Update detect.py Add use_static_mvk option Add iphone to vulkan drivers SCsub Stub out Vulkan context for iPhone Sam Lantinga (2): Fixed detecting the Valve Streaming Gamepad Fixed event spam when using the Nintendo Switch controller Samuel Pedrajas (1): Add new scaling modes for splash screen Samuel Wilson (1): Fix TileMap::set_pattern offsets Samuele Zolfanelli (1): Make Image.get_size() return a Vector2i instead of a Vector2 Saracen (69): Fix to parsing some Collada with extra vertex semantics referenced only in the vertices section. Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry. Automatically call the _init function on base class if one does not exist. Assign embedded text resource path earlier to prevent error on embedded scripts. Fix crash on scenes with tool scripts and mismatched node types Check for GDScript member and class naming conflicts in a variety of conditions. Fix _send_default_spawn_default function sending zero length PackedByteArray when deriving from a single PackedByteArray state variant. Fix custom multiplayer sync commands Check for nullptr expression in parse_precedence function Properly handle named class types inheriting from scripts without names. Fix 'Compiler bug: unresolved assign' on explicitly annotated variants. Clean preview_node of all none VisualInstances Prevent saving branches in foreign scenes Fix incorrect default transform values on foreign 3D nodes Fix queueing a texture and regular uniform update in RD backend in succession. Move metallic and roughness automated assignment to an inspector UndoRedo callback. Fix selection of CSG objects Assign member type when parsing setters to prevent 'Compiler bug: unresolved assign' errors Allow selection of option 'Open in File Manager' even when a file/folder is not explicitly selected. Add missing 'theme_changed' signal to Window class Fix _free_render_buffer_data freeing shared half_texture and half_fb Free surface vertex_buffers after vertex_arrays due dependencies Fix error when assigning to an explicitly annotated variant from an ambiguous source Fix local variables not showing when breaking on final line Return a correctly typed variant in case of a function error to prevent hard crashes Fix using typed arrays based on script classes Make 'is_attribute' false during parse error to prevent crash Fix nullptr error in _update_padded_texture on texture with no image Fix contextual tileset editor and ensure button is always visible when tileset is available Fixes cyclic detection from variables assigning themselves to themselves in autocomplete, and restricts initialization of variables from other variables which have not been declared above it in class body Improve handling for editor search with blank searches Make instance's editable children use warning color instead of disabled color Ensure gizmos are added to newly created Node3D-derivatives and silence error for attempting to create gizmos twice Rearrange TriangleMesh stack level incrementation to fix MSVC compiler optimization bug Fix ownership of nodes created by the MeshInstance3DEditorPlugin and Skeleton3DEditorPlugin when used on foreign nodes. Make gizmos visible upon creation rather than having to select them first. Make UV2 unwrapping and PhysicalBone creation properly subject to UndoRedo. Add AnimationTree Advance Expressions Add drag-and-drop support for materials in 3D Add read-only mode to AnimationEditor for foreign resources. Disable plugin for conversion of foreign Sprite2D to different types Prevent hard crash in GDScriptVM when a named global can not be found. Disable editing properties in foreign resources from imported scenes or objects returning true from a function named '_is_read_only' and disable resaving imported resources. Add read-only mode to AnimationTreeEditor plugins Correct output file names for Visual Studio project generation Freeze line when releasing mouse to create a new transition. Fix UndoRedo when creating new AnimationStateMachine transition and node. Fix contextual visibility of tileset and tilemap editors Importer option to apply the root basis for meshes/skins/animations Add read only mode to SpriteFrames editor. Add read-only mode to inspector array and dictionary viewer. In inspector, show 'edit' button instead of 'inspect' when resource is part of an editable scene. Refactor to use internal foreign resource checking function. Create unique duplicates of embedded animations when calling 'Make Unique' on AnimationLibrary. Remove read-only status from EditorDebuggerRemoteObject Add ability to flag classes as experimental or deprecated. Fix LOD-generation on skinned meshes. Fix animation change callbacks Change auto_advance flag to advance_mode enum and unify with disabled flag. Expressions and conditions now require auto mode to be set to auto. Adds a toggle button to the state machine editor for whether new transitions advance settings should default to auto mode or not. Disable navmesh, lightmap, and VoxelGI generation on foreign data Update instances of scenes which have been reimported. Adds missing method call to set blendshape tracks as 'imported' when importing from a GLTF. Improve editor handling of Skeleton3D nodes with zero bones. Explicit warnings about creating physical skeletons Silence errors from gizmos for 0 bone Skeleton3D nodes More consistent naming for bone_count variables Fix path for unsaved inherited scenes. Add read-only mode to tileset editor. Add indicator for state machine transition fade progress and position of state transitioning from. Fix crash when switching to a different node from AnimationTree Force update AnimationTree player cache when AnimationPlayer changes. Emit reimport signal in reimport_file_with_custom_parameters method to fix resources not updating when reimported from the advanced import menu. Fixes revert button on exported node properties on inherited nodes. Make animation length control respect read-only rules. Fix ownership bug on ancestor nodes when scene is reimported. Sarav Noor Singh (1): Add a test suite for Array Sarfraz (1): Fix gltf 8 bone weights condition to check for the second joint array size. SaviHex (1): Added a "title" attribute for the link tag in the docs xml Sawrr (1): Unhide Skeleton3D menu button ScottVMariotte (1): Replaced loops_current with end_loop Sean (1): Fix crash in navigation 3d when target is not reachable Sean Kim (4): Fix potential nullptr dereference in CanvasLayer Adds support for 'use_coverage' flag in OSX. Fix EditorSettings crashes due to nullptr dereference Add unit tests for RID class. Sean LaPlante (1): Fixes #45025 - Protects _last_mix_time and _last_frame_time with the AudioDriver lock() and unlock() methods Secret Panda (3): Add GitHub Actions badge to README.md Remove Travis CI and AppVeyor build badge Remove GitHub actions badge. SekoiaTree (3): Fixed node scaling arrows being wrong Made get_child support negative indexes, with documentation Remove compatibility code for Mesh surfaces Selene29 (1): add missing comma in file filter Selgesel (1): Release pressed events when the window is blurred on HTML5 platform Sergey Minakov (66): SCons: Enable modules for iOS Export: Remove system frameworks from xcode template Export: Fix iOS enabling push notifications capability SCons: Enable iOS modules for ARKit and Camera GDNative: support dynamic loading of iOS frameworks iOS Export: turn .dylib into .framework on export iOS Export: Updated Info.plist. Framework embedding. Fixes for search paths GDNative Editor: Support selecting frameworks for iOS GDNative export: do not add fake lookup table if static lib is not used iOS Export: use relative path for res:// files iOS Export: add option to use storyboard for launch screen iOS Export: Storyboard custom values GUI ScrollBar: possible fix for scrolling Thirdparty Vulkan: patch VMA to fix assets Core Callable: fixed variant call caster Core Variant: switch from 'real' to 'float' to allow building with NEED_LONG_INT iOS SCons: update iOS minimal version Modules: update modules to be built for iOS iOS Export: MoltenVK framework for Vulkan support iOS: Vulkan support iOS Vulkan: copy icd to app iOS SCons: static Vulkan binary usage iOS: added delay gesture recognizer iOS: safe area implementation iOS: simplify OS value retrieval iOS Export: Add a method to embed a framework iOS: move touch delay to settings iOS: Refactoring iOS: Native video refactoring iOS: fix native video iOS: fix in app store iOS Modules: separate main platform code from modules iOS: change platform code to support plugins iOS Export: export modification to support plugins iOS Export: support multi-target plugin iOS: Implement pluggable application delegate. GUI: send cursor data from TextEdit iOS: fix keyboard display GUI: use cursor in TextEdit for non selected text. [Plugins] Rename 'PluginConfig' struct to platform specific name [iOS] Added support for '.xcframework' in plugins [iOS] Remove plugins from modules. [iOS] Fix embedding of plugin libraries [GUI] Enforce virtual keyboard redisplay on clear [iOS] Rework push notification methods usage [iOS] Initialize plugins earlier [iOS] Remove remote notifications code [iOS] Additional 'linker_flags' plugin parameter iOS: Use storyboard as loading screen Core: add EOF check for json parser [iOS] Fix for plugin modified time check [iOS] Nonnegative start index for virtual keyboard range [iOS] Support multiple plist types [iOS] Fix plugin configuration loading [iOS] Use platform generated api to initialize iOS plugins Allow additional cpp files to be added for export template Split iphone platform export template into multiple files Split android platform export template into multiple files Split osx platform export template into multiple files Split windows platform export template into multiple files Split javascript export template into multiple files Split uwp platform export template into multiple files [iOS] Fix touch handling for overlay views [iOS] Fix incorrect method name for input dragging event [iOS] Fix multitouch not working correctly [iOS] Extend iOS plugins to support Swift runtime Sergey Pershenkov (1): draw_circle() draws a filled circle Serhat (1): Fixed padding bug of sprintf function Shane Liesegang (1): Mono/macOS: Separate data dir into frameworks and resources for codesigning Shatur95 (5): Detect plugins recursively Fix enabling of created plugin Remove hardcoded names in generated objects Move duplicated code into a function Fix CONNECT_REFERENCE_COUNTED ShimmyShaman (1): improved error msg for gdscript load_source_code Shivansh Anand (1): Make Quick Open substring match more specific. Shlomi (1): Add Desktop to file dialog drive on Unix Shnazzy (1): Fixed ambiguous reference to "Shader" and "Material" classes in drivers/gles3/storage/material_storage.cpp Silc 'Tokage' Renew (167): Lowering the Minimum Unit at Shape3D and Cameras fix unintentional object rotation by animation tree fix AnimationTrackEditor's undo with correction invalid method name update property selector's icon list and rename Quat.svg to Quaternion.svg Revert "Fix duplicate selection in SceneTree" Remove extra signal firing in SELECT_MULTI mode Fixed gizmo forced uniform scale and inconsistent rotation Apply set_read_only() to child classes of EditorProperty elements Fixed regression of skinning with skeleton fixed AnimationNodeTransition when xfade time is zero Fixed seeking behavior of property track with discrete interpolation Fixed value type and applied small change in AnimationNodeOneShot Implemented SkeletonEditorGizmo fixed insert track queue in AnimationTrackEditor doesn't work correctly implement ping-pong loop in animation get rid set_bone_pose and fix some function in SkeletonEditor Fixed animation insertion in SkeletonEditor reimplement ping-pong fix pingpong in math Added hint about loop_mode to resource importer Fixed PlaybackData in AnimationPlayer Fixed odd behavior when Skeleton3DEditor is re-generated Fixed minimum size of aabb in ImmediateMesh to draw only one vertex Fix some gizmo behavior to make more consistent Fixed target which connected animation player, follow up #55066 More time parameters change type float to double Make AnimationTree delta argument force double in core Implement cubic_interpolate() as MathFunc for refactoring Fixed cubic interpolate with loop fix deselect behavior for Skeleton gizmo Fix blend animation to solve TRS track bug & blend order inconsistency Fixed initialization of TRS Track in blend tree for root motion Make blend animation to use ResetTrack as default value Fixed value track blend animation without RESET Discontinue exp map in blending Implement global rest fixed init value in root motion rotation fixed rotated RootMotionView grid glitch Fixed delta & Implement selection of whether or not to seek root improved way of getting method track keys fix method when rotation_mode changed fix set_position() fixed Pingpong animation get snaging on the edge in AnimationTree implement bone renamer in importer add rest fixer to importer retarget refactor sync in AnimationTree Fix cubic_slerp Fix initial value of TRS3DTrack cache in AnimationPlayer add position track normalization & post process key value for retarget fix unmarked unique when make local rename and unify notation for spherical interpolation Fix SkeletonRenamer & Organizer for non bone animations (BlendShape) Make BoneMapper validation stricter Make `spherical_cubic_interpolate()` more stable improve animation track optimizer algorithm add get_depth() to KinematicCollision3D as same of 2D Add collision weight to PhysicsBody for penetrations must be avoided Add apply node transforms option to rest fixer added Curve in animation node transition for better control over cros… add init bone poses Make `cubic_interpolate()` consider key time in animation Fix Quaternion Tween and implement ease baker add motion scale adjustment Add simple auto mapping to BoneMapper Add bezier preset and refactor bezier editor Implement Quaternion Editor Make Cubic to CubicInTime and reduce items in the track intrp type Add linear/cubic angle interpolation to Animation interpolation type Add optimization for Animation::ValueTrack Fixed AnimationTrackEditor redraw/deselect timing and find key compearation Clean-up/change some Skeleton3D API Discontinued spherical_interpolate_with in Transform3D Fix rest fixer for the model has skin which non inverse global rest bind AfterGUIInput Fix redraw timing in AnimationBlendTreeEditor Move some methods to Animation from Variant for refactoring Changed the rest definition of SkeletonProfileHumanoid thumb Change bone mapper background model silhouette Remove unused func definition in BoneMapEditor Add animation_selected signal to AnimationPlayerEditor Add a tutorial link to Retarget Classes Fix passed dict to internal_process() in importer plugin for animation Optimize animation blend tree process Improve BoneRenamer to avoid conflicting with original bone name Fix update timing when AnimationEditor changes FPS change root motion track candidating method Add option to get_path_to() to get the shortest path with unique name Fix the behavior of focus selection in bezier editor Fix connection of animation changed signal in AnimationTrackEditor Fix AnimationTree crash & rename get_tree() to get_animation_tree() Fix animation blending for value track DISCRETE/TRIGGER mode Refactor process of AnimationTree for end of animation Refactor interpolating functions in some classes to use Math class Fix wrong AnimationTrackKeyEdit update timing Fix broken root motion scale and refactor API Fixed AnimationTree TrackCacheValue bug for special case blending Add track validator to AnimationPlayerEditor Add trimming option to cut un-keyed timeline before first key in gltf Fix crash AnimationTimelineEdit when switch FPS mode without track Emphasize the warning about special case blend for animation Remove unneeded calc in root motion Refactor process of animation to retrive keys more exactly Fix animation signal caches_cleared firing timing Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player Fix animation play backward doesn't process current key&animtrack seek Fix AnimationPlayer method track call oneself with IMMEDIATE mode Change init for cache_update_size & add pointer animation player Fix unmerged history in AnimationTrackEditor Fix seeking process order to retrieve key correctly for AnimationTrack Add null checks to AnimationTreeEditors and _clear_editors() Fix out of sync PropertyUsageFlags for cs Make keys deselected when keying property for animation to avoid crash Fixed a bug where negative Blend values were being discarded Add animation_started/finished signals to AnimationTree Fix StateMachine cannot connect nodes bug Add inspector plugin for key time edit & Change find key argument Fix pingpong with loop wrap is not working Fix wrong AnimationStateMachine process for end of fading Revert "Merge pull request #68498 from Rindbee/improve-update_tree" Revert "Merge pull request #70696 from Rindbee/propagate-keying-state" Fix undo of editing animation length with spinner by adding flag Implement toggling pause / stop button to AnimationPlayerEditor Add p_keep_state to AnimationPlayer::stop() Add next/reset function to AnimationStateMachine Allow AnimationNodes to restart when transitioning to the same state Remove a duplicated unnecessary line from BlendSpace2DEditor Fix max limit of AnimationNodeTransition input count in the inspector Fix wrong BezierTrack init value Expose fading_from_node from StateMachine Fix weird behavior of teleporting to self-state when reset is false Make AnimatedSprite's playback API consistent with AnimationPlayer Fix spamming audio preview and cleanup process in AnimationPlayer/Tree Make AnimTree/Player processes adopt to GDVIRTUAL Fix AnimationTree MethodTrack discards all process Implement blending audio feature to AnimationTree Fix AnimatedSprite play() don't redraw immediately Remove the max input limit & cleanup AnimationNodeTransition API Tweak the name for duplicated animations in the editor Add remove immutable tracks option to glTF importer Fix scale tool with view plane is weird in 3D Allow seek() without assigned animation in AnimationPlayer Allow the Reset option of NodeTransition to be set for each Input Consistent with NodeBlendSpace1D option NodeBlendSpace2D Fix broken bottom panel switching Fix switching method in SpriteFramesEditor Make restart in NodeStateMachine / NodeTransition optional Fix scroll_offset_changed signal doesn't fired when panning GraphEdit Consistent with NodeTimeSeek parameters OtherNodes Remove meaningless `rename_parameter` in AnimationTree Fix scaled_orthogonal() & subgizmo global scaling Fixed animation audio to play considering time when seeking Fix NodeTransition initialization and AnimationNode remapping method Fix rotation key edit is labeled scale in AnimationMultiTrackKeyEdit Fix ghost SpriteFramesEditor cause crash Fix AnimationTrackEditor doesn't open when selecting AnimationPlayer Add root motion accumulator to fix broken RootMotionView Fix broken first frame of NodeTransition/NodeOneShot when xfade is 0 Add document for AnimationNodes which have setter as request property Fix weird bezier edit button update timing in AnimationTrackEditor Remove WARNING "ray: index" for debug from SkeletonEditor Fix remaining fade doesn't clear when reset in AnimationNodeTransition Fix NodeOneShot fade-out doesn't blend animations correctly Completion of parameters not described in some animation resources Refactor NodeTransition/OneShot to handle seek/filter correctly Add document about animation read-only props and state length Fix display for no-length audio stream keys Fix gltf import generate_scene() option Silvano Cerza (1): Improved search in settings dialogs Simo Haasanen (1): Fixes HashMap::erase related race condition in WorkerThreadPool when Physics 2D or 3D is selected to run on a separate thread. SkyJJ (17): Fix script icon not showing at startup bug Fix profiler frame number stops updating when window is minimized Validate supported architectures when exporting to Android Correct typo mistake of profiler_add_frame_data argument in physics 3d server Fix Android LineEdit editing bugs Added "POT generation" feature under "Localization" in the Editor Add translation parser plugin support Change translation parser plugin API to parse_file() Fix GDScriptEditorTranslationParserPlugin instance leak Fix TTR misuse Fix EditorTranslationParser leak Refix GDScriptTranslationParser leak Added plurals and context support to Translation Update POT generation to handle context and plurals Updated Translation architecture to have TranslationPO, did some commit fixes and updated class Reference. Update GDScriptTranslationParserPlugin to use GDSriptParser instead of RegEx. Add translators comments extraction for Editor Sl3dge78 (2): Fix #20467. The "Anim imported" warning gets displayed properly when working on imported anims. Autofilled path gets set properly on animation subresources Slooth (5): Add documentation for shortcut_keys_enabled Add documentation for center_viewport_to_cursor method Add documentation for selecting_enabled Update TextEdit select and select_all methods Add documentation for minimap_draw and minimap_width SnailRhymer (12): Add detail to some error messages in wsl_client Fix _class_desc_select to handle Variant.Type Indent bullet points in enum descriptions Document Shape2D's collide_and_get_contacts() and collide_with_motion_and_get_contacts() Fix errors and improve UX relating to new animation libraries Fix class_desc_deselect handling of @GlobalScope.X links Remove configuration warning from AnimationPlayer Fix lookup_code to properly handle symbols at start of assignments Make Lookup Symbol recognize assert and preload in the script editor Fix add_surface_from_arrays description in classref Fix default values for rotation snapping in canvas_item_editor_plugin.cpp Fix random placement behaviour in new TileMap Editor Sniff (1): Docs change: More detailed description of StreamPeerTCP.is_connected_to_host() Somnath Sarkar (3): Sort points in a Gradient for color and offset updates. Fix computation of screen_uv Fix GPUParticles3D disappearance at attractor origins SpaghettiCoder01 (1): Added Input_Map entry for backspacing using Shift+Backspace Spencer Burris (1): Make blank project name create an error, not a warning Stanislav Labzyuk (8): Bind set_suffix/get_suffix in Tree Implemented the ability to add shortcut for Project -> Reload Current Project. Fix guidelines appearance Enable column clip content in ConnectionDock and FilesystemDock Expose TabBar::clear_tabs to GDScript Fix UTF-8 encoding for copyright in About dialog Fix connections drawing in GraphEdit minimap Fix unlimited text rendering in Tree if width <= 0 Stefan Boronczyk (4): fix stop debugger on closing game fix triplanar mapping for AO fix-tangents-on-rendering-server Fix mono build after invalid rename of `KEY_READ` Stephan Dilly (1): add iOS Simulator platform Stephen Nichols (2): Fixing null callee crash. Adding error message for empty grouping expression Stephen Rice (1): Document default values for transition type and ease type. Steve Cotton (1): doc: link GPUParticles2D to the 2D Particles demo Steve Szilágyi (1): VehicleWheel can now return the surface it's colliding with. Steven Schoen (1): Mention offending function name in "Indented block expected" error Stijn (1): Minor code improvements in Node3D. Refactor Node3D::show/hide/set_visible to a shared implementation. Stijn Hinlopen (20): Search result highlights follow font size No longer scroll vertically when scrollbars are unavailable Remove directory search results Search ranking: favor filenames over extensions. Open scene selected from Quick Open dialog. Add Control to preferred types Deleting multiple nodes displays correct message. Fix crash by calculating wrong size of array. Remove unused class PaneDrag Improve Create Dialog search ranking and refactor calculation. Remove String::find_last (same as rfind) Rewrite extracting animation name. Refactor Project Settings: Improve quick open performance and update some behaviour Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). Rewrite ProjectSettings editor advanced options Refactor project filter in Project Manager Fix not saving new filter order Refactor CanvasItem show/hide/set_visible Center when scrolling to tree item. Stoofin (1): Pattern bind counts as assignment StrawbDev (1): Add test cases for AudioStreamWAV Stéphane Fortin (1): add missing undo on CloseCurve path3d SuddenlyNothing (1): Add documentation to CheckBox Sushi (1): Fix: Selection Only in Find/Replace now preserves selection Swarnim Arun (6): Deconstruct VSNodes for new Variant types VisualScript styling for new Variant Types Update vsnodes on editing vs variables Fix crashing of VisualScript due to... Refactoring Visual Script Fix doc for the VisualScript class. Sylvain Beucler (1): doc: explain TouchScreenButton passby mode Szymon Majewski (4): WIP: Add support for VK_EXT_debug_report in Vulkan Removed debug code Validation layers on Android Fixed screen orientation on Android Tais P. Hansen (1): Fix getaddrinfo failed with undefined proxy config Tan Wang Leng (1): gdscript_parser: Fix "unreachable code" false positive for loops TaskManagerCZ (1): Explicit error message when setting active a Viewport that is already active. Taylor C. Richberger (1): remove invalid codeLensProvider value from lsp Teashrock (1): Changed in-text driver name to "Vulkan" Tecelli Akıntuğ (1): Fix AnimatedTexture inconsistency when setting frame TechnicalSoup (7): Expand description for warp_mouse_position method Fix icons for sub windows Add method description to Vector3i Class Reference Add method descriptions to Color Class Reference Correct C# code example in Color class reference Center initial position project manager window Cleanup of preprocessor directives in main.cpp TechnoPorg (17): Fix incorrect parameter in audio_track_set_key_stream. Vulkan: Fix CanvasItem::use_parent_material Load assets before enabling editor plugins Don't obtain a reference to a subwindow Allow method binds to take Object subclasses as arguments Fix triangular area calculation Remove a cross include from a_star.cpp Remove more occurrences of "stex" Use single-precision floats in GradientEdit Remove SceneTree dependency from LocalDebugger Various enhancements to Visual Studio solution generation. Use radial distance for making LOD decisions. Fully document the Projection class. Fix Thread usage in UPNP docs. Improve support for 64-bit types on Android. Document EditorExportPlatform Make EditorResourceConversionPlugin usable. Ted Spikes (1): Check for ios_simulator when building for x86_64 Teggy (1): Add alignment options to flow container Thaddeus Crews (1): Setup "open in file manager" as shortcut Thaina Yu (1): Mono: Improve MSBuildFinder logic on Windows Thakee Nathees (76): error_macros.h typo fixed pass keyword inside a class implemented Fix EditorFolding crash when switching scenes typo in gdscript_workspace.cpp/remove_cache_parser() fixed duplicate arguments in a function handled logic error in gdscript_parser.cpp for-loop-range animation autocomplete bug fixed python like string escape implemented Add script to generate translation catalog for the class reference stop game process with KEY_F8 crash fixed i18n: Fix parsing of multiple escapes before quotes autocomplete for load() function implemented fix project manager don't consume Enter key #17620 Fix for loop range bug: #37358 `:=` fails on some nodes fix: #37357 some typo in method binds fixed GDScript: Fix type inference for const reference to global class GDScript class var type resolve bug fixed replace selected text with empty string bug fixed ARVR -> XR rename icon missing fixed display server window position bug fix (#37323) autocomplete for disconnect, is_connected implemented autocompleting with indexing for native types added line unsafe for indexing with known base type & unkown identifier GDScript class name existance check enhanced export var type reduce() implemented fix: dict2inst crash when constructor has arguments method bind TextEdit::set_line() added parser error for static func access non-static variables Fix: Tween always return true for _get(), _set() Fix: printing empty string does nothing in editor output pannel Fix: can't convert Transform -> Transform2D rotation gizmo visible = false; when camera preview more clearer unexpected statement end error messages fixed: saving gdscript with cyclic inheritance crash the editor range() with non-numeric const argument crash fix shadowed var warning in nested block bug fix regression: var declaration type info parser bug fix regression: static func can't access const fix set parser error when infer type is null break, continue outside of a loop, match statement handled regression: dictionary key no autocomplete fix colorpicker margin bug fixed Windows error logs directed to stderr shodowed var warning for `for` loop counter predefined var check for `for` loop counter Debugger stepping to incorrect line fix Fix: Ctrl + Click not working for subclasses GDScript debugger incorrect error line fixed Fix: editor crash on super constructor called GDScript operator evaluation validation bug fix GDScript arithmetic assignment type check bug fixed GDScript: "Object" datatype changed from BUILTIN to NATIVE GDScript: unsafe arithmetic assignment bug fix Documentation: clarify the indent parameter of JSON.print Fix: ctrl + click not working fixed parser error when indexing a dictionary. null pointer dereference at GDScriptFunction::call fix GDScript: parameter infer type bug fix GDScript crash on builtin type constructor fix Array/Dictinoary no more reduced to array/dictionary variant GDScript export array/dictionary type infer bug fix GDScript: for loop override stack variable bug fix GDScript range function typecheck bug fixed GDScript default argument override bug fix Documentation generation for GDScript Refactor DocData into core and editor (DocTools) parts Array/Dictionary marked as not safe to const fold GDScript assert message parsing bug fixed GDScript crash at incomplete const bug fix GDScript builtin invalid function call crash fix GDScript operator `+` `-` precedence bug fix false positive "Identifier not found" error or signals fixed NaN, INF read/write bug fixed ItemList selection bug && navigation bug fixed Fix FileDialog file name autocompletion with filters The Tophat Demon (1): GLTF imports & exports material texture filters TheDuriel (1): Clarify TreeItem return values Theogen Ratkin (1): Add interpolation parameter to resize_to_po2() Theraot (4): Fix get_base_dir windows top level directory logic Expanded path functions tests Added missing p_bidirectional to AStar2D methods Updating AStar2D documentation to mention the new bidirectional paramter Thibault Truffert (1): Make text deletion methods public for LineEdit Thomas Lobig (1): Converter: Rename 3.x Vector2 clamped to limit_length Thomas Riedmair (1): Fix performance issue in update_bitmask_region fallback Thomas Stucky (1): Clarified how Camera2D's current property works with Viewports. Thomas ten Cate (3): Revert "Allow parameters passed to GDScript functions to be nulled" Add missing docs for assert message in GDScript Some fixes for initial window position and size ThreeRhinosInAnElephantCostume (7): fixed camera2d's "current" property getting reset when switching scenes fixed popup_menu buttons getting triggered by lmb press instead of release. Fixed pattern matching with expressions Fix Find Next shortcut not working when search bar is focused Added tests for expression matching Fix error on parsing statement-less GDScript files, add an empty file warning, add relevant tests. Fix an undefined behaviour Tigran (1): Updated SkeletonProfile's main and property descriptions TigranExe (1): doc: Add a brief description to SkeletonProfileHumanoid Tim Fronsee (1): Fix TextEdit::gutters_width (total gutter width) when adding & removing a gutter by calling TextEdit::_update_gutter_width in TextEdit::add_gutter & TextEdit::remove_gutter Timo Schwarzer (5): Add static_assert checks where code assumes VARIANT_ARG_MAX == 5 Re-implement GodotPayment Android plugin using the Google Play Billing library Remove GodotPayment android plugin Vibrate using iOS haptics engine on supported devices Fix vibration duration on iOS Timon Bestebreur (2): Add unit tests for Shortcut Add Unit Tests for InputEventKey Tobias Mansfield-Williams (1): Add const to InputEventMouseButton::get_factor Tobias Widner (1): Fix Vulkan: SpotLight3D's and OmniLight3D's Projector doesn't work Tom (1): updated the String class with info about the 'allow_empty' optional argument Tom Beckmann (1): Fix writing value for hand-tracking V2.0 to AndroidManifest.xml Tom Coxon (1): Prevent shaders from generating code before the constructor finishes. Tom Daffin (1): Add mono log message to error for fatal errors Tom Evans (3): Mark assert lines as safe in gdscript Fixed shuffling editor help tabs Fix for marking assert lines as safe bug Tom Langwaldt (1): Fix swapped front/rear view Tomasz Chabora (681): Show theme property descriptions in the inspector Include locked nodes on selection list Allow to use arrow keys with TOOL_MOVE Fix selectable locked items Remove TextFile from public API Allow for continuous deletion/duplication of lines Add unique icon to Polygon2D Add LOTS of missing docs Fix visibility enabler flag toggling Make search in RichTextLabel case-insensitive Properly handle node remove via undo Add the missing argument in files_dropped signal Remove Node.get_position_in_parent() Improve Camera2D documentation Add disabled theme icons for CheckBox Mention how to remove TreeItem from a Tree Make Line2D be white by default Remove unneccessary increment in TextEdit Add documentation for the VisualShader nodes Fix VisibilityEnabler2D behavior on start Reverse mouse wheel in animation track editor Restore capture caches when missing Allow duplicating files when holding Control Fix custom types in node list search Re-enable scroll follow on RichTextLabel clear Delete bus effect with Delete key Link exposed set/getters in property descriptions Generate inspector preview for Image resources Improve the preload and load descriptions Support built-in scripts for inspector categories Allow Area2D and 3D mouse events without a collision layer Prevent infinite loop in Tree incremental search Prevent multiple Controls moving inside container Convert some resource types in the inspector Fix run project when current scene was never saved Fix emoji branch compilation error Keep transition value when replacing key Fix ultra long node names Properly disambiguate unsaved scripts Improve Vector2.angle() description Expose NOTIFICATION_POST_ENTER_TREE Mention that Array.front/back throw error if empty Mention that body_set_state is deferred Accept DynamicFontData for Fonts Explain editor usage of current_animation Check for null in InputMap::_find_event Remove unnecessary empty line from Dictionaries Don't warp mouse when selecting tracks Update the setting when clicking Show hidden files Cancel rename if file does not exist Bind missing constant in VisualScriptPropertyGet Correct the doc about linear damping Document that setting node name will remove @s Favor project.binary over project.godot Remove unused get_subeditor() method Disable active editors when node gets deselected Add docs for editor viewport drawing methods Add append_array() method to Array class Register methods for drawing 3D editor overlays Release pressed action if event is removed Correct the doc about Tree.get_edited Allow folder checking in export preset file list Update clear button when clicked Show editable children in the connect dialog Fix subtracting colors and quats Mention that 'changed' signal needs manual emit Cleanup unused engine code Fix PathFollow3D updating on unit_offset 0 Move initialization of some classes to headers Allow to override drop data in LineEdit Add outline to ruler tool Make tool menu plugins use Callables for callback Fix Layout menu not working Mention that change_scene is deferred Fix shape_centered property in TouchScreenButton Rename offset to point in remove_point() Complete documentation of EditorExportPlugin Don't emit changed signal on Color Picker close Commit CanvasItem state only if it changed Properly edit the instanced node in the inspector Clarify class_get_method_list() in release exports Emit changed signal from Color Picker when changed Unify single and multiscene instancing Detect external modification of scenes Change how editable children data is stored Cache world in VisibilityNotifier3D to avoid crash Change sort_custom/bsearch_custom to use Callables Make Rect2 properties show in 2x2 layout Cancel event dispatch on error Set selected Tree item to null when deselected Detect external modification of project.godot Add node copy-paste Duplicate resources pasted to other scenes Remove Merge From Scene Fix internal resource detecting when pasting nodes Don't save project settings when not necessary Select TreeItem if none is selected Warn when setting Control size inside ready() Save ProjectSettings on editor restart Allow to create a node at specific position Don't check modified time if file doesn't exist Warn about changing size only when it's relevant Deselect column only if belongs to deselected item Don't save unchanged script upon closing Release mouse when SpinBox leaves scene tree Allow to save override.cfg with ProjectSettings Fix audio player not resetting after wav finishes Allow to move timeline without moving animation Allow to drop files on filtered scene tree Add methods to remove theme overrides Remove the clearing behavior from add_override Add option to exclude selected resources on export Clarify that get_unix_time() returns seconds Allow for easier editing of rect CollisionShape2D Save project after opening Complete the docs for primitive types Expose edit_node() for editor plugins Fix GridMap still drawing when Alt+Tabbing Make randomize() use unix time too Call randomize() automatically Calculate __focus_rect when TreeItem is focused Add Enter as alternate key to complete code Fixed wrong mouse position after releasing grabber Add filter, map and reduce to Array Improve docs for filter map and reduce Display arrow cursor if text is not editable Create ColorPicker shaders statically Change behavior of String.right Fix usage of String.left() Reset Shader Editor scroll when changing shader Change frame_coords to Vector2i Fix valign with stylebox borders Add preload() to resource path when holding Ctrl Tweak arguments of list_dir_begin() Improve sort_custom() description Clarify animation_changed signal Don't save built-in script when adding method Don't remap resources belonging to instance Move FindReplaceBar out of CodeTextEditor Consistently prefix bound virtual methods with _ Fix some virtual methods Make closing current scene faster Validate that all virtual methods start with _ Complete rewrite of Tweens * Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed. Fix crash with FindReplaceBar Correct the description of Tween.custom_step Remove clips_input() method and use clip_content Support single quote when dropping files to script Update Tree when modified Fix node list with Add Node Here Add set_pressed_no_signal method to BaseButton Add header theme type variations to labels Document remaining Visual Script classes Fix crash in EditorSpinSlider Assign value to property by dropping to scene tree Add scrolling to tile atlas view Fix Change Node Type after Add Node Here Don't set metadata_label font if it doesn't exist Show tooltips even when paused or time_scale is 0 Fix undo for bucket tool in tile map Add null check to Tween.bind_node() Improve ConfigFile example Fix get_used_rect() calculation Various fixes to Tween code Fix crash when parsing Dictionary Make radius & height in CapsuleShape2D independent Improve CapsuleShape2D size clamping Add option to not expand tree on node select Move the option to new menu Prevent crash when awaiting in a getter/setter Don't save project on startup in headless mode Fix double Next Editor Tab Fix renaming directories Fix z_index applied twice for TileMap layers Allow to load multiple animations at once Restore syntax highlighting Add support for internal nodes Remove cartesian2polar and polar2cartesian Add Vector2.from_angle() method Sort palette commands by last use Add Listener2D Add offset for TextureProgress progress texture Close built-in script from any scene Don't stop closing on unsaved script Save branch as scene by dropping to filesystem Fix crash with consecutive commas in Dictionary Make restore_scenes_on_load true by default Don't edit foreign resources when restoring scene Fix multiple definitions of Listener2D Fix error when click edge of the tree icon Fix error when moving graph node Improvements to Tweens' Variant types Improve call_group documentation Add a special case for 0-time interpolations Refactor and move easing equations Add Delete All button to ItemList editor Remove binds from Signal.connect Fix tile size property Fix TileMap layer loading Allow void as return type for constructors Fix some leftover references to idle_frame Add support for unbinding in connection dialog Fix LUA-style assignment in Dictionary Change dragging cursor on Windows Improve editor panning and remove RMB panning Change print_line() to use any number of Variants Fix Range property dependencies Add modulate property to TileMap layers Use z_index for TileMap layer darkening Add tool quick-select to tile editor Add a warning about infinite Tween loops Improve docs about plugin registration Fix command history for plugin commands Fix MeshInstance2D rect Remove node_hrcr hack Fix parallel Tweens not ending correctly Expose String.get_slice Infer shader type based on edited node Allow to name built-in scripts upon creation Add is_built_in() method to Resource Ignore external editor for built-in scripts Show mouse position when clicking ruler tool Fix preview sun and environment names Fix editor saving blank scenes (for real) Improve save handling for built-in scripts Properly handle scenes in Find in Files Improve Add Node Here popup Fix Vector2.angle_to_point() being reversed Properly reload built-in tool scripts Show built-in script names in the debugger Fix node naming in scene tree dock Improve sort_custom() example Fix nodes being renamed into garbage upon conflict Mention how to add margins to Button's icon Fix data directory of unnamed projects Add [theme_item] tag to editor help Always soft-reload scripts Improved some editor checkboxes Clarify get_indexed in relation to Nodes Ignore override.cfg when in editor Improve various texts Mention that replace_by doesn't free the node Correct the doc about ease() Move container warning to the toaster Show scene when showing built-in script file Don't show tooltips for paused controls Improve language lists in localization editor Mention that Ctrl+Alt with select tool will scale Misc improvements to various docs Improve store_string() description Bind column_titles_visible as property Add a constant StringName for RESET animation Unexpose joy_connection_changed method Allow to add RESET values from existing keys Rename minimum_size_changed() method Rename TouchScreenButton's textures Remove ProximityGroup3D node Fix error when adding RESET key for new track ScrollContainer's scrollbar visibility is now enum Improve PopupMenu doc about id and index Fix some containers disabling wrong scrollbars Add drag and drop for NodePaths Improve Directory content navigation Fix wrong internal children usage in BoxContainer Allow to copy foreign nodes Document get_minimum_size not called in some nodes Mention what happens if find_node() fails Add physics material to GridMap Implement property array for OptionButton Fix being unable to clear some theme overrides Move and rename Collapse/Expand All button Fix TabContainer not setting layout immediately Fix get_v_scroll() desctiption in ItemList Make Import Dock more obvious to use Remove autocomplete_setters_and_getters setting Improvements to EditorResourcePicker Fix usage of "Return" in the docs Fix TextureButton focus texture logic Add option to paste animation as duplicate Fix method validation in Thread Fix names of scenes dropped onto viewport Update the minimum size of ViewportContainer Fix some more wrong node names Rename TextureRect.expand to ignore_texture_size Improve FileDialog filters Set max value of inactive TextEdit scrolls to 0 Restore Tween easing descriptions Fix Tween pause behavior Unify panning in sub-editors and make it configurable Automatically go up if current dir was deleted Improve description of mouse_exited signal Make script type distinguishable by icon Add ViewPanner to more editors Mention that modifying text erases BBCode stacks Hide SVG scale for non-SVG textures Clarify to_float() and to_int() methods Improve node pasting Fix error on scene tiles cleanup Fix bottom line in editor log Fix FileDialog localization issues Fix unhandled_key_input() in Script Editor Add ViewPanner to 2D editor Don't sort printed Dictionary Rename request_code_completion signal Add usage of indeterminate checkboxes to editor Minor tweaks and fixes to panning Better clarify map_to_world() description Fix 2D Pan Tool Allow sorting tileset sources Improve 2D editor's right-click menu Fix not being able to stop() empty Tweens Better handle infinite Tween loops Rework TextureButton stretch Add visibility to CanvasLayer Rework CanvasItem visibility propagation Move Replication tab to a fixed position Fix script editor errors with CustomCallables Reload built-in scripts when picking methods Display built-in script names in the inspector Fix uid conflict when duplicating resource Fix texture file dropping in 2D editor Automatically select source of the picked tile Update description of LINE_TEXTURE constants Connect text_submitted of built-in script name Fix CanvasItem visibility propagation Fix 2D instance drop position Fix source picking with sort Don't abort loading scene on missing dependency Update some docs regarding SubViewports Fix scripts not saving when closing Remove unimplemented set_clip() method Fix debugger not opening built-in scripts Fix color pickers closing in editor settings Change tabs_rearrange_group to property Remove custom_* prefixes compatibility Various code and documentation improvements Remove set_as_minsize() Improve some DirAccess usage Remove duplicate editor settings definitions Change some math macros to constexpr Allow negative indexes in ItemList and PopupMenu Improve scene tab close button options Expose methods for screen-space transforms Cleanup embed subwindows getters Hide text and icon properties in OptionButton Reduce the size of Controls editor toolbar Add optional 'default' argument to get_meta() Make resource unique when pasting to another scene Switch scene when editing foreign resource Force final value at the end of Tween Add get_total_elapsed_time() to Tween Fix name of the created static trimesh body Mention how to add dragging for SpinBox's LineEdit Fix TouchScreenButton error spam Change gizmo_extents to property Remove unused SplitContainer bg theme property Fix 2D editor menu position Improve shaped_text_get_word_breaks() Fix GraphEdit's valid connections being reversed Improvements to files_dropped signal Make Tween.interpolate_value() static Fix RESET animation not being created Remove RESET tracks after removing tracks Improve descriptions for drag methods Fix crash with nested resources Expose move_to_trash() Small improvements to get_first_node_in_group() Fix wrong condition checking for foreign resources Simplify Callable error text methods Change D_METHOD to variadic template Improve Tween infinite loop detection Change Place Random Tiles to an icon Add Copy UID option to filesystem dock Fix tscn not listed as Resource extension Clarify InputMap.action_get_events() in the editor Improve Viewport.get_texture() description Cache script icons in editor Fix error spam when tweened node leaves tree Disallow Callable, Signal and RID in export arrays Cleanup metadata usage Fix VisualScript export variables Improve plugin dialog UX Remove unused code Remove font height restriction from Button Rescue orphan nodes in inherited scenes Mention that Area2D doesn't support one_way_collision Simplify anchor metadata Mention how to join PackedStringArray Show list of groups in node tooltip Move Display settings higher in the list Clarify seek() in relation to animation_finished Include quotes conditionally for dropped paths Defer group calls in Node3D Only switch to node when not dragging it Tweak minsize of editor ColorPickerButtons Redraw selected 3D gizmo on deselect Remove zoom_reset shortcut in 2D editor Optimize SceneTreeEditor filtering Improve style of inspector buttons Use Spatial shader as default for Mesh Improve TextureRegionEditor Hide redundant categories from project settings Update VisibleOnScreenNotifier2D when rect changed Add Dictionary.merge() Update half resolution immediately Improve title of DependencyEditorOwners Improve EditorPlugin state documentation Fix crash with empty scenes Increase maximum size of gradient textures Enable nearest filtering in shrunk 3D viewport Fix Debugger tab not updating when clearing errors Add shortcuts to GenericTilePolygonEditor Add GLOBAL_DEF_INTERNAL to hide specific settings Remove image property of ImageTexture Re-add internal image field to ImageTexture Remove TooltipPanel and TooltipLabel Don't handle pending clicks outside scene tree Add static methods to create RayQueryParameters Improve description of move_to_trash() Improve toaster buttons Add vector value linking Change set/get binding to use StringName Rework scene creation dialog Replace some TTRCs with TTRs Document most of the Window's members Remove userdata from Thread.start() Fix crash when drawing invalid tiles Properly handle game pause in VideoPlayer Add root_subfolder to FileDialog Advance animation after confirming Fix find_next_valid_focus() freeze Fix find_next_valid_focus() freeze Handle custom Callables in Thread.start() Restore and improve some ParticlesMaterial docs Allow to disable TextEdit vertical scroll Implement XMLParser.get_current_line() Show the transform operation numbers in 2D Add static methods for creating Image and ImageTexture Fix too thin underline in brace match Remove outdated line in call_group() description Remove outdated code path Remove unused hints Fix drag_selection crash on scene close Clear drag_selection when drag ends Improve docs on how to make main screen plugin Clarify create_from_image() usage Abort running if --path does not exist Highlight ^NodePath and &StringName differently Fix selection list in 2D editor Fix node dragging not working when dock is moved Fix negative indices in TreeItem Fix Vector4 parse error Add some missing Vector4 methods Add Vector4 documentation Split ceil(), floor() and round() method Improvements to shader editor Fix Vector4 serialization Keep property values when extending script Swap arguments of ResourceSaver.save() Add node path drag from remote tree Fix GraphNode slot list Add static method for creating RegEx Add fit_to_longest_item to OptionButton Restore old lerp() behavior and add lerpf() Optimize theme usage in editor log Add missing properties to default theme Add Dictionary.find_key() Make JSON methods static Add a method to get TileData from a cell Add methods for node reparenting Mention the stretching behavior of PopupPanel Hide prefix/suffix on SpinBox focus Unify node casing adjustment Clear built-in name field when creating new script Add "Copy Name" option to signal menu Make Debugger/Misc LineEdits uneditable Complete documentation of packed arrays Improve SplitContainer minimum size splitting Use false as default for use_proxies argument Fix Viewport size change not updating textures Add per-scene UndoRedo Replace Array return types with TypedArray Handle child control size changes in SplitContainer Replace Array return types with TypedArray 2 Replace Array return types with TypedArray 3 Improve scene playing and reloading Add drag and drop support to shader list Easier setting properties of last TileMap layer Add history dock Fix Import dock being too wide Simplify script list click logic Allow to change the Stop shortcut used at runtime Mention that grab_focus is more reliable deferred Change _redraw_callback to callable_mp Change Array arguments to TypedArray Rework oriented containers Remove pathed get_node() use from scene tree dock Remove middle click shortcut to open scene tab Improve the description of follow_viewport_enabled Improve handling of custom types Rename raise() to move_to_front() Fix tile source selection from picking Ask before closing with unsaved resources Fix undo actions in SceneTreeDock Allow negative indices in move_child() Fix broken patterns on TileMap layer change Prevent infinite loops in editor help search Add more clarifications about Tween processing Add option to convert project from Project Manager Don't store frame of playing AnimatedSprite Don't print error in get_cell_tile_data() Don't print error on empty actions Fix extending scripts by path Fix crash when playing Tween right after finishing Remove unused _clear_undo_history method Port remaining connections to callable_mp Change UndoRedo to use Callables Replace File/Directory with FileAccess/DirAccess Fix possible crash in editor help Restore numeric from String constructors Reorganize connection dialog Introduce more static methods to directory API Set scene tiles' position before adding them Remove duplicate code in ItemList Fix wrong DirAccess example Automatically use class name for empty renames Remember advanced state of connection dialog Split script navigation state and edit state Force window position if spawned outside screen Fix wrong DirAccess function in project converter Make some File/Dir methods private Fix wrong floori() behavior Use 64bit integers in utility methods Fail look_at() if not inside tree Remember tile source sort between sessions Prevent infinite confirmation in shader editor Disconnect TileSet from source editor if no sources Fill random docs Sort unused palette commands alphabetically Fallback to ResourceLoader if can't find UID Fix simplify_path() breaking uid:// Defer clearing of ResourceUID cache and silence warnings Remove default shortcut for Preview Canvas Scale Fix node name casing issues Remove editor dependencies from ColorPicker Fix source sort not saving in TileMap editor Add empty state to enum properties Redraw 2D viewport when scene changes Make some Image methods static Preserve caret when updating EditorPropertyText Reorganize script editor menu Separate Line and CurveLinear icons Change EditorSpinSlider's popup to Control Minor code improvements Unify usage of GLOBAL/EDITOR_GET Improve ColorPicker sliders in OKHSL mode Simplify GDVIRTUAL_CALL calls Add methods to get target filter and repeat Fix texture filter and repeat in TileMap Fix double hint paste in EditorResourcePicker Remove error condition from get_global_transform() Uncomment drag forwarding in CreateDialog Add one-way indicator to tile collision editor Remove override_selected_font_color property Fix documentation about custom user dir Warn if isometric TileMap is not Y-sorted Fix nested actions in EditorUndoRedoManager Add set_value_no_signal() to Range Add a separate hue gradient for OKHSL mode Change hue icons to horizontal GradientTexture2D Unify usage of undo_redo in editor Fix crash in connection dialog Add support for empty delimiter in String.split Add call_deferred() method to Callable Don't reparent dragged node when non needed Don't free instanced scenes when recreating tiles Allow to disable History Dock via feature profile Remove duplicate project settings definitions Allow to escape closing brackets in CFG tags Mention .godot folder in issue template Fix false warning when renaming Joint2D's node Change EditorQuickOpen base_type to String Add explicit name to History dock Don't update EditorSettings dialog unnecessarily Fill random docs Allow directly instantiate scripts in scene tree Cleanup remaining EditorUndoRedoManager usages Don't break parsing on missing resources Fix crash in EditorPropertyArray Display transform properties of contained controls Make remote inspector groups not foldable Simplify GDVIRTUAL_REQUIRED_CALL calls Improve parent signature error Revert "Fix "Script Create" dialog errors with metadata" Fix invalid metadata names in script create dialog Rework how current Camera2D is determined Cleanup function state connections when destroying instance Improve usage of StringNames in GraphEdit Fix dependency reload triggered too early Fix unexpected editor dependency Add remote history to EditorUndoRedoManager Improve tile editor selection appearance Add PropertyInfo overload for GLOBAL_DEF Remove single-element groups from GPUParticles2D Fix VisibleOnScreenEnabler disabling in editor Add scope prefix to undo actions Remove conditons for unfolding inspector sections Remove unnecessary condition Use layer's modulate for tile previews Add a method to get global modulate Improve ResourcePreloader description Retry loading addons after filesystem scan Improve RefCounted support in Tween Improve remote tree node tooltips Refactor inspector code for getting resource Add Show in FileSystem option in the inspector Document all VisualShader nodes Split pause() from AnimationPlayer's stop() Improve some Tween internals Add expand modes to TextureRect Reset animation on playback stop Add expand mode compat to TextureRect Remove set_drag_forwarding_compat() Improve performance of imported file scan Update PathFollow2D when curve is changed Add EditorUndoRedoManager singleton Move global script class cache to separate file Improve empty Tween error message Increase default size of docks Allow unindent without selection Cleanup unused engine code v2 Add "Open in External Program" option Add range iterator to LocalVector Use range iterators in LocalVector loops Rework EditorPlugin editing logic Fix potential crash in EditorPlugin.edit() Fix script editor drag and drop Reselect signal after tree update Fix handling of nulls in some editors Fix plugins over not working Add method picker to signal connect dialog Connection dialog tweaks Add file hint to external program paths Don't change region_rect when setting texture Fix filtering editor nodes in Create Dialog Fix editors potentially being used twice Improve Connection Dialog method list Tweak overrun behavior of EditorPropertyObjectID Prevent wrong unedit when clicking editor viewport Add unbinds to scn Simplify Connect Dialog layout and sizing Fix Camera2D crashes Fix Camera2D crash due to ParallaxBackground node Remove unused has_global_classes() Fix @export_multiline for PackedStringArray More fixes to over plugin handling Improve Connect Dialog navigation Fix sub-resource IDs resetting when preloaded Fix null message in assert() Clarify visibility in VisibleOnScreenNotifier Fix error spam when deselecting TileMap Fix camera reparenting Fix tween_method() type validation Fix HSV Rectangle Wheel values Fix corrupt undo after making sub-resources unique Fix some TileMap errors and crashes Fix Save All trying to save empty scene paths Fold resources when non-main inspector exits tree Fix crash with AspectRatioContainer and TextureRect Fix wrong font in Event Configuration Remove path hard-coding in editor_build_profile Apply inspector read_only only when changed Fix missing directories when exporting from cmd Fix tile atlas merging crash Clarify rotation degrees Fix line folding with multiple carets Fix reset_state() in TileSet Fix Polygon3DEditor parenting errors Fix custom viewports in Camera2D Fix wrong OS regex in project converter Improve documentation of EditorExportPlugin Tomer Keren (1): Setting visibility on GridMap now works. Closes #41374. Tony-Goat (1): Updated LineEdit to address #41278 Trashtalk (1): handled edge case where navigation_link_2d is outside of the tree when calling _edit_get_rect() Travis Veralrud (1): iOS: Fix memory leak on touch input Treer (2): Qualify Console's namespace to avoid mixup with plugin's objects Update modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/GodotPluginsInitializerGenerator.cs Trevor Davenport (1): Add missing new function parameter. Trioct (1): Fix const typed array assignment Twarit (11): Remove unused driver/dummy/audio_driver_dummy.h VCS: Port Godot 3.5's VCS features to GDExtension VCS: Load a GDExtension instead of Script + UI port from 3.5 VCS: Fix empty metadata items being moved across stages VCS: Replace usage of varray() by using callable_mp::bind() VCS: Improve VCS UI/UX by QoL changes VCS: Fix GDExtension return types for VCS after Array type hardening VCS: Remove `project_path` VCS property, let plugins decide VCS: Add a stern confirmation dialog before discarding all changes VCS: Remove method binds that are not being used in VersionControlEditorPlugin VCS: Fix split diff's overlapping fields TwistedTwigleg (13): Made low level changes to the Skeleton3D class and Skeleton3D inspector. Changes listed below: Fixed 2D physics regression that causes RigidBody2D nodes to spin uncontrollably when colliding Changes to SkeletonIK: * Removed the pointers to PhysicalBone in the code, as they were unused. * Forward ported the SkeletonIK bone scaling fix I made from Godot 3.2 to Godot 4.0. * Fixed issue where the root bone in the IK chain would not rotate correctly. * The issue turned out to be the update_chain function being called in solve. This would override the root bone transform incorrectly and that would cause it not to rotate after just a single solve. Removing the update_chain function fixes the issue and based on my testing there are no adverse effects. * While the old fix on this PR (prior to a force push) required a hack fix, this new fix does not! * Removed the update_chain function. This change doesn't appear to have any adverse effects in any of the projects I tested (including with animations, Skeleton3D or otherwise, from AnimationPlayer nodes!) * Fixed issue where the scale of the Skeleton node would change the position of the target, causing it not to work with skeletons that have a global scale of anything but 1. Fix for regression in SkeletonIK code Fix for SkeletonIK not working correctly with 0 interpolation and incorrectly rotating with animation. Now the root bone rotates differently to ensure it always rotates correctly and works with BoneAttachment3D nodes. Changed SkeletonIK3D to clear bone overrides when stopping Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides SkeletonIK: Fixed issue where bones become detached if multiple SkeletonIK nodes are used (Forward port of 3.X code for Godot 4) New and improved IK system for Skeleton2D New and improved IK system for Skeleton3D Fixed magnet vector not working correctly in SkeletonModification2DFABRIK Fixed SkeletonIK not rotating correctly when solving Fix for SkeletonModification3Ds to work with the new bone pose changes, fixed global_pose_to_local_pose function Umang Kalra (17): Edited the KinematicBody and KinematicBody2D docs Changes made as requested. Doc edit at InputEventMouseMotion Fixed the bool _static logic Fixes the right and center alignment bug of rich text label Fixes the stopping of animation effects in bbcode after appending Fixes the get_visible_line_count() of rich text label Fix RichTextLabel center alignment bug Explaining the behavior of focus & pressed stylebox overlap Fixes the misleading error message for call_recursive method for TreeItems Fixes missing descriptions in search window of visualscript Automatic arrangement of nodes in VisualScript/VisualShaders editors Changes the icon of node arranger in GraphEdit/VisualScript/VisualShader Fixes position offset of node groups set by arrange_nodes() in GraphEdit Fixes sync issue between position_offset and rect_position in GraphNode Making nodes enclosed within comment move with the comment node Fixes variable/singal nodes not renaming in visualscript editor Changed the title of change node type dialog Univeous (1): Fix UI navigation with joysticks Uxeron (2): Fix physics body rotating incorrectly around it's center of mass Fixed _get_drag_data getting incorrect position on scaled controls Valerii (1): Validate AnimationNode name in AnimationStateMachine Vasiliy (1): Add "preview_on_sphere" setting of material editor plugin Vasiliy Makarov (2): Fix square image resize iOS: Fix multiple issues with PVRTC import, disable ETC1 Vaughan Ling (1): Change android orientations from sensor to user Vedat Günel (4): Fix incorrect title and button text in Inherit dialog Change reserved keyword in Regex documentation code Fix String.ends_with() for empty string arguments Add outline to dragged guide text Victor Karp (1): Fix missing "s" at the end of word in `OS.move_to_trash()` description Victoria Fisher (1): Adds full description for AudioEffectRecord.xml Vignesh1-art (2): Fixed Invalid function bindings #46135 Fixed crash executing TextEdit.new().set_draw_control_chars(true) Vincent (4): add mp3 import and playback support implement individual mesh transform for meshlibrary items Fix crash when loading an invalid mp3 file AudioStreamMP3: expose loop properties to the editor Vincent D (2): Expose get_skew for transform2d and add new constructor Fix global properties and add global skew for node2d Vitika9 (12): Fixed coding style Removed Redundant assignement of name inside configure_joypad function Fixed Camera2D's reset_smoothing() does not work as described Added check for SceneTree being null Removed extra separator in absence of ChangeType and Rename Right-clicking will not close popup Made reload current project ask for confirmation with unsaved changes Removed show_on_top property in CanvasItem Changed signals of ItemList Fixed dragging curve points ColorPicker Refactor ColorPicker UX improvements Vivraan (1): Fix Vector3i and Vector2i AXIS_* constants Vladimir Savin (1): GDScript: Fix brief/long description doc comments. Vladislav Slobodenyuk (1): Fix TileMap drawing itself twice on creation Void (1): fixed and optimized Area2/3D get_overlapping_bodies/areas Vojtěch Struhár (1): Filled in MultiMesh instance_count doc. VolTer (47): Improve binary operator highlighting Rename NOTIFICATION_INSTANCED to NOTIFICATION_SCENE_INSTANTIATED Improved performance of String repeat method Tweaked StringName highlighting color Added highlighting color for GDScript and GlobalScope functions Reorganized Label and RichTextLabel properties Fix number highlighting Follow-up fixes to number highlighting Add missing values to binary operator highlighter check exceptions Fixed a case for global function highlighting Remove old syntax for custom class icon Stopped edge stripping when using Find in Files Shift+LMB to Toggle Bookmarks Remove Remove and Skip Implement Area.has_overlapping_* Remove px unit from animation_separation in TileSet atlas editor (as it's tile-based, not pixel-based) Improve some Text Editor editor settings Fix crash with drag and dropping nodes Make Replace in Files always visible in Search Add ability to open multiple scenes in the Dependency Editor Rename Indent Left/Right to Indent/Dedent Rename Copy Property –> Copy Value Fix more highlighting bugs Fix outdated keywords autocompletion Improved breakpoints hover indicator Remove duplicate operator registrations Fix small mistakes throughout much of the documentation Fixes and improvements to Search Results dock Fix jankiness when drawing GradientTexture2D Remove more instances of 'instance' being used as a verb Fix text selection persisting on bookmark traversal Implement snappedi, snappedf, and Vector[2/3/4]i.snapped Fix Gradient preview issues Make it clearer that printraw only prints to terminal Fix unary op warnings never showing Fix slight visual discrepancy in Search Result dock Fix various fringe issues with multi-carets and selections Rename get_points_count() to get_point_count() internally Stop highlighting node refs if they are invalid identifiers Fix the Frame Selection functionality Fix Gradient Editor bugs Add more sections to Button and BaseButton Usability improvements to the Zoom Widget Fix error messages of {}Tweener.new() Fix String.split() with empty string and delimeter Fix autocomplete persisting at the beginning of a line Fix Indent/Unindent without a selection not causing a redraw Volka (1): Fix unintended SpinBox mouse capture Vorblen (2): Add description for "absorbent" and "rough" Fix "Fully Axis-Locked" Freelook Navigation Scheme Voylin (5): Adding print_rich for printing with BBCode Fixing Print_rich which only displays correctly in terminal Fix for recurring check in gdscript_cach.cpp Fixes doc/Makefile fails if path contains spaces Adding tff, otf, woff(2) to custom font extensions Vsono (1): Fix WebSocketMultiplayerPeer server crash WARIO-MDMA (2): Reduce AudioStreamPlayer's pitch_scale max value Rename "GodotPhysics" to "GodotPhysics{2D,3D}" Wagner Scholl Lemos (2): Fix to prevent icons from disappearing. Added show and hide methods and updated doc API. Waridley (2): Fix volume interpolation in positional audio nodes free NativeExtensionMethodBinds on unregister Wei Guo (4): Fix MultiplayerSynchronizer peer visibility Fix MultiplayerSynchronizer::update_outbound_sync_time when replication_interval is not 0 Make window creation with custom position do not flash Fix built-in script path of GDScript Wesley Elliott (1): Use path instead of file name when updating script classes Wiktor Kocielski (1): Make present mode info message print only on change Will Jordan (1): Fix crash on macOS (AS) when dualshock4 is removed Will Nations (4): Add script class categories to EditorInspector. Add GDScript resource export. Script-class-aware Inspector & related controls. Enable QuickOpen to see scripted resources. Will Whitty (2): Increase RemoteDebuggerPeerTCP poll to 6.9ms Fix new performance regressions (short delay_usec) William Deurwaarder (18): RichTextLabel returns member (Array) for custom effects for Editor Print error message when await is not followed by signal or coroutine Show help for built-in functions (@GlobalScope) Symbol lookup jumps to the correct position in help editor Fix documentation viewer to scroll to end Fix incorrectly removing two characters by auto brace GPULightmapper's triangles and their bounding box will be in-sync GPULightmapper exclude back-face triangles while calculating bounces GPULightmapper: skip smoothen positions for flat triangles GPULightmapper: process rays to sky in all bounces as active GPULightmapper: prevent loop with max iterations GPULightmapper: increase ray triangle hit rate GPULightmapper: execute dilate before denoise GPULightmapper: execute dilate also after denoise GPULightmapper: better algorithm to generate rays for indirect lighting GPULightMapper: convert colors of lights to linear GPULightmapper: cube to panorama copy function flip y based on flag GPULightmapper: react on sky ambient properties Wilson E. Alvarez (17): Show errors on Object.call_deferred Check if global class file still exists before registering it Disconnect item_rect_changed when removing a child of GraphEdit Allow retrieval of FuncRef function string Make "function" a property of FuncRef Document InstancePlaceholder.create_instance not being thread-safe. Update documentation for is_absolute_path and is_rel_path Expose String.simplify_path Rename String::is_rel_path to String::is_relative_path Rename Listener2D/Listener3D to AudioListener2D/AudioListener3D Add error messages to String::hex_to_int, and accept capital X in prefix Accept capital B in String::bin_to_int prefix Fix max argument count on AnimationTrackEdit spinbox Fix 'Add Node...' menu entries in AnimationNodeBlendTreeEditor Sync detect_prime_x11.cpp formatting changes from 3.x branch Rename String::is_subsequence_ofi to String::is_subsequence_ofn Properly check for fullscreen toggle made through the Window Manager Windy Darian (2): Fix normal and tangent blending in blend shapes Don't try to import unknown dependency from scan Winston Hartnett (1): Fix instance uniform typo Winston Yallow (2): Correctly expose transform as 3D transform typo: change congiruation into configuration WoLfulus (1): Fix dwFlags on CreateProcessW calls Wysocki Patryk (1): Expose AnimationNodeOneShot::mix_mode as a property Xartorx (1): Fix Mono build after resource load cache changes Xavier Loh (1): Expose `RenderingServer::canvas_item_add_animation_slice` in GDScript Xavier Sellier (1): Defer the call to 'popup_str' to the next cycle to let Godot Engine's editor time to properly start Xeadriel (1): Add that elapsed_time in CharFXTransform resets when RichTextLabels text is changed Xentripetal (1): Account for relative z-indexes when y-sorting Xpertice (1): Add case for Variant::INT in lerp variant switch Xwdit (10): Fix the exceptions in signal disconnection Fix enum int comparison Fix document not showing for script properties in inspector Fix grouping annotations displayed in document Fix missing method qualifiers in script doc Fixed incorrect type display of void return in GDScript editor tooltips Fixed incorrect type display of function argument in GDScript editor tooltips Fix script documentation method argument default values Fix document display in inspector for properties Some improvements to the SceneTreeTimer Yakov Borevich (1): [funexpected] clear missed remaps on deinitialization, fixes godotengine/godot#34221 Yaohua Xiong (10): Move rotation sampling from Path2D to Curve2D Refactor Curv3D and PathFollow3D Refactor Curve3D::_bake() method Fix Curve3D::get_closest_point() broken draw fish bones for Path2D and Path3D Refactor baking code for Curve2D Fix Path2D fish bone direction Handle corner cases for curve baking Fix Curve2D::get_closest_offset Remove side effect of the `handles` method Yerik (1): Add Method get_inverse_inertia_tensor Yetizone (6): rasterizer_rd.cpp: Correct small typo Mention SubViewport.render_target_clear_mode property is intended for 2D usage. mesh_library.h: Update header guard to reflect file name scene_tree.h: Update header guard node_3d_editor_plugin.h: Update header guard tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive Yilin Ma (1): added load resource pack with offset feature Yingnan Wu (1): fix typo Yuri Sizov (189): Add a button to quickly repeat last search in files Add more verbosity for property overrides in RST documentation Added missing LinkButton colors in Editor Theme Improve shortcut formatting in docs Improve null check in FindReplaceBar Expose methods to play scene from plugin code Improve scene preview generation for empty scenes and disabled features Fix errors saving a 2D scene preview when the 2D editor was never opened Add a minimap to the GraphEdit Display the number of results for global search Remove unused argument in Theme method and expose missing methods FIx visual issues with GraphEdit minimap Prevent signal disconnection attempts on invalid references Fix minimap capturing events and improve its theme Add documentation for EditorPlugin's build method Properly hide GraphEdit's minimap Fix stale tab names in TabContainer Add utility methods to Theme, improve error messages and documentation Fix misformatted documentation from #47435, #42827, #46991 Expose editor scale to the plugin API Refactor Edit Theme menu in Theme Editor Fix autocompletion for Control's Theme properties Refactor Create Theme menu in Theme Editor Add outlines and contrasting backgrounds to the editor UI elements Fix EditorPropertyEasing capturing drag events originated outside of it Keep custom editor theme when changing editor settings Add EditorResourcePicker control based on the Inspector editor for Resources Add theme_custom_type property to Control and Window Use EditorResourcePicker in the Inspector Make EditorFileDialog only created on demand in EditorResourcePicker Add highlight to the relationship lines of selected Tree items Fix disappearing relationship lines in Tree when item is out of view Prevent Theme resource from emitting changes during bulk operations Improve the layout and texts of the Editor Feature Profiles dialog Proofread add_*_plugin/remove_*_plugin descriptions in EditorPlugin Replace get_settings_dir with get_config_dir when fetching configuration paths Improve the UI/UX of the Export Template Manager dialog Make several actions in the Inspector dock more obvious Make sure Tabs reflect theme changes Fix Theme overriding existing theme types with empty Overhaul the theme editor and improve user experience Make zoom limits and step adjustable in GraphEdit Fix pinned StyleBox incorrectly reacting to several actions in the new Theme editor Make relationship lines draw on top of TreeItems Add type variations to Theme Improve Control's theme item methods documentation Check if there are new docs missing on CI Fix control picker in the Theme editor Fix focus behavior in the Add Item Type dialog of the Theme editor Fix a crash when trying to load a WebP StreamTexture2D Put multiple colons back into translated strings Fix theming in the audio bus editor Make theme item overrides more obvious in the Inspector Cache EditorResourcePicker's allowed types Fix the editor theme application for the Mono build log Improve user communications in the theme editor Add theme item descriptions to the online documentation Fix theme property descriptions in the Inspector Fix minor code style issues in the RST generator Improve the inspector plugin documentation and remove a confusing statement Make sure stylebox is valid in EditorSpinSlider before using it Add support for partial custom editor themes Adjust the material key bit size for ParticlesMaterial Correctly calculate position of the folding arrow in Tree Add usability notes to ColorPicker and ColorPickerButton descriptions Reorganize Theme resource code for better maintainability Add the base scale factor to the Theme resource Remove EDSCALE dependency from /scene/gui Make Theme report property list changes less often Correctly bind optional arguments when emitting Theme changes Add warnings to methods that give access to internal nodes Remove redundant String operation from GDScript enum exports Add focus font color to Button and derivatives Add a flag to EditorResourcePicker to differentiate selection contexts Prevent MeshDataTool from crashing due to invalid bones/weights arrays Restore constructor/operator information in online docs Fix EditorInspectorPlugin virtual bindings and add parse_group callback Add methods to get position from column and line in TextEdit Fix a crash in editor's script parent class check Make default/project theme wait for modules before initializing Sort and group theme properties in docs, improve formatting for theme and enums Allow scrolling theme preview when the control picker is active Make overridden properties link to parent definition Improve user communication in the Add Item Type dialog Use GDVIRTUAL* macros when binding virtual methods in exposed classes Make the theme editor correctly stop updating after it was hidden Fix an incorrect exposed property type in Tree Correctly use fallback Theme values as last resort Fix a node reparenting warning in the editor debugger Fix RichTextLabel not respecting line separation in several cases Improve spacing in built-in class reference Sort class properties in the built-in docs Fix RichTextLabel tables shrinking expanded columns when there is not enough space Make assets in progress open the next step instead of erring Ignore layout and translation changes in Controls outside of tree Fix Asset Library UX when an asset is being downloaded Remove unnecessary transformations from editor icons Update icons and color conversion rules to simplify the palette Fix the breakpoint icon in CodeEdit Fix theme application in various curve editors Refine Theme documentation to make it more factual Reorganize inspector layout workflow for Control nodes Extract link titles for translation if available Add an explicit way to remove a theme type Limit inspector updates when dragging anchored controls Add missing CheckButton icons Fix a typo in PROPERTY_HINT_ENUM_SUGGESTION description Restore Theme.get_type_list behavior to properly handle uniqueness Define some Theme data structures with using for readability Mark node groups as dirty for every children if parent is moved Fix theme propagation for children of top level controls and windows Add support for documenting built-in annotations Add grouping annotations for class properties in GDScript Add default argument bindings to GDScript annotations Use FlowContainer to handle toolbar overflow more gracefully Group properties of Generic6DOFJoint slightly better Reorganize code of control.cpp for better maintainability Improve the autogenerated note in RST docs for class reference Extract EditorResourceConversionPlugin into its own source files and clean up editor includes Remove excessive `editor/property_editor.h` includes Remove `CustomPropertyEditor` completely Add text overrun behavior for the theme type selector Round icon position and size in buttons to make them look sharper Rebuild the trees in the EditorFeatureProfile dialog when the editor theme changes Add checks for empty/unnamed arguments to make_rst.py Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript Add support for [param foo] syntax in valid documentation contexts Rename the argument tag to param in XML documentation Add dumb theme item cache to Control Improve the `make_rst.py` parser for BBCode tags Clarify the Line2D, Curve2D/3D documentation and fix parameter names Improve editor toolbar for Control nodes Fix a typo in navigation server documentation Make `property_*_revert` methods multilevel and expose them for scripting Add documentation for all annotations Replace meta properties with regular properties in `Control` Make `_validate_property` a multilevel method Make `ImageLoader` take bit field flags Extract editor color map and simplify SVG color conversion Disconnect Control from theme resources to avoid issues on destruction Remove Inspector tooltip hack that never actually worked Make cross-link generation more reliable in RST documentation Add ThemeDB, expose previously static Theme methods Fix some editor theme regressions Properly handle theme changes in the Skeleton3DEditor Add background to TabContainer's tabbar and editor docks Improve style and add contextual highlight to the editor launch pad Unite GradientEdit and GradientEditor as editor-only widget Add dumb and manual theme caching systems to Window Add a lifecycle method for manual theme item caching to Control Fix theme propagation in various parts of the editor Fix property revert logic in the sectioned inspector Add ThemeOwner type for managing theme propagation and lookup Un-defer the initial theme changed notification Un-defer the initial theme changed notification in Window Fix theming error in EditorHelp due to order of operations issue Improve naming of theme properties throughout GUI code Fix theming code in Panel, SplitContainer, RichTextLabel Make AcceptDialog and derivatives utilize StyleBox fully Rename EditorInterface.get_editor_main_control to get_editor_main_screen Allow images to be imported "for editor use" and respect editor settings Improve parameter naming and documentation in GraphEdit and GraphNode Fix loop mode button update in the Animation editor Improve icon generation in the editor theme Add more call-to-action notes when documentation is missing Split generated RST for class reference based on the base type Improve class reference split, list variant types separately Add missing public property_*_revert getters Improve layout of generated class references RST pages Copy local theme overrides from Control to Window Improve signal documentation for Area2D/3D Add fallback values for font and scale to the default theme Simplify some editor plugin logic and remove dead code Fix inconsistent state of Controls when editing and running scenes Clarify some parent item checks in CanvasItem Ensure that the cached layout mode is in sync Update all outdated online documentation links Clean-up, harmonize, and improve StyleBox API Remove size restrictions from StyleBoxTexture Fix incorrect description for `Signal::get_connections` Avoid cleaning up editor plugins when property list changes Make use of a theme cache in EditorHelp and ensure it's updated Make EditorHelp respect font size settings Increase default font sizes for EditorHelp Remove extra spaces and correct crosslinks in some documentation Remove deprecated methods from Bone2D Add a custom icon for the `project.godot` file in the EditorFileDialog Ensure minimal thickness for RichTextLabel underlines Sync tutorial paths for GI classes with online documentation changes Zach Coleman (2): Add iOS UI Options Add ProMotion Support to iOS Exports Zae (25): fix item_edited behavior on Asset Installer. fix crlf for clipboard Fix C# string.IsAbsPath() fix custom loader/saver broken add search extensions for scons' path Fix C# string.Hash() Fix zip file opening twice Fix duplicate close files when deconstructing ZipArchive Fix `EditorFileSystem` not checking `.gdignore` in existed directory Fix unexpected crashes in `notification` Fix `PluginConfigDialog` UI broken Fix BaseButton's localization for tooltip with shortcut Make `Animation::track_insert_key` return key index C#: Add grouping attributes for properties. Fix ScrollContainer touch-scrolling not working. Fix Object type in GodotJSWrapper. Fix file locked issue when exporting to Web. Fix sorting issue in Project Manager. Fix WebSocket connection failed on Web. Fix reload scripts error after saving in external editor. Fix viewport doesn't auto-resize on Web. [Editor] Fix float dock shows untranslated title. [TileMap] Fix alternative tile issues. FIx debugger can't inspect sub objects. Adjust position and size for dropping texture. Zak Grumbles (6): Clarify docs for Thread.start() godotengine#36032 Make dict erase node sequenced godotengine#37477 Clarify Dictionary duplicate params godotengine#37162 Fix OptionButton docs godotengine#36803 Improve documentation for Camera3D's `current` member Add note regarding RefCounted to EditorScript docs Zak Stam (5): Disconnect while downloading Adds automatic update for region_rect Update scene/main/http_request.cpp Improve docs for Thread Add `uri` property for LinkButton Zhehang Ding (1): Basis constructor: row vectors -> column vectors Zoee Silcock (2): Add a note about the parameter that global menu callbacks require Fix so that the main window is displayed before the splash screen minimum display time starts counting on Mac OS ZuBsPaCe (5): GDScript: Count usages of member variables. GDScript: Removed spurious UNASSIGNED_VARIABLE warning for locals GDScript: Report property type errors Fixed shader error message for instance qualifier Sibling SubViewports must be rendered from top to bottom [Error:27] (1): Make Roughness and Refraction not mention AO [Error_27] (1): Add how to retrieve RigidBody2D and RigidBody3D autocomputed inertia aXu-AP (8): Add Curve2D/tessellate_even_length description class-reference Add documentation for GpuParticles2D collisions Fix incorrect claim in RemoteTransform2D class reference Add missing property and method descriptions to AnimationNodeTransition class Add description for ArrayMesh.shadow_mesh Fix AnimatableBody3D not being movable in editor Rework code editor multiline operations Fix toggle comment not moving caret abaire (1): Relaxes Node naming constraints in glTF documents to match the Editor. addmix (1): Added documentation note for `add_custom_type()` ajreckof (3): expose TileMap methods related to the name of custom data layers add CMD_OR_CTRL as a Key and not just a key modifier replace the use of CTRL by CMD_OR_CTRL in three places where using CTRL prevented the use of the functionality on mac alan-w-255 (1): fix android wrong multi-touch pointerid albertfay1121 (1): Fixed bug with text going under scrollbar alcomposer (1): add controller_number & controller_value to allow printing of all MIDI event data alex-pahdo (1): Add more info to WAV import errors alvaroHernandez (1): prevent joypad button input dropdown going out of dialog amor (1): Mouse ptr reappears at drag start position andrew-softdev (2): Incorrect format specifiers used to display some String/StringName data Fix for reselecting a TileMap node without first de-selecting it andriyDev (2): Added inspector_only option to inspect_object in EditorInterface. Updated docs to reflect change to inspect_object. Deleted YSort, moved its functionality directly into Node2D. YSort now has a compatibility alias to Node2D. Updated TileMap to use the existing Node2D y_sort_enabled property instead of its own property. Updated Node2D doc to include the new y_sort_enabled member. Updated TileMap doc to remove its mention of cell_y_sort. Deleted YSort doc. andybarcia (3): Fixes crash when calling VisualShader::set_mode Fixes some inconsistent ISO-639 language codes Fixes TileMap editor copy bug. antonWetzel (3): create vector4, vector4i and projection for csharp vector4 distance_squared_to and update csharp don't marshal multidimensional arrays arkology (1): Support AtlasTexture in radial modes of TextureProgressBar asheraryam (3): Add "node_unselected" signal for GraphEdit Fix rounding error in Clip Content Expose creating multiple-convex-collision static bodies to GDScript ator-dev (3): Fix code folding when end of block is unindented delimiter Make delete_lines work correctly regardless of the selection Prevent hidden tab close buttons from intercepting input [4.0] avemort (2): expose XRInterface::get_transform_for_view and XRInterface::get_projection_for_view to gdscript Add index check to OpenXRInterface::get_projection_for_view and OpenXRInterface::get_transform_for_view awsker (1): Viewport would be cleared even when clear_mode was set to VIEWPORT_CLEAR_NEVER azagaya (2): Fixing wrong blending rect methods Fix vertical slider grabber_area height calculation backwardspy (1): set StartupWMClass in linux `.desktop` file bad (1): Move "Create Debug Tangents" into an editor plugin baihan (1): Fix physical bone is not animated in running project. baptr (1): Fix multiplayer replication crash in on_sync_receive. basta (1): Changed bool to GdNativeBool benbot (2): removes unused skeleton functions and stray comments in RigidDynamicBody3D removed 2nd particle collision velocity calculation besh81 (2): Fixed bug in tab_container with hidden tabs Fixed bug in grid_container with hidden children bitsawer (10): Fix shader preprocessor macro expansion Fix Windows list dir handle leak Fix shader preprocessor memory leak Fix shader include dependency handling Fix range loop iteration regressions Several shader preprocessor parser fixes and improvements Fix several shader preprocessor include issues Expose and document ProjectSettings.get_global_class_list() Fix FileAccess last open error flag update Fix shader preprocessor include resource check bitstopper (1): Fixes broken CPUParticles2D AtlasTextures usage bmolyneaux (2): Clear animation map when import settings is opened Queue redraw when MultiMesh instance transform changes booer (4): Fix filtering of search results in SectionedInspector Fix changing icons' colors when switch dark and light theme Fixes updating CPUParticles emmision shape values Update Inspector when changing AudioEffectChorus voice_count boruok (4): 4.0 fix atlas texture return null Fix AtlasTexture get_data() crash added optional region cropping to Texture Atlas importer fixed typo in NavigationPolygon doc bruvzg (672): [iOS] Adds export options to automatically generate iOS icons and launch screens from the project icon and boot splash. Fix pressure / tilt ranges on Linux. Add static Vulkan loader. Add runtime GLES2 / Vulkan context selection. Fix Vector3 ambiguities and out of bounds init. Improve HiDPI handling, fix incorrect window viewport clipping. Move Vulkan context/rendering_device destruction to windowWillClose notification. Update Vulkan loader to 1.1.127 Restore parts of #33783 and #32809 missing after rebase. Remove unused WinAPI includes/defines to fix MinGW cross-build. Update VulkanMemoryAllocator to 2.3.0 (Fixes build for 32-bit Windows and Linux). Rename `scancode` to `keycode`. Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes). Replace IOHIDDeviceRegisterRemovalCallback with IOHIDManagerRegisterDeviceRemovalCallback to fix gamepad disconnection callback on macOS Catalina. Rename conflicting variable to fix MoltenVK shader compilation. Add macOS DisplayServer implementation. Prevent recursive `_dispatch_input_event` calls, improve focus regain on window deletion. Fix default editor font. Fix popup_centered_clamped definition typo. Ignore process serial number (`-psn_...`) command line argument passed by macOS Gatekeeper. Git Hooks: Add support for GUI git clients. [ci skip] Fix "redefinition of 'ssr' with a different type" shader compile error. Git Hooks: Suppress "which" error messages. [Vulkan] Use `VK_LAYER_KHRONOS_validation` instead of deprecated `VK_LAYER_LUNARG_standard_validation`. [macOS] Re-add define for build with 10.14 SDK, remove unsupported 10.12 checks. [Linux/Windows] Set pressure to 1.0f when primary button is pressed and device is not pressure sensitive. [Windows] Add support for the WinTab API for pen input. Remove WinTab error message. WinTab: Adds extra "mouse move" events to make movement smoother and correctly handle pressure/tilt change when cursor is not moving. macOS signing improvements: allow signed app exporting as ZIP, sign DMG after exporting. Fix GDNative wrapper type sizes (RID, Variant, Packed*Array), add size checking static asserts. Fix popup positions on multiple screens (with same scaling only). GDNative add new core types. [Windows] Add quotes only to the command line arguments with special characters. [Windows] Add tablet driver selection. Docs: Fix order of variant constants. Block WM_MOUSEMOVE during Windows Ink pen handling. GDNative: Add bindings for the Packed*Array ptr() and ptrw() functions. Ignore invalid tablet driver name, when non are available. macOS export, add notarization support and id / signing / notarization config check. GDNative: merge API structs, bump version of merged structs. Add keyboard layout enumeration / set / get functions (macOS, Windows, Linux/X11), remove latin variant function. Change in-editor documentation style to be closer to online docs. macOS, prevent multiple CGDisplayHideCursor calls unpaired with CGDisplayShowCursor. [Windows] Prevent overwriting old cursor handle on multiple mouse_mode changes, ensure mouse_mode is set before `cursor_set_shape` is called to restore cursor. Fix use uninitialized `ofs` variable introduced in 39701. [macOS] Add support for the Apple Silicon (ARM64) build target. [macOS export] Set correct external file attributes (Unix mode), and creation time. [macOS] Add application become/resign active notifications. [macOS] Implement confined mouse mode. [macOS] Implement seamless display scaling. Fix exclusive child focus grab, when there are more than two child windows. [macOS] Fix transient windows. [macOS, Mono] Fix "Wdeprecated-declarations" build error. Add error messages if Vulkan init failed, prevent Vulkan context freeing uninitialized device and instance. [macOS] Fix window size on macOS Big Sur (title bar height is no longer same as menu height), use top-left corner as resize origin instead of bottom-left. Docs: Ignore OS specific values (constants, project settings, properties). [macOS / ARM64] Remove "-msse2" flag from ARM64 release export template build. Add ARM64 breakpoint inline assembly to "doctest". [macOS] Prevent setting `BORDERLESS` flag and calling `window_move_to_foreground` from giving focus to window with `NO_FOCUS` flag. [macOS] Refocus last key window after `DisplayServer::alert` is closed. Fix heap use after free in the doctest "main". [GDScript] Add static HashMap cleanup. [Windows] Attach to parent console instead of creating new one. Improve `OS::get_locale()` on macOS and Windows, replace "-" with "_" and use system macros instead of bitwise AND. Add locale format info to the documentation. [macOS] Fix crash on failed `fork`. Fix "on top" incorrectly set on init (all platforms). Fix "on top" reseting on window update. (macOS). [Windows] Fix modifier keys when using tablet input. Revert "[Windows] Attach to parent console instead of creating new one." Add Windows Subsystem build option. [macOS] Fix heap use-after-free in DisplayServer. Fix GDScript codegen leak. [Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms. Fix Mono path utils char types. Adds PCK encryption support (using script encryption key for export). Change default encryption mode from ECB to CFB. Add window click-through support. [macOS] Fix mouse position in captured mode. Fix `screen_get_dpi` on macOS for non fractional display scales and restore documentation. [Windows, MSVC] Correctly set source file encoding. [macOS] Suppress momentum scrolling after key press or modifier change to prevent unexpected change of action. Fix uninitialized `GridMapEditor::node` and `InputMapEditor::setting` variables. [iOS] Add missing ARC flag to the simulator build. Fix uninitialised variables in the BaseMaterial3D. Update "open-simplex-noise-in-c" to fix undefined signed overflow. Fix duplicate variant constructor typo. Add X11 Atom validity checks. Fixes crash if Vulkan presentation surface is not available. Add XChangeProperty Atoms validity checks. [Complex Text Layouts] Implement TextServer interface. Implement Fallback TextServer. [Complex Text Layouts] Add third-party TextServer dependencies (ICU, HarfBuzz, Graphite). [Complex Text Layouts] Implement ICU / HarfBuzz based TextServer module. [Complex Text Layouts] Implement GDNative interface for TextServer. [Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows. [Complex Text Layouts] Refactor Label and LineEdit controls. [Complex Text Layouts] Refactor TextEdit and CodeEdit controls. [Complex Text Layouts] Add TextServer documentation. Update Font, CanvasItem, Theme and modified controls documentation. Fix .pck lookup for extensionless binary in macOS resources. [Complex Text Layouts] Add compatibility for legacy Font resources. [Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph. [Complex Text Layouts] Align glyph offsets and advances to the pixel grid. [Complex Text Layouts] Fix bitmap font memory leak. [Complex Text Layouts] Fix missing ItemList item text buffer init in `add_icon_item`. [Complex Text Layouts] Performance optimizations. Load dynamic fonts to memory on all platforms, to avoid locked files. Static analyzer fixes: [Complex Text Layouts] Refactor RichTextLabel. [Complex Text Layouts] Add variable fonts support. [Complex Text Layouts] Add drop-caps support to TextParagraph and RTL. Add word breaks on punctuation characters. ICU: Update to upstream release 68.2 Always include space characters (including tabs and other space-like chars) into selection rectangles. Use integer text position in scroll container, TextEdit and canvas editor, to ensure sharp text rendering. Use integer font align/advance with any font scaling, to ensure sharp text rendering. Fix RichTextLabel content height and scrollbar calculations. Improve fill aligned text hit testing. [4.0] Fix file drag-drop on M1 Macs. HarfBuzz: Update to upstream version 2.7.4 [CTL] Add myself to CODEOWNERS for the text server and font. Fix OS::execute() and OS::create_process() command line argument CharStrings freed before use. [WIP] Add separate `simulator` flag for iOS build, change main library to `xcframework` format. RichTextLabel: adds separate `get_total_x_count`, `get_visible_x_count` and `scroll_to_x` functions for wrapped lines and paragraphs (newlines). [CTL] Do not break line on the span (e.g. RTL BBCode tag) edges. Use integer coordinates for the font glyphs rendering. Always init `DEBUG_UTILS_MESSENGER_CREATE_INFO` structure if `DEBUG_UTILS` functions are used. Add temporary variables to fix potential use-after-free. [Mono] Use the same search logic for both `MSBuild` and `dotnet`, add custom search paths on macOS. Use get_char_size(' ') to calculate space width. Fix uninitialized `BaseMaterial3D::features` variable. [CTL] Add missing font outline drawing routines and theme constants. [CTL] Fix scaling of the underline position and size. [CTL] Fix RichTextLabel cell horizontal padding. [macOS] Ignore mouse move event caused by mouse mode switch. [TextServer] Restore character and space extra spacing support. [Text Server] Restores bitmap font dynamic construction functions. Fix font `draw_*string` crash with empty data. Fix `TextLine`/`TextParagraph` crash when `add_string` / `set_dropcap` is called null font reference. Move tablet driver API from OS to DisplayServer. Make FreeType optional for export templates. JSON parser: add UTF-16 surrogate pairs support. [macOS] Add entitlements config and export template `dylib` signing to the export. Improve thread IDs to avoid collisions with threads not created by the Godot API. Improve bitmap font scaling. Fix default theme font size. Move caller_id init to Thread constructor to fix UWP build. Fix RTL BBCode range regression and selection issues. HarfBuzz: Update to version 2.8.0 Add "Replace existing signature" to the macOS export (enabled by default). FileDialog: add Back/Forward buttons, add message for inaccessible folders. [macOS] Enable code signing by default, use ad-hoc signature if no identity specified. Use extra font spacing in the RichTextLabel line height calculation, and stylebox size in the minimum size calculation. RichTextLabel: On custom effect change, parse bbcode only if it's enabled and not empty. [Complex Text Layouts] Provide access to glyph contour points. [macOS] Update required Vulkan API version the ICD configs. Fix macOS build with all sanitizers enabled. [JS, Android] Re-add "no-exceptions" for export templates builds with ICU. Fix crash on GDNative API json generator exit. ICU: Update to version 69.1, improve ICU data export process. Fix `url_decode` with mixed percent-encoding/Unicode strings. Treat Unix drive names as UTF-8 encoded. [macOS] Prefer .app bundle icon over the default one. [UWP] Add missing `get_scansym` argument. Add symlink API to the DirAccess (on macOS and Linux). [macOS] Allow "on top" windows to enter full-screen mode. Add GDNative Framework loading and export support. Fix `Directory::get_space_left()` result on macOS and Linux. [CTL] Improve font fallback order selection. Fix loading RLE compressed TGA files. Fix memory reads outside of input buffer when loading invalid TGA files. Add LSApplicationCategoryType to the template and export dialog. [macOS] Fix custom mouse cursor not set after mouse mode change. [Windows Export] Use temporary file for osslsigncode signing. Add right-to-left layout support for `EditorSpinSlider`. Fix Variant tags parsing. [macOS, Mono] Automatically enable JIT entitlements for the Mono exports. Optimize LineEdit and TextEdit menu item generation. [Editor Fonts] Add Noto Sans Bold font variant for supported languages. Fix MoltenVK static linking on macOS (add missing include path, Vulkan SDK path option, use xcframework instead of static framework). Move `alert` function from `DisplayServer` to `OS`. Optimise `is_layout_rtl` by caching its return value. [macOS] Add "debugging" (`get-task-allow`) to the export options, to allow using native debugger. [macOS] Move captured mouse cursor to the center when window gain focus. [Text Server] Improve object (image/table) inline alignment. Use "volk" instead of statically linked Vulkan loader. Remove unnecessary iOS linker flags. Port camera feed to the new RenderingServer API. Add placeholder textures to ensure CameraTexture / CameraFeed always have valid RIDs. [TextEdit] Improve block/insert caret drawing. [macOS] Request camera permission before session init. Fix label outline overlaps. Makes FontData importable resource. Adds multi-channel SDF font texture generation and rendering support. Adds per-font oversampling support. Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading. Adds BMFont binary format and outline support. [TextServer] Fix HarfBuzz handle init order. Fix MinGW build. Add TextServer parentheses stack dynamic reallocation support. Fix `Label` and `RichTextLabel` `visible_characters` and `percent_visible` methods. HarfBuzz: Update to version 3.0.0 Add FontData cache index check, remove excessive loop. [macOS] Update MIME codes and file type names to match "dist/linux/org.godotengine.Godot.xml" definitions. Add missing "shader" type icon. Fix RTL layout Label text, VBox child, 3D node editor controls, and popup menu alignment. Add flag to connected grapheme. Apply RTL displacement FX only to the whole connected grapheme. Pass more glyph info to the custom RTL FX. Fill variation coordinates dictionary with default values when FontData is set/added. Improve invalid non-graphic glyph detection. Update Font advanced import dialog character ranges to Unicode 14. Fix character range selector column number. Bitmap Font: Remove deprecated vertical kerning callback. [macOS] Add empty translation files to the editor app bundle, to allow translation detection by the OS. [macOS, sandbox] Add export option to embed and sign helper executables. Fix trim overrun width not being reset. [Fallback TextServer] Fix char to glyph conversion. [FontData] Fixes saving copy of the font source data, if it was created from built-in font. Implement TextServer GDExtension interface, remove TextServer GDNative interface. [Text Server] Add support for user defined punctuation list, used for word breaking. Remove Scene dependency from the TextServer, use scalable hex box font instead of built-in bitmap one. Fix inline IME input not working in the empty LineEdit with the placeholder. Move static feature set and number system `StringName`s to the singleton. Remove `hb_` prefix from the custom bitmap font functions to avoid potential conflicts with the HarfBuzz. Cleanup commented debug code. Update numbering system data to CLDR 39. [TextServer] Add texture index, offsets array size and Unicode char validation. [TextServer] Use `round` instead of `floor` for hex code box size calculation to better match font size. Fix handling multiple "physical key" events in the single input map action. [macOS] Add entitlements required by OIDN JIT for the editor build. Ignore empty Font resources as theme override. Add range hint to font_size properties. Remove excessive `base_size` Font property. ICU: Update to version 70.1 Implement TextServer `strip_diacritics` function. Add functions for getting name and font style from dynamic and bitmap fonts. Add font selection toolbar editor plugin. [macOS] Add `create_instance` function to spawn editor copies. [macOS] Modify `create_project` function to detect and run app bundles using NSWorkspace to ensure app window is registered and activated correctly. [macOS] Add support for OpenGLES3 video driver. Fix Label and RichTextLabale text shadows and shadow outlines. [Export] Read and ZIP project files in 16K chunks instead of reading the whole file at once. [iOS export] Capture and display xcodebuild output. [macOS] Use pre-wait observer to keep main run loop running and redraw window during the window resize and displaying modal popups. HarfBuzz: Update to version 3.1.1 Fix incorrect encoding (Latin-1 instead of UTF-8) used in `_error_handler` functions. Move BMFont parser code from importer to the FontData to allow loading bitmap fonts in the runtime (without importing). Fix RichTextLabel selection copy with table cells. Make window unmovable by dragging title bar, when mouse in captured or confined mode. [GDScript] Check string literals for Unicode direction control characters. [macOS] Fix crash handler not printing function names on M1 Macs. [GDExtension] Implement missing Dictionary index operators. [Vulkan] Check each device capabilities before selecting it. Add Input.is_physical_key_pressed method. [macOS / iOS] Use storage buffers instead of unsupported images for the volumetric fog on MoltenVK. [macOS / iOS] Use non atomic operation to store facing bits on MoltenVK. HarfBuzz: Update to version 3.1.2 Add different "visible characters" behavior modes. [Windows] Open a new console window for the editor instances. [Text Server] Fix re-shaping of substrings, improve oversampling scale. [Windows] Detect new Windows Terminal and disable unsupported set_console_visible code. [Windows] Improve console handling and execute/create_process. Fix incorrect format and buffer used for bone weights. Fix decoding UTF-8 filenames on unzipping. Fix multiple missing UTF-8 decoding. [TextServer] Improve ligature cursor handling. Fix mid-grapheme hit test. Fix OpenType features property handling, add default features override option. Enable mid-grapheme cursor by default. Fix button multiline text alignment. Fix glyph index for bitmap fonts. Fix TextEdit glyph position rounding. Fix freezes when tab is zero or negative width. [macOS export] Improve code signing/notarization options validation. Add joystick button index boundary check. Increase max. button number to 128 (max. buttons supported by DirectInput). [macOS] Improve window activation hack. HarfBuzz: Update to version 3.2.0 [macOS] Fix OpenGL color space on HDR displays. [TextServer] Improvements for line breaking, "Fill" alignment, overrun, and interaction between these modes. [macOS] Fix self-contained mode, by looking for `._sc_` and writing data to the bundle directory instead of executable directory. Add support for getting native display, window, and view handles. Fix CodeEdit guidelines position. [iOS] Improve iOS icon / loading screen export. [TextServer] Implement locale and context sensitive case conversion functions. [Documentation] Add instruction how to execute built-in commands of various shells. [macOS export] Implements ad-hoc signing on Linux/Windows, adds extra privacy settings, entitlements warnings and error checking. Window management improvements. Improve locale detection. Use separate language, script and country lists. Add locale selection dialog and property hint. Fix locale always selecting translation instead of "en", when no match found. [Windows] Fix pop-up dialogs instantly closing. Fix main window title translation. [Export] Instead of removing unsupported options, hide it. [Editor] Disable contextual alternates (coding ligatures) outside of code editor. [RTL] Fix missing line separation in the paragraph offset and click calculation. [Editor] Do not update editor help theme, if calculated margin hasn't changed. [Windows] Add support for handling network share paths. Fix translation with multiple sources for the same language. Remove unnecessary locale length checks. Add "C" -> "en" locale remap. Allow unsetting `shortcut_context`. [iOS] Fix iOS export with manually specified signing/provisioning data. Fix RichTextLabel [ol type=1] tag closing. [RTL] Fix min. height calculation when fit_content_height is enabled. [Windows] Disable console I/O redirection, if it's already redirected to the pipe or file. [RTL] Fix calculation of the last line height. Fix MOUSE_MODE_CONFINED not updating area when full-screen is toggled or current screen is changed. Fix RTL table offset, if indent is set. Add support for the escaped UTF-16 and UTF-32 Unicode characters in the scripts and expressions. Revert "Fix control node transform animation jitter with pivot offset" [macOS] Enable Objective-C ARC [macOS] Cleanup and split Objective-C objects to the separate files [TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer. HarfBuzz: Update to version 3.3.1 [macOS] Add empty translation files to the exported app bundle, to allow translation detection by the OS. [GDExtension] Fix registration of functions with enum or native pointer return type. Add auto-wrap mode property to the RichTextLabel, set default auto-wrap mode to AUTOWRAP_WORD_SMART to match 3.x behavior. Cleanup and move char functions to the `char_utils.h` header. [Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen. [Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support). [GDExtension] Add binds for missing methods, operators, and constants required for GDExtension TextServer implementation. [Windows] Fix fullscreen mode detection on window move/resize. [X11] Fix decoration reset when returning from fullscreen mode. [macOS] Fix NO_FOCUS macOS flag. [Editor] Fix font style matching issues. HarfBuzz: Update to version 3.3.2 msdfgen: Update to version 1.9.2 [Windows] Fix drag-and-drop. [RTL / Label] Reorganize property order to ensure "visible_characters" / "percent_visible" are set after the "text". Add exclusive window handling to DisplayServer (on macOS and Windows). [macOS] Add missing translation file. [RTL] Fix "img" tag not setting image size. Add sub-pixel glyph positioning support. [macOS] Fix macOS producing alert sound on some input actions. Fix Project Manager crash on exit. Fix editor settings loading / saving by Project Manager. [Windows] Fix Vulkan driver crash on sub-window minimization. [Linux/X11] Fallback to the X server root window to get screen rects, if Xinerama is not available. [Editor] Fix "en" editor translation detection. Add RichTextLabel "hint" tag. [Windows] Fix borderless window flag toggle and restoring minimized borderless window. Improve popup window handling. Fix build for macOS / iOS with the statically linked MoltenVK after VMA update. HarfBuzz: Update to version 4.0.0 [macOS and iOS export] Add localized application name to the translation .plist files. [macOS] Disable window redraw during resize, when rendering in the separate thread. Improve app name and system permission message localization. [TextServer] Improve word breaking when there are multiple spaces between words. [X11] Do not try to focus unmapped window. Add options to embolden and transform font outlines to simulate bold and italic typefaces. Improve simulated bold fonts advance. Fix text clipping on the right side. Add simulated bold variant to the editor CJK fonts. Generate simulated bold font from the custom font if no custom bold font set. [Export] Add "export console script" option for Linux, macOS, and Windows exports. Implement GDExtension export plugin. Cleanup and fix native struct definitions. Unify TextServer built-in module and GDExtension code. Re-enable `godot-cpp` CI. HarfBuzz: Update to version 4.0.1 Add brotli decoder and WOFF2 support. Add binary MO translation file support. [Editor] Fix reloading editor theme on font / font size setting change. [macOS] Add missing global menu features. [Help] Add simulated slanted font support to the editor help. [Editor build] Use smaller .mo files instead of .po, if gettext is available. Convert the editor and default theme fonts to WOFF2 format to save space. Fix TextServer build with `builtin_icu=no`. [ICU] Add library name suffix for API rename to avoid conflicts. Update sub-viewport canvas items to ensure oversampling is applied correctly. Move OpenXR project settings to the main, to make them visible on unsupported platforms. HarfBuzz: Update to version 4.2.0 [ICU] Add library name suffix for API rename to avoid conflicts (GDExtension build). [Brotli] Use aligned reads when building with sanitizers. Fix some issues found by clang sanitizers. Add CI build with clang sanitizers, increase stack size to 30 MB for builds with sanitizers. [macOS] Add bundle launch code for older (pre 10.15) macOS versions. Fix center aligned text clipping. Delay font texture update, until `draw` is called. Rasterize glyphs during shaping. Fix a possible race condition on popup close, that might cause multiple deletions of the same list item. [Input] Add extra `shortcut_input` input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. [RTL] Improve table cell selection. Fix some issues found by cppcheck. Remove redundant `godot-cpp` build stage. [TextServer] Fix long selection performance. Make FileAccess and DirAccess classes reference counted. Narrow FileAccess scope to prevent deadlocks. Fix OpenType property editor signal connection. Remove or make private `FileAccess` `close()` methods. Fix sub-menu keyboard navigation. Fix more issues found by cppcheck. Improve embedded PCK loading and exporting. Avoid setting sub-window or started project window positions, if it's impossible to get screen rect. Implement Label3D node. Create NavMap thread pool only when it's used, to prevent creating excessive amount of running threads. [Windows Export] Improve error messages for missing rcedit and signtool. Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and Windows. Implement TextServer word break method. [Linux] Disable speech-dispatcher, pulse audio and udev wrapper builds, when library is not found. [Label3D] Add offset property. Expose Label3D and Sprite*3D material render priority properties. Fix resource dependence renaming. Fix export plugins after embedded PCK loading changes. [GDExtension] Fix static method binds and default arguments. [Windows] Save and re-apply window icon when changing window style. [TextServer] Fix incorrect oversampled font scaling. [macOS / iOS] Fix text-to-speech build with older macOS / iOS SDK. Fix ZipIO crash when reused (and possible leaks). Use new HashMap implementation in the TextServer, and Font. Implement TextMesh resource. Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and CodeEdit. etcpak: Update to upstream commit f128369 (May 13, 2022) Update HarfBuzz, ICU and FreeType. [RTL] Add support for shaping in background thread. [TextMesh] Fix cubic cubic Bezier arc processing. HarfBuzz: Update to version 4.3.0 [Label3D, 4.x] Monitor default theme font changes, to prevent use of invalid materials. [TextMesh] Do not generate meshes for non-visual glyphs. [TextMesh] Fix incorrectly applied FILL alignment. Fix help links with threaded RTL. Remove mouse events that closed the popup from queue, to fix pop-up reopening. [GDExtension] Expose Variant, NodePath and StringName hash functions. [RTL] Stop processing thread before deleting scroll bar. [TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC). Fix FreeType crashing in GCC + LTO builds. Add readable export errors. Add overrun behavior to the Button. Single-window mode popups and edited scene windows fixes. [TextServer] Add missing font mutex lock. [RTL] Fix underline/overline/strikethrough interaction with the "visible characters" property. [macOS] Fix high-precision scrolling direction in the canvas editor zoom. Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. Make enum/constant binds 64-bit. Add arch flag to assembler to fix build on ARM64 macOS / iOS. [macOS export] Unref FileAccess to ensure chmod is successful. [macOS] Use statically linked MoltenVK by default, automatically detect MoltenVK SDK install (only in the default location). HarfBuzz: Update to version 4.4.1 Use custom key structs, instead of raw hashes for the Label3D and TextMesh, to avoid potential hash collisions. Use autowrap in the curve editor. Check if GL manager exist to prevent crash when using multithreaded renderer with Vulkan. Refactor Font configuration and import UI, and Font resources. Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose. [macOS] Improve file association handling, and allow URL schema handling. Use clang as assembler to ensure preprocessing is done, and add assembler "target" flag. Fix regressions from Font refactor Fix regressions from Font refactor [Command line export] return 0 exit code when export is finished with warnings. Fix LineEdit text incorrectly trimmed due to rounding errors. Add LabelSettings resource for quick Label theme property override. Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API. Improve DisplayServer.window_set_current_screen [Windows] Set fullscreen flags on window creation. Rename OSX to macOS and iPhoneOS to iOS. [Export] Update generated CLI helper script to work on clean macOS Monterey installation. HarfBuzz: Update to version 5.0.1 Fix script editor zoom shortcuts not marking events as accepted. Implement support for loading system fonts on Linux, macOS / iOS and Windows. [RichTextLabel] Fix theme bold / italics / bold italics and mono font size not applied correctly. Fix Label3D not updated on window resize. Fix Linux build without fontconfig. Load fontconfig libraries dynamically. [Linux] Replace fontconfig wrapper with a one generated from the older library version (2.12.6, Ubuntu 18.04 LTS). [Linux] Load dbus libraries dynamically. [Linux] Fix build with missing DBUS. Improve some export error messages. Fix font preview plugin not using editor scale. [TextServer] Ensure that built-in library headers are always included before system header, add HarfBuzz version checks for optional features. [TextServer] Add a build warning when building with external FreeType without Brotli support. Change LabelSettings default values to match default theme. [TextServer] Implement ICU/UAX 31 based `is_valid_identifier` function. [TextServer] Add ICU Unicode security and spoofing detection. Add Text Server related options to the build profiles editor. HarfBuzz: Update to version 5.1.0, use new FLAG_SAFE_TO_INSERT_TATWEEL flag to improve justification. Implement `screen_set_keep_on` for macOS Fix overrun flag check and HarfBuzz safe to break flag check. Implement `screen_is_kept_on` for macOS. [Text Server] Prevent composite glyphs which incorporate kashida from being used for justification. Update TextServer tests to clean up on fail. Fix macOS and iOS defines in the rendering code. Fix memory leak when accessing/listing system fonts. Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files. Add line breaking support to the TextMesh. Change LineEdit secret character from "*" to "•". [Font] Set TextServer font data pointer when it's null, to prevent TS from reading old, non-existing data. [macOS / iOS Export] Fix generation of duplicate locale property list files. Implement `MenuBar` control to wrap `PopupMenu`s or native menu, use native menu for editor. Fix MenuBar not processing shortcuts. Fix MenuBar minimum size adding unnecessary extra spacing after the last item. Fix color modulation of the grayscale glyphs in font with mixed color / grayscale data. Add font LCD sub-pixel anti-aliasing support. [RTL] Improve meta click position. Hide MenuButton / OptionButton popup on click if it's already visible. [GDExtension] Fix `_property_can_revert` and `_property_get_revert` methods using incorrect string type. Fix RTL min. size not triggering text cache update. [macOS] Check .NET binary architecture, and search for the cross compile SDK in the subfolders. [macOS export] Simplify code signing options, add support for rcodesign tool for signing and notarization. [macOS] Extend editor contents to the window titlebar for better space usage. [Windows] Improve build environment detection, add support for Windows on ARM. Fix editor shortcuts overrides overwriting user configured shortcuts. Fix MSDF fonts color modulation. [Windows] Simplify cursor handling and add support for fully transparent cursors. Add support for system dark mode and accent color detection (macOS and Windows). Add support for dark mode title bar on Windows. [TextServer] Fix LCD AA fonts reading wrong glyphs. [TextServer] Add support for trimming edge spaces on line break. [macOS] Handle accelerator and click events of the global menu items separately. [TextServer] Fix excessive space trimming. [macOS] Simplify handling of menu accelerators, and send event to the focused window instead of main. Disable dark mode title bar on Windows 10. Re-enable per-pixel transparency support on Linux, macOS, and Windows (for Vulkan and OpenGL rendering drivers). Fix key mapping changes when moving from macOS to other platform [RTL] Stop threaded RTL auto-redrawing as soon as text processing is finished, instead of waiting for first redraw. Fix Ctrl/Cmd+F always processed by the asset library, instead of script editor / help. [Font] Remove unnecessary cleanup and `changed` signal emission from the destructor. RTL Improvements [macOS, 4.0] Fix unresponsive redraw during live resizing. Do not use horizontal hinting for the editor monospace font. [macOS, .NET] Fix dotnet binary detection. [macOS] Fix redraw lag at the edge of the resizing window. [macOS] Remove tabs for "Quit" menu item. Fix line trim/ellipsis when line do not have space or newline at the end. Fix RichTextLabel not updating on theme/theme override change until text is updated. HarfBuzz: Update to version 5.2.0, add new Unicode 15 blocks and scripts. Add missing initial window flags and window mode to the project settings. [RTL] Add option to apply built-in effects to the individual connected glyphs. [macOS] Add an option to align window buttons in "extend to title" mode. [macOS] Improve "extended to title" transition to / from fullscreen. [Font Inspector Plugin] Hide "Add Feature" button if supported feature list is empty. [macOS extend-to-title] Add scene/project name to the editor title, fix incorrect window button position/order when system primary language is RTL. [GDExtension] Implement support for typed arrays. [TextEdit] Use error/selection font color for the current glyph only, instead of updating cached font color. [Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key. [macOS] Process menu callback after event processing step to avoid event queue corruption. [TextServer] Always prefer main font over fallbacks, regardless of script/language support. [RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed. [GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions. [Windows] Ignore excessive wintab mouse move events. [Text Server] Clear textures after "generate mipmaps" property change. Rename `script_instance` to `_script_instance` in the `GDVIRTUAL*` wrappers to avoid shadowing `Object` member. Change BitField to use 64-bit int. Fix Font::_is_cyclic. Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings. [macOS] Fix ⌘ + . + other modifier triggering twice. [Docs] Synchronize and update Window and Display Server documentation. [TextServer GDExtension] Update build scripts and `.gdextension` files to use new target names and arch suffixes. [Windows] Fix LLVM MinGW build. Add split caret direction markers. Fix block/overtype caret size. Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. [.NET Export] Improve .NET export process. [macOS] Fix window button position and title bar size when editor scale do not match OS UI scale. [Windows] Fix GCC MinGW warnings. Prevent `Popup`s it the edited scene tree from closing on focus loss. Hide irrelevant `Popup` flags from the editor inspector. [Windows] Fix GCC MinGW warnings. Fix macOS export plugin build without regex module. Detect Wine and disable unsupported IAudioClient3 interface. Abort LineEdit shaping if no font is set to avoid unnecessary error messages. [Font] Add support for OEM encoded bitmap fonts. [TextServer] Do not round glyph advances / coordinates if font oversampling or bitmap glyph scaling is used. Check if Vulkan context for the window exists before resizing it to avoid unnecessary error messages. [macOS] Fit OS::alert to the text width for better readability. [TextServer] Fix build with disabled graphite. Improve font glyph cache packing shelf best height fit heuristic. HarfBuzz: Update to version 5.3.1 Fix build with Vulkan disabled and no Vulkan headers installed. Fix `TextLine` and `TextParagraph` `get_*_object_rect` methods not accounting for alignment and drop cap. Do not auto add default script and country codes to the locale. ICU: Update to version 72.1 Add console wrapper app to handle console i/o redirection on Windows. Improve text line breaking performance for long lines. [DisplayServer] Hide internal window creation/deletion methods and expose some missing methods. [TextServer] Fix incorrect line breaks count for embedded objects (e.g. RTL tables). Load and use system emoji font in the editor. [TextServer] Fix hex code box positions in vertical text layout. Implement SVG in OT support. [Android] Fix GDExtension export and loading. [Line Edit] Ignore placeholder text when drawing caret. [Image Font Importer] Hide unused font size, add image and character margins. [Font] Add an import option to pre-render all glyphs required for the translation. Add a special case for importing bitmap fonts designed for Godot 3. [macOS] Add exclusive fullscreen mode with Dock and Menu disabled. [Bitmap font] Always set valid fixed size, even if it's not set in the `fnt` file. [fontconfig] Reject font substitutes if non-alias name was used. [macOS] Automatically detect MoltenVK libs installed via homebrew and macports. [Windows] Add icon to the console wrapper, add option to set icon for the console wrapper on export. [iOS] Fix getting Unicode executable path, fix "!configured" and "!classes.has(ti.inherits)" error spam on start. [Windows] Use case-sensitive file names for the system fonts to avoid warnings. [macOS] Update activation hack to work on Ventura. [iOS] iOS export improvements. Add `Control::localize_numeral_system` property to toggle automatic numeral system conversion. Fix multithreaded RTL resetting scroll position on resize. Windows icon export improvements. [TextServer] Fix line breaking for the special fonts that substitute a long string (with breaks opportunities in it) with a single glyph. [macOS] Dynamically attach and detach transient windows to allow them to stay on top of parent and can be moved to another screen. [Export] Use image loader directly to avoid "resource as image file" errors. [macOS] Fix sub-windows opening in fullscreen. [Windows] Optimize editor icon, use different icon for console executable. [MSVC] Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing. [iOS] Read document and cache path directly in the OS code, instead of passing in from main. [macOS] Fix export button incorrectly disabled when using login/app password for notarization. [macOS] Improve maximized and non-resizable modes handling. [RichTextEffect] Restore missing `relative_index` property. Use system fonts as fallback and improve system font handling. [RTL] Fix search method not taking nested frame and line wraps into account. [TextMesh] Fix autotranslate. [Linux/BSD] Fix build without fontconfig. [Windows] Window management fixes. Fix menu popup safe rect height no including theme separation. [Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling. Rename `window_get_real_size` to `window_get_size_with_decorations`, add `window_get_position_with_decorations`. [macOS export] Add support for Xcode notarytool. [TextServer] Do not clean up font texture cache when setting `allow_system_fallback` property. [iOS] Fix broken single line input and incorrect selection / caret position. Fix advanced font import dialog not saving outline sizes of pre-render configs correctly. [TextEdit] Fix IME intermediate text not displayed when TextEdit is empty and placeholder is set. [RTL] Fix image click detection. [RTL] Fix nested tables getting parent offset applied multiple times. [RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. [macOS/iOS] Use framework Info.plist to determine library name. HarfBuzz: Update to version 6.0.0 Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior. Fix reading Unicode from stdio. [macOS] Fix stylus tilt Y direction. [iOS] Add Apple Pencil pressure and tilt support. [Font] Use key structure instead of raw hash for LRU cache to avoid collisions. [Export] Add one-click deploy over SSH for the desktop exports. Improve `window_set_current_screen` and fix secondary window initial mode and positions. [TextServer] Make `free` calls thread safe. Set main window min. size via Window object instead of DisplayServer to preserve it during window updates. Fix file dialog crash on forward click when history is empty. [CI] Use multiple forced unmount attempts for MoltenVK image. Add support for the custom initial screen for the main window, fix primary screen detection. [Windows] Fix primary screen detection. [iOS] Move name and version information to the Xcode project. Add Node::get_window() method. Automatically reparent editor progress dialog to avoid error spam. [iOS Export] Check Xcode output and display errors if code signing, project build or .ipa export failed. [Windows] Allow OS::kill method to terminate non-child processes. [macOS] Avoid color flash on window creation and resizing. Improve dashed line alignment and make it optional. Fix editor progress dialog theme update. Move remote debug buttons to a single menu. [Windows] Fix incorrect full-screen mode applied on start. Add `WINDOW_FLAG_MOUSE_PASSTHROUGH` flag and enabled it for tooltips. Expose `window_set_mouse_passthrough` to `Window`. [Git hooks] Add AppleScript dialog script for macOS. Fix typo and add missing docs for WINDOW_FLAG_MOUSE_PASSTHROUGH. Fix X11 input region size. Disable remote debug button if no remote debug preset found. Implement BiDi override mode for GDScript source. [Windows] Fix sub-window initial transparency and always-on-top state. [Windows] Fix main window project icon not set when using editor executable. [GDExtension] Expose some low level functions and String operators. Reorganize main and sub-window initial position properties. Remove duplicate ucaps code from TextServerFallback. [macOS] Move `Wno-deprecated-declarations` to pragmas in the OpenGL related files, update some deprecated code. [macOS] Move extended title bar input to _gui_input and add mouse filters to prevent editor buttons from passing double-click to title. [iOS] Restore OpenGLES3 renderer support. Fix BiDi override for the characters outside BMP (e.g., emojis). Cleanup and unify keyboard input. [Linux/BSD] Include headers for dynamically loaded libraries to simplify build dependencies. [TextServer] Add fallback code in case of missing ICU data. [TextServer] Fix ICU data loading and exporting with `internationalization/locale/include_text_server_data` setting. Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D. [Input] Do not add key labels to the default actions, to display it correctly in the UI. [Windows] Fix ToUnicodeEx resetting some dead key states. [X11] Prevent IME activation from entering infinite loop. [CI] Remove packages that are no longer necessary. [X11] Make IME focus window input only. [X11] Fix incorrect keycodes from non-QWERTY layouts. Remove unused SUPER_L/R constants. [Windows] Fix candidate window position with some third party IME engines. [Windows] Fix committing IME text without IME deactivation. [SystemFont] Add missing MSDF properties. [X11] Fix IME focus return. Extend special popup window handling to any non-popup child of a popup. Fix LCD font AA on OpenGL renderer. [Android] Fix virtual keyboard special keys. [SSH deploy] Run ssh/scp in non interactive mode, and suppress banner display. [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. Move Array:set_typed to internal GDExtension structure and unexposed it. [RichTextLabel] Fix thread unsafe `set_physics_process_internal` usage. Use `WorkerThreadPool` instead of creating new threads. [Editor] Fix editor progress dialog auto closing on focus loss. [Sprite3D/Label3D] Expose alpha antialiasing properties. [X11] Fix IME subwindow in the popup not getting input focus. [TextServer] Preload USpoofChecker to speed up GDScript parsing. [X11] Fix IME window focus events. [X11] Do not suppress structure/focus events on popup close to correctly return focus. [Bitmap Font] Fix character count check. Cleanup Window callbacks before destroying in to avoid callback calls with invalid object. [InputEventKey] Avoid setting both key and modifier to the same value. [Editor] Fix editor progress dialog auto closing on ESC press, and on application focus loss. Restore FileAccess.close method. Exclude platform dependent `rendering/textures/vram_compression/import_*` default values from documentation. [Linux] Make SO wrapper usage optional. Add dash and step size checks to draw_dashed_line. Set RTL minimal dash size to 2.0, add invalid dash size error to the `draw_dashed_line`. [X11] Fix initial "on top" window state. [macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input. Fix shortcut reset. [macOS] Fix Input.warp_mouse shifted by one screen pixel. [Linux] Process TTS callback on the main thread to avoid speech-dispatcher deadlock. [Windows Export] Pass password only when using PKCS12 file, fix executable name in the error message. [Windows] Take initial flags into account when creating main window. Add some missing EditorFileDialog methods and properties. [Input] Use BRACKET_ instead of BRACE_ for physical keys. Fix X11 QUOTELEFT / SECTION physical key mapping. [iOS] Fix Xcode project file list. [Linux TTS] Use Callable instead of registering methods. Revert "Reordering emitted signals in PopupMenu" and fix editor selection issue in the safer way. Fix text server GDExtension build. [TextEdit / IME] Check selection before deleting to avoid unnecessary error messages. cabinboy1031 (1): Implemented tests for Plane getters and setters. cdemirer (31): Fix nested ternary-if codegen (#55582) Clarify that replace_by keeps child nodes in tree Fix "Lookup Symbol" on global class members Fix unexpected scroll on resize + consistent return value Fix operation result type inference Fix type mutation upon compound assignment Fix member properties with only getters can't be set Fix member properties with getters don't update as subscript chain root Fix Array and Dictionary id() and dictionary test bug Fix unexpected Packed Array copying when parameter is typed Fix gdscript-parser crash Editor: Disallow reparenting inherited nodes Fix validated version of array addition Fix crash with non-constant keys in match statement Dictionary pattern Fix array variant reuse in constructor Fix logic errors in match-statement Array & Dictionary Patterns Fix issues with multiple bind patterns in match statement Fix set chain bug with jump_if_shared Fix infinite recursion when guessing type of variable which is being assigned to Fix autocomplete for variable which is assigned to in the current statement Do error when for variable conflicts with a variable in scope Expression built-in functions can also be considered as identifiers in subscripts Fix priority of annotated type vs initializer type Fix parser stuck in an error loop Prevent unnecessary additional parser error Parser: Properly set node extents Check for parameters shadowing class members Fix the argcount when generating error message for CallableComparator Fix crash while trying to autocomplete non-global Autoload Fix type adjustment skipped when value is considered both not hard and not variant Fix `Variant::in()` error on invalid `evaluate` ceLoFaN (1): Fix DoF artifacting at high blur amounts cespeute (1): Add EditorInterface.get_selected_paths() codepatzer (1): Add tests file for Quaternion unit tests, with initial UTs codetorex (1): Added missing information about File.open_encrypted function to docs. coldragon (1): Fix crash on editor without a feature profile constantitus (1): fixed c# example in CharacterBody2D doc cow-neaz (2): Add drag and drop support to EditorPropertyPath Stop game on reloading project dam (1): Allow local port control on net_socket connections danboo (2): break out of font search loop after first match Fix typo - "collison" -> "collision" daniel-mcclintock (2): Fix out of sync separate distraction-free mode Fix crash during completion lookback dankan1890 (7): Fixed String::humanize_size crash. Fixed TextureAtlas import. Fixed missed occurrences in #37361 renamings. TextureRegion: fixed Autoslice not created/updated properly. Fixed output prints " Signal 'node_removed' is already connected " when the editor settings window is closed. Fixed TextureAtlas import wrong images size. Fix #42057 Create spritesheet for SpriteFrames by drag and dropping. Close godotengine/godot-proposals#378 darth negative hunter (2): Add an import option to force TextureArrays as normal maps for RGTC Update editor/import/resource_importer_layered_texture.cpp daviirodrig (1): Fix split allow empty string in SSH export plugin daylilyzeleen (1): fixed GraphEdit signal argument type dependabot[bot] (2): Bump minimist from 1.2.5 to 1.2.6 in /platform/javascript Bump json5 from 1.0.1 to 1.0.2 in /platform/web derammo (11): corrected conditional compile of OpenXR with/without opengl3 driver opengl3 driver now works on windows including multi window popup deferred hide suppressed if reopened fixed path calculations in visual script selector display of large help text in visual script Visual Studio Natvis file works for Variant again fixed Tree UI control bug corrupting child cache added missing virtual to ScriptExtension fix arg naming in ResourceFormatLoader extension implemented right click on Tree control header added more data structures to Natvis for msdev developer (1): fixed the node not renaming when clicking elsewhere on the scene tree. diddykonga (1): Change 'find_node' to 'find_nodes' and Add 'type' parameter dogboydog (1): set exit code EXIT_FAILURE when --build-solutions fails dominiks (1): Add note about automatic window title to FileDialog documentation. dtesniere (1): Fix class name : change "string" to "String" dustinsth (1): Fix overlapping text in Advanced Import Settings action dialogs. dzil123 (17): fix gridmap cursor showing the wrong mesh Ignore node rename if already exited blend tree World3D.direct_space_state add multithreaded warning Fix Image::bump_map_to_normal_map incorrectly keeping mipmap flag Fix c# Array.Shuffle incorrect mono bindings Visual Shader UVFunc keep existing input value on function change Node3DEditorViewport - Remove duplicate check and cleanup Fix -Wtype-limits warning in openxr_interface.cpp Cache OS_LinuxBSD::get_system_dir(SYSTEM_DIR_DESKTOP) Fix Fog shader buffer overflow Main::setup2 move print engine version to top GLES3 TextureStorage - add missing null checks RendererDummy fix buffer overflow due to mesh_get_surface RenderDummy::TextureStorage::texture_replace add missing null check RenderingServer::create_local_rendering_device null check and docs Fix various missing rendering parameter checks GPUParticlesCollisionSDF3D add null `bake_step_function` check e344fde6bf (1): Fix some angular velocity calculations eikobear (1): Make various improvements to OptionButton endlesstravel (1): fix crash when pass null in print array in GD.print etienne.frank (1): Fix minimap selection offset evan-gordon (1): check for empty string TextServer _string_to_upper fabriceci (48): Highlight collision, correct the size and make the arrow a bit less thick for low-res game add responsive arrows when the size is very small + fix a regression: missing a translation on the line fix translation not updating in ConfirmationDialog (and Window by inheritance) Bring the Raycast2D improvements to Rayshape2D Fixing 2D moving platform logic Allow to have multiple collision direction at the same time Add properties to CharacterBody for more move_and_slide options Fix move and slide regression by allowing multiple collision direction API improvement on physics, mainly CharacterBody Correct jitter and clean code Avoid a crash when an node of the AnimationTree is invalid add motion mode to handle TPS Remove velocity transmission on_wall when collider is CharacterBody. Change platform detection by allowing select layers by type (wall or floor) delta time as double Retrieve platform layer from PhysicsServer2D Port 2D improvement to move and slide 3D Replace auto completion shortcut for mac Apply delta in move and collide Sync to physics true by default for AnimatableBody Set stop on slope on by default on CharacterBody. Add latest changes added in the 3D version Fix body stuck on descending platform Fix #54298 where a CharacterBody2D can be stuck on the wall. Scales the horizontal velocity according to the wall slope in 2D Fix wall acceleration in move and slide (3D) Fix body stuck in some 3d advanced scenario Fix horizontal velocity being always reset when the body hit a wall in 3d Improve editor template workflow rename free mode to floating mode Revert #53174 (applying the delta in move and collide), rename rec_vel to distance and improve the doc description rename jump force to jump velocity Avoid directional correction when the motion is downward Fix 2D jitter on slight slope When only a recovery occurs, don't report a collision on move_and_collide Restrict the condition when checking if a script is a template Fix up direction doc description Fix the calculation of the angular velocity when the rotation speed is not high. Fix typos in the CharacterBody3D doc file Adds a method to return the angular velocity of a platform Improves the API for monitoring contacts in RigidDynamicBody Shorten variable names for moving platforms in CharacterBody Restore RigidBody2/3D, SoftBody names in physics Test, refactor and fix a bug in Basis.get_axis_angle Add recovery_as_collision in move_and_collide/test_move Turn on recovery as collisions only for floor snapping as this leads to unwanted behaviour for other surface than the floor. Increases the number of maximum detected collisions Warn users when collisions are not supported faisal-alam09 (1): Added a placeholder tab check before creating a new scene. flatline-84 (1): updated example documentation for EditorScenePostImport floppyhammer (15): ImproveCompletionPanelPositionInShaderEditor Fix window resizing after minimization on Windows fix-tree-item-dragging fix-vram-compressed-mipmaps Improve nine patch behavior of TextureProgressBar Fix CPUParticles2D disappearance after amount change Fix window decoration size on Windows Fix minimum size of TreeItem Fix bilinear TextureProgressBar with nine patch enabled Fix nine patch of circular TextureProgressBar Fix GPUParticles2D emission offset in global coords Fix particle trail glitch Fix project manager window size not applying display scale correctly Add fill_mode to ProgressBar Fix dark title bar follower (7): Fix typo/spelling: "exisiting" -> "existing" Fix suffix property doc typo: "prefix" -> "suffix" Revert "Adds fuzzy search for help search dialog" Fix presumed copy/paste error: "Returns" -> "Sets" Doc clarity/detail for extra spacing properties Fix Unicode URL link tags to render correctly. Fix the "AudioEffectRecord" descriptions. foxydevloper (20): Make shortcut for focusing searchbar in filesystem dock Make Sort by X translatable Fix typo in InputEventMIDI string Make easing properties drawn with anti aliasing Fix "Filter Files" shortcut by merging duplicate functions Add threshold to dragging nodes with select to prevent accidental drags Fix wrong behavior of alt+rmb and list tool for locked nodes Remove random prints for some shader actions Make various strings translatable Make "remove action" translatable in Input Map Fix hidden seperators when horizontal frames is 1 Improve select tool's tooltip - Makes tips clearer and more consistent. - Removes outdated "shift+v" that doesn't work - Adds Ctrl+RMB for adding nodes at position - Removes tip for non-existent Alt+Drag in 3D select tool Name nodes added from drag & drop by `name_casing` Make drag and drop into viewport add to root node by default Name new resource files with `snake_case` Improve naming of a couple shortcuts Improve drag and drop by supporting more file types & node types Add global_position and global_rotation to Node3D Hide altering custom properties in basic mode Improve tooltips for grouping/ungrouping nodes freeglebarr (1): ported particle sub-emission to 2D gatalskii (1): mod: pop-up usability enhancement for support button geekrelief (3): Modified FileSystemDock so folders can be selected for reimport. Removes the gdnative library when no script (gdns) references it any longer. This enables hot reload for gdnative. fixes #46839, ensure library_classes is cleared and free funcs are called georgespatton (1): doc: Clarify need to save ConfigFile to apply changes to file georgikoemdzhiev (1): Uncheck 'Pressed' if toggle_mode is unchecked gnumaru (1): fix a buffer overflow due to a misbehaving vcrt snprintf call on String::num, at core/string/ustring.cpp golfinq (2): Rich Text Label now allows for foreground colors and background colors Add padding options in theme for fg/bgcolor tags great90 (1): Fix variable name 'max_size' to 'min_size' in aabb greenfox (1): fixed Camera2D rotation with non-square zoom gregcsokas (1): Adding function key support from F17 to F35 grimmr (1): Viewport cancels existing tooltip when window looses focus gururise (1): change step size of animation length EditSpinSlider to match minimum animation length gyroninja (1): Fail at instantiating if the root node is instantiated halgriffiths (2): send FLAGS_TRANSPOSE_RECT to Vulkan Fix profiler being disabled at wrong times Co-authored by: Will Whitty hare_ware (2): Fix Skeleton3D falsely assuming all physical bones will be children of their first bone Fix settings not appearing for Animation Libraries in the Scene Import window helviett (1): Fix visible_lines calculation henrlin24 (1): Hide Scattering label and controls within TileMap editor window when "Place Random Tile" is disabled heppocogne (4): Fix a path handling issue of ProjectConverter3To4 Register native base class name of enum types when release build Fix `get_path()` is not working when files are opend with `open_compressed` And also fixed `get_absolute_path()` in the same way Fix code editor's ColorPicker issue hilfazer (5): Fixed "Favourite Project" button in Project Manager Prevent selecting hidden nodes in 3D and Canvas Item editors Prevent 'Change Type' on nodes from an instanced scene Prevent crash when clicking Mesh in MeshInstance when is scene root Support for duplication of nested instanced scenes holgac (2): Fixes #62096: LightmapGIData::_get_light_textures_data crash on empty image Fixes #62097: infinite loop in animation compress due to too small page size hoontee (14): Fix bug with AudioStreamPlayer3D audio position Re-add __XINPUT_DEVICE__ Properly handle empty CSGCombiners Transform CSGShape collision when necessary Implement CollisionShape3D.make_convex_from_siblings() Fix "Create Trimesh Collision Sibling" transform Properly handle empty CSGShapes Do not clear materials when setting mesh Implement CollisionPolygon3D margin Properly handle CSGShape parent and visibility updates, plus some refactoring Add SNAME macro optimization missed during rebase Revert #52647 Rename `CSGPrimitive3D.invert_faces` to `flip_faces` Add `TorusMesh` hpnrep6 (1): Enclose unused components in DISABLE_DEPRECATED huangjiamin (1): Fix for navmesh baking. Error message: Condition “!shapes.has(p_owner)” is true hungrymonkey (1): Change LINKFLAGS to FRAMEWORKS which is supported since Scons release 0.96.91 iamjsk10 (1): Mono: Fix typo to `foreach` C# keyword iiMidknightii (1): Changed Camera3D Ortho Size Limit ipsoftdev (1): Do not ignore x86 source code directories anywhere under thirdparty directory iwek (4): Remove redundant min call when setting line Fix richTextLabel scroll showing Fix setting line edit caret after dobule and triple click Fix issue with overlaping text label text jabcross (1): Allow selection in asset description jacobcoughenour (1): Vulkan: loader, headers, and glslang updated to sdk-1.2.162.0 jainl28patel (3): Add unit test for VisualShader fix normal map not flipping in sprite2D fix ReflectionProbe rendering extents for (10,10,10) janglee (9): Make orthogonal view mode persistent in new scene Added tween support for Rect2 Fixes #34575 Removed underlining for not clickable symbols Corrected text selection in color picker Fixes #35603 Reversed timeline zoom slider Fixes #37409 Fixed underlines and striketrough not respecting visible character Fixed 0 width issue of rich text label Fixes #37746 Improved go-to definition (Ctrl + Click) Removed default commit message jbcolli2 (5): Unit tests for Path2D module. Changed normal of CylinderMesh to account for slanted side. PrimitiveMesh unit tests. ArrayMesh unit tests Fixed ColorPicker so the vertical option is not available in editor. jcgollnick (1): Fix SGN macro jeffres (2): Fix selected shader file not being highlighted in shader editor list Close shader under cursor when middle mouse clicking in editor list jeffuntildeath (2): fix for snap to floor editor crash bug Snap To Floor improperly offsets node jitspoe (6): Fix custom w component being uninitialized on CPU particles. Add alignment options to icons on buttons. CSGPolygon fixes and features: Angle simplification, UV tiling distance, interval type. Fix ViewportTexture error when viewport is used from a child scene Fix crash when exporting meshes to gltf that have no skin. Fix animation blending bug where an animation with a short blend time played immediately after an animation with a long blend time would play with a long blend time or cause popping/incorrect animation positions. jjjlalonde@gmail.com (1): Update ResourceLoaderText::load to not update progress if resources are 0 joe (1): Fix for ambiguous variant error during build on Debian 10(Buster) using clang v7 johan (2): Editor 2D: Change pixel alignment strategy, fix jittering in high zoom 2D Editor: modified zoom increment to the twelveth root of two jordi (7): Add screen_get_refresh_rate to DisplayServer Snap refresh rate to hundreths place on X11 Change SCREEN_GET_REFRESH_RATE_FALLBACK to -1.0 Add enum values (Ignore, Warn, Error) to GDScript warnings Force double quotes for NodePaths with apostrophes Allow standalone ternary expressions Add hint for identifiers renamed since Godot 3 jtorre39 (1): Add unit tests for all public methods in the SpriteFrames class jvanmourik (1): glTF animation parsing: Changed the 'loop' and 'cycle' animation name keywords to be case-insensitive jwt (1): fix methods.py ->NameError: name 'sys' is not defined keptsecret (4): prevent acceptdialog taking over main editor window when made visible fixed wrong ifdef enclosed block fixed unable to change directory in user access mode implemented mesh_surface_update_x functions kingoftheconnors (2): Add alert in anim trees if resource load fails Change import animation error to "animation nodes" kleonc (80): Docs: Fix TileMap::map_to_world description Make String::ends_with don't use String::rfind VisualShader::_input_type_changed Fix index out of bounds crash. RichTextLabel::add_image Fail if passed image has no area Line2D::set_point_position Fail if passed index is out of bounds Label::set_lines_skipped Fail if passed a negative value MeshDataTool::create_from_surface Fail on invalid index data Geometry2D::make_atlas Fail is passed invalid rect size Make Color::from_hsv use Color::set_hsv Fix examples in Callable docs Fix docs description for CapsuleMesh::mid_height ProjectSettingsEditor: Make "Type" OptionButton item ids match corresponding Variant::Type enum values. Docs: Minor argument names fix TileMap::world_to_map Ensure half offset is added according to the returned value TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected TileMapEditor Modulate autotile previews BitMask::create Don't request more memory than needed when size is a multiply of 8 Fix accessing scene tree without checking: MeshInstance3D::create_debug_tangents, GIProbe::bake Fix crash after disabling plugin using set_force_draw_over_forwarding_enabled() Document valid range of Node2D.z_index Astar::get_available_point_id Start from 0 SpriteFramesEditor Minor fixes Node::add_child Check for cyclic dependency TextureRegionEditor Fix not updating on editing region with autoslice cached TextureButton Update min size on any texture change AnimationMultiTrackKeyEdit Allow editing easing if it's possible for all edited tracks VisualScriptEditor Fix in graph position calculation (do not skip zoom) Add AcceptDialog::remove_button method SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture TabContainer Fix moving dropped tab at incorrect child index TabContainer: Fix error on removing top-level Control child, Remove _get_tab method MultiNodeEdit Fix setting NodePath Tree Fix line rendering when drag and dropping TreeItem SceneTreeDock Ensure to deactivate multi edit when selection changes to a single node TabContainer Fix drawing current tab when it's disabled AStar Add error messages SpriteFramesEditor Fix preview grid in "Select Frames" dialog TexturePreview Update text when texture is being changed Fix rendering centered odd-size texture in AnimatedSprite2D/AnimatedSprite3D AnimationTrackEditor Fix signal connection on root exiting the tree Delete objects enqueued for deletion during SceneTree destruction Add Image::fill_rect method Image Use memcpy() in fill(), fill_rect(), _put_pixelb(), _get_pixelb() Fix `Image.blit_rect/blend_rect()` for negative `p_dest` point Tree Don't consume mouse event by collapse arrow which isn't shown EditorAtlasPacker Fix incorrectly deducing zero height in some cases Fix AtlasTexture nesting SpriteFramesEditor Show AtlasTexture's source texture path in the frame's tooltip SpriteFramesEditor Incorrect texture type fix TextureButton Fix logic for drawing only the focus texture SpriteFramesEditor Fix crash when selecting non-Texture2D file for splitting NavMap Fix polygons being treated like triangle strips instead of triangle fans NavMap::get_path Fix not resetting least_cost_id EditorPropertyArray Fix crash when drag-reordering elements in the inspector Remove UndoRedo calls trying to call removed EditorInspector::refresh() Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP` Fix `CPUParticles2D.emission_shape` enum hint Fix no `hint_string` for `frame` property in `AnimatedSprite`s SpriteFramesEditor Add animation searchbox Fix `CanvasItem` not exiting its canvas group on canvas exit Fix in editor drag and dropping a `Node` to generic `NodePath` property `FileSystemDock` Fix crash when renaming a file in split mode `Image` Fix `rotate_90`/`rotate_180` methods Fix undefined behavior in `String::operator+=(const String &)` `SceneTreeDock` Toggling unique name in owner for all selected nodes Move duplicated drawing code from `Sprite3D`/`AnimatedSprite3D` to `SpriteBase3D` `SpriteBase3D` Fix drawing AtlasTextures with vertical margins differently than in 2D Fix checking if script is attached to any node belonging to scene Fix `TileMap` collision shapes debug draw `SceneTree` Fix storing removed nodes to be skipped by the group calls Docs Clarify `Array.fill` behavior when reference type is passed in `SpriteFramesEditor` Fix calculating frame index from mouse position Add `ShapeCast2D/3D::get_collider_rid` method GDScript Fix type mismatch in optimized single arg `range` TileMap Pass some parameters by `const &` instead of by value AtlasTexture Fix calculating rects when flipping TileSet Simplify tile shape polygons TileAtlasView Update zoom and panning before emitting signal CanvasItem::draw_arc Clamp angle difference so arc won't overlap itself CanvasItem::draw_polyline Support thin polylines drawn using line strip kneejuicer (1): Add extra unit tests for Geometry2D ktxyz (1): Update sub_windows order with respect to FLAG_ALWAYS_ON_TOP lawnjelly (26): Fix overflow condition with QueryPerformanceCounter Light2D shadow mask construction fix Fix BVH to world_aabb, and call update [4] Fix canvas rect bound calculation BVH - fix stale current_tree in deactivate function [4.x] Fix Transform::xform(Plane) functions Improve Basis::get_quaternion error message Add GLES2 2D renderer + Linux display manager Faster Path2D drawing with polyline Add nodiscard to core math classes to catch c++ errors. BVH - Sync BVH with 3.x Add fflush to error macros Float literals - fix main primitives to use .f Fix GIProbe gizmo out of bounds crash Float literals - fix main primitives to use real_t casting [4.x] BVH - Fix area-area collision regression Protection for array operator for Vector2 / 3 in DEV builds Add protective checks for invalid handle use in BVH Variant memory pools Remove Octree Variant large bucket memory pool - for Projection Fix array-bounds warning in BVH Fix false flag compiler warning in bvh tree Add readahead to VariantParser VariantParser make readahead optional BVH - fix lockguards for multithread mode laws65 (3): Prevent being able to set bone's parent as itself Prevent crashes on exported project relating to Skin resource Proper validation of negative values in datetime strings and datetime dicts leogeier (1): Exposes methods for adding and removing ResourceFormatLoaders and -Savers in the ClassDB likeich (1): Fix linux use after free llschuster (1): text-editor: fix Clicking warning doesn't center around line lolligerjoj (1): Expose Animation::value_track_interpolate to GDscript lordkettune (1): Fix issues with custom tracks on reimport lrgilbert (1): Fixed separation of ports on GraphNode lucaslcode (1): clarify autotile_coord in docs lucicam (2): Fix failure in set_primary_interface when parameter is null Fix crash caused by null parameter passed to CameraServer.add_feed() lupoDharkael (10): Complete NavigationMeshInstance rename Mesh::convex_decompose: Remove unneeded vector copy Loop over faces in create_trimesh_shape() Replace NULL with nullptr Replace 0L with a casted nullptr NoiseTexture: prevent race condition because of Ref::unref() Replace is_commiting_action with is_committing_action Remove obsolete enums Clear connection from/to empty after used Save resource: implement extension priority luz paz (6): Fix various typos with codespell Fix various typos Remove unnecessary 'pass' statement Fix various typos Fix various typos Fix various typos not caught by codespell luz.paz (1): Fix various typos m3g4d1v3r (1): Add nullptr handling of argument pointer in Tree::scroll_to_item m6c7l (1): issue-37239 add relaxation to conditions in the joystick check routine for being identified as joystick magian1127 (1): C # mono supports Unicode code mara (3): Keep terrain choice when changing layer in tilemap editor Expose RichTextLabel::push_customfx to GDScript Fix: use the right tile_set in TilesEditorPlugin::_thread markdibarry (5): Add get_content_width method Add get_character_line method for RichTextLabel Add offset methods for lines and paragraphs in RichTextLabel Fix scroll_to_line ignoring line separation Add explicit deferred flags marxin (2): Fix various -Wmaybe-uninitialized (#37352). Fix building VHACD with GCC 13. mashumafi (8): Array::insert consistent with Pool*Array::insert Implement bsearch for Vector and Packed*Array Enhance and cleanup stringify for Vector Executing AcceptDialog.push_input no longer crashes Fix button icon_color_disabled alpha channel Const Ref Callable for custom sort/search Fix: Func with typed args error when arg is null Add test for const class references matt08-prog (2): changed wording for ArrayMesh::regen_normal_maps' description add RichTextLabel::push_font_size description mdavisprog (1): Add OS::is_process_running function. meap (1): Fix signature for 'folder_moved' signal of FileSystemDock mechPenSketch (2): Add Graph Illustrations to Doc Expose connection hot zones in GraphNode mega-bit (1): Fix typos in GodotSharp code docs megalobyte (4): Use double when setting the default step size Update editor description property flag Update if == NOTIFICATION_* to switch statements to match coding style Don't process VisualScriptNodes menip (2): Fix Control::get_screen_position() not considering viewport scale Make Color Picker, Menu Button, Option Button consider camera position scale for popup position. mennomax (1): Swap args of Plane(point, normal) constructor merumelu (1): makerst: use link titles for external tutorials microaeris (1): Getters for TextEdit scrollbars miere43 (1): Replace backslash with forward slash in OS_Windows path methods mightygoat (4): Fix mesh preview cleanup in the Scene import settings Fix the uniform set creation of multimesh with a invalidated buffer Check multimesh before uniform set creation Declaring emission_tex_ofs globally miremrie (1): Allow absolute file paths in file dialogs mj.Jernigan (1): Register missing WebRTCDataChannelJS type monkeyman192 (3): Allow TreeItem nodes to toggle visibility Check visibility of items before drawing their relationship lines Handle drawing of relationship lines better to take in to account invisible children muiroc (5): pass missing args in AnimationNode script calls Fix javascript platform build Allow per pixel transparency in javascript platform Register the DisplayServer Singleton Use the blend parameter passed to blend_animation during graph processing mujpao (4): Make search results font follow code editor font Fix crash when trying to export zero files. Update viewport after Polygon2D deselected Fix right clicking sub nodes after renaming parent mvl (1): Fix bug where leading and trailing spaces werent taken into account with center and right allignment. myaaaaaaaaa (4): Fail instead of segfaulting in IO tests Change .gitignore's bin/ to bin Move some worker_thread_pool.h includes out of header files Fix PagedArray.merge_unordered() dropping pages nabfrew (1): Clarify 2D lighting `height` property in class reference naeu (1): Set dialog folder icon color nc (1): improve error message when travel() is called on an AnimationNodeStateMachine when the state machine is not playing nemerle (2): Node::replace_by was not copying node properties - removed the dead code. fix incorrectly connected optimize_dialog signal neropatti (1): Fix typo, change ´ to ' nevarek (3): Optimize data format for OpenSimplex images Add inverse projection matrix to fragment shader globals Fix shader undefined variable nightblade9 (1): Elaborate on text-to-speech requirements on Linux nikitalita (13): Fix binary resource loading and saving Use constant for reserved field count skip uid field length in binary resource if not used FIX GLTF Document mesh primitive conversions convert old octahedral compressed normals/tangents Fix binsary resource export Don't add `editor_sources` to vs_project when `tools=no` Fix DirAccessWindows::make_dir() choking on ".." Fix FileAccessZip() causing a stack overflow Speed up `find_texture_pos_for_glyph()` improve get_apksigner_path() robustness fix old mesh conversion offsets fix dbus and fontconfig links nklbdev (1): fix typo `set_polygon` in GenericTilePolygonEditor nobbele (1): Clarify return value for InputEvent.is_echo() nobuyuki_nyuu (3): PopupMenu.get_current_index() bound to ClassDB Bind CanvasItemEditor::_zoom_on_position and CanvasItemEditor::get_state to ClassDB Bind TabContainer::get_tab_idx_at_point() to ClassDB nonunknown (1): Fix alpha typo in code completion color notSanil (1): Fix device limit exceeding for uniform buffer nova++ (4): Add check to prevent "p_gutter = -1" error spam Fix "p_from_line > p_to_line" errors in text edit Fixing some of my own typos... Fix "File must be opened" error with File.open() ntfs.hard (1): Fix for Expression class: inner string can be single quoted nyanpasu64 (1): Fix burning CPU with udev disabled on Flatpak oOjor-elOo (1): Windows: Validate that the font family name exists before trying to get the font family ocean (they/them) (17): Clarified reason why a resource cannot be loaded. Fix single-quotes incorrectly escaped when dragging into script editor Fix error in curve editor multiline string draw Fix ability to overload "script" variable Add VS's enc_temp_folder to .gitignore Add error highlighting for duplicate variables/constants Fixes inability to assign script after clearing Add GDScript member initializer implicit type conversion Unify GDScriptAnalyzer in-editor and runtime autoload checks Add MethodInfo to signal datatype Assorted enum and native type fixes Fix unnammed enum crash regression Add option to print filenames in GDScript unit testing Add return type for GDScript getters Fix crash by freed object assign to typed variable Fix inability to assign null regression Added check for null objects in gdscript typed assign. of9 (1): Migrating language server from Websockets to raw TCP opl- (6): Fix losing X11 window normal size hint properties Fix window max_size acting as min_size Improve output in Debugger Errors tab for scripts Fix code duplication in CSharpScript Fix name used instead of doc for GDScript signals Fix editor inspector classes not accepting events orosmatthew (1): Fix orthogonal camera auto LOD calculation pattlebass (3): HTML5: Make `OS.get_locale()` match other platforms HTML5: Add support for `Input.vibrate_handheld()` Increase minsize for some Project Conversion dialogs pepegadeveloper123 (1): Inherited C# scene not inheriting parent's fields poohcom1 (4): Fix autocomplete on functions returning variants - When guessing return type, check type hints before last return value Add identifier completion for custom classes. Previously, custom class would only auto-complete for types in GDScript. This applies it to identifiers as well. Fix code-completion suggesting non-static members Fix autocomplete filter not including substrings python273 (2): Make asset library's column count dynamic Fix tutorial links in XR classes docs qhdtlr (1): Document the MultiplayerPeerExtension class quinnyo (1): Replace "dampen" with "damp", "attenuate" in class docs rafallus (15): Fix Quat multiplication x, y, z values were updated too early Unexpose _direct_state_changed in PhysicsBody Removed _direct_state_changed bindings Affects 2D and 3D nodes Callbacks now use Callable Tests were changed accordingly Change Path to Path3D in CSGPolygon3D Fix SurfaceTool crash when passing invalid Mesh Fix AnimationTree state machine start() Use `Callable` in Area monitor callback Implement inspector property array for `PopupMenu` and `MenuButton` Inspector property array for `TabBar` Fix `PopupMenu` items id range in inspector Consider gridmap collisions in navigation bake Fix `input_ray_pickable` documentation for `CollisionObject3D` Make sure `MeshLibrary` shape array has correct number of elements Bring reusable variables out of while loop Expose Basis `set_orthogonal_index` method as a GridMap function Expose input interaction virtual functions in CollisionObject randompast (1): Improve BoxMesh documentation about UV scaling for vertex shader raphaelazev (1): Added check to get_all_locales to avoid adding duplicate locales to array ray90514 (5): Fix Tree focus border disappears when Border Size is set to 0 Fix Node can not be reselected Fix LineEdit undo behaves strangely Fix Constants at function scope are not defined as constants for autocompletion Fix multi-selection doesn't correctly show in the inspector reejk (1): Use TileSet navigation layer layers when TileMap generates navigation polygons requizm (6): We can delete all text on TextEdit Fix line_separation constant working incorrectly in RichTextLabel Fix tooltip message working incorrectly in PopupMenu Fix camera override not working Fix 3d animations doesn't play Disabled "Escape" button when closing the shortcut window rileylyman (2): skip extra newline in .tscn when renaming dependency implement generic filename disambiguation robfram (1): Exclude atomic lib under FreeBSD using LLVM rsjtdrjgfuzkfg (11): Fix crash in RenderingDeviceVulkan::shader_create OpenXR: support XR_KHR_android_create_instance OpenXR: fix casts and loop in action map editor OpenXR: Add preliminary Pico controller profile OpenXR: Fix initialization warning on Android OpenXR: Do not use SRGB swapchains with OpenGL OpenGL: Support FORMAT_{ETC2,DXT5}_RA_AS_RG etcpak: Fix ETCPAK_TYPE_ETC2_RA_AS_RG obj: Avoid empty names and meshes Theme Editor: fix leading styleboxes / main styles OpenGL: fix culling without depth prepass rune-scape (23): Fixes BlendSpace2D BLEND_MODE_DISCRETE_CARRY. When BlendSpace2D switches animations, it will now correctly calculate the previous animation position and length and apply is to the new animation. Fix unset `ObjectID` with validated `get_object()` call GDScript: fix highlighting '.' after global class name GDScript compiler subclass bugfixes GDScript Compiler: regression fix Fix empty text in editor GDScript: Cache scripts after parse error GDScript: Avoid using `get_global_class_native_base` Fix editor help crash GDScript: Fix subclass script path issues GDScript: preload should make native type Unify String and StringName Fix subscript of preloaded script Fix String type compatibility being too permissive GDScript: Fix cast producing null GDScript: Allow out of order member resolution GDScript: Fix built-in script and other `find_class` bugs Fix preload type regression Fix enum value regression Fix autoload subscript regression Fix resource picker regression Fix GDScript analyzer null literal Inner classes get their docs back ryburnj (1): Fix inconsistent scene file name casing by moving existing Name_Casing code to separate function in editor_node, and adding a call from both editor_node and scene_tree_dock. sakrel (3): Fix DirectionalLight2D and PointLight2D shadows not rendering correctly Fix updating OccluderPolygon shapes Make draw command labels thread safe sboronczyk (3): Fix Create Plugin after GD Annotation Changes Fix create c# script after partial class type fix issue vulkan crash on open shader materials scurest (2): Add vertex color support to OBJ importer Mark OBJ vertex colors sRGB in materials (only if has vertex colors) sebastian-heinz (1): allow variant construction in expressions seenloitering (1): Add documentation for Skeleton2D sent44 (2): Expose get_total_visible_rows as get_visible_line_count Add get_base_editor to ScriptEditorBase simpu (2): Added Custom Performance Monitor and feature to read intermediate values of Monitor Added debugger plugin support simpuid (4): Implement undo-redo feature for Parameter Paste in the Inspector Changed default for p_validate_certs to true. Fixes #37084 Remove update condition from LineEdit::update_placeholder_width Fixes transform gizmo position when node has default transform skyace65 (40): Fix label percent visible doc description Fix Joint2D doc Add defaults to tilemap set_cell function example Clarify points in Line2D doc Update CollisionShape2D doc Document where the center of mass is for RigidBody nodes Mention listener node in AudioStreamPlayer3D description Improve touch screen button description Add information to get thread id Clarify get_data texture method Document scroll horizontal and scroll vertical in text edit Document some properties of NavigationMesh Improve SpriteFrames get_animation_loop description Improve AudioEffectDistortion and AudioEffectFilter documentation Add documentation for shelf filters Move note about using Resource in the File documentation Pow method doc fix Document what can be used as a type hint Remove the implication that references and resources are not objected from their description Document more NavigationMesh properties Add a warning on using directory to access of imported files Add note that for _gui_input(event) event position is relative to the control origin Improve area method descriptions Clarify that the script class should not be used directly Add a link to the notifications tutorial page in the object class reference State that get static memory usage only works in debug Fix "flip faces" description Add warning to only use convex hull points when setting the point property for convex polygon shape Improve mouse input event class reference Fix and improve cull mode description in material Document how to erase project settings with set_setting Add a note that the script property is part of the object class Fix normal map description Instance placeholder clarification Better explain JSON stringify indent parameter (4.0) Add more information on triangulate polygon Add description for camera effects property in WorldEnvironment Add a description to ORMMaterial3D and StandardMaterial3D Cleanup audio effect class reference pages Spell out "anisotropic" fully in filter options skysphr (1): Added increment_pressed and decrement_pressed icons to scrollbars smartin015 (1): Remove get_local_mouse_position() hack in GraphEdit smix8 (97): fix skeleton (ik) not resetting global_bone_overrides properly Fix NavigationAgent2D not emitting "target_reached" Signal reliably Document AnimationNodeTimeSeek with clarified usage and code example Fix broken NavigationAgent3D collision avoidance callback Fix broken NavigationAgent2D collision avoidance callbacks put distance check to target into function Fix NavigationAgent3D not emitting "target_reached" Signal Add get_region_rid() NavigationRegion2D and NavigationRegion3D Allow AStar2D/AStar3D zero point weight Add Warning to NavigationMesh bake when source geometry is suspiciously big Add NavigationServer2D/3D API functions to find missing RID info Expose NavigationObstacle2D/3D get_rid() and add config warning Fix NavigationObstacle2D/3D get_global_transform() error Disable threaded NavigationMesh bake on unsupported OS Clamp NavigationMesh sample_distance above zero Add missing class doc to NavigationMeshGenerator Make Navigation Agents and Obstacles respect parent process mode Update NavigationRegion2D when polygons of NavigationPolygon change Add wrong surface warnings to NavigationMesh.create_from_mesh() Remove arbitrary NavigationMesh bake property limits Process NavigationAgent2D/3D avoidance on demand only Fix GridMap not adding custom mesh offsets to NavigationMesh generation Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty Fix NavigationAgent reparent issues Add class doc that NavigationServer changes are not instant Document that NavigationAgent height offset is mostly a placebo Note that NavigationObstacles should only be used if necessary and for moving objects only Expose get_mesh() for NavigationPolygon Resources Add NavigationMesh debug when navmesh is added later through scripts Match NavMap and ProjectSettings with NavigationMesh defaults Add warnings when NavigationMesh bake settings result in precision loss Add NavigationRegion costs for pathfinding Fix GridMap applying wrong NavigationRegion transform Fix GridMap Navigation transforms and debug Document the correct use of NavigationAgent path functions Remove slash delimiter from NavigationMesh properties Fix crash of navigation agents callback when object is invalid Document NavigationServer API navigation agent callbacks Add NavigationAgent set_navigation_map() function Streamline Navigation layer function names. Add NavigationAgent desired path distance Add navigation layer bitmask helper functions Add Path2D/3D debug options Disable thread-unsafe EditorProgress for navmesh baking Add Navigation function to get all navigation maps Implement NavigationMesh bake area Add NavigationServer map_force_update() function Add NavigationServer.region_owns_point() helper function Document limits of using meshes to obstruct navigation mesh baking Clarify NavigationAgent radius property Group NavigationAgent properties Replace Navigation std::vector use with LocalVector Add more detailed Navigation Debug Visualization Fix Navigation Debug always enabled Add NavigationMesh baking for HeightMapShape Fix NavigationRegion3D debug mesh rendering twice in Editor Fix Editor Navigation debug edge connection visuals Add NavigationServer2D debug functions Add Navigation Debug for GridMap edge connections Fix NavigationObstacle 2D/3D (re)parent issues Remove / Replace old Navigation Debug Visualization Add GridMap function to change navigation map for baked navigation regions Exclude disabled CollisionShapes from Navigationmesh baking Add NavigationPathQuery Add missing postprocessing doc for PathQueryParameters Fix class doc for TileMap navigation visibility mode Add detail to NavigationPolygon outline error msg Stop NavigationAgents without a target from moving to world origin Fix Navigation agent callback wild pointer crash Move NavigationPolygon to dedicated resource file Fix Navigation API abbreviations inconsistency Add GridMap collision_priority Change GridMap navigation_layers to be per mesh_library item Remove deprecated NavigationMesh compatibility parts Fix NavigationPolygon error msg Add NavigationServer Performance Monitor Add navigation tutorial links inside class doc Tweak NavigationAgent2D defaults Fix duplicate NavigationServer process Rename Navigation uses of 'location' to 'position' Add TileSet helper functions to set/get navigation layer values Create default World navigation maps on demand only Create default World physics spaces on demand only Add NavigationAgent Path Debug Visualization Rename NavigationServer internal RvoAgent to NavAgent Fix NavigationMesh baking AABB Editor handling and visuals Fix NavigationAgent debug functions bindings in release builds Fix navigation support for multilayered TileMaps Fix 2D navigation debug visuals ignoring half the ProjectSettings Improve NavigationServer.free() error msg when RID not found Fix TileMap NavigationServer 'Invalid ID' error Unbind NavigationServer3D.process() Add NavigationLink helper functions for global positions Fix navigation debug not toggleable in scripts Tweak NavigationAgent3D defaults Fix GridMap 'cell_size_changed' signal not disconnecting properly Fix ShapeCast3D add and remove exception functions snailrhymer (2): Fix typos and improve clarity in Tween docs Fix typo in VehicleBody3D.xml snowapril (1): Fix D_GGX code which can cause divide-by-zero val souplamp (6): capitalize skeleton3d plugin dropdown change RETURN_VALUE_DISCARDED GDScript warn text Improve Editor Layout dialog (clarity, editor sizing changes) History dock singleton, set default editor layout, ready notification Update docs to mention `@icon` only works with global script classes Audio rename (device, capture_device) -> (output_device, input_device) sps1112 (6): Add Unit Tests for Variant Assignment Add size<=0 check in BakedLighmapData._get_user_data() Add null check for NavigationMesh.create_from_mesh() Add size check in Control._edit_set_state to prevent crash Fix Control._edit_set_state crash Bind vararg method flag in core constants squash (1): Expose Shape2D::get_rect to scripting stmSi (10): Fixed GDScript crashed when two consecutive unary operators are analysed Fix crashed when compressing empty image data. Fix: Profiler and Visual Profiler start/stop state inconsistency Fix Editor Shortcut keys are inserting in Script Editor Fix Editor hanging if audiostream's pitch_scale is NaN Suggest Filename in Remote Tree File Dialog Editor: Fix `Paste From Clipboard` make two root separate scenes pointing to same file Fix canceling add_node Popup doesn't disconnect previous node. Fix NaN value making infinite loop inside GraphEdit's NOTIFICATION_DRAW Fix OGG page_data out of bound crash strank (8): Fix hard-coded OP_MAX in variant_op.cpp Fix doctest runner ignoring all arguments starting with --test Add a "not in" operator to GDScript. GDScript: Fix parsing default parameter values from function calls Delete orphaned property default for exit_code which is not exposed any more. Fix "Identifier not found" compiler error when accessing inherited signals or functions as callables. Add test cases for accessing parent elements from child class Extend test_compiler to also disassemble inner classes streq (1): clarify [member polygons] functionality in the Polygon2D class documentation sumit0190 (2): Update cached_width of the line_edit element when setting it to be secret Read and write exported infs/nans correctly (#35388) sygi (2): Add documentation to Bitmaps opaque_to_polygons. Add mouse_shape_entered and mouse_shape_exited signals to CollisionObject2D. taigi100 (4): Update to only use select tool on button press Fix children visibility check Update color constants to use HEX codes Update properties to properly filter for templates. tbxMb (1): Allow .gdshader files in 3to4 conversion tefusion (3): Fix CapsuleMesh loading issue (radius reset) Fix GraphEdit::arange_nodes causing a freeze Fix typo in RendererSceneCull Frees skeleton 3d gizmo now correctly thebestnom (11): Android: Migrate deprecated support library to AndroidX Android: fix display server always alerting no Vulkan support Android: Keyboard modifier and arrow key support CI: Added Android GitHub Action Android: Mouse Implementation Android: Allow Mouse Capture Android: fix mouse capture relative wrong Allow to build dev template with symbols [Android] fix generateDevTemplate Android: Add support for cursor icons Android: Initialize mouse mode theludovyc (2): erase : if ( i < offset ) { continue;} in for loops Remove unused ofs variable theoniko (1): Fix copy paste bug in renderer_rd/effects_rd.cpp totlmstr (2): Add missing #ifdef MODULE_SVG_ENABLED Add option modules_enabled_by_default trollodel (21): Allow CollisionObject3D to show collision shape meshes Preview the color animation in the animation editor Create CollisionObject3D debug shapes using RS Use the correct method in shape_owner_remove_shape Improve TreeItem API and allow to move nodes Fix crash on debug shapes update if CollisionObject3D is not in tree Fix GraphNode port position when the control has the Expand flag Store panels and docks singletons in their own classes Allow setting the PropertyInfo class_name from GDScript Fix editor compile error when VisualScript is disabled Remove most EditorNode constructor parameters and fields Remove the EditorNode parameter from EditorPlugins create methods Use CollisionObject3D API when baking the navmesh with static colliders, instead of collecting CollisionShape3D nodes Fix some bugs in the advanced scene import Add the button pressed to some signals in Tree Add timestamps to some rendering effects Fix Joint3D and Joint2D warning causing a crash Use forward-declarations in EditorPlugin where possible Move editor class and plugin registrations to a dedicated file Use forward-declarations in big editor classes Ensure that generated import IDs are unique ueshita (1): Fix some switching decisions for index format. umarcor (3): doc/FileDialog: warn about access limitations in sandboxed apps CI: upload artifacts ci: do not use set-env univeous (1): allow input echo when changing ui focus unknown (2): adding check for syskeydown on control and alt GDScript: Properly respect `int` type hint for `@export_range` vdyotte (1): fix hardcoded raycast distance with viewport object picking voidedWarranties (4): Fix `ScriptInstanceExtension::get_property_default_value` return value Add missing virtual bind for `ScriptExtension::_get_global_name` Make `ResourceCache::get_cached_resources` thread-safe Remove unused `ScriptLanguage` methods voidshine (1): Fix MIDI note-on events being converted to note-off events volokh0x (2): Save clear action of TextEdit in history when used from context menu Fix typos in Dictionary.xml volzhs (18): Use checkbox for plugin status instead of option list Update snap setting only with OK Emit signal when animation ends by seek Use underline position and thickness value in font file Add missing consumePurchase plugin method for GodotPayment Fix overlappingObjects vector crash Show android device name when connected only one device Respect Tree.set_icon_max_width size for drawing selection box Put unselected tabs back in TabContainer control Update freetype to 2.10.4 Fix crash in TabContainer in case of no content at all Fix to update scroll bar has correct max value in ScrollContainer Fix TabContainer crashes Update page value properly of ScrollContainer Add option to draw all tabs in front Enhance editor file dialog Fix drawing boxselection on GraphEdit Fix typo 'previus_selected' voxelv (1): Avoid using a nullptr root in Tree._range_click_timeout(). weerdy15 (1): docs: Improve `InputEventAction` reference xutaxkamay (1): Fix (again) loading binary resources with float=64 zCubed3 (2): Fix OS.get_video_adapter_driver_info crash Fix math utility functions crashing when invalid args passed zacryol (10): Change example used for StringName call methods Fix typo with example variable name in Dictionary docs, and fix error in C# example Mention remove_node() side effect of potentially setting owner to null Fix description of Viewport `find_world_2d()` method. Clarify usage of TabContainer Reword "Open Project Data Folder" as "Open User Data Folder" Expand description of is_on_X methods for CharacterBody2D/3D Update description of FileDialog `filters` property List AnimatedSprite3D in SpriteFrames description update _init() description zero13cool (1): Changed type to make it work on x32 architecture. zhangjianguo (1): Prevent editor crash when deleting children of GraphNode ztco224 (1): Fix DST Error on Windows zwebb (1): initialized member variables in header zxcvdev (1): Fix GPU Particles Álex Román Núñez (3): Make WASAPI return accurate latency information Fix typed array returns returning the incorrect contained type Fallback to IAudioClient when IAudioClient3 is not available in a more robust way Алексей Смирнов (1): MenuBar add auto-translation of Menu names Владислав Прусаков (1): Fix equal operation for typed enums Дмитрий Сальников (1): Exposed setters for sensor values in Input class フラカノ (1): Texture import 'streamed' property should be bool 千橘 雫霞 (1): Introduce `appCategory` attribute of android to set category