Aaron Franke (24): Make the Import dock depend on the FileSystem dock Change inequality comparison operators to use exact equality Add concatenation support and a new ctor to Godot.Collections.Array Change the "remove missing" button to disabled rather than hidden Don't write global script class information if there is none Check for global script class information before clearing it Add GetStringFromUTF8 and GetStringFromASCII Link to demos from within the class reference Minor clamp and float fixes [3.2] Improve comments in Color documentation Add LStrip and RStrip to C# strings Add HexEncode to C# Update the 3D grid when the "View Grid" checkbox is changed Limit the zoom and freelook speed based on camera settings Fix trying to set grid visibility on an invalid instance Descriptive error message when using AudioStream(OGG/MP3) incorrectly Move the asset library API URLs to the Editor Settings [3.2] Backport hex_to_int/bin_to_int zero check and C# changes [3.2] Use instance and first arg in Basis is_equal_approx [3.2] Limit max zoom to 1/2 of far plane instead of 1/4 Add generic support to PackedScene.Instance [3.2] Fix documentation for Vector2/3.sign() Improve documentation for AtlasTexture Show a message when trying to zoom farther than the limit Adam Brown (2): xatlas: Sync with upstream 5571fc7 xatlas should be using the options configured here Adam Scott (1): Add missing "normalized" accessor property to glTF document for the 3.2 branch Addmix (1): Create physical skeleton collider orientation fix Aitor Cereceto (1): [46188] fix: get unix from datetime when empty dict Alex Hirsch (6): Add parameter checkes to FileAccess get_buffer functions Allow nullptr with zero length in FileAccess get_buffer FBX Import: Check bone map access for valid cluster target node id Add additional index checks to COLLADA importer FBX Import: Normalize rotation quaternions Always dynamically allocate PropertyTable Alexander Pech (1): Keep RichTextLabel visible character properties in sync Alf Kraus (1): wrong double quote output with .csv fixed Aman Jain (7): Utility methods for writing files to Gradle project. Refactored permissions and command line flags into separate methods Create strings.xml files to mimic behavior of _fix_resources method Added methods to copy project icon files 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 Anant Ahuja (1): Updated NinePatchRect's patch margin descriptions Anders Stenberg (1): Add missing color argument in forward_canvas_draw_over_viewport example. Andrea Catania (2): Fixed EditorPropertyText change signal emission. Fixes editor crash on closing Andrii Doroshenko (Xrayez) (23): Fix `List` swap behavior on front, back and adjacent elements Make `Object::to_string` virtual Cross-reference GDScript `load` and `ResourceLoader.load` in classref Cross-reference `ColorRect` and `ReferenceRect` in the class reference Add `border_width` to `ReferenceRect` GDNative XR: remove redundant `config.py` Make `randbase` member protected in `RandomNumberGenerator` Describe `ImageTexture`, `Image` creation and usage Do not start `Timer` upon manual switching of internal process Fix doctool misleading error message Make `property_list_changed_notify` protected in `Object` Add ability to restore `RandomNumberGenerator` state Add `AspectRatioContainer` class 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` SCons: Add an option to detect C++ modules recursively Fix sprite editor conversion tools to handle compressed textures makerst: Add an option to filter which XML classes to output Add `use_asan` option for MSVC to enable AddressSanitizer Provide additional include paths for custom modules makerst: Fix generation of overridden properties in child classes Andy Maloney (5): Fix const warnings in FBX (build failure on macOS) Fix undeclared identifier error in lightmapper_cpu.cpp Fix sign comparison error in lightmap_raycaster.cpp [docs] Clarification on theme's get_stylebox Fix some grammar in StyleBoxFlat class docs Andy Savage (1): Quick fix to incorrect error messages when writing to compressed or encrypted files. Angad Kambli (5): add checks for node type range in add_node function add null check in _update_particle_data_buffer() add null check in MeshInstance::_mesh_changed() fix minor issue in smooth step function's documentation use collision mask in vehicle raycast Ansraer (1): Adjust auto scale on high res displays Anutrix (2): Fixed an issue in UWP export caused by duplicate entry for extensions in content types file. Added a note to ImmediateGeometry regarding it's buffer limit ArdaE (1): GLTF import: Prevent significant numerical errors in keyframe times Arman (3): Check if screen space reflection has passed far clip Fade screen-space reflection towards inner margin Take resolution into account when setting the max shadow cubemap size ArrowInAKnee (2): Make all get_configuration_warning() overrides retrieve warnings from parent Remove unnecessary file existence check when saving scene Avril (1): preserve scripts panel visibility state between sessions in project metadata Azamat Nabiullin (1): Fix disconnection between Gizmo and inspector values on BakedLightmap Bartłomiej T. Listwon (2): Fix custom modules in Visual Studio Without `custom_modules` scons command in VS project was broken (fixes regression from commit 6122a504eeb4f8678a012d08a0a8fcc5e661c69e) Add all headers to VS Project Bastiaan Olij (9): Add get_native_handle to OS 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 Expose set_environment to GDScript Fix duplicate check for bone names in FBX import ARVR GDNative enhancements: - add set_interface function - add access to depth buffer - add supplying a depth buffer from an ARVR plugin Only cleanup meta data if GDNative library is reloadable and we're about to unload it Fixes on android: - checking for validity of ENV in wrapper classes - fix for access to JavaVM from threads Bhuvan Vemula (1): Added Additional Description for PhysicsServer2D->area_create() method. Borislav Kosharov (1): fix file dialog filename cleared when selecting favorites Carlos Cabello (1): Add descriptive error message when trying to access a dir fails Chaosus (18): [3.2] Added UniformRef visual shader node [3.2] Optimizations for Fresnel and Texture nodes in visual shaders [3.2] Fix port previews for uniforms in visual shaders [3.2] Fix undo for moving multiple visual shader nodes [3.2] Shows ColorRect in Color constants autocompletion [Mono] Added Shuffle method to Array [3.2] Added extra warning to texture nodes in visual shader Changes 'always show grid' hotkey to prevent conflict with 'pan mode' Added a note describing a code behind Vector2/3.direction_to Fix broken members panel in visual script editor Added optional id parameter to `PopupMenu::add_separator` [3.2] Auto-assign default value for variable in visual script on type changing [3.2] Fix particles not properly modified by their lifetime Adds Metallic to spatial light input of visual shaders [3.2] Visual Shader Parenthesis fix [3.2] Fix `SceneTreeEditor::update_timer` - timeout signal Fix parsing hexadecimal (lowercase `e`,`f`) in shaders Check before connecting `TileMapEditor::settings_changed` Charles Merriam (1): Fix typo in the ProjectSettings class documentation Chris Serino (1): [GLES2] Fix binding 3D Transforms to mat4 uniforms Christoffer Sundbom (1): Tween: Add null check for target object Clay John (10): Restore default alpha_scissor_threshold to Sprite3D Fix glow on devices with only 8 texture slots Use full float UVs in Sprite3D Use separate texture unit for light_texture Remove extra exposure multiply in FXAA Properly reset texture flags when generating radiance Properly apply auto exposure with FXAA in GLES3 Check limits on texture or framebuffer creation Multiply vertex lit DirectionalLights by albedo in GLES3 Add setting for shadow cubemap max size Connor Lirot (1): Fix for linux joypad D-pad zeroing Cooper Harasyn (1): Prevent ALSA audio corruption Crystal Melting Dot (1): Fix TabContainer _get_tab_width D00T24 (1): changed max point limit to 1 instead of 2 Daniel Kříž (1): fix wrong encoding in uri_encode Danil Alexeev (9): Improvement for the Copy button in the Output Log Improve appearance of [connection] and [editable] sections in .tscn files Several edits to the GDScript docs Fix odd newline in `EditorLog::add_message()` 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) Merge Category and Property fields in the Project Settings Dashcell (2): Fixes the resize of tile shapes when a vertex is outside of the tilesheet. Fix #34970 Dropping file on parrent dirrectory fixed David Buchmann (1): doc: Clarify TileMap `world_to_map` and `map_to_world` usage David Hoppenbrouwers (1): Fix Variant conversion to float instead of double David Kennedy (1): Fix duplicates entries in script editor menu David Sichma (2): aabb change updates bounding box fix toggle mask bit 0 David Snopek (5): 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. 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 when loading a scene containing an uncreatable type Fix crash during drag if user freed the drag preview Dodoveloper (1): Fix #33326 by reopening scenes Dominik 'dreamsComeTrue' Jasiński (3): 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 Duddino (1): Added some checks to prevent accessing a null collider Duroxxigar (2): Made toplevel a property for Node3D and CanvasItem Added a more helpful error message when there is no current animation for the animation player Dustin Petersohn (1): Improved documentation for TileMap.cell_y_sort Eduardo Rodrigues (1): Fix error message when exporting a write-only property without a setter Ellen Poe (8): Fail mp3 loading when attempting to load invalid mp3s Return setseek position if one exists in get_playback_position. Fix mono->stereo conversion for oggs (see #40630) 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 Implement a new resampling algorithm in AudioStreamPlaybackResampled Emily (1): fixed typo in packedscene Emmanuel Leblond (1): Fix Godot returned status code on unexpected error Enhex (1): Fix missing quote in documentation Eoin O'Neill (2): StateMachinePlayback: Added missing bindings to `get_current_play_pos` and `get_current_length`. Collision Shape 2D 'Disabled' Visualization Correction Eric M (6): Fixed bug where spinbox would not update to it's actual value after non-numeric input Added search box to signals dock. Added F2 shortcuts for renaming files & folders. Made keyboard shortcuts for FileSystemDock visible in popup Made save dialog open immediately when running unsaved scene. Fixed issues with slider focus and scroll input Eric Tuvesson (2): fix(sprite2d): Rect is not handling pixel snap fix(editor): TileMap floodfill with same tile ID and different variation Eryk Dwornicki (1): Fixed bug that caused collision not to be properly reenabled when joint between two bodies is destroyed Ev1lbl0w (8): Disable code to add patches menu Fix wrong exit code being returned Changed shell_open behaviour Changed path behaviour for Windows Prevent invalid values when resizing window (X11) Added missing returns on error scenarios Fix negative VRAM values Replace malloc's with Godot's memalloc macro Eyad (1): Fixes #42149 and fixes indentation errors to pass clang-format FIF15 (2): Deprecate Redundant property enabled_focus_mode of BaseButton see #41529 for details this closes #41529 fix #43695 by revert part of #41577 Restore the default focus mode for MenuButton and LinkButton, since it is different from the default of BaseButton. Fabian (1): Add set_peer_timeout to NetworkedMultiplayerENet. Fabian Stiewitz (1): fix gltf not importing files w/o bufferViews or accessors Fabio Alessandrelli (89): Move request_quit to javascript_main. 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. 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. Improve Project Manager video driver selection. Disable WebGL2, window maximize in editor builds. EditorNode now copies all drag and dropped files. [HTML5] Fix audio buffer size and latency hint. Fix gdnative build when WebRTC module is disabled. [HTML5] Update syntax for lto. [HTML5] Port JavaScript inline code to libraries. [HTML5] AudioWorkletAPI 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. [HTML5] Remove file flags from writeFile in setup. [HTML5] Fix broken layout on load in HiDPI screens Disable SO_REUSEADDR for UDP. [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. Remove unused FileAccessJAndroid. [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. Fix some easing equations' undefined behaviours. Add important note about OS.get_unixtime. [HTML5] Reorganize build script. Better gamepad axis event injection. [HTML5] Custom Gamepad library to allow remapping. [HTML5] Better editor HTML, small refactor. [HTML5] Builtin HTTP server disable browsers cache [HTML5] Fix mouse_mode and fullscreen detection. Import zip via drag and drop in project manager. [HTML5] Make home path persistent in editor. Add some HTML5 controllers mapping. [HTML5] Handle contextmenu, webglcontextlost internally. [HTML5] Fix HTTPClient request_raw. [HTML5] Fix web editor "clear persistent data". [HTML5] Editor: ensure canvas focus when switching tabs. [HTML5] Detect screen scale and DPI. [HTML5] Implement get_processor_count. [HTML5] Easier HTML templates, better deinit/cleanup. [HTML5] Better fullscreen, canvas resizing. [HTML5] Make editor HTML build tag scons4-proof. Fix thread_process_array when NO_THREADS. [HTML5] Document Engine and EngineConfig (jsdoc). [HTML5] Add jsdoc2rst tool. [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] Opt-in virtual keyboard support. [HTML5] Properly set canvas size during setup. [HTML5] Drag and drop zip in project manager. Bump mbedtls to version 2.16.10. [Net] Fix miniupnpc when no interface is specified [HTML5] Fix bogus Web Editor manifest. [HTML5] Fix editor version numbering. [HTML5] Fix loading when mime-type is missing. [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. Feniks (1): Changed mouse cursor to the caret (text cursor) location. Filip (4): Add all AutoLoad resources when exporting the project Fixed completion and hint panel positioning in TextExit [3.2] Fix file name comparison when new file is added to file system Fixed completion box not showing properly [3.2] Firepal (1): Use correct normal for ReflectionProbe in GLES2 Forest Katsch (1): Fixes #43667. Francois Belair (4): Add a VScript func to sanitize variant values Make LSP ignore $/ messages Make LSP parser aware of variables in sub-blocks Implement LSP didDeleteFiles to clear diagnostics Fredia Huya-Kouadio (36): Enable the ability to use Godot as a subview within an Android app Add overridable init method for the Godot fragment instance. Fix splash screen loading on Android 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. Disable engine splash logic on Android; this is now handled by the Android theme api. Override `ANDROID_NDK_ROOT` based on the project ndk version. Update the filtering logic to properly handle directories with `.gdignore` files. 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 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. Enable `doNotStrip` when doing development/debugging within Android Studio Fix bug causing `project.godot` to be ignored when `project.binary` is missing Fix onMainRequestPermissionsResult callback for Android plugins. Fix issue causing the response callback to be invoked with the invalid `requestCode`. Fix custom boot splash image scaling. Fix issue causing export to fail with "Could not unzip temporary unaligned APK" error and improve command output logging. Disable the `requestLegacyExternalStorage` attribute when there are no storage permissions. 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 George Marques (2): GDScript: Remove self static reference and create one on calls Actually set GDScript static reference Gilles Roudiere (4): 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 Fixes setting top_level not updating the global position Gordon MacPherson (11): Rewrite FBX Importer to convert directly to Godot scene format FBX fix unskinned bones not being in the Ref causing the rasteriser to error FBX respect mesh compression flags FBX add roughness mappings and fixes general some material bugs Revert partial "FBX add roughness mappings and fixes general some material bugs" [fbx] bugfixes skinning, materials and debugging info, merry xmas 🎄 ColorIndex supported now for vertex colors. [fbx] Fix #44371 #44376 File crash and Buffer Overflow Preliminary Blender FBX support fixed bug in vertex duplication breaking meshes Use github actions cache not my own one. Gromph (1): Fix EditorExportPlugin _export_begin and _export_end functions not being called when exporting UWP GryphonClaw (1): added shortcuts/hotkeys for tileset editor plugin collision buttons, with suggested changes. HaSa1002 (4): Docs: MeshDataTool: showcase tool in code example Expose bookmark, breakpoint, and mark safe functions in TextEdit Move cursor shape loading after module loading Fix `_File::get_buffer` length always set to p_length Haoyu Qiu (21): Fixes ParallaxLayer offset when ignore camera zoom Surrounds boolean false with code tag Hides special folders in FileDialog for macOS Fixes FileSystem tree preview icon size on HiDPI Changes mention of Node3D back to Spatial Adds pan gesture to StateMachine editor Fixes HTTPClient::poll crash after connection is self-assigned Fixes crash after using enums in export variables 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 uninitialized GridMapEditor::node Fix invalid memory usage when modifying locked image Fix AnimationTree editor crash when renaming node Fix project icon size in Project Manager Check section existance before getting keys Fix 3D selection box size for Spatial Fixes Node3D rotation in select mode on macOS Hein-Pieter van Braam-Stewart (10): 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 Add 'AMD' GPU vendor name to PRIME detector Use -latomic when linking whe using clang on Linux Use -latomic when using clang (server platform) Omit some functions in alsa wrapper Allow static linking with libatomic using clang Fix thread_local, tls, ASLR, and DEP with MingW HellonLegs (1): LineEdit/TextEdit: solved control + alt issue HipsterPenguin (1): Fixed 6DOF set/get check for the path starting with joint_constraints Hugo Locurcio (160): Rename the `type` parameter to `node_type` in Theme and Control Fix crash when opening a ZIP data pack Fix a typo in the Array class documentation Improve editor tooltips related to debugging Make the SpriteFrames animation speed SpinBox take less vertical space Improve search and display in the editor property/method selector Improve documentation about VideoPlayer video formats 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 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 Replace AutoKey icon with a more universally understood "record" button Add a property hint to StyleBoxFlat `shadow_size` for editor usability Enable the `copy_mono_root` SCons option by default Document the BaseMaterial3D billboard mode not being suited for VR Improve the inspector easing editor 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 Improve the String comparison methods' documentation Improve the `String.is_valid_ip_address()` documentation Recommend restarting after changing the reflection atlas size or HDR Fix rectangle paint tooltip for the tilemap editor on macOS Document OmniLight/SpotLight rendering limitations Link the Random number generation tutorial in the class reference Clarify that `MultiMesh.set_instance_color()` multiplies vertex colors Add fast approximate antialiasing (FXAA) to Viewport Add a debanding property to Viewport for GLES3 Improve the font oversampling warning messages to be more descriptive Document how to display the vertex color in `SurfaceTool.add_color()` Improve undo log messages in the 2D editor for additional context Document hiding a Control when its reference point is behind the camera Fix artifacts in DynamicFont when scaling with filtering enabled Use the Dummy audio driver in CI to prevent spurious error messages Document AtlasTexture not supporting repetition Improve the 3D editor selection box appearance Remove `debug_symbols=full` in favor of `debug_symbols=yes` Improve the documentation related to fullscreen and borderless settings Document how to interrupt `PacketPeerUDP.wait()` Document the supported TLS versions in HTTPRequest Increase the default HTTPClient download chunk size to 64 KiB Add `Image.load_bmp_from_buffer()` for run-time BMP image loading Fix a variable being redeclared in the HTTPRequest code sample Correct documentation about NinePatchRect stretch modes Allow using SVG images as project icon Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut Clarify that code in `assert()` should avoid side effects Add a dynamic infinite grid to the 3D editor Use 75% editor scale on small displays automatically Improve messages related to overriding the default editor layout Rename the "Delete" option in the FileSystem dock to "Move to Trash" Add files to create a Windows editor installer using Inno Setup Clarify packet peer `max_buffer_po2` in ProjectSettings documentation Improve the Dictionary class documentation Remove property groups for Pause Mode and Script Require Ctrl for switching between editors, bind F2 to Rename Node Increase the default `profiler_frame_max_functions` to 512 Update the number of lights supported in OmniLight and SpotLight docs 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 WebM videos don't support the alpha channel Improve the AudioStreamPlayer3D class documentation Document C# garbage collection caveats in Reference and Resource Improve the `ProjectSettings.globalize_path()` documentation Fix incorrect `Curve3D.interpolate_baked()` description Tweak SpatialMaterial height property hints Tweak log file names for consistency between Mono and non-Mono logs [HTML5] Improve the editor HTML template. Document the lack of localization remapping support in VideoPlayer Document that changing the particle amount resets emission Document that SpatialMaterial doesn't support depth mapping + triplanar Document the argument count limit in `SceneTree.call_group()` Fix invalid property hint for `max_renderable_elements` project setting Increase the default 3D manipulator gizmo opacity for better visibility Add a project setting to enable stdout flushing in release builds Move the brightness factor for highlighted 3D gizmos to a variable Document how to solve UV jittering when using large procedural meshes Tweak the editor CheckButton "presed" appearance to be more recognizable Fix confusing SliderJoint3D brief description Fix and decrease Godot logo size in the HTML5 editor loader Add an editor setting for the 3D selection box color Fix warning spam when using `--help` or `--version` command line argument Document RichTextLabel not supporting entangled BBCode tags 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 Document the requirement to update GPU particle visibility Make links on the HTML5 editor more readable Don't allow adding Objects to the project settings Draw a "background" line behind the dashed line in TextureRegion editor Mention that NetworkedMultiplayerENet uses UDP only Document that PoolRealArray stores 32-bit floats Document workaround for storing 64-bit floats in PoolRealArray Document that ShaderMaterial doesn't support GIProbe emission Tweak the "Auto" editor setting hints to be more indicative Hide the rotation gizmo when editor cinematic preview is enabled Fix typo in theming methods ("botton" -> "bottom") 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()` Document the expected low performance of VideoPlayer on HTML5 Check for clang-format version in the pre-commit hook Make Range return 1.0 ratio if minimum and maximum values are equal Improve the `Array.hash()` documentation Add an `OS.get_thread_caller_id()` method Fix WebXRInterface code sample in the class reference Reference the control gallery image in the Control class documentation Create the temporary PCK export directory if it doesn't exist 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 Improve the `File.endian_swap` documentation Document that GridMap doesn't support visual layers or cull masks Improve editor text appearance in (un)zoomed GraphEdit-based editors Document known bug with `Object.new()` and workaround Improve the `SurfaceTool.generate_normals()` documentation Document Particles2D not supporting AtlasTexture region Print suggestions when requesting a nonexistent InputMap action Display loading text while the project manager is loading Add a project setting to enable stdout flushing in release builds Expose a `File.flush()` method to scripting 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 Increase the page size for array/dictionary editors to 20 Use space indentation for all YAML files in `.editorconfig` Document that Button doesn't interpret touch input (= no multitouch) Document theming a SpinBox's background Improve PCF13 shadow rendering in GLES2 by using a soft PCF filter Improve the `get_node()` error message to be more descriptive Document seamless noise having a lower contrast than non-seamless noise Improve the editor HTML template Improve the `OS.get_environment()`/`OS.set_environment()` documentation Remove incorrect/trivial examples in the ItemList class documentation Improve the BakedLightmap `use_hdr` documentation Use safer `add_theme_constant_override()` in MarginContainer code sample Link to advanced exports tutorial in the Object class documentation Tweak shader errors for features only usable in GLES3 Remove deprecation warning messages from InterpolatedCamera Make the pagination buttons wider in the asset library browser Document the valid input range for `acos()` and `atan()` Tweak the editor splash screen color to better match the default theme Tweak the 3D editor grid default to not go below subdivisions of 1 meter Make the expected method calling order in SurfaceTool more explicit Add Open Graph metadata to the HTML5 editor Document how to avoid light leaks with GIProbe Require editor restart after changing GUI custom theme or font Add a subtle background to editor scrollbars Document secure wss:// caveats for WebSocketClient Improve command line `--print-fps` display Add a tooltip to document performance issues of the Remote scene tree Document overriding project settings that have feature tags Update changelog for Godot 3.3 Add a welcome dialog to the HTML5 editor Document `AStar.get_point_path()` not being thread-safe Print a warning when trying to seek in VideoPlayer Improve the `Engine.editor_hint` property documentation Add more items to the changelog for Godot 3.3 Ignacio Etcheverry (14): [3.2] C#: Re-work solution build output panel C#: Don't overwrite newer Godot.NET.Sdk patch version in csproj C#: Fix targeting .NETFramework with Godot.NET.Sdk and .NET 5 C#: Remove ProjectTypeGuids from Godot.NET.Sdk C#: Bump Godot.NET.Sdk version to 3.2.4 C#: Fix very slow build log update in the editor Fix unhandled exception re-thrown in the editor Mono: Add mono_bcl SCons option for a custom BCL location Mono: Don't use -rdynamic when compiling for WASM [3.2] Mono: Make Godot provide its own WASM m2n trampolines Mono: Add extra WASM framework assemblies on game export C#: Fix System.Collections.Generic.List marshalling C#: Fix StringName leak warnings after generating bindings C#: Fix `double` casting in wasm m2n trampolines Ilya Kuznetsov (1): Added mono_unhandled_exception call to unhandled_exception hook Ivan Shakhov (1): Fix off by one error navigating to line number in Rider JFonS (20): Disable lights for objects with baked lighting Fix regression in baked lights when using GLES2 Fix binding of default value in EditorSpatialGizmoPlugin::get_material() Add OpenImageDenoise thirdparty library Add Embree thirdparty library Implement new CPU lightmapper Gracefully handle atlassed lightmaps in GLES2. CPU lightmapper formatting and minor fixes. Add documentation for new CPU lightmapper. CPU lightmapper fixes. 3D editor grid improvements Assorted CPU lightmapper fixes Backport EXR compression support from master Add options to reduce lightmaps disk usage. Fix missing include in MacOS builds Properly disable dynamic lights on baked instances. Various light culling fixes Batch of lightmapper fixes and minor improvements Fix visibility toggle for baked GridMaps Fix crash in GLES3 renderer on release builds Jack Linhart (1): Added GridMap description to get_bake_meshes() Jacob Edie (1): added temp variable because *p_inputs[2] is the same as *p_outputs[0] James Westman (1): docs: Add TreeItem method descriptions Jan Haller (1): Fixes #47607 (forgotten statement in GDNative cleanup) Jari Ronkainen (1): Go through all event devices, not just event[0-32] Jitesh (1): Add animation_finished signal and fix frame_changed signal for AnimatedSprite3D John Pennycook (1): Make YSort stable Jonathan Vice (1): Reorder sprite h_frames & v_frames Jordan Schidlowsky (1): add msan sanitizer option for linus/bsd, lsan option for osx Josh Jones (1): [Godot Physics]: Correct typo in moment of inertia calculations. Joshua Dahl (1): Remove Unnecessary Double List Juan Linietsky (2): Add a "keep" import mode to keep files as-is and export them. Remove FileSystem dock errors on unimported files Jummit (3): add root_node as property of MultiplayerAPI fix missing "s" in Viewport docs expose edit_selected in Tree Justin Ho (1): Check for null pointer in get_column_width(0) Justin Lee (1): doc: Improve distance_fade documentation K. S. Ernest (iFire) Lee (3): Use the vertex colors by default in gltf. Better non alphanumeric bone names. Expand bone name possibilities. 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 Kayomn (1): Accomodate blend shape ranges of -1 to +1 Keegan Owsley (1): Wrap angles to (-pi, pi) in momentum calculation. Kef Schecter (1): Add anisotropic filtering to GLES2 backend Kevin Smith (1): Make ColorPicker button text and tooltips appear in exported projects Kongfa Waroros (7): Fix crash on FileSystemDock's tree when trying to collapse or expand folder Update GraphEdit when GraphNode's slot is updated Avoid function signals in ColorPicker to access the tree when it isn't in the tree Keep Hue value when Saturation or Value is zero 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 Kyle (2): Fixes division by zero when 3d body does not have valid shape (3.2 only) Fix gdnative config file set as null Leleat (3): add description for ScriptEditor.open_script_create_dialog() striped edges on node rename in SceneTreeDock creater user-dir, if non-existant and pressing 'Open Project Data Folder' Liz Haas (1): Input: Throw error if action doesn't exist LoipesMas (1): More explicit wording for str() and print() functions Lorenz Junglas (1): Fix nanosleep usage Lorenzo Cerqua (1): Remove two very slightly displaced duplicate vertices on Gobot's face 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 Lunatoid (1): Fixes DefaultProjectIcon scaling with editor scale Lyubomir Vasilev (1): Add 'use_static_cpp' option for MinGW and MSVC builds Lyuma (8): core/command_queue_mt: Customizable size core/command_queue_mt: Fix crash/hang when buffer fills up Avoid reentrant OBJTYPE_RLOCK in ClassDB embree: cross compile fixes. Rename patches folder Backport d800329 AudioEffectCapture to 3.2 Fix crash on importing empty .fbx file for 3.x Add an import setting use_legacy_names. Maganty Rushyendra (5): Fix natural sort comparison for strings with large numbers 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 Mai Lavelle (1): Fix xform_inv of Plane, intermediate results were ignored Marcel Admiraal (48): 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. Remove the unnecessary sync() and the restrictions it imposes on 3D Physics. Don't attempt to insert points into degenerate triangles. Check and correct for zero scaling when unscaling Bullet basis. Add missing reference to const T Vector::get(). Remove area or body from map before emitting signals. Check entire basis column for zero size when unscaling Bullet basis. Remove reference to 3D shapes in RigidBody2D.xml contacts description. Fix how Line2D obtains the other object's supports Update intersect_point documentation to mention solid shapes. Set Bullet collision shape index to zero when using a single shape or ConcavePolygonShape. Ensure grid index is valid before trying to change value. 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. Check joint nodes and generate configuration warning messages. Fix useless assignement in webrtc/library_godot_webrtc.js Remove any constraints connected to a Bullet body when removing it Fix cast_motion sometimes failing Ignore hint entries in game controller mapping Remove ChainTip copy constructor Fix inconsistent Joint3DSW copy constructor and assignment declarations Don't handle BaseException in build scripts Remove Generic6DOFJoint precision property Fix ETC quality setting Remove all elements from monitored_bodies and monitored_areas when processed Ensure flags are applied to CVTT options Add signal to inform joint that body has exited tree Fix multiple issues with one-way collisions 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 Update area-body_shape_entered-exited signal documentation. Rename the final parameter of area_shape_entered-exited local_shape. Don't handle BaseException in JavaScript build script Fix used uninitialized warning in os_x11.cpp Add support for new SDL gamecontroller keywords. Add missing semicolons to webxr.eterns.js Remove unused variables from full-size.html Ensure ConvexPolygonShape support count variable is initialised Check ConvexPolygonShape2D point count before calcuating moment of inertia Check for empty ConcavePolygonShape2D before checking for intersection Ensure ConvexPolygonShape support count variable is initialised Check for the use of an empty shape in Bullet Kinematic collisions Avoid creating joy_names map entries when using Map operator[] Marcus Brummer (10): Fixed renaming/moving of nodes with exported NodePaths Improve rotation gizmo 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 Fixed the inverse(mat3) polyfill for GLES2 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 Document different unit of measurement for sensor data on iOS and Android Mark Riedesel (3): Implement OS.get_window_safe_area() for Android Fix android apk contents having mtime 1 month in future Implement OS.get_screen_orientation() for Android Markus Sauermann (1): Wake up RigidBody 2D after applying torque Martin Capitanio (1): CI: Fix Android and HTML5 workflows Mateo Kuruk Miccino (2): SCons: Fix profile type. It is a string 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 Mateo de Mayo (1): Fix misleading editor message when redeclaring variables Matthew A. Robinson (1): Add mutex protecting script bindings map from getting corrupted Megamega53 (1): doc: Some improvements to KinematicBody docs Melvin Louwerse (1): Show correct name of signal when editing an existing one Meriipu (3): Make the currently hovered control get updated on mouse-release GDScript: Clarified/fixed inaccuracies in the built-in function docs. If the mouse is held on notification_wm_mouse_exit, do not drop focus Michael Alexsander (20): Minor visual improvements to the "Batch Rename" dialog Add placeholders to the searchbars in the Project/Editor settings Add 'get_previous_tab()' to 'Tabs' Minor improvements to the Polygon 2D UV editor Fix "Move Points" button sometimes not showing up on UV mode in the Polygon2D editor Disallow setting the AudioServer's 'global_rate_scale' to a value equal or inferior to 0 Fix WAV resources ignoring the AudioServer's 'global_rate_scale' value Add "font_color_separator" theme property to 'PopupMenu' Add icon for 'AudioStreamMP3' resource Allow to circle back in 'PopupMenu' even if the first/last item is non-selectable 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 Ignore clangd 11+ cache folder Update path in the FileSystem dock after doing file operations Make margins obey the snap option in the TextureRegion editor Make FileSystem dock set its path to the base folder of files after changes Fix StyleBoxLine's incorrect style margin values Backport the Import Defaults Editor Make Camera2D's editor helper code only be compiled on editor builds Michael Auderer (1): 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. Michael Conrad (1): Fix joystick axis mapping issues with NVIDIA shield. Probably others. Morris Tabor (1): fix gltf importer regression from b032067e42c03, causing different BoneAttachment names Nathan Franke (4): Fix Android Export jarsigner error with *.import whitelist Add Root Null Check Fix transparent editor theme being brighter Improve Ambiguous StreamPeerTCP `set_no_delay` Documentation Nehluxhes (1): Remove duplicate node update call Nick Swoboda (2): Change minimum snap step of Tile Set to 1 Fix scene being modified when arrows are pressed with no node selected Nils Reid (1): Exposed find_next_valid_focus and find_prev_valid_focus. O01eg (1): Fix visibility for GCC Oliver Dick (2): 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) Pablo Escobar (1): Add METALLIC to light() built-ins Paul Batty (1): Fix gdscript multiline string nested highlighting Paul Joannon (1): class reference proofreading Pedro J. Estébanez (42): Fix debugger not getting focused on break on Windows Improve/fix packed data API Avoid warning about harmless unfulfilled yields Disable decayment of freed objects to null in debug builds Prevent cyclic reference between script and its members Ensure cyclic dependencies between scripts are broken at exit Fix GDScript leak avoidance Avoid infinite loop in GDScript at shutdown Fix application of window in FFT Make Variant aware that an Object may be a Reference Implement no-window mode for X11 and MacOS Fix premature end of animation playing backwards Fix crash in resoure duplicate Ignore query to maximize/minimize window on Windows and X11 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 Fix instantiation of resource as property value Fix cases of resources destroyed too early Fix crash in lightmapper under MinGW-GCC Windows Fix freeze-crash in lightmapper under MinGW-GCC Fix freeze-crash in lightmapper under MinGW-GCC Make audio bus channels' peak volume consistent Expose Tree::scroll_to_item() Keep selected node visible after filter change Implement pause-aware picking Fix SceneTreeEditor::_update_tree() binding Modernize RWLock Modernize Mutex Modernize Semaphore Modernize Thread Modernize atomics Improve robustness of atomics Restore needed null check in OS_Unix::execute() Fix build error in UWP 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 Pedro Rodrigues (4): Fix out of bounds array access on OS_X11 code Fix crash in GIProbe::bake Fix crash on HTTPClient::poll method Fix crash trying to destroy an ImageTexture object containing a null texture Phischermen (2): Clarify that SceneTree::quit() does not immediately end the application. Add info about how gizmos affect transform notifications Pleto (1): Enhancement for tileset sorting Pop0p (2): Fix a crash when using Input.get_joy_button_index_from_string() trims_whitespaces_when_creating_folder_windows Poq Xert (1): iOS GameCenter: Add authenticate method PouleyKetchoupp (35): Optimized ScriptEditor initialization when many scripts are loaded Fix issues related to delay when processing events on Linux Fix leak with events mutex in x11 Display Server Option for software skinning in MeshInstance Fix issues with Linux clipboard Fix mesh instance materials not initialized correctly Release .build_version file handle in Android custom build export Expose LineEdit scroll offset to scripts OSX: Fix compiling for arm64 with OSXCross Fix base script not initialized properly in some cases Fix regression in gdscript initialization Update body transforms on joint2D setup Update String property field only when text has changed Fix collision shape update when changing shape properties Improve Raycast render debug BVH broadphase creates objects with updated AABB to avoid extra checks Fix contact points debug for 3D Physics TextEdit respects content margin from StyleBox Fix TextEdit autoscroll with wrapped lines Fix test_body_motion recovery Cylinder support in Godot Physics 3D Fixed export var default value in PackedScene when script is not loaded in editor Added LocalVector to Visual Studio debugger visualization Added option in project settings to draw Shape2D outlines Fix Joint2D/Joint node path reset on scene switch Fix errors and crash with empty ConvexPolygonShape2D Fix errors with invalid CollisionPolygon2D 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 Fix spamming errors when SoftBody pinned nodes have no attachment Fix PhysicalBone gizmo not showing More detailed documentation for KinematicBody safe collision margin Fix crashes with CollisionObject debug shapes Pun1sher (1): Checking for half_image_size[ x & y ] to be non-negative. Quadtree (1): Add cwrap to EXTRA_EXPORTED_RUNTIME_METHODS Rafał Mikrut (16): Added Linux sanitizer with xvfb to github workspace Disable temporary exported build in CI Fix failing CI, due invalid importing of resources Allow to open multiple projects when some are not imported or without main scene. Do not iterate over map when removing its values Avoid opening editor multiple times in CI Fix errors when removing non Control node from TabContainer Fix usage of deleted element in Area::_area_inout Fix memory leak dynamic font Remove thread after use to prevent memory leak Fix nan errors when using VehicleBody Fix memory leak in Xatlas module Fix crashes when manipulating nodes in editor Allow to not optimize release build Use unique test projects for each branch Validate argument in Navigation2D::navpoly_add Raul Santos (1): Fix ExprMatch stackoverflow Ricardo Alcantara (1): Basis RotationQuat should be public. Riteo Siuga (1): Improve the MIME source file RoniPerson (2): Added missing `:` in gdscript example. changed description of `merge_polygons` Ryan Roden-Corrent (8): Fix hints on PhysicsMaterial bounce/friction. Clarify store_string vs store_line. Fix bound return type on get_priority. Fix typo in Tabs doc. 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. Rémi Verschelde (153): Bump version to 3.2.4-beta 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 tinyexr: Sync with upstream 1.0.0 zstd: Update to upstream version 1.4.5 i18n: Sync translations with Weblate MessageQueue: Change default queue size to 4096 KB i18n: Rename pt_PT to pt doc: Sync classref with current source CI: Pin `black` version to latest upstream release CI: Disable sanitizer builds until we fix them CI: Re-enable sanitizers build Better validate CollisionShape config. warning after #37226 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: Refactor and cleanup warnings definition Mono: Fix typo in Godot.NET.Sdk.nuspec doc: Make docs.godotengine.org links point to 3.2 branch Revert "Made toplevel a property for Node3D and CanvasItem" doc: Sync classref with current source CI: Add Linux headless/server builds CI: Sync configuration with master branch CI: Refactor Android workflow, use pre-installed SDK and NDK i18n: Sync translations with Weblate Update AUTHORS and DONORS list Tooltips: Improve code clarity and docs doc: Override default value for RandomNumberGenerator.seed doc: Sync classref with current source SceneTree: Fix reparent crash with animation tracks renaming disabled i18n: Sync translations with Weblate doc: Add description for rendering/quality/2d/use_transform_snap Debugger: Save options in project metadata glad: Sync with upstream 0.1.34 Revert "Add script class categories to EditorInspector." glTF: Workaround import failure with invalid embedded images OSX: Fix linking with osxcross for arm64 SCons: Do not define TYPED_METHOD_BIND on Linux/OSX with clang SCons: Remove unnecessary $LINK overrides doc: Warn about using Node internal processing Export: Reorder options for consistency across platforms nanosvg: Sync with upstream 3e403ec i18n: Sync translations with Weblate Buttons: Don't use deprecated set_enabled_focus_mode doc: Mention iOS support for Input gravity/gyroscope sensors X11: Include limits.h for LONG_MAX Use GLES2 by default in the project manager OSX: Remove tmp .app folder instead of moving to trash Relicense Godot logo from CC-BY-3.0 to CC-BY-4.0 Update AUTHORS and DONORS list FileSystemDock: List conflicting files on move i18n: Sync translations with Weblate doc: Sync classref with current source Mono: Fix GodotTools build after invalid cherry-pick HTML5: Code style cleanup for export code Don't force GLES2 in Project Manager, causes issues on macOS. Revert "Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api" PVRTC: Move compress func to `modules/pvr`, drop obsolete PVRTexTool code 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 mbedtls: Update to upstream version 2.16.9 FBX: Clarify outdated format error doc: Sync classref with current source i18n: Sync translations with Weblate Revert "Fixed EditorPropertyText change signal emission." Revert "Add a project setting to enable stdout flushing in release builds" 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 doc: Remove links to RNG tutorial, not yet in 3.2 branch Main: Create user data dir in `setup()` CI: Pin Android NDK r21 as we don't support r22 yet CI: Update to clang-format 11 and apply ternary operator changes Update copyright statements to 2021 zstd: Update to upstream version 1.4.8 enet: Sync with upstream 1.3.17 COPYRIGHT: Update with recent additions, cleanup pcre2: Update to upstream version 10.36 doc: Sync classref with current source i18n: Sync translations with Weblate Cleanup: Remove executable bit from files which don't need it i18n: Sync translations with Weblate Bump version to 3.2.4-rc Revert "[3.2] Add separate `simulator` flag for iOS build, change main library to `xcframework`." Linux: Build with use_static_cpp=yes by default for x86_64 Linux: Enable udev support by default Update AUTHORS and DONORS list Main: Load translations and remaps before scene types SCons: Add `production=yes` option to use production defaults i18n: Sync translations with Weblate CI: Build full Mono version on Linux, with glue SCons: Fix debug_symbols tests after switch to BoolVariable Sync controller mappings DB with SDL2 community repo Sync controller mappings DB with SDL2 community repo Update AUTHORS and DONORS list SCons: Fix Godot detection in custom modules logic CI: Mono glue generation sometimes crashes on exit, ignore it Camera2D: Fix crash calling align when not in tree CODEOWNERS: Update with newly added teams CODEOWNERS: Add some more owned files and fix team names doc: Sync classref with current source i18n: Sync translations with Weblate Android: Bump NDK version to 21.4.7075529 Dynamically load libudev.so.1 on Linux if `udev=yes` SCons: Make freetype module a mandatory editor dependency doc: Fixup RichTextLabel bbcode_enabled note i18n: Sync translations with Weblate CI: Build without debug symbols to reduce cache size SCons: Fix UWP build after #45618 SCons: Work around compilation issue on Linux ARM64 SCons: Properly handle overriding default values to bool options Revert "Warn when setting Control size inside ready()" Mono: Don't use C++17 [[maybe_unused]] to preserve C++14 compatibility Link to Godot Contributors Chat instead of IRC SCons: Fix parsing PATH when constructing base environment Linux: Fix PRIME detection on Steam i18n: Sync translations with Weblate Update AUTHORS and DONORS list SCons: Use default env["ENV"] and prepend PATH to it Camera2D: Update scrolls when the Viewport is resized Revert "Fix flicker in control nodes due to pivot offset" NoiseTexture: Fix regression in starting thread Fix Control::_edit_set_state bogus error check clang-format: Fix version number in hook warning Thread: Re-add pthread_np.h include for FreeBSD/OpenBSD i18n: Sync translations with Weblate Bump version to 3.3-rc Mono: Bump Godot.NET.Sdk to 3.3.0 miniupnpc: Update to version 2.2.2 Mono: Fix Android build after #46900 doc: Sync classref with 3.3 version bump Sync controller mappings DB with SDL2 community repo Remove now unnecessary ResourceImporterCSV importer SCons: Don't pass -msse2 to MSVC for Embree doc: Make all tutorial links point to 3.3 branch of docs Windows: Disable ASLR protection w/ MinGW, it breaks Mono i18n: Sync translations with Weblate HTML5: Fix link to documentation on editor template TileMap: Make collision visibility opt-in Re-allow playing AnimatedSprite2D without frames i18n: Sync translations with Weblate Update AUTHORS and DONORS list Sync controller mappings DB with SDL2 community repo doc: Fix markup issues in classref Revert "Fix `_File::get_buffer` length always set to p_length" CI: Bump BASE_BRANCH from 3.2 to 3.x Object: Make deleted object access raise errors, not warnings i18n: Sync translations with Weblate Bump version to 3.3-stable \o/ Sacha Waked (1): Updated open-simplex to have const noise functions Samuele Zolfanelli (1): Added atom checks to x11 XChangeProperty and XGetWindowProperty Sean LaPlante (1): Fixes #45025 - Protects _last_mix_time and _last_frame_time with the AudioDriver lock() and unlock() methods SekoiaTree (1): Fixed node scaling arrows being wrong Sergey Minakov (26): iOS: simplify OS values retrieval iOS: move touch delay to settings iOS: fix deprecations iOS: Refactor platform code iOS: port ARC support iOS: fix in app store iOS: Implement pluggable application delegate. iOS: fix native video GUI: send cursor data from TextEdit iOS: fix keyboard display GUI: use cursor in TextEdit for non selected text. 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 [Plugins] Rename 'PluginConfig' struct to platform specific name [iOS] Remove plugins from modules. [GUI] Enforce virtual keyboard redisplay on clear [iOS] Added support for '.xcframework' in plugins [iOS] Fix embedding of plugin libraries [iOS] Rework push notification methods usage [iOS] Initialize plugins earlier [iOS] Additional 'linker_flags' plugin parameter iOS: Use storyboard as loading screen [iOS] Remove remote notifications code [iOS] Fix for plugin modified time check Serhat (1): Fixed padding bug of sprintf function Shane Liesegang (1): Mono/macOS: Separate data dir into frameworks and resources for codesigning Shatur95 (3): Detect plugins recursively Handle old relative plugin paths Add additional plugin path checks (3.2) Need for compatibility after #45316. SirQuartz (1): Clarify what the "item_rect_changed" signal does Sniff (1): Docs change: More detailed description of StreamPeerTCP.is_connected_to_host() Somnath Sarkar (1): Sort points in a Gradient for color and offset updates. Spencer Burris (1): Make blank project name create an error, not a warning Stephan Dilly (1): add iOS Simulator platform Sylvain Beucler (1): doc: explain TouchScreenButton passby mode Taylor C. Richberger (1): remove invalid codeLensProvider value from lsp TechnoPorg (1): Fix incorrect parameter in audio_track_set_key_stream. Thakee Nathees (1): GDScript signal lines marked as safe Theogen Ratkin (1): Add interpolation parameter to resize_to_po2() Tom Langwaldt (1): Fix swapped front/rear view Tomasz Chabora (47): Check for null in InputMap::_find_event Remove unnecessary empty line from Dictionaries Update the setting when clicking Show hidden files Correct the doc about linear damping Cancel rename if file does not exist Bind missing constant in VisualScriptPropertyGet Document that setting node name will remove @s Favor project.binary over project.godot Add docs for editor viewport drawing methods Register methods for drawing 3D editor overlays Add append_array() method to Array class 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 Mention that 'changed' signal needs manual emit Fix PathFollow3D updating on unit_offset 0 Mention that change_scene is deferred 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 Fix wrong signal in EditorPropertyColor Unify single and multiscene instancing Allow to override drop data in LineEdit Fix popup_centered() for scaled popups Cache world in VisibilityNotifier3D to avoid crash Disable active editors when node gets deselected Set selected Tree item to null when deselected Detect external modification of scenes [3.2] Add node copy-paste 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 Don't check modified time if file doesn't exist Deselect column only if belongs to deselected item Release mouse when SpinBox leaves scene tree Don't save unchanged script upon closing Allow to save override.cfg with ProjectSettings Fix audio player not resetting after wav finishes Clarify that get_unix_time() returns seconds Expose edit_node() for editor plugins Tomer Keren (1): Setting visibility on GridMap now works. Closes #41374. TwistedTwigleg (4): 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 Godot 3.x backport: 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 BoneAttachment nodes. Changed SkeletonIK3D to clear bone overrides when stopping Umang Kalra (2): Explaining the behavior of focus & pressed stylebox overlap Fixes the misleading error message for call_recursive method for TreeItems Unknown (1): Make lights_per_object configurable Vasiliy Makarov (1): iOS: Fix multiple issues with PVRTC import, disable ETC1 Vaughan Ling (1): Change android orientations from sensor to user Vedat Günel (2): Change reserved keyword in Regex documentation code Fix String.ends_with() for empty string arguments Vignesh1-art (1): Fixed Invalid function bindings #46135 Vincent (1): mp3 import and playback support backport Volka (1): Fix unintended SpinBox mouse capture WeaselShoppe (2): glRenderBufferStorage was being passed wrong args lightmap capture broken on webgl1.0 Will Nations (1): Add script class categories to EditorInspector. Wilson E. Alvarez (3): Allow retrieval of FuncRef function string Make "function" a property of FuncRef Document InstancePlaceholder.create_instance not being thread-safe. Yetizone (1): tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive Yilin Ma (1): added load resource pack with offset feature Yuri Sizov (7): Add a minimap to the GraphEdit Display the number of results for global search 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 Expose editor scale to the plugin API Zae (2): Fix C# string.IsAbsPath() fix custom loader/saver broken Zak Stam (2): Adds automatic update for region_rect HTTPRequest: Improve response when disconnecting while downloading abaire (1): Relaxes Node naming constraints in glTF documents to match the Editor. alan-w-255 (1): fix android wrong multi-touch pointerid andriyDev (1): Added inspector_only option to inspect_object in EditorInterface. Updated docs to reflect change to inspect_object. andybarcia (3): Fixes crash when calling VisualShader::set_mode Fixes some inconsistent ISO-639 language codes Fixes TileMap editor copy bug. asheraryam (2): Fix rounding error in Clip Content Fix jitter in control nodes when using pivot-offset and animating scale booer (4): Fix filtering of search results in SectionedInspector Fixes updating CPUParticles emmision shape values Fix changing icons' colors when switch dark and light theme Update Inspector when changing AudioEffectChorus voice_count bruvzg (27): [3.2] Add window click-through support. [macOS, 3.2] Fix mouse position in captured mode. [3.2] Fix `get_screen_dpi` on macOS for non fractional display scales and update documentation. [3.2] Add iOS SDK version check. [macOS, 3.2] Suppress momentum scrolling after key press or modifier change to prevent unexpected change of action. [3.2] Disable iOS SDK version check on osxcross. [3.2] Do not raise exception if iOS SDK is not installed. Update "open-simplex-noise-in-c" to fix undefined signed overflow. Fix focus loss on macOS. [macOS / ARM64] Remove "-msse2" flag from ARM64 release export template build. Fix .pck lookup for extensionless binary in macOS resources. [3.2] Load dynamic fonts to memory on all platforms, to avoid locked files. [3.2] Fix fallback emoji font color. [3.2] Fix file drag-drop on M1 Macs. [3.2] Use base character advances for outline drawing. [3.2] Add separate `simulator` flag for iOS build, change main library to `xcframework` format. [Mono] Use the same search logic for both `MSBuild` and `dotnet`, add custom search paths on macOS. [macOS] Ignore mouse move event caused by mouse mode switch. [3.2] Fix SPACING_SPACE not used for drawing characters. Expose String contents to the GDScript as PoolByteArray. [macOS] Add entitlements config and export template `dylib` signing to the export. [3.2] Improve thread IDs to avoid collisions with threads not created by the Godot API. Move caller_id init to Thread constructor to fix UWP build. [macOS] Fix "New Window" opening copy of current project instead of Project Manager. Add "Replace existing signature" to the macOS export (enabled by default). [macOS] Enable code signing by default, use ad-hoc signature if no identity specified. RichTextLabel: On custom effect change, parse bbcode only if it's enabled and not empty. dankan1890 (1): Create spritesheet for SpriteFrames by drag and dropping. dedm0zaj (1): Lightness of dynamic objects from Energy Lightmap Capture Data e344fde6bf (1): [3.3] Fix some angular velocity calculations follower (1): Doc clarity/detail for extra spacing properties gatalskii (1): mod: pop-up usability enhancement for support button geekrelief (2): 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 greenfox (1): fixed Camera2D rotation with non-square zoom hilfazer (5): Move Editable Children information from scene's root to instanced nodes Prevent selecting hidden editable children in spatial editor Prevent selecting hidden nodes in Canvas Item Editor Prevent 'Change Type' on nodes from an instanced scene Prevent crash when clicking Mesh in MeshInstance when is scene root hoontee (7): Properly handle empty CSGCombiners Transform CSGShape collision when necessary Properly handle empty CSGShapes Do not clear materials when setting mesh Implement CollisionPolygon3D margin Improved Inspector Sub-Resource Editing Fix empty RIDs in VisualServer.texture_debug_usage() hungrymonkey (1): Added sample code to the bsearch_custom function janglee (2): Removed default commit message Added `show_collision` property. If true, collision shapes are shown in the editor and at run-time. Requires Visible Collision Shapes to be enabled in the Debug menu, for collision shapes to be visible at run-time. jeffuntildeath (2): fix for snap to floor editor crash bug Snap To Floor improperly offsets node jmb462 (10): 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 crash on closing empty modified scene fix-EditorSpinSlider-grabber-zoomed-position Fix crash on calling play() in a uninitialized AnimatedSprite2D Fix BBCode tables overlap with bottom text 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() kleonc (11): 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 docs description for CapsuleMesh::mid_height ProjectSettingsEditor: Make "Type" OptionButton item ids match corresponding Variant::Type enum values. kurinoku (1): Fixed tile_set_editor_plugin.cpp selection issue. lawnjelly (74): Showing and hiding geometry updates shadows Optimize octree and fix octree leak GLES2 2D fix normal mapping - batching and nvidia workaround GLES3 fix normal map flipping with nvidia workaround Fix buffer orphaning on desktop Change per frame software skinning check to is_visible Unified GLES2 / GLES3 Batching Reduce glBufferSubData calls in legacy renderer Change render octree balance default Resync RasterizerDummy to Rasterizer Reverting changes to legacy polys and generic prims Fix transforms in custom shaders using large FVF Fix lines used in item with custom shader Add project settings to manually specify API usage Fix editor constant redraw from fxaa and debanding. Batching - use legacy path for antialiased polys. Poly colors fixes Fix 2d software skinning with scaled polys Add 2d snap transforms option Batching - blank UVs in polys that contain no UVs Prevent poly color path when translating batches than are non-poly Prevent item joining with custom shaders using selected BUILTINs Batching - more error checking options 2d Legacy - close vulnerabilities and more debug checks Put in check for zero sized textures Batching - BackBuffer copy fix Fix ninepatch batch break logic. Fix bug in normal map decompression Batching - Protection against zero and small sized ninepatches Remove buffer orphaning options project settings Improve 2d snapping Batching - fix proxy textures (e.g. animated) especially ninepatch Dynamic BVH for rendering and godot physics Fix BVH physics project setting BVH - fix physics expecting plus one based IDs. Fix BVH set_pairable and masks. BVH render tree new updating scheme Partially revert change to BVH render tree update method BVH fix stale changed items, causing dangling pairs BVH fix pairing AABB init and mask checks BVH add support for visibility (activation) Optimize transform propagation for hidden objects Batching - prevent reordering items over a copybackbuffer BVH - fix deferred visible mesh collision check Batching - fix a couple of minor valgrind bugs. Batching - prevent joining of lightmasked items GLES - fix some sanitizer warnings Small class reference update for 3.2.4 GLES2 fix for consistent light ordering with BVH Change 2d transform snapping from floor to round Disallow antialiasing for software skinned 2d polys Renaming rendering/2d project settings. Batching - fix custom MODULATE shader applying modulate twice Revert backport of 2D transform and camera snapping options Fix Camera2D frame delay Improve process logic in Camera2D Add GLOBAL_DEF_ALIAS and alias for rename of pixel_snap Change default ninepatch mode to scaling Support ninepatch mode in GLES3 shader Batching - fix off by one error in light scissoring Batching - fix basis polarity in large fvf Batching - large FVF forces non-hardware transform Batching - more frame diagnose information Batching - use FINAL_MODULATE_ALIAS in shaders Batching - prevent CPU transform for non-rects using large FVF Batching - separate single item from large fvf logic Batching - add protection against invalid polys Add to software skinning classref note about custom shaders Batching - flip normal map polarity for rects BVH - prevent self collisions Batching - store parent items in default batches Batching - prevent applying final modulate on CPU when it is sent in FVF Add buffer orphan / stream options Batching - Don't join items with invalid shaders lolligerjoj (1): Expose Animation::value_track_interpolate to GDscript lucasvanmol (1): Fix highlight color for class attributes that are also keywords lucicam (2): Fix failure in set_primary_interface when parameter is null Fix crash caused by null parameter passed to CameraServer.add_feed() lupoDharkael (2): [3.2] Add natural string comparison Control: Expose pass_on_modal_close_click magian1127 (1): C # mono supports Unicode code mashumafi (1): Use texture Path instead of RID to prevent name conflicts. megalobyte (1): Use double when setting the default step size muiroc (1): Use the blend parameter passed to blend_animation during graph processing mujpao (3): Make search results font follow code editor font Fix crash when trying to export zero files. Update viewport after Polygon2D deselected mvl (1): Fix bug where leading and trailing spaces werent taken into account with center and right allignment. name-here (1): Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api nc (1): improve error message when travel() is called on an AnimationNodeStateMachine when the state machine is not playing nemerle (1): fix incorrectly connected optimize_dialog signal nevarek (1): Optimize data format for OpenSimplex images rainlizard (1): Document how to use a TextureArray ray90514 (2): Fix Tree focus border disappears when Border Size is set to 0 Fix Node can not be reselected rileylyman (1): skip extra newline in .tscn when renaming dependency skyace65 (7): Add documentation for shelf filters Move note about using Resource in the File documentation [3.2] Document what can be used as a type hint Pow method doc fix Remove the implication that references and resources are not objected from their description Add information on bb code enabled Add a warning on using directory to access of imported files smix8 (2): fix skeleton (ik) not resetting global_bone_overrides properly Document AnimationNodeTimeSeek with clarified usage and code example sps1112 (3): Add size<=0 check in BakedLighmapData._get_user_data() Add null check for NavigationMesh.create_from_mesh() Fix Control._edit_set_state crash thebestnom (2): Android: Mouse Implementation [3.2] Android: Keyboard modifier and arrow key support trollodel (1): Allow CollisionObject to show collision shape meshes volzhs (14): Show android device name when connected only one device Respect Tree.set_icon_max_width size for drawing selection box Update freetype to 2.10.4 Put unselected tabs back in TabContainer control Fix to update scroll bar has correct max value in ScrollContainer Fix TabContainer crashes Fix no padding between icon and text in TabContainer Fix editor locked by generating preview of dynamic font 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' Make ensure_correct_normals working on GLES2 xix xeaon (1): Fix mod op (%) implementation in GLES2 zaevi (2): add search extensions for scons' path Fix C# string.Hash() zero13cool (1): Changed type to make it work on x32 architecture.